CN101043744B - 一种ims网络中用户终端接入鉴权的方法 - Google Patents

一种ims网络中用户终端接入鉴权的方法 Download PDF

Info

Publication number
CN101043744B
CN101043744B CN2006101087826A CN200610108782A CN101043744B CN 101043744 B CN101043744 B CN 101043744B CN 2006101087826 A CN2006101087826 A CN 2006101087826A CN 200610108782 A CN200610108782 A CN 200610108782A CN 101043744 B CN101043744 B CN 101043744B
Authority
CN
China
Prior art keywords
cscf
authentication
header field
authentication mode
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2006101087826A
Other languages
English (en)
Other versions
CN101043744A (zh
Inventor
何承东
严军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2006101087826A priority Critical patent/CN101043744B/zh
Publication of CN101043744A publication Critical patent/CN101043744A/zh
Application granted granted Critical
Publication of CN101043744B publication Critical patent/CN101043744B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种IMS网络中用户终端接入鉴权方法,所述的方法包括如下步骤:a、用户终端UE向代理-呼叫会话控制功能实体P-CSCF发送注册REGISTER消息;b、P-CSCF根据所述的REGISTER消息中的信息和/或接入网类型区别鉴权方式,并在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至查询-呼叫会话控制功能实体I-CSCF;c、I-CSCF选择服务-呼叫会话控制功能实体S-CSCF,并把REGISTER消息透明转发到该S-CSCF;d、S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式后向HSS发送多媒体鉴权请求MAR消息,HSS通过多媒体鉴权响应MAA消息返回所述UE的鉴权数据和鉴权方式,S-CSCF进行鉴权处理。

Description

一种IMS网络中用户终端接入鉴权的方法
技术领域
本发明涉及IMS(IP多媒体网络子系统)技术领域,具体来说,涉及到IMS网络中用户终端UE接入鉴权的方法。
背景技术
IMS作为固定和移动网络的核心会话控制层,已经成为技术发展的一个方向,第三代移动通信系统(3G)以及TISPAN(Telecommunications and InternetConverged Services and Protocols for Advanced Networking  先进网络的电信和互联网融合业务和协议)标准中定义了很多IMS相关的规范,包括网络架构、接口、协议等各个方面,其中安全是3G及TISPAN考虑的一个重要方面。现有的规范中从安全的角度将IMS网络划分为接入域和核心网域,并分别定义了接入域和核心网域的安全规范。以移动接入网为例,IMS网络的安全模型如附图1所示:
其中关于传输网络(Transport)的部分与具体的接入网络有关,有可能为TISPAN/NGN(下一代网络)接入网络,分组电缆网(PacketCable)接入网络,无线局域网(WLAN)接入网络等。
IMS网络中定义的呼叫会话控制功能(CSCF)实体用于完成呼叫和会话时的控制和路由等功能,代理-呼叫会话控制功能(P-CSCF)实体完成用户终端(UE)的接入,所有UE通过P-CSCF接入IMS网络;业务-呼叫会话控制功能(S-CSCF)提供会话控制和路由等核心功能;查询-呼叫会话控制功能(I-CSCF,Interrogating-CSCF)用于S-CSCF的选择及不同运营商或不同区域网络之间的互通,实现网络屏蔽等功能;用户归属服务器(HSS HomeSubscribe Server归属用户服务器),用于保存用户签约数据和配置数据等。
如附图1所示,接入域安全机制包括与用户终端(UE)相关的两个接口:接口1和接口2。接口1为UE与IMS网络间的双向认证接口,完成用户认证功能;接口2用于保证UE与P-CSCF间的通信安全。
3GPP(The Third Generation Partnership Project第三代移动通信伙伴合作项目)对接口1和接口2的实现,是通过在用户终端注册流程中应用DigestAKA(摘要认证与密钥协商,以下简称AKA)机制来完成。用户终端注册过程中涉及的主要网络实体为:用户终端UE、P-CSCF、S-CSCF和用户归属服务器(HSS)。
Digest AKA机制在用户终端注册的应用流程如附图2所示,主要包括如下的步骤:
1、初始密钥K在UE与HSS间共享。
2、(SM1--CM2)用户发起注册请求SM1(SM表示两个实体之间的协议是SIP消息SIP Message),S-CSCF通过CM1(CM表示I/S-CSCF和HSS之间的Cx接口消息Cx interface Message,不是SIP协议,而是DIAMETER协议)向HSS请求数据,HSS基于初始密钥K及序列号SQN产生鉴权五元组并通过CM2下发S-CSCF,其中五元组包括(随机数据RAND、鉴权序号AUTN、期望结果XRES、完整性保护密钥IK、加密密钥CK)。
3、(SM4-SM5)S-CSCF向用户返回401响应(认证挑战),携带除XRES外的四元组信息。
4、(SM6)P-CSCF保存IK,CK信息,将(RAND,AUTN)信息在401响应中传给UE。
5、(SM7-SM9)UE依据初始密钥K及SQN等信息,结合收到的网络设备下发的AUTN,对网络设备是否可信进行认证,如验证通过,网络设备可信,则结合RAND和K,产生结果RES信息,RES将被当作密钥“password”用于终端计算响应response的过程,计算的结果在SM7(认证响应)中发送给网络侧,同时UE自行计算出IK、CK。
6、S-CSCF在SM9中接收到由RES生成的response信息,与其依据XRES计算后的结果相比较,如果两者相同,认为对用户的认证成功。
由以上流程可见:UE向IMS网络发起注册,通过DigestAKA实现了UE和IMS网络间的双向认证,同时也完成UE和P-CSCF间安全联盟的建立,UE和P-CSCF之间共享了加密密钥CK和完整性保护密钥IK,这两个密钥将用于在UE与P-CSCF间安全通信通道的建立。
由于无线领域现有大量用户终端不符合3GPP协议规范,不支持3GPP TS33.203要求的接入域安全机制,例如使用用户识别卡SIM卡的用户终端或者使用USIM/ISIM(通用用户识别卡/IP多媒体网络子系统用户识别卡)卡的2G用户终端。为了能够向这类终端用户提供IMS业务,TR 33.878定义了称为“Early IMS”(早期IP多媒体网络子系统鉴权)的接入域安全机制。Early IMS接入域安全的基本原理,是将应用层安全建立在接入层安全之上。接入层对终端接入进行认证后,将经过认证的信息传送给应用层,应用层依据这些信息对用户请求进行应用层安全认证。
Early IMS(以下简称EIA)接入域安全机制如附图3所示,其中:用户终端通过GGSN(网关GPRS支持节点)接入GPRS(通用分组无线业务)网络,GGSN认证用户标识IMSI(国际移动用户标识)和MSISDN(移动台国际ISDN号码),为用户终端分配网络传输层标识(IP地址)。
1、GGSN通过“Accounting Request Start”将用户标识和终端IP地址对应关系传送到HSS,HSS保存该对应关系;
2、HSS通过“Accounting Request Answer”响应;
3、用户终端发起注册请求REGISTER到P-CSCF,P-CSCF比较REGISTER消息中的via(经过)头域中的sent-by(发送者)头域的IP地址是否与REGISTER消息所在IP头中的源IP地址一致,如果不一致,则增加一个received(接收)头域到via头域中,并填充为IP头中的源IP地址;P-CSCF转发上述REGISTER请求到S-CSCF,S-CSCF依据REGISTER请求中的公有用户标识,查询是否已注册;
4、如未注册,向HSS请求公有用户标识对应的终端IP地址(HSS静态配置公有用户标识与MSISDN的对应关系,此时可通过公有用户标识获得对应的终端IP地址);
5、HSS返回公有用户标识对应的终端IP地址;
6、S-CSCF检查收到的REGISTER的终端源IP地址(如果via头域中有received头域,则优先比较received头域,否则比较via头域中的sent-by头域),如果与从HSS获得的IP地址相同,则通过认证,向GGSN发送200鉴权成功消息。
Early IMS接入域安全机制只针对特定的无线接入环境,而且对接入网有特殊要求,不能保证其他接入环境下的用户接入安全。
AKA和EIA这两种鉴权方式的区别如下:
1、对于AKA,UE和P-CSCF之间需要建立安全联盟。因此UE发到P-CSCF的REGISTER消息中会携带Security-Client/Security-Verify(安全客户端/安全认证)安全协商头域,P-CSCF发到UE的4xx挑战消息中也携带有Security-Server(安全服务器)安全协商头域,而对于EIA则没有上述头域。
2、对于AKA,UE发到P-CSCF的REGISTER消息中会携带Authorization(授权)头域,而对于EIA则没有上述头域。
3、对于AKA,P-CSCF在转发给S-CSCF的REGISTER消息中会在Authorization头域中增加integrity-protected(完整性保护)头域,而对于EIA则没有上述头域。
4、对于AKA,网络侧实体收到初始的REGISTER消息后首先会发送4xx挑战消息,UE会再次发送REGISTER消息,等鉴权通过后,网络侧再发送200鉴权成功消息。而对于EIA,网络侧收到初始的REGISTER消息后直接进行鉴权,通过后发送200消息,因此不会发送4xx挑战消息。
5、鉴权比较方式存在差异:对于AKA,S-CSCF是通过比较HSS返回的XRES与UE通过计算出来的RES是否匹配完成鉴权,对于EIA,S-CSCF是通过比较HSS返回的终端IP地址与收到的REGISTER消息中via头域中的sent-by或者received头域表示的IP地址是否匹配完成鉴权。
目前TISPAN/NGN网络中支持三种终端:含有UICC/ISIM(通用集成电路卡/IP多媒体业务用户标识模块)的IMS终端,不含有UICC/ISIM的终端,传统的SIP(会话发起协议)终端。对应的鉴权方式分别是:DIGEST AKA、NASS-Bundled(IMS业务层鉴权和NASS接入层鉴权绑定鉴权方式)和HTTPDIGEST(HTTP摘要鉴权方式)。
在NGN网络中,如果接入网络和业务网络不属于同一个运营商时,接入网络对用户的鉴权和业务网络对用户的鉴权是相互独立的。在此种情况下,一个用户若要享用某种业务,通常需要两次鉴权,一次为接入层的鉴权,在通过接入层的鉴权后用户能够接入到NGN网络;另一次为业务层的鉴权,在通过业务层鉴权后用户可以享用该业务网络提供的业务。
如果业务网络和接入网络属于同一个运营商时,或者业务网络运营商和接入网络运营商之间存在某种合作关系时,在某些组网情况下,业务网络运营商可以将业务层的鉴权同接入层的鉴权绑定,即在用户通过接入层鉴权后,就认为该用户是安全的,不再需要进行业务层的鉴权。为便于以后的描述,这种方法称为“IMS业务层鉴权和接入层鉴权绑定”,即NASS-Bundled鉴权方式,以下简称为NBA。
NBA鉴权方式的流程如附图4所示:
步骤101、网络附着子系统(NASS)接入层附着认证,在连接位置功能实体(Connection Location Function CLF)上记录用户终端(UE)的位置信息。
步骤102、UE向代理呼叫会话控制功能实体(Proxy-Call Session ControlFunction,P-CSCF)发送注册报文REGISTER消息,该报文携带有接入运营商标识及接入用户标识。
步骤103、P-CSCF通过检查REGISTER消息中是否包含安全协商参数(例如Security-Client)来判断是否需要建立和UE之间的安全联盟;如果有此参数,则需要建立,如果没有此参数,则不需要建立(一般来说,AKA的情况肯定有此参数,而NASS-Bundled和超文本传输协议摘要HTTP DIGEST的情况肯定没有此参数)。
步骤104、P-CSCF根据注册报文中的接入运营商标识以及预先设置的接入运营商标识与CLF之间的对应关系确定CLF;然后,P-CSCF根据注册报文的源IP地址,在确定的CLF中查询用户的位置信息。
步骤105、由于CLF中预先保存了与源IP地址对应的位置信息,因此在本步骤中CLF向P-CSCF返回相应的位置信息及其他信息。
步骤106、P-CSCF将携带上一步骤中查询得到的位置信息及其他信息的注册报文REGISTER发送给询问呼叫会话控制功能实体(Interrogating-CallSession Control Function,I-CSCF)。
步骤107、I-CSCF向用户数据库(UPSF)发送用户授权请求(UAR)消息。
步骤108、UPSF返回用户授权应答(UAA)消息。
步骤109、I-CSCF根据从UPSF返回的消息选择相应的服务呼叫会话控制功能实体(Service-Call Session Control Function,S-CSCF),即选择由哪个S-CSCF处理该注册报文。
步骤110、I-CSCF将包括上述位置信息的注册报文REGISTER转发给上面确定的S-CSCF。
步骤111、S-CSCF通过REGISTER消息中是否包含Integrity-Protected参数来判断是哪种认证方式;如果有此参数,则肯定是HTTP DIGEST AKA方式,S-CSCF发给UPSF的鉴权请求只是为了请求鉴权参数;如果没有此参数,则需要向UPSF查询配置的鉴权方式,S-CSCF发给UPSF的请求是为了请求鉴权方式和相应的鉴权参数;由于这里采用NASS-Bundled鉴权方式,所以REGISTER消息中不包含Integriity-Protected参数,S-CSCF向UPSF发送多媒体鉴权请求(MAR)消息,请求用户的鉴权向量和相应的鉴权参数。
步骤112、UPSF检查用户的鉴权签约数据,发现该用户的鉴权方式是NASS-Bundled鉴权方式。
步骤113、UPSF向S-CSCF发送多媒体鉴权应答(MAA)消息,返回用户的鉴权方式和鉴权参数即位置信息。
步骤114、S-CSCF比较从P-CSCF传来的位置信息与从UPSF查询得到的位置信息,如果一致,则说明鉴权成功,执行步骤115及其后续流程,即向UE发送鉴权成功的消息;
步骤115、S-CSCF向I-CSCF发送2xx Auth_OK消息,表示鉴权成功。
步骤116、I-CSCF将上述2xx Auth_OK消息发送给P-CSCF。
步骤117、P-CSCF将上述2xx Auth_OK消息发送给UE。
在步骤114中,S-CSCF比较从P-CSCF传来的位置信息与从UPSF查询得到的位置信息,如果不一致,则说明鉴权失败,则后续的步骤中均为鉴权失败的消息。
规范RFC3261和RFC2617对HTTP DIGEST鉴权方式已有相应的规定,其流程如附图5所示:
步骤201、UE向P-CSCF发送注册报文REGISTER。
步骤202、P-CSCF通过检查REGISTER消息中是否包含安全协商参数(例如Security-Client)来判断是否需要建立和UE之间的安全联盟。如果有此参数,则需要建立,如果没有此参数,则不需要建立。一般来说,AKA的情况肯定有此参数,而NASS-Bundled和HTTP DIGEST的情况肯定没有此参数。
步骤203、P-CSCF将UE的注册报文REGISTER转发给I-CSCF。该报文中还携带了P-CSCF从CLF查询得到的UE的位置信息。
步骤204、I-CSCF跟UPSF之间通过Cx-Selection-Info消息选择相应的S-CSCF,即I-CSCF向UPSF发出请求,查找UPSF中的用户属性来确定由哪个S-CSCF处理该注册报文。
步骤205、I-CSCF将UE的注册报文REGISTER转发给步骤204中所确定S-CSCF。
步骤206、S-CSCF通过REGISTER消息中是否包含Integrity-Protected参数来判断是哪种认证方式。如果有此参数,则肯定是HTTP DIGEST AKA方式,S-CSCF发给UPSF的鉴权请求只是为了请求鉴权参数;如果没有此参数,则需要向UPSF查询配置的鉴权方式,S-CSCF发给UPSF的请求是为了请求鉴权方式和相应的鉴权参数。由于这里采用HTTP DIGEST鉴权方式,所以REGISTER消息中不包含Integrity-Protected参数。S-CSCF与UPSF之间通过Cx-Put消息,更新UPSF上的S-CSCF指示信息,告知UPSF该用户后续的处理在本S-CSCF进行。
步骤207、S-CSCF向UPSF发送MAR消息,请求该用户的鉴权方式和鉴权数据。
步骤208、UPSF检查用户的鉴权签约数据,根据鉴权签约数据得到该用户的鉴权方式是HTTP DIGEST鉴权方式,并产生例如nonce等鉴权向量以及期望结果(XRES)等等。
步骤209、UPSF向S-CSCF发送MAR消息,将该用户的鉴权方式信息HTTP DIGEST以及鉴权参数nonce、期望结果(XRES)等发送给S-CSCF。
步骤210、S-CSCF根据XRES和其他参数计算新的期望结果。
步骤211、S-CSCF得到鉴权方式信息并保存新的期望结果,然后向I-CSCF发送“4xx Auth_Challenge”消息,该消息的WWW-Authenticate头中Algorithm参数表示采用HTTP DIGEST鉴权方式。
步骤212、I-CSCF将“4xx Auth_Challenge”消息发送给P-CSCF,该消息的鉴权WWW-Authenticate头域中算法Algorithm参数表示采用HTTPDIGEST鉴权方式。
步骤213、P-CSCF将“4xx Auth_Challenge”消息发送给UE。
步骤214、UE接收到“4xx Auth_Challenge”消息后,发现Algorithm参数表示HTTP DIGEST鉴权方式,重新向P-CSCF发送注册报文REGISTER,并携带用于鉴权的响应(RES)。
步骤215、P-CSCF将携带RES的注册报文REGISTER发送给I-CSCF。
步骤216、I-CSCF与UPSF之间通过Cx-Query确定该UE注册报文给哪个S-CSCF处理,即I-CSCF向UPSF查询该注册报文给哪个S-CSCF处理,UPSF根据保存的S-CSCF指示信息告知I-CSCF处理该注册报文的S-CSCF。在以下步骤中,S-CSCF将鉴权成功或鉴权失败的消息发送给UE。
步骤217、I-CSCF将注册报文REGISTER转发给步骤216确定的S-CSCF。
步骤218、S-CSCF比较保存的期望结果XRES和UE发送过来的RES,当两者一致时,说明鉴权成功,当两者不一致时,说明鉴权失败。
步骤219、S-CSCF与UPSF之间通过Cx-Put消息,更新UPSF上的S-CSCF指示信息,告知UPSF该用户后续的处理在本S-CSCF进行。
步骤220、S-CSCF与UPSF通过Cx-Pull消息获取用户的签约数据信息。
步骤221、S-CSCF向I-CSCF发送表示鉴权成功的200消息,或者表示鉴权失败的403Forbidden消息。在图中仅以鉴权成功时的200消息表示。
步骤222、I-CSCF将上述消息发送给P-CSCF。
步骤223、P-CSCF将上述消息发送给UE。
NBA/HTTP DIGEST与DIGEST AKA相比,其区别如下:
1、对于AKA,UE和P-CSCF之间需要建立安全联盟,因此UE发到P-CSCF的REGISTER消息中会携带安全协商客户端Security-Client/安全协商校验Security-Verify头域,P-CSCF发到UE的4xx挑战消息中也携带有安全协商服务器端Security-Server安全协商头域,而NBA/HTTP DIGEST中则没有上述头域。
2、对于AKA,UE发到P-CSCF的REGISTER消息中一定会携带授权Authorization头域,而对于NBA/HTTP DIGEST则可能包含上述头域;另外NBA还可能包含用于携带位置信息的私有接入网络信息P-Access-Network-Info头域。
3、对于AKA,P-CSCF在转发给S-CSCF的REGISTER消息中会在Authorization头域中增加integrity-protected头域,而对于NBA/HTTP DIGEST则没有上述头域。
4、对于AKA,网络侧实体收到初始的REGISTER消息后首先会发送4xx挑战消息(WWW-Authenticate头域中的algorithm头域为”AKAv1-MD5”表示AKA鉴权),UE会再次发送REGISTER消息,等鉴权通过后,网络侧再发送200鉴权成功消息,而对于NBA,网络侧收到初始的REGISTER消息后直接进行鉴权,通过后发送200消息,因此不会发送4xx挑战消息,对于HTTPDIGEST则也会发送4XX挑战消息(但WWW-Authenticate头域中的algorithm头域为”MD5”表示HTTP DIGEST鉴权)。
5、鉴权比较方式的区别:对于AKA,S-CSCF是通过比较HSS返回的XRES与UE通过计算出来的RES是否匹配完成鉴权,对于NBA,S-CSCF是通过比较HSS返回的终端位置信息与收到的REGISTER消息中终端实际位置信息是否匹配完成鉴权,对于HTTP DIGEST,其比较方式与AKA相同。
另外,PacketCable规范中也定义了两种终端:含有UICC/ISIM的终端和不含有UICC/ISIM的终端。其对应的鉴权方式分别为DIGEST AKA(如前所述)和带有安全联盟协商的HTTP DIGEST,该方式尚未最后确定。
带有安全联盟协商的HTTP DIGEST的鉴权方式如附图6所示,带有安全联盟协商的HTTP DIGEST和DIGEST AKA相比,其区别是:
1、对于AKA,401消息中的WWW-authenticate头域中的algorithm为”AKA-v1-MD5”表示AKA鉴权,而对于带有安全联盟协商的HTTPDIGEST,相应的glgorithm为”SHA1”表示带有安全联盟协商的HTTP DIGEST鉴权。
2、UE计算挑战响应时的算法不同,S-CSCF从HSS下载的鉴权向量也不同。
其它方面,例如Security-Client等安全头域、integrity-protect头域、Authorization头域,UE和P-CSCF建立安全联盟、鉴权方式等方面都是一样的。
概括来说,DIGEST AKA为”full IMS”鉴权,其他几种方式为”early IMS”鉴权。
综上所述,3GPP/TISPAN/PacketCable都只考虑了相关的接入网分别和IMS核心网组网时的对终端UE的鉴权方式,这个时候如果各自的核心网也是独立的,那么鉴权方式就没有问题。
但是IMS网络作为核心网,本质上是可以同时支持任意接入网类型的,可能存在如附图7所述的组网方式,多种类型的接入网共用一个核心网时上述的各种鉴权方式之间就会存在许多不兼容甚至冲突问题。
如附图7所示(3GPP中的实体HSS在TISPAN中的对应实体名称为用户签约服务器功能实体UPSF,本文中说明HSS时,如果对应的是TISPAN接入网,则对应的功能实体为UPSF,两者是等价的):
1、支持各种鉴权方式以及组合(例如EIA、NBA、HTTP DIGEST、HTTPDIGEST with SA、AKA、NBA和EIA、EIA和AKA等)的UE会同时存在。
2、各种接入网类型3GPP/TISPAN/PacketCable同时存在。
3、支持NBA的P-CSCF和不支持NBA的P-CSCF同时存在。
4、支持NBA的S-CSCF和不支持NBA的S-CSCF同时存在。
5、支持NBA的HSS和不支持NBA的HSS同时存在。
当不考虑PacketCable的带有安全联盟协商的HTTP DIGEST方式时,现有技术存在如下缺点:
1、对同时支持NBA和EIA这两种鉴权方式的UE来说,对于EIA,UE发出的REGISTER中肯定没有Authorization和P-Access-Network-Info头域;对于NBA,UE发出的REGISTER中则可能有这两个头域,也可能没有,如果没有,UE发出的REGISTER消息对于NBA/EIA是完全一样的,那么这种情况下UE将不能区分需要发送哪种鉴权方式对应的REGISTER。
2、对于NASS接入网来说,P-CSCF的地址是UE在NASS接入网附着过程中由NASS接入网告诉UE的,而网络部署中可能同时存在支持NBA和不支持NBA的P-CSCF,如果NASS接入网对于支持NBA的UE选择了一个不支持NBA的P-CSCF,将导致鉴权失败。因此NASS接入层如何知道UE支持NBA、如何找到一个支持NBA的P-CSCF是现有技术无法解决定问题。
3、对于P-CSCF来说,对于EIA/NBA/HTTP DIGEST,UE发出的REGISTER消息中都没有Security-Client等安全协商头域,P-CSCF如何区分这三种鉴权方式也是现有技术无法解决的问题,特别是P-CSCF不能够区分NBA,以便触发e2接口,向CLF查询UE的位置信息。
4、现有技术中的I-CSCF不一定支持NBA/HTTP DIGEST的鉴权方式,同样的,I-CSCF选择的S-CSCF也不一定支持NBA/HTTP DIGEST。
5、对于S-CSCF来说,对于EIA/NBA/HTTP DIGEST,P-CSCF转发的REGISTER消息中都没有integrity-protect头域,S-CSCF将不能区分这三种鉴权方式。
6、对于HSS,目前AKA/EIA是由S-CSCF根据REGISTER的integrity-protected头域是否存在,来判断采用哪种鉴权方式的,而NBA/HTTPDIGEST是配置在HSS中的用户签约数据中,并通过MAA返回给S-CSCF。这样就存在这样一个问题:假设UE同时支持NBA/EIA,UE实际采用EIA,S-CSCF通过CX接口MAR查询时填写的是EIA,但是由于HSS中的用户签约数据只配置了NBA,结果在MAA中返回的却是NBA,这样会导致覆盖真正的EIA……因此此时HSS中的用户签约数据应该配置这两种鉴权方式都支持。问题是如果HSS中对于这两种都配置,那么HSS收到MAR中,应该在MAA中返回哪一个呢?如果两个都返回的话,S-CSCF又如何知道到底该采用什么鉴权方式呢?是否将接入网类型也配置到HSS中,HSS将接入网类型也返回到S-CSCF。S-CSCF再根据实际的接入网类型采用相应的鉴权机制,问题是P-CSCF/S-CSCF接入网类型如何得到,而且此时的鉴权方式与接入网相关是否合理?
当考虑PacketCable的带有安全联盟协商的HTTP DIGEST方式时,现有技术存中上述的缺点1、2、4和6都存在,另外,
对于P-CSCF来说,对于EIA/NBA/HTTP DIGEST,UE发出的REGISTER消息中都没有Security-Client等安全协商头域,但是对于AKA/带有安全联盟协商的HTTP DIGEST,则都有此头域。这种情况下,P-CSCF不再能够根据该头域的存在来区分AKA和非AKA,特别的,P-CSCF不能够区分NBA,以便触发e2(该接口是P-CSCF和CLF之间的接口,P-CSCF通过该接口向CLF查询位置信息。)接口,向CLF查询UE的位置信息,同时,P-CSCF不知道是否需要建立安全联盟;同理,对于S-CSCF来说,此时S-CSCF不能区分这几种鉴权方式。
发明内容
本发明的目的在于提供一种IMS网络中用户终端接入鉴权的方法,以解决现有技术中当多种接入网同时接入某一个IMS核心网络时IMS网络中的实体无法确定对应的鉴权方式的问题。
为实现上述目的,本发明提供的技术方案如下:一种IMS网络中用户终端接入鉴权方法,所述的方法包括如下步骤:
a、用户终端UE向代理-呼叫会话控制功能实体P-CSCF发送注册REGISTER消息;
b、P-CSCF根据所述的REGISTER消息中的信息和/或接入网类型区别鉴权方式,并在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至查询-呼叫会话控制功能实体I-CSCF;
c、I-CSCF选择服务-呼叫会话控制功能实体S-CSCF,并把REGISTER消息透明转发到该S-CSCF;
d、S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式后向归属签约服务器HSS/用户签约服务器功能实体UPSF发送多媒体鉴权请求MAR消息,HSS/UPSF通过多媒体鉴权响应MAA消息返回所述UE的鉴权数据和鉴权方式,S-CSCF进行鉴权处理。
其中步骤a具体包括:
在所述的UE中预先配置支持接入层鉴权与业务层绑定鉴权NBA或者HTTP摘要鉴权HTTP DIGEST鉴权方式的P-CSCF的IP地址或者正式域名FQDN,所述的UE选择P-CSCF向其发送REGISTER消息;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网网络附着子系统NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF通过PDBF获取所述的接入签约数据,并发送给连接位置实体CLF,CLF收到NACF的绑定请求后,根据用户的接入签约数据在返回给NACF的绑定响应中携带所述的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF实体通过PDBF获取所述的接入签约数据,并发送给连接位置实体CLF,CLF收到NACF的绑定请求后,在返回给NACF的绑定响应中携带所有的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将所有P-CSCF的地址/FQDN返回给UE,UE依次尝试发送所述的REGISTER消息到所述的P-CSCF,直到成功为止。
上述的步骤还包括:
所述的UE将要求P-CSCF支持的带安全联盟协商的HTTP DIGEST鉴权能力作为签约数据到分组电缆网PacketCable接入网去签约,PacketCable接入网中相应实体预先配置支持带安全联盟协商的HTTP DIGEST的P-CSCF的IP地址或者FQDN,在UE动态获取IP地址的过程中,PacketCable接入网中相应实体将P-CSCF的IP地址或者FQDN返回给UE;或者,
所述的UE将要求P-CSCF支持的带安全联盟协商的HTTP DIGEST鉴权能力作为签约数据到PacketCable接入网去签约,PacketCable接入网中相应实体预先配置所有P-CSCF的IP地址或者FQDN,保存在数据库中,在所述的UE动态获取IP地址的过程中,所述的PacketCable接入网中相应实体将所有P-CSCF的IP地址或者FQDN返回给所述的UE,所述的UE依次尝试发送REGISTER到所述的P-CSCF,直到成功为止。
其中步骤a具体包括:
所述的UE向P-CSCF发送REGISTER消息,所述的REGISTER消息中的联系contact头域或者P-Access-Network-Info头域中携带接入网类型信息;
其中步骤b具体包括:
b1、所述的P-CSCF根据接收到的REGISTER消息中的contact头域或者P-Access-Network-Info头域区分出接入网类型,并根据所述的接入网类型和/或所述的REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
其中步骤a所述的REGISTER消息中contact头域携带表示鉴权方式偏好的信息。
其中步骤b具体包括:
b1、所述的P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号确定对应的接入网类型,并根据所述的接入网类型和/或所述的REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
其中,所述的根据所述的接入网类型和/或所述的REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果收到的REGISTER消息中有安全客户端Security-Client头域,并且该头域含有与AKA对应的安全机制,则所述的P-CSCF确定鉴权方式为摘要认证与密钥协商鉴权AKA,在所述的REGISTER消息中增加integrity-protected头域并填写与AKA相应的值,然后将其转发至所述的I-CSCF;
如果REGISTER消息中没有Security-Client头域,所述的P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至所述的I-CSCF。
其中,所述的如果所述的REGISTER消息中没有Security-Client头域,所述的P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果收到的REGISTER消息中没有Security-Client头域,并且是从NGN接入网对应的网络接口收到的,所述的P-CSCF确定鉴权方式为NBA或者HTTP DIGEST,所述的P-CSCF查询UE的位置信息,所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中增加UE的位置信息;
如果收到的REGISTER消息中没有Security-Client,并且是从GPRS接入网对应的网络接口收到的,所述的P-CSCF确定鉴权方式为早期IP多媒体网络子系统鉴权EIA,所述的P-CSCF比较所述的REGISTER消息中的经过via头域中的发送者sent-by头域的IP地址是否与所述的REGISTER消息所在IP头中的源IP地址一致,如果不一致,则增加一个接收received头域到via头域中,并填充IP头中的源IP地址。
上述的步骤还包括:
所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中填上相应的接入网类型。
其中所述的P-CSCF在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写所述的鉴权方式信息。
具体包括:
如果鉴权方式是AKA,所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写表示AKA的鉴权方式。
如果鉴权方式是EIA,所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写表示EIA的鉴权方式。
如果鉴权方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写表示未知的鉴权方式。
具体包括:
所述鉴权方式头域包含在REGISTER消息已有的或者新增的P-Access-Network-Info头域中。
其中步骤c具体包括:
c1、所述的I-CSCF通过UAR命令向HSS/UPSF查询S-CSCF鉴权能力,HSS/UPSF通过UAA命令返回用户签约数据要求的S-CSCF鉴权能力集,I-CSCF通过将返回的鉴权能力集与其预先配置的S-CSCF鉴权能力集比较,找到具有对应的鉴权能力的S-CSCF;
c2、所述的I-CSCF将REGISTER消息透明转发给所述的S-CSCF。
其中步骤c1之前还包括:
在所述的I-CSCF中预先配置相应的S-CSCF的地址以及其支持的鉴权能力,同时在HSS/UPSF中将需要S-CSCF支持的鉴权能力预先配置在用户签约数据的S-CSCF能力集数据中。
其中步骤d所述的S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式具体包括:
所述的S-CSCF首先检查收到的REGISTER消息中是否有P-Access-Network-Info头域:
如果没有P-Access-Network-Info头域,并且没有Authorization头域,则确定鉴权方式为早期IMS鉴权EIA;
如果没有P-Access-Network-Info头域,并且有Authorization头域,并且Authorization头域的integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;
如果有P-Access-Network-Info头域,则检查其接入网类型参数的值:
(1)如果该值表示是GPRS接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域,则确定鉴权方式为EIA;
(2)如果该值表示是NGN接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected参数,则确定鉴权方式为NBA或者HTTP DIGEST。
其中步骤d所述的S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式具体包括:
如果所述的S-CSCF收到的REGISTER消息中的授权Authorization头域中有integrity-protected头域,且其值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域,并且没有P-Access-Network-Info头域或者有P-Access-Network-Info头域但其接入网类型参数表示GPRS接入网类型,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected头域,并且有P-Access-Network-Info头域且其接入网类型参数表示NGN接入网类型,则确定鉴权方式为NBA或者HTTP DIGEST。
其中步骤d所述的S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式具体包括:
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与EIA对应,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值表示未知,则确定鉴权方式为NBA或HTTP DIGEST。
其中步骤d所述的S-CSCF区别鉴权方式后向HSS/UPSF发送多媒体鉴权请求MAR消息,HSS/UPSF通过多媒体鉴权响应MAA消息返回所述UE的鉴权数据和鉴权方式,S-CSCF进行鉴权处理,具体包括:
d1、如果鉴权方式为AKA,所述的S-CSCF在MAR消息的鉴权方式SIP-Authentication-Scheme头域中填写表示AKA的鉴权方式后发送给HSS/UPSF;
如果鉴权方式为EIA,所述的S-CSCF保存REGISTER消息中的received/sent-by头域携带的地址信息,在MAR消息的SIP-Authentication-Scheme头域中填写表示EIA鉴权方式后发送给HSS/UPSF;
如果鉴权方式为NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info头域携带的位置信息或者保存P-Access-Network-Info头域携带的位置信息和接入网类型,在MAR消息的鉴权方式SIP-Authentication-Scheme头域中填写表示鉴权方式未知,然后发送给HSS/UPSF;
d2、所述的HSS/UPSF收到所述的MAR消息后,根据其中SIP-Authentication-Scheme头域的值进行处理,通过多媒体签约应答MAA消息将UE的鉴权方式和鉴权数据返回S-CSCF;
d3、所述的S-CSCF根据P-CSCF上报的信息以及HSS/UPSF返回的信息进行处理,如果确定的鉴权方式为AKA或者HTTP DIGEST或者带有安全联盟协商的HTTP DIGEST,则先执行挑战处理过程后再进行鉴权,如果确定的鉴权方式是NBA或者EIA,则直接执行鉴权过程。
其中步骤d1所述的发送给MAR的消息中还包括接入网类型;
其中步骤d2具体包括:所述的HSS/UPSF收到MAR消息后,根据其中的SIP-Authentication-Scheme头域的值以及接入网类型进行处理,通过多媒体签约应答MAA将UE的鉴权方式和鉴权数据返回S-CSCF。
其中步骤d2具体包括:
当SIP-Authentication-Scheme表示是AKA鉴权方式时,如果HSS/UPSF只配置了AKA鉴权方式,或者HSS/UPSF中配置了包括AKA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将鉴权向量的数目SIP-Number-Auth-Items填写为1,鉴权向量SIP-Auth-Data-Item AVP中的鉴权数据头域填写AKA的鉴权向量数据,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示是EIA鉴权方式时,如果HSS/UPSF中只配置了EIA一种鉴权方式,或者HSS/UPSF中配置了包括EIA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写UE的IP地址,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示鉴权方式未知时,如果HSS/UPSF中只配置了一种非AKA鉴权方式的鉴权数据,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据;如果HSS/UPSF中同时配置了多个非AKA鉴权方式的鉴权数据,则将SIP-Number-Auth-Items填写为配置的鉴权方式的数目,并将这些非AKA鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据AVP中,然后将MAA消息返回给S-CSCF。
其中,所述的HSS/UPSF收到MAR消息后,根据其中的SIP-Authentication-Scheme头域的值以及接入网类型进行处理具体包括:
当SIP-Authentication-Scheme表示是AKA鉴权方式时,如果HSS/UPSF只配置了AKA鉴权方式,或者HSS/UPSF中配置了包括AKA的多种鉴权方式,并且配置的接入网类型和MAR中携带的接入网类型匹配,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写AKA的鉴权向量数据、SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示是EIA鉴权方式时,如果HSS/UPSF中只配置了EIA一种鉴权方式,或者HSS/UPSF中配置了包括EIA的多种鉴权方式,并且配置的接入网类型和MAR中携带的接入网类型匹配,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写UE的IP地址,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示鉴权方式未知时,如果HSS/UPSF中只配置了一种鉴权方式的鉴权数据,并且配置的接入网类型和MAR消息中携带的接入网类型匹配,则在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写相应的鉴权数据,SIP-Authentication-Scheme头域的值填写成表示该鉴权方式;如果HSS/UPSF中同时配置了多个鉴权方式的鉴权数据,则在MAA消息中将SIP-Number-Auth-Items填写为实际配置的鉴权数据的数目,并将所有鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据头域中,然后将MAA消息返回给S-CSCF。
其中步骤d3具体包括:
当MAA中只返回一个SIP-Auth-Data-Item时,
如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者带有安全联盟协商的HTTP DIGEST鉴权方式,则所述的S-CSCF根据XRES计算期望结果并保存,在4xx挑战响应消息的算法algorithm头域设置表示相应鉴权方式的值,发送4xx挑战消息到P-CSCF;
如果SIP-Authentication-Scheme表示是EIA鉴权方式,所述的S-CSCF用发送MAR消息前保存的UE源IP地址与HSS/UPSF返回的UE的IP地址比较,匹配成功就发送200;
如果SIP-Authentication-Scheme表示是NBA鉴权方式,所述的S-CSCF用发送MAR消息前保存的UE位置信息与HSS/UPSF返回的UE位置信息比较,匹配成功就发送200;
当MAA中返回多个SIP-Auth-Data-Item时,S-CSCF依次循环尝试用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鉴权方式进行匹配和鉴权处理,直到成功为止;或者S-CSCF在尝试一种鉴权方式失败后,发送一个合适的错误码给UE,等UE重新发起REGISTER消息后,S-CSCF再继续尝试其他的鉴权方式,直到成功为止,或者S-CSCF根据以前保存的接入网类型和/或所述鉴权相关信息来选择一种合适的鉴权方式来鉴权。
本发明还提供了一种UE在鉴权过程中选择P-CSCF的方法,所述的方法为:
在UE中预先配置支持NBA或者HTTP DIGEST鉴权方式的P-CSCF的IP地址或者FQDN,所述的UE选择P-CSCF向其发送REGISTER消息;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网网络附着子系统NASS去签约,保存到PDBF的接入签约数据中,在所述的UE附着NASS的过程中,NASS中的UAAF通过PDBF获取该接入签约数据,并发送给CLF,CLF收到NACF的绑定请求后,根据用户的接入签约数据,在返回给NACF的绑定响应中携带所述的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网NASS去签约,保存到PDBF的接入签约数据中,在所述的UE附着NASS的过程中,NASS中的UAAF通过PDBF获取该接入签约数据,并发送给连接位置实体CLF,CLF收到NACF的绑定请求后,在返回给NACF的绑定响应中携带所有的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将所有P-CSCF的地址/FQDN返回给UE,UE依次尝试发送所述的REGISTER消息到P-CSCF,直到成功为止。
本发明还提供了一种UE在鉴权过程中选择接入网类型的方法,所述的方法具体为:
如果UE同时支持多种鉴权方式,则UE可以根据本地策略确定接入网类型,然后选择合适的接入网发送REGISTER消息到P-CSCF。
本发明还提供了一种P-CSCF确定鉴权方式的方法,所述的方法包括如下的步骤:
P-CSCF收到REGISTER消息后判断其中是否有Security-Client头域:
如果所述的REGISTER消息中有Security-Client头域,并且该头域含有与AKA对应的安全机制,则表示需要采用AKA鉴权方式;或者该头域含有与带安全联盟协商的HTTP DIGEST对应的安全机制,则表示需要采用带安全联盟协商的HTTP DIGEST鉴权方式;
如果所述的REGISTER消息中没有Security-Client头域,所述的P-CSCF再判断接入网类型,如果所述的REGISTER消息是从NGN接入网收到的,则表示需要采用NBA或者HTTP DIGEST鉴权,如果是从GPRS接入网收到的,则表示需要采用EIA鉴权。
本发明还提供了一种P-CSCF确定鉴权方式并进行相应处理的方法,所述的方法包括如下步骤:
a、P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号确定对应的接入网类型,并根据所述的接入网类型和/或REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
其中,所述的根据所述的接入网类型和/或REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果所述的REGISTER消息中有Security-Client头域,并且该头域含有与AKA对应的安全机制,则确定鉴权方式为AKA,然后在所述的REGISTER消息中增加integrity-protected头域,并填写与AKA相应的值;
如果所述的REGISTER消息中没有Security-Client头域,所述的P-CSCF根据接收所述的REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
其中,所述的如果所述的REGISTER消息没有Security-Client头域,所述的P-CSCF根据接收所述的REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果收到的REGISTER消息中没有Security-Client头域,并且是从NGN接入网对应的网络接口收到的,确定鉴权方式为NBA或者HTTP DIGEST,所述的P-CSCF查询UE的位置信息,并在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中增加UE的位置信息;
如果收到的REGISTER消息中没有Security-Client,并且是从GPRS接入网对应的网络接口收到的,确定鉴权方式为EIA,所述的P-CSCF比较REGISTER消息中的via头域中的sent-by头域的IP地址是否与REGISTER消息所在IP头中的源IP地址一致,如果不一致,则增加一个received头域到via头域中,并填充IP头中的源IP地址。
上述的步骤还包括:
所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中填上相应的接入网类型。
其中,所述的P-CSCF在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写所述的鉴权方式信息。
上述的步骤具体包括:
如果鉴权方式是AKA,所述的P-CSCF在所述的REGISTER消息中的鉴权方式头域中填写表示AKA的鉴权方式。
如果鉴权方式是EIA,所述的P-CSCF在所述的REGISTER消息中的鉴权方式头域中填写表示EIA的鉴权方式。
如果鉴权方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息中的鉴权方式头域中填写表示未知的鉴权方式。
上述的步骤具体包括:
所述鉴权方式头域包含在REGISTER消息已有的或者新增的P-Access-Network-Info头域中。
本发明还提供了一种S-CSCF确定鉴权方式的方法,所述的方法包括如下步骤:
a、S-CSCF根据收到的REGISTER消息中的信息和/或P-Access-Network-Info头域区别鉴权方式。
其中步骤a具体包括:
如果所述的S-CSCF收到的REGISTER消息中的Authorization头域中有integrity-protected头域,且其值与AKA对应,则所述的S-CSCF确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域,并且没有P-Access-Network-Info头域或者有P-Access-Network-Info头域但其接入网类型表示GPRS接入网,则所述的S-CSCF确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域,或者Authorization头域中没有integrity-protected头域,并且有P-Access-Network-Info头域且其接入网类型参数表示NGN接入类型,则所述的S-CSCF确定鉴权方式NBA或者HTTP DIGEST。
其中步骤a具体包括:所述的S-CSCF首先检查收到的REGISTER消息中是否有P-Access-Network-Info头域:
如果没有P-Access-Network-Info头域,并且没有Authorization头域,则确定鉴权方式为EIA;
如果没有P-Access-Network-Info头域,并且有Authorization头域,并且Authorization头域的integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;
如果有P-Access-Network-Info头域,所述的S-CSCF检查其接入网类型参数的值:
(1)如果该值表示是GPRS接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域,则确定鉴权方式为EIA;
(2)如果该值表示是NGN接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected参数,则确定鉴权方式为NBA或者HTTP DIGEST。
其中步骤a具体包括:
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与EIA对应,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值表示未知,则确定鉴权方式为NBA或HTTP DIGEST。
其中步骤a之后还包括:
如果鉴权方式为AKA,S-CSCF在MAR消息中的SIP-Authentication-Scheme头域中填写AKA鉴权方式后发送给HSS/UPSF;
如果鉴权方式为EIA,S-CSCF保存REGISTER消息中的received/sent-by头域携带的地址信息,在MAR消息的SIP-Authentication-Scheme头域中填写EIA鉴权方式后发送给HSS/UPSF;
如果鉴权方式为NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info头域携带的位置信息或者保存P-Access-Network-Info头域携带的位置信息和接入网类型,在MAR消息的SIP-Authentication-Scheme头域中填写表示鉴权方式未知,然后发送给HSS/UPSF;
本发明还提供了一种HSS/UPSF确定鉴权方式的方法,所述的方法包括如下步骤:
当S-CSCF发送给HSS/UPSF的MAR消息中的SIP-Authentication-Scheme头域表示是AKA鉴权方式时,如果HSS/UPSF只配置了AKA鉴权方式,或者HSS/UPSF中配置了包括AKA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items的值填写为1,鉴权向量SIP-Auth-Data-ItemAVP中的鉴权数据头域填写成AKA的鉴权向量数据,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示是EIA鉴权方式时,如果HSS/UPSF中只配置了EIA一种鉴权方式,或者HSS/UPSF中配置了包括EIA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items的值填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域携带UE的IP地址,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示鉴权方式未知时,如果HSS/UPSF中只配置了一种非AKA鉴权方式的鉴权数据,则在MAA消息中将SIP-Number-Auth-Items的值填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据;如果HSS/UPSF中同时配置了多个非AKA鉴权方式的鉴权数据,则将SIP-Number-Auth-Items填写为配置的鉴权方式的数目,并将这些非AKA鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据AVP中,然后将MAA消息返回给S-CSCF。
本发明还提供了一种S-CSCF根据P-CSCF上报的信息以及HSS/UPSF返回的信息进行鉴权的方法,所述的方法具体为:
当MAA中只返回一个SIP-Auth-Data-Item时,
如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者带有安全联盟协商的HTTP DIGEST鉴权方式,则S-CSCF根据XRES计算期望结果并保存,在4xx挑战响应消息的algorithm头域设置表示相应鉴权方式的值,发送4xx挑战消息到P-CSCF;
如果SIP-Authentication-Scheme表示是EIA鉴权方式,S-CSCF用发送MAR消息前保存的UE源IP地址与HSS/UPSF返回的UE IP地址比较,匹配成功就发送200;
如果SIP-Authentication-Scheme表示是NBA鉴权方式,S-CSCF用发送MAR消息前保存的UE位置信息与HSS/UPSF返回的UE位置信息比较,匹配成功就发送200;
当MAA中返回多个SIP-Auth-Data-Item时,S-CSCF依次循环尝试用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鉴权方式进行匹配和鉴权处理,直到成功为止;或者S-CSCF在尝试一种鉴权方式失败后,发送一个合适的错误码给UE,等UE重新发起REGISTER消息后,S-CSCF再继续尝试其他的鉴权方式,直到成功为止;或者S-CSCF根据以前保存的接入网类型和/或所述鉴权相关信息来选择一种合适的鉴权方式来鉴权。
本发明克服现有技术的不足,通过采用P-CSCF收到UE发来的REGISTER消息后,根据相应的接入网类型在其中增加与鉴权方式相关的信息后将其转发至I-CSCF,I-CSCF选择S-CSCF,并把REGISTER消息透明转发到该S-CSCF,S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式后与HSS/UPSF交互获取所述UE的鉴权数据和鉴权方式后进行鉴权处理的技术方案使得IMS核心网中的网络实体能够对各种接入网情况下的用户终端接入采用不同的鉴权方式,并根据不同的鉴权方式进行相应的处理,完成用户终端的接入鉴权过程。通过本发明可以解决目前的技术方案中固定接入网中NBA/HTTP DIGEST鉴权方式与移动接入网中EIA鉴权方式的冲突,以及PacketCable接入网中带有安全联盟协商的HTTP DIGEST鉴权方式与HTTP DIGEST AKA鉴权方式的冲突。
附图说明
图1为IMS网络安全模型图;
图2为现有技术AKA鉴权方式流程图;
图3为现有技术EIA鉴权方式流程图;
图4为现有技术NBA鉴权方式流程图;
图5为现有技术HTTP DIGEST鉴权方式流程图;
图6为现有技术带有安全联盟协商的HTTP DIGEST鉴权方式流程图;
图7为IMS网络实体同时接入多种终端的组网图;
图8为本发明实施例一流程图。
图9为本发明实施例二流程图;
图10为本发明实施例三流程图;
图11为本发明实施例四流程图;
图12为本发明实施例五流程图;
图13为本发明实施例六流程图。
具体实施方式
本发明的基本思路UE选择一个支持某种鉴权方式的P-CSCF,并在发给P-CSCF的REGISTER消息中携带某种头域,P-CSCF收到REGISTER消息后,根据该头域区分出鉴权方式或者UE的接入网类型,并在REGISTER消息中增加某种头域以便S-CSCF在鉴权时使用,然后将该REGISTER发送到I-CSCF,I-CSCF通过UAR命令向HSS查询该用户所要求的S-CSCF鉴权能力集,HSS通过UAA命令返回给I-CSCF,然后I-CSCF根据返回的该用户要求的S-CSCF鉴权能力集以及I-CSCF上预先配置的S-CSCF的地址以及鉴权能力的关系表,找到一个合适的S-CSCF,并把REGISTER消息透明转发到S-CSCF,S-CSCF再通过MAR/MAA和HSS交互获得该用户的鉴权数据和鉴权方式,根据P-CSCF上报的信息以及HSS返回的信息进行处理,鉴权成功,S-CSCF通过SAR/SAA消息告诉HSS以后将为该用户服务,并下载相应的用户鉴权数据profile,然后发送200成功响应到P-CSCF/UE。
以下结合附图和具体实施例来进一步具体说明。
由于PacketCable规范中也定义了两种终端:含有UICC/ISIM的终端和不含有UICC/ISIM的终端,其对应的鉴权方式分别为DIGEST AKA和HTTPDIGEST with SA(带有安全联盟(SA)协商机制),但尚未最后确定,因此本发明的实施例区分如下的两种情况分别说明(由于EIA/AKA是最早应用的,这样所有的核心网络实体基本上都会支持EIA/AKA,本实施例中假定核心网络实体基本上都会支持EIA/AKA鉴权方式):
实施例一:不考虑PacketCable的带有安全联盟协商的HTTP DIGEST方式的场景,其流程如附图8所示,其中:
步骤0、对于同时支持多种鉴权方式的UE,由于这几种鉴权方式对应的接入网类型不一样,为了让P-CSCF收到相应的REGISTER消息后能够区分出接入网类型和鉴权方式,UE需要通过某种方式选择一个支持某种鉴权方式的P-CSCF,并在发给P-CSCF的REGISTER消息中携带某种头域,以便让P-CSCF能够区分出接入网类型和鉴权方式。
UE可以采用如下三种方式之一:在发送REGISTER消息时通过contact头域表明自己的终端类型(移动/固定);在发送REGISTER消息时通过contact头域表明自己的鉴权方式偏好;也可以通过P-Access-Network-Info带上接入网络类型access-type。UE如何知道接入网类型与其体的实现相关,例如可以通过应用层和底层接口交互得到。
对于同时支持多种鉴权方式的UE,除了上述的三种方式之外,UE还可以根据本地策略确定接入网类型,然后选择合适的接入网发送REGISTER。或者UE也可以不用根据鉴权方式来区分发送REGISTER,而是由P-CSCF收到REGISTER消息后根据接入网类型来区分处理。
步骤1、UE向支持其选择的鉴权方式的P-CSCF发送REGISTER消息,该消息中携带表明其接入网类型或者鉴权方式偏好的头域。UE可以通过三种方式选择支持相应鉴权方式的P-CSCF:
方式1:UE需要预先配置支持NBA(或HTTP DIGEST)的P-CSCF的IP地址(或者FQDN)。
方式2:UE将P-CSCF支持NBA(或HTTP DIGEST)鉴权能力作为签约数据到接入网NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中。在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF实体通过PDBF获取该接入签约数据,并发送给连接位置实体CLF。CLF就可以通过预先配置或者其他方式获取支持NBA(或HTTP DIGEST)的P-CSCF的IP地址(或者FQDN),保存在数据库中。CLF通过a2接口收到NACF(中文注释)的绑定请求后,在返回给NACF的绑定响应中携带支持NBA(或HTTP DIGEST)的P-CSCF地址/FQDN。以后UE通过DHCP协议或者PPP协议动态获取IP地址的过程中,NACF可以通过AMF(a1接口)将P-CSCF的地址/FQDN返回给UE(e1接口)。
方式3:UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF实体通过PDBF获取该接入签约数据,并发送给连接位置实体CLF,CLF预先配置所有的P-CSCF的IP地址或者FQDN,CLF收到NACF的绑定请求后,在返回给NACF的绑定响应中携带所有的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将所有P-CSCF的地址/FQDN返回给UE,UE依次尝试发送所述的REGISTER消息到所述的P-CSCF,直到成功为止。
步骤2、P-CSCF收到REGISTER消息后,根据上述的头域区分鉴权方式,并在REGISTER消息中增加某种头域以便S-CSCF在鉴权时使用。
具体来说,P-CSCF可以采取如下四种方式之一确定鉴权方式并在确定鉴权方式后增加相应的头域:
方式1:仅根据收到的REGISTER消息的接入网类型来处理,具体可以采用如下的技术方案:
P-CSCF通过在数据库中预先配置网络接口对应的接入网类型,或者P-CSCF还可以通过在数据库中预先配置IP地址或者端口号对应的接入网类型,根据收到的REGISTER消息中的源IP地址/目标IP地址(或者源、目标端口号)可以区分出接入网类型。如果收到的REGISTER消息是从NGN接入网对应的网络接口收到的,则不管采用NBA或者HTTP DIGEST或者AKA任一种鉴权方式,都需要触发e2接口查询UE的位置信息。如果是从GPRS接入网对应的网络接口收到的,则不需要触发e2接口。
对于通过NGN接入网收到的REGISTER消息,P-CSCF在已有的P-Access-Network-Info头域(UE在REGISTER消息中已携带此头域)中增加位置信息,或者增加一个P-Access-Network-Info头域(UE在REGISTER消息中没有携带此头域)并填充位置信息以及其他信息,另外也需要在P-Access-Network-Info头域的access-type或者network-provided填上相应的NGN接入网类型。
P-CSCF还可以根据接收到的REGISTER消息中的contact头域区分出接入网类型,然后采用上述相同的原则来处理。
P-CSCF还可以根据接收到的REGISTER消息中的P-Access-Network-Info头域区分出接入网类型,然后采用上述相同的原则来处理。
方式2:根据收到的REGISTER消息的接入网类型以及REGISTER是否存在Security-Client来处理:
如果收到的REGISTER消息是从NGN接入网对应的网络接口收到的,则如果有安全协商客户端Security-Client头域,并且该头域含有与AKA对应的安全机制,则需要采用AKA鉴权,不需要触发e2,在Authorization头域中增加一个integrity-protected头域,并填写与AKA相应的值。否则采用NBA或者HTTP DIGEST鉴权,需要触发e2接口。
如果收到的REGISTER消息是从GPRS接入网对应的网络接口收到的,则如果有Security-Client,并且该头域含有与AKA对应的安全机制,则需要采用AKA鉴权,不需要触发e2,在Authorization头域中增加一个integrity-protected头域,并填写与AKA相应的值。否则采用EIA鉴权,不需要触发e2接口。
方式3:P-CSCF也可以直接根据收到的REGISTER消息中的contact头域携带的鉴权方式偏好直接区分出鉴权方式,然后再作上述相应处理。
不管采用上述哪种方式,如果收到的REGISTER消息中没有P-Access-Network-Info头域,P-CSCF还在所述的REGISTER消息中新增P-Access-Network-Info头域。同时在P-Access-Network-Info头域中填上相应的接入网类型;以便以后S-CSCF可以根据该头域的内容,结合REGISTER中的鉴权信息作进一步处理。
P-CSCF区分出鉴权方式后,还进一步如下处理:
如果鉴权方式是AKA,则在REGISTER消息的鉴权方式头域中填写表示AKA的鉴权方式。
如果鉴权方式是EIA,则在REGISTER消息的鉴权方式头域中填写表示EIA的鉴权方式。
如果鉴权方式是NBA或HTTP DIGEST,则在REGISTER消息的鉴权方式头域中填写表示未知的鉴权方式。
上述鉴权方式头域可以包含在REGISTER消息已有的或者新增的P-Access-Network-Info头域中。
步骤3、P-CSCF将增加了头域的REGISTER发送到I-CSCF。
步骤4、I-CSCF通过UAR命令向HSS查询该用户所要求的S-CSCF鉴权能力集。
通过在I-CSCF数据库中的业务能力集数据中预先配置相应的S-CSCF的地址以及支持的鉴权能力(例如:S-CSCF1支持NBA、S-CSCF2支持EIA、S-CSCF3支持HTTP DIGEST、S-CSCF1支持AKA和EIA……),同时在HSS中也将需要S-CSCF支持的鉴权能力预先配置在用户签约数据的S-CSCF能力集(Server-Capabilities AVP)中(例如:用户1支持NB  A用户2支持EIA……)。
步骤5-6、HSS通过UAA命令将用户所要求的S-CSCF鉴权能力集返回给I-CSCF。
步骤7、I-CSCF根据返回的该用户要求的S-CSCF鉴权能力集以及I-CSCF上预先配置的S-CSCF的地址以及鉴权能力的关系表,找到一个合适的S-CSCF。
步骤8、I-CSCF将REGISTER消息透明转发到上述的S-CSCF。
步骤9、S-CSCF通过REGISTER消息中的头域确认鉴权方式并填写相应的鉴权方式在SIP_Authentication_Scheme消息的头域中。
S-CSCF收到REGISTER消息后,可以采取如下几种方式之一确定鉴权方式:
方式1:根据REGISTER消息中是否有Authorization头域或者Authorization头域是否有integrity-protected头域来处理:
如果Authorization头域中有integrity-protected头域,且其值与AKA对应,则表示需要AKA鉴权。
如果没有Authorization头域,并且没有P-Access-Network-Info头域或者有P-Access-Network-Info头域但其接入网类型参数表示GPRS接入类型,,则表示需要Early IMS鉴权。
如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected头域,并且有P-Access-Network-Info头域,且其接入网类型参数access-type或者network-provider表示NGN接入类型,则表示需要NASS-Bundled或者HTTP DIGEST鉴权。
方式2、在上述的过程中,也可以先判断接入网类型,再判断是否存在integrity-protected头域。方法如下:
S-CSCF首先检查收到的REGISTER消息中是否有P-Access-Network-Info头域:
如果没有P-Access-Network-Info头域,并且没有Authorization头域,则则鉴权方式为早期IMS鉴权EIA。
如果没有P-Access-Network-Info头域,并且有Authorization头域,并且Authorization头域的integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;
如果有P-Access-Network-Info头域,再检查其接入网类型参数的值:
(1)如果该值表示GPRS接入网类型,进一步检查REGISTER消息中是否有Authorization头域:如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则鉴权方式为AKA;如果没有Authorization头域,则鉴权方式为EIA。
(2)如果该值表示NGN接入网类型,进一步检查REGISTER消息中是否有Authorization头域:如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则鉴权方式为AKA;如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected参数,则鉴权方式为NBA或者HTTP DIGEST。
方式3、S-CSCF也可以根据收到的REGISTER消息的鉴权方式头域区分出鉴权方式。方法如下:
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与EIA对应,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值表示未知,则确定鉴权方式为NBA或HTTP DIGEST;
对于上述几种方式,当S-CSCF区分鉴权方式后,还要作如下处理:
如果鉴权方式为AKA,S-CSCF在多媒体鉴权请求MAR消息的鉴权方式SIP-Authentication-Scheme头域中填写表示AKA的鉴权方式(如“Digest-AKAv1-MD5”)后发送给HSS/UPSF;
如果鉴权方式为EIA,S-CSCF保存REGISTER消息中的received/sent-by头域携带的地址信息,MAR消息的SIP-Authentication-Scheme头域中填写表示EIA鉴权方式(如“Early-IMS-Security”)后发送给HSS/UPSF;
如果鉴权方式为NBA或者HTTP DIGEST,S-CSCF保存P-Access-Network-Info头域携带的位置信息或者保存P-Access-Network-Info头域携带的位置信息和接入网类型,MAR消息的鉴权方式SIP-Authentication-Scheme头域中填写表示鉴权方式目前未知(如“unknown”),然后发送给HSS/UPSF;
方式3:此外,除了在MAR中携带鉴权方式以外,S-CSCF需要将相应的接入网类型也携带在MAR中发送给HSS,可以通过扩展DIAMETER协议实现这一点。
步骤10、S-CSCF通过MAR向HSS查询该用户的鉴权数据和鉴权方式。
具体来说,HSS收到MAR消息后,可以采取如下两种方式之一来处理:
方式1:针对上述的的S-CSCF采取所述的方式1和方式2的情况:
配置原则:HSS中用户的签约数据中预先配置有鉴权方式以及相应的鉴权数据、以及表示鉴权方式的优先级(可选)。对于同时支持NBA/EIA的UE,其签约数据中应预先配置这两种鉴权方式以及各自相应的鉴权数据、以及表示鉴权方式的优先级(可选)。
处理方式:HSS收到MAR消息后,根据SIP-Authentication-Scheme头域的值进行处理:
当SIP-Authentication-Scheme头域的值表示是AKA鉴权方式,如“Digest-AKAv1-MD5”,如果HSS只配置了AKA鉴权方式,或者HSS中配置了多种鉴权方式,并且其中包含AKA鉴权方式,则在MAA响应中SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域携带AKA的鉴权向量数据(AUTN,RAND,XRES,IK,CK),SIP-Authentication-Scheme头域的值不变,(可选)优先级头域填写为任意正值。然后将MAA返回给S-CSCF。
SIP-Authentication-Scheme表示是Early IMS。如果HSS中只配置了EarlyIMS一种鉴权方式,或者HSS中配置了多种鉴权方式,并且其中包含Early IMS鉴权方式,则在MAA响应中的SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域携带UE的IP地址,SIP-Authentication-Scheme头域的值不变,(可选)优先级头域填写为任意正值。然后将MAA返回给S-CSCF。
SIP-Authentication-Scheme表示是未知,如果HSS中只配置了一种鉴权方式的鉴权数据,则在MAA响应中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据,(可选)优先级头域填写为任意正值。如果HSS中同时配置了多个鉴权方式的鉴权数据,则将SIP-Number-Auth-Items填写为配置的鉴权方式的数目,并将这些鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据AVP中,或者如果HSS发现多种鉴权方式中有无效的鉴权数据,则只将有效的鉴权方式和鉴权数据填充到MAA中,然后返回给S-CSCF。例如:如果同时配置了NBA和EIA,则MAA中SIP-Number-Auth-Items填写为2,并将有两个SIP-Auth-Data-ItemAVP:SIP-Auth-Data-Item(SIP-Authentication-Scheme=表示NBA的鉴权方式,UE的位置信息,(可选)优先级头域填写为配置的优先级),SIP-Auth-Data-Item(SIP-Authentication-Scheme=表示EIA的鉴权方式,IP地址信息,(可选)优先级头域填写为配置的优先级)。然后将MAA返回给S-CSCF。
其它情况下,HSS应当在MAA中返回相应的错误码。
方式2:针对上述的的S-CSCF采取所述的方式3的情况:
如果S-CSCF将相应的接入网类型也携带在MAR中发送给HSS时,HSS需要匹配接入网类型,(可选)MAA响应消息中需要扩展两项,分别表示接入网类型以及鉴权方式的优先级。
配置原则:HSS中用户的签约数据中预先配置有鉴权方式以及相应的鉴权数据和接入网类型、优先级。对于同时支持NBA/EIA的UE,其签约数据中应预先配置这两种鉴权方式以及各自相应的鉴权数据和(可选)接入网类型、(可选)优先级。
处理方式:HSS收到MAR消息后,根据SIP-Authentication-Scheme头域的值以及接入网类型进行处理:
SIP-Authentication-Scheme表示是AKA鉴权方式。如果HSS只配置了AKA鉴权方式,或者HSS中配置了多种鉴权方式,并且其中包含AKA鉴权方式,并且配置的接入网类型和通过MAR收到的接入网类型匹配,则在MAA响应中SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域携带AKA的鉴权向量数据(AUTN,RAND,XRES,IK,CK),SIP-Authentication-Scheme头域和表示(可选)接入网类型头域的值不变,(可选)优先级头域填写为任意正值。然后将MAA返回给S-CSCF。
SIP-Authentication-Scheme表示是Early IMS。如果HSS中只配置了EarlyIMS一种鉴权方式,或者HSS中配置了多种鉴权方式,并且其中包含Early IMS鉴权方式,并且配置的接入网类型和通过MAR收到的接入网类型匹配,则在MAA响应中SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域携带UE的IP地址,SIP-Authentication-Scheme头域和(可选)表示接入网类型头域的值不变,(可选)优先级头域填写为任意正值。然后将MAA返回给S-CSCF。
SIP-Authentication-Scheme表示是未知,如果HSS中只配置了一种鉴权方式的鉴权数据,并且配置的接入网类型和通过MAR收到的接入网类型匹配,则在MAA响应中SIP-Number-Auth-Items填写为1,SIP-Auth-Data-ItemAVP中的鉴权数据头域携带相应的鉴权数据,SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,(可选)接入网类型不变,(可选)优先级填写为任意正值。如果HSS中同时配置了多个鉴权方式的鉴权数据,则在MAA响应中将SIP-Number-Auth-Items填写为实际配置的鉴权数据的数目,并将所有鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据头域中,或者如果HSS发现多种鉴权方式中有无效的鉴权数据,则只将有效的鉴权方式和鉴权数据填充到MAA中,然后返回给S-CSCF。例如:如果同时配置了NBA和EIA,则MAA中将SIP-Number-Auth-Items填写为2,并将有两个SIP-Auth-Data-ItemAVP:SIP-Auth-Data-Item(SIP-Authentication-Scheme=表示NBA的鉴权方式,UE的位置信息,(可选)接入网类型是NGN,(可选)优先级),SIP-Auth-Data-Item(SIP-Authentication-Scheme=表示EIA的鉴权方式,IP地址信息,(可选)接入网类型是GPRS,(可选)优先级)。然后将MAA返回给S-CSCF。
其它情况下,HSS应当在MAA中返回相应的错误码。
步骤11-12、HSS通过MAA向S-CSCF返回该用户的鉴权数据和鉴权方式。
步骤13、S-CSCF根据P-CSCF上报的信息以及HSS返回的信息进行处理,如果确定的鉴权方式为AKA/HTTP DIGEST,则要执行步骤14-19的挑战处理过程,如果确定的鉴权方式是NBA/EIA,则直接执行鉴权过程后转步骤20。
本步骤具体说明如下:
S-CSCF收到HSS返回的MAA消息后,根据SIP-Auth-Data-Item的个数以及SIP-Auth-Data-Item中的SIP-Authentication-Scheme头域的值进行处理:
当MAA中只返回一个SIP-Auth-Data-Item时,
如果SIP-Authentication-Scheme表示是AKA鉴权方式,保存XRES,发送4xx挑战消息(WWW-Authenticate头域中的algrithm设置成表示AKA鉴权,例如“AKAv1-MD5”)到P-CSCF。
如果SIP-Authentication-Scheme表示是Early IMS鉴权方式,S-CSCF用发送MAR消息前保存的UE源IP地址与HSS返回的UE IP地址相比,匹配成功就发送200。
如果SIP-Authentication-Scheme表示是NBA鉴权方式,S-CSCF用发送MAR消息前保存的UE位置信息与HSS返回的UE位置信息相比,匹配成功就发送200。
如果SIP-Authentication-Scheme表示是HTTP DIGEST鉴权方式,保存XRES,发送4xx挑战消息(WWW-Authenticate头域中的algrithm设置成表示HTTP DIGEST鉴权,例如“MD5”)到P-CSCF。
当MAA中返回多个SIP-Auth-Data-Item时,S-CSCF配合上述步骤10中所述的MAR消息中是否带有接入网类型信息来处理,可以采取如下方式之一:
方式1:上述步骤10中所述的MAR消息中不带有接入网类型信息,则根据MAA返回的鉴权方式的优先级从高到低顺序(可选),结合S-CSCF发送MAR消息前保存的接入网类型信息(可选),依次循环尝试用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鉴权方式进行匹配和鉴权处理,直到成功为止。(例如,如果HSS返回的MAA消息中包含两个SIP-Auth-Data-Item,分别对应NBA(优先级为2)和EIA(优先级为1)。S-CSCF首先尝试进行NBA鉴权方式的鉴权处理,但是S-CSCF发送MAR消息前保存的接入网类型不是NGN接入网而是GPRS,则表示NBA尝试失败;再尝试进行EIA鉴权方式的鉴权处理,如果S-CSCF发送MAR消息前保存的的接入网类型是GPRS接入网,则进行EIA鉴权处理。)或者S-CSCF也可以在尝试一种鉴权方式失败后,发送一个错误码给UE,UE重新发起REGISTER消息后,S-CSCF再继续尝试其他的鉴权方式,直到成功为止;或者S-CSCF也可以根据以前保存的接入网类型和/或所述鉴权相关信息来选择一种合适的鉴权方式来鉴权。
方式2:上述步骤10中所述的MAR消息中带有接入网类型信息,则根据MAA返回的鉴权方式的优先级从高到低顺序以及对应的接入网类型(可选),结合S-CSCF发送MAR消息前保存的接入网类型信息(可选),依次循环尝试用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鉴权方式进行匹配和鉴权处理,直到成功为止。
步骤14~19仅对于AKA或者HTTP DIGEST才存在。
步骤14、S-CSCF向P-CSCF发送401挑战消息,WWW-Authenticate头域的algorithm的值填写为表示该鉴权方式的值,例如:对于AKA,WWW-Authenticate头域的algorithm头域的值为AKAv1-MD5,对于HTTPDIGESTD,WWW-Authenticate头域的algorithm头域的值为MD5。
步骤15、P-CSCF将上述的410挑战消息发送到UE。
步骤16、对于AKA/HTTP DIGEST,P-CSCF和UE根据401挑战消息的WWW-Authenticate头域的algorithm头域的值区分出鉴权方式,然后判断是否建立安全联盟。AKA需要建立,HTTP DIGEST不需要建立。
步骤17、UE重新向P-CSCF发送REGISTER消息,其中携带挑战响应RES。
步骤18、P-CSCF将REGISTER消息再发到S-CSCF。
步骤19、S-CSCF执行实际的鉴权处理:比较挑战响应中携带的结果RES与以前保存的期望结果XRES,如果一致,则鉴权成功。
步骤20-21、鉴权成功,S-CSCF通过SAR/SAA消息告诉HSS以后将为该用户服务,并下载相应的用户签约数据profile。
步骤22、S-CSCF发送200成功响应到P-CSCF
步骤23、P-CSCF转发200成功响应UE。
步骤24、对于NBA/EIA,由于P-CSCF/UE以前没有收到过401挑战消息,是直接收到的200成功响应消息,因此两者之间不需要建立安全联盟。
实施例二:考虑PacketCable的带有安全联盟协商的HTTP DIGEST方式的场景
其流程如附图9所示,其中与实施例一流程中相同的步骤在此不再具体说明,以下说明与实施例一中不同的步骤:
步骤0、为防止支持带有安全联盟协商的HTTP DIGEST鉴权的UE可能发送REGISTER到一个不支持带有安全联盟协商的HTTP DIGEST鉴权的P-CSCF的情况发生,可以采取如下两种方式之一:
方式1:UE将要求P-CSCF支持的鉴权能力作为签约数据到PacketCable接入网去签约;PacketCable接入网中相应实体通过预先配置获取支持带安全联盟的HTTP DIGEST的P-CSCF的IP地址或者FQDN,保存在数据库中;当UE动态获取IP地址的过程中,PacketCable接入网中相应实体将P-CSCF的IP地址或者FQDN返回给UE;或者,
方式2:UE将要求P-CSCF支持的鉴权能力作为签约数据到PacketCable接入网去签约;PacketCable接入网中相应实体预先配置所有P-CSCF的IP地址或者FQDN,保存在数据库中;在UE动态获取IP地址的过程中,PacketCable接入网中相应实体将所有P-CSCF的IP地址或者FQDN返回给UE;UE依次尝试发送所述的REGISTER消息到所述的P-CSCF,直到成功为止。
步骤2、P-CSCF收到UE发来的REGISTER消息后,此时可以通过如下两种方式之一来确定鉴权方式:
方式1、根据收到的REGISTER消息的接入网类型来处理,具体如实施例一中所述。
方式2、根据收到的REGISTER消息的接入网类型以及REGISTER是否存在Security-Client来处理,具体如实施例一中所述。
另外,对于方式1和方式2,P-CSCF针对PacketCable接入网的处理是:
如果是从PacketCable接入网对应的网络接口收到的,由于带有安全联盟的HTTP DIGEST和AKA都带有Security-Client安全协商头域,此时无法判断采用何种鉴权方式,但P-CSCF也需要将PacketCable接入网类型填写在已有或者新增的P-Access-Network-Info中的Acces-type或者network-provider头域中,在Authorization头域中增加一个integrity-protected头域,并填写与具体鉴权方式相关的值,然后等到S-CSCF返回401后再根据WWW-Authenticate头中的algorithm的值进行区分处理,它和AKA的区别在于以后UE计算挑战响应时的algorithm算法的值不同,S-CSCF从HSS下载的鉴权向量也不同而已(AKA一次下载多个鉴权矢量,并且其中有鉴权序号AUTN,完整性密钥IK,加密密钥CK参数,带有安全联盟协商的HTTP DIGEST则一次只能下载一个鉴权矢量,并且没有这些参数)。
步骤9、S-CSCF通过REGISTER消息中的头域确认鉴权方式并填写相应的鉴权方式在SIP_Authentication_Scheme消息的头域中。
具体来说,
方式1:具体过程同实施例一中方式1所述的过程,区别是S-CSCF在MAR中的SIP-Authentication-Scheme头域统一都填写为未知。
方式2:具体过程同实施例一中方式2所述的过程,区别是S-CSCF在MAR中的SIP-Authentication-Scheme头域统一都填写未知。
方式3:具体过程同实施例一中方式3所述的过程,区别是S-CSCF在MAR中的SIP-Authentication-Scheme头域统一都填写未知。
步骤13、当MAA中只返回一个SIP-Auth-Data-Item时,SIP-Authentication-Scheme表示是带有安全联盟协商的HTTP DIGEST鉴权方式,保存XRES,发送4xx挑战消息(WWW-Authenticate头域中的algorithm设置成表示带有安全联盟协商的HTTP DIGEST鉴权,例如“SHA1”)到P-CSCF。其他的处理同实施例一中的步骤13。
步骤14、P-CSCF/UE收到4xx挑战消息后,
如果WWW-Authenticate头域中的algorithm参数表示AKA鉴权或者带有安全联盟协商的HTTP DIGEST,则步骤16中P-CSCF和UE之间需要建立安全联盟。
如果WWW-Authenticate头域中的algorithm参数表示HTTP DIGEST鉴权,则步骤16中P-CSCF和UE之间不需要建立安全联盟。
实施例三:采用HTTP DIGEST鉴权的流程如附图10所示:
0~1:UE将要求P-CSCF支持的HTTP DIGEST鉴权能力作为签约数据到接入网网络附着子系统NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF实体通过PDBF获取该接入签约数据,并发送给连接位置实体CLF,CLF预先配置所述的P-CSCF的IP地址或者FQDN,CLF收到NACF的绑定请求后,根据用户的接入签约数据在返回给NACF的绑定响应中携带所述的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;
UE然后发送REGISTER消息给P-CSCF。
2~3:P-CSCF通过在数据库中预先配置网络接口对应的接入网类型,或者P-CSCF还可以通过在数据库中预先配置IP地址或者端口号对应的接入网类型,根据收到的REGISTER消息中的源IP地址/目标IP地址(或者源、目标端口号)可以区分出接入网类型。由于收到的REGISTER消息没有安全协商头域,并且是从NGN接入网对应的网络接口收到的,需要触发e2接口查询UE的位置信息。对于通过NGN接入网收到的REGISTER消息,P-CSCF在已有的P-Access-Network-Info头域(UE在REGISTER消息中已携带此头域)中增加位置信息,或者增加一个P-Access-Network-Info头域(UE在REGISTER消息中没有携带此头域)并填充位置信息以及其他信息,另外也需要在P-Access-Network-Info头域的access-type或者network-provided填上相应的接入网类型。然后发送REGISTER给I-CSCF。
4~8:I-CSCF发送UAR到HSS,HSS通过UAA命令将用户所要求的S-CSCF鉴权能力集(要求支持HTTP DIGEST)返回给I-CSCF。I-CSCF根据返回的该用户要求的S-CSCF鉴权能力集以及I-CSCF上预先配置的S-CSCF的地址以及鉴权能力的关系表,找到一个合适的S-CSCF。然后将REGISTER转发到所选择的S-CSCF。
9~~10:S-CSCF检查收到的REGISTER:如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected头域,并且有P-Access-Network-Info头域,((可选)且其access-type或者network-provider表示NGN接入类型),则表示需要NASS-Bundled或者HTTP DIGEST鉴权(目前还不能确定到底采用哪一种)。S-CSCF保存P-Access-Network-Info头域携带的位置信息和(可选)接入网类型信息,MAR消息的SIP-Authentication-Scheme头域中填写为表示未知,表示鉴权方式目前未知,等待HSS响应。
11~12:HSS中只配置了HTTP DIGEST一种鉴权方式,在MAA响应中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据,(可选)优先级头域填写为任意正值。然后发送MAA给S-CSCF。
13~19:S-CSCF发现MAA中只返回一个SIP-Auth-Data-Item,并且SIP-Authentication-Scheme表示是HTTP DIGEST鉴权方式,S-CSCF首先保存XRES,然后执行14~19步的挑战处理过程:发送4xx挑战消息(WWW-Authenticate头域中的algrithm设置成表示HTTP DIGEST鉴权,例如“MD5”)到P-CSCF。P-CSCF转发到UE。UE和P-CSCF之间不需要建立安全联盟。UE重新发送一个带有挑战响应RES的REGISTER到P-CSCF。P-CSCF转发到S-CSCF。S-CSCF比较RES和XRES,如果一致,则鉴权通过。
20-24:鉴权成功,S-CSCF通过SAR/SAA消息告诉HSS以后将为该用户服务,并下载相应的用户签约数据。然后发送成功响应消息200到P-CSCF/UE。
实施例四:采用NBA方式鉴权的流程如附图11所示:
0~1:UE将要求P-CSCF支持的NBA鉴权能力作为签约数据到接入网网络附着子系统NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF实体通过PDBF获取该接入签约数据,并发送给连接位置实体CLF,CLF预先配置所述的P-CSCF的IP地址或者FQDN,CLF收到NACF的绑定请求后,根据用户的接入签约数据在返回给NACF的绑定响应中携带所述的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;
UE然后发送REGISTER消息给P-CSCF。
2~3:P-CSCF通过在数据库中预先配置网络接口对应的接入网类型,或者P-CSCF还可以通过在数据库中预先配置IP地址或者端口号对应的接入网类型,根据收到的REGISTER消息中的源IP地址/目标IP地址(或者源、目标端口号)可以区分出接入网类型。由于收到的REGISTER消息没有安全协商头域,并且是从NGN接入网对应的网络接口收到的,需要触发e2接口查询UE的位置信息。对于通过NGN接入网收到的REGISTER消息,P-CSCF在已有的P-Access-Network-Info头域(UE在REGISTER消息中已携带此头域)中增加位置信息,或者增加一个P-Access-Network-Info头域(UE在REGISTER消息中没有携带此头域)并填充位置信息以及其他信息,另外也需要在P-Access-Network-Into头域的access-type或者network-provided填上相应的接入网类型。然后发送REGISTER给I-CSCF。
4~8:I-CSCF发送UAR到HSS,HSS通过UAA命令将用户所要求的S-CSCF鉴权能力集(要求支持NBA)返回给I-CSCF。I-CSCF根据返回的该用户要求的S-CSCF鉴权能力集以及I-CSCF上预先配置的S-CSCF的地址以及鉴权能力的关系表,找到一个合适的S-CSCF。然后将REGISTER转发到所选择的S-CSCF。
9~~10:S-CSCF检查收到的REGISTER:如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-Protected头域,并且有P-Access-Network-Info头域,((可选)且其access-type或者network-provider表示NGN接入类型),则表示需要NASS-Bundled或者HTTP DIGEST鉴权(目前还不能确定到底采用哪一种)。S-CSCF保存P-Access-Network-Info头域携带的位置信息和(可选)接入网类型信息,MAR消息的SIP-Authentication-Scheme头域中填写为表示未知,表示鉴权方式目前未知,等待HSS响应。
11~12:HSS中只配置了NBA一种鉴权方式,在MAA响应中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据,(可选)优先级头域填写为任意正值。然后发送MAA给S-CSCF。
13:S-CSCF发现MAA中只返回一个SIP-Auth-Data-Item,并且SIP-Authentication-Scheme表示是NBA鉴权方式,S-CSCF直接执行鉴权过程:比较HSS返回的UE位置信息和P-CSCF上报的位置信息,如果一致,则鉴权通过。
14-18:鉴权成功,S-CSCF通过SAR/SAA消息告诉HSS以后将为该用户服务,并下载相应的用户签约数据。然后发送成功响应消息200到P-CSCF/UE。对于NBA,由于P-CSCF和UE以前没有收到401挑战消息,是直接收到的200成功响应消息,因此不需要建立安全联盟。
实施例五:HSS配置了NBA和EIA,最终采用EIA方式鉴权的流程如附图12所示:
0~1:UE同时支持NBA和EIA两种鉴权方式。UE发送的REGISTER消息不包含P-Access-Network-Info和Authorizatin头域,然后选择GRPS接入网发送REIGSTER给P-CSCF。
2~3:P-CSCF通过在数据库中预先配置网络接口对应的接入网类型,或者P-CSCF还可以通过在数据库中预先配置IP地址或者端口号对应的接入网类型,根据收到的REGISTER消息中的源IP地址/目标IP地址(或者源、目标端口号)可以区分出接入网类型。由于收到的REGISTER消息没有安全协商头域,并且是从GPRS接入网对应的网络接口收到的,因此不需要触发e2接口查询UE的位置信息。P-CSCF比较REGISTER消息中的via头域中的sent-by头域的IP地址是否与REGISTER消息所在IP头中的源IP地址一致,如果不一致,则增加一个received头域到via头域中,并填充为IP头中的源IP地址;P-CSCF还在所述的REGISTER消息中新增P-Access-Network-Info头域,同时在P-Access-Network-Info头域中填上相应的GPRS接入网类型;然后发送REGISTER给I-CSCF。
4~8:I-CSCF发送UAR到HSS,HSS通过UAA命令将用户所要求的S-CSCF鉴权能力集(要求支持NBA和EIA)返回给I-CSCF。I-CSCF根据返回的该用户要求的S-CSCF鉴权能力集以及I-CSCF上预先配置的S-CSCF的地址以及鉴权能力的关系表,找到一个合适的S-CSCF。然后将REGISTER转发到所选择的S-CSCF。
9~~10:S-CSCF检查收到的REGISTER:如果没有Authorization头域,并且没有P-Access-Network-Info头域或者有P-Access-Network-Info头域但其接入网类型参数表示GPRS接入类型,则表示需要EIA鉴权。S-CSCF保存REGISTER消息中的received/sent-by头域携带的地址信息,MAR消息的SIP-Authentication-Scheme头域中填写为表示EIA。
11~12:HSS中同时配置了NBA和EIA两种鉴权方式,在MAA响应中将SIP-Number-Auth-Items填写为2,包含两个SIP-Auth-Data-Item AVP,其中一个的SIP-Authentication-Scheme头域的值填写成NBA,鉴权数据头域填写对应的鉴权数据,(可选)优先级头域填写为2;另外一个的SIP-Authentication-Scheme头域的值填写成EIA,鉴权数据头域填写对应的鉴权数据,(可选)优先级头域填写为1;然后发送MAA给S-CSCF。
13:S-CSCF发现MAA中返回两种鉴权方式的数据。由于NBA对应的优先级较高,因此S-CSCF首先尝试用NBA鉴权方式进行匹配和鉴权处理,但是发现接入网类型为GPRS(或者没有P-CSCF上报的位置信息);因此S-CSCF再尝试使用EIA鉴权方式进行匹配和鉴权处理:比较HSS返回的UEIP地址信息和P-CSCF上报的IP地址信息,如果一致,则鉴权通过。
S-CSCF也可以根据以前保存的接入网类型为GPRS或者P-CSCF上报的没有位置信息只有IP地址信息,从而直接采用EIA鉴权。
14-18:鉴权成功,S-CSCF通过SAR/SAA消息告诉HSS以后将为该用户服务,并下载相应的用户签约数据。然后发送成功响应消息200到P-CSCF/UE。对于EIA,由于P-CSCF和UE以前没有收到401挑战消息,是直接收到的200成功响应消息,因此不需要建立安全联盟。
实施例六:带有安全联盟协商的HTTP DIGEST鉴权的流程如附图13所示:
0-1:UE将要求P-CSCF支持的带有安全联盟协商的HTTP DIGEST鉴权能力作为签约数据到PacketCable接入网去签约,PacketCable接入网预先配置所述的P-CSCF的IP地址或者FQDN在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;UE然后发送REGISTER消息给P-CSCF。
2~3:P-CSCF通过在数据库中预先配置网络接口对应的接入网类型,或者P-CSCF还可以通过在数据库中预先配置IP地址或者端口号对应的接入网类型,根据收到的REGISTER消息中的源IP地址/目标IP地址(或者源、目标端口号)可以区分出接入网类型。由于收到的REGISTER消息有安全协商头域和Authorization头域,并且是从PacketCable接入网对应的网络接口收到的,不需要触发e2接口查询UE的位置信息。此时P-CSCF无法区分是AKA还是带有安全联盟协商的HTTP DIGEST鉴权,因此需要等到后面的步骤中S-CSCF收到HSS的MAA响应后才能确定。P-CSCF在Authorization头域中增加一个integrity-protected头域,填写与该鉴权方式相应的值,然后发送REGISTER给I-CSCF。
4~8:I-CSCF发送UAR到HSS,HSS通过UAA命令将用户所要求的S-CSCF鉴权能力集(要求支持带安全联盟协商的HTTP DIGEST)返回给I-CSCF。I-CSCF根据返回的该用户要求的S-CSCF鉴权能力集以及I-CSCF上预先配置的S-CSCF的地址以及鉴权能力的关系表,找到一个合适的S-CSCF。然后将REGISTER转发到所选择的S-CSCF。
9~~10:S-CSCF检查收到的REGISTER:有Authorization头域并且Authorization头域中有integrity-protected头域,MAR消息的SIP-Authentication-Scheme头域中填写为表示未知,表示鉴权方式目前未知,等待HSS响应。
另外S-CSCF也可以根据integrity-protected头域的值区分出采用带安全联盟协商的HTTP DIGEST,因此MAR的SIP-Authentication-Scheme头域中填写表示该鉴权方式的值。
11~12:HSS中只配置了带安全联盟协商的HTTP DIGEST一种鉴权方式,在MAA响应中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-ItemAVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据,(可选)优先级头域填写为任意正值。然后发送MAA给S-CSCF。
13~19:S-CSCF发现MAA中只返回一个SIP-Auth-Data-Item,并且SIP-Authentication-Scheme表示是带安全联盟协商的HTTP DIGEST鉴权方式,S-CSCF首先保存XRES,然后执行14~19步的挑战处理过程:发送4xx挑战消息(WWW-Authenticate头域中的algrithm设置成表示带安全联盟协商的HTTP DIGEST鉴权,例如“SHA1”)到P-CSCF。P-CSCF转发到UE。UE和P-CSCF之间需要建立安全联盟。UE重新发送一个带有挑战响应RES的REGISTER到P-CSCF。P-CSCF转发到S-CSCF。S-CSCF比较RES和XRES,如果一致,则鉴权通过。
20-24:鉴权成功,S-CSCF通过SAR/SAA消息告诉HSS以后将为该用户服务,并下载相应的用户签约数据。然后发送成功响应消息200到P-CSCF/UE。

Claims (36)

1.一种IMS网络中用户终端接入鉴权方法,其特征在于,所述的方法包括如下步骤:
a、用户终端UE向代理-呼叫会话控制功能实体P-CSCF发送注册REGISTER消息;
b、P-CSCF根据所述的REGISTER消息中的信息和/或接入网类型区别鉴权方式,并在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至查询-呼叫会话控制功能实体I-CSCF;
c、I-CSCF选择服务-呼叫会话控制功能实体S-CSCF,并把REGISTER消息透明转发到该S-CSCF;
d、S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式后向归属签约服务器HSS/用户签约服务器功能实体UPSF发送多媒体鉴权请求MAR消息,HSS/UPSF通过多媒体鉴权响应MAA消息返回所述UE的鉴权数据和鉴权方式,S-CSCF进行鉴权处理。
2.根据权利要求1所述的方法,其特征在于,其中步骤a具体包括:
在所述的UE中预先配置支持接入层鉴权与业务层绑定鉴权NBA或者HTTP摘要鉴权HTTP DIGEST鉴权方式的P-CSCF的IP地址或者正式域名FQDN,所述的UE选择P-CSCF向其发送REGISTER消息;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网网络附着子系统NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF通过PDBF获取所述的接入签约数据,并发送给连接位置实体CLF,CLF收到NACF的绑定请求后,根据用户的接入签约数据在返回给NACF的绑定响应中携带所述的P-CSCF的IP地址或者 FQDN,NACF在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网NASS去签约,保存到签约数据基本功能实体PDBF的接入签约数据中,在UE附着NASS的过程中,NASS中的用户接入授权功能实体UAAF实体通过PDBF获取所述的接入签约数据,并发送给连接位置实体CLF,CLF收到NACF的绑定请求后,在返回给NACF的绑定响应中携带所有的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将所有P-CSCF的地址/FQDN返回给UE,UE依次尝试发送所述的REGISTER消息到所述的P-CSCF,直到成功为止。
3.根据权利要求1所述的方法,其特征在于,其中步骤a具体包括:
所述的UE向P-CSCF发送REGISTER消息,所述的REGISTER消息中的联系contact头域或者P-Access-Network-Info头域中携带接入网类型信息;
其中步骤b具体包括:
b1、所述的P-CSCF根据接收到的REGISTER消息中的contact头域或者P-Access-Network-Info头域区分出接入网类型,并根据所述的接入网类型和/或所述的REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
4.根据权利要求1所述的方法,其特征在于,其中步骤a所述的REGISTER消息中contact头域携带表示鉴权方式偏好的信息。
5.根据权利要求2所述的方法,其特征在于,还包括:
所述的UE将要求P-CSCF支持的带安全联盟协商的HTTP DIGEST鉴权能力作为签约数据到分组电缆网PacketCable接入网去签约,PacketCable接入网中相应实体预先配置支持带安全联盟协商的HTTP DIGEST的P-CSCF的IP地址或者FQDN,在UE动态获取IP地址的过程中,PacketCable接入网中相应 实体将P-CSCF的IP地址或者FQDN返回给UE;或者,
所述的UE将要求P-CSCF支持的带安全联盟协商的HTTP DIGEST鉴权能力作为签约数据到PacketCable接入网去签约,PacketCable接入网中相应实体预先配置所有P-CSCF的IP地址或者FQDN,保存在数据库中,在所述的UE动态获取IP地址的过程中,所述的PacketCable接入网中相应实体将所有P-CSCF的IP地址或者FQDN返回给所述的UE,所述的UE依次尝试发送REGISTER到所述的P-CSCF,直到成功为止。
6.根据权利要求1所述的方法,其特征在于,其中步骤b具体包括:
b1、所述的P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号确定对应的接入网类型,并根据所述的接入网类型和/或所述的REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
7.根据权利要求3或权利要求6所述的方法,其特征在于,所述的根据所述的接入网类型和/或所述的REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果收到的REGISTER消息中有安全客户端Security-Client头域,并且该头域含有与AKA对应的安全机制,则所述的P-CSCF确定鉴权方式为摘要认证与密钥协商鉴权AKA,在所述的REGISTER消息中增加integrity-protected头域并填写与AKA相应的值,然后将其转发至所述的I-CSCF;
如果REGISTER消息中没有Security-Client头域,所述的P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至所述的I-CSCF。
8.根据权利要求7所述的方法,其特征在于,所述的如果所述的REGISTER消息中没有Security-Client头域,所述的P-CSCF根据接收 REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果收到的REGISTER消息中没有Security-Client头域,并且是从NGN接入网对应的网络接口收到的,所述的P-CSCF确定鉴权方式为NBA或者HTTP DIGEST,所述的P-CSCF查询UE的位置信息,所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中增加UE的位置信息;
如果收到的REGISTER消息中没有Security-Client,并且是从GPRS接入网对应的网络接口收到的,所述的P-CSCF确定鉴权方式为早期IP多媒体网络子系统鉴权EIA,所述的P-CSCF比较所述的REGISTER消息中的经过via头域中的发送者sent-by头域的IP地址是否与所述的REGISTER消息所在IP头中的源IP地址一致,如果不一致,则增加一个接收received头域到via头域中,并填充IP头中的源IP地址。
9.根据权利要求7所述的方法,其特征在于,还包括:
所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中填上相应的接入网类型。
10.根据权利要求7所述的方法,其特征在于,所述的P-CSCF在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写所述的鉴权方式信息。
11.根据权利要求10所述的方法,其特征在于,具体包括:
如果鉴权方式是AKA,所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写表示AKA的鉴权方式;
如果鉴权方式是EIA,所述的P-CSCF在所述的REGISTER消息的鉴权 方式头域中填写表示EIA的鉴权方式;
如果鉴权方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写表示未知的鉴权方式。
12.根据权利要求10所述的方法,其特征在于,具体包括:
所述鉴权方式头域包含在REGISTER消息已有的或者新增的P-Access-Network-Info头域中。
13.根据权利要求1所述的方法,其特征在于,其中步骤c具体包括:
c1、所述的I-CSCF通过UAR命令向HSS/UPSF查询S-CSCF鉴权能力,HSS/UPSF通过UAA命令返回用户签约数据要求的S-CSCF鉴权能力集,I-CSCF通过将返回的鉴权能力集与其预先配置的S-CSCF鉴权能力集比较,找到具有对应的鉴权能力的S-CSCF;
c2、所述的I-CSCF将REGISTER消息透明转发给所述的S-CSCF。
14.根据权利要求13所述的方法,其特征在于,其中步骤c1之前还包括:
在所述的I-CSCF中预先配置相应的S-CSCF的地址以及其支持的鉴权能力,同时在HSS/UPSF中将需要S-CSCF支持的鉴权能力预先配置在用户签约数据的S-CSCF能力集数据中。
15.根据权利要求1所述的方法,其特征在于,其中步骤d所述的S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式具体包括:
所述的S-CSCF首先检查收到的REGISTER消息中是否有P-Access-Network-Info头域:
如果没有P-Access-Network-Info头域,并且没有Authorization头域,则确定鉴权方式为早期IMS鉴权EIA;
如果没有P-Access-Network-Info头域,并且有Authorization头域,并且Authorization头域的integrity-protected参数的值与AKA对应,则确定鉴权方 式为AKA;
如果有P-Access-Network-Info头域,则检查其接入网类型参数的值:
(1)如果该值表示是GPRS接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域,则确定鉴权方式为EIA;
(2)如果该值表示是NGN接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected参数,则确定鉴权方式为NBA或者HTTP DIGEST。
16.根据权利要求1所述的方法,其特征在于,其中步骤d所述的S-CSCF根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式具体包括:
如果所述的S-CSCF收到的REGISTER消息中的授权Authorization头域中有integrity-protected头域,且其值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域,并且没有P-Access-Network-Info头域或者有P-Access-Network-Info头域但其接入网类型参数表示GPRS接入网类型,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected头域,并且有P-Access-Network-Info头域且其接入网类型参数表示NGN接入网类型,则确定鉴权方式为NBA或者HTTP DIGEST。
17.根据权利要求1所述的方法,其特征在于,其中步骤d所述的S-CSCF 根据REGISTER消息中的信息和/或私有接入网络信息P-Access-Network-Info头域区别鉴权方式具体包括:
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与EIA对应,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值表示未知,则确定鉴权方式为NBA或HTTP DIGEST。
18.根据权利要求1所述的方法,其特征在于,其中步骤d所述的S-CSCF区别鉴权方式后向HSS/UPSF发送多媒体鉴权请求MAR消息,HSS/UPSF通过多媒体鉴权响应MAA消息返回所述UE的鉴权数据和鉴权方式,S-CSCF进行鉴权处理,具体包括:
d1、如果鉴权方式为AKA,所述的S-CSCF在MAR消息的鉴权方式SIP-Authentication-Scheme头域中填写表示AKA的鉴权方式后发送给HSS/UPSF;
如果鉴权方式为EIA,所述的S-CSCF保存REGISTER消息中的received/sent-by头域携带的地址信息,在MAR消息的SIP-Authentication-Scheme头域中填写表示EIA鉴权方式后发送给HSS/UPSF;
如果鉴权方式为NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info头域携带的位置信息或者保存P-Access-Network-Info头域携带的位置信息和接入网类型,在MAR消息的鉴权方式SIP-Authentication-Scheme头域中填写表示鉴权方式未知,然后发送给HSS/UPSF;
d2、所述的HSS/UPSF收到所述的MAR消息后,根据其中SIP-Authentication-Scheme头域的值进行处理,通过多媒体签约应答MAA消息将UE的鉴权方式和鉴权数据返回S-CSCF; 
d3、所述的S-CSCF根据P-CSCF上报的信息以及HSS/UPSF返回的信息进行处理,如果确定的鉴权方式为AKA或者HTTP DIGEST或者带有安全联盟协商的HTTP DIGEST,则先执行挑战处理过程后再进行鉴权,如果确定的鉴权方式是NBA或者EIA,则直接执行鉴权过程。
19.根据权利要求18所述的方法,其特征在于,其中步骤d1所述的发送给MAR的消息中还包括接入网类型;
其中步骤d2具体包括:所述的HSS/UPSF收到MAR消息后,根据其中的SIP-Authentication-Scheme头域的值以及接入网类型进行处理,通过多媒体签约应答MAA将UE的鉴权方式和鉴权数据返回S-CSCF。
20.根据权利要求18所述的方法,其特征在于,其中步骤d2具体包括:
当SIP-Authentication-Scheme表示是AKA鉴权方式时,如果HSS/UPSF只配置了AKA鉴权方式,或者HSS/UPSF中配置了包括AKA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将鉴权向量的数目SIP-Number-Auth-Items填写为1,鉴权向量SIP-Auth-Data-Item AVP中的鉴权数据头域填写AKA的鉴权向量数据,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示是EIA鉴权方式时,如果HSS/UPSF中只配置了EIA一种鉴权方式,或者HSS/UPSF中配置了包括EIA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写UE的IP地址,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示鉴权方式未知时,如果HSS/UPSF中只配置了一种非AKA鉴权方式的鉴权数据,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据;如果HSS/UPSF中同时配置了多个非AKA鉴权方式的鉴 权数据,则将SIP-Number-Auth-Items填写为配置的鉴权方式的数目,并将这些非AKA鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据AVP中,然后将MAA消息返回给S-CSCF。
21.根据权利要求19所述的方法,其特征在于,所述的HSS/UPSF收到MAR消息后,根据其中的SIP-Authentication-Scheme头域的值以及接入网类型进行处理具体包括:
当SIP-Authentication-Scheme表示是AKA鉴权方式时,如果HSS/UPSF只配置了AKA鉴权方式,或者HSS/UPSF中配置了包括AKA的多种鉴权方式,并且配置的接入网类型和MAR中携带的接入网类型匹配,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写AKA的鉴权向量数据、SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示是EIA鉴权方式时,如果HSS/UPSF中只配置了EIA一种鉴权方式,或者HSS/UPSF中配置了包括EIA的多种鉴权方式,并且配置的接入网类型和MAR中携带的接入网类型匹配,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写UE的IP地址,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示鉴权方式未知时,如果HSS/UPSF中只配置了一种鉴权方式的鉴权数据,并且配置的接入网类型和MAR消息中携带的接入网类型匹配,则在MAA消息中将SIP-Number-Auth-Items填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域填写相应的鉴权数据,SIP-Authentication-Scheme头域的值填写成表示该鉴权方式;如果HSS/UPSF中同时配置了多个鉴权方式的鉴权数据,则在MAA消息中将SIP-Number-Auth-Items填写为实际配置的鉴权数据的数目,并将所有鉴权方 式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据头域中,然后将MAA消息返回给S-CSCF。
22.根据权利要求20或21所述的方法,其特征在于,其中步骤d3具体包括:
当MAA中只返回一个SIP-Auth-Data-Item时,
如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者带有安全联盟协商的HTTP DIGEST鉴权方式,则所述的S-CSCF根据XRES计算期望结果并保存,在4xx挑战响应消息的算法algorithm头域设置表示相应鉴权方式的值,发送4xx挑战消息到P-CSCF;
如果SIP-Authentication-Scheme表示是EIA鉴权方式,所述的S-CSCF用发送MAR消息前保存的UE源IP地址与HSS/UPSF返回的UE的IP地址比较,匹配成功就发送200;
如果SIP-Authentication-Scheme表示是NBA鉴权方式,所述的S-CSCF用发送MAR消息前保存的UE位置信息与HSS/UPSF返回的UE位置信息比较,匹配成功就发送200;
当MAA中返回多个SIP-Auth-Data-Item时,S-CSCF依次循环尝试用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鉴权方式进行匹配和鉴权处理,直到成功为止;或者S-CSCF在尝试一种鉴权方式失败后,发送一个合适的错误码给UE,等UE重新发起REGISTER消息后,S-CSCF再继续尝试其他的鉴权方式,直到成功为止,或者S-CSCF根据以前保存的接入网类型和/或所述鉴权相关信息来选择一种合适的鉴权方式来鉴权。
23.一种UE在鉴权过程中选择P-CSCF的方法,其特征在于,所述的方法为:
在UE中预先配置支持NBA或者HTTP DIGEST鉴权方式的P-CSCF的IP地址或者FQDN,所述的UE选择P-CSCF向其发送REGISTER消息; 
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网网络附着子系统NASS去签约,保存到PDBF的接入签约数据中,在所述的UE附着NASS的过程中,NASS中的UAAF通过PDBF获取该接入签约数据,并发送给CLF,CLF收到NACF的绑定请求后,根据用户的接入签约数据,在返回给NACF的绑定响应中携带所述的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将P-CSCF的IP地址或者FQDN传给UE;
或者,所述的UE将要求P-CSCF支持的NBA或者HTTP DIGEST鉴权能力作为签约数据到接入网NASS去签约,保存到PDBF的接入签约数据中,在所述的UE附着NASS的过程中,NASS中的UAAF通过PDBF获取该接入签约数据,并发送给连接位置实体CLF,CLF收到NACF的绑定请求后,在返回给NACF的绑定响应中携带所有的P-CSCF的IP地址或者FQDN,NACF在UE动态获取IP地址的过程中将所有P-CSCF的地址/FQDN返回给UE,UE依次尝试发送所述的REGISTER消息到P-CSCF,直到成功为止。
24.一种UE在鉴权过程中选择接入网类型的方法,其特征在于,所述的方法具体为:
如果UE同时支持多种鉴权方式,则UE根据本地策略确定接入网类型,然后选择合适的接入网发送REGISTER消息到P-CSCF,具体为:UE向支持其选择的鉴权方式的P-CSCF发送REGISTER消息,该消息中携带表明其接入网类型或者鉴权方式偏好的头域;P-CSCF收到REGISTER消息后,根据上述的头域区分鉴权方式,并在REGISTER消息中增加头域以便S-CSCF在鉴权时使用。
25.一种P-CSCF确定鉴权方式的方法,其特征在于,所述的方法包括如下的步骤:
P-CSCF收到REGISTER消息后判断其中是否有Security-Client头域:
如果所述的REGISTER消息中有Security-Client头域,并且该头域含有与 AKA对应的安全机制,则表示需要采用AKA鉴权方式;或者该头域含有与带安全联盟协商的HTTP DIGEST对应的安全机制,则表示需要采用带安全联盟协商的HTTP DIGEST鉴权方式;
如果所述的REGISTER消息中没有Security-Client头域,所述的P-CSCF再判断接入网类型,如果所述的REGISTER消息是从NGN接入网收到的,则表示需要采用NBA或者HTTP DIGEST鉴权,如果是从GPRS接入网收到的,则表示需要采用EIA鉴权。
26.一种P-CSCF确定鉴权方式并进行相应处理的方法,其特征在于,所述的方法包括如下步骤:
a、P-CSCF根据接收REGISTER消息的网络接口或IP地址或端口号确定对应的接入网类型,并根据所述的接入网类型和/或REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
27.根据权利要求26所述的方法,其特征在于,所述的根据所述的接入网类型和/或REGISTER消息中的头域确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果所述的REGISTER消息中有Security-Client头域,并且该头域含有与AKA对应的安全机制,则确定鉴权方式为AKA,然后在所述的REGISTER消息中增加integrity-protected头域,并填写与AKA相应的值;
如果所述的REGISTER消息中没有Security-Client头域,所述的P-CSCF根据接收所述的REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF。
28.根据权利要求27所述的方法,其特征在于,所述的如果所述的REGISTER消息没有Security-Client头域,所述的P-CSCF根据接收所述的 REGISTER消息的网络接口或IP地址或端口号对应的接入网类型确定鉴权方式,然后在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
如果收到的REGISTER消息中没有Security-Client头域,并且是从NGN接入网对应的网络接口收到的,确定鉴权方式为NBA或者HTTP DIGEST,所述的P-CSCF查询UE的位置信息,并在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中增加UE的位置信息;
如果收到的REGISTER消息中没有Security-Client,并且是从GPRS接入网对应的网络接口收到的,确定鉴权方式为EIA,所述的P-CSCF比较REGISTER消息中的via头域中的sent-by头域的IP地址是否与REGISTER消息所在IP头中的源IP地址一致,如果不一致,则增加一个received头域到via头域中,并填充IP头中的源IP地址。
29.根据权利要求28所述的方法,其特征在于,还包括:
所述的P-CSCF在所述的REGISTER消息中已有的或者新增的P-Access-Network-Info头域中填上相应的接入网类型。
30.根据权利要求28所述的方法,其特征在于,所述的P-CSCF在所述的REGISTER消息中增加与鉴权方式相关的信息后将其转发至I-CSCF,具体包括:
所述的P-CSCF在所述的REGISTER消息的鉴权方式头域中填写所述的鉴权方式信息。
31.根据权利要求30所述的方法,其特征在于,具体包括:
如果鉴权方式是AKA,所述的P-CSCF在所述的REGISTER消息中的鉴权方式头域中填写表示AKA的鉴权方式;
如果鉴权方式是EIA,所述的P-CSCF在所述的REGISTER消息中的鉴权方式头域中填写表示EIA的鉴权方式;
如果鉴权方式是NBA或HTTP DIGEST,所述的P-CSCF在所述的 REGISTER消息中的鉴权方式头域中填写表示未知的鉴权方式。
32.根据权利要求31所述的方法,其特征在于,具体包括:
所述鉴权方式头域包含在REGISTER消息已有的或者新增的P-Access-Network-Info头域中。
33.一种S-CSCF确定鉴权方式的方法,其特征在于,所述的方法包括如下步骤:
a、S-CSCF根据收到的REGISTER消息中的信息和/或P-Access-Network-Info头域区别鉴权方式,具体为:
如果所述的S-CSCF收到的REGISTER消息中的Authorization头域中有integrity-protected头域,且其值与AKA对应,则所述的S-CSCF确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域,并且没有P-Access-Network-Info头域或者有P-Access-Network-Info头域但其接入网类型表示GPRS接入网,则所述的S-CSCF确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中没有Authorization头域,或者Authorization头域中没有integrity-protected头域,并且有P-Access-Network-Info头域且其接入网类型参数表示NGN接入类型,则所述的S-CSCF确定鉴权方式NBA或者HTTP DIGEST;
所述的S-CSCF首先检查收到的REGISTER消息中是否有P-Access-Network-Info头域:
如果没有P-Access-Network-Info头域,并且没有Authorization头域,则确定鉴权方式为EIA;
如果没有P-Access-Network-Info头域,并且有Authorization头域,并且Authorization头域的integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;
如果有P-Access-Network-Info头域,所述的S-CSCF检查其接入网类型参 数的值:
(1)如果该值表示是GPRS接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域,则确定鉴权方式为EIA;
(2)如果该值表示是NGN接入网类型,所述的S-CSCF进一步检查REGISTER消息中是否有Authorization头域:
如果有Authorization头域,并且其integrity-protected参数的值与AKA对应,则确定鉴权方式为AKA;如果没有Authorization头域或者虽然有Authorization头域但其中没有integrity-protected参数,则确定鉴权方式为NBA或者HTTP DIGEST;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与AKA对应,则确定鉴权方式为AKA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值与EIA对应,则确定鉴权方式为EIA;
如果所述的S-CSCF收到的REGISTER消息中的鉴权方式头域的值表示未知,则确定鉴权方式为NBA或HTTP DIGEST。
34.根据权利要求33所述的方法,其特征在于,其中步骤a之后还包括:
如果鉴权方式为AKA,S-CSCF在MAR消息中的SIP-Authentication-Scheme头域中填写AKA鉴权方式后发送给HSS/UPSF;
如果鉴权方式为EIA,S-CSCF保存REGISTER消息中的received/sent-by头域携带的地址信息,在MAR消息的SIP-Authentication-Scheme头域中填写EIA鉴权方式后发送给HSS/UPSF;
如果鉴权方式为NBA或者HTTP DIGEST,所述的S-CSCF保存P-Access-Network-Info头域携带的位置信息或者保存P-Access-Network-Info 头域携带的位置信息和接入网类型,在MAR消息的SIP-Authentication-Scheme头域中填写表示鉴权方式未知,然后发送给HSS/UPSF。
35.一种HSS/UPSF确定鉴权方式的方法,其特征在于,所述的方法包括如下步骤:
当S-CSCF发送给HSS/UPSF的MAR消息中的SIP-Authentication-Scheme头域表示是AKA鉴权方式时,如果HSS/UPSF只配置了AKA鉴权方式,或者HSS/UPSF中配置了包括AKA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items的值填写为1,鉴权向量SIP-Auth-Data-Item AVP中的鉴权数据头域填写成AKA的鉴权向量数据,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示是EIA鉴权方式时,如果HSS/UPSF中只配置了EIA一种鉴权方式,或者HSS/UPSF中配置了包括EIA的多种鉴权方式,所述的HSS/UPSF在MAA消息中将SIP-Number-Auth-Items的值填写为1,SIP-Auth-Data-Item AVP中的鉴权数据头域携带UE的IP地址,SIP-Authentication-Scheme头域的值不变,然后将MAA消息返回给S-CSCF;
当SIP-Authentication-Scheme表示鉴权方式未知时,如果HSS/UPSF中只配置了一种非AKA鉴权方式的鉴权数据,则在MAA消息中将SIP-Number-Auth-Items的值填写为1,SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme头域的值填写成表示该鉴权方式,鉴权数据头域填写对应的鉴权数据;如果HSS/UPSF中同时配置了多个非AKA鉴权方式的鉴权数据,则将SIP-Number-Auth-Items填写为配置的鉴权方式的数目,并将这些非AKA鉴权方式和鉴权数据分别填充到MAA消息的多个SIP-Auth-Data-Item AVP中的SIP-Authentication-Scheme AVP和其他鉴权数据AVP中,然后将MAA消息返回给S-CSCF。
36.一种S-CSCF根据P-CSCF上报的信息以及HSS/UPSF返回的信息进行鉴权的方法,其特征在于,所述的方法具体为: 
当MAA中只返回一个SIP-Auth-Data-Item时,
如果SIP-Authentication-Scheme表示是AKA或者HTTP DIGEST或者带有安全联盟协商的HTTP DIGEST鉴权方式,则S-CSCF根据XRES计算期望结果并保存,在4xx挑战响应消息的algorithm头域设置表示相应鉴权方式的值,发送4xx挑战消息到P-CSCF;
如果SIP-Authentication-Scheme表示是EIA鉴权方式,S-CSCF用发送MAR消息前保存的UE源IP地址与HSS/UPSF返回的UE IP地址比较,匹配成功就发送200;
如果SIP-Authentication-Scheme表示是NBA鉴权方式,S-CSCF用发送MAR消息前保存的UE位置信息与HSS/UPSF返回的UE位置信息比较,匹配成功就发送200;
当MAA中返回多个SIP-Auth-Data-Item时,S-CSCF依次循环尝试用SIP-Auth-Data-Item中的SIP-Authentication-Scheme指定的鉴权方式进行匹配和鉴权处理,直到成功为止;或者S-CSCF在尝试一种鉴权方式失败后,发送一个合适的错误码给UE,等UE重新发起REGISTER消息后,S-CSCF再继续尝试其他的鉴权方式,直到成功为止;或者S-CSCF根据以前保存的接入网类型和/或所述鉴权相关信息来选择一种合适的鉴权方式来鉴权。 
CN2006101087826A 2006-03-21 2006-08-07 一种ims网络中用户终端接入鉴权的方法 Active CN101043744B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101087826A CN101043744B (zh) 2006-03-21 2006-08-07 一种ims网络中用户终端接入鉴权的方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200610034607 2006-03-21
CN200610034607.7 2006-03-21
CN2006101087826A CN101043744B (zh) 2006-03-21 2006-08-07 一种ims网络中用户终端接入鉴权的方法

Publications (2)

Publication Number Publication Date
CN101043744A CN101043744A (zh) 2007-09-26
CN101043744B true CN101043744B (zh) 2012-06-06

Family

ID=38808873

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101087826A Active CN101043744B (zh) 2006-03-21 2006-08-07 一种ims网络中用户终端接入鉴权的方法

Country Status (1)

Country Link
CN (1) CN101043744B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014001724A1 (fr) * 2012-06-29 2014-01-03 Orange Procede d'emission d'un message par un serveur d'un coeur de reseau ip|multimedia ims, et serveur

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101232707B (zh) * 2007-01-23 2012-03-21 华为技术有限公司 一种ims网络中区分用户终端鉴权方式的方法及i-cscf
CN101448258A (zh) * 2007-11-26 2009-06-03 华为技术有限公司 一种ue接入ims鉴权方式的判定方法和装置
CN101459894B (zh) * 2007-12-11 2011-03-02 中国移动通信集团公司 Ip多媒体子系统的通信方法、系统及数据中心实体
CN101997828B (zh) * 2009-08-28 2014-10-08 中国移动通信集团公司 网际协议多媒体子系统网络重注册的方法、设备及网络
WO2011110020A1 (zh) * 2010-09-26 2011-09-15 华为技术有限公司 策略控制器选择方法、系统以及直径协议路由代理实体
US8606319B2 (en) * 2010-10-20 2013-12-10 Blackberry Limited Card application toolkit support for IP multimedia subsystem
EP2489235B1 (en) 2010-12-23 2019-10-30 BlackBerry Limited Card toolkit support for ip multimedia subsystem
WO2012145817A1 (en) 2011-04-26 2012-11-01 Research In Motion Limited Transmission of the pdp content activation rejection cause codes to the uicc
CN102255912B (zh) * 2011-07-13 2015-06-17 中国联合网络通信集团有限公司 Ims终端接入ims网络的认证方法和系统及装置
CN102340605B (zh) * 2011-07-25 2013-06-05 华为技术有限公司 一种消除回音的方法和设备
CN103701780A (zh) * 2013-12-13 2014-04-02 大唐移动通信设备有限公司 一种鉴权方法和系统
CN104066073B (zh) * 2014-06-30 2017-08-25 中国联合网络通信集团有限公司 一种语音业务的处理方法及系统
CN105491567B (zh) * 2014-09-18 2020-06-16 中兴通讯股份有限公司 Sip信令解密参数的获取方法及装置
CN107005842B (zh) * 2014-12-02 2019-12-24 华为技术有限公司 一种无线通信网络中的鉴权方法、相关装置及系统
CN104683347B (zh) * 2015-03-12 2017-10-17 东北大学 基于ims进行可信通信的信令交互方法及可信认证系统
CN106162635A (zh) * 2015-04-01 2016-11-23 北京佰才邦技术有限公司 用户设备的认证方法和装置
CN108235428B (zh) * 2016-12-21 2021-03-05 中国移动通信集团河南有限公司 实现ue注册p-cscf的方法、mme设备及pgw设备
CN110121894B (zh) * 2017-01-16 2021-02-05 华为技术有限公司 一种签约信息集的下载方法、装置以及相关设备
CN109982362B (zh) * 2017-12-28 2021-11-23 成都鼎桥通信技术有限公司 移动通信系统的组网方法及服务器
CN110881020B (zh) * 2018-09-06 2021-07-23 大唐移动通信设备有限公司 一种用户签约数据的鉴权方法及数据管理网元
CN112487502A (zh) * 2020-12-15 2021-03-12 平安国际智慧城市科技股份有限公司 设备鉴权方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1642346A (zh) * 2004-01-07 2005-07-20 华为技术有限公司 一种用户到归属签约用户服务器进行注册的方法
CN1642083A (zh) * 2004-09-23 2005-07-20 华为技术有限公司 网络侧选择鉴权方式的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1642346A (zh) * 2004-01-07 2005-07-20 华为技术有限公司 一种用户到归属签约用户服务器进行注册的方法
CN1642083A (zh) * 2004-09-23 2005-07-20 华为技术有限公司 网络侧选择鉴权方式的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014001724A1 (fr) * 2012-06-29 2014-01-03 Orange Procede d'emission d'un message par un serveur d'un coeur de reseau ip|multimedia ims, et serveur
FR2992810A1 (fr) * 2012-06-29 2014-01-03 France Telecom Procede d'emission d'un message par un serveur d'un coeur de reseau ip multimedia, et serveur

Also Published As

Publication number Publication date
CN101043744A (zh) 2007-09-26

Similar Documents

Publication Publication Date Title
CN101043744B (zh) 一种ims网络中用户终端接入鉴权的方法
US9503890B2 (en) Method and apparatus for delivering keying information
CA2532538C (en) Apparatus and method for authenticating a user when accessing to multimedia services
EP1844594B1 (en) Method and apparatuses for transmission of user identities in an ip multimedia subsystem
US7970380B2 (en) User authentication in a communications system
CN101242634B (zh) 一种业务提供系统、装置和方法
CN101573934B (zh) 在通信网络中的鉴别
CN100461942C (zh) Ip多媒体子系统接入域安全机制的选择方法
EP1973289B1 (en) Method for providing subscriptions to packet-switched networks
US20060077965A1 (en) Callback services in a communication system
CN100403692C (zh) 在ims网络中处理注册初始过滤规则的方法
EP1994707B1 (en) Access control in a communication network
JP2009524314A (ja) 回線交換方式の無線アクセスネットワークとipマルチメディアサブシステムとの接続
CN102177698A (zh) 关联通信会话
KR20150058534A (ko) 인증 정보 전송
EP2119178B1 (en) Method and apparatuses for the provision of network services offered through a set of servers in an ims network
CN101106457B (zh) Ip多媒体子系统网络中确定用户终端鉴权方式的方法
WO2007095796A1 (fr) Procédé et système de mise en oeuvre de service d'appel
CN101232707B (zh) 一种ims网络中区分用户终端鉴权方式的方法及i-cscf
CN108881118B (zh) 一种ims级联组网方法及设备
Rajavelsamy et al. Efficient registration procedure for multi-domain authentication for mission critical communication services
CN102118731A (zh) 一种基于ip接入的ip用户实现移动数据业务的方法
Kim et al. PUBLIC WLAN WITH UMTS IP MULTIMEDIA SUBSYSTEM
EP1958370A2 (en) Method and apparatus for delivering keying information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant