基于H.264的视频加密技术的研究
2013-06-23种道山
种道山,杨 静
(上海海事大学 信息工程学院,上海 201306)
随着网络技术和多媒体技术的快速发展,各种视频及视频服务得到日益普及和广泛应用。数字多媒体产品具有易于传输、无损复制和分发等特性,这些特性给人们带来便利的同时也带来一些信息安全问题,如信息的窃取与泄露、数字产品的盗版和信息篡改等问题。因此,在利用网络及多媒体技术的同时,如何保证数字信息的安全存储与传播及保护数字产品的版权,已成为人们研究的重要课题,即视频的安全性问题。由于视频信号的数据量巨大,而网络带宽有限,因此它总是以压缩的形式进行传播的。这样,就需要结合压缩标准来设计加密方案,一方面要使加密后的数据与解压格式兼容,另一方面要保证不能影响到数据的压缩效率和有效传输。
加密技术是传统的保障信息安全方法。它大致可以分为完全加密、部分加密和基于编码的加密3部分。其中完全加密是对整个视频流不加区分地全部加密,即将视频流当作是普通的二进制数据文件来进行加密而不考虑视频编码数据的特殊格式。例如经典的算法RSA[1]和DES[2]等。这种方法具有很高的安全性,但是由于其加密算法的计算复杂度过大,要加密的视频数据也很多,对系统造成的开销过大,实时性很差。部分加密算法是先对视频流中的数据按照某种标准进行划分,选取其中的一部分视频数据进行加密。在H.264编码下,文献[3-4]中分别对加密层数据和基本层的数据采用不同的加密方法,对加密的强度也提供了扩展性。但基于分层的可扩展性编码方法还没有得到广泛的支持和应用,也在某种程度上限制了这种加密技术的应用。
与编码过程相结合的算法包括:信源数据加密算法,它是直接加密视频数据,以使视频数据混乱而不能被理解。优点是计算复杂度低,实时性好,但是不能在安全性要求高的场合应用。例如欧洲电视网采用Eurocrypt[5]加密标准以行为单位置乱每一帧电视画面来加密其电视信号;压缩域加密算法主要是基于视频信源特征加密视频重构中的敏感数据,包括DCT系数、编码预测模式、运动矢量信息、头信息等。例如,Tosun[6]改进的DCT系数加密算法,该算法显著改善了压缩比,同时支持分级安全级别,但其理论最大置乱空间也显著减小,因而安全性也降低了。文献[7]提出的帧内预测模式置乱方法简单并且直观,但在对抗密钥猜解方面的能力很弱,因此这种加密方法不能单独使用,而常常与其它加密方法联合使用。而文献[8]是对运动向量差值进行加密。这种对预测方式的加密信息在一定程度上能扰乱视频的内容,但在视觉安全性上仍然存在不足。基于熵编码的加密算法可分为加密码字序号和码表重建两种方法。前者加密算法实现简单,加解密速度快,但较大的影响了熵编码的效率。后者将标准码表修改后使用,解密密钥为加密码表的内容和顺序,该方法使得编码效率降低。
1 加密方案
基于上面的分析,目前的加密算法在安全性、压缩比和计算复杂度上都各自存在优缺点,实际应用效果不好。针对以上特点,提出一种采用混沌流密码有选择地对图像编码中起关键作用的数据进行加密的加密方案,能在微量降低压缩比的情况下加密尽可能少的数据,取得尽可能好的加密效果。具体方案如下:
1.1 帧内预测模式字加密
由于在I帧视频帧中采用4x4预测编码模式占了大多数,对Inra 4x4预测模式字进行加密,就已经能够提供足够的安全性。另外,在H.264压缩编码标准中,编码预测模式时采用Exp-Golomb(指数哥伦布)编码方式。Exp-Golomb码字的逻辑结构为[Mzeros][1][INFO],INFO指的是M位的信息码。在本文的加密方案中,只考虑对Intra 4x4的编码模式字进行加密操作。如表1所示,只对后面3个比特位的信息码通过用等长伪随机序列来进行扰乱,这样就使得算法的复杂度低,同时又能保持数据格式不变。同时,再设定一个参数P1,产生一个0到l之间的伪随机数列r,对应于上面提到的9个元素,如果r≤P1时,那么对该元素进行加密,反之则跳过这个元素,不进行加密。
表1 帧内编码模式字Tab.1 Intraframe coding mode word
1.2 运动向量差值MVD加密
基于树状结构运动补偿,对于一个P宏块来说,它最多需要传送16个运动向量。为了进一步减少比特数,可以利用邻近MV之间的相关性进行预测编码。后一个MV可由前面已经编码的MV预测,我们只需要对它们的差值MVD进行编码。在H.264中,MVD值是采用指数哥伦布(Exp-Golomb)进行编码的,这是一种变长编码方式,如果对整个MVD值进行加密,会破坏视频的语义结构。文中只对MVD的符号和位置进行扰乱。这样既不会破坏视频的语义结构,也使得算法的复杂度大大降低。这种加密方法置乱前后的码长相等,但是改变了块运动矢量的符号以及运动矢量分量在码流中出现的次序。另外,再设定一个参数P,以P的概率来控制加密的强度。具体算法如下:
1)随机产生一个一位的伪随机序列与Exp-Golomb编码的符号位进行扰乱。
2)对每个运动矢量残差不相等的两个分量(水平分量和垂直分量)进行随机置乱。
3)产生一个0到l之间的伪随机数列r,对应于上面提到的16个元素,如果r≤P时,那么对该元素进行加密,反之,则跳过这个元素,不进行加密。
1.3 DCT系数加密
H.264压缩编码标准采用4x4整数离散余弦变换,块数据经过预测、变换和量化,量化后的数据经过Zig--Zag扫描后生成16个DCT系数,低频部分集中了主要的非零系数,高频系数大部分为零,也就是说DCT变换使得图像块能量主要集中在低频部分。所以,改变低频部分的系数对于图像的可理解性的变化更加敏感。为了加密尽可能少的系数就可以实现尽可能好的加密效果,对视频帧内量化后的DCT系数分别采用以下加密方案。
1)低频系数之间洗牌:为了减少密钥的开销,降低对压缩比的影响,同时又能达到相对较好的加密效果,随机置乱低频交流系数之间进行。
2)对所有DCT系数符号随机翻盘:设随机生成的密钥为K(K=1或-1),然后与原DCT系数相乘。
2 实验结果与分析
2.1 实验结果
在本文中,我们以QCIF 4:2:0格式的标准测试序列foreman和football作为实验视频序列,在普通的PC机上进行试验实验。以H.264中的官方参考软件JM12.1来实现上述的算法设计,利用VS2005完成对JM代码的调试和编译。编码参数为:以IPPP??P方式进行编码,I帧刷新率为10,帧率为30帧/s。图1为加密效果图,其中图片(1)、(4)为原始视频序列,图片(2)、(5)为将参数设置成p1=p2=0.7时的加密效果图,图片(3)、(6)为将参数设置成p1=p2=1时的加密效果图。
图1 加密效果图Fig.1 Encryption effect diagram
2.2 性能分析
1)安全性分析
从视觉上看加密视频的前景和背景信息都异常混乱不能理解。可见,文中的加密算法对各种类型的帧都具有很好的加密效果,因而视觉安全性很高。另外,文中分别加密了IPM、DCT系数及MVD等关键数据,所加密的位数和关键数据的码流长度一样,所以密钥破译空间等于用户密钥穷举空间,因此本方案可以防止穷举攻击。对帧内DCT低频系数进行置乱几乎不影响置乱后块内系数能量大小的Zig-zag排序,因而可以有效地防止FAB攻击。LIU[9]已经证明出仅加密MVD符号位不能防止MVR攻击,文中除了加密MVD符号还随机置乱了MVD不相等的水平分量与垂直分量,能够更好的保护运动信息。
2)加密效率和计算复杂度的分析
对foreman.yuv和football.yuv的编码时间进行比较,序列类型为IPPP,共3帧,帧率为30 f/s,量化参数QP=28测得时间如表2。从加密前后的时间对比可以看出加密的效率很高。另外,文中置乱IPM使用了简单的异或和判断操作,随机翻盘DCT系数符号和MVD符号使用了相乘操作,随机置乱MVD不相等的两个分量,这些操作几乎对计算复杂度没有影响:置乱帧内DCT低频系数只轻微增加计算量,这些对计算复杂度影响都很小。加密的复杂度一般用加解密过程占编解码过程时间的百分比(τ)表示。由文献[10]可知,当τ<10%时,就可以比较好的满足实时性要求。从表2可以看出,本方案的加密效率非常高,加密复杂度低完全符合要求,能够满足对视频的实时处理。
表2 加密复杂度Tab.2 Encryption complexity
3)压缩比分析
文中加密算法改变了DCT系数分布的统计特性,使得利用统计特性进行压缩的压缩过程获得的压缩比有所改变。我们将编码器的参数设黄为:Frame To Be Encoded=50,Intra Period=20。压缩比变换率测试的结果如表3所示。
表3 压缩比变化率Tab.3 Compression ratio of the rate of change
压缩比变化率f定义为:
其中r1表示仅仅进行压缩操作后的视频数据量,r2表示进行压缩和加密操作后的视频数据量。因此,r反映了压缩比变化量。
3 结 论
针对目前最新的视频编码标准H.264[11],提出了一种新的加密算法,实现了帧内预测模式IPM、运动向量差值MVD和DCT系数的联合加密。性能分析和实验结果均表明,该算法可以取得良好的加密安全性和执行效率,为H.264的实时安全应用打下了基础。随着H.264的日益普及,相信在不久的将来,对H.264的加密应用将会更加广泛。
[1]BLEICHENBACHER D.Chosen ciphertext attacks against protocols based on the RSA encryption standard PKCS[J].Lecture notes in computer science,1998:1-12.
[2]BUCHMANN J.Introduction to cryptography[M].Springer Verlag,2004.
[3]WON Y G,BAE T M,RO Y M.Scalable protection andaccess control in full scalable video coding,Jeju Island,Korea,Republic of,F,2006[c].Springer Verlag.
[4]PARK S-W,SHIN S-U.Efficient selective encryption scheme for the H.264/scalable video coding(SVC),Piscataway,NJ 08855-1331,United States,F,2008[C]//Institute of Electrical and Electronics Engineers Computer Society.
[5]European Standard EN 50094,Access Control System for theMAC/Packet famlily:EUROCRYPT[S].
[6]Tosun A.S.,Feng W.C..Efficient Multi-layer Coding and Encryption of MPEG Video Streams [A].Proc.of IEEE International Conference on Multimedia and Expo(ICME)[C].2000,1:119-122.
[7]AHN J,SHIM H,JEON B,et a1.Digital video scrambling method using intra prediction mode F 2004[C].Springer.
[8]LIAN S,SUN J,LIU G,et a1.Efficient video encryption scheme based on advanced video coding[J].Multimedia Tools and Applications,2008,38(1):75-89.
[9]Liu Z.,Li X..Motion Vector Encryption in Multimedia Streaming [A].Proc.of the lOth International Multimedia Modeling Conference(MMM’04)[C],2004:1-8.
[10]廉士国,孙金生,王执铨.几种典型视频加密算法的性能评估[J].中国图象图形学报,2004,9(4):483-490.LIAN Shi-guo,SUN Jin-sheng,WANG Zhi-quan.Several typical video encryption algorithm performance assessment[J].Journal of Image and Graphics,2004,9(4):483-490.
[11]缑新科,郑耐琴.H.264视频编码技术研究[J].现代电子技术,2012(2):58-61.GOU Xin-ke,ZHENG Nai-qin.Research of H.264 video encoding technology[J].Modern Electronics Technique,2012(2):58-61.