现有的大部分视频加密方案通常采用某种单一的方法,只能提供一种安全性级别,不能适应对不同应用场合提供不同保密级别现实需求。另一方面,现有的可分级视频加密方案往往安全性不够高而且破坏了视频码流格式,加密后的码流不能被非合法终端顺利解码显示加密效果,显然更无法满足上述有些场合允许非授权用户得到一定视频信息的商业需要。本文就是针对这种矛盾性需求,对视频码流中的各种信息进行深入分析,找出那些对视频解码重建非常重要而且不影响视频格式的关键信息,进而提出一种新的保密性可分级的加密方案。
一、现有的可分级加密方案
现有的可分级视频加密方案只有Meyer等提出的SECMPEG方案和Tosun等提出多层加密Multt-layer Encyp tiorD方案。
1、SECMPEG加密方案
Meyer和Gadegast为视频加密设计了一种新的MPEG比特流,称之为SECMPEG流已SECMPEG使用标准加密算法DES或RSA通过选取不同的视频数据加密实现四个级别的密级:
第一级:加密所有的头信息(Headers);
第二级:加密所有的头信息(Headers)和I-lock中的DC系数;
第三级:加密I帧和PB帧中的所有I-Bock;
第四级:加密所有的视频流。
由于SECM PEG加密了视频码流中的头信息,而且在MPEG码流中添加了自定义的一些关于加密的标志信息,需要设计专门的编解码器,因此SECMPEG流的格式不符合MPEG标准语法,密文码流不能被标准的MPEG解码器顺利解码和播放。第四级加密所有视频流显然计算量巨大,不能满足视频处理的实时性要求。而除第四级外视频码流中的运动有关信息是没有被加密的,不加密运动矢量而仅加密DCT系数的视频效果如图1,可以根据运动信息看出运动物体的大致轮廓。第二级以下甚至没有考虑AC系数加密,而如果将加密后视频码流中的DC置为常数可得出图像效果如图1,可以看出视频图像整体的色度和亮度变得单调但是图像细节非常清晰。因此该方案整体上安全性也不够好。
2、多层加密
Tosun和Feng提出了一种能够调节密级的多层加密MultHayer EncIyp tion)的方法,该方法是将每个块的64个DCT系数通过一个分界点组①reakpoht gIOup)分成三层。基本层包括低频率的也是包含信息量最多的DCT系数,中间层包括中间频率的系数,增强层则对应那些高频率的含有信息最少的系数。例如分界点组为(6,15)时,起始的7个DCT系数(0一6)就是基本层,中间的12个DCT系数属于中间层(0——18),剩下的45个系数(19,63)则属于增强层。三层被分别传输,其中基本层必定传输,中间层的传输级别比增强层高,以动态适应网络带宽,客户端解码显示前将三层码流合成田。该方法使用VEA算法来加密基本层和中间层,增强层不加密。VEA算法是基于压缩后的视频比特流已经具有一定的随机性,按照奇偶字节将待加密数据分为两半,一半与另一半简单异或,另一半再使用密码学算法例如DES)加密。
该方案通过调整分界点组的大小来实现多种保密级别,例如使用(5,50)作为分界点加密显然比使用(5,15)提供的密级要高。但是由于它使用的VEA算法是改变码流格式的,所以使用这种加密方案仍然不能保持码流格式不变。从安全性的角度来看这种方法同样没有考虑视频中的运动信息的加密。
二、基于不改变码流格式的保密性可分级的视频加密方案
现实需求的视频加密方案是保密性可分级且加密不改变视频码流格式的,所以首先应该对视频码流中的图像内容相关的重要信息进行分析得出改变那些不会影响视频码流格式的关键信息。
1、选取关键信息分析
按照视频压缩标准例如(MPEG-4和H263编码得到的视频码流都是遵循协议规定的固定格式和语法结构来分层组织压缩后的视频信息的。各层都由一个标志字信息头开始块层除外),后接其他格式信息或视频压缩后的有关图像内容数据。代表图像内容信息的主要是DCT系数及运动矢量MVa标志字及格式信息都是一些很容易从数据流中分辨出来的特殊码字,起同步和指示视频信息结构的作用,没有这些标志字或者这些标志字被破坏时将无法解码,而且加密这些标志字还被认为是不利于安全性的。因此要保持加密后的视频码流格式不变,标志信息是不能被加密的。从另一方面来看,标志信息不含任何视频图像内容,加密的意义也不大。因此对于需要加密什么信息应对有关图像内容的DCT系数和MV进行分析。
除DCT系数中的帧内块DC外,其他的DCT系数(H.263中表示为TCOEF)和MV采用变长编码,但是变长码字被加密后得到的随机码字在变长码表中很可能是不存在的,于是解码器在变长码表中搜索不到该码字,密文码流将会解码出错。而通常变长码表中每个码字都有正负两种情况,变长码字的最后一位为符号位,因此仅改变符号位后得到的变长码字仍然在变长码表中,所以加密符号位不会出现上述情况。帧内块的DC系数采用定长八位编码,加密后得到的随机码字除了两个非法码字外都在其码表中,所以通过避免加密后取值为非法码字,加密帧内块DC是可行的。
因此可以从码流中提取加密的关键信息有帧内块DC码字(htraDC)、除帧内块DC外其他DCT变长码字符号位(ICOEFs)、MV符号位MV亩。对这几种关键信息在标准序列压缩编码后码流中的比例统计结果如表1。
2、多种保密级别设定
由于DCT变换后将像素块的64个像素的平均值由直流系数DC表示,DC含有图像的大致信息,所以对帧内块DC的最高位加密就能得到一定的效果。AC系数则对应图像中的细节,而且AC和DC是相关的,对每个块AC系数的和大约是DC的整数倍甩因此在高保密级别的场合需要对AIC系数的符号位也进行加密,否则可以从AC系数来破译DC系数。运动矢量代表了视频图像中非常重要的运动信息,而且Shi.C和B.BhaIgava通过试验认为加密MV符号是非常有效的,这是由于MV是差分编码的,改变符号位不仅改变了MV的方向还改变了MV的大小。以H263为例,为了适应不同的保密性需求,可以根据选取的关键信息的类型的不同组合及数量将保密性按如下分级:
第一级:加密帧内块DC码字最高位;
第二级:加密帧内块DC码字最高位和MV符号位;
第三级:加密帧内块DC码字、MV符号位和前几个TCOEF符号位;
第四级:加密帧内块DC码字、MV符号位和全部TCOEF符号位。
对不同的保密级别加密的关键信息数量占码流的比例是随着密级的提高而提高的,这里假设第三级加密前五个TCOEF的符号位,如表2所示。
对于第一级仅加密帧内块DC码字最高位的效果如图2b和图3b,得到的视频密文图像是能够看出大致而模糊的视频动态内容的,这样设计是为了适应在视频付费点播或数字电视付费频道等一些商业场合需要非合法用户能够顺利解码视频密文码流获得一定程度的视频信息,从而使没有具备解密能力的用户对该视频内容产生兴趣和购买欲望。
第二级仅加密DC码字和MV符号效果如图2b和图3b可以看出对于含有运动信息的P帧,由于MV符号位被加密了,其视频加密效果相对第一级有了很大的提高,但是由于AC都没有加密所以其安全性是不够的。
第三级还加密了前几个AC,大大提高了保密性,加密效果也有了提高,图像相对变得更加模糊了,但由于仅加密了几个AC依然可以分辨出对应高频的图像细节。例如对于加密5个AC的效果,图2d和中I帧依稀可以看出背景建筑的线条,图3d中P帧加密的效果非常好。
第四级加密了本文定义的所有关键信息,保密性最高,加密效果如图2(e)和图3(e),无论是I帧还是P帧加密后几乎都无法识别任何视频信息。但是由于AC符号位所占码流的比例很大,所以其保密性是以牺牲计算量为代价的。
本加密算法方案采用国际标准的分组加密算法(例如AES或IDEA)加密提取的关键信息来提高加密方案整体的安全性。具体实现时视频加密及解密方案被设计成独立于视频编解码器的软件模块。加密模块嵌在视频编码和网络打包之间,解密模块则嵌在网络解包和视频解码之间。
三、性能分析
1、保密性分析
本加密方案可以根据需求对不同的应用场合选用不同的安全级别。第一级的保密方案特别适用于付费电视等需要显示部分内容以吸引用户的应用场合。第四级加密了所有的DCT系数符号位、帧内块DC码字和运动矢量MV符号,因此加密后的视频图像不可识别任何信息,达到了高保密性的视觉效果。对于本加密方案总体上的保密性,从攻击者的角度来看,完全破解本加密方案的难度在理论上同破解本加密方案中采用的分组加密算法(AES或IDEA)相当,而AES,IDEA等分组加密算法目前被公认是难以破解的。因此本加密方案的保密性是根据需求灵活可变而又十分可靠的。
2、加密速度
由于本加密方案仅选取码流中少量的关键信息加密,加密或解密的速度是非常快的。即使选用计算量较大的第四级加密,相对于传统的全部加密方法也可节约90%左右的时间。以P4为试验平台,对H.263视频码流,在各种网络带宽下平均每帧图像的加密时间不超过2ns所以本加密方案产生附加延时极小,不影响视频的正常实时应用。
3、对码流大小的影响
加密关键信息使用的分组加密算法加密后的密文长度和明文长度相等,本加密方案又不需要在码流中附加传送其他任何信息,所以本加密方案不会产生额外的码流数据,不增加码流大小,即不会增加附加的网络带宽需求。
小知识之编解码器
编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒体等应用中,通常主要还是用在广电行业,作前端应用。