本文分析了SIP面临的安全威胁以及现有SIP安全机制的现状。引入密码技术,提出了SIP电话系统的综合安全保密措施,并进行了安全性分析。能够解决安全接入、身份认证、密钥协商、信息加密的安全问题,使SIP电话通信更加安全可靠。

目前,党政、军队以及很多重要部门和团体已建立了自己的私有IP网络,利用了所有的IP技术,部分单位在语音通信领域引入了SIP技术,构建了SIP电话系统。

SIP电话系统包括IP网络和SIP电话终端,由于本身技术机制问题,SIP电话系统面临着两个方面的安全威胁,主要包括:一是对IP网络的攻击,二是对SIP电话终端的攻击。

SIP电话系统面临的威胁

1.1IP网络安全威胁

基于IP技术的下一代网络(NGN,Next Generation Network),提出了开放的网络架构,使得网络极易受到威胁。可能面临如下攻击:非授权访问、拒绝服务攻击、偷听、伪装。

1.2SIP电话面临的安全威胁

SIP是一种基于文本的协议,以文本形式表达消息,很容易被攻击者模仿、篡改和非法利用。可能面临以下攻击:注册攻击、重放攻击、拒绝服务、伪装与欺诈、消息篡改、会话终止。

到目前为止,SIP电话系统还没有一种成型的技术体制能够全面应对上述两方面的安全威胁。为进一步提升SIP电话的安全性能,亟需提出SIP电话系统的综合性安全保密措施。

SIP电话通信的安全措施

综合来看,SIP电话的通信安全需要从以下五个方面寻求重点突破,主要包括:访问控制、身份认证、机密性、完整性和不可否认性。

目前,成型的密码技术恰恰能够解决上述安全需求。从SIP电话通信机制(包括三个流程,即呼叫、建立链接、通话)来看,需要从安全认证、信令安全、媒体流安全三个方面采取有效的措施,全方位的保障SIP话音通信的安全性。

2.1 安全认证措施

主要采用密码学技术,从两个方面引入安全认证措施。

2.1.1 安全接入

安全接入是指用于SIP电话终端接入到SIP网络前,需要通过接入网络完[2]成对SIP电话终端的接入控制,使得合法的用户终端可以接入到网络,而拒绝非法接入的用户终端。

结合系统特点,借鉴基于MD5密码算法的IEEE 802.1x认证方式设计一套适用于SIP电话系统的网络接入机制是实现SIP电话的接入认证的很好选择。

2.1.2 身份认证

在实际运用过程中,SIP电话的身份认证是指在SIP电话通信前,必须确认双方身份,只有合法的设备可进行通信。

在该系统中,安全认证机制包含两部分:SIP电话终端间的业务认证、终端与管理中心的管理认证。采用基于密码学数字证书PKI系统的认证方式可以实现SIP电话管理中心对SIP电话终端、以及SIP电话终端间的身份认证。流程如下:

(1)管理认证

管理中心CA给各密码设备下发管理设备证书(根公钥RPK)、加密设备公钥PK(每个设备存储自己的私钥SK)。管理中心用根私钥进行加密并对其进行签名。

假如下发给A相关的RPK、PKA,此时A用根公钥RPK验签名。如果验证正确,说明管理中心是可信方。

(2)业务认证

与管理认证一样,包括证书交换和认证两部分。

证书交换:A、B双方,交换公钥证书;

验证:A用自己的私钥SKA加密数据SKA(data),B用A发过来的公钥证书CertA进行验证。同样,B用自己的私钥SKB加密数据SKB(data),A用B发过来的公钥证书CertB进行验证。

2.2 信令安全措施

信令安全分析:信令保护是防止呼叫服务被盗、避免合法呼叫中断或窃听的关键。信令消息的安全性[5,6]主要包含4个方面:完整性、机密性、可用性和真实性。SIP信令安全性分析如表1所示。

2.2.1 传输层安全(TLS)保护

基于密码算法的TLS在网络传输层提供了端点身份认证与通讯保密,其基础是公钥基础设施(PKI)。建立TCP链接后,TLS客户端发送ClientHello以发起握手,TLS服务器端以ServerHello响应。

这里,确定通信所需算法,然后发送证书。客户端收到消息后,生成一条秘密消息,使用TLS服务器的公钥对其进行加密,并将其传递。TLS服务器端用自己的私钥解密后,会话密钥协商结果,双方即可以通信。

2.2.2HTTP摘要身份认证

SIP信令采用基于HTTP的质询/响应机制,即仅接受有证书的请求,对没有证书的请求,可用401/407请求另一方重新发送包含认证信息的请求。

HTTP摘要认证是服务器端通过基于MD5密码算法发送摘要信息取代直接发送明文密码。

同时,为防止重放攻击的发送,服务器向客户端发送一个随机数,这个数值时刻发生变化,使得摘要信息每次都不相同,从而来完成HTTP的安全认证方式。引入此认证方式后,SIP服务器具备了对SIP电话终端的单向认证能力。

2.3 媒体流安全措施

除SIP信令需要保护外,传输的话音业务也需要保护。目前,SIP网络中使用的多媒体传输协议是实时传输协议(RTP)和实时传输控制协议协议(RTCP)。IEEE扩展了RTP协议,并提出了安全实时传输协议(SRTP),该协议采用密码技术,增强了安全性,并定义了数据加密、消息认证、完整性保护和重放攻击保护的安全措施,以弥补RTP和RTCP协议的安全性不足。

SIP媒体流加密可以采用序列算法加密或分组算法序列化加密方式。只要通信双方能够产生对称密钥,并采用约定的加密算法对RTP和RTCP数据进行安全保护,即可以有效的保护媒体流。问题的核心是如何动态的协商通信双方的会话密钥。

2.3.1 密钥协商

Mikey协议中给出了三种协商两个通话终端之间密钥的方式。

第一种:预分配密钥。两个通话终端中预分配一个主密钥,通过协议交互参数,并使用主密钥和参数来产生媒体的加密密钥和验证密钥。

在这种方式下,网络扩展性问题很大,只能在一些预分配密钥的终端之间通话。另外,一旦有一个终端沦陷,则整个网络的通话安全无法保证。

第二种:公私钥和证书机制。发送方使用通话接收端的公钥来加密发送会话密钥。这种方式下,安全性得到了保障。这种方式下,使用非对称加解密方法,对于价格低廉计算能力较差的电话终端很难实现计算要求。

第三种:Diffie-Hellman密钥交换算法。发送方产生随机数,通过计算得到RandA,发送给接收方B。同时,对协商报文进行完整性、可认证性保护,传递给接收方B。接收方B验证RandA的有效性,然后进行协商报文的完整性、可认证性验证。最后,双方通过计算协商出本次通信的密钥WKAB和WKBA。

根据SIP通信的特点,选择第二种、第三种方式结合的方法,实现密钥协商,能够规避单一密钥协商算法的劣势,提高整个密钥协商过程的可靠性。

2.3.2 媒体流加密

通信双方协商得到会话密钥后,就可以采用加密传输协议进行加密封装。SRTP加密传输协议基于标准RTP协议,对协议进行适当改造,增加对多媒体业务的防重放和完整性保护。

加密传输协议沿用标准RTP头部定义,数据域携带密码信息、加密业务数据信息和校验数据。数据包格式定义如图1所示。

图1 加密传输协议数据包格式

安全性分析

对于第1节中,提到的SIP存在诸如注册欺骗、冒充服务器、篡改消息体等的方面安全问题,本文提到的安全认证措施和信令安全措施提供了SIP管理中心对电话终端之间的单向认证,解决了注册欺骗和冒充服务器的问题。

此外,媒体流安全措施对发送的整个媒体流进行加密,解决了窃听和篡改消息的问题。

3.1 对于身份欺骗攻击

媒体流加密用的工作密钥通过公钥算法协商产生,敌方难以通过对协商过程的攻击获得共享的秘密数据。由于攻击者无法获取A或B的私钥,因此无法生成有效的数字签名。

并且,即使攻击者截取该消息然后使用他的公钥而不是合法通信者的公钥,并用他的私钥对该消息进行签名,接收者也可以检测到。

3.2 对于拒绝服务攻击

在业务处理层采用适合于高速过滤处理的认证加密算法,通过高性能硬件处理,抵御大范围高强度的业务层攻击;在密钥管理层,通过挑战应答机制缓和大运算量的响应处理,避免了对密码服务的攻击。

3.3 对于消息的篡改攻击

由于攻击者无法生成有效签名,因此接收者将会发现对信息中关键部分的任何改动。攻击者可以修改信息头via中的内容,将自身插入到信息的转发路径并监听。但,对于媒体流又做了加密处理,因此即使被监听,也不会产生严重后果。

3.4 对于会话的终止攻击

在呼叫建立过程中,BYE消息进行认证,即消息只接受从会话另一方发送的BYE消息。如果保证会话的隐私性,则攻击者无法获取消息参数,也就无法伪造BYE消息。

结语

目前,IP网络已经逐步取代PSTN网络,成为通信的骨干网络,在部署方便、应用灵活的同时,带来了严重的安全问题。

SIP话音通信存在各种安全隐患,包括注册攻击、消息篡改等最常见的攻击方式。SIP电话系统设计时,应该充分应用密码技术,并进行部署实施,才能保证通信的安全性。

本文从安全认证、信令安全、媒体流安全等方面,提出并论证了SIP电话的安全威胁、安全机制以及应采取的安全措施,保证了SIP电话系统的安全性。

宋 坤(1982—),男,硕士,工程师,主要研究方向为信息安全;

胡 凯(1983—),男,硕士,工程师,主要研究方向为网络安全、通信。

选自《通信技术》2019年第十一期

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。