为了满足网络多媒体在安全性和实时性上多样化的加密需求,同时为新一代的视频压缩编码技术提高安全保障。为此我们基于H.264视频编码标准和密码学原理,分析现有的视频加密算法性能,同时从安全性出发,面向网络视频服务需求制定多安全级网络视频加密方案。

一、基于H.264的视频加密算法

1、H.264视频编码标准及H.264视频加密算法分析

H.264是由ISO/IEC与ITU-T组成的联合视频组制定的新一代视频压缩编码标准。它着重于解决压缩的高效率和传输的高可靠性,采取“网络友好”的结构和语法,加强对误码和丢包的处理。基于H.264的视频加密算法能够较好地满足网络服务高安全性和实时性的要求,其在网络视频加密领域中具有广阔的应用前景Ⅲ。已有的基于H.264的视频加密算法在视频压缩编码过程中选择不同的数据及压缩编码位置进行加密,获得了不同加密效果。

(1)完全加密算法

完全加密算法将视频数据看成普通二进制数据与密钥流进行异或运算。安全性高,但加密数据量大,但运算本身耗费时间,加密速度极低。

改进的算法有VEA和CSC算法,VEA算法将明文块分成奇偶两部分,将奇数部分用DES加密得到密文的一半,另一半为偶数部分和奇数部分按位异或的结果。其将加密复杂度降为接近原来的一半,同时保持了较高的安全性。CSC算法将混沌整数序列产生器产生的序列与视频数据做异或运算,产生的结果即为密文。其比DES、IDEA等分组密码更快速。

完全加密算法在视频压缩编码之后进行加密,不改变压缩比。但格式信息被加密,数据不具有可操作性。

(2)部分加密算法

部分加密算法基于H.264编码帧结构,在视频编码之后利用密钥与数据进行异或运算。有加密格式信息算法、加密I帧算法、加密所有I块算法、加密I块及P帧算法。

加密格式信息可以达到非授权者不可同步的目的。但格式信息具有统计特性,仅加密其而未加密数据安全性低。

I帧采用帧内编码模式,B、P帧进行帧间编码参考I帧,加密I帧具有一定的安全性。由于B、P帧中有不依赖于I帧而独立编码的I块,仅加密I帧安全性不高。加密所有I块具有较高安全性,而加密所有I块并加密P帧安全性进一步提高。

部分加密算法的加密数据量较大,异或运算需要时间,从B、P帧中识别I块也有时间耗费,三种算法加密速度都较低。加密在视频编码之后进行,不改变压缩比。加密格式信息算法破坏了数据格式,不具有数据可操作性。未加密格式信息的算法具有数据可操作性。

(3)DCT系数置乱算法

算法对经过DCT变换量化后的16×16宏块内DCT系数进行置乱以破坏其统计特性,实现加密。有完全置乱算法,分段置乱算法,高低频间置乱算法,子块间置乱算法。

完全置乱算法将宏块中64个DCT系数置乱。DCT变换后,非零系数约占总数的1/3,一个宏块的加密空间为(16×16×1/3)!=851。其违背了“之”字型扫描能量大小顺序,压缩比变化大。分段置乱算法将DCT系数分段,可据安全性及压缩比的不同要求在不同段内置乱。加密空间为N1!×N21×…,(N1+N2…=16×16×1/3)。高低频间置乱算法将DCT系数在高频与低频之间随机置乱,加密空间为(16×16×1/3)!=85 1,其系数处于极其无序的混乱状态,安全性高。子块间置乱是将子宏块作为整体进行置乱。加密空间为N!(N为子宏块的个数)。

DCT系数置乱算法仅置乱而未加密数据,安全性低。由加密空间可知其安全性排序为:高低频之间置乱算法>完全置乱算法>分段置乱算法>子块间置乱算法。数据置乱的时间远远小于加密数据时间,因此DCT系数置乱算法加密速度快。各算法压缩比变化程度为:子块间置乱算法<分段置乱算法<完全置乱算法<高低频间置乱算法。算法均具有数据可操作性。

(4)选择加密DCT系数和MVD符号算法

DCT系数和MVD是H.264中的重要数据,直流DC系数表示图像大致信息,交流AC系数表示图像细节信息,运动矢量差MVD表示图像运动信息。

加密DCT系数符号算法是提取DCT系数符号组成二进制码流与密钥进行异或运算,其加密空间为2的85次方,安全性不高,但加密速度快。直接加密DCT系数算法选择DC,AC系数加密Ⅲ,安全性较高,但加密速度降低。加密MVD符号位是提取MVD系数符号组成二进制码流与密钥进行异或运算,其安全性不高但加密速度快。加密DCT系数破坏了数据间的统计特性,压缩比改变大,仅加密符号而不加密数据的算法对压缩比影响不大。算法均具有数据可操作性。

(5)熵编码加密算法

H.264视频编码标准中熵编码的编码方式主要有基于上下文自适应的可变长编码(CAVLC)和基于上下文自适应的二进制算术编码(CABAC)。现有的基于CAVLC熵编码加密算法是利用流密码算法加密码字索引,根据加密后新的索引号在原码表中找到对应新码字作为码流输出。其具有一定安全性,加密算法和编码过程同时进行,加密速度快、压缩比改变小。熵编码加密在数据打包之前进行,未破坏格式信息,视频具有可操作性。

(6)Zig-zag扫描顺序置乱算法

Zig-zag置乱算法使用一个随机序列代表Zig-zag扫描顺序。但经过Zig-zag扫描后DCT系数具有很强规律性,容易恢复,其安全性差,在实际加密中很少应用。

(7)FMO灵活宏块排序加密算法

FMO灵活宏块排序是针对抗误码提出的。在H.264进行压缩编码后,对宏块按FMO-map的扫描顺序将宏块编排到不同的slice中,使得在一个slice丢失时同样可以恢复图像。此算法对宏块按照自行设计的FMO-map进行扫描,并加密FMO-map。可采用高强度的密码算法加密或将宏块影射到多个slice来提高算法安全性。由于在压缩编码后进行加密,未对数据做处理,其加密速度快。同时没有改变压缩比和数据可操作性。

2、基于H.264的视频加密算法分级

H.264视频加密算法在安全性、加密速度等方面可达到不同性能级别。取一帧的CIF图像(352×288)为例分析其加密空间;完全加密算法为2352X288,其加密全部数据;部分加密算法约为233792~2352X 288,若每30帧编码一帧I帧,其加密数据约为总数的1/30~1/10; DCT系数置乱算法为396×16 1~396×85!;加密DCT系数算法约为233792,加密数据约为总数的1/3;加密DCT系数符号和MVD符号算法为396×2L6~396×285;熵编码加密算法和FMO灵活宏块排序加密算法在数据编码或预测前加密参考码表,加密空间为用不同密钥加密码表的密钥空间;Zig-zag扫描顺序置乱算法的加密空间为396×16 1,加密帧内预测模式字为23。

基于以上各算法加密空间和加密数据比例分析,本文对各算法在安全性、加密速度、压缩比影响及数据可操作性方面的性能进行比较。全加密算法加密速度慢,Zig-zag扫描顺序置乱算法安全性低,且两算法都破坏了格式信息,加密帧内预测模式字算法安全性低,它们不适用于网络视频加密。其它视频加密算法可按安全性分为三级,如表1所示。第一级算法安全性不高但加密速度较快,可应用实时性要求较高而安全性要求不高的场合。第二级算法安全性好且加密速度快。可用于安全性和实时性都有要求的场合。第三级算法安全性高但加密速度较慢,可用于安全性要求高而实时性要求不高的场合。

二、基于H.2 64的多安全级网络视频加密方案

1、多级网络视频加密需求分析

网络提供的视频服务主要有:网络视频点播、可视电话与网络视频聊天、视频会议。

网络视频点播画面中静止和运动的图像比例相当,画面需要一定可辨识度。视频在网络中传输速度快,典型的视频流速率可达3~6M。同时用户可能对视频进行拖动,快进等操作。因此加密算法应同时加密静止和运动图像,安全性不高但加密速度快,具备数据可操作性。

多安全级网络视频如何加密

可视电话与网络视频聊天中图像背景是静止的,只有人物的极少运动。算法应加密静止图像的数据量多一些。其安全性要求一般,但网络传输需要较快的加密速度。聊天中对视频的操作多在解密之后进行,因此对视频加密算法的数据可操作性没有要求。

视频会议多应用在高机密的场合,根据H.323视频会议标准,386 Kbit/s的带宽可以组成较好的质量。因此加密算法应安全性高,加密速度较快。会议的机密性要求其在传输中不能窃取,而数据的不可操作性在这方面恰恰起到了积极作用。

2、基于H.264的多安全级网络视频加密方案

由网络视频加密需求分析可知,传统单一的视频加密算法并不能满足多样的网络视频加密需求,网络资源无法达到合理利用。本文根据不同网络视频内容的加密需要,以一帧CIF图像(352×288)为例分析不同级别的视频加密服务所应达到的性能指标。其中,(压缩比变化率)表示加密前后数据量的变化情况,(时间比例)表示加密前后所用时间的变化。同时基于H.264视频加密算法分析,针对每级网络视频加密服务选择适当的加密算法,设计了适合网络视频需求的多安全级视频加密方案。如下表2所示。

多安全级网络视频如何加密

小知识之网络视频

所谓网络视频,是指由网络视频服务商提供的、以流媒体为播放格式的、可以在线直播或点播的声像文件。网络视频一般需要独立的播放器,文件格式主要是基于P2P技术占用客户端资源较少的FLV流媒体格式。