一种内容加密的方法与流程

文档序号:29263974发布日期:2022-03-16 13:09阅读:193来源:国知局
一种内容加密的方法与流程

1.本发明涉及视频处理相关技术领域,尤其是指一种内容加密的方法。


背景技术:

2.在iptv中,内容提供商需要一种部署简单,费用低廉,安全可靠的内容加密系统。在实时直播过程中既要防止他人盗播,又需要将加密后的内容提供给下游厂商进行再加工分发。目前常见的内容加密系统包括playready, widevine,fairplay,chinadrm等,但这些系统费用都非常高,而且需要搭设license server,终端通过联网的方式来获取解密的key。高昂的费用,以及部署复杂,导致内容提供商不愿意去搭设这些系统。


技术实现要素:

3.本发明是为了克服现有技术中存在上述的不足,提供了一种部署简单的内容加密的方法。
4.为了实现上述目的,本发明采用以下技术方案:
5.一种内容加密的方法,具体包括如下步骤:
6.(1)加密:针对h.264/h.265的sei信息,在基本码流的扩展字段添加加密信息drm_info,用来传递加密信息,每帧的帧头必须要带该信息,如果没有带的话,就是清流数据;
7.(2)解密:获取h.264/h.265的sei信息,解析drm_info,如果没有发现则是清流;否则利用drm_info解密成清流。
8.本发明提供的内容加密方法,部署方便,可以有效的防止盗播,加密后的内容又可以方便的进行再加工,无需额外联网。本发明将加密信息放到视频帧的user_data字段,即h.264/h.265的sei字段,这样在分发这些加密内容时,加密信息并没有丢失,利用该加密信息可以随时随地还原成清流。本发明定义的数据结构,以及加密算法都可以公开。
9.作为优选,所述加密信息drm_info包括唯一标识符、加密算法、加密算法id、随机数信息和保留位。
10.作为优选,在步骤(1)中,具体为:
11.(11)针对h.264来说,在nalu的类型为6,即sei信息里包含drm_info 扩展信息,payloadtype为286,编码的视频内容加密是指对nalu type为1、 2、5部分进行加密,其他类型不加密;加密起始位置从nalu type后32字节开始,不足16个字节的部分不加密;
12.(12)针对h.265来说,在nalu的类型为39,即sei信息里包含 drm_info扩展信息,payloadtype为286,编码的视频内容加密是指对nalutype为0-31部分进行加密,其他类型不加密;加密起始位置从nalu type后 64字节开始,不足16个字节的部分不加密。
13.作为优选,在步骤(2)中,具体为:
14.(21)获取h.264/h.265的sei信息,解析drm_info,如果没有发现则是清流;
15.(22)通过drm_info中的信息,根据自定义的规则生成解密的key;
16.(23)将对应的encrypted_nal_unit解密成清流。
17.本发明的有益效果是:部署方便,可以有效的防止盗播,加密后的内容又可以方便的进行再加工,无需额外联网;在分发这些加密内容时,加密信息并没有丢失,利用该加密信息可以随时随地还原成清流。
具体实施方式
18.下面结合具体实施方式对本发明做进一步的描述。
19.一种内容加密的方法,具体包括如下步骤:
20.(1)加密:针对h.264/h.265的sei信息,在基本码流的扩展字段添加加密信息drm_info,用来传递加密信息,每帧的帧头必须要带该信息,如果没有带的话,就是清流数据;具体为:
21.(11)针对h.264来说,在nalu的类型为6,即sei信息里包含drm_info 扩展信息,payloadtype为286,
22.sei_payload(payloadtype,payloadsize)if(payloadtype==286)drm_info()
23.编码的视频内容加密是指对nalu type为1、2、5部分进行加密,其他类型不加密;加密起始位置从nalu type后32字节开始,不足16个字节的部分不加密;
[0024][0025]
(12)针对h.265来说,在nalu的类型为39,即sei信息里包含 drm_info扩展信息,payloadtype为286,
[0026]
sei_payload(payloadtype,payloadsize)if(payloadtype==286)drm_info()
[0027] 编码的视频内容加密是指对nalu type为0-31部分进行加密,其他类型不加密;加密起始位置从nalu type后64字节开始,不足16个字节的部分不加密;
[0027][0028]
(2)解密:获取h.264/h.265的sei信息,解析drm_info,如果没有发现则是清流;否则利用drm_info解密成清流;具体为:
[0029]
(21)获取h.264/h.265的sei信息,解析drm_info,如果没有发现则是清流;
[0030]
(22)通过drm_info中的信息encryption_method,algorithms_id, key_seed,根据自定义的规则生成解密的key;
[0031]
(23)将对应的encrypted_nal_unit解密成清流。
[0032]
加密信息drm_info包括加密算法、加密算法id、当前随机数信息。具体如下表:
[0033][0034]
其中:
[0035]
drm_guid:唯一标识项,用来标识该结构体,值为 3204fa72-6c4f-4df6-b729-e5a7de8bfa5a。
[0036]
reserved:保留位,值为1。
[0037]
encryption_method:加密算法,比如aes 128bits cbc。加密算法不在本发明之列。
[0038]
algorithms_id:加密算法id,每个id对应不同的key生成规则。规则算法不在本发明之列。
[0039]
key_seed:随机数信息,通过该随机数以及对应的算法id来生成私有的key。
[0040]
其中:
[0041]
encrypted_nal_unit()
[0042]
{
[0043]
nal_unit_type_byte//1byte
[0044]
unencrypted_leader//31bytes
[0045]
while(bytes_remaining()》16){
[0046]
protected_block
ꢀꢀꢀꢀꢀꢀꢀꢀ
//16bytes
[0047]
}
[0048]
unencrypted_trailer
ꢀꢀꢀꢀꢀꢀꢀꢀ
//1-16bytes
[0049]
}
[0050]
nal_unit_type_byte:h264/h265的nal_unit_type,即每个nal unit的类型。 unencrypted_leader:在encrypted_nal_unit中,紧随nal_unit_type后面不加密的数据,h264为31字节,h265为63字节。
[0051]
protected_block:在encrypted_nal_unit中,加密的数据流。
[0052]
unencrypted_trailer:当加密数据字节《=16时,不要加密。
[0053]
本发明提供的内容加密方法,部署方便,可以有效的防止盗播,加密后的内容又可以方便的进行再加工,无需额外联网。本发明将加密信息放到视频帧的user_data字段,即h.264/h.265的sei字段,这样在分发这些加密内容时,加密信息并没有丢失,利用该加密信息可以随时随地还原成清流。本发明定义的数据结构,以及加密算法都可以公开。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1