SIP协议的安全性机制研究

SIP协议的安全性机制研究
赵鹏 通信一团技术室
    网络环境中的SIP协议需要安全机制保证信息传输的安全性。本文介绍了SIP协议在客户端和服务器段运用的安全性机制,包括客户端的主叫保密、认证字符串、处理可疑响应以及服务器端的注册服务器、代理服务器、Internet服务器采取的安全机制。
关键词  SIP协议  安全机制  服务器认证
1 引言
软交换是一种使用IP网络作为承载网络的技术,这使得软交换网络在发展过程中需要面对和解决IP技术本身存在的许多问题以及软交换技术作为一个新技术而存在的问题。软交换网络的通信协议和媒体信息主要采用IP数据包的形式进行传送,而且网络中接入的节点比较多,用户的接入方式和接入地点都非常灵活,所以软交换网络也就面临着比较突出的安全问题。
作为实现软交换技术的基本协议之一,SIP协议通过三类基本方式实现协议的安全机制。首
先,SIP协议中定义了形式为“UserPassword”的基本认证信息。它由本地用户提供,向远端用户或服务器查询是否具有访问该远端用户或服务器的权限,并通过被查询用户或服务器的响应信息得知查询结果。
其次,SIP协议在SIP消息中通过定义Call-IDEncryptionAuthenticationProxy-AuthenticationPriority-Authentication等消息头字段,实现了对呼叫序号唯一性、信息加密、服务器和用户访问权限、用户优先权限等方面的控制。
最后,SIP呼叫中的消息发送和接收过程按照加密、数字签名、检验数字签名、解密的顺序进行。SIP呼叫对用户使用的数字签名形式不作规定,但用户一旦选定某次呼叫的数字签名形式和消息加密方式,该呼叫中所有消息及消息中所有字段都遵从选定的加密规则。SIP点对点呼叫使用端到端的数字签名和消息加密方式,而由于SIP呼叫实现多方通信时仍然使用端到端建立呼叫的方式,所以端到端加密方式仍能满足呼叫中所需的共享信息加密。
基于上述三种基本方式,SIP协议在服务器端和客户端实现了安全性机制。通过对SIP协议的跟踪和研究,本文将从呼叫信息保密、可疑响应处理、认证字符串和认证机制等方面讨
论基于SIP协议的软交换网络中客户端和服务器的安全性机制的实现问题。
2 客户端的安全性机制
人体检测
在保护智能客户端时需要考虑的安全性保证问题包括身份验证、授权、数据验证、保护敏感数据、审核和日志记录、异常管理等。通过解决上述安全性问题,可以保证用户身份和权限的正确、确保信息的完整性、保护应用程序不受恶意输入的威胁,并随时跟踪网络环境配置的变化。
为了确保呼叫安全,排除接收到的干扰性和破坏性消息,SIP用户采取了一系列机制确保手法信息的安全性和可靠性。在发送请求时,SIP用户通过主叫保密机制保护主叫用户的本地URI信息;在收到呼叫请求时,SIP用户通过分析访问者在请求消息中提供的认证字符串,确认访问者的身份和权限;在收到响应消息时,SIP用户对不可靠的响应进行进一步确认和处理。
(1)主叫保密机制
可能造成用户信息泄露的原因有以下三个:首先,主叫用户在各类呼叫请求中的From字段
中提供的用户本地URI信息;其次,呼叫过程中被转发的SIP消息将在其Via字段中记录该消息经过的每一跳地址;最后,已建立的呼叫可能被截获,使后续消息传送到错误地址,泄露主叫的相关信息。
针对上述可能泄露主叫用户信息的渠道,SIP协议使用了下列的主叫保密机制,防止通过未经认证的渠道获得主叫用户信息。
SIP协议定义了Hide字段以限制其它用户对于主叫用户本地URI信息和Via的获取权限。主叫用户可以通过设置请求信息中的Hide字段,对收到请求的各类服务器或用户代理隐藏本地URIVia字段中的路径内容。
主叫用户在发起呼叫时将在请求消息中加入Call-ID字段。Call-ID字段的值是由呼叫发起时间的长整型值和一个大随机数为要素生成的,降低了通过伪造Call-ID截获呼叫的可能。
此外,主叫用户还可以在请求消息定义Encryption字段,表示用户对本次呼叫内容进行了端到端的加密处理,加密算法由认证字符串中的Algorithm值给出。
(2)认证字符串
野苹果园
用户通过请求消息中的AuthenticationProxy-AuthenticateWWW-Authenticate字段向UAS、注册服务器、重定向服务器、代理服务器、Internet服务器等提供鉴定自身身份的认证字符串。
认证字符串是区分远端用户在本地所有权限的重要机制,使得本地SIP用户可根据需要对每个远端用户进行不同的权限设定。在本章SIP类定义中介绍了认证字符串(authstr)中包含的参数。服务器通过用户提供的认证字符串参数及其取值,能够判断用户的身份(开关柜测温装置username)、所属区域(realm)、时间权限(nonce)、透明传输(opaque食用菌生产与加工技术)、消息加密算法(algorithm)等性质,并根据该用户性质做出相应的答复。
认证字符串中各参数的含义可以简单描述如下:
username:用户名参数。它是用户在SIP系统中的标识,是SIP URI的一部分;
realm:区域信息。它描述用户所属的网络区域或权限区域。realm信息必须包含进行认证的用户的主机名,此外也可能包含该用户所属的权限等级,如该用户属于具有呼出权限的用户。
nonce:时间权限参数。它是由服务器定义的字符串,服务器在每次发送401响应时都会生成唯一的base64或十六进制数据字符串nonce。用户收到该响应后将获得的nonce参数加入认证字符串。
nonce参数一般是根据呼叫的时间戳值生成的,这类nonce的主要作用是防止呼叫建立阶段中,以重复发送同一请求为手段的破坏性攻击。由于呼叫建立时间只持续几秒钟,重复性攻击的破坏作用不大,所以服务器只在呼叫建立期间使用nonce参数,呼叫建立之后不保留nonce的值。若需要通过nonceQDFILM进一步防止呼叫盗用,则需选取更不易仿造的序列作为nonce的内容,并且要求服务器在整个呼叫过程中保留nonce的值,以鉴别呼叫相关的请求和响应的真伪。
opaque:透明传输参数,标识用户是否使用透明传输机制,即是否隐藏呼叫中除被叫用户之外的所有消息转发地址。
algorithm:加密算法参数,标明消息采取的加密算法。
(3)处理可疑响应
破坏者可能对呼叫进行监听,并在呼叫过程中插入未经认证的响应,甚至伪造与某次呼叫加密方式相同的响应,对呼叫进行终止、重定向或其它干扰性操作。由于服务器必须转发收到的所有响应,不能对其进行忽略处理,所以用户需要对可疑的响应消息进行判断和处理。
对于3xx重定向响应,如果主叫在知道被叫需要认证信息,向被叫发送包含认证消息请求消息的情况下,收到未经认证的重定向响应3xx,主叫应当对其采取不信任处理。因为在这种情况下,被叫应向主叫返回确认认证成功并包含Contact字段的响应,并对其进行加密和数字签名,再将经过加密和签名的响应送至代理服务器,由代理服务器相主叫提供重定向消息。被叫不能在未向主叫提示认证失败的情况下,直接向主叫发起重定向操作。
主叫还需要注意处理可能直接终止呼叫的响应。
如果呼叫使用UDP传输协议,4xx请求失败响应、5xx服务器不可用响应和6xx摆度全局错误响应都可以造成呼叫终止;如果呼叫使用TCP传输协议,4xx5xx响应不会终止呼叫,但6xx响应仍然可以终止呼叫。
一般被叫用户代理不会要求认证,所以不容易探知响应真假,但是通过SIP逐跳加密的方式可以避免4xx5xx响应终止呼叫的问题;而对于6xx响应,在用户应要求6xx响应的发送方提供认证信息。在未经认证的情况下,用户将忽略该6xx响应,继续呼叫过程的进行。
3 服务器端的安全性机制
SIP服务器在呼叫进行过程中完成用户间的消息转发工作。在这一过程中,服务器作为提供软交换业务的核心,需要保持消息的完整性和存取控制权限,避免呼叫中的请求和响应被修改,所以其安全性是非常重要的。服务器安全性包括一系列广泛的主题,主要可概括为用户的登陆授权和业务使用授权两方面的内容。
在用户登陆方面授权,登录服务器通过用户ID和口令验证用户身份,并使用加密和验证方法以加密通信过程;在业务授权方面服务器通过用户提供的ID和口令对应查用户的业务使用权限,并可在呼叫过程中由用户发送服务器验证字段修改其可访问的业务。通过修改服务器的认证内容,管理员可以改变上述两种授权性质的安全验证机制,从而控制和改变用户在该服务器中的权限等级。
SIP协议中,不同类型的服务器通过相应类型的认证信息字段向客户端提示是否需要认证,并要求客户通过SIP请求消息中相应类型的认证信息字段提供包含多个参数段的认证信息。这些认证信息用于服务器方认证用户身份,保证呼叫不被第三方监听、破坏或盗用。UAS、注册服务器和重定向服务器使用401响应要求用户提供认证信息,而代理服务器则通过407响应要求用户提供认证信息。在必要的情况下,请求转发过程中所经过的每一跳服务器都可以向用户要求认证信息,以提供更高的安全性保证。
(1)注册服务器
注册服务器通过Authenticate字段获取用户的身份认证,限制非授权用户的进入。
当注册服务器收到用户的REGISTER请求,如果要求用户进行认证,则向用户返回401 Unauthorized响应。这一响应意味着用户未经授权,不能访问注册服务器,需要用户向注册服务器提供认证信息。
用户收到响应后,可以通过用户GUI详细地设置认证信息参数,并将这些认证参数通过再次发送的REGISTER请求传递给注册服务器。注册服务器将从收到的请求中提取认证信息
字符串,如果认证成功,注册服务器将根据请求用户的UserNamePasswordURI向该用户发送包含Authenticate字段的认证成功响应。
(2)代理服务器
代理服务器通过Proxy-Authentication字段限制用户使用通信信道(如电话网关)的权限和优先级。
当代理服务器收到用户的INVITE请求,如果要求用户进行认证,则向用户返回407 Proxy Authentication Required 响应。407响应和401响应相似,它表示用户必须首先向代理服务器提供身份认证。用户收到407响应后需要在INVITE请求中加入Proxy-Authentication字段,认证用户在代理服务器处使用业务的优先级和权限,并再次向代理服务器发送该请求。代理服务器从收到的INVITE请求中提取认证信息字符串,匹配认证信息参数。认证成功后代理服务器必须向用户返回Proxy-Authenticate字段的认证成功消息,指示用户能够成功地访问某一种或几种指定的业务资源。

本文发布于:2024-09-22 07:11:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/257795.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   认证   呼叫
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议