一种ims单点登录的组合鉴权方法及系统的制作方法

文档序号:7956692阅读:298来源:国知局
专利名称:一种ims单点登录的组合鉴权方法及系统的制作方法
技术领域
本发明涉及网络通信安全技术,尤其涉及一种IMS单点登录的组合鉴权方法及系统。
背景技术
现在3GPP组织中,有研究项目为在非通用集成电路卡(UICC,UniversalIntegrated Circuit Card)环境下的统 一 IP 多媒体子系统(IMS, IP MultimediaSubsystem)UE 利用 SIP 摘要(SIP Digest, Session Initiation Protocol Digest)认证机制实现其访问应用服务器(AS, Application Server)的单点登录(SS0, Single SignOn)功能,其中的一个在SS0_APS中的SSO架构可以实现该功能,架构通常由统一 MS用户(如MS UE或IP多媒体业务子系统用户)、用户归属网络服务器(HSS,Home SubscriberServer)、AS和身份鉴权认证提供者实体(IdP);其中,MS UE与IdP通过SSOb接口连接,IMS UE与AS通过SSOa接口连接,IdP与HSS通过SSOh接口连接;IdP用于与IMS UE利用SIP Digest认证机制进行交互验证身份,并认证AS,同时生成IdP与MS UE的共享密钥K。;HSS中存储用于描述用户信息的签约文件,同时HSS还兼有产生鉴权信息的功能;AS为IMSUE提供网络服务业务。在该SS0_APS中的SSO架构的实现方案中,针对运营商未部署通用引导体系(GBA,Generic Bootstrapping Architecture),同时 IMS UE 不具有 UICC 的场景下,利用 SIPDigest认证机制对MS UE进行认证,实现该MS UE对AS的SSO功能。现有技术中,上述的具体过程如下:MS UE向AS(RP)发送服务请求;AS重定向该服务请求到一个统一的认证中心IdP,该重定向信息流中包含MS UE和AS的私有身份标识符;IdP依据接收到的AS的私有身份标识符对该AS进行认证,并保存认证结果,同时判断是否存在对应IMS UE的密钥Ktl,如果存在该密钥,则该MS UE已认证过,不需要再次利用SIP Digest认证机制进行认证,跳过该认证,直接执行后续步骤;IdP从HSS取得SIP Digest认证向量以及基于MPI的用户终端信息;IdP产生一个随机数nonce,并储存该nonce和从HSS下载的H(Al) ;IdP使用SIP Digest认证机制向MS UE发送一个401认证挑战消息;MS UE产生一个随机数cnonce并生成H(Al),进而产生密钥Ktl,利用参数计算响应值response ;IMS UE对401认证挑战消息向IdP发送一个响应消息,在IdP中完成对MS UE的认证,并产生共享密钥K。;IdP再次产生一个随机数noncel,利用noncel和Ktl产生密钥K1, IdP利用密钥Ktl加密密钥K1和AS的认证结果,利用AS和IdP的共享密钥加密K1和对MSUE的认证结果;IdP将加密后的K1和对MS UE的认证结果重定向到AS ;IMSUE解密获得AS的认证结果,并产生共享密钥K115信息被重定向到AS ;AS解密信息,获得MS UE的认证结果和密钥K1 ;此时MS UE和AS之间拥有共享密钥K1,从而IMS UE与AS之间后续的通信可以安全的进行。另外,自由联盟工程(LAP, Liberty Alliance Project)组织也定义了一些架构和规范,用于实现对Web业务的访问,其架构主要包括三个子架构:身份标识联盟架构(ID-FF, Identity Federation Framework)、身份标识 Web 业务架构(ID-WSF, IdentityWeb Service Framework)、身份标识业务接 口规范(ID-SIS, Identity Services InterfaceSpecification);其中ID-FF主要包含身份标识联盟(Identity Federation)功能和SSO功能,ID-FF架构主要包含三个实体:MS UE、身份鉴权提供商IdP、业务提供商SP。身份标识联盟功能是指MS UE在IdP和SP上都有自己的身份标识,即用户标识,这些身份标识可以结成一个联盟。SSO功能是指在上述身份标识联盟功能的基础上,只要MS UE在IdP上通过了鉴权,就等于同时在所有结成联盟的SP上也同时通过了鉴权。对于MS UE,有两种鉴权方式:一种是MS UE在IdP上鉴权通过后,IdP会将MSUE的鉴权申明Assertion直接返回给MS UE, IMS UE再将该鉴权申明Assertion发给SP,SP通过分析Assertion来对MS UE进行鉴权。另一种是MS UE在IdP上鉴权通过后,IdP会将该MS UE的鉴权申明链接Artiface返回给MS UE ;IMS UE再将该鉴权申明链接Artifact 发给 SP, SP 将该 Artifact 通过简单对象访问协议(SOAP, Simple Object AccessProtocol)发给IdP, IdP根据该Artifact查询相应的Assertion,并返回给SP ;最后SP通过分析Assertion来对IMS UE进行鉴权。一方面,SS0_APS架构中MS UE和SSO服务器交互进行认证获得共享密钥K。,可以为后续访问RP应用提供安全会话密钥,可以方便的完成单点认证过程,增强了认证的安全性和消息传递的安全性,但增加了 MS UE操做的复杂性和不方便性。另一方面,身份标识联盟架构中通过身份标识联盟功能在各个SP与IdP之间建立身份标识安全联盟,并组成一个安全信任圈,只要在IdP上通过了鉴权,就等于在IdP所属的安全信任圈内的所有SP上也通过了鉴权。因此,如果这两种架构之间能够实现互通,既不会降低原有的安全性,还可以增加IMS UE操作的简便性,并扩展MS UE的应用场景,以便用已有的多种多样的WEB业务。目前3GPP规范33.980中定义了 GBA架构和身份标识联盟架构实现互通的典型场景,S卩IdP和NAF为一个实体。其特点是原GBA架构的Ub接口和Zn接口功能基本不变,身份标识联盟架构的IdP和MS UE需增加GBA功能;相关的SP和IdP/NAF通过身份标识联盟功能组成一个安全信任圈UE访问每个SP时,首先在IdP/NAF上通过鉴权认证后,就等于在所有相关的其他SP上也通过了鉴权认证。对于在非ULCC环境下的统一 MS UE,其不能使用GBA架构进行鉴权认证,针对该类MS UE,在SS0_APS中设计了利用SIP Digest认证机制实现SSO功能的架构,现在需要解决该SSO架构和自由联盟架构的融合互通,使得该类IMS UE能够支持自由联盟架构,进而获得多种多样的WEB业务。

发明内容
有鉴于此,本发明的主要目的在于提供一种MS单点登录的组合鉴权方法及系统,能够实现SS0_APS中,SSO架构和自由联盟架构的融合互通。为达到上述目的,本发明的技术方案是这样实现的:本发明提供一种IMS单点登录的组合鉴权方法,包括:SP向IMS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息;IMS UE根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest ;L_IdP/AS向MS UE发送挑战响应消息,MS UE采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证;IMS UE认证成功后,L_IdP/AS对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟。上述方法中,该方法还包括:MS UE与SP进行交互,完成SSO鉴权。上述方法中,所述向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest 为:IMS UE向L-IdP/AS发送HTTP服务请求消息,其中携带从SP获取的AuthnRequest和表示自身支持SS0_APS认证机制的标识。上述方法中,所述L_IdP/AS向MS UE发送挑战响应消息为:收到MS UE发送的HTTP服务请求消息后,L_IdP/AS找到对应的IdP的地址信息,并向MS UE发送重定向 HTTP挑战响应消息,要求MS UE携带身份标识信息到相应的IdP上进行认证,还需要携带IdP的地址信息、L_IdP/AS的身份标识信息以及表示需要MS UE执行SS0_APS认证机制的标识。上述方法中,所述MS UE采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证为:IMS UE向IdP发送认证请求消息,IdP对L_IdP/AS进行认证;如果IdP判断出存在UE与IdP的共享密钥Ktl,则利用共享密钥Ktl生成Ekci(noncel,0P/AS_Auth),利用预先生成的L_IdP/AS和IdP的共享密钥K。, i生成EK。, i (K1, UE_Auth);IdP将MS UE重定向到L_IdP/AS ;其中的重定向消息中携带Ekq(noncel,0P/AS_Auth)和 Eltaii (K1, UE_Auth)和 rapauth ;IMS UE 根据 Ekq (noncel,0P/AS_Auth)判断 L_IdP/AS 的合法性,如果合法,IMS UE计算rspauth,并根据rspauth和收到的rapauth对网络进行认证,认证成功时,生成密钥
K10上述方法中,如果IdP判断出不存在UE与IdP的共享密钥Ktl,所述利用共享密钥K0生成Ekci (noncel, 0P/AS_Auth)之前,该方法还包括:IdP从HSS获取SIP Digest认证向量(SD-AV),并生成随机数nonce,保存该nonce和SD-AV中的哈希函数值H(Al);IdP向MS UE发送401未认证挑战消息,IMS UE生成随机数cnonce和H(Al),利用cnonce和H(Al)生成IMS UE和IdP的共享密钥Ktl,并计算response ;IMS UE向IdP发送401未认证挑战消息的响应消息,IdP对响应消息中的nonce进行检验,如果校验正确,IdP计算Xresponse,并利用Xresponse对IMSUE进行认证,如果认证通过,IdP计算rspauth,并利用H(Al)和cnonce生成共享密钥KQ。 上述方法中,所述MS UE认证成功后,L_IdP/AS对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟为:IdP将MS UE重定向到L_IdP/AS的过程中,发送的消息被重定向到L_IdP/AS,该消息中携带E1^i (K1,UE_Auth);紧随重定向过程中的消息,MS UE向L_IdP/AS发送HTTP请求消息;
L_IdP/AS收到请求消息后,利用共享密钥解密EK。, i (K1, UE_Auth);同时L_IdP/AS根据所述AuthnRequest对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS将通知MSUE可以结成身份标识联盟的SP,IMS UE接受并完成与SP的身份标识联盟,IMS UE和L_IdP/AS之间建立安全联盟。上述方法中,所述MS UE与SP进行交互,完成SSO鉴权为:L_IdP/AS向MS UE返回HTTP鉴权成功响应消息,其中携带Assertion ;IMS UE重新向SP发起HTTP应用请求消息,其中携带Assertion ;SP对Assertion进行处理,并根据MS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对MS UE完成SSO鉴权,并向MS UE返回成功的HTTP响应消息。上述方法中,所述MS UE与SP进行交互,完成SSO鉴权为:L_IdP/AS生成对应的Artifact和Assertion,并保存两者之间的对应关系,向IMSUE返回HTTP鉴权成功响应消息,其中携带所述Artifact ;IMS UE重新向SP发起HTTP应用请求消息,其中携带Artifact ;SP向L_IdP/AS发送HTTP请求消息,其中携带Artifact ;L_IdP/AS根据Artifact找到对应的Assertion,并向SP返回HTTP响应消息,其中携带Assertion ;SP对Assertion进行处理,根据IMS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对MS UE完成SSO鉴权,并向MS UE返回成功的HTTP响应消息。本发明还提供一种MS单点登录的组合鉴权系统,包括:SP、MS UE、L_IdP/AS ;其中,SP,用于向IMS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息;IMS UE,用于根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest ;L_IdP/AS,用于向MS UE发送挑战响应消息;IMS UE,还用于采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证;L_IdP/AS,还用于MS UE认证成功后,对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟。上述系统中,所述MS UE还用于,与所述SP进行交互,完成SSO鉴权。本发明提供的MS单点登录的组合鉴权方法及系统,SP向MS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息;MS UE根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest ;L_IdP/AS向MS UE发送挑战响应消息,MS UE采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证UE认证成功后,L_IdP/AS对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟,能够实现SS0_APS中,SSO架构和自由联盟架构的融合互通以满足非nCC场景中统一 IMS UE利用该组合鉴权方法和系统实现对应用服务器的SSO功能。


图1是本发明实现MS单点登录的组合鉴权方法的流程示意图;图2是本发明实现步骤104的方法的流程示意图;图3是本发明实现步骤106的方法的实施例一的流程示意图;图4是本发明实现步骤106的方法的实施例二的流程示意图;图5是本发明实现IMS单点登录的组合鉴权系统的结构示意图。
具体实施例方式本发明的基本思想是:SP向MS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息;MS UE根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest ;L_IdP/AS向MS UE发送挑战响应消息,頂S UE采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证;MS UE认证成功后,L_IdP/AS对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟。下面通过附图及具体实施例对本发明再做进一步的详细说明。本发明提供一种MS单点登录的组合鉴权方法,图1是本发明实现MS单点登录的组合鉴权方法的流程示意图,如图1所示,该方法包括以下步骤:步骤101,SP向MS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest 和 L_IdP/AS 的地址信息;具体的,IP多媒体业务子系统用户(MS UE)向SP发送应用请求消息;SP收到请求后,获取L_IdP/AS的地址;SP发送响应消息给MS UE,要求MSUE在相应的L_IdP/AS上进行认证,所述响应消息中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息。步骤102,收到响应消息后,根据其中的L_IdP/AS的地址信息,MS UE向L_IdP/AS发送HTTP服务请求消息,其中携带获取的AuthnRequest ;具体的,收到SP发送的响应消息后,根据其中的L_IdP/AS的地址信息,IMS UE向该L_IdP/AS发送HTTP服务请求消息,其中携带从SP获取的AuthnRequest,还携带表示自身支持SS0_APS认证机制的标识。步骤103,L_IdP/AS向MS UE发送挑战响应消息;具体的,收到MS UE发送的HTTP服务请求消息后,L_I dP/AS发现MSUE支持SS0_APS认证机制,并找到对应的IdP的地址信息;L_IdP/AS与IdP利用现有机制如Diffie-Hellman密钥交换机制或预配置密钥等方式在两者之间生成共享密钥K。, i,然后L_IdP/AS向IMS UE发送一个重定向HTTP挑战响应消息,要求MS UE携带身份标识信息到相应的IdP上进行认证,同时还需要携带IdP的地址信息、L_IdP/AS的身份标识信息以及一个表示需要MS UE执行SS0_APS认证机制的标识。步骤104,IMS UE收到挑战响应消息后,采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证。步骤105,IMS UE认证成功后,L_IdP/AS对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟;
具体的,IdP将MS UE重定向到L_IdP/AS的过程中,发送的消息被重定向到L_IdP/AS,该消息中携带有E1^i (KpUE.Auth);紧随重定向过程中的消息,MS UE向L_IdP/AS发送HTTP请求消息,该请求消息中携带认证请求AuthnRequest,该AuthnRequest是原有认证架构Liberty Alliance定义的固定格式和命名方式;L_IdP/AS收到请求消息后,利用共享密钥解密EK。, i (K1, UE_Auth),得到K1和UE_Auth ;同时L_IdP/AS根据AuthnRequest对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS将通知IMS UE可以结成身份标识联盟的SP,IMS UE接受并完成与SP的身份标识联盟,此时在MS UE和业务鉴权提供商L_IdP/AS之间建立了安全联盟,此后MS UE可以和相应的SP进行SSO鉴权。步骤106,IMS UE与SP进行交互,完成SSO鉴权。图2是本发明实现步骤104的方法的流程示意图,S卩IMS UE收到挑战响应消息后,采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证的具体实现方法,如图2所示,该方法包括以下步骤:步骤201,IMS UE向IdP发送认证请求消息,IdP对L_IdP/AS进行认证;具体的,IMS UE根据从L_IdP/AS获得的IdP的地址信息找到对应的IdP,向该IdP发送认证请求消息,其中携带身份标识信息U_credential和L_IdP/AS的身份标识信息;IdP从认证请求消息中获得L_IdP/AS的身份标识信息,并根据该身份标识信息对L_IdP/AS进行认证,生成L_IdP/AS的认证结果L_IdP/AS_Auth,并保存该认证结果。步骤202,IdP判断是否存在UE与IdP的共享密钥Ktl,如果存在,执行步骤203,如果不存在,执行步骤208 ;具体的,IdP根据IMS UE发送的认证请求消息中携带的U_credential,检查是否存在与该[credential对应的MS UE与IdP的共享密钥Ktl,如果存在,执行步骤202,如果不存在,执行步骤208。步骤203,IdP从HSS获取SIP Digest认证向量(SD-AV)和用户配置信息,并生成随机数nonce,保存该nonce和SD-AV中的哈希函数值H(Al);具体的,IdP向HSS发送一个认证请求,根据MS UE发送的U_credential,IdP在HSS中查找并下载与该[credential对应的SIP Digest认证向量(SD-AV)和用户配置信息;其中,SD-AV中包括U_credential、领域(realm)、质量保证(qop)、认证算法(algorithm)和 H(Al);其中,H(Al)是由 U_credential、realm 和密码(password)组成的一个哈希函数值;如果场景中存在多HSS,IdP可以通过询问SLF获得对应的储存用户信息的HSS的地址,从而找到该对应的HSS ;IdP生成一个随机数nonce,并把根据U_credential从HSS获取的SD-AV中的H(Al)和该nonce —并存储。步骤204, IdP向IMS UE发送401未认证挑战消息,其中携带U_credential、realm、qop、algorithm 和 nonce。步骤 205,IMS UE 生成随机数 cnonce 和 H(Al),利用 cnonce 和 H(Al)生成 IMS UE和IdP的共享密钥K。,并计算response ;具体的,收到401未认证挑战消息后,IMS UE生成随机数cnonce和H(Al),利用cnonce和H(Al)生成MS UE和IdP的共享密钥Ktl, IMS UE利用单向哈希函数F计算 response 值,即 response = F(H(Al),cnonce, nonce, qop, nonce-count);这里,IMSUE可以利用cnonce进行网络认证和避免纯文本攻击(“chosen plaintext”);其中,nonce-count为计数器,每使用同一个nonce计算一次response值,nonce-count将加I,利用nonce-count参与response值的计算,能够降低重放攻击的可能性。步骤206, IMS UE向IdP发送401未认证挑战消息的响应消息,其中携带cnonce、nonce、response、realm、U_credential、qop、algorithm、Digest-url 和 nonce-count ;其中,所述Digest-url为地址标识,IMS UE根据该地址标识确定需要发送响应消息的IdP。步骤207, IdP对响应消息中的nonce进行检验,如果校验正确,IdP计算Xresponse,并利用Xresponse对IMS UE进行认证,如果认证通过,IdP计算rspauth,并利用H(Al)和cnonce生成共享密钥K0 ;具体的,收到401未认证挑战消息的响应消息后,IdP利用之前存储的nonce对响应消息中的nonce进行检验,如果两个nonce相同,则检验正确,IdP利用响应消息中的参数cnonce、nonce-count、qop等、以及之前储存在本地的nonce和H(Al)计算期望值Xresponse,将计算的Xresponse与收到的response进行比较,如果两者的比较结果是相同,则MS UE的认证通过;反之,MS UE认证失败;MS UE认证通过后,IdP依据RFC2617中的方法利用 cnonce 生成 rspauth 值,即 rspauth = “response-digest,,=〈” >*LHEX〈” >,并利用H(Al)和cnonce等参数生成共享密钥K。。步骤208,IdP 利用共享密钥 Ktl 生成 Ekci(noncel,0P/AS_Auth),利用 L_IdP/AS 和IdP 的共享密钥 K。, i 生成 EKo,i (K1, UE_Auth);具体的,IdP保存MS UE认证结果的相关信息UE_Auth,IdP生成一个随机数noncel,利用共享密钥Ktl和noncel生成密钥K1 ;利用共享密钥Ktl对noncel和之前保存的L_IdP/AS_Auth 信息进行加密操作,生成 EKCI(noncel,0P/AS_Auth);利用 L_IdP/AS 和 IdP 的共享密钥 K。, i 加密 K1 和 UE_Auth,生成 EKo,i (K1, UE_Auth)。步骤209,IdP将MS UE重定向到L_IdP/AS ;其中的重定向消息中携带Eko(noncel, 0P/AS_Auth)和 EKo, i (K1, UE_Auth)和 rapauth。步骤210,IMS UE 根据 Ekq (noncel, 0P/AS_Auth)判断 L_IdP/AS 的合法性,如果合法,IMS UE计算rspauth,并根据rspauth和收到的rapauth对网络进行认证,认证成功时,生成密钥K1 ;具体的,MSUE 解密收到的 Ekq(noncel,0P/AS_Auth),获得 noncel 和 L_IdP/AS的认证结果L_IdP/AS_Auth,根据L_IdP/AS_Auth判断L_IdP/AS的合法性,如果非法,IMSUE停止访问AS ;如果合法,IMS UE使用同步骤206中一样的方法计算rspauth值,并将该rspauth值与从IdP收到的rspauth值进行比较,如果两者相同,认证网络成功,反之,认证网络失败;网络认证成功后,IMS UE将按照步骤208中的方法生成密钥I。图3是本发明实现步骤106的方法的实施例一的流程示意图,针对L_IdP/AS返回给IMS UE的认证响应中不包含Artifact时的情景,如图3所示,该方法包括:步骤301,L_IdP/AS向MS UE返回HTTP鉴权成功响应消息,其中认证响应消息AuthnResponse中携带对应的断言Assertion,该Assertion包含L_IdP/AS的数字签名;这里,AuthnResponse是原有认证架构Liberty Alliance定义的固定格式和命名方式。步骤302,MS UE重新向SP发起HTTP应用请求消息,其中AuthnResponse为在上一步中返回的AuthnResponse,其中携带对应的Assertion,Assertion中包含L_IdP/AS的数字签名。步骤303,SP对Assertion进行相应处理,即SP识别Assertion的数据签名,判断该Assertion的正确性和拥有者,SP根据步骤105中MS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对MS UE完成SSO鉴权。步骤304,SP向MS UE返回成功的HTTP响应消息。此后,IMS UE和SP之间继续进行通讯,直到密钥过期或即将过期为止。图4是本发明实现步骤106的方法的实施例二的流程示意图,针对L_IdP/AS返回给IMS UE的认证响应中包含Artifact时的情景,如图4所示,该方法包括:步骤401, L_IdP/AS生成对应的诊断文件Artifact和Assertion,并保存两者之间的对应关系,L_IdP/AS向MS UE返回HTTP鉴权成功响应消息,其中携带生成的Artifact。步骤402,MS UE重新向SP发起HTTP应用请求消息,其中AuthnResponse为上一步中返回的AuthnResponse,其中携带对应的Artifact, Artifact中包含Assertion的链接。步骤403,SP向L_IdP/AS发送通过SOAP协议封装的HTTP请求消息;其中携带对应的 Artifact。步骤404,L_IdP/AS根据Artifact找到对应的Assertion,并向SP返回通过SOAP协议封装的HTTP响应消息,其中携带对应的Assertion,其包含IdP的数字签名。步骤405,SP对Assertion进行相应处理,根据MS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对MS UE完成SSO鉴权。步骤406,SP向MS UE返回成功的HTTP响应消息。此后,IMS UE和SP之间继续进行通讯,直到密钥过期或者即将过期为止。为实现上述方法,本发明还提供一种MS单点登录的组合鉴权系统,图5是本发明实现MS单点登录的组合鉴权系统的结构示意图,如图5所示,该系统包括:SP 51、IMS UE52、L IdP/AS 53 ;其中,SP 51,用于向MS UE 52发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest 和 L_IdP/AS 的地址信息;IMS UE 52,用于根据所述L_IdP/AS 53的地址信息,向L_IdP/AS 53发送HTTP服务请求消息,其中携带所述AuthnRequest ;L_IdP/AS 53,用于向MS UE 52发送挑战响应消息;IMS UE 52,还用于采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证;L_IdP/AS 53,还用于MS UE 52认证成功后,对MS UE 52进行身份标识鉴权,如果鉴权成功,L_IdP/AS 53和MS UE 52之间建立安全联盟。所述MS UE 52还用于,与所述SP 51进行交互,完成SSO鉴权。所述MS UE 52向L_IdP/AS 53发送HTTP服务请求消息,其中携带所述AuthnRequest为:MS UE向L_IdP/AS发送HTTP服务请求消息,其中携带从SP获取的AuthnRequest和表示自身支持SS0_APS认证机制的标识。所述L_IdP/AS 53向MS UE 52发送挑战响应消息为:收到MS UE发送的HTTP服务请求消息后,L_IdP/AS找到对应的IdP的地址信息,并向MS UE发送重定向HTTP挑战响应消息,要求MS UE携带身份标识信息到相应的IdP上进行认证,还需要携带IdP的地址信息、L_IdP/AS的身份标识信息以及表示需要MS UE执行SSO_APS认证机制的标识。所述頂S UE 52采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证为:IMS UE向IdP发送认证请求消息,IdP对L_IdP/AS进行认证;如果IdP判断出存在UE与IdP的共享密钥Ktl,则利用共享密钥Ktl生成Ekci(noncel,0P/AS_Auth),利用预先生成的L_IdP/AS 和 IdP 的共享密钥 K。, i 生成 EK。, i (K1, UE_Auth) ;IdP 将 MS UE 重定向到 L_IdP/AS ;其中的重定向消息中携带 Ekq(noncel, 0P/AS_Auth)和 EK。, JK1, UE_Auth)和 rapauth ;IMSUE根据 Ekci(noncel, 0P/AS_Auth)判断 L_IdP/AS 的合法性,如果合法,IMS UE 计算rspauth,并根据rspauth和收到的rapauth对网络进行认证,认证成功时,生成密钥K1 ;如果IdP判断出不存在UE与IdP的共享密钥Ktl,所述利用共享密钥Ktl生成Eko (noncel, 0P/AS_Auth)之前,还包括:IdP从HSS 获取 SIP Digest 认证向量(SD-AV),并生成随机数nonce,保存该nonce和SD-AV中的哈希函数值H(Al) ;IdP向MS UE发送401未认证挑战消息,IMS UE生成随机数cnonce和H(Al),利用cnonce和H(Al)生成IMS UE和IdP的共享密钥Ktl,并计算response ;IMS UE向IdP发送401未认证挑战消息的响应消息,IdP对响应消息中的nonce进行检验,如果校验正确,IdP计算Xresponse,并利用Xresponse对IMS UE进行认证,如果认证通过,IdP计算rspauth,并利用H(Al)和cnonce生成共享密钥K0。·所述MS UE 52认证成功后,L_IdP/AS 53对MS UE 52进行身份标识鉴权,如果鉴权成功,L_IdP/AS 53和MS UE 52之间建立安全联盟为:IdP将MSUE重定向到L_IdP/AS的过程中,发送的消息被重定向到L_IdP/AS,该消息中携带E1^i (Kl,UE_Auth);紧随重定向过程中的消息,IMS UE向L_IdP/AS发送HTTP请求消息;L_IdP/AS收到请求消息后,利用共享密钥解密E1^i(KnUE-Auth);同时L_IdP/AS根据所述AuthnRequest对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS将通知MS UE可以结成身份标识联盟的SP’ IMS UE接受并完成与SP的身份标识联盟,IMS UE和L_IdP/AS之间建立安全联盟。所述MS UE 52与SP 51进行交互,完成SSO鉴权为:L_IdP/AS向MS UE返回HTTP鉴权成功响应消息,其中携带Assertion ;IMS UE重新向SP发起HTTP应用请求消息,其中携带Assertion ;SP对Assertion进行处理,并根据IMS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对MS UE完成SSO鉴权,并向MS UE返回成功的HTTP响应消息。或,所述MS UE 52与SP 51进行交互,完成SSO鉴权为:L_IdP/AS生成对应的Artifact和Assertion,并保存两者之间的对应关系,L_IdP/AS向MS UE返回HTTP鉴权成功响应消息,其中携带所述Artifact ;IMS UE重新向SP发起HTTP应用请求消息,其中携带Artifact ;SP向L_IdP/AS发送HTTP请求消息,其中携带Artifact ;L_IdP/AS根据Artifact找到对应的Assertion,并向SP返回HTTP响应消息,其中携带Assertion ;SP对Assertion进行处理,根据MS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对頂S UE完成SSO鉴权,并向MS UE返回成功的HTTP响应消息。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种IMS单点登录的组合鉴权方法,其特征在于,该方法包括: SP向IMS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息; IMS UE根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述 AuthnRequest ; L_IdP/AS向MS UE发送挑战响应消息,MS UE采用基于SSO_ASP中的SSO架构的认证方法进行自身的认证; IMS UE认证成功后,L_IdP/AS对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:MSUE与SP进行交互,完成SSO鉴权。
3.根据权利要求1所述的方法,其特征在于,所述向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest为: IMS UE向L_IdP/AS发送HTTP服务请求消息,其中携带从SP获取的AuthnRequest和表示自身支持SS0_APS认证机制的标识。
4.根据权利要求1所述的方法,其特征在于,所述L_IdP/AS向IMSUE发送挑战响应消息为: 收到MS UE发送的HTTP服务请求消息后,L_IdP/AS找到对应的IdP的地址信息,并向MS UE发送重定向HTTP挑战响应消息,要求MS UE携带身份标识信息到相应的IdP上进行认证,还需要携带IdP的地址信息、L_IdP/AS的身份标识信息以及表示需要MS UE执行SS0_APS认证机制的标识。
5.根据权利要求1所述的方法,其特征在于,所述IMSUE采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证为: IMS UE向IdP发送认证请求消息,IdP对L_IdP/AS进行认证; 如果IdP判断出存在UE与IdP的共享密钥Ktl,则利用共享密钥Ktl生成Ekci (nonceI,OP/AS_Auth),利用预先生成的L_IdP/AS和IdP的共享密钥K。, i生成EK。, i (K1, UE_Auth); IdP将MS UE重定向到1^_1(^/^ ;其中的重定向消息中携带EKQ(noncel,OP/AS_Auth)和 EK。, J (K1, UE_Auth)和 rapauth ; IMS UE 根据 Ekq (nonceI,0P/AS_Auth)判断 L_IdP/AS 的合法性,如果合法,MS UE 计算rspauth,并根据rspauth和收到的rapauth对网络进行认证,认证成功时,生成密钥K1。
6.根据权利要求5所述的方法,其特征在于,如果IdP判断出不存在UE与IdP的共享密钥Ktl,所述利用共享密钥Ktl生成EK(l(nonCel,0P/AS_Auth)之前,该方法还包括: IdP从HSS获取SIP Digest认证向量(SD-AV),并生成随机数nonce,保存该nonce和SD-AV中的哈希函数值H(Al); IdP向MS UE发送401未认证挑战消息,MS UE生成随机数cnonce和H(Al),利用cnonce和H(Al)生成IMS UE和IdP的共享密钥K0,并计算response ; IMS UE向IdP发送401未认证挑战消息的响应消息,IdP对响应消息中的nonce进行检验,如果校验正确,IdP计算Xresponse,并利用Xresponse对IMSUE进行认证,如果认证通过,IdP计算rspauth,并利用H(Al)和cnonce生成共享密钥K。。
7.根据权利要求1所述的方法,其特征在于,所述IMSUE认证成功后,L_IdP/AS对IMSUE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟为: IdP将MS UE重定向到L_IdP/AS的过程中,发送的消息被重定向到L_IdP/AS,该消息中携带E1^i (K1, UE_Auth);紧随重定向过程中的消息,IMS UE向L_IdP/AS发送HTTP请求消息; L_IdP/AS收到请求消息后,利用共享密钥解密E1^i (K1, UE_Auth);同时L_IdP/AS根据所述AuthnRequest对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS将通知MS UE可以结成身份标识联盟的SP,IMS UE接受并完成与SP的身份标识联盟,IMS UE和L_IdP/AS之间建立安全联盟。
8.根据权利要求2所述的方法,其特征在于,所述IMSUE与SP进行交互,完成SSO鉴权为: L_IdP/AS向MS UE返回HTTP鉴权成功响应消息,其中携带Assertion ; IMS UE重新向SP发起HTTP应用请求消息,其中携带Assertion ; SP对Assertion进行处理,并根据MS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟 信息,对MS UE完成SSO鉴权,并向MS UE返回成功的HTTP响应消息。
9.根据权利要求2所述的方法,其特征在于,所述IMSUE与SP进行交互,完成SSO鉴权为: L_IdP/AS生成对应的Artifact和Assertion,并保存两者之间的对应关系,向MS UE返回HTTP鉴权成功响应消息,其中携带所述Artifact ; IMS UE重新向SP发起HTTP应用请求消息,其中携带Artifact ;SP向L_IdP/AS发送HTTP请求消息,其中携带Artifact ; L_IdP/AS根据Artifact找到对应的Assertion,并向SP返回HTTP响应消息,其中携带Assertion ;SP对Assertion进行处理,根据IMS UE和L_IdP/AS之间建立安全联盟过程中产生的L_IdP/AS的身份标识联盟信息,对MS UE完成SSO鉴权,并向MS UE返回成功的HTTP响应消息。
10.一种MS单点登录的组合鉴权系统,其特征在于,该系统包括:SP、IMS UE、L_IdP/AS ;其中, SP,用于向IMS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息; IMS UE,用于根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest ; L_IdP/AS,用于向MS UE发送挑战响应消息; IMS UE,还用于采用基于SS0_ASP中的SSO架构的认证方法进行自身的认证; L_IdP/AS,还用于MS UE认证成功后,对MS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和MS UE之间建立安全联盟。
11.根据权利要求10所述的系统,其特征在于,所述IMSUE还用于,与所述SP进行交互,完成SSO鉴权。
全文摘要
本发明公开一种IMS单点登录的组合鉴权方法,包括SP向IMS UE发送响应消息,其中携带身份标识鉴权请求信息AuthnRequest和L_IdP/AS的地址信息;IMS UE根据所述L_IdP/AS的地址信息,向L_IdP/AS发送HTTP服务请求消息,其中携带所述AuthnRequest;L_IdP/AS向IMS UE发送挑战响应消息,IMS UE采用基于SSO_ASP中的SSO架构的认证方法进行自身的认证;IMS UE认证成功后,L_IdP/AS对IMS UE进行身份标识鉴权,如果鉴权成功,L_IdP/AS和IMS UE之间建立安全联盟;本发明还提供一种IMS单点登录的组合鉴权系统。根据本发明的技术方案,能够实现SSO_APS中,SSO架构和自由联盟架构的融合互通。
文档编号H04L29/06GK103095649SQ20111033824
公开日2013年5月8日 申请日期2011年10月31日 优先权日2011年10月31日
发明者张孟旺, 田甜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1