Home > 电话会议新闻动态 > 技术文档 > 一种基于PC to PC模式VOIP的安全方案及实现

一种基于PC to PC模式VOIP的安全方案及实现

2014/05/15 Tang

IP电话也称VOIP(Voice over IP),它利用IP网络来传递语音数据信息,是IP网与公用电话网相结合产物。现在的VOIP技术实现了Phnoe to Phone、PC to Phone 和PC to PC三种语音通讯方式,通过VOIP不仅可以方便地实现点对点的语音通信,还能以较低代价实现电话会议功能,极大满足了人们即时通话的愿望。IP电话基于IP网络传递语音数据信息,因此它具有较多的安全问题,比如:(1)IP电话是开放性网络,开放性必然导致安全性的隐患。(2)VOIP的认证机制较弱,不能对非法用户进行有效 辨认。(3)IP包极易被截获、伪造和篡改,容易泄密。目前,IP电话的安全通信方案主要有4种。第1种方案是IP电话应用与语音加密集成如IP电话软件Speak Freely,其主要缺点是无法抗拒中间人攻击,且很难满足IP电话QoS的基本要求。第二种方案是利用VPN的安全机制来保证VOIP的安全,但该方案适合于已拥有VPN的单位。第3种方案是ITU—T制定多媒体通讯标准H.323中的H.235安全协议,但该协议更适用于电信级 IP电话。第4种方案是IETF提出的SIP协议中的安全机制,但其功能还不够完善,需要加入会话控制等安全施。本文基于PC to PC 模式实现了一种VOIP的安全方案,在应用层上解决了用户的身份认证、密钥安全协商和语音信息加密的问题,并根据IP电话QoS的要求对系统进行了优化。

1 IP电话安全分析
基于PC to PC模式的IP电话只考虑端对端的连接,而且端点的媒体能力可以事先指定,可只使用一条信令信道,传送不同的消息来控制会话的建立和拆除。系统的通信和控制通过信令信道和语音信道实现,在这两条信道上分别传送信令信号和语音信号两种信息流。信令信道采用TCP连接,语音信道采用UDP连接。在语音通信准备阶段,通信双方需要进行呼叫建立、身份认证、协商或分发密钥、打开语音信道等一系列活动,为下一步的语音通信做准备。这些都依靠信令信道上传送的信令信号完成。对信令信号的有效攻击有拦截、伪造和篡改,攻击者的目的是通过破坏和伪造信令流来破坏正常通话,冒充合法用户和窃取密钥。显然对信令信号必须进行认证和完整性鉴别,采取一定的方法安全的分发或协商密钥。当语音通信开始后,对语音信道上传送的语音信号最有效的攻击是窃听。因此语音信号必须加密,这是整个应用中需要被保护的核心。由于语音传输的实时性要求,应采用快速高效的加密算法。加密的语音可不进行完整性校验,因为语音在不可靠的UDP上传输,当丢包率不超过5%时,IP电话的服务质量几乎不受影响。当加密语音包被篡改时,解密出来的语音数据是无意义的,它不能变成另外一句话。这样篡改语音包与语音包丢失所造成的结果相同,对通话本身不构成严重威胁,通话内容的机密性可以得到保证。当出现较多篡改时,通话双方可以认为是线路质量太差而中止通话。通话双方无需进行认证,因为通话双方可以 通过对方声音的特点进行认证。并且,只要双方共享加密密钥就已经实现了简单的认证。IP电话要提供安全可靠的服务,就应该保证通话内容保密、不被篡改,只对合法用户提供相应服务,用户账户等私人信息不能被盗用。以上要求中,鉴别合法用户和保护用户通话内容是核心。通话内容保密依赖于加密算法的安全性和密钥安全性。因此IP电话安全要求可概括为三点:①如何鉴别合法用户。②如何选取适宜的加密算法加密语音信息。③如何保证密钥的安全分发。

2 IP电话的安全方案及实现

2.1 身份认证实现
身份认证的过程用来验证应答者确实拥有他所宣称的身份。根据安全分析,身份鉴别应在语音通信准备阶段,通过信令 信道进行。在H.235中,身份鉴别可以通过三种办法实现。一是基于公钥证书进行认证,二是基于口令进行认证,三是利用TLS或IPSEC进行认证。IP电话是在应用层上解决安全问题,因此不采用TLS或IPSEC进行认证。基于口令进行认证要求身份鉴别的一方用自己的口令生成密钥,对一段消息进行签名,校验方从自己的用户数据库中取出请求认证者的口令,对消息进行解密和验证。使用口令认证要求认证者和请求认证者之间必须事先约定好口令,请求认证者的ID在认证者的用户数据库是唯一的。端到端IP电话不设服务器,这要求每个终端存储所有终端的口令,一旦单个终端失密,将威胁其它终端的安全。基于公钥证书进行认证的过程如图1所示。要求身份鉴别的一方用自己的私钥对一段消息进行签名,校验方用其公钥解密消息。因为只有私钥拥有者才能正确地对消息签名,所以证明对方确实拥有私钥,从而验证对方身份。单个终端只需加密存储本终端的私钥,其他终端的公钥不需要加密存储,一个终端失密后不会影响其它终端的安全。基于以上考虑,采用基于公钥证书进行认证,签名算法使用RSA+MD5公开密钥签名对信令信号进行认证。在各终端只需加密存储本终端的私钥,而其他终端的公钥的存储不需要加密。公钥的分发可以通过不安全的信道,减少了一个终端失密造成的危害。

基于公钥证书的认证过程

2.2 密钥协商实现
密钥协商的主要作用是为语音加密通信提供会话密钥。在采用密码技术保护的信息系统中,其安全性取决于对密钥的保护,在密钥交换过程中必须保证会话密钥的安全。根据安全分析,密钥交换应在语音通信准备阶段,通过信令信道完成。密钥交换通常可以通过两种办法实现。一是对称密码密钥交换,二是Difffer-Hellman协议。由于采用了端到端的连接,不宜采用密钥分配中心分配密钥模式,而是采用Diffie—Hellman算法协商密钥。为了防止中间人攻击,采用站间协议对消息进行签名。通信双方A和B事先协商素数n和g(g是模n的本原元),并已得到对方的公钥证书。公钥证书、g和n不需保密,可通过不安全的信道传送。然后A、B双方按以下步骤进行协商:(1)A产生随机数X,计算X=g mod n,把X和初始化向量IV发送给B。(2)B产生随机数y,计算Y=g ymod n,然后计算出A、B的共享秘钥k(k=Xymod n)。B对x、Y签名,并且用k加密签名。然后把它和Y一起发送给A。(3)A计算k= mod n。A对B发送的消息解密,并验证B的签名。然后,A把包括X、Y的签名消息用他们的共享秘钥k加密后送给B。(4)B解密消息并验证A的签名。

会话建立过程中的密钥数据流图


2.3 语音加解密的实现

网络电话的语音通信实时性强,要求选用高速度的密码算法。网络电话的语音信息是以IP包的形式在IP网络上传送,IP包丢失、失序到达都会对加/解密产生影响。AES是一个迭代分组密码,能抗任何已知攻击,密钥选择限制小,而且运算速度快,另外,由于其设计紧密,因此没有足够的空间作为隐藏后门,从密码算法的处理速度和安全性两方面考虑,本方案选用AES作为语音加密算法,按照网络电话带宽和容错的要求采用了ECB和计数器两种模式进行加密运算。语音加解密模块工作流程分三个阶段:(1)初始化阶段;首先,语音加解密模块从密钥协商模块接收256bit会话密钥k和256bit初始化向量IV,然后由初始化向量Iv的值决定采用ECB模式还是8bit计数器模式进行数据加解密。(2)数据处理阶段;从数据传输模块或语音处理模块接收语音数据和RTP包的序列号,然后根据IV的值决定采用ECB模式还是采用8bit计数器模式处理语音数据。(3)数据输出阶段;若是发起方,加密结果输出到数据传输模块,将其打包并传送给对方。

3 IP电话的QoS优化

在IP电话中,影响语音质量的因素主要有时延、抖动、静音、数据包的丢失率和错误率、压缩算法、加密算法和模式、缓冲区的大小、RTP包大小等。 IP电话的语音压缩算法采用码速率为2.4kbps的MELP压缩算法,根据该算法的要求,经过压缩后每帧的音频数据被压缩成为54bi,即不到7个字节。在通常的谈话过程中,大约有50%的时间并没有实际语音,这时并不需要对语音进行分组和传输。静音压缩可以大幅度地减少网络电话所需带宽,所以在网络保密电话中就需要对静音进行压缩处理。首先对当前帧输入信号的能量与阀值作对比,来确定当前帧是否为静音帧。静音帧进行静音压缩,30bi,比语音帧(54bit)所需的比特数少,可以大大节省带宽。语音加解密时产生时延最多的是数据处理阶段,采用计数器模式需要较多的AES运算,优化方法是采用多线程技术,设立多个缓冲区以存储预先计算出的密钥序列,依次循环使用各个缓冲区中的数据进行加解密运算;任一缓冲区的数据使用完毕后随即使用AES更新数据,更新密钥序列的AES运算和加解密运算采用不同的线程并发执行,从而达到减少时延的目的。在容错性上,8bit计数器模式解密不会出现错误扩散,而1bit传输错误会造成ECB模式1个分组解密错误。显然,ECB模式适用于在低错误传输率的网络中提供高质量的服务,8bit计数器模式适用于在错误传输率较高的网络中提供服务。

4 测试结果分析

网络保密电话的测试环境采用基于Internet的两台具有独立IP地址的Pc机,其测试结果和传统商用IP电话的QoS比较如表I所示。从表中可以看到,本方案IP保密电话的各项指标均达到了商用IP电话的指标要求,且实际测试效果表明通话语音的可懂度、清晰度、自然度以及连续性好,较好地达到了设计要求。

本方案IP保密电话与商用IP电话QoS 比较


5 结束语

本文在分析端到端IP电话存在安全问题基础上,设计并实现了IP电话的安全方案。与其他同类型IP电话的安全方案比较,本文创新点包括:(1)采用基于公钥证书方式进行用户身份认证,有效解决了网络电话的身份鉴别问题。(2)在密钥协商过程中,采用站间协议进行签名,有效地防止了中间人攻击。(3)在语音加解密的数据处理阶段,采用多线程技术,合理设置缓冲区,有效减少了时延。(4)采用两种语音加解密模式,使系统能很好地应用于不同网络中。该系统具有较高的安全性,费用低且容易实施,可以很好的应用于通话保密要求较高的场合。

IP电话

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

copyright 2004-2013     粤ICP备12061155号-1

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