会议电视系统是指两个或两个以上不同地方的个人或群体,通过传输线路及多媒体设备,将声音、影像及文件资料互传,实现即时且互动的沟通,以实现会议目的的系统设备。近几年随着视频会议系统应用的日益广泛,视频会议系统的安全问题也日益突出。特别对于国防、党政和金融等应用领域,视频信息的安全显得尤为重要。为此我们设计了一种视频信源的加密方案及实现方法,并基于这种信源加密方法提出了一种使用混合加密算法体系的安全视频会议系统设计方案。
一、会议电视系统的安全问题及现状
会议电视系统的安全威胁主要来自于窃听、假冒、窜改数 据流、重放攻击等方面。其中,窃听属于被动攻击,假冒、窜改、 重放等攻击属于主动攻击。目前会议电视系统通常采用的保证会议安全的主要方式有以下三种:
(1)使用虚拟专网(VPN)技术
VPN技术是指在公共网络中建立专用网络,让各节点间传输的数据均通过底层加密,并且通过专用的隧道路由传输。VPN技术的这一特点可以使在In temet中的信息交换有安全保障,会议电视系统应用于专网之上,就能有效地隔绝来自外部网络的攻击,并且可以避免信息在传输过程中可能泄漏的情况发生,有效保障会议电视系统的安全性。VPN技术实际上是一种通用的物理隔离技术,但使用这一措施成本较高,网络扩展性不好。
(2)对媒体数据进行直接加密
通常采用第三方加密算法对在网络上传输的数据进行全部加密。由于视频会议的数据量巨大,对全部音舰频数据进行严格的加密会导致计算量大、浪费资源,难以保证实时。这种安全方式存在难以同时满足安全和实时需要的问题,这个问题在软件视频会议系统中显的至关重要。
(3)使用密码认证策略保证用户身份的合法性
通过预先设置密码的方式来确保只有合法的用户才能加入到会议中。合法的用户被认为是已预知密码,当用户请求加入会议时,由被请求方向请求方发送密码请求消息,只有反馈正确的密码才被认为是合法用户,可以继续进行通信。这种方法原理简单、易于实施,但攻击者可通过截获合法用户的数据包来获知会议密码,从而假冒合法用户加入会议。
综上所述,当前会议电视系统所普遍使用的安全技术相对独立,局限较大,不足以保障会议电视系统的安全。而考虑到视频会议的安全需求在本质上就是保证视频内容信息的安全,如果能够采用有效的方式对视频信息进行加密,则能从根本上防止传输的过程中不被窃听、假冒、窜改和重放等攻击。因此应当从视频信源本身的安全性出发来设计会议电视系统安全体系。
二、视频信源选择加密方案设计
1、现有的视频选择加密方案
目前国内外针对视频信源进行加密的方法主要有全部加密、选择加密、置乱加密、基于统计规律的加密等。选择加密即选取视频数据中的部分信息加密。选择加密由于计算量小且具有良好的保密性,是视频加密方法的主要方向,又可细分为以下几类:
(1)基于视频iPB帧结构的选择加密方法
这是最早提出的一种加密方法,它仅仅加密I帧或者仅加密I帧和PB中所有I块数据。由于I帧数据量庞大,所以这种方法计算量大,影响视频实时传输;另外由于视频运动信息也没有被加密,因此保密性也不够。
(2)仅加密头信息的方法
将标准视频码流中的头信息加密,再与其他数据随机混合,使接收方难以按原数据结构区分结构信息和视频信息并解码。该算法不降低压缩率、计算量小。但是由于头信息所含信息量小,作为标准公开,所以此方法加密效率低,而且很容易被破译。
(3)M eyer and Gadegast设计了一种新的类似MPEG比特流的视频加密方案,称之为SECMPEG
SECMPEG使用密码学算法DES和RSA可以实现四个级别的密级:
第一级加密所有的头信息;第二级加密所有的头信息和Block中的DC和AC系数;第辜级加密Ilp贞和PB帧中的所有Blods第四级加密所有的数据。SECM PEG同样忽略了运动信息的安全性。而且与标准的MPEC格式不兼容,需要设计专门的编解码器H。
(4)选择加密的另一个重要的方向是由Bharat Bhargava等提出的加密DCT符号、运动矢量MV符号的方法
仅加密I帧的DCT符号位的方法称为VEA算法;除了I帧DCT符号位,还要加密PB帧的DCT符号位和运动矢量MV的符号位的方法称之为MVEA算法。这两种方法采用将符号位与产生的随机比特流异或的方法来加密。然而这种加密方法被认为在明文攻击时是很脆弱的M,相对保密性要好得多的第三种方法是使用分组密码算法加密(如DES、AES或lDEA)的密码学算法来对DCT系数或运动矢量MV符号位进行加密,称之为RVEA算法。这种加密符号位的方法显然计算量小,由于采用了分组加密算法,保密级别较高。然而RVEA仍然有需要改进的地方,因为RVEA为减少计算量对每个宏块最多加密64个符号位,存在部分AC系数的符号位没有被加密,而C-PW11表明仅加密部分AC系数是不能使整个视频图像内容都因加密而被破坏的。
仅选择符号位加密方法的一个重要的启示是,如果仅从视频码流申选取符号位加密而不改变码流的固定格式,然后将这些加密后的符号位再还原至提取的位置,这样与其他数据混合得到的密文码流就仍然符合视频压缩标准。前三种选择加密方案处理得到的视频码流格式被破坏,影响了视频信息的正常应用。本文正是在RVEA算法的启示下,基于不破坏码流格式的原则和尽量选取少量关键信息进行加密的思想分析采用了如下加密方案。
2、本文采用的加密方案
为了保证视频的实时传输,应该在视频码流中选取少量的关键信息加密;而为了保证安全性,应该采用高强度的分组加密算法。通过调研分析国内外现有的视频加密方案,对视频码流的信源特征进行深入研究和反复试验,得出视频流中需要加密的关键信息有帧内块DC码字(NTRADC)、帧内块DC码字最高位(INrIRADCs)、除帧内块DC外其他DCT系数流程变长码字符号位(TCOEFs)、MV符号位(MVs)。
以H.263为例,经编码压缩后视频码流中视频内容信息主要是DCT系数和运动矢量MV码字。其中INTRADC采用定长八位编码,TCOEF和MV采用变长编码,而变长编码的码字值是没有规则的,所以对TCOEF或MV码字加密后得到的随机码字在码表中是很可能不存在的。对于H.26a如果TCOEF变长码字值110加密后变成011,解码器在变长码表中搜索不到该码字,于是密文码流解码出错影响了视频的正常应用。而仅改变符号位不改变整个码字是不会造成上述情况出现,解码器能够顺利解码得到符号位被加密的视频效果。因此为了使加密后的码流兼容协议标准,只能加密TCOEF或MV码字的符号位。对于H.263协议,MV码表中码字0000000000101没有相反符号的码字对应,但由于这个长码字是极少出现的,所以可以对该MV码字符号不加密,以保证码流兼容。另外对于INTRADC系数,在H.263协议中10000000和0000000QXJ INTRADC的非法码宇,由于采用定长码字,除上述两个码字外加密后任意八位码字都是合法码字,因此实现时需要保证NTRADC加密后不是这两个码字。
在保密性要求较高的场合可以选择加密NTRADC码字和全部TCOEF及MV符号位。统计表明INTRADC最高位数据量大小占码流的比例为0.1%以内;INTRADC码字和MV符号共占2%以内,TCOEF符号占码流的10%以内,如果加密上述定义的全部关键信息,本方案也仅需加密码流的12%左右的数据。加密NTRADC码字和不限定每个宏块加密的符号位数量使得本方案相对RVEA有更好的保密性,而且事实上由此增加的计算量非常小。
3、加密方案的设计与实现
本加密方案的基本思想是在分析视频码流时选取少量的关键信息,采用高强度的分组加密算法加密,然后将加密后的关键数据的密文还原至提取位置和那些非关键数据混合得到加密后的视频码流,解密的过程则相反。
视频加密和解密应做成独立于视频编码器和解码器的软件或硬件模块,这样不需修改编码模块或解码模块,有利于应用和产品化。经过压缩编码的视频码流经过加密模块得到仍然符合标准的视频密文码流,密文码流经解密模块恢复成原始的视频码流,然后经过解码器就可以得到正确的视频图像。如果密文码流没有解密或没有获得正确的解密密钥,经过解码器只能得到加密的视频图像。
另外无论是加密过程中的分组加密模块还是解密过程中的分组解密模块都被设计成一个独立的算法模块,可以根据实际应用需求在几种分组加密算法中选用,比如可以是3DES,AES或IDEA,也可以是用户或第三方提供的专门分组加密算法。另外,加密和解密过程设计为以RTP视频数据包为单位,即将每个RTP包里提取的关键数据组合起来以分组为单位使用分组密码算法加密。以包为单位进行加解密的优点是对视频网络传输容错性影响非常小,因为以包为单位加密在网络中出现丢包时,前一包数据的丢失不会影响后一包数据的正确解密,所以不会引起由于加密造成的视频质量破坏的扩散。
视频加密模块内部主要由三部分组成:码流分析与关键数据提取模块(简称为码流分析模块)、分组加密模块和码流混合模块,如图1(a)所示。码流分析模块的主要功能是读取分析编码后的视频数据,根据关键信息选取标志将其中选择的关键数据提取出来组合在一起,同时记录每个关键数据在数据包中的位置和长度信息(以bit为单位)。码流分析模块实际上类似于解码器,在解码的过程中逐个获取并保存关键信息。分组加密模块的主要功能是使用分组密码算法将提取的关键数据以分组(通常分组大小为64bts 128bits, 192bitS 256bits)为单位进行加密。码流混合模块则将加密得到的密文根据每个关键数据的位置和长度的记录信息重新写回到原始码流中去替代加密前码流中提取的关键数据,即与其他非关键数据混合得到加密后的码流。
视频解密模块内部结构相应地也由码流分析模块、分组解密模块和码流混合模块组成。码流混合模块将分组解密后复原的关键数据明文根据每个关键数据密文位置和长度信息的记录重新写回到码流中,即与其他非密文数据混合得到解密后的码流。
假设用来存储码流分析提取的关键信息的缓冲区为Buf用来记录每个关键信息的长度和位置信息的结构体数组为NFO。nNFO结构体有两个成员:一个是关键信息的bit长度Lf8 -个是该关键信息在包中的相对位置Adla通过这两个参数可以在加密或解密后,将数据准确地还原至RTP包中的原始提取位置。Nun是一个包中关键信息个数的最大值,同时假设关键信息提取类型标志Flag。
三、会议电视系统之信源选择加密
1、采用的混合加密算法体系
针对会议电视系统媒体流的通信具有实时性强、数据量大的特点,可以采用对称加密算法。也就是分组密码算法选择媒体流中的关键信息进行加密。对称加密的特点是加密与解密使用相同的会话密钥,运算速度较快,采用这种加密方法可提高加解密速度,最大程度减小延时。
在对称加密的加密体系下,加密和解密所用的密钥均是相同的,为增强安全性需要通过动态更换密钥的方法来保障系统安全性。而会议电视系统涉及的人员很多,加密方在每次启用新的密钥时,都要通过某种秘密渠道把密钥传送给解密方。在传送过程中,密钥容易泄露,因此建立安全的密钥分发机制,保证密钥传输路径的安全对保证视频会议系统安全性至关重要。
利用非对称密钥体制也称为公开密钥体制(如RSA算法)则可以解决视频会议系统中的密钥安全分发问题。在公开密钥体制下,每个通信实体均有一个私有密钥和一个公开密钥,私钥仅为实体个人所知,公钥为公众所知。明文采用用户的公钥加密以后只能用该用户的私钥才能解开。如图3所示,假设A终端向B终端传送视频信息时使用会话密钥Key对信源信息选择加密。
因此采用现代密码学中基于分组加密的对称算法和公开密钥算法组成的混合密码算法体系,可以建立一个便于管理的高效的会议电视系统。
2、信源加密解密模块在视频会议中的具体应用方式
视频信源加密解密模块在视频会议系统中有两种应用方式:
(1)嵌入式
将视频加密和解密模块嵌入视频编码模块和网络打包传输模块(RTP打包和P打包)之间,通常以软件模块的形式嵌入视讯终端内部。视讯终端编码后的原始码流经过视频加密模块然后打RTP包,通过网络模块打田包传输。另一个方向上,视讯终端的网络模块将接收的数据包进行IP包解析,接着RTP包解析,然后经过解密模块,经解码模块解码显示。视频加密和视频解密模块嵌入位置如图4(a)、图4(b)所示。
在256kbps—2 048kbps带宽下,测试得出加密模块的平均附加延时均不超过2ms如图5所示。
(2)独立式
将视频加密和解密模块在一个独立的硬件设备中实现。该设备有两个RJ45网络接口,一个连接视讯终端,一个连接到网络上。该独立式设备可以同时进行加解密双向操作。从终端过来的网络数据包首先进行IP包解析,接着进行RTP包解析得到视频原始码流,然后调用加密模块进行加密,最后将加密后的码流进行RTP包重建和P包重建再传输至网络。另一个方向上,从网络传输来的数据包首先进行IP包解析,接着进行RIP包解析得到经过加密的视频密文码流,然后调用解密模块进行解密,最后将解密后的码流进行RTP包重建和IP包重建然后传输至视讯终端进行解码显示。独立式视频加解密设备内部主要模块如图(C)所示。
小知识之信源
信源就是信息的来源,可以是人、机器、自然界的物体等等。信号的产生(物)被称为信源,相对应的概念应该是信号的接受(物)被称为信宿。