Home > 电话会议新闻动态 > 技术文档 > 端到端IP电话的安全保密系统设计与实现

端到端IP电话的安全保密系统设计与实现

2014/06/12 Tang

IP电话采用分组交换和统计复用技术实现了语音数据的传输,使其运营成本低下.但由于受TCP/IP协议的制约,IP包极易被截获、伪造和篡改,容易泄密.目前,主要有4种IP电话语音保密方案.第1种方案是IP电话应用与语音加密集成,语音加密由IP电话软件实现,其主要缺点是无法抗拒中间人攻击,且很难满足IP电话Qos的基本要求;第2种方案是IP电话应用与语音加密分离,加密由VPN实现,对IP电话应用透明,这种方法适用于已拥有VPN 的单位,否则成本过高Ⅲ ;第3种方案是ITU—T16工作组提出的H.235协议,该协议在H.3XX系列规范中增加了安全服务_2],适用于电信级IP电话网,但运营成本高,建立通话连接的过程复杂,耗时较长;第4种方案是基于IETF提出的SIP协议,但这种协议的安全机制还不够完善,需要加入会话控制等安全措施.本文设计并实现了端到端IP电话的安全保密系统,在应用层上解决了语音加密和密钥安全协商的问题,并根据IP电话QoS的要求对系统进行了优化.

1 系统设计

1.1 IP电话语音传输流程
IP电话语音传输流程分为7个阶段:采集、编码、打包、传送、解包、解码和回放.发话方首先由声卡采集语音,转换为语音数据,再进行语音压缩,然后将语音数据打包发送.接收方接收到数据后,经过解包和解压缩,将数据转换为语音,通过耳机播放.

1.2 IP电话加密的基本思想
网络保密电话要提供安全可靠的服务,应该保证对通话内容保密、不被篡改,只对合法用户提供相应服务,用户账户等私人信息不被盗用.其中,鉴别用户的合法性以及对用户通话内容进行保护是其核心内容.即解决网络电话的安全问题主要集中于对用户的身份鉴别和语音流的加密,而后者需解决采用何种加密算法以及密钥的产生和分发问题.

1.3 IP保密电话的基本结构
IP保密电话系统除了实现基本的语音传输,还具备语音加解密和密钥协商的功能,防止第三方截获IP包造成语音泄密.它由语音处理、数据传输、语音加解密和密钥协商4个模块组成.系统基本结构如图1所示.IP保密电话的工作流程为:Stepl:调用数据传输模块,建立密钥协商信道;Step2:调用密钥协商模块,进行密钥协商,并验证对方身份;Step3:调用数据传输模块,建立语音传输信道;Step4:调用语音加解密模块,根据密钥协商结果,设定密钥和初始化向量;Step5:调用语音处理模块,开始保密的语音通信.

2 语音加密和密钥协商的实现

2.1 密钥协商模块的实现
密钥协商模块的主要功能是实现站间协议.由于采用了端到端的连接,不宜采用密钥分配中心分配密钥模式,而是采用收Diffie—Hellman算法协商密钥.为了防止中间人攻击,采用站间协议对消息进行签名,其工作过程如图2所示。

A和B事先协商素数 和g(g是模 的本原元),并已得到对方的公钥证书.公钥证书、g和 不需保密,可通过不安全的信道传送.然后A,B双方按以下步骤进行协商:
(1)A产生随机数 ,计算X — gP rood ,把x发送给B;
(2)B产生随机数g,计算Y一 rood ,然后计算出A,B的共享秘钥 ( 一X rood ).B对x,y签名,并且用 加密签名.然后把它和y一起发送给A;
(3)A计算 一yp rood .A对B发送的消息解密,并验证B的签名.然后,A把包括x,y的签名消息用他们的共享秘钥加密后送给B;
(4)B解密消息并验证A 的签名.

2.2 语音加解密模块的实现
在设计的加密算法中选用AES.AES是一个迭代分组密码,能抗任何已知攻击,密钥选择限制小,而且运算速度快,另外,由于其设计紧密,因此没有足够的空间作为隐藏后门.本文采用了AES_ECB和AES_8bit计数器两种模式进行语音加解密.语音加解密模块工作流程分3个阶段:初始化阶段、数据处理阶段和数据输出阶段.
(1)初始化阶段:首先,语音加解密模块从密钥协商模块接收256 bit会话密钥 和256 bit初始化向量IV,然后由初始化向量IV 的值决定采用ECB模式还是8 bit计数器模式进行数据加解密.
(2)数据处理阶段:首先,从数据传输模块或语音处理模块接收语音数据和RTP包的序列号,然后根据IV的值决定采用ECB模式还是采用8 bit计数器模式处理语音数据.采用ECB模式时,首先将RTP包中的语音数据(共720字节)按256 bit进行分组(如果是加密运算,要对非256 bit整数倍的数据进行填充),然后分别对各分组进行AES运算.
(3)数据输出阶段:若是发起方,加密结果输出到数据传输模块,将其打包并传送给对方.若是接收方,则将解密结果输出到语音处理模块,由语音处理模块解码、回放.

2.3 语音加解密过程的QoS优化
数据处理是语音加解密模块中产生时延最大的阶段.处理256 bit数据采用ECB模式只进行1次AES运算,而8 bit计数器模式要进行32次AES运算,因此有必要对8 bit计数器模式进行优化.一种方法是采用多线程技术进行编程,设立5个720字节的缓冲区以存储预先计算出的密钥序列,依次循环使用5个缓冲区中的数据进行加解密运算;任一缓冲区的数据使用完毕后随即使用AES更新数据,更新密钥序列的AES运算和加解密运算采用不同的线程并发执行,从而达到减少时延的目的.
对语音进行ECB模式加解密时,由于RTP包中语音数据长度不是256 bit的整数倍,带宽会因为填充而增加0.053 kb—ps.解决该问题的一种方法是重新确定RTP包中语音数据的长度,由于需要修改语音处理模块和数据传输模块,并且有可能增加时延和带宽,因此,本系统采用8 bit计数器模式,虽然时延增加70 ms,但不增加带宽,也不需要修改其它模块.
在容错性上,8 bit计数器模式解密不会出现错误扩散,而1 bit传输错误会造成ECB模式1个分组解密错误.显然,ECB模式适用于在低错误传输率的网络中提供高质量的服务,8 bit计数器模式适用于在错误传输率较高的网络中提供服务.

3 语音质量测试结果分析

网络保密电话的测试环境采用基于互联网的两台具有独立IP地址的Pc机,其测试结果和传统商用电话的性能比较如表1所示.

网络保密电话的时延包括语音处理时延和语音传输时延,语音处理时延是固定的,而语音传输时延是随机的.加密和解密采用计数器模式时延约为40 ms,而ECB模式的时延仅为i ms,其它音频处理的时延约为80 ms,跟踪某一个”RTP”包,打包用时和接收端解包用时之差即是语音传输时间.经过多次测试,系统的语音传输时间约为i00 ms.所以系统的时延约为220 ms,达到ITU—T规定的全程往返时延在450 ms之内的要求.
网络保密电话的带宽受RTP包的大小和加密模式的影响.一个IP包有90 ms的语音信息,在计数器模式和ECB模式下的RTP包大小不一样,再加上UDP包头和IP包头,因此在IP网中的实际带宽,ECB模式为6.4 kbps,计数器模式为5.96kbps.目前商用网络电话的带宽仅语音编码最低为5.3 kbps,加上其它打包和协议的开销,在IP网中至少需要8.89 kbps的带宽.显然,本文设计并实现的端到端IP保密电话,与商用网络电话相比,采用ECB模式时,节省带宽为28% ,采用计数器模式时,节省带宽为33% .
网络保密电话错误率(丢包率)不到5%,通话语音的可懂度、清晰度、自然度以及连续性较好,基本消除了回声,达到了设计要求.

4 结束语
本文在分析端到端IP电话存在安全问题基础上,设计并实现了IP电话的安全保密系统.与其它网络电话的安全方案比较,本文创新点包括:
(1)在密钥协商过程中,对 H消息用站间协议进行签名,有效地防止了中间人攻击.
(2)采用多线程技术,合理设置缓冲区,有效减少了语音加密时数据处理占用的时延.
(3)采用两种语音加解密模式,使系统能很好地应用于错误传送率不同的网络中.
测试结果表明,所设计的网络保密电话系统的稳定性好,用户没有半双工通信的感觉,能够自由交流,达到了预期的效果.与其他网络保密电话系统的解决方案相比,该系统具有较高的安全性,费用低且容易实施,可以很好的应用于通话保密要求较高的场合.

IP电话

如没特殊注明,文章均为好会通科技原创,转载请注明来自 http://www.meeteasy.com.cn/archives/3235.htm.

copyright 2004-2013     粤ICP备12061155号-1

Sitemap|XML|RSS|隐私政策|EN|