首页>>>技术>>>VoIP

让基于SIP协议VoIP网络更加安全

2008/05/09

  我们曾经讨论过如何保护一个VoIP网络免受黑客攻击和侦听——这需要一个多层安全策略。而这么一个策略的重要部件,则是对提供呼叫信号的协议进行保护。

  SIP协议已经作为一个非常流行的呼叫信号协议而日益得到普及,选择它的理由也很多,比如相对于传统的H.323协议,它更具简单性,以及设计上的轻巧性。因此,对一家选择了 基于SIP协议部署VoIP的公司来说,好好考虑一下,应当如何以一种安全的方式来实施SIP就显得非常重要了。不过,SIP协议的开发者们当初在设计时并没有考虑到安全方面的问题,所以如果直接将SIP设备加入你的IP网络,往往会带来额外的安全问题。下面就让我们看一下,如何做才能 让SIP通信更加安全。

  了解风险

  由于某些安全机制的原因,SIP的呼叫信号信息及通话非常容易被人窃听和侦听(也就是说,数据被劫持),或者很容易受到中间人攻击,呼叫篡改攻击,语音重播攻击,以及拒绝 服务等攻击。

  下面是这些攻击所能造成的安全风险:   幸运的是,我们还有些安全机制可用于保护SIP网络免受上述这些风险的威胁。

  使用TLS保护SIP网络

  一般情况下,SIP数据包通过TCP或UDP连接,以纯文本的方式进行传输,所以非常容易受到黑客的伪造和攻击。为此,RFC 3261定义了SIPS(安全SIP,Secure SIP),一种使用TLS (传输层安全,Transport Layer Security)的安全传输方法,而TLS则是SSL(安全端口层,Secure Sockets Layer)的新式改进版本。

  Netscape最初开发SSL是用于基于网页的安全传输。TLS提供了一个加密信道,以便你用于传输SIP信息。不过,要想使用SIPS,你的VoIP设备必须首先支持该协议才可以。

  SIPS要求来自SIP用户以及代理的认证信息,该认证使用MD5校验机制。该RFC标准同时还定义了一个SIP统一资源标识符URI(Uniform Resource Identifier),可用于从一个端点 到另一个端点提供安全连接。

  根据公钥加密技术,TLS依赖于数字证书进行加密。这里是它的工作模式:
  1. SIP客户端连上SIP代理。

  2. SIP客户端向代理请求一个TLS会话。

  3. 代理返回一个有效的公共证书。

  4. 客户端验证该证书。

  5. 客户端和代理交换会话密钥

  6. 以后会话中的所有数据均使用该会话密钥进行加密和解密。
  SIPS需要端到端(也就是说,电话到电话)的TLS保护。而在对话机基础上使用TLS也是可以的。另外,你也可以配置那些可使用SIPS的设备仅接收TLS加密过的呼叫。

  你的防火墙支持SIP软件么?

  对一个连到互联网(或其他任何不能让人放心的网络)上的企业来说,防火墙是安全策略中绝对必要的部分。不过,像其他VoIP协议一样,SIP也常会在穿越防火墙或NAT(网络地 址解析,Network Address Translation的简称)设备时发生问题。

  企业常常会配置防火墙仅接收那些由内部计算机所发起的外部通信连接。问题是,SIP使用两个不同的连接——每个连接都使用各自的端口——来建立VoIP电话呼叫。一个连接传输 呼叫信号信息,另一个则传输实际的语音通讯(也就是说,媒体信息)。

  如果你是朝本地局域网外部拨打一个电话,那么发送出去的初始信息就承载了呼叫信号。对你所呼叫的IP电话机而言,这就是一个“邀请”信息。

  当你要呼叫的人应答电话时,他的电话机会返回一个确认信号。该信号会通过控制呼叫信号的端口传回来。由于是通话是由你发起的,所以这个信号可以正常穿越防火墙而返回。 但是,你的防火墙却很可能拦截同时进入的语音数据,因为它来自一个完全不同的端口,这样防火墙就正好拦截了打入的电话。

  有一种叫做“会话控制器”的设备,可以解决SIP穿越防火墙和NAT设备时所遇到的问题。这是一个在公共网络上的设备,直接为你的VoIP客户端提供一个公共IP地址,并在一台公 共服务器上注册。

  不过,要保护你的VoIP网络,你还需要一个支持SIP的防火墙。因为对普通的防火墙来说,SIP的数据太难以检查了。SIP网络使用一个实时传输协议(RTP),以及一个“实时传输 控制协议(RTCP)”,来从一台IP电话向另一台IP电话传输具体的媒体信息(会话语音数据)。

  因此,一台支持SIP协议的防火墙需要能发现SIP在建立会话媒体数据流时所动态赋予的RTP/RTCP端口信息。这意味着该防火墙必须解析SIP的交换过程,以发现哪个数据包中含有媒 体数据。而端口信息可以在许多不同的SIP数据包中出现。一台支持SIP的防火墙必须能够了解SIP的交换过程,并从中获得相应的信息。

总结

  对主要的VoIP协议来说,当初在设计它们时,安全方面并不是设计主要考虑的一个问题,SIP协议也不例外。这一点和早期的电脑操作系统非常类似——以至于后来部署这些操作系 统时人们不得不再为它们添加必要的安全机制,因为它们根本没有提供任何安全方面的内容。

  因此,企业部署VoIP时,也必须采取措施来对VoIP协议进行保护。而让SIP网络可以变得更加安全的方法,除了可以使用配备TLS的SIPS(安全SIP)来对VoIP传输信道进行加密以外 ,还可以使用会话控制工具,以及使用支持SIP软件的防火墙。

ZDnet (www.zdnet.com.cn)



相关链接:
VoWLAN语音终端开发设计 2008-05-08
VOIP技术标准的走势与难点分析 2008-05-06
SIP获得成功的两大因素 2008-05-06
SBC在企业IP通信系统中的应用 2008-05-04
基于SIP的VoIP系统 2008-04-25

分类信息: