CN102469102B - 单点登录方法及*** - Google Patents
单点登录方法及*** Download PDFInfo
- Publication number
- CN102469102B CN102469102B CN201110076415.3A CN201110076415A CN102469102B CN 102469102 B CN102469102 B CN 102469102B CN 201110076415 A CN201110076415 A CN 201110076415A CN 102469102 B CN102469102 B CN 102469102B
- Authority
- CN
- China
- Prior art keywords
- terminal
- authentication center
- authentication
- nonce1
- auth
- 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
Links
- 238000004891 communication Methods 0.000 claims description 22
- 230000000875 corresponding Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000000977 initiatory Effects 0.000 claims description 10
- 238000000275 quality assurance Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 description 53
- 239000000203 mixture Substances 0.000 description 13
- 230000000694 effects Effects 0.000 description 8
- 230000000052 comparative effect Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 238000004064 recycling Methods 0.000 description 3
- 235000009508 confectionery Nutrition 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000001419 dependent Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 235000005035 ginseng Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000001960 triggered Effects 0.000 description 1
Abstract
本发明提供了单点登录方法及***,该方法包括:终端向RP发送携带有用户身份标识的认证请求,RP将认证请求重定向到认证中心;认证中心使用SIP Digest方式对终端进行认证,将认证结果通过终端重定向到RP;RP根据认证结果为终端提供服务。本发明减少了运营商部署GBA所需要的资源,同时能够满足非UICC终端接入IMS网络,并且可以通过SSO的方式访问IMS网络相关的应用服务。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种单点登录方法及***。
背景技术
在统一IP多媒体子***(IP multimedia subsystem,简称为IMS)的终端(User Equipment,简称为UE)认证过程和实现单点登录(Single Sign-On,简称为SSO)的过程中,现存有3种场景:
1,IMS UE内具有通用集成电路卡(Universal Integrated Circuit Card,简称为UICC),并且网络运营商已部署了通用认证机制(General Bootstrapping Architecture,简称为GBA)的情形:此时可以利用GBA认证机制同自由联盟(Liberty Alliance)/开放式身份识别(OpenID)结合实现单点登录以及与现有的其它SSO机制实现互通。在这种场景下,为了实现SSO,运营商会部署大量的GBA,同时为每个IMS UE内嵌入UICC卡,利用GBA和UICC卡内信息完成对IMS终端访问应用服务器的SSO功能。
2,IMS UE内具有UICC卡,但是运营商不能部署GBA的情形:这种情况下需要对UE终端用户进行认证,实现该IMS终端对AS应用服务器的SSO功能时,多采用认证和密钥协商(Authentication and Key Agreement,简称为AKA)/OpenID相结合的方案。具体如下:
IMS UE向应用服务器(Application Server,简称为AS,也称RP)发送一个认证请求,该请求中包含OpenID标识符;RP利用该OpenID标识符发现OpenID身份提供者(OpenIDProvider,简称为OP)的最终统一资源定位符(Uniform/Universal Resource Locater,简称为URL),并重定向用户认证请求到达该URL;OP从归属用户寄存器(Home Subscriber Server,简称为HSS)取得AKA认证向量以及基于IP多媒体私有用户标识(IP Multimedia PrivateIdentity,简称为IMPI)的用户终端信息内容;OP使用AKA认证方法向UE发送一个认证挑战,使得UE对该网络进行认证;UE对挑战向OP发送一个响应,在OP中完成对UE的认证;OP向UE发送一个宣称OpenID标识符属于该终端的标记信息断言,该断言被OP使用OP与RP的共享密钥(密钥可能是OP与RP的共享密钥,也可能是OP自身的密钥)标记;重定向该断言到达RP;若利用的为OP与RP共享密钥,则RP直接验证签名信息,并通知UE验证结果。若使用的是OP自身密钥加密,则RP把该断言的复本传送到OP进行验证,OP验证后将验证结果通知给RP,最后RP再将验证结果通知给UE。
该架构能够使得网络运营商作为OpenID provider为用户访问WEB服务器提供身份验证的服务功能。对保存有ISIM(IMS中的身份识别)的应用程序,用户可以提供跨IMS和web服务器等实现对其的SSO功能。允许用户在WEB上控制他们的公共身份标识符。用户通过访问信任的网络运营商控制的WEB应用程序,可以提高用户自身信息的安全性。
3,IMS UE不具有UICC卡,并且运营商也未部署GBA的情形:随着非UICC卡终端接入IMS网络的增多,这种情形出现的概率越来越大,并且在未部署GBA和非UICC卡情形下,用户也常常需要访问IMS网络和使用与IMS相关的应用服务,这种情况下,基于非UICC的IMS-SSO认证变得非常有必要。但是,相关技术中尚未提出在这种场景下如何进行SSO功能。
综上所述,相关技术中,只有具有UICC卡的终端才能实现SSO功能,进而访问IMS网络中的各种应用服务,且大多数情况需要网络运营商大量部署GBA,这样将增加运营商的投入成本;而不具有UICC卡的终端将不能利用已有架构方案实现对IMS网络中相关应用服务的SSO功能。
发明内容
本发明的主要目的在于提供一种单点登录方法及***,以至少解决上述问题。
本发明的一个方面提供了一种单点登录方法,包括:终端向RP发送携带有用户身份标识的认证请求,所述RP将所述认证请求重定向到认证中心;所述认证中心使用SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;所述RP根据所述认证结果为所述终端提供服务。
本发明的另一个方面提供了一种单点登录方法,包括:终端向应用服务器RP发送服务请求;所述RP将自身的认证请求通过所述终端重定向到所述认证中心,或者,所述RP向所述终端返回用于指示所述终端向认证中心进行认证的响应;所述终端向所述认证中心发送所述终端的认证请求;所述认证中心使用会话初始协议摘要认证SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;所述RP根据所述认证结果为所述终端提供服务。
本发明的又一个方面提供了一种单点登录***,包括:终端,用于向RP发送携带有用户身份标识的认证请求;所述RP,用于将所述认证请求重定向到认证中心,以及用于根据所述认证中心的认证结果为所述终端提供服务;所述认证中心,用于使用SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP。
本发明的再一个方面提供了一种单点登录***,包括:终端,用于向应用服务器RP发送服务请求,以及用于在接收到所述RP返回的用于指示所述终端向认证中心进行认证的响应或者在所述RP指示将所述RP的认证请求通过所述终端重定向到所述认证中心的情况下向所述认证中心发送所述终端的认证请求;所述RP,用于向所述终端返回用于指示所述终端向所述认证中心进行认证的响应或者指示将所述RP的认证请求通过所述终端重定向到所述认证中心,以及用于根据所述认证中心的认证结果为所述终端提供服务;所述认证中心,用于使用会话初始协议摘要认证SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP。
通过本发明,RP将UE的请求重定向到认证中心或者向UE发送用于指示其需要到认证中心进行认证的信息,认证中心得到认证请求后根据收到的用户身份标识采用SIP Digest方式来对该UE进行认证,并将认证结果重定向到RP,解决了相关技术中的认证方案仅仅适用于具有UICC卡的终端的问题,该方法能够支持对不具有UICC的终端单点登录RP的认证,由于该方法不需要部署大量的GBA,因此减少了运营商部署GBA所需要的资源,同时能够满足非UICC终端接入IMS网络,并且可以通过SSO的方式访问IMS网络相关的应用服务。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的单点登录方法的流程图;
图2是根据本发明实施例的单点登录***的结构框图;
图3是根据实施例2的非UICC卡的IMS终端利用SIP Digest认证机制实现对应用服务器的单点登录认证流程的流程图;
图4是根据实施例3的非UICC卡的IMS终端利用SIP Digest认证机制实现对应用服务器的单点登录认证过程与现有非3GPP的单点登录***OpenID互通实现的流程图;
图5是根据实施例4的运营商作为OpenID Provider利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证流程图;
图6是根据本发明实施例的运营商提供的IdP利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证整体架构图;
图7是根据本发明实施例的运营商作为OpenID Provider利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证整体架构图;
图8是根据本发明实施例的另一单点登录方法的流程图;
图9是根据实施例6的非UICC卡的IMS终端利用SIP Digest认证机制实现对应用服务器的单点登录认证流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的单点登录方法的流程图,该方法包括:
步骤S102,UE向RP发送携带有用户身份标识的认证请求,RP将认证请求重定向到认证中心;
步骤S104,认证中心使用会话初始协议摘要认证(Session Initiation Protocol Digest,简称为SIP Digest)方式对UE进行认证,将认证结果通过UE重定向到RP;
步骤S106,RP根据认证结果为UE提供服务。
相关技术中,UE终端对应用服务器的SSO功能一般通过Liberty Alliance/OpenID结合的方式或AKA/OpenID相结合的方式来实现,这两种方式仅支持UICC身份标识信息的认证,因此仅适用于UE终端预先拥有UICC卡情况,而现实应用中,不具有UICC卡的UE正在不断的增多,因此,需要新的机制来支持非UICC卡的UE终端实现SSO功能,本实施例的方法,采用SIP Digest方式来进行认证,所支持的用户身份标识的种类不限于UICC身份标识信息,因此,能够支持不具有UICC的终端的认证。
通过以上的方法,网络运营商能作为用户认证中心提供者完成对UE终端使用AS的统一认证,方便各种应用服务器接入终端。网络运营商可以为应用服务提供商提供大量用户群,运营商可通过与AS提供商合作更好的满足用户群对各种应用服务的需求,同时用户通过信任的网络运营商访问相关应用服务器,不仅为用户提供了方便也增加了用户信息的安全性同时也扩大了运营商的盈利方式。
优选地,在认证中心使用SIP Digest方式对UE进行认证之前,认证中心可以判断是否存在与UE之间的第一共享密钥K0,若不存在,则继续后续处理,若存在,则跳过认证中心使用SIP Digest方式对UE进行认证的步骤,直接将认证结果重定向到RP。通过以上的判断步骤,认证中心可以对已认证过的UE直接返回认证结果给RP,提高了处理的速度。
相关技术中,由于OP认证中心对UE终端只进行单向认证,并且服务器可能存在未认证攻击情况,因此,可能存在由于服务器非法导致安全性较差的问题。因此,在本实施例中,RP还可以将RP认证请求重定向到认证中心,其中,RP认证请求携带RP身份标识RP_credential或携带采用RP和认证中心之间的共享密钥Kr,i加密后的RP身份标识Ekr,i(RP_credential)(具体地,考虑到OP和IdP作为认证中心这两种网络部署的差别,可以在OP作为认证中心的情况下,在RP认证请求中携带Ekr,i(RP_credential),在IdP作为认证中心的情况下,在RP认证请求中携带RP_credential);认证中心根据RP身份标识对RP进行认证并保存认证结果。通过以上的方法,非UICC卡的UE可以实现对IMS网络中合法应用服务器的SSO功能,通过采用双向认证可以更好的保证IMS终端身份信息的安全性,并且能够正确识别非法应用服务器,提高了服务的安全性。
优选地,以上用户身份标识可以为开放式身份标识(OpenID),认证中心可以为OP;或者,用户身份标识可以为输入到UE的身份标识或UE注册到因特网协议多媒体子***(IMS)时获得的身份标识,认证中心可以为单点登录认证中心(IdP)。
在具体实施中,认证中心使用SIP Digest方式对UE进行认证的过程可以采用以下的处理方式:认证中心根据对应于该终端的SIP Digest认证向量(SD-AV),对终端进行认证。该(SD-AV)可以由认证中心根据用户身份标识从HSS获取并存储,其中,SD-AV至少包括以下内容:用户身份标识、认证算法(algorithm)、质量保障、作用域(realm)以及一个哈希值H(A1),其中,H(A1)由用户身份标识、realm和口令(password)组成。
优选地,基于以上的参数,认证中心使用SIP Digest方式对终端进行认证的过程可以包括:认证中心产生随机数nonce,将携带algorithm、nonce以及realm等的消息发送至UE;UE产生随机数cnonce,根据nonce、cnonce和由realm、用户身份标识和用户输入的password产生的H(A1)等利用algorithm生成响应值response,向认证中心返回响应消息,其中,响应消息携带cnonce、nonce、realm、response和algorithm;认证中心采用algorithm根据存储的H(A1)、存储的nonce、接收到的cnonce计算校验响应值Xresponse,将接收到的response和Xresponse进行比较,若相同则认证成功,否则认证失败。利用SIP Digest认证机制,运营商通过提供IdP统一认证中心对用户和访问的应用服务器两者进行统一的双向认证,能够很好的实现场景3中的SSO功能。
优选地,response的计算依据还可以包括:UE计算response时使用同一个nonce的使用次数。利用nonce-count也参与response计算,能够降低重放攻击的可能性
通过以上的过程,在认证中心产生随机数nonce,将携带algorithm、nonce和realm的消息发送至终端之后,UE就可以根据H(A1)和cnonce利用认证算法计算K0;在认证中心使用SIP Digest方式对UE进行认证之后,认证中心可以根据认证算法计算K0并存储。通过以上的方法,认证中心和UE可以根据认证过程交互的参数生成两者之间的共享密钥K0,认证中心可以根据是否存储有该共享密钥来判断是否已对该UE进行过认证。
在认证中心对UE认证成功之后,为了保证UE和RP之间的通信安全,可以采用以下的处理方式:
(1)在用户身份标识为输入到UE的身份标识或UE注册到IMS时获得的身份标识,认证中心为IdP,且认证中心认证成功的情况下,认证中心生成随机数nonce1,根据nonce1和K0生成第二密钥K1;认证中心采用K0加密nonce1和对RP的认证结果RP_Auth得到K0(nonce1,RP_Auth),采用和RP之间的共享密钥Kr,i加密K1和对UE的认证结果UE_Auth得到Kr,i(K1,UE_Auth);认证中心向终端发送携带K0(nonce1,RP_Auth)的200OK信息并将Kr,i(K1,UE_Auth)重定向到RP,或者,终端在认证中心将终端重定向到RP的重定向消息中获得K0(nonce1,RP_Auth)和Kr,i(K1,UE_Auth)之后将Kr,i(K1,UE_Auth)重定向到RP;UE解密K0(nonce1,RP_Auth),得到对RP的认证结果,生成第二密钥K1;并且,RP解密Kr,i(K1,UE_Auth),采用K1加密服务内容发送至UE;UE采用K1进行解密获得服务内容。
(2)在用户身份标识为OpenID,认证中心为OP,且认证中心认证成功的情况下:
一种处理方式是认证中心生成随机数nonce1,根据nonce1和K0生成第二密钥K1;认证中心采用K0加密nonce1和对RP的认证断言RP_Assert得到K0(nonce1,RP_Assert),采用和RP之间的共享密钥Kr,i加密K1和对UE的认证断言UE_Assert得到Kr,o(K1,UE_Assert);认证中心向终端发送携带K0(nonce1,RP_Auth)的200OK信息并将Kr,o(K1,UE_Auth)重定向到RP,或者,终端在认证中心将终端重定向到RP的重定向消息中获得K0(nonce1,RP_Assert)和Kr,o(K1,UE_Assert)之后将Kr,i(K1,UE_Assert)重定向到RP;UE解密K0(nonce1,RP_Assert),得到对RP的认证断言,生成第二密钥K1;并且,RP解密Kr,o(K1,UE_Assert),采用K1加密服务内容发送至UE;UE采用K1进行解密获得服务内容。
另一种处理方式是认证中心生成随机数nonce1,根据nonce1和K0生成第二密钥K1;认证中心采用K0加密nonce1得到K0(nonce1),采用和RP之间的共享密钥Kr,i加密K1和对UE的认证断言UE_Assert得到Kr,o(K1,UE_Assert);认证中心向终端发送携带K0(nonce1)的200OK信息并将Kr,o(K1,UE_Auth)重定向到RP,或者,终端在认证中心将终端重定向到RP的重定向消息中获得K0(nonce1)和Kr,o(K1,UE_Assert)之后将Kr,i(K1,UE_Assert)重定向到RP;UE解密K0(nonce1),得到nonce1并生成第二密钥K1;并且,RP解密Kr,o(K1,UE_Assert),采用K1加密服务内容发送至UE;UE采用K1进行解密获得服务内容。在这种情况下,不需要带RP认证结果给终端UE,终端信任认证中心,认证中心认证RP通过才会发送给UE信息,若终端UE能从认证中心收到K0(nonce1),就表示了RP认证通过了,不需要在明确去通知终端UE。
以上的方法中,认证中心和UE之间、认证中心和RP之间的交互信息均采用各自对应的共享密钥进行加密,保证了认证中心和UE以及认证中心和RP之间的信息交互安全;另外,对于UE的一次认证请求,产生一个K1,以便UE和RP之间利用K1对交互的服务内容进行加密,防止非法截获用户数据,进一步地提高了安全性。
需要说明的是,以上的方法采用SIP Digest机制,不仅适用于非UICC的终端的认证,也可以适用于UICC终端的认证,并且,无需配置大量的GBA,降低了网络运营商部署GBA和嵌入UICC卡的成本。
本实施例还提供了一种单点登录***,图2是根据本发明实施例的单点登录***的结构框图,该***包括:UE 22,用于向RP 24发送携带有用户身份标识的认证请求;RP 24,用于将认证请求重定向到认证中心26,以及用于根据认证中心26的认证结果为UE 22提供服务;认证中心26,用于使用SIP Digest方式对UE 22进行认证,将认证结果通过UE 22重定向到RP 24。
认证中心26还用于根据RP身份标识对RP 24进行认证并保存认证结果。
优选地,在用户身份标识为OpenID的情况下,认证中心26为OP;在用户身份标识为输入到UE的身份标识或UE注册到IMS时获得的身份标识的情况下,认证中心26为IdP。
优选地,认证中心26还用于产生安全通信密钥,并将该安全通信密钥通过UE 22重定向到RP 24;RP 24还用于采用该安全通信密钥加密服务内容并发送至UE 22;UE 22还用于产生该安全通信密钥,采用该安全通信密钥进行解密获得服务内容。
下面描述的实施例1-4,综合了上述多个优选实施例的技术方案。
实施例1
本实施例提供了一种基于SIP Digest认证机制在统一IMS网络中实现对应用服务器的SSO功能的方法。在该方法中,对UE终端和AS服务器两者进行了双向认证的机制;能够满足IMS网络中非UICC卡的UE终端对其应用服务器实现SSO功能;与OpenID/AKA相比,具有更好的通用性和安全性,保证了UE用户终端和AS服务器两者的安全。该方法主要包括以下步骤:
步骤1,UE终端用户在IMS网络注册;
步骤2,当该终端要访问应用服务器RP时,RP本身不存储UE的任何身份信息,RP不对UE进行认证,直接把该登录认证请求重定向到网络运营商提供的IdP(SSO)单点登录认证中心(或OP)去认证该UE终端;同时为了UE用户终端的安全,RP应用服务器也要到IdP认证中心去认证。RP和IdP两者之间事先已协商共享密钥。
步骤3,IdP对RP身份进行认证,存储认证结果。
步骤4,IdP查找自身是否包含该UE用户终端信息对应的唯一共享密钥K0,若存在该对应共享密钥K0,说明UE终端已经认证通过,则不需再进行SIP Digest认证过程直接利用该共享密钥K0和IdP新产生的nonce随机数产生一个会话密钥K1,再利用密钥K0和K1实现后续的RP认证和UE证实过程。若用户K0不存在,则依据传递的用户标识符去HSS上下载该用户相关的认证向量和用户信息。然后利用这些参数,使用SIP Digest认证方式实现对UE终端的认证过程。认证UE终端后,再利用H(A1)、cnonce和nonce-count等产生的共享密钥K0和IdP新产生的nonce1随机数产生一个会话密钥K1,然后利用密钥K0和K1实现后续的RP认证和UE证实过程。
对于非UICC卡的IMS终端在未部署GBA的网络架构中的单点登录的处理,以下将在实施例2-4中结合图1、2、6和7进行详细的描述,需要说明的是,附图中为整体架构图和流程图,UE为IMS非UICC卡终端,RP对应于IMS终端要访问的应用服务器,IdP/OP对应网络运营商提供的SSO子***。为了使流程更加简洁明了,对流程没有影响的一些网络的具体网元接口没有画出以及支持的协议没有说明,例如UE与RP接口具备的功能,UE与IdP接口具备的功能,HSS与IdP接口具备的功能,以及支持的有关协议等均未示出;HSS与IdP之间接口参考点能够实现Diameter协议,可以重用IMS核心网内的Cx接口,UE和IdP均要支持SIP Digest认证机制等条件也未在图中标明;为简洁起见,在图中没有画出这些具体接口参考点。RP和IdP实现共享密钥的协商机制利用现有机制可以顺利实现,IdP对RP的认证,现在也已有成熟机制成功实现,这里不再累述。
实施例2
图6是根据本发明实施例的运营商提供的IdP利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证整体架构图,图3是根据实施例2的非UICC卡的IMS终端利用SIP Digest认证机制实现对应用服务器的单点登录认证流程的流程图,该实施例以图6所示架构为基础,结合图3描述了单点登录方法的流程,详述如下:
步骤1:UE终端首先完成在IMS网络内的注册。该过程可以使用TS33.203文档中的SIPDigest终端用户注册机制实现。
步骤2:UE向RP发出一个认证请求,该请求中携带用户的用户身份标识(U_credential)。
步骤3:RP重定向该用户认证请求到IdP地址,并且发送RP认证请求到IdP地址。其中分别携带着用户身份标识(U_credential)和RP身份标识信息(RP_credential)。
步骤4:以上的认证请求被重定向到IdP地址,其中分别携带着用户身份标识(U_credential)和RP身份标识信息(RP_credential)。
步骤5:IdP依据RP身份标识信息(RP_credential)对RP进行认证,保存对RP的认证结果RP_Auth;同时依据传递来的用户身份标识(U_credential)判断IdP中是否存在与其对应的UE与IdP共享密钥K0。若存在该共享密钥则直接跳转到步骤12进行执行,否则继续执行下步步骤。RP与网络运营商的IdP(SSO)之间事先已建立了一个共享密钥(Kr,i)。
步骤6:IdP依据上步骤收到的用户身份标识(U_credential)到HSS中查找并下载对应的SIPDigest认证向量(SIP Digest Authentication Vector,简称为SD-AV)和用户配置信息内容。SIPDigest认证向量中包括U_credential、作用域(realm)、质量保障(qop)、算法(algorithm)和H(A1),其中H(A1)是由U_credential,realm和口令(password)组成的一个哈希函数值。在多HSS环境下,IdP可以通过询问SLF获得对应的储存用户信息的HSS地址,找到该对应的HSS。
步骤7:IdP产生一个包含时间戳信息的随机数nonce,并且把从HSS下载的H(A1)与该nonce一起存储起来。
步骤8:IdP向UE发送一个401未认证挑战消息(401 Auth_Challenge),该信息中包含U_credential、realm、qop、algorithm和nonce。
步骤9:UE产生随机数cnonce。利用U_credential,realm和password产生H(A1);再利用H(A1)、cnonce、nonce-count和密钥有效期等产生UE和IdP共享密钥K0。通过一个单向哈希函数F计算响应值(response)。response=F(cnonce,nonce,realm,password,U_credential,qop,nonce-count)。终端用cnonce进行网络认证和避免纯文本攻击(“chosen plaintext”)。nonce-count是计数器,用户每使用同一个nonce计算一次response,nonce-count将增加,利用nonce-count也参与response计算,降低重放攻击的可能性。
步骤10:UE对步骤8中的挑战信息向IdP发送一个响应信息(response信息),该响应信息中包含cnonce、nonce、response、realm、U_credential、qop、algorithm、Digest-url和nonce-count。
步骤11:利用储存的nonce值对响应消息中的nonce值进行检验,若检验正确,则IdP利用收到的有关参数cnonce、nonce-count、qop等和原储存的nonce及H(A1)计算校验响应值(Xresponse),将计算的Xresponse与收到的response值进行比较,若两者比较结果相同则认证用户通过,否则UE用户终端认证失败,IdP产生UE的认证结果UE_Auth;用H(A1)、cnonce、nonce-count和密钥有效期等产生UE和IdP共享密钥K0。
步骤12:IdP再产生一个随机数nonce1;然后利用K0、nonce1和密钥有效期以及IdP中存储的参数等产生密钥K1;共享密钥K0对nonce1和RP_Auth进行加密操作产生K0(nonce1,RP_Auth);用RP和IdP共享密钥加密K1和UE_Auth产生Kr,i(K1,UE_Auth)。
步骤13:IdP重定向UE终端到RP,该消息携带K0(nonce1,RP_Auth)和Kr,i(K1,UE_Auth)。
步骤14:UE终端解密K0(nonce1,RP_Auth),取得nonce1值和RP认证结果,获得RP应用服务器的合法性。若为合法应用服务器则顺序执行下步,否则直接给UE终端返回一个服务器非法的通知信息;同时利用K0、nonce1和密钥有效期以及同UE中存储的对应IdP中参数等产生密钥K1。
步骤15:IdP重定向UE终端到RP,该消息中携带Kr,i(K1,UE_Auth)。
步骤16:RP收到该消息后,利用共享密钥解密Kr,i(K1,UE_Auth),RP获得IdP对UE终端的认证结果和密钥K1;RP依据UE_Auth判断是否对该UE提供授权服务内容UE_Author;并且用密钥K1对该授权信息进行加密产生K1(UE_Author)。
步骤17:RP向UE通知授权信息内容,携带信息K1(UE_Author)。
步骤18:UE利用密钥K1是否能解密K1(UE_Author)来满足其是否可以获得请求的服务。
上述步骤1-18中任一步骤失败,则整个认证过程停止继续。
若该IMS终端UE获得到请求服务后,再请求别的应用服务器时,在该IMS终端用户UE认证请求中携带用户身份标识(U_credential)信息时,IdP通过查找该用户身份标识(U_credential)信息对应的K0密钥,获知该用户是否已经认证通过,若存在该K0密钥则用户不需要在进行SIP Digest认证,只需要从步骤12开始进行处理;否则需要执行整个认证过程。当K0密钥生命周期到期,则其自动销毁,认证用户需要再次进行SIP Digest认证产生UE和IdP共享密钥。
实施例3
图7是根据本发明实施例的运营商作为OpenID Provider利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证整体架构图,图4是根据实施例3的非UICC卡的IMS终端利用SIP Digest认证机制实现对应用服务器的单点登录认证过程与现有非3GPP的单点登录***OpenID互通实现的流程图,该实施例以图7所示架构为基础,结合图4描述了单点登录方法的流程,详述如下:
步骤1:UE终端首先完成在IMS网络内的注册。该过程使用TS33.203文档中的SIP Digest终端用户注册机制实现。
步骤2:UE向RP发出一个认证请求,该请求中携带用户的OpenID标识符信息。
步骤3:RP重定向该用户OpenID认证请求和发送RP认证请求到OP地址。同时携带着用户OpenID标识符信息OpenID identifier和RP身份标识信息(RP_credential)。
步骤4:OpenID认证请求被重定向到OP地址。同时携带着用户OpenID标识符信息OpenIDidentifier和RP身份标识信息(RP_credential)。
步骤5:OP依据RP身份标识信息(RP_credential)对RP进行认证,保存对RP的认证断言RP_Assert;同时依据传递来的用户OpenID标识符信息OpenID identifier判断OP中是否存在与其对应的UE与OP共享密钥K0。若存在该共享密钥则直接跳转到步骤12进行执行,否则继续执行下步步骤。RP(Application Server)与网络运营商的OP(SSO)之间事先已建立了一个共享密钥(Kr,o)。该步骤后OP建立了OpenID identifier和用户身份标识符之间的相互关系。
步骤6:OP依据上步骤了OpenID identifier和用户身份标识符之间的相互关系到HSS中查找并下载对应的SIP Digest Authentication Vector(SD-AV)和用户配置信息内容。SIP DigestAuthentication Vector(SD-AV)中包括U_credential、realm、qop、algorithm和H(A1),其中H(A1)是由U_credential,realm和password组成的一个哈希函数值。在多HSS环境下,OP可以通过询问SLF获得对应的储存用户信息的HSS地址,找到该对应的HSS。
步骤7:OP产生一个包含时间戳信息的随机数nonce,并且把从HSS下载的H(A1)与该nonce一起存储起来。
步骤8:OP向UE发送一个401未认证挑战消息,该信息中包含U_credential、realm、qop、algorithm和nonce。
步骤9:UE产生随机数cnonce。利用U_credential,realm和password产生H(A1);再利用H(A1)、cnonce、nonce-count和密钥有效期等产生UE和OP共享密钥K0。通过一个单向哈希函数F计算response值。response=F(cnonce,nonce,realm,password,U_credential,qop,nonce-count)。终端用cnonce进行网络认证和避免”chosen plaintext”攻击。nonce-count是计数器,用户每使用同一个nonce计算一次response,nonce-count将增加,利用nonce-count也参与response计算,降低重放攻击的可能性。
步骤10:UE对步骤8中的挑战信息向OP发送一个响应response,该响应信息中包含cnonce、nonce、response、realm、U_credential、qop、algorithm、Digest-url和nonce-count。
步骤11:利用储存的nonce值对响应消息中的nonce值进行检验,若检验正确,则OP利用收到的有关参数cnonce、nonce-count、qop等和原储存的nonce及H(A1)计算Xresponse,将计算的Xresponse与收到的response值进行比较,若两者比较结果相同则认证用户通过,否则UE用户终端认证失败;OP产生对UE的认证断言信息UE_Assert;用H(A1)、cnonce、nonce-count和密钥有效期等产生UE和OP共享密钥K0。
步骤12:OP再产生一个随机数nonce1;然后利用K0、nonce1和密钥有效期以及OP中存储的参数等产生密钥K1;共享密钥K0对nonce1和对RP的认证断言RP_Assert进行加密操作产生K0(nonce1,RP_Assert);用RP和OP共享密钥加密K1和UE_Assert产生Kr,o(K1,UE_Assert)。
步骤13:OP重定向UE终端到RP,该消息携带K0(nonce1,RP_Assert)和Kr,o(K1,UE_Assert)。
步骤14:UE终端解密K0(nonce1,RP_Assert),取得nonce1值和RP认证断言,获得RP应用服务器的合法性。若为合法应用服务器则顺序执行下步,否则直接给UE终端返回一个服务器非法的通知信息;同时利用K0、nonce1和密钥有效期以及同UE中存储的对应OP中参数等产生密钥K1。
步骤15:OP重定向UE终端到RP,该消息中携带Kr,o(K1,UE_Assert)。
步骤16:RP收到该消息后,利用共享密钥解密Kr,o(K1,UE_Assert),RP获得OP对UE终端的断言结果和密钥K1;RP依据UE_Assert断言判断是否对该UE提供授权服务内容UE_Author;并且用密钥K1对该授权信息进行加密产生K1(UE_Author)。
步骤17:RP向UE通知授权信息内容,携带信息K1(UE_Author)。
步骤18:UE利用密钥K1是否能解密K1(UE_Author)来满足其是否可以获得请求的服务。
上述步骤中1-18中任一步骤失败,则整个认证过程停止继续。
若该IMS终端UE获得到请求服务后,再请求别的应用服务器时,在该IMS终端用户UE认证请求中携带用户OpenID标识符信息OpenID identifier时,OP通过该用户OpenID标识符信息OpenID identifier查找对应的K0密钥,获知该用户是否已经认证通过,若存在该K0密钥则用户不需要在进行SIP Digest认证,只需要从步骤12开始执行;否则需要执行整个认证过程;当K0密钥生命周期到期,则其自动销毁,认证用户需要再次进行SIP Digest认证产生UE和OP共享密钥。
在UE用户访问RP应用服务器中,若遭遇意外断网情况下,当UE还未完成UE认证过程,则若网络恢复后UE要访问应用服务器则需要重新开始认证过程;当UE已经完成认证过程,若恢复网络用时未到达K0生命周期,则网络恢复后UE可以继续使用该K0进行后续操作,否则需要重新认证。在UE用户访问RP应用服务器后,若遭遇用户主动关闭注销UE或断电等特殊情况,则用户需要重新完成在IMS内的注册等整个执行流程。
实施例4
图7是根据本发明实施例的运营商作为OpenID Provider利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证整体架构图,图5是根据实施例4的运营商作为OpenID Provider利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证流程图,该实施例以图7所示架构为基础,结合图5描述了单点登录方法的流程,详述如下:
步骤1:UE终端向RP发出一个认证请求,该请求中携带用户的OpenID标识符信息。
步骤2:RP对OpenID标识符进行标准化,同时根据该标识符RP获得OpenID Provider地址以及发现OP终点URL,UE终端期望使用该URL完成认证,RP和OP之间通过关联过程,利用Diffie-Hellman密钥交换协议建立一个共享密钥Kr,o;RP重定向该用户OpenID认证请求和发送RP认证请求到OP地址。同时在该消息中包含共享密钥Kr,o加密的RP身份信息,即Ekr,o(RP_credential)。
步骤3:OpenID认证请求被重定向到OpenID身份提供者OP的地址。该步骤后,OP建立用户身份标识与OpenID标识符信息之间的关联。
步骤4:OP依据RP身份标识信息(RP_credential)对RP进行认证,保存对RP的认证结果RP_Auth;同时依据传递来的用户OpenID标识符信息OpenID identifier判断OP中是否存在与其对应的UE与OP共享密钥K0。若存在该共享密钥则直接跳转到步骤11进行执行,否则继续执行下步步骤。该步骤后OP建立了OpenID identifier和用户身份标识符之间的相互关系。
步骤5:OP依据上步骤与OpenID identifier相关联的用户身份标识符(U_credential)到HSS中查找并下载对应的SIP Digest Authentication Vector(SD-AV)和用户配置信息内容。其中包括U_credential、realm、qop、algorithm和H(A1),其中H(A1)是由U_credential,realm和password组成的一个哈希函数值。在多HSS环境下,OP可以通过询问SLF获得对应的储存用户信息的HSS地址,找到该对应的HSS。
步骤6:OP产生一个随机数nonce,并且把从HSS下载的H(A1)与该nonce一起存储起来。
步骤7:OP向UE发送一个401未认证挑战消息,该信息中包含U_credential、realm、qop、algorithm和nonce。
步骤8:产生一个随机数cnonce。利用U_credential,realm和password产生H(A1);再利用H(A1)、cnonce等产生UE和OP共享密钥K0。通过一个单向哈希函数F计算response值。response=F(H(A1),cnonce,nonce,qop,nonce-count)。终端用cnonce进行网络认证和避免”chosenplaintext”攻击。nonce-count是计数器,用户每使用同一个nonce计算一次response,nonce-count将增加,利用nonce-count也参与response计算,降低重放攻击的可能性。
步骤9:UE对步骤7中的挑战信息向OP发送一个响应response,该响应信息中包含cnonce、nonce、response、realm、U_credential、qop、algorithm、Digest-url和nonce-count。
步骤10:利用储存的nonce值对响应消息中的nonce值进行检验,若检验正确,则OP利用收到的有关参数cnonce、nonce-count、qop等和原储存的nonce及H(A1)计算Xresponse,将计算的Xresponse与收到的response值进行比较,若两者比较结果相同则认证用户通过,否则UE用户终端认证失败;OP依据对终端的认证结果产生对UE的认证断言信息UE_Assert;用H(A1)、cnonce等产生UE和OP共享密钥K0。
步骤11:OP再产生一个随机数nonce1;然后利用K0、nonce1等产生密钥K1;共享密钥K0对nonce1进行加密操作产生K0(nonce1);用RP和OP共享密钥加密K1和UE_Assert产生Kr,o(K1,UE_Assert)。
步骤12:OP向UE终端发送200OK信息,包含K0(nonce1);同时OP重定向UE终端到RP,该消息携带Kr,o(K1,UE_Assert)。
步骤13:UE终端解密K0(nonce1),取得nonce1值;同时利用K0、nonce1等产生密钥K1。
步骤14:OP发出的重定向消息被重定向到RP,该消息中携带Kr,o(K1,UE_Assert)。
步骤15:RP收到该消息后,利用共享密钥解密Kr,o(K1,UE_Assert),RP获得OP对UE终端的断言结果UE_Assert和密钥K1。
步骤16:RP核实UE_Assert断言之后,RP产生UE的授权信息UE_Author;并且用密钥K1对该授权信息进行加密产生K1(UE_Author)。
步骤17:RP向UE通知授权信息内容,携带信息K1(UE_Author)。
步骤18:UE利用密钥K1是否能解密K1(UE_Author)来满足其是否可以获得请求服务。
其中步骤16、17和18为具体应用层步骤,为可选步骤。
上述步骤中1-15中任一步骤失败,则整个认证过程停止继续。
若该IMS终端UE获得到请求服务后,再请求别的应用服务器时,在该IMS终端用户UE认证请求中携带用户OpenID标识符信息OpenID identifier时,OP通过该用户OpenID标识符信息OpenID identifier查找对应的K0密钥,获知该用户是否已经认证通过,若存在该K0密钥则用户不需要在进行SIP Digest认证,只需要进行10步骤后操作;否则需要执行整个认证过程;当K0密钥生命周期到期,则其自动销毁,认证用户需要再次进行SIP Digest认证产生UE和OP共享密钥。
在UE用户访问RP应用服务器中,若遭遇意外断网情况下,当UE还未完成UE认证过程,则若网络恢复后UE要访问应用服务器则需要重新开始认证过程;当UE已经完成认证过程,若恢复网络用时未到达K0生命周期,则网络恢复后UE可以继续使用该K0进行后续操作,否则需要重新认证。在UE用户访问RP应用服务器后,若遭遇用户主动关闭注销UE或断电等特殊情况,则用户需要重新完成在IMS内的注册等整个执行流程。
图8是根据本发明实施例的另一单点登录方法的流程图,如图8所示,该方法包括:
步骤S802,终端向RP发送服务请求;
步骤S804,RP将自身的认证请求通过终端重定向到认证中心,或者,RP向终端返回用于指示终端向认证中心进行认证的响应;
步骤S806,终端向认证中心发送终端的认证请求;
步骤S808,认证中心使用会话初始协议摘要认证SIP Digest方式对终端进行认证,将认证结果通过终端重定向到RP;
步骤S810,RP根据认证结果为终端提供服务。
该方法中,终端不向RP发送自身的身份标识信息,RP不会获得UE的身份标识信息,也不会对终端进行认证,而是采用一定的触发机制来令终端向认证中心发起对终端的认证请求。其中,可以通过两种机制来触发,一是RP返回用于指示终端到认证中心进行认证的响应;另外一种借助了通过中间网元将指令重定向到目的网元的过程中,中间网元在按照指示将指令重定向到该目的网元之后,紧接着会将自身产生的信息或指令也发送到目的网元这一重定向处理机制,也就是说,RP将自身的认证请求通过终端重定向到认证中心,这样,终端后续会借助重定向流程将自身的认证请求发送到认证中心。这种方式使得RP无法获得终端的身份标识信息,终端直接向可信任的认证中心进行认证,防止将用户身份信息泄露给RP,从而提高了安全性。
需要说明的是,在认证中心为IdP的情况下,以上的服务请求可以为HTTP服务请求,以上的响应可以是401未授权的HTTPS响应。
在RP向终端返回用于指示终端向认证中心进行认证的响应的情况下,RP向终端返回的响应通过携带认证头来指示终端向认证中心进行认证。
在RP将自身的认证请求通过终端重定向到认证中心的情况下,在终端向认证中心发送终端的认证请求之前,终端按照RP的指示,将RP的认证请求重定向到认证中心。
相关技术中,由于认证中心对UE终端只进行单向认证,并且服务器可能存在未认证攻击情况,因此,可能存在由于服务器非法导致安全性较差的问题。因此,可以采用以下的处理方式:
(1)在RP向终端返回用于指示终端向认证中心进行认证的响应的情况下,RP向终端返回的响应中携带RP身份标识,终端向认证中心发送的认证请求中携带终端身份标识和RP身份标识;
(2)在RP将自身的认证请求通过终端重定向到认证中心的情况下,RP在用于将自身的认证请求重定向到认证中心的重定向消息中携带RP身份标识,终端向认证中心发送的终端的认证请求中携带终端身份标识。
通过以上的方式使得认证中心获得了RP身份标识之后,认证中心就可以根据RP身份标识对RP进行认证并保存认证结果。
优选地,在认证中心使用SIP Digest方式对UE进行认证之前,认证中心可以判断是否存在与UE之间的第一共享密钥K0,若不存在,则继续后续处理,若存在,则跳过认证中心使用SIP Digest方式对UE进行认证的步骤,直接将认证结果重定向到RP。通过以上的判断步骤,认证中心可以对已认证过的UE直接返回认证结果给RP,提高了处理的速度。
在具体实施中,认证中心使用SIP Digest方式对UE进行认证的过程可以采用以下的处理方式:认证中心根据对应于该终端的SIP Digest认证向量(SD-AV),对终端进行认证。该(SD-AV)可以由认证中心根据用户身份标识从HSS获取并存储,其中,SD-AV至少包括以下内容:用户身份标识、认证算法(algorithm)、质量保障、作用域(realm)以及一个哈希值H(A1),其中,H(A1)由用户身份标识、realm和口令(password)组成。
优选地,基于以上的参数,认证中心使用SIP Digest方式对终端进行认证的过程可以包括:认证中心产生随机数nonce,将携带algorithm、nonce以及realm等的消息发送至UE;UE产生随机数cnonce,根据nonce、cnonce和由realm、用户身份标识和用户输入的password产生的H(A1)等利用algorithm生成响应值response,向认证中心返回响应消息,其中,响应消息携带cnonce、nonce、realm、response和algorithm;认证中心采用algorithm根据存储的H(A1)、存储的nonce、接收到的cnonce计算校验响应值Xresponse,将接收到的response和Xresponse进行比较,若相同则认证成功,否则认证失败。利用SIP Digest认证机制,运营商通过提供IdP统一认证中心对用户和访问的应用服务器两者进行统一的双向认证,能够很好的实现场景3中的SSO功能。
优选地,response的计算依据还可以包括:UE计算response时使用同一个nonce的使用次数。利用nonce-count也参与response计算,能够降低重放攻击的可能性
通过以上的过程,在认证中心产生随机数nonce,将携带algorithm、nonce和realm的消息发送至终端之后,UE就可以根据H(A1)和cnonce利用认证算法计算K0;在认证中心使用SIP Digest方式对UE进行认证之后,认证中心可以根据认证算法计算K0并存储。通过以上的方法,认证中心和UE可以根据认证过程交互的参数生成两者之间的共享密钥K0,认证中心可以根据是否存储有该共享密钥来判断是否已对该UE进行过认证。
在认证中心对UE认证成功之后,为了保证UE和RP之间的通信安全,可以采用以下的处理方式:在认证中心为IdP,且认证中心认证成功的情况下,认证中心生成随机数nonce1,根据nonce1和认证中心与终端之间的第一共享密钥K0生成第二密钥K1;认证中心采用K0加密nonce1和对RP的认证结果RP_Auth,得到K0(nonce1,RP_Auth),采用和RP之间的共享密钥Kr,i加密K1和对终端的认证结果UE_Auth,得到Kr,i(K1,UE_Auth);认证中心向终端发送携带K0(nonce1,RP_Auth)的200OK信息并将Kr,i(K1,UE_Auth)重定向到RP,或者,终端在认证中心将终端重定向到RP的重定向消息中获得K0(nonce1,RP_Auth)和Kr,i(K1,UE_Auth)之后将Kr,i(K1,UE_Auth)重定向到RP;终端解密K0(nonce1,RP_Auth),得到对RP的认证结果,生成第二密钥K1;并且,RP解密Kr,i(K1,UE_Auth),采用K1加密服务内容发送至终端;终端采用K1进行解密获得服务内容。
以上的方法中,认证中心和UE之间、认证中心和RP之间的交互信息均采用各自对应的共享密钥进行加密,保证了认证中心和UE以及认证中心和RP之间的信息交互安全;另外,对于UE的一次认证请求,产生一个K1,以便UE和RP之间利用K1对交互的服务内容进行加密,防止非法截获用户数据,进一步地提高了安全性。
需要说明的是,以上的方法采用SIP Digest机制,不仅适用于非UICC的终端的认证,也可以适用于UICC终端的认证,并且,无需配置大量的GBA,降低了网络运营商部署GBA和嵌入UICC卡的成本。
本实施例还提供了一种单点登录***,图2是根据本发明实施例的单点登录***的结构框图,该***包括:UE 22,用于向RP 24发送服务请求,以及用于在接收到RP 24返回的用于指示UE 22向认证中心26进行认证的响应或者在RP 24指示将RP 24的认证请求通过UE 22重定向到认证中心26的情况下向认证中心26发送UE 22的认证请求;RP 24,用于向UE 22返回用于指示UE 22向认证中心26进行认证的响应或者指示将RP 24的认证请求通过UE 22重定向到认证中心26,以及用于根据认证中心26的认证结果为UE 22提供服务;认证中心26,用于使用SIP Digest方式对UE 22进行认证,将认证结果通过终端重定向到RP 24。
优选地,认证中心26还用于根据RP身份标识对RP 24进行认证并保存认证结果。
优选地,认证中心26还可以用于产生安全通信密钥,并将安全通信密钥通过UE 22重定向到RP 24;RP 24还用于采用安全通信密钥加密服务内容并发送至UE 22;UE 22还用于产生安全通信密钥,采用安全通信密钥进行解密获得服务内容。
以下描述的实施例5-6,综合了上述多个优选实施例的技术方案。
实施例5
本实施例提供了一种基于SIP Digest认证机制在统一IMS网络中实现对应用服务器的SSO功能的方法。在该方法中,对UE终端和AS服务器两者进行了双向认证的机制;能够满足IMS网络中非UICC卡的UE终端对其应用服务器实现SSO功能;与OpenID/AKA相比,具有更好的通用性和安全性,保证了UE用户终端和AS服务器两者的安全。该方法主要包括以下步骤:
步骤1,UE终端用户请求访问应用服务器RP时,RP本身不存储UE的任何身份信息,RP不能对UE进行认证,RP返回给UE一个未授权响应信息,该信息中包含要求对终端用户身份进行认证的认证头,或者RP重定向RP认证请求到认证中心;同时为了UE用户终端的安全,RP应用服务器也要到IdP认证中心去认证。RP和IdP两者之间事先已协商共享密钥。
步骤2,IdP对RP身份进行认证,存储认证结果。
步骤3,IdP查找自身是否包含请求该UE用户终端信息对应的唯一共享密钥K0,若存在该对应共享密钥K0,说明UE终端已经认证通过,则不需再进行SIP Digest认证过程直接利用该共享密钥K0和IdP新产生的nonce随机数产生一个会话密钥K1,再利用密钥K0和K1实现后续的RP认证和UE证实过程。若用户K0不存在,则依据传递的用户标识符去HSS上下载该用户相关的认证向量和用户信息。然后利用这些参数,使用SIP Digest认证方式实现对UE终端的认证过程。认证UE终端后,再利用H(A1)、cnonce等产生的共享密钥K0和IdP新产生的nonce1随机数产生一个会话密钥K1,然后利用密钥K0和K1实现后续的RP认证和UE证实过程。
对于非UICC卡的IMS终端在未部署GBA的网络架构中的单点登录的处理,以下将在实施例6中结合图1、2和6进行详细的描述,需要说明的是,附图中为整体架构图和流程图,UE为IMS非UICC卡终端,RP对应于IMS终端要访问的应用服务器,IdP对应网络运营商提供的SSO子***。为了使流程更加简洁明了,对流程没有影响的一些网络的具体网元接口没有画出以及支持的协议没有说明,例如UE与RP接口具备的功能,UE与IdP接口具备的功能,HSS与IdP接口具备的功能,以及支持的有关协议等均未示出;HSS与IdP之间接口参考点能够实现Diameter协议,可以重用IMS核心网内的Cx接口,UE和IdP均要支持SIP Digest认证机制等条件也未在图中标明;为简洁起见,在图中没有画出这些具体接口参考点。RP和IdP实现共享密钥的协商机制利用现有机制可以顺利实现,IdP对RP的认证,现在也已有成熟机制成功实现,这里不再累述。
实施例6
图6是根据本发明实施例的运营商提供的IdP利用SIP Digest认证机制实现非UICC卡的IMS终端对应用服务器的单点登录认证整体架构图,图9是根据实施例6的非UICC卡的IMS终端利用SIP Digest认证机制实现对应用服务器的单点登录认证流程图,该实施例以图6所示架构为基础,结合图9描述了单点登录方法的流程,详述如下:
步骤1:UE终端向应用服务器RP发送一个HTTP服务请求。
步骤2:应用服务器RP向UE终端回应一个401未授权的HTTPS响应,要求UE终端去认证中心进行身份认证;同时在该响应中包含RP身份信息;或者应用服务器RP重定向RP认证请求到认证中心,该消息中携带RP身份信息。在应用服务器RP内不包含任何UE终端有关的身份认证信息,RP不对UE进行认证;在RP内不包含密钥K1。应用服务器RP与网络运营商的认证中心IdP(SSO)之间利用现有机制事先已建立了一个共享密钥(Kr,i)。
步骤3:UE终端向认证中心IdP发送HTTP请求消息,请求IdP对UE终端进行身份认证。
步骤4:IdP依据RP身份标识信息(RP_credential)对RP进行认证,保存对RP的认证结果RP_Auth;同时依据传递来的用户身份标识(U_credential)判断IdP中是否存在与其对应的UE与IdP共享密钥K0。若存在该共享密钥则直接跳转到步骤11进行执行,否则继续执行下步步骤。
步骤5:IdP依据上步骤收到的用户身份标识(U_credential)到HSS中查找并下载对应的SIPDigest Authentication Vector(SD-AV)和用户配置信息内容。其中包括U_credential、realm、qop、algorithm和H(A1),其中H(A1)是由U_credential,realm和password组成的一个哈希函数值。在多HSS环境下,IdP可以通过询问SLF获得对应的储存用户信息的HSS地址,找到该对应的HSS。
步骤6:IdP产生一个随机数nonce,并且把从HSS下载的H(A1)与该nonce一起存储起来。
步骤7:IdP向UE发送一个401未认证挑战消息,该信息中包含U_credential、realm、qop、algorithm和nonce。
步骤8:产生随机数cnonce。利用U_credential,realm和password产生H(A1);再利用H(A1)、cnonce等产生UE和IdP共享密钥K0。通过一个单向哈希函数F计算response值。response=F(H(A),cnonce,nonce,qop,nonce-count)。终端用cnonce进行网络认证和避免”chosenplaintext”攻击。nonce-count是计数器,用户每使用同一个nonce计算一次response,nonce-count将增加,利用nonce-count也参与response计算,降低重放攻击的可能性。
步骤9:UE对步骤7中的挑战信息向IdP发送一个响应response,该响应信息中包含cnonce、nonce、response、realm、U_credential、qop、algorithm、Digest-url和nonce-count。
步骤10:利用储存的nonce值对响应消息中的nonce值进行检验,若检验正确,则IdP利用收到的有关参数cnonce、nonce-count、qop等和原储存的nonce及H(A1)计算Xresponse,将计算的Xresponse与收到的response值进行比较,若两者比较结果相同则认证用户通过,否则UE用户终端认证失败,IdP产生UE的认证结果信息UE_Auth;用H(A1)、cnonce等产生UE和IdP共享密钥K0。
步骤11:IdP再产生一个随机数nonce1;然后利用K0、nonce1等产生密钥K1;共享密钥K0对nonce1和RP_Auth进行加密操作产生K0(nonce1,RP_Auth);用RP和IdP共享密钥Kr,i加密K1和UE_Auth产生Kr,i(K1,UE_Auth)。
步骤12:IdP向UE终端发送200OK信息,包含K0(nonce1,RP_Auth)信息,向UE终端表明认证成功,同时IdP重定向UE终端到RP,该消息携带Kr,i(K1,UE_Auth)。
步骤13:UE终端解密K0(nonce1,RP_Auth),取得nonce1值和RP认证结果,获得RP应用服务器的合法性。若为合法应用服务器则顺序执行下步,否则直接给UE终端返回一个服务器非法的通知信息;同时利用K0、nonce1等产生密钥K1。
步骤14:IdP发出的重定向消息被重定向到RP,该消息中携带Kr,i(K1,UE_Auth)。
步骤15:RP收到该消息后,利用共享密钥解密Kr,i(K1,UE_Auth),RP获得IdP对UE终端的认证结果信息和密钥K1。
步骤16:RP依据UE_Auth判断是否为该UE提供授权服务内容UE_Author;并且用密钥K1对该授权信息进行加密产生K1(UE_Author)。
步骤17:RP向UE通知授权信息内容。
步骤18:UE利用密钥K1是否能解密K1(UE_Author)来满足其是否可以获得请求服务。
其中步骤16、17和18为具体应用层步骤,为可选步骤。
上述步骤中1-15中任一步骤失败,则整个认证过程停止继续。
若该IMS终端UE获得到请求服务后,再请求别的应用服务器时,在该IMS终端用户UE认证请求中携带用户身份标识(U_credential)信息时,IdP通过查找该用户身份标识(U_credential)信息对应的K0密钥,获知该用户是否已经认证通过,若存在该K0密钥则用户不需要在进行SIP Digest认证,只需要进行10步骤后操作;否则需要执行整个认证过程。当K0密钥生命周期到期,则其自动销毁,认证用户需要再次进行SIP Digest认证产生UE和IdP共享密钥。
综上所述,本发明实施例提供的方案能够支持对不具有UICC的终端单点登录RP的认证,由于该方法不需要部署大量的GBA,且能够满足非UICC终端接入IMS网络,因此降低了网络运营商部署GBA和嵌入UICC卡的成本,降低维护各种设备的消耗,并且可以通过SSO的方式访问IMS网络相关的应用服务。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (28)
1.一种单点登录方法,其特征在于,包括:
终端向应用服务器RP发送携带有用户身份标识的认证请求,所述RP将所述认证请求重定向到认证中心;
所述认证中心使用会话初始协议摘要认证SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;
所述RP根据所述认证结果为所述终端提供服务;
其中,所述认证中心使用SIP Digest方式对所述终端进行认证包括:所述认证中心产生随机数nonce,将携带认证算法algorithm、所述nonce和作用域realm的消息发送至所述终端;所述终端产生随机数cnonce,根据所述nonce、所述cnonce和由所述realm、所述用户身份标识和输入的口令password产生的哈希值H(A1),通过所述algorithm生成响应值response,向所述认证中心返回响应消息,其中,所述响应消息携带所述cnonce、所述nonce、所述realm、所述response和所述algorithm;所述认证中心采用所述algorithm根据存储的H(A1)、所述存储的nonce和接收到的所述cnonce计算校验响应值Xresponse,将接收到的所述response和所述Xresponse进行比较,若相同则认证成功,否则认证失败;
其中,在所述认证中心产生随机数nonce,将携带所述algorithm、所述nonce和所述realm的消息发送至所述终端之后,还包括:所述终端根据所述产生的H(A1)和所述cnonce计算所述认证中心与所述终端之间的第一共享密钥K0;在所述认证中心使用SIP Digest方式对所述终端进行认证之后,还包括:所述认证中心根据所述存储的H(A1)和所述cnonce计算所述K0并存储。
2.根据权利要求1所述的方法,其特征在于,在所述认证中心使用SIP Digest方式对所述终端进行认证之前,还包括:
所述认证中心判断是否存在与所述终端之间的所述第一共享密钥K0,若不存在,则继续后续处理,若存在,则跳过所述认证中心使用SIP Digest方式对所述终端进行认证的步骤,直接将认证结果重定向到所述RP。
3.根据权利要求1所述的方法,其特征在于,还包括:
所述RP将RP认证请求重定向到所述认证中心,其中,所述RP认证请求携带RP身份标识RP_credential或携带采用所述RP和所述认证中心之间的共享密钥Kr,i加密后的RP身份标识Ekr,i(RP_credential);
所述认证中心根据所述RP身份标识对所述RP进行认证并保存认证结果。
4.根据权利要求1所述的方法,其特征在于,所述认证中心使用SIP Digest方式对所述终端进行认证包括:
所述认证中心根据对应于所述终端的SIP Digest认证向量,对所述终端进行认证。
5.根据权利要求4所述的方法,其特征在于,所述认证中心根据所述用户身份标识从归属用户寄存器HSS获取对应于所述终端的所述SIP Digest认证向量并存储。
6.根据权利要求4所述的方法,其特征在于,所述SIP Digest认证向量至少包括以下内容:用户身份标识、认证算法algorithm、质量保障、作用域realm、一个哈希值H(A1),其中,H(A1)由所述用户身份标识、所述realm和口令password组成。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述用户身份标识为开放式身份标识OpenID,所述认证中心为OpenID提供者OP;或者,所述用户身份标识为输入到所述终端的身份标识或所述终端注册到因特网协议多媒体子***IMS时获得的身份标识,所述认证中心为单点登录认证中心IdP。
8.根据权利要求7所述的方法,其特征在于,在所述用户身份标识为输入到所述终端的身份标识或所述终端注册到IMS时获得的身份标识,所述认证中心为所述IdP,且所述认证中心认证成功的情况下,还包括:
所述认证中心生成随机数nonce1,根据所述nonce1和所述认证中心与所述终端之间的第一共享密钥K0生成第二密钥K1;
所述认证中心采用所述K0加密所述nonce1和对所述RP的认证结果RP_Auth,得到K0(nonce1,RP_Auth),采用和所述RP之间的共享密钥Kr,i加密所述K1和对所述终端的认证结果UE_Auth,得到Kr,i(K1,UE_Auth);
所述终端在所述认证中心将所述终端重定向到所述RP的重定向消息中获得所述K0(nonce1,RP_Auth)和Kr,i(K1,UE_Auth)之后将Kr,i(K1,UE_Auth)重定向到所述RP;
所述终端解密所述K0(nonce1,RP_Auth),得到对所述RP的认证结果,生成第二密钥K1;并且,所述RP解密所述Kr,i(K1,UE_Auth),采用所述K1加密服务内容发送至所述终端;
所述终端采用K1进行解密获得所述服务内容。
9.根据权利要求7所述的方法,其特征在于,在所述用户身份标识为OpenID,所述认证中心为OP,且所述认证中心认证成功的情况下,还包括:
所述认证中心生成随机数nonce1,根据所述nonce1和所述认证中心与所述终端之间的第一共享密钥K0生成第二密钥K1;
所述认证中心采用所述K0加密所述nonce1和对所述RP的认证断言RP_Assert,得到K0(nonce1,RP_Assert),采用和所述RP之间的共享密钥Kr,o加密所述K1和对所述终端的认证断言UE_Assert,得到Kr,o(K1,UE_Assert);
所述认证中心向所述终端发送携带K0(nonce1,RP_Auth)的200OK信息并将Kr,o(K1,UE_Auth)重定向到所述RP,或者,所述终端在所述认证中心将所述终端重定向到所述RP的重定向消息中获得所述K0(nonce1,RP_Assert)和Kr,o(K1,UE_Assert)之后将Kr,o(K1,UE_Assert)重定向到所述RP;
所述终端解密所述K0(nonce1,RP_Assert),得到对所述RP的认证断言,生成第二密钥K1;并且,所述RP解密所述Kr,o(K1,UE_Assert),采用所述K1加密服务内容发送至所述终端;
所述终端采用K1进行解密获得所述服务内容。
10.根据权利要求7所述的方法,其特征在于,在所述用户身份标识为OpenID,所述认证中心为OP,且所述认证中心认证成功的情况下,还包括:
所述认证中心生成随机数nonce1,根据所述nonce1和所述认证中心与所述终端之间的第一共享密钥K0生成第二密钥K1;
所述认证中心采用所述K0加密所述nonce1,得到K0(nonce1),采用和所述RP之间的共享密钥Kr,o加密所述K1和对所述终端的认证断言UE_Assert,得到Kr,o(K1,UE_Assert);
所述认证中心向所述终端发送携带K0(nonce1)的200OK信息并将Kr,o(K1,UE_Auth)重定向到所述RP,或者,所述终端在所述认证中心将所述终端重定向到所述RP的重定向消息中获得所述K0(nonce1)和Kr,o(K1,UE_Assert)之后将Kr,o(K1,UE_Assert)重定向到所述RP;
所述终端解密所述K0(nonce1),得到nonce1并生成第二密钥K1;并且,所述RP解密所述Kr,o(K1,UE_Assert),采用所述K1加密服务内容发送至所述终端;
所述终端采用K1进行解密获得所述服务内容。
11.一种单点登录方法,其特征在于,包括:
终端向应用服务器RP发送服务请求;
所述RP将自身的认证请求通过所述终端重定向到认证中心,或者,所述RP向所述终端返回用于指示所述终端向认证中心进行认证的响应;
所述终端向所述认证中心发送所述终端的认证请求;
所述认证中心使用会话初始协议摘要认证SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;
所述RP根据所述认证结果为所述终端提供服务;
其中,所述认证中心使用SIP Digest方式对所述终端进行认证包括:所述认证中心产生随机数nonce,将携带认证算法algorithm、所述nonce和作用域realm的消息发送至所述终端;所述终端产生随机数cnonce,根据所述nonce、所述cnonce和由所述realm、用户身份标识和输入的口令password产生的哈希值H(A1),通过所述algorithm生成响应值response,向所述认证中心返回响应消息,其中,所述响应消息携带所述cnonce、所述nonce、所述realm、所述response和所述algorithm;所述认证中心采用所述algorithm根据存储的H(A1)、所述存储的nonce和接收到的所述cnonce计算校验响应值Xresponse,将接收到的所述response和所述Xresponse进行比较,若相同则认证成功,否则认证失败;
其中,在所述认证中心产生随机数nonce,将携带所述algorithm、所述nonce和所述realm的消息发送至所述终端之后,还包括:所述终端根据所述产生的H(A1)和所述cnonce计算所述认证中心与所述终端之间的第一共享密钥K0;在所述认证中心使用SIP Digest方式对所述终端进行认证之后,还包括:所述认证中心根据所述存储的H(A1)和所述cnonce计算所述K0并存储。
12.根据权利要求11所述的方法,其特征在于,在所述认证中心使用SIP Digest方式对所述终端进行认证之前,还包括:
所述认证中心判断是否存在与所述终端之间的所述第一共享密钥K0,若不存在,则继续后续处理,若存在,则跳过所述认证中心使用SIP Digest方式对所述终端进行认证的步骤,直接将认证结果重定向到所述RP。
13.根据权利要求11所述的方法,其特征在于,所述认证中心使用SIP Digest方式对所述终端进行认证包括:
所述认证中心根据对应于所述终端的SIP Digest认证向量,对所述终端进行认证。
14.根据权利要求13所述的方法,其特征在于,所述认证中心根据所述用户身份标识从归属用户寄存器HSS获取对应于所述终端的所述SIP Digest认证向量并存储。
15.根据权利要求13所述的方法,其特征在于,所述SIP Digest认证向量至少包括以下内容:用户身份标识、认证算法algorithm、质量保障、作用域realm、一个哈希值H(A1),其中,H(A1)由所述用户身份标识、所述realm和口令password组成。
16.根据权利要求11所述的方法,其特征在于,在所述RP向所述终端返回用于指示所述终端向认证中心进行认证的响应的情况下,所述RP向所述终端返回的所述响应通过携带认证头来指示所述终端向认证中心进行认证。
17.根据权利要求11所述的方法,其特征在于,在所述RP将自身的认证请求通过所述终端重定向到所述认证中心的情况下,在所述终端向所述认证中心发送所述终端的认证请求之前,还包括:
所述终端按照所述RP的指示,将所述RP的认证请求重定向到所述认证中心。
18.根据权利要求11所述的方法,其特征在于,在所述认证中心为单点登录认证中心IdP的情况下,
在所述RP向所述终端返回用于指示所述终端向认证中心进行认证的响应的情况下,所述RP向所述终端返回的响应中携带RP身份标识,所述终端向所述认证中心发送的认证请求中携带终端身份标识和所述RP身份标识;
在所述RP将自身的认证请求通过所述终端重定向到所述认证中心的情况下,所述RP在用于将自身的认证请求重定向到所述认证中心的重定向消息中携带RP身份标识,所述终端向所述认证中心发送的所述终端的认证请求中携带终端身份标识。
19.根据权利要求11-18中任一项所述的方法,其特征在于,所述方法还包括:
所述认证中心根据RP身份标识对所述RP进行认证并保存认证结果。
20.根据权利要求11-18中任一项所述的方法,其特征在于,在所述认证中心为IdP,且所述认证中心认证成功的情况下,还包括:
所述认证中心生成随机数nonce1,根据所述nonce1和所述认证中心与所述终端之间的第一共享密钥K0生成第二密钥K1;
所述认证中心采用所述K0加密所述nonce1和对所述RP的认证结果RP_Auth,得到K0(nonce1,RP_Auth),采用和所述RP之间的共享密钥Kr,i加密所述K1和对所述终端的认证结果UE_Auth,得到Kr,i(K1,UE_Auth);
所述认证中心向所述终端发送携带K0(nonce1,RP_Auth)的200OK信息并将Kr,i(K1,UE_Auth)重定向到所述RP,或者,所述终端在所述认证中心将所述终端重定向到所述RP的重定向消息中获得所述K0(nonce1,RP_Auth)和Kr,i(K1,UE_Auth)之后将Kr,i(K1,UE_Auth)重定向到所述RP;
所述终端解密所述K0(nonce1,RP_Auth),得到对所述RP的认证结果,生成第二密钥K1;并且,所述RP解密所述Kr,i(K1,UE_Auth),采用所述K1加密服务内容发送至所述终端;
所述终端采用K1进行解密获得所述服务内容。
21.根据权利要求19所述的方法,其特征在于,在所述认证中心为IdP,且所述认证中心认证成功的情况下,还包括:
所述认证中心生成随机数nonce1,根据所述nonce1和所述认证中心与所述终端之间的第一共享密钥K0生成第二密钥K1;
所述认证中心采用所述K0加密所述nonce1和对所述RP的认证结果RP_Auth,得到K0(nonce1,RP_Auth),采用和所述RP之间的共享密钥Kr,i加密所述K1和对所述终端的认证结果UE_Auth,得到Kr,i(K1,UE_Auth);
所述认证中心向所述终端发送携带K0(nonce1,RP_Auth)的200OK信息并将Kr,i(K1,UE_Auth)重定向到所述RP,或者,所述终端在所述认证中心将所述终端重定向到所述RP的重定向消息中获得所述K0(nonce1,RP_Auth)和Kr,i(K1,UE_Auth)之后将Kr,i(K1,UE_Auth)重定向到所述RP;
所述终端解密所述K0(nonce1,RP_Auth),得到对所述RP的认证结果,生成第二密钥K1;并且,所述RP解密所述Kr,i(K1,UE_Auth),采用所述K1加密服务内容发送至所述终端;
所述终端采用K1进行解密获得所述服务内容。
22.一种单点登录***,其特征在于,包括:
终端,用于向应用服务器RP发送携带有用户身份标识的认证请求;
所述RP,用于将所述认证请求重定向到认证中心,以及用于根据所述认证中心的认证结果为所述终端提供服务;
所述认证中心,用于使用会话初始协议摘要认证SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;
其中,所述认证中心使用SIP Digest方式对所述终端进行认证包括:所述认证中心产生随机数nonce,将携带认证算法algorithm、所述nonce和作用域realm的消息发送至所述终端;所述终端产生随机数cnonce,根据所述nonce、所述cnonce和由所述realm、所述用户身份标识和输入的口令password产生的哈希值H(A1),通过所述algorithm生成响应值response,向所述认证中心返回响应消息,其中,所述响应消息携带所述cnonce、所述nonce、所述realm、所述response和所述algorithm;所述认证中心采用所述algorithm根据存储的H(A1)、所述存储的nonce和接收到的所述cnonce计算校验响应值Xresponse,将接收到的所述response和所述Xresponse进行比较,若相同则认证成功,否则认证失败;
其中,在所述认证中心产生随机数nonce,将携带所述algorithm、所述nonce和所述realm的消息发送至所述终端之后,还包括:所述终端根据所述产生的H(A1)和所述cnonce计算所述认证中心与所述终端之间的第一共享密钥K0;在所述认证中心使用SIP Digest方式对所述终端进行认证之后,还包括:所述认证中心根据所述存储的H(A1)和所述cnonce计算所述K0并存储。
23.根据权利要求22所述的***,其特征在于,所述认证中心还用于根据RP身份标识对所述RP进行认证并保存认证结果。
24.根据权利要求22所述的***,其特征在于,在所述用户身份标识为开放式身份标识OpenID的情况下,所述认证中心为OpenID提供者OP;在所述用户身份标识为输入到所述终端的身份标识或所述终端注册到因特网协议多媒体子***IMS时获得的身份标识的情况下,所述认证中心为单点登录认证中心IdP。
25.根据权利要求22所述的***,其特征在于,所述认证中心还用于产生安全通信密钥,并将所述安全通信密钥通过所述终端重定向到所述RP;所述RP还用于采用所述安全通信密钥加密服务内容并发送至所述终端;所述终端还用于产生所述安全通信密钥,采用所述安全通信密钥进行解密获得所述服务内容。
26.一种单点登录***,其特征在于,包括:
终端,用于向应用服务器RP发送服务请求,以及用于在接收到所述RP返回的用于指示所述终端向认证中心进行认证的响应或者在所述RP指示将所述RP的认证请求通过所述终端重定向到所述认证中心的情况下向所述认证中心发送所述终端的认证请求;
所述RP,用于向所述终端返回用于指示所述终端向所述认证中心进行认证的响应或者指示将所述RP的认证请求通过所述终端重定向到所述认证中心,以及用于根据所述认证中心的认证结果为所述终端提供服务;
所述认证中心,用于使用会话初始协议摘要认证SIP Digest方式对所述终端进行认证,将认证结果通过所述终端重定向到所述RP;
其中,所述认证中心使用SIP Digest方式对所述终端进行认证包括:所述认证中心产生随机数nonce,将携带认证算法algorithm、所述nonce和作用域realm的消息发送至所述终端;所述终端产生随机数cnonce,根据所述nonce、所述cnonce和由所述realm、用户身份标识和输入的口令password产生的哈希值H(A1),通过所述algorithm生成响应值response,向所述认证中心返回响应消息,其中,所述响应消息携带所述cnonce、所述nonce、所述realm、所述response和所述algorithm;所述认证中心采用所述algorithm根据存储的H(A1)、所述存储的nonce和接收到的所述cnonce计算校验响应值Xresponse,将接收到的所述response和所述Xresponse进行比较,若相同则认证成功,否则认证失败;
其中,在所述认证中心产生随机数nonce,将携带所述algorithm、所述nonce和所述realm的消息发送至所述终端之后,还包括:所述终端根据所述产生的H(A1)和所述cnonce计算所述认证中心与所述终端之间的第一共享密钥K0;在所述认证中心使用SIP Digest方式对所述终端进行认证之后,还包括:所述认证中心根据所述存储的H(A1)和所述cnonce计算所述K0并存储。
27.根据权利要求26所述的***,其特征在于,所述认证中心还用于根据RP身份标识对所述RP进行认证并保存认证结果。
28.根据权利要求26所述的***,其特征在于,所述认证中心还用于产生安全通信密钥,并将所述安全通信密钥通过所述终端重定向到所述RP;所述RP还用于采用所述安全通信密钥加密服务内容并发送至所述终端;所述终端还用于产生所述安全通信密钥,采用所述安全通信密钥进行解密获得所述服务内容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110076415.3A CN102469102B (zh) | 2010-11-04 | 2011-03-29 | 单点登录方法及*** |
PCT/CN2012/070948 WO2012129985A1 (zh) | 2011-03-29 | 2012-02-08 | 单点登录方法及*** |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010532908 | 2010-11-04 | ||
CN2010105329089 | 2010-11-04 | ||
CN201010532908.9 | 2010-11-04 | ||
CN201110076415.3A CN102469102B (zh) | 2010-11-04 | 2011-03-29 | 单点登录方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102469102A CN102469102A (zh) | 2012-05-23 |
CN102469102B true CN102469102B (zh) | 2016-11-30 |
Family
ID=
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004355073A (ja) * | 2003-05-27 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク認証とシングルサインオンの一括認証方法及びシステム |
CN1859093A (zh) * | 2005-04-30 | 2006-11-08 | 华为技术有限公司 | 在ip多媒体子***中认证用户终端的方法 |
US7174383B1 (en) * | 2001-08-31 | 2007-02-06 | Oracle International Corp. | Method and apparatus to facilitate single sign-on services in a hosting environment |
CN101552673A (zh) * | 2009-04-30 | 2009-10-07 | 用友软件股份有限公司 | 使用OpenID账号登录单点登录***的方法 |
CN101656608A (zh) * | 2008-08-21 | 2010-02-24 | 北京亿企通信息技术有限公司 | 一种在即时通信工具中单点登录Web端的方法及*** |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174383B1 (en) * | 2001-08-31 | 2007-02-06 | Oracle International Corp. | Method and apparatus to facilitate single sign-on services in a hosting environment |
JP2004355073A (ja) * | 2003-05-27 | 2004-12-16 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク認証とシングルサインオンの一括認証方法及びシステム |
CN1859093A (zh) * | 2005-04-30 | 2006-11-08 | 华为技术有限公司 | 在ip多媒体子***中认证用户终端的方法 |
CN101656608A (zh) * | 2008-08-21 | 2010-02-24 | 北京亿企通信息技术有限公司 | 一种在即时通信工具中单点登录Web端的方法及*** |
CN101552673A (zh) * | 2009-04-30 | 2009-10-07 | 用友软件股份有限公司 | 使用OpenID账号登录单点登录***的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9015819B2 (en) | Method and system for single sign-on | |
US10411884B2 (en) | Secure bootstrapping architecture method based on password-based digest authentication | |
US9338164B1 (en) | Two-way authentication using two-dimensional codes | |
CN104980434B (zh) | 基于ims的多媒体广播和多播服务中的安全密钥管理方法 | |
US9979725B1 (en) | Two-way authentication using two-dimensional codes | |
RU2541172C2 (ru) | Система, способ и устройство аутентификации | |
WO2006134441A1 (en) | Apparatus, method and computer program product providing mobile node identities in conjunction with authentication preferences in generic bootstrapping architecture (gba) | |
CN1716953B (zh) | 会话初始协议认证的方法 | |
CN104869102A (zh) | 基于xAuth协议的授权方法、装置和*** | |
CN109121135A (zh) | 基于gba的客户端注册和密钥共享方法、装置及*** | |
US20240137221A1 (en) | Implementation of one-touch login service | |
CN110225017A (zh) | 基于联盟区块链的身份验证方法、设备及存储介质 | |
CN109120408A (zh) | 用于认证用户身份的方法、装置和*** | |
EP1639782B1 (en) | Method for distributing passwords | |
CN102869010A (zh) | 单点登录方法及*** | |
CN102694779B (zh) | 组合认证***及认证方法 | |
CN103067345A (zh) | 一种变异gba的引导方法及*** | |
CN102065421A (zh) | 一种更新密钥的方法、装置和*** | |
CN102638440A (zh) | 在ims网络中实现单点登录的方法和*** | |
CN102469102B (zh) | 单点登录方法及*** | |
CN101990771B (zh) | 服务报告 | |
US9686280B2 (en) | User consent for generic bootstrapping architecture | |
CN103916372A (zh) | 一种第三方登录信息托管方法和*** | |
US8769280B2 (en) | Authentication apparatus and method for non-real-time IPTV system | |
MX2007015841A (es) | Aparato, metodo y producto de programa de computadora que proporciona identidades de nodo movil en conjunto con preferencias de autenticacion en arquitectura de arranque generico. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |