李顺琴 何娇 沈昕
摘要:由于网络视频服务的广泛应用,强实时性流媒体数据的安全性成为现今的研究热点。本文分别从保证视频数据本身的安全性和保证传输过程的安全性出发,提出了一套完整合理的强实时性流媒体数据保密方案。首先基于利用Logistic映射和Chebyshev映射形成的交叉混沌序列提出了MPEG视频流的选择加密算法,并给出实验结果和相关性能分析。然后选择合适的网络传输协议,并对于数据包丢失所引起的解密错误扩散问题提出了相应的解决方法。最后给出了完整方案设计图。
关键词:强实时性;流媒体;交叉混沌序列;选择加密
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2015)22-0122-02
Abstract: due to the wide application of network video service, the security of the strong real-time streaming media data has become a hot research topic. In this paper, we propose a set of complete and reasonable scheme for the security of video data. Based on the cross chaotic sequences formed by Logistic mapping and Chebyshev mapping, a MPEG video stream is proposed, and the encryption algorithm is proposed, and the experimental results are also given. Then select the appropriate network transport protocols, and propose the corresponding solution to the problem of the loss of data packets. Finally, a complete scheme is given.
Key words: strong real time; streaming media; cross chaotic sequence; select encryption
近年來,随着多媒体技术和网络技术的迅速发展,网络视频服务已然渗透到人们生活的每一个角落,如视频会议、手机电视、IPTV、数字电视、Web 2.0视频共享、远程教育等等。而随之而来的视频数据安全问题也成为了各服务提供商考虑的重点问题。
而以上几种视频数据均采用流媒体的方式传输。流媒体(Streaming Media),又叫流式媒体[1],是边传边播的媒体。边传边播是指媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看或收听被传输的媒体。“流”媒体的“流”指的是这种媒体的传输方式(流的方式),而并不是指媒体本身。
对流媒体进行加密,有以下几个重要的问题:
1)快速性和数据量增幅:流媒体的数据量往往非常大,如果不能有效控制加密内容的数量和加密方法,会消耗大量的计算资源,同时带来较大的加解密时延,故而影响流媒体数据传输的实时性要求;
2)格式兼容性:通常接收端在不解密的情况下要求能够顺利解密播放视频,这就需要在加密过程中不能改变视频本身的语法信息;
3)解密正确性:流媒体传输中是容许数据包丢失的,而这种情况下如何保证正确解密。
本文以流媒体视频编码标准MPEG为研究对象,分别从以上几个问题展开,设计出一套合理的强实时性视频数据加密的方案。内容安排如下:第二部分提出了视频加密算法,包括密钥产生方案和选择加密算法,给出了实验结果,并做出了相应的特性分析;第三部分就强实时性视频数据保密给出了完整的设计方案;第四部分对全文进行了总结。
1 MPEG的视频选择加密算法
1.1 密钥产生方案
混沌(chaos)是指确定性动力学系统因对初值敏感而表现出的不可预测的、类似随机性的运动。由于它对初值和系统参数极其敏感且具有遍历性等特点,使其非常适用于保密通信和数据安全领域。
现在利用混沌序列设计的加密算法有很多[3],但大多采用单混沌系统,这样虽加密速度较快,但算法相对简单,且密钥空间小,安全性不高。因此,本文提出了一种基于Logistic映射和Chebyshev映射的交叉混沌序列。相比单混沌系统,交叉混沌具有更大的不稳定性,密钥空间大,可再生,安全性高。
1.2 保持MPEG格式兼容的选择加密算法思想
在MPEG视频数据中,DC系数信息决定着整个视频图像的亮度和色度,AC系数决定着整个视频图像的轮廓,MV决定着视频图像的运动变化情况。因此,可以从视频数据中提取出DC系数、AC系数和MV同时进行加密,以满足保密需求。
1.2.1 加密DC系数
我们选择加密DC差分值经过VLI编码后的值。
①算法思想
在DPCM编码后会产生中间格式(s,a), 其中s是差分值所占的二进制位数,a是差分值本身。a采用VLI编码,得到a。由于异或加密不会改变明文的位数,因此可以保持格式兼容。我们可以用式③加密差分值经过VLI编码后的值x,其中Kt为式②得到的密钥流,l为x所对应的二进制位数,x为密文。
1.2.2 加密AC系数
我们选择在行程编码后置乱块中所有Run-Length-Level的组合。
①算法思想
AC系数在行程编码之后产生的中间格式有两个符号,即Run-Length和AC系数值Level。若将Run-Length和Level看作组合R-L,在FLC与VLC编码之前,可以选择置乱块中所有R-L组合,这样每个块中数据被打乱,但压缩率不变。
1.2.3加密运动向量MV
我们选择加密除以forward_f之后的余数。
1.3 性能分析
1.3.1 速度
通过分析MPEG视频编码标准可以得到,DC系数和运动向量的数据量通常都不到原视频数据的2%。而非零AC系数个数通常占原视频数据的5%到15%之间。因此加密的数据量相对来说非常少。此外,加密运算只涉及简单的异或、赋值、交换、查表和加法操作,因此加密算法能够高效地实施。
1.3.2 压缩率
加密DC系數和AC系数的方法均不会改变其压缩率。而由于运动向量的数量极少,且加密前后的运动向量所占位数差异不超过6bit,因此加密运动向量后对压缩率的影响微乎其微。
1.3.3 格式兼容性
由于以上加密算法都未改变视频的数据格式和语法,且加密后不会产生不存在的代码字而破坏解码,因此在接收端,即使在未解密的情况下,仍能实现正确解码并播放视频。
1.3.4 安全性
视频加密算法的安全性取决于两方面——选择加密内容和密钥产生方法。因为我们选择直接关系着画面显示效果的DC、AC系数以及MV进行加密,足以实现画面的混乱以达到安全需求。就密钥产生方法而言,本文采用的是基于Logistic映射和Chebyshev映射的交叉混沌序列。这两个混沌映射各自的系统参数和p以及各自的初始状态x0和y0都作为密钥,每次迭代都会产生不同的伪随机数,因此不存在密钥重复的问题。且该交叉混沌序列对初值极其敏感,即使
2 强实时性视频数据保密方案设计
对于强实时性流媒体视频应用的安全保密主要涉及两部分方案设计:第一是基于视频数据本身的安全性,在第二部分中我们已经提出了可用的选择加密方案;第二是传输过程的安全性,这涉及到传输协议的选用以及数据包丢失所引起的错误解密。 由于实时性流媒体视频数据的数据量往往很大,并且对时延和时延抖动均有较高的要求,因此可以选择RTP和RTCP协议作为流媒体网络传输协议[5]。
对于流媒体传输中数据丢失的情况,原则上要求只能丢失部分数据包,并且接收端仍然能够正确解密和播放。对于流密码加密来说,如果加密数据流与产生的密钥流无法同步,则之后的所有解密都会失败。
为了正确解密,可以为每一帧的user_data字段插入一32bit的随机数u。将交叉混沌序列迭代u次后用于每帧的数据加密。只要攻击者不知道流密码加密算法的密钥,即使获得了随机数u,也无法获取密钥流。当对安全性要求较高时,可采用128bit的随机数作为u。当网络传输较稳定时,基于对加密速度和数据量增幅的考虑,可以以图像组GOP为单位,在每一GOP的user_data字段中插入随机数u用于加密该GOP。如此这般,每一帧或图像组中出现的错误只会影响该帧或该图像组的播放,对其他帧或图像组不会有任何影响。
3 结语
本文在解决强实时性流媒体数据加密所面临的快速性、数据量、格式兼容性和解密正确性的问题基础上,设计出一套完整合理的保密方案。首先,引入由Logistic映射和Chebyshev映射形成的交叉混沌序列来产生伪随机数用于加密,同时对加密算法的性能进行了分析。此外,选择RTP作为视频网络传输协议,然后对于数据包丢失所引起的解密错误扩散问题提出了相应的解决方法,从而形成一套科学、完整的设计方案。本文中提出的设计方案对强实时性流媒体视频应用具有较高的实用价值。
参考文献:
[1] Chongdeuk Lee.Streaming media service based on fuzzy similarity in wireless mobile networks.Journal of supercomputing.2013,65(1).
[2] MPEG. ISO/IEC 11172. Information Technology - Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mbit/s – Video[S], 1993.
[3] Fridrich,J..Symmetric ciphers based on two-dimensional chaotic maps. I.J.Bifur.Chaos,1998,8,(6):1259-1264.
[4] Durstenfeld R.. Random permutation. Commun.ACM,1964:420.
[5] H.Schulzrinne,S.Casner,R.Frederick,V.Jacobson.IETF RFC-3550.RTP-A Transport Protocol for Real-Time Applications[S]. 2003.