一种媒体流的加密及解密方法

文档序号:7971867阅读:173来源:国知局
专利名称:一种媒体流的加密及解密方法
技术领域
本发明涉及网络通信安全技术领域,尤其涉及媒体流的加密传送和解密方法。
背景技术
随着有线和无线网络带宽的增加,接入条件不断改善,以音频、视频播放为代表的流媒体应用日趋广泛。为保障知识产权所有者的权益,流媒体应用中的媒体流安全传输、乃至与安全传输相关的使用权限控制等问题逐渐成为焦点之一。
目前,各主要音视频流传输的标准、协议和规范,对此方面多有涉及。例如国际标准化组织的ISO13818“信息技术——运动图像及其伴音信号的通用编码”系列标准,在其第一部分描述传输流时,就预留了条件接入的机制。在2004年初,该标准又新增了第十一部分“MPEG2的知识产权管理与保护”,以便为其它知识产权管理与保护方法提供框架和接口。国际标准化组织的另一份音视频系列标准ISO14496“信息技术——音频视频对象编码”的第十三部分也定义了“知识产权管理与保护扩展”。又如,互联网流媒体联盟(Internet Streaming Media Alliance,ISMA)在制定流媒体传输相关规范的同时也发布了加密与认证规范,对符合ISMA规范媒体流的加密机制做了定义。但是上述标准、协议和规范主要侧重于定义一套具备互操作性的框架结构,对于媒体流安全传输和使用控制的具体方法,论及有限。
现有技术中有一种变密钥媒体流加密方法,该方法对基本密钥和媒体流数据包中的标签做安全散列,得到单个数据包的加密密钥,由于数据包的标签不同,所以不同数据包的加密密钥也不同。现有技术中还有一种双层加密的防拷贝方法,其第一层采用单一密钥处理,可以采用中等强度的加密方法加密待处理内容;其第二层则针对前一层的密钥进行处理,可以采用诸如非对称加密等较高强度方法对前述密钥进行处理。上述方法虽然对媒体流的加密传输提供了一些有益的思路,但仍然存在一些不足。例如,如果由于偶然的原因一部分媒体内容被破解,若只采用上述的双层加密的防拷贝方法,则整个媒体流都会被破解。而上述的变密钥媒体流加密方法,由于密钥可变,虽然较有可能避免上述情况,但是由于作为密钥一部分原料的数据包标签项是以明文的形式随媒体流传送的,安全方面仍然面临一定风险。

发明内容
本发明要解决的技术问题是提供一种媒体流的加密及解密方法,在保证处理效率的前提下,提高媒体流传输的安全性,并能够灵活地适用于多种媒体流传输格式和应用场合。
为实现本发明的目的,本发明提供一种媒体流的加密方法,包括如下步骤(1)媒体流发送方构造基础密钥、包装密钥;(2)媒体流发送方构造动态密钥,并根据该动态密钥和所述基础密钥,生成数据加密密钥;(3)媒体流发送方利用所述数据加密密钥对发送的媒体流进行加密,生成加密媒体流;(4)媒体流发送方利用所述包装密钥对所述动态密钥进行加密,生成加密动态密钥,并将该加密动态密钥插入所述加密媒体流中。
上述步骤(1)中,所述包装密钥可以和基础密钥相同,根据应用场景,两个可以简化合并为一个统一的静态密钥。
上述步骤(2)中,媒体流发送方可采取一定方式更换所述动态密钥,更换的方式为定时更换,或不定时更换,或逐包更换。
上述步骤(4)中,媒体流发送方可将已加密动态密钥插入到加密媒体流的包头或包体中;或在所述加密媒体流中插入新的包存放已加密动态密钥。插入的时机可以在动态密钥发生变化时插入,或在加密媒体流的关键数据包处插入,或在每个数据包均插入。所述关键数据包包括随机访问的数据包、关键帧的初始数据包。插入媒体流的加密动态密钥的有效点为从当前数据包开始有效,或从后续的某个数据包开始有效。
为实现本发明的目的,本发明还提供一种媒体流的解密方法,包括如下步骤(1)媒体流接收方从媒体流发送方接收基础密钥和包装密钥;(2)媒体流接收方从接收到的加密媒体流中剥离出已加密动态密钥,并利用接收到的包装密钥对该已加密动态密钥进行解密,得到动态密钥;(3)媒体流接收方利用接收到的基础密钥和解密得到的动态密钥,生成数据加密密钥;(4)媒体流接收方利用生成的数据加密密钥对接收到的加密媒体流进行解密。
上述步骤(1)中,媒体流发送方将所述基础密钥和包装密钥共同通过安全的方法,或分别通过安全的方法,发送到媒体流接收方。
所述通过安全的方法传送,是利用媒体流接收方的公钥,对基础密钥和/或包装密钥进行处理并传送;和/或利用流媒体发送方的私钥,对包含基础密钥和/或包装密钥的消息进行数字签名处理并传送。
与现有技术相比较,本发明提出了一种灵活的可变密钥媒体流加密方法。当前的流媒体应用领域,一方面对媒体流的安全传输要求日益提高,另一方面,传输流的种类繁多,接收终端的性能差别很大。本发明的方法,在保证处理效率的前提下,提高了媒体流传输的安全性,并能够灵活地适用于多种媒体流传输格式和应用场合,为同时解决上述两个方面的需求提供一条有效的途径。


图1是媒体流发送方加密的示意2是媒体流接收方解密的示意3是本发明应用在采用数字权限管理技术的网络电视领域中一个实例的示意图具体实施方式
本发明提出的方法以相对稳定的基础密钥和灵活变化的动态密钥为原料构造最终的媒体流数据加密密钥。在密钥传输上,基础密钥采用较高强度的加密,通过安全的传送方法由媒体流接收方获得,而动态密钥也通过安全机制加密后随媒体流传送。已加密动态密钥能够以多种方式、时机加入媒体流,可以适应不同应用场景的需求。
对于媒体流发送方,加密过程如下(A1)媒体流发送方构造基础密钥、包装密钥。
(A2)媒体流发送方构造动态密钥,并根据该动态密钥和步骤(A1)中构造的基础密钥,生成数据加密密钥。
(A3)媒体流发送方利用步骤(A2)中生成的数据加密密钥对发送的媒体流进行加密。
(A4)媒体流发送方利用步骤(A1)中构造的包装密钥对步骤(A2)中构造的动态密钥进行加密,并将加密后的结果插入步骤(A3)中发送的媒体流。
对于媒体流接收方,解密过程如下(B1)媒体流接收方得到基础密钥、包装密钥。
(B2)媒体流接收方从接收到的加密媒体流中剥离出已加密动态密钥。并利用步骤(B1)中得到的包装密钥对该已加密动态密钥进行解密,得到动态密钥。
(B3)媒体流接收方利用步骤(B1)中得到的基础密钥和步骤(B2)中得到的动态密钥,生成数据加密密钥。
(B4)媒体流接收方利用步骤(B3)中得到的数据加密密钥对接收到的加密媒体流进行解密。
下面结合附图对本发明的加密方法进行详细说明。
如图1所示,本发明的媒体流发送方加密的流程如下媒体流发送方首先获得基础密钥191和包装密钥192。基础密钥191和/或包装密钥192的获得方法包括从密钥管理系统获取或者通过密钥生成单元生成等。策略控制单元131根据设置确定已加密动态密钥和其他附加信息的构造和插入策略136。
动态密钥生成单元111,根据设置条件自动或人工触发,生成新的动态密钥116。动态密钥116与基础密钥191在数据加密密钥生成单元121根据数据加密密钥生成算法产生数据加密密钥126。其中,数据加密密钥生成算法既可以采用公开的通用算法,也可以采用自己的私有方式。例如,采用X9.44标准中的KDF2算法生成密钥。动态密钥116与包装密钥192在动态密钥加密单元122进行加密运算,得到已加密动态密钥127。其中动态密钥加密算法同样既可以采用公开的通用算法,也可以采用自己的私有方式。例如,采用AES算法利用包装密钥对动态密钥进行加密。
原始媒体流依次通过数据包解析单元101、数据包加密单元102、信息插入单元103,得到加密媒体流。其中数据包解析单元101,主要判断当前数据包的特征信息106,例如,数据包中包含的是媒体数据还是控制信息,数据包是否为关键帧的首数据包等。数据包解析单元101获得的数据包特征信息被送至数据包加密单元102,数据包加密单元102根据数据包特征信息和控制策略136决定是否对当前数据包进行加密。如果需要加密,则进一步确认采用当前寄存密钥还是最新的数据加密密钥126,并据此对数据包进行加密。信息插入单元103根据数据包特征信息和控制策略136决定是否将已加密动态密钥127插入媒体流。如果需要插入,则进一步确认插入的方式方法,并据此将已加密动态密钥127及其他可能需要的附加信息插入媒体流。其中,其他可能需要的附加信息包括部分控制策略(例如插入媒体流的已加密动态密钥的有效点)等。
需要补充说明的是,前面所述的策略包括已加密动态密钥插入媒体流的方式,已加密动态密钥插入媒体流的时机,插入媒体流的已加密动态密钥的有效点等。其中已加密动态密钥插入媒体流的方式可以包括添加扩展字段至媒体流数据包头,添加新的包至原有媒体流数据包之间等;已加密动态密钥插入媒体流的时机可以包括动态密钥发生变化时插入,关键数据包处插入,每个数据包均插入等;插入媒体流的已加密动态密钥的有效点可以包括从当前数据包开始有效,从后续的某个数据包开始有效等。策略的选择根据具体应用场景而定,例如,如果需要处理的媒体流为ISO13818标准第一部分中定义的MPEG2-TS格式,由于该格式为定长数据包,则已加密动态密钥插入媒体流的方式应该是添加新的包至原有媒体流数据包之间;如果需要处理的媒体流为ISMA规范定义的格式,虽然已加密动态密钥插入媒体流的方式既可以通过增加包头字段,也可以通过增加额外的包,但为了与ISMA加密与认证规范中定义的机制相匹配,主要采用增加包头字段的方法插入已加密动态密钥。又如,如果媒体流接收方的处理能力较弱,随数据包传送的已加密动态密钥若立即生效,有可能导致音频视频等播放的短暂停滞,这样在插入媒体流的已加密动态密钥的有效点的选择上,就可以设置为从后续的一或数个数据包开始有效。再如,音视频流传送中,如果需要媒体流发送方支持快进、快退、时移等操作,为保证效率,动态密钥的更换最好只在处理关键帧数据包等可以随机访问的关键数据包时进行,已加密动态密钥插入媒体流的时机则宜选择为关键数据包处。
如图2所示,本发明的媒体流接收方解密的一种流程如下媒体流接收方首先获得包装密钥291和基础密钥292。加密媒体流首先被送至数据包解析单元201,数据包解析单元201从中提取出数据包特征信息206。信息提取单元202则根据数据包特征信息206,判断是否需要从解析单元201传来的媒体流数据包中提取信息。如果需要,则提取出已加密动态密钥207和/或控制策略208。已加密动态密钥207被立即送入动态密钥解密单元211,利用包装密钥291解出动态密钥。该动态密钥继而被送入数据加密密钥生成单元221,与基础密钥共同作用得到数据加密密钥226。数据包解密单元203根据数据包特征信息206和控制策略208,判断是否需要解密从信息提取单元202传来的媒体流数据包。如果需要,则利用数据加密密钥226对其进行解密,最终得到已解密媒体流。
需要补充说明的是,媒体流接收方的动态密钥解密单元211,其采用算法必须和媒体流发送方的动态密钥加密单元122相对应;媒体流接收方的数据加密密钥生成单元221,其采用算法必须和媒体流发送方的数据加密密钥生成单元121完全一致。而媒体流接收方所提取出的控制策略208,则只是媒体流发送方控制策略136的一个子集,其他无法通过媒体流获得的控制策略,媒体流接收方可以采用约定的方式预置完成。
如图3所示,在采用数字权限管理(DRM)技术的网络电视(IPTV)领域,本发明的一种具体实施例如下当网络电视系统中某个频道需要采用数字权限管理技术进行保护时,运营支撑系统309会向媒体流加密中心306发送频道加密请求311。为简化密钥管理,在本实施例中,媒体流加密中心306将包装密钥和基础密钥统一为一个静态密钥。媒体流加密中心306接收到频道加密请求311后,预生成一个静态密钥,并向密钥管理中心307发送密钥登记查询请求312,密钥管理中心307会首先查询该频道是否已经有静态密钥,如果已有静态密钥,则在密钥登记查询响应313中返回查询结果;否则,则登记请求消息312中携带的预生成密钥,并在响应消息313中包含此密钥。一种例外情况是,如果频道密钥是要求强制更新的,则密钥管理中心将不再做查询,直接更新登记数据。媒体流加密中心306在收到密钥登记查询响应313后,保存好其中的静态密钥,并回复运营支撑系统309频道加密响应314。运营支撑系统309收到该响应后即可通知流媒体传送服务系统305开始频道加密。流媒体传送服务系统305将原始媒体流321传送给媒体流加密中心306,并接收其处理后的加密媒体流322。媒体流加密中心306对媒体流的加密过程可以参考图1中的流程描述。
当用户使用机顶盒301,通过电子节目单通知运营支撑系统309频道订购请求351后,运营支撑系统会要求授权中心308构造授权对象,授权对象的内容包括用户观看频道的授权限制信息、频道的静态密钥等。其中授权限制信息可以从授权对象构造请求352中直接得到,而静态密钥则需通过密钥查询请求353向密钥管理中心307查询得到。密钥查询响应354中带回的静态密钥需要通过处理才能置入授权对象中,例如,利用机顶盒351的公钥对该静态密钥进行非对称加密处理。构造完授权对象后,授权中心回复授权对象构造响应355消息给运营支撑系统309,运营支撑系统随后发送频道订购响应356给机顶盒301。其中频道订购响应356包含了触发机顶盒获取授权对象的信息。机顶盒301接收到此触发信息后,向授权中心308获取授权对象。为保证通信消息的完整性和可靠性,授权对象获取请求357可以利用机顶盒的私钥进行数字签名;授权对象获取响应358也同样可以利用授权中心的私钥进行数字签名。机顶盒301得到授权对象并安装完成后,就可以接受加密媒体流361并参考图2中的流程进行处理,得到解密媒体流以供播放。
权利要求
1.一种媒体流的加密方法,包括如下步骤(1)媒体流发送方构造基础密钥、包装密钥;(2)媒体流发送方构造动态密钥,并根据该动态密钥和所述基础密钥,生成数据加密密钥;(3)媒体流发送方利用所述数据加密密钥对发送的媒体流进行加密,生成加密媒体流;(4)媒体流发送方利用所述包装密钥对所述动态密钥进行加密,生成加密动态密钥,并将该加密动态密钥插入所述加密媒体流中。
2.如权利要求1所述的方法,其特征在于,所述步骤(1)中,所述包装密钥和基础密钥相同或不同。
3.如权利要求1所述的方法,其特征在于,所述步骤(2)中,媒体流发送方采取一定方式更换所述动态密钥,更换的方式为定时更换,或不定时更换,或逐包更换。
4.如权利要求3所述的方法,其特征在于,所述步骤(4)中,所述加密动态密钥在动态密钥发生变化时插入加密媒体流。
5.如权利要求1所述的方法,其特征在于,所述步骤(4)中,媒体流发送方将已加密动态密钥插入到加密媒体流的包头或包体中;或在所述加密媒体流中插入新的包存放已加密动态密钥。
6.如权利要求5所述的方法,其特征在于,所述加密动态密钥在加密媒体流的关键数据包处插入,或在每个数据包均插入。
7.如权利要求6所述的方法,其特征在于,所述关键数据包包括随机访问的数据包、关键帧的初始数据包。
8.如权利要求1所述的方法,其特征在于,所述步骤(4)中,插入媒体流的已加密动态密钥的有效点为从当前数据包开始有效,或从后续的某个数据包开始有效。
9.一种媒体流的解密方法,包括如下步骤(1)媒体流接收方从媒体流发送方接收基础密钥和包装密钥;(2)媒体流接收方从接收到的加密媒体流中剥离出已加密动态密钥,并利用接收到的包装密钥对该已加密动态密钥进行解密,得到动态密钥;(3)媒体流接收方利用接收到的基础密钥和解密得到的动态密钥,生成数据加密密钥;(4)媒体流接收方利用生成的数据加密密钥对接收到的加密媒体流进行解密。
10.如权利要求9所述的方法,其特征在于,所述步骤(1)中,媒体流发送方将所述基础密钥和包装密钥共同通过安全的方法,或分别通过安全的方法,发送到媒体流接收方。
11.如权利要求10所述的方法,其特征在于,所述的通过安全的方法发送,是利用媒体流接收方的公钥,对基础密钥和/或包装密钥进行处理并发送;和/或利用流媒体发送方的私钥,对包含基础密钥和/或包装密钥的消息进行数字签名处理并发送。
全文摘要
一种媒体流的加密及解密方法,其中加密方法为媒体流发送方构造基础密钥、包装密钥及动态密钥,根据动态密钥和基础密钥生成数据加密密钥,利用数据加密密钥对发送的媒体流进行加密,生成加密媒体流;利用包装密钥对动态密钥进行加密,并将已加密动态密钥插入加密媒体流中。解密方法为媒体流接收方从媒体流发送方接收基础密钥和包装密钥,从接收到的加密媒体流中剥离出已加密动态密钥,并利用接收到的包装密钥对已加密动态密钥进行解密,得到动态密钥;利用接收到的基础密钥和解密得到的动态密钥,生成数据加密密钥;利用生成的数据加密密钥对接收到的加密媒体流进行解密。
文档编号H04N7/24GK1946018SQ200610150328
公开日2007年4月11日 申请日期2006年10月26日 优先权日2006年10月26日
发明者许军宁, 华国栋, 何康, 吕吉, 梁广德 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1