加密/解密算法及其相关密钥是解决消息机密性的常用工具。加密算法有很多种,算法中还有各种模式,密钥实施类型也各不相同,这就使可能的实施配置数目繁多。先进的加密标准 AES和三重数据加密标准(3DES)是两种常见的加密方案。消息摘译是使用密钥创建消息认证码(MAC)并提取预编码信息进行消息完整性及认证的算法。消息摘译5(MD5)和安全散列算法1(SHA-1)是两种用于认证的常见算法。公共密钥交换和密钥分配(如用于上述加密和认证方案)对整体安全系统至关重要。ITUx.509 标准定义了获得密钥数字签名的格式,这就为密钥认证提供了权限。
IETF 通过 IP 安全协议(IPsec)来解决互联网数据应用的安全性问题。该协议层的目的在于提供密码安全服务,可通过协议栈中立即运行于 IP 层之上的网络层安全性灵活地支持认证、完整性、访问控制和机密性的结合。IPSec 为传输控制协议(TCP)或Unigram数据协议(UDP)层及以上提供了安全性,它包括两个子协议:IPsec 封装安全有效负载(ESP)与IPsec认证报头(AH)。ESP 是上述二种协议中更常见的一个,它通过保证任何跟随在分组报头之后内容的安全性实现了认证、完整性、回放保护(replay protection)和机密性。AH 可实现认证、完整性和回放保护,但不具机密性。
除使用 UDP 之外,VoIP解决方案通常采用实时协议(RTP)传输电话有效负载,采用实时控制协议(RTCP)用于消息控制。安全RTP(SRTP)是当前IETF的一项草案,为 RTP 提供了安全配置文件(security profile),向数据包添加了机密性、消息认证及分组回放保护,专门解决了互联网上的电话技术应用问题。SRTP 的目的在于只保证 RTP 和 RTCP 流的安全性,而不提供完全的网络安全架构。SRTP 使用RTP/RTCP报头信息与 AES 算法,得到代数方法上适用于 RTP/RTCP 有效负载的密钥流。SRTP 可调用基于散列的消息认证码(HMAC)——将可 SHA1 算法用于认证功能。
早期实施——PacketCable
尽管目前大部分 VoIP 部署的安全特性仍然为数不多,采用也不广泛,但 VoCable 市场部分还是有一定的安全实施的。有线电视服务供应商一直以来都担心其基于有线线路的服务会有安全性与盗用问题。因此,上述供应商在进入语音市场过程中积极推广安全特性,这并不足为奇。
PacketCable 规范集是 CableLabs 计划的一部分,其中包括完整的安全语音通信规范,其要求:1)载体通道信息、RTP 与 RTCP 分组(语音、电话数据)加密和认证,(AES)和MMH分别是用于RTP的标准,AES与SHA1或MD5用于RTCP;2)电话信令信息的机密性和消息的完整性,该功能由IPSec ESP 传输模式支持,其实施 ESP_3DES 和 ESP_Null 作为加密算法(在信令有效负载上执行,而非在报头上)。IPSec ESP_AES 是信令的可选算法。SHA1 用于认证;3)带有PKINIT的Kerberos用于创建 IPSec 安全关联,并在 PacketCable 呼叫管理服务器与电话终点或媒体终端适配器之间分配密钥。
VoIP 企业可从 PacketCable CableLabs 已完成的测试和认证进程工作中大大受益。举例而言,最初由 PacketCable 指定的语音有效负载加密算法是 RC4 算法。但是,RC4 编码方案包含 RTP 有效负载加密,而且我们发现,如果数据包丢失的话,关键性端到端的定时信息将无法恢复。因此,我们就选择了 AES 分组算法(仅用来加密负载)来替代RC4。
尽管在某些方面 VoIP 比传统基于 TDM 的解决方案更易受到安全问题的干扰,但实际上在 VoIP 系统中实施并部署安全特性要更为简单。安全通信会成为 VoIP 系统相对于传统的 PSTN 通信而言所提供的一种增值特性。支持安全的 IP 语音通信所必需的基础设施建设进展顺利。随着 IETF 中的安全 RTP 工作不断发展,相关机密性和认证实施也将开始渗透 VoIP 市场。
赛迪网 中国信息化(industry.ccidnet.com)