一种基于共享密钥的sip网络中传输层安全的实现方法

文档序号:7657578阅读:200来源:国知局

专利名称::一种基于共享密钥的sip网络中传输层安全的实现方法
技术领域
:本发明涉及采用会话发起协议(SIP)的网络,以下简称为SIP网络,特别涉及一种SIP网络中传输层安全的实现方法。
背景技术
:会话发起协议(SIP)是一类多媒体通信控制协议,目前已经在软交换、IP多媒体子系统(IMS)等网络中广泛应用。由于SIP运行在开力文的IP协议之上,其安全性一直是关注的焦点。目前,在用户接入侧已经标准化的安全机制是3GPP提出的IPSec(IP安全性)接入,SIP安全性解决方案是IETF(互联网工程任务组)推荐的TLS(传输层安全),但未被3GPP釆纳。这两种解决方案目前各有利弊。IPSec接入存在的问题是在现有网络中接入时,NA(P)T(网络地址(端口)转换)普遍存在,NA(P)工作时需要进行IP地址从内网地址到外网地址的转换,部分场景下需要进行端口的映射,因此NA(P)T设备会改变IP报文中的报文源IP及传输层的端口号,而此两者均是IPSec完整性保护的对象,当采用IPSec完整性保护时,改变此两者将导致接收端进行完整性校验时认为消息已经被篡改,从而导致校验失败,丢弃消息;如果采用加密,则NA(P)T无法读取传输层端口信息,也就无法进行端口映射,导致通信失败。在DTLS(DatagramTLS,数据报传输层安全)出现之前,TLS只能运行在TCP协议(传输控制协议)之上,而TCP对于SIP接入应用而言开销过大,不利于大容量接入节点部署,DTLS(下文中为简化起见,TLS称谓包括DTLS)使得TLS也可以运行在UDP(用户数据才艮协议)之上,使得SIP实际使用TLS的可行性大大增加。但当前的TLS接入默认密钥协商采用证书机制,该方法在类似于IMS这样的支持用户漫游/游牧的网络中实现非常困难,原因是安全连接是在终端和接入服务器之间建立的,而接入服务器无法独立校验用户证书的合法性,使得该方法实现比较困难,并且数字证书认证方式尚未在SIP网络中广泛应用。因此,有必要对现有的SIP网络安全机制提出改进,以提高网络的安全性。
发明内容本发明要解决的技术问题是提供一种基于共享密钥的SIP网络中传输层安全的实现方法。为了解决上述问题,本发明提供了一种基于共享密钥的会话发起协议SIP网络中传输层安全的实现方法,包括以下步骤(a)在SIP终端和鉴权中心AuC中保存一共享的主密钥和一派生算法;(b)SIP终端和SIP网络侧设备之间基于SIP安全协商标准框架进行交互,其中增加对传输层安全协议的支持,且SIP终端和SIP网络侧均根据所述共享的主密钥及派生算法生成所需的加密、完整性保护密钥,实现SIP网络的传输层安全。进一步地,上述方法还可具有以下特点所述步骤(b)进一步分为以下步骤(b1)SIP终端向接入SIP代理服务器即ASP发送SIP请求,其中的一个客户端安全头部中指示其支持的共享密钥的传输层安全参数;(b2)所述ASP检查所述SIP请求中的传输层安全参数,如在许可范围之内,则保存该头部,向归属SIP服务器即HSP转发所述SIP请求;(b3)所述HSP获取所述AuC为该UE生成的加密、完整性保护密钥,向SIP终端发起挑战,鉴权挑战消息中携带该加密、完整性保护密钥;(b4)所述ASP记录下所述加密、完整性保护密钥并从收到的鉴权挑战消息中删除该信息,同时在该消息中插入一个携带协商选定的传输层安全参数的服务器端安全头部,发送到SIP终端;(b5)所述SIP终端收到挑战后在协商的安全端口上发出鉴权响应,携带的安全校验头部的内容和鉴权挑战的服务器安全头部一致,并采用保存的主密钥和派生算法生成的加密、完整性保护密钥进行完整性保护,或进行加密及完整性保护;(b6)所述ASP收到鉴权响应后,进行传输层安全处理,通过后转发给所述HSP;(b7)所述HSP收到鉴权响应后对SIP终端鉴权,如成功,向所述ASP返回成功响应。进一步地,上述方法还可具有以下特点步骤(b3)中所述HSP在本地没有SIP终端的鉴权信息时,向所述AuC发起鉴权数据下载请求,携带了所述SIP终端的用户标识,并获得所述AuC返回的为该UE生成的加密、完整性保护密钥和期望的鉴权响应。进一步地,上述方法还可具有以下特点步骤(b6)中所述ASP的传输层安全处理指用保存的加密、完整性保护密钥进行传输层完整性校验,或解密及完整性校验,通过后再校验SIP消息中的安全校验字段是否与发给SIP终端的安全服务器端字段相等。进一步地,上述方法还可具有以下特点步骤(b4)所述ASP还利用收集的信息建立一个临时传输层安全上下文,该收集的信息包括所述SIP终端和ASP的IP地址、端口、算法和密钥信息;步骤(b7)所述ASP收到鉴权成功响应后,修改传输层安全上下文的生命周期,并将创建的临时传输层安全上下文设置为正式的传输层安全上下文。进一步地,上述方法还可具有以下特点所述SIP网络为IP多^某体子系统IMS网络,所述SIP终端为IMS用户设备,所述ASP为IMS网络中的代理呼叫会话控制功能P-CSCF,所述HSP为IMS网络中的服务呼叫会话控制功能S-CSCF;所述AuC为IMS网络中的归属用户服务器HSS。进一步地,上述方法还可具有以下特点所述SIP网络为除软交换、IMS外其它采用SIP作为控制协议的网络,所述ASP和HSP由该网络中的SIP服务器单独实现,所述AuC由该网络中的认证、授权及计费服务器实现。进一步地,上述方法还可具有以下特点步骤(bl)中SIP请求的客户端安全头部中包含的所述传输层安全参数包括传输类型,加密、完整性保护算法,所期望采用的发送请求消息所用的客户端端口号及接收请求所用的监听端口号;步骤(b5)中鉴权挑战消息中插入的服务器端安全头部中包含的传输层安全参数包括ASP期望采用的加密、完整性保护算法,ASP的客户端及监听端口。进一步地,上述方法还可具有以下特点所述传输层安全协议为运行在传输控制协议之上的传输层安全协议,或者为可运行于传输控制协议和用户数据报协议上的数据报传输层安全协议。进一步地,上述方法还可具有以下特点步骤(b)SIP终端和SIP网络侧设备之间基于SIP安全协商标准框架进行交互时,在发送的SIP请求中同时携带多个客户端安全头部,指示不同的安全保护方法,其中包括传输层安全协议;SIP网络侧设备根据本地配置、流程上下文选择使用其中一种优选的安全保护方案。本发明的基本流程复用现有的SIP安全协商标准框架,但增加了对TLS、DTLS等传输层安全协议的支持,并且使用共享密钥认证技术作为传输层安全协议的密钥协商的方法。采用本发明所述方法实现SIP网络中TLS协商,既可以适用于SIP的有连接传输,如TCP,也适用于无连接传输协议,如UDP,保障SIP网络中信息传递的安全性。该方法可以适用在软交换、IMS这些采用SIP作为呼叫处理协议的电信网络中,也可适用于其它采用SIP作为控制协议的网络中,比如基于SIP的VoIP网络。8图1是本发明应用在SIP网络中通用系统架构示意图;图2是本发明应用在IMS网络中系统架构示意图;图3是本发明应用在IMS网络中实现TLS的流程图;图4是本发明应用在一般SIP网络实现TLS的流程图。具体实施方式本发明基于现有SIP安全协商标准框架,通过增加对TLS、DTLS等传输层安全协议的支持,并采用共享密钥认证技术作为传输层安全协议的密钥协商方法,实现SIP网络的传输层安全。本发明中SIPTM和接入ASP之间采用的传输层安全保护协议是基于现有标准,但对SIP协议流程作了一些扩展,通过在SIPTM与AuC之间共享一个主密钥,并且共享一个算法用于从主密钥推导出传输层加密、完整性保护所需的密钥,实现SIP网络的TLS。以下先对文中的术语及缩略语统一做一说明。术语英文全称中文含义<table>tableseeoriginaldocumentpage9</column></row><table>TLSTransportLayerSecurity传输层安全UDPUserDatagramProtocol用户数据才艮协议如图1所示,本发明应用在SIP网络的通用系统架构,包括以下功能SIPTM(SIP终端),具备TLS协议处理能力,能够利用TLS保护SIP信令,并保存有与AuC共享的一主密钥及一派生算法;主密钥在UE中的智能卡中以加密方式保存的,有足够安全性,派生算法可以利用现有的算法,用于生成加密及完整性保护密钥。ASP(接入SIP服务器),位于网络与用户的边界处,用于与SIPTM建立TLS连接;HSP(归属SIP服务器),负责与AuC共同完成SIPTM的鉴权,并将从AuC获得的用于TLS加密、完整性保护的共享密钥通过鉴权过程的挑战响应传递给ASP;AuC(鉴权中心),负责保管与SIPTM共享的一主密钥及一派生算法,并根据主密钥及所述算法生成TLS所需的加密、完整性保护密钥。AuC是对应于IMS网络中的HSS,或者是一个通用的AAA(Authentication,AuthorizationandAccounting)Server,或者是其它可以完成本发明所述功能的任何实体。在网络实际部署中,本发明所应用的系统,在不影响本发明基本思想实现的前提下,可以将多个功能合并在一个物理实体中实现,有如下变化1)在实体上将ASP与HSP进行合并,完成上述ASP和HSP功能;2)在实体上将HSP与AuC进行合并,完成上述HSP和AuC功能。基于以上通用架构,本发明方法一示例的过程包括以下步骤(a)SIPTM向ASP的指明端口发起SIP请求,其中携带客户端安全头部,指示支持基于共享密钥的传输层安全(包括TLS、DTLS或其它传输层安全协议),携带支持的加密、完整性保护算法,并且可以指示所期望采用的安全客户端、服务器端端口;(b)ASP检查并记录SIPTM的客户端安全头部,并且向HSP转发请求;(c)HSP判断本地没有SIPTM的鉴权信息时,向AuC发起鉴权数据下载请求,获得所需的加密、完整性保护密钥和期望的鉴权响应;(d)HSP向SIPTM发起挑战,挑战消息中携带了TLS所需的共享密钥信息即加密、完整性保护密钥;(e)ASP收到鉴权挑战消息后,记录下共享密钥信息,并且从该消息中删除该信息,同时其在该消息中插入一个服务器端安全头部,其中携带协商选定的加密、完整性保护算法及本地端口;(f)SIPTM收到鉴权挑战后采用共享主密钥和与AuC同样的算法生成加密、完整性保护密钥,并且在协商的安全端口上发出鉴权响应,响应中携带安全校验头部,内容和鉴权挑战的服务器安全头部保持一致,并由所述UE生成的加密、完整性保护密钥进行加密及完整性保护;(g)ASP在保护端口上收到鉴权响应,进行TLS处理,即通过传输层解密、完整性校验处理后,进一步校验SIP消息中的安全校验字段是否与发给SIP终端的安全服务器端字段相等,通过后转发给HSP;(h)HSP对SIPTM鉴权成功,返回成功响应,ASP保持已经协商完毕的TLS安全上下文。本发明在步骤(a)、(b)、(e)-(h)中增加对TLS、DTLS等传输层安全协议的支持,并且使用共享密钥认证技术作为传输层安全协议的密钥协商的方法,以弥补IMS标准中只支持IPSec安全协商的缺陷,并且基于共享密钥可以利用现有的3GPP或其它共享密钥框架,增加部署的可行性。下面结合附图和具体实施例对本发明做进一步详细说明。第一实施例本实施例以IMS网络为例,图2为实现SIP传输层安全性的系统架构示意图,其中SIPTM以IMSUE(用户设备)为例;ASP以IMS网络中的P-CSCF(代理呼叫会话控制功能)为例,在IMSUE与P-CSCF之间建立传输层安全连接;HSP以IMS网络中的S-CSCF(服务呼叫会话控制功能)为例;AuC以IMS网络中的归属用户^^务器HSS为例。本实施例中,以IMS网络为例实现TLS协商的流程图,如图3所示,图中P-CSCF与S-CSCF之间可能包括其它IMS网元如I-CSCF(查询呼叫控制功能),但对本实施例没有影响在图中忽略,该流程包括以下步骤步骤301,IMSUE选择某个P-CSCF为接入点,向IMS网络发送SIP请求;所述SIP请求中包含一个或多个Security-Client(客户端安全)头部,其中一个头部指示支持的共享密钥的TLS参数,包括传输类型如TCP、UDP等,加密、完整性保护算法,所期望采用的发送请求消息所用的客户端端口号及接收请求所用的监听端口号等。IMSUE可以同时携带多个Security-Client头部,用于指示不同的安全保护方法(包括IPSec和TLS)。步骤302,P-CSCF收到SIP请求,检查Security-Client头部指示的算法是否在许可范围之内,如果在,保存该头部;如果不在许可范围之内,可以根据本地策略决定拒绝请求或采用无安全保护的通信。步骤303,P-CSCF转发SIP请求给S-CSCF;步骤304,S-CSCF判断本地没有SIPTM的鉴权信息时则向HSS发送鉴权数据请求,鉴权请求中携带了IMSUE的用户标识;如用户已经在系统中注册,S-CSCF本地可能保存了中间鉴权参数,每次鉴权时S-CSCF根据这些参数推导出其它参数,此时不会再向AuC/HSS重新下载,可直4妄^M于步骤306。步骤305,HSS向S-CSCF返回鉴权数据响应,鉴权数据中包括期望的鉴权响应、根据主密钥为该IMSUE派生的加密、完整性保护密钥等;步骤306,S-CSCF向IMSUE发起鉴权挑战,先将鉴权挑战消息发送到P-CSCF,消息中携带了由主密钥派生的加密、完整性保护密钥;根据保存的TLS参数生成Security-Server头部,包含了P-CSCF期望采用的加密、完整性保护算法(是IMSUE期望的算法之一),P-CSCF的客户端及监听端口,然后将此头部插入到鉴权挑战消息中,并且删除消息中的加密、完整性保护密钥信息,转发给IMSUE;步骤309,IMSUE采用与HSS同样的算法由共享的主密钥生成加密、完整性保护密钥,并且采用协商的算法、IP地址、端口向P-CSCF发起鉴权响应消息,消息中携带Security-Verify头部,该头部参数与鉴权挑战中P-CSCF发给UE的Security-Server头部保持一致,并由所述UE生成的加密、完整性保护密钥进行加密及完整性保护。实际运用中完整性保护是必选的,加密可以根据运营商配置策略决定是否启用;步骤310,P-CSCF在协商的安全地址上收到鉴权响应消息,并经过TLS处理,即采用保存的HSS派生的加密、完整性保护密钥进行解密或完整性校验处理,然后将Security-Verify与保存的P-CSCF发给UE的Security-Server头部进行比较,校验SIP消息中的安全校验字段是否与发给SIP终端的安全服务器端字段相等,以确保UE的合法性;步骤311-312,P-CSCF将UE的鉴权响应转发给S-CSCF,S-CSCF根据保存的鉴权信息对UE的响应进行校验,校验成功后向P-CSCF返回成功响应;校验时可以比对从AuC下载的期望的鉴权响应与收到的鉴权响应,如何比对依赖于特定的算法,有的鉴权算法可以直接进行比对,有的还需要进行一定的计算。步骤313-314,P-CSCF收到成功响应,^修改TLS上下文生命周期,并将创建的临时TLS上下文设置为正式的TLS上下文,然后将响应在受保护连接上发给IMSUE,安全协商过程结束,后续消息将在受保护的正式TLS上下文中传输。上述各步骤描述的TLS协商过程符合正TF的安全协商过程框架,完全可以与现有的IPSec安全性共存,IMSUE在步骤301中可以同时携带多个Security-Client头部指示不同的安全保护方法(包括IPSec和TLS),P-CSCF在步骤307也可以根据本地配置、流程上下文选择一种优选的安全保护方13案,比如根据接入网类型或NAT检测结果选择釆用IPSec还是TLS。TLS与IPSec共存的意义是网络侧两种安全协议都支持,UE可以根据自身支持情况选择一种。第二实施例图4示出了普通SIP网络(指除软交换、IMS外其它采用SIP作为控制协议的网络)中的传输层安全协商的实施例,图中的SIP服务器包括了图1通用架构中的ASP和HSP,流程与图3基本相同,只是图3中分别由P-CSCF、S-CSCF完成的功能在本实施例中由SIP服务器单独完成。如图所示,该流程包括以下步骤步骤401,SIP终端向SIP服务器发起请求,SIP消息中包含一个或多个Security-Client头部,其中一个头部指示支持的传输层安全参数,包括传输类型,加密、完整性保护算法,客户端及监听端口号等;步骤402,SIP服务器收到请求,检查Security-Client头部指示的算法是否在许可范围之内,并保存该头部;步骤403,SIP服务器判断本地没有SIP终端的鉴权信息时向AAA服务器请求下载鉴权数据,鉴权请求中携带了SIP终端的用户标识;步骤404,AAA服务器向SIP服务器返回鉴权数据响应,包含期望的鉴权响应、根据主密钥为该SIP终端派生的加密、完整性保护密钥等;步骤405-406,SIP服务器根据下载的鉴权数据保存加密、完整性保护密钥、生成鉴权挑战消息,并在消息中插入Security-Server头部,其包含了SIP服务器期望采用的加密、完整性保护算法、SIP服务器客户端及监听端口,然后将此消息发送给SIP终端;同时SIP服务器利用收集的信息(包括终端和服务器自身的地址、端口,算法、密钥等信息)建立一个临时TLS上下文;步骤407,SIP终端采用与AAAServer同样的算法由共享的主密钥生成加密、完整性保护密钥,并且采用协商的算法、IP地址端口向SIP服务器发起鉴权响应,响应消息中携带Security-Verify头部,该头部参数与鉴权挑战中的Security-Server保持一致,并由所述UE生成的加密、完整性保护密钥进行加密及完整性保护。实际运用中完整性保护是必选的,加密可以根据运营商配置策略决定是否启用;步骤408,SIP服务器在协商的安全地址上收到鉴权响应消息,并经过TLS处理,校验Security-Verify的合法性,校验通过后进行鉴权处理,如鉴权成功则将协商的TLS上下文设置为正式的TLS上下文;步骤409,SIP服务器生成成功响应在受保护连接上发给SIP终端,安全协商过程结束。权利要求1、一种基于共享密钥的会话发起协议SIP网络中传输层安全的实现方法,包括以下步骤(a)在SIP终端和鉴权中心AuC中保存一共享的主密钥和一派生算法;(b)SIP终端和SIP网络侧设备之间基于SIP安全协商标准框架进行交互,其中增加对传输层安全协议的支持,且SIP终端和SIP网络侧均根据所述共享的主密钥及派生算法生成所需的加密、完整性保护密钥,实现SIP网络的传输层安全。2、如权利要求l所述的方法,其特征在于所述步骤(b)进一步分为以下步骤(b1)SIP终端向接入SIP代理服务器即ASP发送SIP请求,其中的一个客户端安全头部中指示其支持的共享密钥的传输层安全参数;(b2)所述ASP检查所述SIP请求中的传输层安全参数,如在许可范围之内,则保存该头部,向归属SIP服务器即HSP转发所述SIP请求;(b3)所述HSP获取所述AuC为该UE生成的加密、完整性保护密钥,向SIP终端发起挑战,鉴权挑战消息中携带该加密、完整性保护密钥;(b4)所述ASP记录下所述加密、完整性保护密钥并从收到的鉴权挑战消息中删除该信息,同时在该消息中插入一个携带协商选定的传输层安全参数的服务器端安全头部,发送到SIP终端;(b5)所述SIP终端收到挑战后在协商的安全端口上发出鉴权响应,携带的安全校验头部的内容和鉴权挑战的服务器安全头部一致,并采用保存的主密钥和派生算法生成的加密、完整性保护密钥进行完整性保护,或进行加密及完整性保护;(b6)所述ASP收到鉴权响应后,进行传输层安全处理,通过后转发给所述HSP;(b7)所述HSP收到鉴权响应后对SIP终端鉴权,如成功,向所述ASP返回成功响应。3、如权利要求2所述的方法,其特征在于步骤(b3)中所述HSP在本地没有SIP终端的鉴权信息时,向所述AuC发起鉴权数据下载请求,携带了所述SIP终端的用户标识,并获得所述AuC返回的为该UE生成的加密、完整性保护密钥和期望的鉴权响应。4、如权利要求2所述的方法,其特征在于步骤(b6)中所述ASP的传输层安全处理指用保存的加密、完整性保护密钥进行传输层完整性校验,或解密及完整性校验,通过后再校验SIP消息中的安全校验字段是否与发给SIP终端的安全服务器端字段相等。5、如权利要求2所述的方法,其特征在于步骤(b4)所述ASP还利用收集的信息建立一个临时传输层安全上下文,该收集的信息包括所述SIP终端和ASP的IP地址、端口、算法和密钥信息;步骤(b7)所述ASP收到鉴权成功响应后,修改传输层安全上下文的生命周期,并将创建的临时传输层安全上下文设置为正式的传输层安全上下文。6、如权利要求2所述的方法,其特征在于所述SIP网络为IP多々某体子系统IMS网络,所述SIP终端为IMS用户设备,所述ASP为IMS网络中的代理呼叫会话控制功能P-CSCF,所述HSP为IMS网络中的服务呼叫会话控制功能S-CSCF;所述AuC为IMS网络中的归属用户服务器HSS。7、如权利要求2所述的方法,其特征在于所述SIP网络为除软交换、IMS外其它采用SIP作为控制协议的网络,所述ASP和HSP由该网络中的SIP服务器单独实现,所述AuC由该网络中的认证、授权及计费服务器实现。8、如权利要求2所述的方法,其特征在于步骤(bl)中SIP请求的客户端安全头部中包含的所述传输层安全参数包括传输类型,加密、完整性保护算法,所期望采用的发送请求消息所用的客户端端口号及接收请求所用的监听端口号;步骤(b5)中鉴权挑战消息中插入的服务器端安全头部中包含的传输层安全参数包括ASP期望采用的加密、完整性保护算法,ASP的客户端及监听端口。9、如权利要求1或2所述的方法,其特征在于所述传输层安全协议为运行在传输控制协议之上的传输层安全协议,或者为可运行于传输控制协议和用户数据报协议上的数据报传输层安全协议。10、如权利要求l所述的方法,其特征在于步骤(b)SIP终端和SIP网络侧设备之间基于SIP安全协商标准框架进行交互时,在发送的SIP请求中同时携带多个客户端安全头部,指示不同的安全保护方法,其中包括传输层安全协议;SIP网络侧设备根据本地配置、流程上下文选择使用其中一种优选的安全保护方案。全文摘要一种基于共享密钥的会话发起协议SIP网络中传输层安全的实现方法,包括以下步骤(a)在SIP终端和鉴权中心AuC中保存一共享的主密钥和一派生算法;(b)SIP终端和SIP网络侧设备之间基于SIP安全协商标准框架进行交互,其中增加对传输层安全协议的支持,且SIP终端和SIP网络侧均根据所述共享的主密钥及派生算法生成所需的加密、完整性保护密钥,实现SIP网络的传输层安全。采用本发明实现SIP网络中TLS协商,既可以适用于SIP的有连接传输,如TCP和UDP,保障SIP网络中信息传递的安全性。该方法可以适用在软交换、IMS网络中,也可适用于其它采用SIP作为控制协议的网络中,如基于SIP的VoIP网络。文档编号H04L9/28GK101330504SQ200710127208公开日2008年12月24日申请日期2007年6月28日优先权日2007年6月28日发明者军汪申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1