流媒体传输码流的加密解密方法及模块的制作方法

文档序号:7623461阅读:107来源:国知局
专利名称:流媒体传输码流的加密解密方法及模块的制作方法
技术领域
本发明涉及一种传输媒体的保护,尤其涉及一种流媒体传输码流的加密解密方法及模块。
背景技术
H.264是由联合视频组JVT制定的一套音视频编码国际标准,为了保护传输的媒体,特别是针对无线环境下的H.264视频媒体的保护,通常的加密系统会在媒体发送方和媒体接收方之间约定密码算法,媒体发送方秘密地选取一个密钥用于加密媒体,并将加密的媒体传输给媒体接收方,同时采用安全的方式将密钥告知媒体接收方,媒体接收方从而可以利用密钥解密媒体。因此,密码算法的设计与媒体的传输安全有密切关系。在无线网络环境下,对于密码算法通常有以下要求(1)安全性安全性是加密方案的核心要求。一方面加密方案应能给内容提供足够的保护;另一方面,考虑面向商业的应用,其安全性所耗费的成本应控制在合理的范围内。相对于传统的数据,视频信息的数据量大,数据间存在着较大的冗余,这为破解内容提供了便利。特别的,很多的电影采用了固定片头或者提前发布预告片剪辑,这意味着相应视频明文可以被攻击者知晓,因此,加密算法应能抵御已知明文的攻击(由一段明文数据和该明文数据段加密得到的密文数据段组成“明文—密文对”,利用“明文—密文对”对加密系统实施的攻击称之为已知明文的攻击)。
(2)复杂度流媒体应用要求移动终端设备能实时地解密内容,而移动终端设备的计算处理能力是受限的,因此,视频解密的复杂度不能太高。通常,复杂度与安全性是一对典型的矛盾,在实际设计加密系统时应考虑二者的折中。
(3)容错性无线网络中存在着大量的传输错误,拥塞、缓冲区溢出及各种网络错误都可能导致丢包,此外,各种突发性错误也会导致传输比特错误。为此,加密系统应能限制错误的蔓延,并能对包丢失的情况提供快速的重同步功能,针对比特错误进行错误恢复处理。
(4)对压缩效率的负面影响加密操作对压缩效率的负面影响源于以下几个方面加密更改了编码参数及视频数据的统计特性,这使得编码效率明显降低;为正确的解密内容,一些解密参数及指示符被引入到压缩码流中,例如一些加密方法要求在明文之后填充一些信息,使得明文的长度满足加密算法的要求,这样一来就使得原来的明文变得更长,使压缩效率大打折扣。加密系统的设计要求之一是尽可能降低加密对压缩效率的负面影响。
不加密时流媒体的传送过程如下视频流获取→压缩编码→分包→网络发送→网络传输→网络接收→包组合→解码→视频流输出下面分别对现有的加密方案进行介绍现有技术一是采用传输分包前的加密方案,视频媒体由于数据量大,通常在经过压缩编码之后传输。第一类方案因此选择在视频压缩编码过程中的某个阶段对视频数据进行加密。第二类方案是在媒体编码之后进行加密,不考虑媒体传输分包策略,而对媒体数据进行加密。
现有技术一的缺点在于第一类方案在压缩编码过程中加密,或者破坏了媒体数据自身的相关性,或者破坏了由于之前的压缩操作引入的数据相关性,从而降低了后续的数据压缩效率。从信息论的角度,加密去除数据的相关性(冗余度),而压缩则需要利用数据的相关性(冗余度),因此,当先加密后压缩时,通常压缩率不会很高;而先压缩后加密则可以保证压缩率。
第二类方案加密时没有考虑到传输分包,因而在媒体接收端解密一个包数据,往往需要参考其它的包数据,而一旦媒体在传输过程中发生丢包,可能造成相关的包数据也无法解密。
现有技术二是采用分块加密(即分组加密)方案,将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。
采用标准的分块加密算法对媒体数据进行加密,其缺点在于分块加密算法会使数据位之间存在相关性,媒体接收端需要将相关的若干数据位联合起来解密,而一旦媒体数据在传输过程中出现突发性位错误(无线环境下经常出现),则一位数据出错,相关的数据位解密时也会出错,从而造成错误蔓延。
现有技术三是采用一般的流加密方案如图1所示,一些现有技术采用流加密算法加密媒体数据。流密码(stream cipher)又称序列密码,每次加密一位或一字节的明文。流加密的原理是生成与明文等长的密码本(也就是伪随机序列),然后与明文进行逐位或者逐字节的加密操作。流加密使用伪随机序列发生器产生密码本。伪随机序列发生器的输入是初始向量,输出则是无限长的伪随机序列。之所以是伪随机,就是因为输入的初始向量的种类决定了输出的伪随机序列的种类。不同的流加密算法,会定义不同的伪随机序列发生器。在实际使用流加密方法的时候,为了提高安全性,需要引入初始向量和散列算法。但如果频繁地使用同一个初始向量去进行流加密是很危险的,因为它们的密码本是一样的,攻击者可以利用这一点进行破解。
由于流加密算法天然难以抵抗已知明文的攻击,这些算法通过更换初始向量来更换流加密算法产生的伪随机密码本。但是,这些算法仍将初始向量放置于传输的数据流中。如2004年10月6日公开的申请号为200410032441.6,名称为《对可测量多媒体的可完全测量的密码编制》的专利申请提出的C&S加密算法,使用数据的消息校验码MAC作为初始向量,但却将消息校验码作为数据包的最后一个字节。
现有技术三的缺点在于上述的流加密方案仍会给已知明文的攻击提供信息。由于初始向量相同意味着加密数据的密码本源自于同一个伪随机序列,因此,一旦攻击者获得了一个“明文—密文对”以及相应的初始向量,就能计算该“明文—密文对”和所有与该“明文—密文对”拥有同样的初始向量的密文所使用的全部或部分的密码本,从而破解其明文信息。
现有技术四是采用置换加密,置换加密方法的原理是将数据分块,并打乱顺序。只有按照通信双方约定的方式对打乱数据恢复,才能获得正确的明文。
一些研究人员提出了视频媒体的置换加密方案,如文献H.Chu,L.Qiao,and K.Nahrstedt,“A Secure Multicast Protocol with CopyrightProtection,”A CM SIGCOMM,Vol.32,Apr.2002。
现有技术四的缺点在于虽然置换算法简单高效,但是攻击者一旦获取“明文—密文对”,也能寻找规律,破解算法。文献A.J.Slagell,“Know-Plaintext Attack Against a Permutation Based Video EncryptionAlgorithm,”Jan.2004(http//eprint.iacr.org/2004/011.pdf)就提出了针对上述置换方案的已知明文的攻击方法。此外,置换方法一般不会改变视频或者图像的统计特性,不适用于安全级别要求较高的应用。
如图2所示,现有技术单一使用流加密方法或者置换加密方法都易遭受已知明文的攻击。流密码难以抵御已知“明文—密文”对的攻击,攻击者同时得到一段明文和相应的密文后,可以推算密钥,进而破解其它的密文,安全性差。

发明内容
本发明所要解决的技术问题是克服现有的视频媒体加密方法存在的安全性差、容错性差或对压缩效率产生负面影响等的不足,提供一种具有良好的容错性、较强的抵御已知明文攻击能力、而且不影响压缩效率的流媒体传输码流的加密解密方法及模块。
本发明为解决上述技术问题所采用的技术方案为这种流媒体传输码流的加密方法,发送端进行加密发送的步骤包括S1、选取分包后的若干个流媒体数据包组成一个加密单元;S2、对加密单元中的数据分别进行置换加密和流加密;S3、对加密单元中的数据再次进行分包,并依次编号,记录数据包在加密单元中的位置;S4、对分包后的数据包进行发送。
所述的置换加密先根据密钥确定加密单元的分块规则,然后将加密单元中的数据依次填充入块中,再将各块依次串联排列,按与填充次序相正交的次序从块中提取数据,组成置换后的加密单元。
在进行置换加密时,根据密钥确定加密单元的分块规则,通过控制分块的长度变化幅度与平均块长的比例,平衡加密媒体数据的交织特性和扰乱特性。
所述的流加密以比特为基本单位,以密钥作为种子,使用流密码生成器产生与加密单元等长的密码本,然后用密码本与待加密数据进行位异或运算,得到密文数据。
对采用H.264标准的视频媒体数据,从网络抽象层单元序列中选取连续的若干个网络抽象层单元组成一个加密单元。
在完成对一个加密单元分别进行置换加密和流加密之后,根据各网络抽象层单元的原始长度,将加密数据依次填充到网络抽象层单元中,并在每个网络抽象层单元头部标识网络抽象层单元所属的加密单元以及在所属的加密单元中的偏移地址。
对采用非H.264标准的视频媒体数据,划分与H.264网络抽象层单元相当的数据片段,由连续的若干数据片段组成一个加密单元。
相应的一种流媒体传输码流的解密方法,流媒体传输码流接收端解密流程包括T1、从网络接收属于一个加密单元的若干个数据包;T2、将数据包依据其在加密单元中的编号或位置排列重新组成加密单元;若一个加密单元中的数据包出现丢包,则对丢包数据位进行比特填充;T3、对所述加密单元中的数据分别进行流解密和置换解密;T4、将解密的数据组成流媒体数据包。
相应的一种流媒体传输码流的加密模块,包括依次连接的包组合模块、置换加密模块、流加密模块、分包与编号模块;所述的包组合模块选取分包后的若干个流媒体数据包组成一个加密单元;所述的置换加密模块和流加密模块对加密单元中的数据分别进行置换加密和流加密;所述的分包与编号模块对加密单元中的数据再次进行分包,并依次编号,记录数据包在加密单元中的位置,然后进行发送。
相应的一种流媒体传输码流的解密模块,包括依次连接的包组合模块、流解密模块、置换解密模块和数据组装模块;所述的包组合模块从网络接收属于一个加密单元的若干个数据包,并将数据包依据其在加密单元中的编号或位置排列重新组成加密单元;若一个加密单元中的数据包出现丢包,则对丢包数据位进行比特填充;所述的流解密模块和置换解密模块分别对所述加密单元中的数据进行流解密和置换解密;所述的数据组装模块将解密的数据组成流媒体数据包。
本发明的有益效果为本发明提供了一种针对流媒体传输的加密解密方法及模块,针对分包后的流媒体数据分别进行置换加密和流加密,该密码算法是对称的,接收端收到媒体数据后,可采用原理相同的方法依次对包数据进行流解密和置换解密,最终得到解密的流媒体数据。单一的使用流加密方法或者置换加密方法都易遭受已知明文的攻击,本发明联合使用流加密和置换加密则能有效抵抗已知明文的攻击,并具有良好的容错性,而且不影响压缩效率。
本发明采用置换加密后,使媒体数据具有了良好的交织特性。实施时,相邻的密文数据字节经过置换解密的映射后,会保持一定的距离。因此,当传输的密文数据发生相对集中的突发性错误时,经过接收端的置换解密操作,错误会被分散,从而视觉效果的恶化被削弱,同时,有利于接收端在解码过程中实施错误隐藏技术,对视觉效果进行补偿。而且置换操作根据密钥确定加密单元的分块规则,其间引入平滑系数,控制分块的长度变化幅度与平均块长的比例,可在算法的交织特性和扰乱特性之间寻求平衡。
本发明采用的置换加密和流加密均不会引入数据位之间的相关性,这使得对一个数据位的解密不依赖于其它数据位的值。因此,当码流在传输中出现误码时,接收端实施解密不会造成位错误的蔓延,容错性好,且不会降低压缩效率,本发明的这一特性特别适用于无线环境下的媒体保密传输。


图1为现有技术采用流加密算法加密媒体数据的原理示意图;图2为现有技术单独采用流加密或置换加密的原理示意图;图3为本发明联合进行置换加密与流加密的原理示意图;图4为本发明加密模块和解密模块内部结构示意图;图5为置换加密前的数据十六进制表示示例图;图6为置换算法的分块示意图;图7为置换加密后的数据十六进制表示示例图;图8为置换算法的映射规则示意图;图9为明文序列经过置换得到的新序列结构示意图;图10为图9第五行丢失后经过反置换得到的新序列结构示意图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明本发明提出一种针对视频媒体的传输加密解密方法和设备,针对分包后的视频媒体数据分别进行置换加密和流加密,该密码算法是对称的,接收端收到媒体数据后,可采用原理相同的方法依次对包数据进行流解密和置换解密,最终得到解密的视频数据。本发明流媒体进行加密解密的传送过程如下视频流获取→压缩编码→分包→加密模块→网络发送→网络传输→网络接收→解密模块→包组合→解码→视频流输出如图3所示,本发明加密模块中联合置换加密与流加密后,置换加密输出的中间文与明文的对应顺序被打乱,且打乱的方式是由密钥决定的。所以,既使攻击者同时获得了一段明文和相应的密文,但是与密文对应的中间文攻击者是不知道的,因此,无法实施“明文—密文”对的攻击。
如图4所示,本发明流媒体传输码流的加密模块包括依次连接的包组合模块、置换加密模块、流加密模块、分包与编号模块;包组合模块选取分包后的若干个流媒体数据包组成一个加密单元;置换加密模块和流加密模块对加密单元中的数据分别进行置换加密和流加密;分包与编号模块对加密单元中的数据再次进行分包,并依次编号,记录数据包在加密单元中的位置,然后进行发送。
流媒体传输码流的解密模块,包括依次连接的包组合模块、流解密模块、置换解密模块和数据组装模块;包组合模块从网络接收属于一个加密单元的若干个数据包,并将数据包依据其在加密单元中的编号或位置排列重新组成加密单元;若一个加密单元中的数据包出现丢包,则对丢包数据位进行比特填充;流解密模块和置换解密模块分别对所述加密单元中的数据进行流解密和置换解密;数据组装模块将解密的数据组成流媒体数据包。
本发明技术是针对一般流媒体的,兼顾了H.264的传输规范。H.264具有压缩率高、容错性好、并加入了适应网络传输的控制策略,能很好的适应无线环境的特点,H.264在世界上得到广泛认可,是无线环境下的有力竞争标准,因此本实施例以H.264视频码流加密为例进行说明,虽然本发明在描述算法的时候,结合了H.264的数据包封装格式,但是本发明方法可以扩展到其它流媒体的加密。
H.264标准定义了NAL(网络抽象层),负责将视频数据封装成NALU(网络抽象层单元),以适应在异构网络中的分组传输。采用H.264标准,并将视频码流面向传输分包,那么得到的就是一系列的NALU。如果不采用H.264标准,那么操作对象就不是NALU,而是相应标准分包后的单元。对采用非H.264标准的视频媒体数据(如MPEG-2、MPEG-4以及AVS),划分与H.264网络抽象层单元相当的数据片段,由连续的若干数据片段组成一个加密单元。其中,码流数据的划分以不分拆码流的格式头信息或者载荷单元为原则,例如按码流的头信息,若干个宏块数据,或者运动矢量数据及若干个宏块数据划分为一个数据片段,这样保证了每个片段的数据的语义完整性,并尽可能使得一个数据片段的数据能够被独立的解码,也即是说对一个片断的数据进行视频解码不需要依赖其它片断的数据,从而降低网络传输丢包引起解码错误的蔓延。
发送端的包组合模块选择若干个连续的NALU包组成一个加密单元。在不同的网络环境下,NALU的长度会不同。有线网络中NALU的长度在1000字节左右,在无线网络中NALU通常为200字节左右。
NALU在格式上分为包头数据和包载荷数据,包头存储的是描述包数据类型、特征的标志位,而包载荷信息就是视频编码后的数据。所有的加密操作都是针对包载荷数据进行的,不修改包头数据。在完成对一个加密单元分别进行置换加密和流加密之后,发送端的分包与编号模块根据各NALU的原始长度,将加密数据依次填充到NALU中。为了使接收端在出现丢包(丢失个别的NALU)时仍能尽力解密,分包与编号模块在每个NALU头部标识NALU所属的加密单元以及在所属的加密单元中的偏移地址。这样,如果个别的NALU丢失,接收端的包组合模块可将接收到的其它NALU准确定位,而对丢失的NALU数据位进行比特填充,从而得到填充后的加密数据单元,然后实施解密操作,并由数据组装模块将全部解密的数据组装成视频数据单元。二次分包是将加密后的数据再次填充到NALU的包载荷数据中,因此,得到的仍然是NALU格式的包。
本实施例是以NALU为例进行说明,对采用非H.264标准的视频媒体数据(如MPEG-2、MPEG-4以及AVS),划分数据片段,并将数据片段等同于上述NALU进行操作。
分包后的发送端加密流程具体如下步骤1从H.264的NALU包序列中选取n个连续NALU包组成一个加密单元;
步骤2对加密单元中的数据实施置换加密;步骤3对加密单元中的数据实施流加密;步骤4对加密单元中的数据二次分包,并依次编号,记录数据包载荷数据在加密单元中的偏移地址;步骤5将二次分包后的数据包交给网络发送模块,并返回步骤1,提取下一个加密单元,依此循环。
接收端解密流程如下步骤1从网络接收模块收到的数据包中获取同属于一个加密单元的m个数据包(考虑网络传输中可能丢包,m<n);步骤2将m个数据包依据包序号和偏移地址排列组成加密单元,其中,对丢失的包,用信息位0进行填充;步骤3对加密单元中的数据实施流解密;步骤4对加密单元中的数据实施置换解密;步骤5将加密单元中的数据交给数据组装模块,并返回步骤1,提取下一个加密单元,依此循环。
下面对置换加密进行具体说明置换加密操作以字节为基本单位,针对加密单元实施。置换加密算法先根据密钥确定加密单元的分块规则,然后将加密单元中的数据依次填充入块中,然后按与填充次序相正交的次序从块中提取数据,组成置换后的加密单元。
置换加密的过程举例描述如下。假设待加密的数据单元共有100个字节,如图5所示。假设密钥为6位十进制数,例如564073。首先计算密钥数据位的总和,这里,5+6+40+7+3=25。接着根据十进制密钥的位数,将待加密的数据单元划分为相应数目的块,这里分为7块,依次计算各块的长度如下第1块[(5/25)×100]=20(字节)
第2块[(6/25)×100]=24(字节)第3块[(4/25)×100]=16(字节)第4块[(0/25)×100]=0(字节)第5块[(7/25)×100]=28(字节)第6块[(3/25)×100]=12(字节)第7块100-([(5/25)×100]+[(6/25)×100]+[(4/25)×100]+[(0/25)×100]+[(7/25)×100]+[(3/25)×100])=0(字节)其中,[]表示取整运算,[x]表示不大于x的最大整数。第4块和第7块的长度为0,它只在逻辑上存在,数据实际被分成了5块。
然后按照图6所示的方法,将待加密的数据依次填充到各块中,得到填充结果。再将各块依次串联排列,按与填充次序相正交的次序从块中提取数据,组成置换后的加密单元,置换后的数据如图7所示。
置换操作的形式化描述如下首先,定义一些符号D密钥的进制K密钥L密钥在D进制表示下的长度N明文字节长度{P[j]} 明文字节序列,j为序号,从0至N-1{Q[j]} 将明文置换后得到的字节序列{R[l,m]}明文被映射成的中间二维字节序列,l为列标,m表示行标,{R[l]}为子列∂(x-y)=1x>y0x≤y]]>(式2-1)设密钥K是一个L位的D进制数(L和D是自然数),则K的D进制表示形式如下
K=Σi=0Lki·Di]]>其中,0≤ki≤D-1,ki∈N(式2-2)设明文字节序列为{P[j]}j=0,1,…,N-1,其中P[j]为一个字节长的数据。
记映射规则V将一维字节序列{P[j]}映射为二维字节序列{R[l,m]},其中,字节子序列{R[l]}的长度记为|R[l]|,且规定如下|R[l]|=[N·(kl+γ)/Σi=0L(ki+γ)]0≤l≤L-1N-Σl=0L-1[N·kl/Σi=0Lki]l=L]]>(式2-3)上述计算式中,[]表示取整运算,[x]是不大于x的最大整数。本发明针对置换加密的改进在于引入平滑系数γ,控制{R[l]}序列变化幅度与平均长度之间的比例。映射规则V描述如下R[l,m]=P[m·L+l-Σi=0L((m-|R[i]|)∂(m-|R[i]|)-Σi=0l∂(m+1-|R[I]|))]]]>其中,l=0,1,…,L,m=0,1,…,|R[l]| (式2-4)记映射规则U,将二维字节序列{R[l,m]}映射为一维字节序列{Q[j]},其规则描述如下Q[j]=R[l,m](j=0,1,…,N-1),且l=Σi=0l∂(j+1-Σs=0i|R[s]|),m=j-Σi=0L|R[s]|·∂(j+1-Σs=0i|R[s]|)]]>(式2-5)至此,置换算法P可定义为映射V和映射U的叠加,P(·)=U(V(·))∶{Q[j]}=P({P[j]})=U(V({P[j]})) (式2-6)上述置换操作可用图8来描述,根据密钥确定加密单元的分块规则,其间引入平滑系数,控制分块的长度变化幅度与平均块长的比例,在算法的交织特性和扰乱特性之间寻求平衡;平滑系数γ可以控制置换方法的交织特性和扰乱特性。交织特性是让原本相邻的数据尽可能的分散开。扰乱特性是让原来的数据尽可能无规律的打乱,这样就不容易破解,能提高抵御“明文—密文”对的攻击。这两个特性在一定程度上存在对立,平滑系数γ即是它们控制参数,在两者之间寻求折衷。
上述置换过程,平滑系数γ实际上取值为0。如果取γ等于5,那么计算分块的大小如下第1块[(5+5)/(25+5×6)×100]=18(字节)第2块[(6+5)/(25+5×6)×100]=20(字节)第3块[(4+5)/(25+5×6)×100]=16(字节)第4块[(0+5)/(25+5×6)×100]=9(字节)第5块[(7+5)/(25+5×6)×100]=21(字节)第6块[(3+5)/25+5×6)×100]=14(字节)第7块100-18-20-16-9-21-14=2(字节)可以看到这时候,前6个块的大小变化幅度比γ取0时要小,通过理论分析,这时置换算法的交织特性比较稳定,但是扰乱特性比较差。
进一步地,取γ为100。这时,前6个块都为16字节,第7个块为4字节。这时置换算法等同于一般的块交织算法,其交织特性十分稳定,但是扰乱特性已丧失。
由上面的分析可以看出,调整平滑系数γ可以调节各个块的变化幅度,从而在交织特性与扰乱特性之间寻求平衡。γ越大,交织特性越稳定,扰乱特性越差;反之,γ越小,交织特性越不稳定,扰乱特性越好。因而,要保持置换算法的交织特性,应当使分块尽量的均匀。当然,这会弱化置换的随机性,降低加密的强度。为此,本发明在分块长度计算式(式2-3)中引入了平滑系数γ。γ直接影响着分块的长度变化幅度与分块的平均长度之间的比例。γ增大,各块长度间的相对差异缩小,能提供更好的交织特性,但同时也降低了置换扰乱的效果。
在前面描述的例子中,明文序列P经过置换得到的新的序列P’如图9所示,可以看到置换后的序列有规律的交织。假设其中的第五行数据丢失,则经过反置换后得到的序列如图10所示。可见,一行的错误被分散到五行中,这样在视频解码的时候,错误被分散,导致的视觉效果恶化被削弱,同时,如果采取错误隐藏,则错误分散之后,会更加有效。
流加密操作以比特为基本单位,针对置换加密之后的加密单元实施。以密钥作为种子,使用流密码生成器产生与加密单元等长的密码本,然后用密码本与待加密数据进行位异或运算,得到密文数据。可以采用RC4算法或其它通用的流加密算法,如A5等。RC4和A5算法均遵从图1中所示的流密码框架,只是定义了各自不同的伪随机序列发生器,本发明对使用的伪随机序列发生器的算法没有特别的规定,具体实现时,可依据安全性要求和复杂度要求选用合适的伪随机序列发生器。
本发明采用置换加密后,使媒体数据具有了良好的交织特性(交织是一种控制差错的编码思想,将数据交替排列,以分散突发性的误码错误)。实施时,相邻的密文数据字节经过置换解密的映射后,会保持一定的距离。因此,当传输的密文数据发生相对集中的突发性错误时,经过接收端的置换解密操作,错误会被分散,从而视觉效果的恶化被削弱,同时,有利于接收端在解码过程中实施错误隐藏技术,对视觉效果进行补偿。
本发明采用的置换加密和流加密均不会引入数据位之间的相关性,这使得对一个数据位的解密不依赖于其它数据位的值。因此,当码流在传输中出现误码时,接收端实施解密不会造成位错误的蔓延。本方案的这一特性特别适用于无线环境下的媒体保密传输。
本发明联合使用流加密和置换加密能有效的抵抗已知明文的攻击。设置换操作为P,流加密操作为S,两个操作均为线性的,加密操作E可等效的视为C=E(P)=S(P(P))。当攻击者获得“明文—密文对”(C-P)后,由于不知道密钥,难以计算P(P),也即难以获得P或者S操作的“明文—密文对”,因此无法针对P和S直接实施已知明文的攻击。
P和S指代置换解密操作和流解密操作,两个操作的方法是公开的,但是实际流程是由密钥决定的。因此,如果不知道密钥,就无法实现这两个操作,也就无法解密。
本发明的加密方法可视为置换算法和流加密算法的线性叠加,置换算法和流加密算法的先后次序不会影响加密和解密结果。本文为了方便描述,将置换加密放置于流加密之前、置换解密放置于流解密之后,但具体实现上,置换加密与流加密、置换解密与流解密的次序是可以调整的。流加密和置换加密是采用的同一密钥,可以先流加密,再置换加密,这与先置换加密再流加密的结果是一样的。相应地,要求解密端先置换解密,再流解密。
本领域技术人员不脱离本发明的实质和精神,可以有多种变形方案实现本发明,以上所述仅为本发明较佳可行的实施例而已,并非因此局限本发明的权利范围,凡运用本发明说明书及附图内容所作的等效变化,均包含于本发明的权利范围之内。
权利要求
1.一种流媒体传输码流的加密方法,其特征在于,发送端进行加密发送的步骤包括S1、选取分包后的若干个流媒体数据包组成一个加密单元;S2、对加密单元中的数据分别进行置换加密和流加密;S3、对加密单元中的数据再次进行分包,并依次编号,记录数据包在加密单元中的位置;S4、对分包后的数据包进行发送。
2.根据权利要求1所述的流媒体传输码流的加密方法,其特征在于所述的置换加密先根据密钥确定加密单元的分块规则,然后将加密单元中的数据依次填充入块中,再将各块依次串联排列,按与填充次序相正交的次序从块中提取数据,组成置换后的加密单元。
3.根据权利要求2所述的流媒体传输码流的加密方法,其特征在于在进行置换加密时,根据密钥确定加密单元的分块规则,通过控制分块的长度变化幅度与平均块长的比例,平衡加密媒体数据的交织特性和扰乱特性。
4.根据权利要求1、2或3所述的流媒体传输码流的加密方法,其特征在于所述的流加密以比特为基本单位,以密钥作为种子,使用流密码生成器产生与加密单元等长的密码本,然后用密码本与待加密数据进行位异或运算,得到密文数据。
5.根据权利要求1、2或3所述的流媒体传输码流的加密方法,其特征在于对采用H.264标准的视频媒体数据,从网络抽象层单元序列中选取连续的若干个网络抽象层单元组成一个加密单元。
6.根据权利要求5所述的流媒体传输码流的加密方法,其特征在于在完成对一个加密单元分别进行置换加密和流加密之后,根据各网络抽象层单元的原始长度,将加密数据依次填充到网络抽象层单元中,并在每个网络抽象层单元头部标识网络抽象层单元所属的加密单元以及在所属的加密单元中的偏移地址。
7.根据权利要求1、2或3所述的流媒体传输码流的加密方法,其特征在于对采用非H.264标准的视频媒体数据,划分与H.264网络抽象层单元相当的数据片段,由连续的若干数据片段组成一个加密单元。
8.一种流媒体传输码流的解密方法,其特征在于流媒体传输码流接收端解密流程包括T1、从网络接收属于一个加密单元的若干个数据包;T2、将数据包依据其在加密单元中的编号或位置排列重新组成加密单元;若一个加密单元中的数据包出现丢包,则对丢包数据位进行比特填充;T3、对所述加密单元中的数据分别进行流解密和置换解密;T4、将解密的数据组成流媒体数据包。
9.一种流媒体传输码流的加密模块,其特征在于包括依次连接的包组合模块、置换加密模块、流加密模块、分包与编号模块;所述的包组合模块选取分包后的若干个流媒体数据包组成一个加密单元;所述的置换加密模块和流加密模块对加密单元中的数据分别进行置换加密和流加密;所述的分包与编号模块对加密单元中的数据再次进行分包,并依次编号,记录数据包在加密单元中的位置,然后进行发送。
10.一种流媒体传输码流的解密模块,其特征在于包括依次连接的包组合模块、流解密模块、置换解密模块和数据组装模块;所述的包组合模块从网络接收属于一个加密单元的若干个数据包,并将数据包依据其在加密单元中的编号或位置排列重新组成加密单元;若一个加密单元中的数据包出现丢包,则对丢包数据位进行比特填充;所述的流解密模块和置换解密模块分别对所述加密单元中的数据进行流解密和置换解密;所述的数据组装模块将解密的数据组成流媒体数据包。
全文摘要
一种流媒体传输码流的加密解密方法及模块,发送端选取分包后的若干个流媒体数据包组成一个加密单元;再对加密单元中的数据分别进行置换加密和流加密;对加密单元中的数据再次进行分包,并依次编号,记录数据包在加密单元中的位置;对分包后的数据包进行发送。本发明针对分包后的流媒体数据分别进行置换加密和流加密,该密码算法是对称的,接收端收到媒体数据后,可采用原理相同的方法依次对包数据进行流解密和置换解密,最终得到解密的流媒体数据。本发明联合使用流加密和置换加密能有效抵抗已知明文的攻击,并具有良好的容错性,而且不影响压缩效率。
文档编号H04L12/56GK1852088SQ20051010033
公开日2006年10月25日 申请日期2005年10月13日 优先权日2005年10月13日
发明者范云松, 刘文予, 张帆, 钱莉 申请人:华为技术有限公司, 华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1