基于MPEG4的网络视频流加密技术的研究

时间:2022-09-02 04:10:46

基于MPEG4的网络视频流加密技术的研究

摘要:根据网络视频流安全传输的要求和MPEG4视频编码的特点,该文提出了一种基于Logistic混沌映射的视频加密算法,在编码过程中利用混沌序列对视频数据在频域进行加密。该文将该算法实现在MPEG4的编解码器XVID中,在保证数据安全传输的同时,该算法具有很好的实时性。

关键词:混沌序列;视频流;加密

中图分类号:TP37文献标识码:A文章编号:1009-3044(2010)01-199-02

Research of Network Video Streaming Encryption Technology Based on MPEG4

WANG Hao

(University of Electronic Science and Technology of China, Chengdu 610054, China)

Abstract: Based on the secure transmission of video streaming and the feature of MPEG4 video coding, a video streaming encryption algorithm based on the Logistic chaotic sequence is presented in the paper, the algorithm encrypts the video data in frequency domain. It has been accomplished in the XVID, and it can satisfy the requirement of data security and real-time.

Key words: chaotic sequence; video streaming; encryption

随着网络和多媒体技术的快速发展,视频网络传输得到了广泛的应用。由于网络的公开性,使得网络上传输的数据很容易被获取,这使得视频流在网络上很容易遭受到恶意的攻击和窃取,因此网络视频安全受到了越来越多的关注。

视频流具有数据量大、传输比特率高、实时性强等特点,因此传统的文字加密方法不适合视频流加密。视频流加密算法必须权衡系统的开销和安全强度之间的矛盾,在不影响系统安全的前提下,合理利用视频自身数据结构的特点,减少运算量,提高系统效率。

1 Logistic混沌映射

混沌来自于非线性动力系统,而动力系统又描述的是任意随时间变化的过程,这个过程是确定性的、类似随机的、非周期的、具有收敛性的、并且对于初值具有敏感性,而这些特性正符合序列密码的要求。1989年Robert Matthews在Logistic映射的变形基础上给出了用于加密的伪随机数序列生成函数,其后混沌密码学及混沌密码分析等便相继发展起来。混沌流密码系统的设计主要采用以下几种混沌映射:一维Logistic映射、二维Henon映射、三维Lorenz映射、逐段线性混沌映射、逐段非线性混沌映射等,本文主要讨论一维Logistic映射。

一维Logistic映射从数学形式上来看是一个非常简单的混沌映射,早在20世纪50年代,有好几位生态学家就利用过这个简单的差分方程,来描述种群的变化。此系统具有极其复杂的动力学行为,在保密通信领域的应用十分广泛,其数学表达公式如下:

Xn+1=Xn×μ×(1-Xn)μ∈[0,4]X∈[0,1](1)

其中 μ∈[0,4]被称为Logistic参数。研究表明,当X∈[0,1] 时,Logistic映射工作处于混沌状态,也就是说,初始条件X0在Logistic映射作用下产生的序列是非周期的、不收敛的,而在此范围之外,生成的序列必将收敛于某一个特定的值。如图1、图2所示。

从图2可以看出,在μ的取值比较靠近4时,迭代生成的值是一种伪随机分布的状态,而在其他取值时,在经过一定次数的迭代之后,生成的值将收敛到一个特定的数值,因此我们需要选取的Logistic控制参数应该越接近4越好。

2 视频流加密算法的设计与实现

2.1 系统框架设计

视频加密传输系统的方案如图3所示,在PC机上,系统使用XVID编码器和混沌序列对视频文件进行加密编码,然后通过RTP网络传输至另一台PC上进行解密解码显示。

2.2 加密算法的实现

本文提出的加密算法是在视频图像的变换域中使用混沌序列对数据进行加密,由于低频变化系数的方块效应,使计算量大大降低,视频图像的变换域由DCT(离散余弦)变换得到。算法具体实现步骤如下:

1) 利用公式1生成实数值序列:即{ xk ,k=0,1,2,3……..},舍弃前1000次的迭代,以保证系统进入混沌状态;

2) 选取小数点后的3,4,5三位组成二值序列作为混沌加密序列;

3) 分别生成用于加密DCT系数以及运动矢量(MV)的加密序列;

4) 采集视频数据使用编码器进行DCT变换和运动补偿,得到变换系数和运动矢量,并进行量化;

5) 根据相应的加密序列,对宏块的DCT系数进行异或加密,对MV系数通过改变符号进行加密;

6) 进行VLC编码;

解密部分的设计和加密部分的设计是相反的,解码器将接收到的加密视频流进行解压缩,得到加密的DCT和MV系数,根据和在加密端完全相同的混沌序列,按照加密的方法进行逆变换,还原DCT和MV系数,然后重构视频帧,完成解密解码。

2.3 视频数据网络传输

TCP协议是面向连接的传输协议,它的重发机制会引入较大的延时,不适合用于实时的视频数据传输,而UDP提供的是非面向连接的,不可靠的数据流传输,对数据不进行重传和确认,所以在强调实时性的数据传输时,例如音视频数据,应该选用UDP协议。

本文采用基于RTP的JRtplib库将加密视频数据传送至接收端,RTP即实时传输协议,用于Internet上针对多媒体数据流的传输。它通常使用UDP协议来传送数据,JRtplib是用C++语言封装好的RTP库。编写应用程序,通过调用JRtplib静态库就可以实现对编码后的视频数据进行传输。

2.4 密钥的安全传输

为了能够使客户端正确的解码视频数据,必须首先将加密数据使用的密钥(即生成混沌序列的初始值和参数)发送到客户端,由于密钥的数据量小,接收方确定,同时具有签名的特性,所以本文采用基于椭圆曲线密码算法(ECC)的非对称密码体制进行密钥传输。ECC的安全性依赖求解椭圆曲线上离散对数问题的困难性,与RSA公钥体制相比,ECC具有更高的单比特安全性。ECC的加密过程如下:

1) 用户A选定一条椭圆曲线Fp(a,b),并取椭圆曲线上的一点,作为基点G;

2) 用户A选定一个私有密钥k,并生成公开密钥K=kG;

3) 用户A将Fp(a,b)和点K,G传给用户B;

4) 用户B接收到信息后,将待传输的明文编码到Ep(a,b)上一点M,并产生一个随机整数r(r

5) 用户B计算点C1=M+rK; C2=rG,将C1、C2传给用户A;

6) 用户A收到信息后,计算C1=kC2,得到M,再对M解码就可以得到明文。

3 系统的安全性分析

混沌系统对于初始值和参数非常敏感,由于混沌的随机特性能够使密钥均匀的分布在密钥空间中,确保了混沌序列中0和1的分布均匀,可以认为是随机序列,采用穷尽式密钥搜索分析进行解密是很困难的。同时在系统中实时的改变混沌序列的参数,增加了解密的困难性。

椭圆曲线离散对数问题的难解性是所有曲线密码方案安全性的基础,它的160位长密钥安全性强度相当于RSA体制中1024位长的安全强度。从下表可以看出,在相同的安全级别上,ECC所需的密钥长度比RSA系统需要的密钥长度更短,一般认为破解时间为 MIPS年就代表安全。

系统通过TCP/IP通道经过ECC加密传输密钥,使加密密钥不容易被窃取,增加了系统密钥传输的可靠性和安全性。

4 实验结果分析

本文在PC上将算法应用到XVID编解码器中,并采用标准测试图像序列flower_cif.yuv进行测试,图4是原始图像序列中的一帧,图5是加密后的结果。从图中可以看到,加密后的图像已经不可理解,本文所提出的加密算法具有很好的加密效果。

混沌加密准备时间非常短,同时由于加密数据量比较小,使得加密占用很少的运行时间,具有较快的加密速度,同时能够达到实时视频加密传输的效果。表2是对标准测试序列进行正常编码和加密编码的对比。

5 结论

针对MPEG4编码的特点,本文提出了基于Logistic混沌映射的视频流加密算法,该算法具有很好的安全性和实时性,而且易于实现。在密钥的传输上采用基于椭圆曲线密码算法的非对称密码体制,增强了视频数据网络传输的安全性。

参考文献:

[1] 钟玉琢,王琪,贺玉文.基于对象的多媒体数据压缩编码国际标准―MPEG4及其校验模型[M].北京:科学出版社,2000.

[2] Denis S T, Johnson S.程序员密码[M].沈晓斌,译.机械工业出版社,2007.

[3] 余兆明,李晓飞,陈来春.MPEG标准及其应用[M].北京邮电大学出版社,2002.

[4] 路锦正,周冬梅.Visual C++ 音频/视频处理技术及工程实践[M].北京:电子工业出版社,2009.

[5] 祝跃飞,张亚娟.椭圆曲线公钥密码导引[M].北京:科学出版社,2006.

[6] 杨晶,高俊山,孙百瑜.Logistic混沌序列加密改进方案[J].自动化技术与应用,2004,23(2):58-61.

[7] 赵雪峰,殷国富.基于复合混沌系统的数字图像加密方法研究[J].计算机应用,2006,26(4):827-829.

[8] 李燕灵,马瑞芳,左力.基于RTP/RTCP的实时视频数据传输模型及实现[J].微电子学与计算机,2005,15(10):93-95.

上一篇:基于蚁群优化的无线传感器网络路由算法 下一篇:基于Java的证券交易技术指标