当前位置: 首页 >> 网络协议与安全 >> SIP安全的分析与实现
 

SIP安全的分析与实现

作者:      来源:http://blog.csdn.net/linuxcumt/     发表时间:2007-04-16     浏览次数:      字号:    

面对IP网络中的种种安全威胁,使用SIP协议怎样才能保证通话的安全性。已经成为一个亟待解决的问题。

1、SIP应用介绍

  SIP(Session Initiation Protocol)即会话初始协议,是由IETF(Internet Engineering Task Force)组织于1999年提出的一个在基于IP网络中,特别是在Internet这样一种结构的网络环境中,实现实时通信的应用层控制与信令协议。SIP协议用于控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性(如会话带宽要求、传输的媒体类型、媒体编解码格式,以及对组播和单播的支持等)。而所谓的会话就是指用户之间的数据交换。在基于SIP的应用中,每一个会话可以是各种不同类型的内容,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。今天,越来越多的运营商、CLEC(竞争本地运营商)和ITSP(Internet电话服务提供商)都在提供基于SIP的服务,如市话和长途电话技术、在线信息和即时消息、语音短信、push-to-talk(按键通话)、多媒体会议等等。独立软件供应商(ISV)正在开发新的开发工具,用来为运营商网络构建基于SIP的应用程序以及SIP软件。网络设备供应商(NEV)正在开发支持SIP信令和服务的硬件。现在,有众多IP电话、用户代理、网络代理服务器、VOIP网关、媒体服务器和应用服务器都在使用SIP协议。

2、SIP面临的安全威胁

  由于SIP是透过IP网络传送资料,因此要如何避免网络中的病毒与恶意攻击、避免被网络窃听等,已经成为采用SIP协议产品的最大考虑。SIP的安全性问题包含两个层面的思考。第一是数据封包的安全性,主要著眼于应用程序层次方面;第二是IP网络的安全性,主要著眼于网络实体层与传送层的问题。就网络架构来看,因为SIP不仅应用于企业内部的安全区域内,它的数据封包也会经过充满威胁与攻击的公网,所以,可以将SIP网络的威胁来源分为两种:外部的威胁与内部的威胁。外部的威胁主要是发生在语音资料封包流经一些不安全的网络、网络设备或者代理。内部威胁则是来自SIP呼叫的呼叫方或是被叫方。一般的企业会将防火墙内部的使用者视为是可信赖的安全使用者,一旦这些安全的使用者对SIP协议的网络具有危险性,将很难被识别追踪出来,更何况事前防范。综合SIP在应用层面与网络层面所面临的安全威胁,大致会有下列五种攻击:

  1.拒绝服务攻击(Denial of Service;DoS)-拒绝服务攻击对网络中的SIP代理服务器或者网关,发动未被授权的数据封包炸弹,以停止服务器的正常运作。

  2.网络窃听(Eavesdropping)-未经授权地拦截语音数据封包或是RTP的媒体数据流,而后将所获得的数据进行解码,窃取信息。

  3.封包伪装(Packet Spoofing)-攻击者伪装成合法的使用者来传送资料。

  4.重复传递信息(Replay)-攻击者不断重复传送一个合法的伪造信息给被叫方,致使被叫方的UA重新处理这个伪造信息。

  5.破坏信息完整性(Message Integrity)-攻击者在信息数据中插入具有攻击性质的数据,破坏通信双方传送信息的完整性。

3、SIP的安全策略

  面对IP网络中的种种安全威胁,使用SIP协议怎样才能保证通话的安全性,已经成为一个亟待解决的问题。

  3.1 SIP协议本身的安全机制

  从SIP协议本身来讲,SIP消息头可能会泄露关于交流模式或其他需要保密的信息,SIP消息体也可能包含不应该透露的用户信息(媒体类型、编解码方式、地址和端口等)。因此,SIP协议主要利用消息头和消息体为多媒体会话提供点到点或者端到端的安全机制。应用在SIP协议中的安全机制可以分为两类:端到端(end-to-end)的保护和逐段转接(hop-by-hop)的保护。端到端的保护机制主要涉及呼叫者和被呼叫者的SIP用户代理,是SIP特意对安全方面所做的一些考虑,如SIP认证和SIP消息体加密等;逐段转接机制是为了保证在消息的传送路径上两个连续的SIP实体之间的通信安全。SIP并没有专门提供用于逐段转接的安全保护功能,主要还是依赖网络层(IPSec)或传输层(TLS)的安全。

  SIP协议中主要使用两种安全机制:认证和数据加密。(1)认证用于鉴别消息发送者的合法性,以确保一些机密信息和紧急信息在传输过程中没有被窜改,防止攻击者修改或冒名重发SIP请求或响应。SIP使用代理认证、代理授权、授权和WWW鉴别头信息域等,以数字签名的方式进行终端的认证。而逐段转接认证可以利用传输层或网络层的安全协议(如TLS或IPSec)来进行。(2)数据加密用于保证SIP消息的机密性,只有经过授权的接收者才可以解密和浏览数据。数据加密一般需要通过使用加密算法如DES(Data Encryption Standard数据加密标准)或AES(Advanced Encryption Standard高级加密标准)来实现。SIP重用了HTTP和SMTP的安全模型。当然,信息的完全加密将为信令的机密性提供最好的保护,同时还可以保证信息不会被恶意中间媒介修改。但是,SIP请求和响应不能在端到端的用户之间完全加密,因为在大多数网络体系结构中,信息头域如Request-URI,Route,和Via对服务器来说必须是可见的,只有这样,SIP请求才能够正确地发送。同时,代理服务器需要修改消息的某些参数(如增加Via头域值)。因此,SIP UAs(User Agents)必须信任代理服务器。另外,SIP的实体还需要彼此之间相互鉴别。因此,SIP支持两种形式的数据加密:端到端加密和逐段转接加密。前者提供所有不需要中间代理服务器处理的信息(一些SIP协议头字段和消息体)的安全性保障,可以通过S/MIME(安全/多用途Internet邮件扩展,Secure/Multipurpose Internet Mail Extensions)机制实现对信息的安全保证。相反,逐段转接加密是为了保护需要中间实体访问的SIP消息(如From,To和Via字段)的安全性,以避免恶意攻击者了解到呼叫的双方或访问的路由信息。这种加密可以通过SIP外部的安全机制(如IPSec或TLS)来实现。

  在这里有必要讨论一下上面提到的IPsec和TLS。IPsec向来就是IP网络的主要安全机制,可以直接在IP层引入安全。通常IPsec根据网络节点标识来提供安全服务,而且这可以由SIP体系独立完成。正因如此,IPsec主要用于SIP实体之间,这些SIP实体可以拥有预先配置而且相当静态的安全联系,如同一个IP电话提供商的服务器。TLS通过TCP来提供传输层的安全,它适于在有动态联系的主机间需要逐段转接安全的体系。

 

图1 点到点与端到端的安全

  如图1所示,在路径D中需要实现端到端的安全性,可以由S/MIME机制保证。而在路径A,B,C中要实现每一跳的点到点的安全。在A段和C段,使用HTTP Digest Authentication。B段的安全性可以由IPsec和TLS来完成。

  3.2 现有网络安全架构对SIP通信的保障

  以上介绍的是SIP协议本身基于网络安全的考虑。在实际操作中,网络管理员也可以通过服务器的设定,来防范拒绝服务攻击(DoS),或安装防火墙等来过滤不正常的数据封包;对传送的数据封包进行加密,例如使用Secure RTP通信协议,来避免网络窃听;在各个合法的使用者之间,采用地址认证策略,来防止封包伪装攻击等。

四、结束语

  本文介绍了目前备受关注的SIP协议在安全方面面临的威胁。同时分析了SIP协议本身的安全机制以及结合现有网络架构可以采用的安全措施。

责任编辑 webmaster

 
 
 
 
 
评论更多>>
 
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •