CN103297809B - 媒体内容加密解密方法、装置及系统 - Google Patents
媒体内容加密解密方法、装置及系统 Download PDFInfo
- Publication number
- CN103297809B CN103297809B CN201210047770.2A CN201210047770A CN103297809B CN 103297809 B CN103297809 B CN 103297809B CN 201210047770 A CN201210047770 A CN 201210047770A CN 103297809 B CN103297809 B CN 103297809B
- Authority
- CN
- China
- Prior art keywords
- media content
- fragment
- reception
- data
- decryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Abstract
本发明公开了一种媒体内容加密解密方法、装置及系统,涉及数据加密解密操作领域,能够满足以片段为单位进行加密解密操作的需要。本发明加密解密方法包括:在加密时以片段为单位对媒体内容进行加密,并将加密片段的加密密钥包含在为媒体内容片段增加的首部,和加密后的媒体内容片段一起分发出去;当解密端接收到由加密媒体内容片段和首部组成的受保护媒体内容片段的整体或片段的一部分的媒体内容后,分析并确定接收的媒体内容在对应受保护媒体内容片段中的位置,根据位置信息获取接收的媒体内容对应片段的解密密钥,根据解密密钥对接收的媒体内容的加密媒体内容片段进行解密。本发明实施例主要用于以片段为单位对媒体内容进行加密解密的过程中。
Description
技术领域
本发明涉及数据加密解密操作领域,尤其涉及一种媒体内容加密解密方法、装置及系统。
背景技术
超文本传送协议(hypertext transport protocol,HTTP)流(Streaming)的应用场景下,对内容数字版权加密保护技术(Digital Rights Management,DRM)子系统提出了特定的要求,该要求至少包括媒体内容的最小seek单元是媒体片段。这样使得媒体终端所收到的不同片段序列,可能对应于不同的码率。由于不同片段可能对应不同码率,要实现各媒体片段的正确解密,要么要求所有片段使用不同的加密密钥,并且在解密的过程中后一片段的解密独立于前一片段的解密;要么要求所有不同码率的加密密钥是相同的。
但是,目前已有的媒体内容加解密方案或者是针对传送流(Transport Stream,TS)的操作,是按照数据包分组进行加密解密处理;而针对国际标准化组织(InternationalOrganization for Standardization,ISO)基本媒体文件格式的操作,是对存储实际码流数据的盒子(mdat盒子)中的媒体sample进行操作;这些方案不适用于以片段为单位对媒体内容进行加密解密操作的应用。
发明内容
本发明的实施例提供一种媒体内容加密解密方法、装置及系统,能够满足以片段为单位进行的加密解密操作的需要。
为达到上述目的,本发明的实施例采用如下技术方案:
一种媒体内容加密方法,包括:
获取媒体内容片段,所述媒体内容片段为将媒体内容以片段为单位进行分割得到的媒体内容;
为所述媒体内容片段增加一个首部,所述首部包含用于加密、解密媒体内 容片段的密钥;
用所述首部包含的加密密钥为对应媒体内容片段进行加密,得到对应的受保护媒体内容片段,所述受保护媒体内容片段由加密媒体内容片段和首部组成;
将所述受保护的媒体内容片段分发出去。
一种媒体内容解密方法,包括:
接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥;
分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息;
根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥;
根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密。
一种媒体内容加密装置,包括:
获取单元,用于获取媒体内容片段,所述媒体内容片段为将媒体内容以片段为单位进行分割得到的媒体内容;
添加单元,用于为所述媒体内容片段增加一个首部,所述首部包含用于加密、解密媒体内容片段的密钥;
加密单元,用于所述首部包含的加密密钥为对应媒体内容片段进行加密,得到对应的受保护媒体内容片段,所述受保护媒体内容片段由加密媒体内容片段和首部组成;
分发单元,用于将所述受保护的媒体内容片段分发出去。
一种媒体内容解密装置,包括:
接收单元,用于接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥;
分析确定单元,用于分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息;
获取单元,用于根据所述位置信息获取所述接收的媒体内容对应片段的解 密密钥;
解密单元,用于根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密。
一种媒体内容加密解密系统,包括:媒体内容加密装置和媒体内容解密装置;
所述媒体内容加密装置,用于获取媒体内容片段,所述媒体内容片段为将媒体内容以片段为单位进行分割得到的媒体内容;为所述媒体内容片段增加一个首部,所述首部包含用于加密、解密媒体内容片段的密钥;用所述首部包含的加密密钥为对应媒体内容片段进行加密,得到对应的受保护媒体内容片段,所述受保护媒体内容片段由加密媒体内容片段和首部组成;将所述受保护的媒体内容片段分发出去;
所述媒体内容解密装置,用于接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥;分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息;根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥;根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密。
本发明实施例提供的媒体内容加密解密方法、装置及系统,与现有技术相比,在加密的时候,能够以片段为单位对媒体内容进行加密,并将加密片段的加密密钥包含在为媒体内容片段增加的首部,和加密后的媒体内容片段一起分发出去,满足了以片段为单位进行的加密操作的需要;当解密端接收到由加密媒体内容片段和首部组成的受保护媒体内容片段的整体或片段的一部分的媒体内容后,分析并确定接收的媒体内容在对应受保护媒体内容片段中的位置,根据位置信息获取接收的媒体内容对应片段的解密密钥,并根据解密密钥对接收的媒体内容的加密媒体内容片段进行解密,从而实现了以片段为单位对加密的媒体内容进行解密。综上,本发明提供的实施例,能够满足以片段为单位进行的加密解密操作的需要。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中媒体内容加密方法的流程图;
图2为本发明实施例1中媒体内容解密方法的流程图;
图3为本发明实施例2中媒体内容解密方法的流程图;
图4为本发明实施例2中将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续的流程图;
图5为本发明实施例3中一种媒体内容加密装置的组成框图;
图6为本发明实施例3中一种媒体内容解密装置的组成框图;
图7为本发明实施例3中另一种媒体内容解密装置的组成框图;
图8为本发明实施例3中另一种媒体内容解密装置的组成框图;
图9为本发明实施例3中另一种媒体内容解密装置的组成框图;
图10为本发明实施例3中另一种媒体内容解密装置的组成框图;
图11为本发明实施例3中一种媒体内容加密解密系统的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种媒体内容加密方法,如图1所示,该媒体内容加密方法包括:
101、获取媒体内容片段,所述媒体内容片段为将媒体内容以片段为单位进行分割得到的媒体内容。
102、为所述媒体内容片段增加一个首部,所述首部包含用于加密、解密媒体内容片段的密钥。
其中,所述媒体内容片段增加的首部所包含用于加密、解密媒体内容片段的密钥,可以为相同的密钥,也可以为不同的密钥,本发明实施例对此不进行限制,可以根据用户的需求设置;但不论采用相同的密钥,还是不同的密钥,基于本发明实施例中将用于加密、解密媒体内容片段的密钥和加密后的媒体内容片段一起分发出去,都不会影响针对独立片段的解密。
需要说明的是,为了进一步保证每个片段加密密钥、解密密钥的安全性,还可以将加密密钥、解密密钥进行加密,将加密后的加密密钥、解密密钥式包含在所述首部;该对加密密钥、解密密钥进行加密的密钥可以为现有技术中的任一种加密密钥,也可以为使用特定设备相关的密钥;具体的本发明实施例对此不进行限制。
更进一步的,为了提高加密的媒体内容片段的安全性,本发明实施例还可以在所述首部包括加密解密过程中使用的初始化向量,以便解密端在获取了对应片段的解密密钥后,根据该解密密钥、和该加密解密过程中使用的初始化向量以及预定算法,对接收的媒体内容的加密媒体内容片段进行解密。
103、用所述首部包含的加密密钥为对应媒体内容片段进行加密,得到对应的受保护媒体内容片段。
其中,该受保护媒体内容片段由加密媒体内容片段和首部组成,具体的格式如下表1所示:
首部 | 加密媒体内容片段 |
表1
104、将所述受保护的媒体内容片段分发出去。
本发明实施例还提供一种媒体内容解密方法,如图2所示,该媒体内容解密方法包括:
201、接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首 部组成,所述首部包含用于加密、解密媒体内容片段的密钥。
需要说明的是,DRM子系统提出了媒体内容的最小seek单元虽然是媒体片段,但是在对一个媒体内容片段进行加密时,基于不同加密算法一次加密数据的长度的不同,可能存在一个媒体内容片段分多个加密分组进行加密,待被动请求获取该加密的媒体内容片段时,或者主动发送该加密的媒体内容片段时,并将分组加密后的媒体内容片段分发出去;因此,当接收到媒体内容时,该媒体内容可能为受保护媒体内容片段的整体或者为受保护媒体内容片段的一部分。
202、分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息。
其中,所述接收的媒体内容在对应受保护媒体内容片段中的位置包括:非开始非结束、是开始非结束、非开始但结束或者既开始又结束。
另外,在分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置时,可以根据接收的媒体内容对应片断的长度和存储位置,识别出当前接收到的媒体内容是对应片断的起始部分、中间部分或尾部,据此,确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并创建相应的标记Flag,标记确定的位置信息。在标记确定的位置信息时,可以将确定的位置信息标记在对应的媒体内容中,也可以独立于该对应的媒体内容设置该标记;具体的本发明实施例对此不进行限制。当将确定的位置信息标记在对应的媒体内容中时,可以将该标记设置在对应的媒体内容的头部等位置,本发明实施例对此也不进行限制。在将确定的位置信息标记在对应的媒体内容中时,可以采用任一种标记方法,本发明实施例对此不进行限制;例如可以采用设置一个标记Flag,将该标记不同的取值代表不同的位置,该标记Flag的取值(Flag值)可以为二进制、十进制或者其他,具体的本发明实施例对此也不进行限定。典型地,可以通过表2的方式来标识上述的四种位置:
表2
203、根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥。
其中,根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥包括:若接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为是开始非结束或者既开始又结束,解析所述接收的媒体内容,获取包含在首部的所述接收的媒体内容对应片段的解密密钥;若接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为非开始非结束或者非开始但结束,则丢弃所述接收到的媒体内容。
基于表2,根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥,即需要先获得片段的首部包含的解密密钥,即最先(第一次)接收到的媒体内容标记位的值为应该为0x*1(*=0或1),如果不是这样,将丢弃收到的数据,等待新的Flag和媒体内容数据。这里,假定最先(第一次)收到了值为0x*1的Flag及相关的媒体内容,则解析所述接收的媒体内容,获取包含在首部的所述接收的媒体内容对应片段的解密密钥。
204、根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密。
本发明实施例中,在加密的时候,能够以片段为单位对媒体内容进行加密,并将加密片段的加密密钥包含在为媒体内容片段增加的首部,和加密后的媒体内容片段一起分发出去,满足了以片段为单位进行的加密操作的需要;当解密端接收到由加密媒体内容片段和首部组成的受保护媒体内容片段的整体或片段 的一部分的媒体内容后,分析并确定接收的媒体内容在对应受保护媒体内容片段中的位置,根据位置信息获取接收的媒体内容对应片段的解密密钥,并根据解密密钥对接收的媒体内容的加密媒体内容片段进行解密,从而实现了以片段为单位对加密的媒体内容进行解密。综上,本发明提供的实施例,能够满足以片段为单位进行的加密解密操作的需要。
实施例2
本发明实施例提供一种媒体内容解密方法,该解密方法基于加密媒体内容片段的密钥为加密的密钥为例进行阐述;如图3所示,该媒体内容解密方法包括:
301、接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥。
需要说明的是,DRM子系统提出了媒体内容的最小seek单元虽然是媒体片段,但是在对一个媒体内容片段进行加密时,基于不同加密算法一次加密数据的长度的不同,可能存在一个媒体内容片段分多个加密分组进行加密,并将加密后的部分媒体内容片段先依次分发;因此,当接收到媒体内容时,该媒体内容可能为受保护媒体内容片段的整体或者为受保护媒体内容片段的一部分。
302、分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息。
其中,所述接收的媒体内容在对应受保护媒体内容片段中的位置包括:非开始非结束、是开始非结束、非开始但结束或者既开始又结束。
另外,在将确定的位置信息标记在对应的媒体内容中的具体描述,可以参考实施例1中的步骤202的相关描述,本发明实施例此处将不再赘述。
303、根据所述位置信息获取所述接收的媒体内容对应片段加密的解密密钥。
其中,根据所述位置信息获取所述接收的媒体内容对应片段加密的解密密钥包括:若接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为是开始非结束或者既开始又结束,解析所述接收的媒体内容,获取包含在首 部的所述接收的媒体内容对应片段加密的解密密钥;若接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为非开始非结束或者非开始但结束,则丢弃所述接收到的媒体内容。
304、对所述加密的解密密钥进行解密,得到所述接收的媒体内容对应片段的解密密钥。
305、确定所述接收的媒体内容的加密媒体内容片段的长度与加密分组长度之间的关系;若所述接收的媒体内容的加密媒体内容片段的长度是所述加密分组长度的整数倍,则执行步骤306;若所述接收的媒体内容的加密媒体内容片段的长度不是所述加解密分组长度的整数倍,则执行步骤307。
306、根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密。
307、根据所述接收的媒体内容在对应受保护媒体内容片段中的位置信息以及所述解密密钥,对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密。
其中,根据所述接收的媒体内容在对应受保护媒体内容片段中的位置信息以及所述解密密钥,对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,包括:
若所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为既开始又结束,即基于表2的标识,即当接收的媒体内容标记位的取值为0x11;则根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,对所述尾部数据不做解密处理;其中,对所述尾部数据不做解密处理,后续将作为明文数据处理。需要说明的是,现有的加密算法,在进行加密的过程中,一般都有对应的加密长度,当需要加密内容的长度不足一个加密长度时,有两种处理方式,该两种处理方式为:第一种,将需要加密内容进行字节的补充,使需要加密内容的长度达到一个加密分组的长度,之后对补充字节的需要加密内容进行加密。这样解密端收到的需要解密的内容,就不会存在不足一个解密分组长度的情况。第二种,对不足一个加密长度的需要加密 内容不进行字节的补充,之后也不对该需要加密内容进行加密处理;这样解密端收到需要解密的内容时,就会存在不足一个解密分组长度的情况;当出现这样的情况时,解密端默认为加密端对该内容没有进行加密,后续将作为明文数据处理即可。
若所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为是开始非结束,即基于表2的标识,即当接收的媒体内容标记位的取值为0x01,则根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,将所述尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;
若所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束或者非开始但结束,即基于表2的标识,即当接收的媒体内容标记位的取值为0x00或0x10,将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续,并对接续数据按照解密分组长度依次进行解密。
其中,将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续,可以通过以下的方式实现,具体如图4所示,包括:
401、查看解密缓冲区是否有不足一个解密分组长度的未解密数据;若有,则执行步骤402;若没有,则执行步骤403。
402、将所述接收的媒体内容的加密媒体内容片段中的数据接续到解密缓冲区中未解密数据的后面,得到接续数据。
403、将接收的媒体内容的加密媒体内容片段中的数据作为接续数据。
其中,对接续数据按照解密分组长度依次进行解密,可以通过以下的方式实现,具体包括:
根据所述解密密钥对接续数据按照解密分组长度依次进行解密;
当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束时,将所述接续数据的尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;
当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始但结束时,对所述接续数据的尾部数据不做解密处理。
进一步的,当所述首部还包括加密解密的初始化向量时,在对所述接收的媒体内容的加密媒体内容片段进行解密时,还进一步包括:根据步骤304获取的解密密钥、所述加密解密过程中使用的初始化向量以及预定的算法,对所述接收的媒体内容的加密媒体内容片段进行解密。
本发明实施例中,在加密的时候,能够以片段为单位对媒体内容进行加密,并将加密片段的加密密钥包含在为媒体内容片段增加的首部,和加密后的媒体内容片段一起分发出去,满足了以片段为单位进行的加密操作的需要;当解密端接收到由加密媒体内容片段和首部组成的受保护媒体内容片段的整体或片段的一部分的媒体内容后,分析并确定接收的媒体内容在对应受保护媒体内容片段中的位置,根据位置信息获取接收的媒体内容对应片段的解密密钥,并根据解密密钥对接收的媒体内容的加密媒体内容片段进行解密,从而实现了以片段为单位对加密的媒体内容进行解密。综上,本发明提供的实施例,能够满足以片段为单位进行的加密解密操作的需要。
并且,在HTTP Streaming的应用场景下,若对每个内容片断使用不同的加密密钥进行加密,例如最常使用的AES是以16字节为解密分组的分组加密算法,这样每个片断的时长为2~10秒。如果等到一个片断完全接收后再做解密处理,可能会引起系统较大的时延。为了减少系统时延,本发明实施例中能以片断的一部分作为解密数据的输入,并根据接收的媒体内容在对应受保护媒体内容片段中的位置信息,对接收的媒体内容采用不同的形式进行解密,缩短了数据解密的等待时间,减小了系统时延。
实施例3
本发明实施例提供一种媒体内容加密装置,如图5所示,该媒体内容加密装置包括:获取单元51、添加单元52、加密单元53、分发单元54。
获取单元51,用于获取单元,用于获取媒体内容片段,所述媒体内容片段为将媒体内容以片段为单位进行分割得到的媒体内容。
添加单元52,用于为所述媒体内容片段增加一个首部,所述首部包含用于加密、解密媒体内容片段的密钥。
其中,为了进一步保证每个片段加密密钥、解密密钥的安全性,还可以将加密密钥、解密密钥进行加密,将加密后的加密密钥、解密密钥式包含在所述首部;该对加密密钥、解密密钥进行加密的密钥可以为现有技术中的任一种加密密钥,也可以为使用特定设备相关的密钥;具体的本发明实施例对此不进行限制。更进一步的,为了提高加密的媒体内容片段的安全性,本发明实施例还可以在所述首部包括加密解密过程中使用的初始化向量,以便解密端在获取了对应片段的解密密钥后,根据所述解密密钥、所述加密解密过程中使用的初始化向量以及预定的算法,对接收的媒体内容的加密媒体内容片段进行解密。
加密单元53,用于所述首部包含的加密密钥为对应媒体内容片段进行加密,得到对应的受保护媒体内容片段。
分发单元54,用于将所述受保护的媒体内容片段分发出去。
本发明实施例还提供一种媒体内容解密装置,如图6所示,该媒体内容解密装置包括:接收单元61、分析确定单元62、获取单元63、解密单元64。
接收单元61,用于接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥。
分析确定单元62,用于分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息。其中,所述接收的媒体内容在对应受保护媒体内容片段中的位置包括:非开始非结束、是开始非结束、非开始但结束或者既开始又结束。
获取单元63,用于根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥。
解密单元64,用于根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密。
进一步可选的,如图7所示,所述获取单元63包括:第一获取模块631。
第一获取模块631,用于在接收的媒体内容为对应片段内容的第一次接收, 并且所述位置信息为是开始非结束或者既开始又结束时,解析所述接收的媒体内容,获取包含在首部的所述接收的媒体内容对应片段的解密密钥;所述第一获取模块还用于,在接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为非开始非结束或者非开始但结束时,丢弃所述接收到的媒体内容。
进一步可选的,如图8所示,所述解密单元64包括:确定模块641、第一解密模块642、第二解密模块643。
确定模块641,用于确定所述接收的媒体内容的加密媒体内容片段的长度与加密分组长度之间的关系。
第一解密模块642,用于在所述接收的媒体内容的加密媒体内容片段的长度是所述加密分组长度的整数倍时,直接根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密。
第二解密模块643,用于在所述接收的媒体内容的加密媒体内容片段的长度不是所述加解密分组长度的整数倍时,根据所述接收的媒体内容在对应受保护媒体内容片段中的位置信息以及所述解密密钥,对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密。
进一步可选的,如图9所示,所述第二解密模块643包括:第一解密子模块6431、第二解密子模块6432、第三解密子模块6433。
第一解密子模块6431,用于在所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为既开始又结束时,根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,对所述尾部数据不做解密处理。
第二解密子模块6432,用于在所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为是开始非结束时,根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,将所述尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密。
第三解密子模块6433,用于在所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束或者非开始但结束时,将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续,并对接续数据按照解密分组长度依次进行解密。
其中,所述第三解密子模块6433在将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续时,可以通过以下的方式实现,该方式包括:查看解密缓冲区是否有不足一个解密分组长度的未解密数据;若有,则将所述接收的媒体内容的加密媒体内容片段中的数据接续到解密缓冲区中未解密数据的后面,得到接续数据;若没有,则将接收的媒体内容的加密媒体内容片段中的数据作为接续数据。
另外,所述第三解密子模块6433在对接续数据按照解密分组长度依次进行解密时,可以通过以下的方式实现,该方式具体包括:根据所述解密密钥对接续数据按照解密分组长度依次进行解密;当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束时,将所述接续数据的尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始但结束时,对所述接续数据的尾部数据不做解密处理。
进一步可选的,如图10所示,当所述密钥以加密的形式封装在所述首部时,所述获取单元63还包括:第二获取模块632、第三解密模块633。
第二获取模块632,用于根据所述位置信息获取所述接收的媒体内容对应片段加密的解密密钥;
第三解密模块633,用于对所述加密的解密密钥进行解密,得到所述接收的媒体内容对应片段的解密密钥。
进一步可选的,当所述首部还包括加密解密的初始化向量时,所述获解密单元64还用于,根据所述解密密钥、所述加密解密过程中使用的初始化向量以及预定的算法,对接收的媒体内容的加密媒体内容片段进行解密。
需要说明的是,本发明实施例提供的媒体内容解密装置所涉及功能模块的其他描述,可以参考实施例1和实施例2中的相关描述,本发明实施例此处将不再赘述。
本发明实施例还提供一种媒体内容加密解密系统,如图11所示,该媒体内容加密解密系统包括:媒体内容加密装置71和媒体内容解密装置72;
所述媒体内容加密装置71,用于获取媒体内容片段,所述媒体内容片段为将媒体内容以片段为单位进行分割得到的媒体内容;为所述媒体内容片段增加一个首部,所述首部包含用于加密、解密媒体内容片段的密钥;用所述首部包含的加密密钥为对应媒体内容片段进行加密,得到对应的受保护媒体内容片段,所述受保护媒体内容片段由加密媒体内容片段和首部组成;将所述受保护的媒体内容片段分发出去。
所述媒体内容解密装置72,用于接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥;分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息;根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥;根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密。
需要说明的是,本发明实施例提供的媒体内容加密解密系统所涉及功能模块的其他描述,可以参考实施例1和实施例2、和实施例3装置部分的相关描述,本发明实施例在此将不再赘述。
本发明实施例中,在加密的时候,能够以片段为单位对媒体内容进行加密,并将加密片段的加密密钥包含在为媒体内容片段增加的首部,和加密后的媒体内容片段一起分发出去,满足了以片段为单位进行的加密操作的需要;当解密端接收到由加密媒体内容片段和首部组成的受保护媒体内容片段的整体或片段的一部分的媒体内容后,分析并确定接收的媒体内容在对应受保护媒体内容片段中的位置,根据位置信息获取接收的媒体内容对应片段的解密密钥,并根据解密密钥对接收的媒体内容的加密媒体内容片段进行解密,从而实现了以片段 为单位对加密的媒体内容进行解密。综上,本发明提供的实施例,能够满足以片段为单位进行的加密解密操作的需要。
并且,在HTTP Streaming的应用场景下,若对每个内容片断使用不同的加密密钥进行加密,例如最常使用的AES是以16字节为解密分组的分组加密算法,这样每个片断的时长为2~10秒。如果等到一个片断完全接收后再做解密处理,可能会引起系统较大的时延。为了减少系统时延,本发明实施例中能以片断的一部分作为解密数据的输入,并根据接收的媒体内容在对应受保护媒体内容片段中的位置信息,对接收的媒体内容采用不同的形式进行解密。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种媒体内容解密方法,其特征在于,包括:
接收媒体内容,所述媒体内容为受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥;
分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息;
根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥;
根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密;
其中,所述根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密包括:
确定所述接收的媒体内容的加密媒体内容片段的长度与加密分组长度之间的关系;
若所述接收的媒体内容的加密媒体内容片段的长度是所述加密分组长度的整数倍,则直接根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密;
若所述接收的媒体内容的加密媒体内容片段的长度不是所述加解密分组长度的整数倍,则根据所述接收的媒体内容在对应受保护媒体内容片段中的位置信息以及所述解密密钥,对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密。
2.根据权利要求1所述的方法,其特征在于,所述接收的媒体内容在对应受保护媒体内容片段中的位置包括:非开始非结束、是开始非结束、非开始但结束或者既开始又结束。
3.根据权利要求2所述的方法,其特征在于,所述根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥包括:
若接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为是开始非结束或者既开始又结束,解析所述接收的媒体内容,获取包含在首部的所述接收的媒体内容对应片段的解密密钥;
若接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为非开始非结束或者非开始但结束,则丢弃所述接收到的媒体内容。
4.根据权利要求1所述的方法,其特征在于,所述根据所述接收的媒体内容在对应受保护媒体内容片段中的位置信息以及所述解密密钥,对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,包括:
若所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为既开始又结束,则根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,对所述尾部数据不做解密处理;
若所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为是开始非结束,则根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,将所述尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;
若所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束或者非开始但结束时,将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续,并对接续数据按照解密分组长度依次进行解密。
5.根据权利要求4所述的方法,其特征在于,所述将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续包括:
查看解密缓冲区是否有不足一个解密分组长度的未解密数据;
若有,则将所述接收的媒体内容的加密媒体内容片段中的数据接续到解密缓冲区中未解密数据的后面,得到接续数据;
若没有,则将接收的媒体内容的加密媒体内容片段中的数据作为接续数据。
6.根据权利要求5所述的方法,其特征在于,所述对接续数据按照解密分组长度依次进行解密包括:
根据所述解密密钥对接续数据按照解密分组长度依次进行解密;
当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束时,将所述接续数据的尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;
当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始但结束时,对所述接续数据的尾部数据不做解密处理。
7.根据权利要求1-6任一项所述的方法,其特征在于,当所述密钥以加密的形式封装在所述首部时,根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥包括:
根据所述位置信息获取所述接收的媒体内容对应片段加密的解密密钥;
对所述加密的解密密钥进行解密,得到所述接收的媒体内容对应片段的解密密钥。
8.根据权利要求7所述的方法,其特征在于,当所述首部还包括加密解密的初始化向量时还包括:
根据所述解密密钥、所述加密解密过程中使用的初始化向量以及预定的算法,对接收的媒体内容的加密媒体内容片段进行解密。
9.一种媒体内容解密装置,其特征在于,包括:
接收单元,用于接收媒体内容,所述媒体内容为受保护媒体内容片段的整体或者受保护媒体内容片段的一部分;所述受保护媒体内容片段由加密媒体内容片段和首部组成,所述首部包含用于加密、解密媒体内容片段的密钥;
分析确定单元,用于分析并确定所述接收的媒体内容在对应受保护媒体内容片段中的位置,并标记确定的位置信息;
获取单元,用于根据所述位置信息获取所述接收的媒体内容对应片段的解密密钥;
解密单元,用于根据所述解密密钥对接收的媒体内容的加密媒体内容片段进行解密;
所述解密单元包括:
确定模块,用于确定所述接收的媒体内容的加密媒体内容片段的长度与加密分组长度之间的关系;
第一解密模块,用于在所述接收的媒体内容的加密媒体内容片段的长度是所述加密分组长度的整数倍时,直接根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密;
第二解密模块,用于在所述接收的媒体内容的加密媒体内容片段的长度不是所述加解密分组长度的整数倍时,根据所述接收的媒体内容在对应受保护媒体内容片段中的位置信息以及所述解密密钥,对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密。
10.根据权利要求9所述的媒体内容解密装置,其特征在于,所述接收的媒体内容在对应受保护媒体内容片段中的位置包括:非开始非结束、是开始非结束、非开始但结束或者既开始又结束。
11.根据权利要求10所述的媒体内容解密装置,其特征在于,所述获取单元包括:
第一获取模块,用于在接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为是开始非结束或者既开始又结束时,解析所述接收的媒体内容,获取包含在首部的所述接收的媒体内容对应片段的解密密钥;
所述第一获取模块还用于,在接收的媒体内容为对应片段内容的第一次接收,并且所述位置信息为非开始非结束或者非开始但结束时,丢弃所述接收到的媒体内容。
12.根据权利要求9所述的媒体内容解密装置,其特征在于,所述第二解密模块包括:
第一解密子模块,用于在所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为既开始又结束时,根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,对所述尾部数据不做解密处理;
第二解密子模块,用于在所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为是开始非结束时,根据所述解密密钥对所述接收的媒体内容的加密媒体内容片段中的数据按照解密分组长度依次进行解密,当所述加密媒体内容片段中尾部数据的长度不足一个解密分组长度时,将所述尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;
第三解密子模块,用于在所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束或者非开始但结束时,将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续,并对接续数据按照解密分组长度依次进行解密。
13.根据权利要求12所述的媒体内容解密装置,其特征在于,所述将解密缓冲区的数据和所述接收的媒体内容的加密媒体内容片段中的数据进行接续包括:
查看解密缓冲区是否有不足一个解密分组长度的未解密数据;
若有,则将所述接收的媒体内容的加密媒体内容片段中的数据接续到解密缓冲区中未解密数据的后面,得到接续数据;
若没有,则将接收的媒体内容的加密媒体内容片段中的数据作为接续数据。
14.根据权利要求13所述的媒体内容解密装置,其特征在于,所述对接续数据按照解密分组长度依次进行解密包括:
根据所述解密密钥对接续数据按照解密分组长度依次进行解密;
当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始非结束时,将所述接续数据的尾部数据保存在解密缓冲区中,等待与后续接收的媒体内容的加密媒体内容片段中的数据凑足一个解密分组长度时再进行解密;
当所述接续数据的尾部数据的长度不足一个解密分组长度,并且所述接收的媒体内容在对应受保护媒体内容片段中的位置信息为非开始但结束时,对所述接续数据的尾部数据不做解密处理。
15.根据权利要求9-14任一项所述的媒体内容解密装置,其特征在于,当所述密钥以加密的形式封装在所述首部时,所述获取单元还包括:
第二获取模块,用于根据所述位置信息获取所述接收的媒体内容对应片段加密的解密密钥;
第三解密模块,用于对所述加密的解密密钥进行解密,得到所述接收的媒体内容对应片段的解密密钥。
16.根据权利要求15所述的媒体内容解密装置,其特征在于,当所述首部还包括加密解密的初始化向量时,所述解密单元还用于,
根据所述解密密钥、所述加密解密过程中使用的初始化向量以及预定的算法,对接收的媒体内容的加密媒体内容片段进行解密。
17.一种媒体内容加密解密系统,其特征在于,包括:
如权利要求9-16任一项所述的媒体内容解密装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210047770.2A CN103297809B (zh) | 2012-02-28 | 2012-02-28 | 媒体内容加密解密方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210047770.2A CN103297809B (zh) | 2012-02-28 | 2012-02-28 | 媒体内容加密解密方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297809A CN103297809A (zh) | 2013-09-11 |
CN103297809B true CN103297809B (zh) | 2017-06-20 |
Family
ID=49098028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210047770.2A Expired - Fee Related CN103297809B (zh) | 2012-02-28 | 2012-02-28 | 媒体内容加密解密方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297809B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162853A (zh) * | 2015-08-17 | 2015-12-16 | 北京京东尚科信息技术有限公司 | 一种流式文档阅读系统及方法 |
CN105337963A (zh) * | 2015-09-30 | 2016-02-17 | 北京奇虎科技有限公司 | 多媒体数据加密方法和装置 |
CN108055274B (zh) * | 2017-12-22 | 2020-09-11 | 广东工业大学 | 一种基于联盟链存储数据的加密与共享方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040247126A1 (en) * | 2003-06-04 | 2004-12-09 | Mcclellan Stanley Archer | Wireless network and methods for communicating in a wireless network |
CN101271501B (zh) * | 2008-04-30 | 2011-06-15 | 北京握奇数据系统有限公司 | 数字媒体文件的加解密方法及装置 |
CN100589173C (zh) * | 2008-05-26 | 2010-02-10 | 杭州华三通信技术有限公司 | 一种多画面拼接方法和装置 |
CN102075790A (zh) * | 2009-11-20 | 2011-05-25 | 上海电机学院 | 一种流媒体分发和加密的方法 |
CN102300093A (zh) * | 2011-08-31 | 2011-12-28 | 华中科技大学 | 一种用于数据文件分发的加密方法 |
-
2012
- 2012-02-28 CN CN201210047770.2A patent/CN103297809B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103297809A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210329347A1 (en) | Systems and Methods for Secure Playback of Encrypted Elementary Bitstreams | |
JP6592569B2 (ja) | 送信装置および受信装置 | |
JP5116752B2 (ja) | トラフィック可視性を備えたエンドツーエンド・ネットワークのセキュリティのための効率的な鍵の導出 | |
EP2244416A1 (en) | Encryption processing method and encryption processing device | |
ES2266099T3 (es) | Punteros para datos encriptados en la cabecera de protocolo en tiempo real (rtp). | |
RU2008104858A (ru) | Защита цифрового мультимедиа с различными типами | |
JP2008512924A (ja) | 限定受信を提供する方法 | |
CN104683824B (zh) | flv格式视频文件的加密传输方法和系统 | |
JP6596131B2 (ja) | 送信装置、受信装置および限定受信システム | |
CN103297809B (zh) | 媒体内容加密解密方法、装置及系统 | |
CN110602107B (zh) | 基于Zynq的网络密码机及网络数据加解密方法 | |
WO2015034020A1 (ja) | 送信装置、受信装置、限定受信システムおよび限定受信方法 | |
CN114826748A (zh) | 基于rtp、udp及ip协议的音视频流数据加密方法和装置 | |
JP2017152751A (ja) | 送信装置、および受信装置 | |
JP6543395B2 (ja) | 送信装置、受信装置および限定受信システム | |
JP6400992B2 (ja) | 送信装置、受信装置および限定受信システム | |
CN101184201A (zh) | 数字电视用户管理系统与外围系统的通信方法 | |
Swaminathan et al. | Designing a universal format for encrypted media |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170620 |
|
CF01 | Termination of patent right due to non-payment of annual fee |