版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于改进sip协议的网络安全通信模型
1sip电话电话通信安全性分析随着信息产业的快速发展,多媒体通信业务将成为数据、视频和语音业务的进一步整合。现有的通信网与数据网正在加速融合成为下一代网络(NGN,nextgenerationnetwork)。其中以IETF(Internetengineeringtaskforce)为核心制定的会话初始化协议(SIP,sessioninitiationprotocol)是融合中的一个主要研究与应用的热点。SIP的主要功能是解决IP网中的信令控制。在IP网络分层模型上,SIP用来进行会话的管理、发起和终止会话、修改会话参数、调用服务、引入其他用户、设置转移呼叫、呼叫保持及建立、修改和终止有多方参与的多媒体会话进程,从而构成下一代的增值业务平台。借鉴于广泛存在的Internet协议如超文本传输协议(HTTP,hypertexttransferprotocol)和简单邮件传输协议(SMTP,simplemailtransferprotocol),SIP采用基于文本形式的IP电话信令协议,因而其信令信息易被攻击者模仿、纂改,并加以非法利用。信令消息中包含许多非常重要的参数如用户验证密码等,如果被非法用户截获并加以利用,将导致业务的被盗用或被干扰。此外,SIP用户广泛地分布于公用IP网上,IP地址不可知,安全防范范围大,这使得ACL(accesscontrollist)等安全措施较难部署,并且也不利于攻击发生之后的追查。与H.323相比,SIP信令协议的安全风险较高,必须采取有效的措施来提高SIP信令协议的安全性,以保证业务正常运行。目前,针对增强SIP通信安全性国内外的研究比较多,文献中作者建议应用层采用End-To-End,网络层与传输层采用Hop-By-Hop的安全机制来提高SIP通信的安全性;文献中作者从用户终端与代理服务器/注册服务器、中间服务器与中间服务器、终端系统与终端系统3个阶段介绍增强SIP的安全性的方法;文献中作者从IP层的IPSec保护,HTTPDigest的身份认证,散列函数对消息进行完整性检查,采用S/MIME的安全通信几个角度介绍增强安全性的方法。但以上文献都只是从理论角度提出了一些相关的安全策略,既没有详细的理论分析也没有具体的实验数据作为佐证,因而无法判断其有效性。文献中royalinstituteoftechnology(KTH)的JohanBilien等提出了使用SRTP保护媒体流,使用S/MIME和MIKEY保护端到端的认证和密钥交换,使用TLS逐跳加密SIP消息。该方法虽然能够带来一定的安全性,但由于这些安全措施并非完全针对SIP协议所制定,因而存在一定的局限性,如密钥交换中传输介质的选择。随着PKI(publickeyinfrastructure)技术的日益成熟,以此为基础实现的应用也越来越广泛。当今世界正逐步走向数字化,越来越多的文本、图像、音频和视频等都以二进制序列的形式被存储和传播。为了确定数字文档产生或被更新的时间人们提出了数字时间认证技术,并在信息安全方面得到很好的应用。本文首先介绍SIP网络模型,然后分析SIP网络目前遭受的安全威胁,最后结合PKI技术、数字时间认证技术及SIP网络的特点,提出了SIP网络安全通信模型,并且针对该模型进行时间延迟测试。实验结果表明该模型在有效的提高了SIP网络安全性的同时所带来毫秒级的时间延迟是可接受的。2安全通信模型2.1非法invite请求的攻击及防范由于SIP是基于文本的信令协议,因而容易被篡改、欺骗、窃听和伪装。典型的攻击方法如下:1)注册劫持:SIP注册机制用来解决域内用户在何处可以被访问的问题。SIP支持第三方注册机制,致使From域和To域对应的用户可以不同,攻击者通过修改From域的内容成为授权用户,进行恶意注册。但实现此类攻击必须满足攻击者和合法用户在同一个域内。2)INVITE包攻击:在SIP协议中,服务器对来自客户端的访问具有访问控制权限,只有域内的合法用户才能向服务器提交INVITE请求。将未在任何域内注册的用户呼叫某一域内的合法用户的行为称为非法INVITE请求。如果被叫者客户端支持客户端之间的直接会话建立机制,并且不存在对主叫方的身份验证机制,同一个域内的攻击者可以绕过服务器,直接向被叫者提交INVITE请求。3)re-INVITE攻击:re-INVITE请求就是在会话双方建立起正常会话之后,其中一个客户端向另一个客户端重新发起INVITE请求。这个re-INVITE请求一般会改变初始INVITE请求中SDP消息的会话参数。如果攻击者伪装成会话的一方,向另一方发起re_INVITE请求,在这个请求中修改SDP消息体的接收主机IP和端口号,媒体流就会重定向到攻击者的设备上。4)会话终止:会话终止攻击也称为Bye包攻击。由于SIP数据包报文采用ASCII传输,恶意攻击者可以通过截获通信双方的SIP数据包,提取其中的通信参数,如To域,From域,Contact域等,伪造成通信的中一方向另一方发BYE请求,从而切断会话。5)拒绝服务:通常SIPProxy需要接受SIP呼叫请求,因此直接面对开放的IP网络的众多终端设备,较容易受到DoS攻击。攻击者通过伪造一个虚假的IP地址和相应的Via字段假装是某个主机发来的请求,然后大量发送给SIP服务器,使服务器遭受DoS攻击。通过对以上典型攻击方法的分析可知,产生上述攻击的最根本原因就是认证的单向性,消息发送者身份的无法确认性,及消息的名文性。2.2业务通信的安全性信息的安全性就是要保证信息的完整性、机密性、可用性、抗否认性与新鲜性。完整性与机密性可利用摘要认证和加密的方式予以保证,可用性可通过授权访问予以实现,抗否认性可采用数字签名的方式予以证明,新鲜性可采用数字时戳的方法予以体现。SIP的通信从理论上可以分为3个过程:建立-通话-结束。实质上就是信令的安全性与媒体流的安全性。因而本文从信令的安全性与媒体流的安全性两个角度考虑。信令通信与语音通信过程中都需要保证信息的完整性、机密性、可用性、抗否认性与新鲜性。基于以上需求,结合相应的安全方法,提出了基于SIP网络的安全通信模型,模型如图1所示。借鉴公钥基础设施PKI与数字时戳,模型中引入证书权威机构CA(保证自签名证书的有效性)与时戳权威TSA。CA给下属的每个用户产生一对公私密钥对,公私密钥对通过安全信道传递给用户(密钥的发放可借助PKI,故在此不再赘述)。时戳权威(TSA,time-stampauthority)的任务是专门从可信时间源(如原子钟)获取精确的时间,向PKI内的各个实体提供时戳服务。利用CA分配的公私密钥对对信令消息中的必要部分进行加密,保证信令消息的完整性和机密性;利用数字证书保证信令消息的可用性与抗否认性;利用TSA提供信令消息的新鲜性证明。从而有效的保证了呼叫建立阶段信令消息的完整性、机密性、可用性、抗否认性和新鲜性。信令的建立可以分为注册和呼叫建立两部分。借鉴原有的通信流程和上述安全手段重新制定相应的协议保证其消息的安全性。2.2.1sip协议的安全机制目前,SIP在注册过程中采用的认证机制为HTTP摘要认证。摘要认证机制基于挑战/应答方式,应答中包含一个有效的校验和(checksum),即摘要。假定客户端和服务器都知道一个有权使用资源的用户名和密码。当客户端第一次申请资源时,若未提供合适的认证,服务器将在响应中指明一个特有值nonce。客户端收到nonce后,产生一个新的请求,请求头中包括:digestusername,realm,nonce,uri和response消息,其中,response是对服务器发送nonce的响应,是由用户秘密信息和nonce杂凑产生的一个32位十六进制数编码的摘录值。当服务器再次收到请求时,用同样的杂凑函数计算出摘录值response,与请求中的response相比,若完全相同,就表明身份已经证实有效。其流程如图2(a)所示。由于在nonce中加入时戳和uri,使不同时间片中的nonce不同,中间窃听者即使原封不动地把response照抄下来,也会因时间已过期而不能得逞。即使窃听者能够准确地改回系统时间,也只能访问由Etag标识的某一文档,而不能访问其他文档。采用这种机制,使得客户机与服务器的共享密码不以明文形式在网络中发送,提供了一定程度的认证保密性。但该安全机制仍存在着一定的机制缺陷:1)只能提供服务器对客户机的单向认证,容易遭受服务器伪装攻击。2)摘要算法单一固定,目前主要使用MD5。3)不具备密钥协商功能,无法保障认证结束后的安全通信。针对SIP中认证方案存在的不足,结合SIP认证过程中存在的安全问题,及SIP协议流程提出新的注册子协议。该协议应提供双向认证和时间同步功能。新的注册子协议:客户端与服务器之间的相互认证过程;如相互认证通过,则客户端应根据服务器端时钟进行调整,实现时间同步。设TC为客户端向TSA获取可信时间产生的随机数与本地时间的组合,TS表示TSA返回给客户端的TC与可信时间的组合。SSK、SPK分别表示服务器的私钥与公钥。CSK、CPK分别表示客户端的私钥与公钥,Sign为对消息进行Hash之后的结果的签名,流程如图2(b)所示。协议如下:1)客户端首先产生注册信令,并将整个信令进行Hash,生成Hash结果H,然后用CSK对H和用户名进行签名形成Sign,最后构造注册数据包并发送给服务器。数据包中包括Register信令、TC和Sign。2)服务器首先对整个信令消息进行Hash得到H,然后用CPK和H对Sign进行验证。如果验证通过则获取当前Internet标准时钟,并将当前时间附着在TC之后生成TS,重新生成整个信令的Hash值H,并用SSK进行签名形成Sign。最后构造回应数据包200OK并回应给客户端,数据包中包括200OK信令、Sign和TS。3)客户端首先对整个信令消息进行Hash得到H,然后用SPK和H对Sign进行验证。如果验证通过则根据TS校对时钟,注册成功。由于在数据包中增加发送方的数字签名,这样冒充任何一方的攻击都难以实现;通过Hash算法保证消息的完整性;通过时间同步可校对客户端时钟,并可防止消息重放攻击。时间同步子协议:确保客户端与标准时钟同步。在注册过程中,如果客户端与服务器端时钟差异较大就可能产生消息重放攻击与伪装攻击。因服务器的时钟为可信时钟,所以客户端应与服务器的时钟同步。在此客户端需要可信时间获取协议,协议流程如下:1)客户端产生一个随机数N,将这个随机数用SPK加密,连同对当前时间的请求形成TC发给TSA。2)TSA收到客户端的时间获取请求后,用SSK解密。TSA将TC、当前时间连在一起,并用SSK加密生成TS,并发送给客户端。3)客户端收到TSA的响应以后,用SPK解密TS,并比较TSA发送的随机数与客户端发送的是否相同,如果验证通过,则认为收到的时间的确是TSA发来的,用该时间校对自己的时钟。客户端在时间请求中加入随机数可防止重放攻击,随机数使用TSA的公钥加密,就保证只有TSA可以知道随机数的值。TSA对TS用私钥加密,保证了第三方不能冒充TSA来响应客户端的时间请求。该协议由于采用公私钥加解密运算和网络迟延,会有一定误差,但误差应在秒级别上。在呼叫建立阶段,为保证消息的抗否性,客户端希望TSA给他发送的消息加盖数字时戳,由于TSA被客户端无条件信任,因而当此条消息被加盖数字时戳后,就可以确认消息发出的时间。通过增加时间同步子协议可以防止消息重放攻击和伪装攻击,通过加盖数字时戳可以防止发送者对在某时所发消息的抵赖性。在注册过程中还有一个问题需要解决,即漫游注册。漫游注册子协议:保证合法注册的用户异地通信问题。协议流程如下:1)客户端首先产生注册信令,并将整个信令进行Hash,生成Hash结果H,然后用CSK对H和用户名进行签名形成Sign,最后构造注册数据包,发送给当地代理服务器LP(localproxy)。数据包中包括Register信令、TC和Sign。2)LP首先对信令消息进行解析,如果发现该客户端非本代理服务器注册用户,则向重定向服务器发送请求,解析该客户端的代理服务器RP(remoteproxy)的IP地址,并将呼叫请求转发给RP。3)RP对客户端进行认证,如果验证通过则回应LP200OK信令,并且信令中包含客户端的CPK,如果验证不通过则返回403错误。4)LP接收RP返回的信令,如果是200OK,则构造200OK信令,并对整个信令消息及用CPk加密的SPK进行Hash得到H,然后用SSK对H进行签名形成Sign。获取当前Internet标准时钟,并将当前时间附着在TC之后生成TS。最后构造回应数据包200OK,数据包中包括200OK信令、Sign、TS和(SPK)CPk。否则返回403错误。客户端首先用CSK解密得到SPk,然后对整个信令消息进行Hash得到H,用SPK和H对Sign进行验证。如果验证通过则根据TS校对时钟,漫游注册成功。2.2.2invite电话呼叫建立是指从呼叫方发起INVITE信令起到被叫方回应200OK的过程。为保证消息的完整性和抗否认性,在呼叫建立阶段所有的消息都要进行Hash并使用数字证书;密钥协商的目的就是为媒体流通信协商通信密钥,以提高信息的机密性和可用性。媒体流通信对速度的要求很高,而密钥协商过程对安全性要求很高,故在此采用混合密钥机制,即在密钥协商的过程中采用非对称加密算法,媒体流通信采用对称加密算法。借鉴原有呼叫流程,增加以上安全策略后,形成新的呼叫建立子协议。协议流程如图3所示,其中虚线表示从caller到callee的信令流,实线表示callee到caller的信令流,粗线表示媒体流。具体协议流程如下:1)客户端UA1发送INVITE请求给代理服务器S1,消息中包含INVITE请求,Sign(UA1对整个信令信息Hash后结果使用私钥CSK1签名的结果),UA1的公钥CPK1。2)S1首先对整个信令消息进行Hash得到H,然后用CPK1和H对Sign进行验证。如果验证通过,S1对其转发的INVITE信息Hash得到H,并使用SSK1对H进行签名得到签名值Sign。然后利用重定向服务器找到被叫者的代理服务器S2,并将呼叫请求转发给S2,请求消息中包括转发的INVITE请求,CPK1,Sign。3)S1回应Trying消息给UA1,消息中包括Trying信令和Sign(S1使用SSK1对Trying信令进行Hash后得到的H进行的签名)。4)S2转发呼叫请求给UA2,消息中包括INVITE请求、CPK1和Sign(S2使用SSK2对INVITE信令进行Hash后得到的H进行的签名)。5)S2发送Trying信令给S1,消息中包括Trying信令和Sign(S2使用SSK2对Trying信令进行Hash后得到的H进行的签名)。6)UA2发送Ringing消息给S2,消息中包括Ringing信令,CPK2和Sign(UA2使用CSK2对Ringing信令进行Hash后得到的H进行的签名)。7)S2转发Ringing消息给S1,消息中包括Ringing信令,CPK2和Sign(S2使用SSK2对Ringing信令进行Hash后得到的H进行的签名)。8)S1转发Ringing消息给UA1,消息中包括Ringing信令,CPK2和Sign(S1使用SSK1对Ringing信令进行Hash后得到的H进行的签名)。9)UA2发送200Ok消息给S2,消息中包括200OK信令、使用CPK1加密的UA2支持的加解密方法M2和Sign(UA2使用CSK2对200OK信令进行Hash后得到的H进行的签名)。10)S2转发200OK消息给S1,消息中包括200OK信令、使用CPK1加密的UA2支持的加解密方法M2和Sign(S2使用SSK2对200OK信令进行Hash后得到的H进行的签名)。11)S1转发200OK消息给UA1,消息中包括200OK信令、使用CPK1加密的UA2支持的加解密方法M2和Sign(S1使用SSK1对200OK信令进行Hash后得到的H进行的签名)。12)UA1回应Ack消息给UA2,消息中包括Ack信令、使用CPK2加密的语音通信过程中使用的加解密方法MC和Sign(UA1对整个信令信息Hash后结果H使用私钥CSK1签名的结果)。13)媒体传输之后,UA1发送Bye消息给UA2,消息中包括Bye信令和Sign(UA1对整个信令信息Hash后结果H使用私钥CSK1签名的结果)。14)UA2回应200OK消息给UA1,消息中包括200OK信令和Sign(UA2对整个信令信息Hash后结果H使用私钥CSK2签名的结果)。说明:1)每个信令的发送之前,都会对收到的信令进行验证,故只在第2)步进行解释,3)~14)步略去。2)TSA对每条经过自己的消息都进行HASH,然后将Hash结果和时间戳一起保存,以便以后核对使用。3)第12)步中,UA1使用CSK1提取M2,与自己支持的加解密方法进行匹配,如果匹配不成功则在ACK信令发送提示;如果配匹上一种,那么通信过程中就使用该方法进行加解密;如果匹配结果大于一种,那么随机选取2种分别用于双方发送的信息。4)第1)、9)、11)和12)构成了密钥协商子协议。至此,利用此安全通信模型进行的信令与语音通信已经完成。和原有的系统相比有以下改善:1)使用双向认证,使伪装攻击难以实现,提高了系统的可用性。2)借鉴PKI体系结构,在信令消息中增加数字证书,使窃听、篡改、伪装、媒体流重定向等攻击方式难以实现,保证信令消息的完整性、机密性与抗否认性。3)使用数字时戳,使重放攻击难以实现,并提供了证明消息新鲜性的有力证据。4)借鉴TSA,提供获取可信时间、时间签名和时间同步,提高了系统的可用性。5)针对媒体流通信,增加密钥协商功能,且媒体流通信中采用的加解密方法仅由通话双方进行协商,使媒体流窃听与篡改难以实现,提高了媒体通信的机密性与完整性。6)当通信双方支持的加解密方法多于一种时,双方采用不同的加解密方法对发送的媒体流进行加密,即使窃听者破解了一种加密方法也只能得到单向数据流。提高了媒体流传输的安全性。采用混合密钥机制,媒体流通信中采用对称密钥对媒体流进行加解密,增强了媒体流通信的机密性;密钥协商阶段采用公私钥机制,提高密钥协商的机密性。3系统通信模型测试在基于SIP网络的安全通信模型中增加了加解密、签名/认证、认证时戳和时间同步等安全措施,这些安全措施在提高通信中信令流与媒体流安全性的同时也会产生一定的时间延迟。为了测试该安全通信模型的可用性,设计并搭建了如图4所示的测试环境。两台客户端zzx与heartIP地址分别为8和00,硬件配置为CPU:PⅢ800、内存:128MB,软件配置为WindowsXP操作系统,装有支持标准的SIP客户端软件SJPhone和支持加密的SIP客户端软件;两台服务器和IP地址分别为33和,其中装有支持标准的SIP服务器端软件OPENSER,装有支持加密的SIP服务器端软件。硬件配置为CPUP42.4GHz*4、内存1GB,软件配置为Linux2.4.18-5操作系统。窃听者IP地址为7,硬件配置为CPU:PⅢ800、内存:128MB,软件配置为WindowsXP操作系统,装有ethereal-0.99.0-1网络数据流监听工具,监听服务器和客户端之间的通信。服务器、客户端和窃听者通过100M集线器互连。实验中zzx作为caller,heart作为callee,并且都在33上进行注册。以一个典型的呼叫建立过程为例:zzx通过33向heart发起呼叫。其中zzx、heart和server收发信令过程如图5所示,其中,zzx、server和heart分别收发信令5、9和4条,分别标记为0-4、0-8和0-3。在安全通信模型中需要用到对称加密算法、非对称加密算法、数字证书和Hash。在本次测试中对称加密算法选取des-cbc,非对称加密算法选取RSA,数字证书中加密和认证算法采用RSA,Hash算法采用sha-1。采用上述安全策略之后,捕获一次完整呼叫过程的数据包,图6从上至下依次列出第1个、第4个、第6个和第8个数据包的内容。从图6可以看出,在第1个数据包中增加了呼叫者的公钥caller_pubk和签名sign;在第2个数据包中增加了被叫者的公钥calle
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年《英雄王守卫》演讲稿范文(2篇)
- 2025年商场客服部工作计划范文(2篇)
- 设备检查管理制度范文(2篇)
- 2025年标准化工地建设管理实施细则范文(2篇)
- 2025年广告公司销售工作计划范文(二篇)
- 2025年幼儿园安全保卫工作计划(4篇)
- 2025年科室护理工作计划范例(2篇)
- 小学消防安全管理规定模版(3篇)
- 幼儿园安全教育活动方案样本(二篇)
- 2025年铁艺制作安全操作规程(2篇)
- 电除颤的并发症预防及处理
- 《理想信念教育》课件
- 2023年高级EHS工程师年度总结及下年工作展望
- 《城市规划原理试题》(附答案)
- 110kV升压站构支架组立施工方案
- 钢构件应力超声检测技术规程
- -《多轴数控加工及工艺》(第二版)教案
- 体 育 课 教 学 评 价 量 表
- 23秋国家开放大学《汉语国际教育概论》阶段测验1-2+教学活动1参考答案
- 新员工信息安全课件培训
- 小学英语-Unit3What would you likePartB Let's talk教学设计学情分析教材分析课后反思
评论
0/150
提交评论