首页> 中国专利> 用于从身份管理系统获得用于应用程序的用户证书的方法、设备和计算机程序产品

用于从身份管理系统获得用于应用程序的用户证书的方法、设备和计算机程序产品

摘要

描述了一种包括IMS网络(104)、适配器模块(106)、身份提供商(108)和应用程序(110)的系统。适配器模块(106)在IMS信任域内。应用程序(110)在身份提供商的信任域内。系统的用户能够经由IMS网络(104),通过利用适配器(106)从身份提供商获得用于应用程序的用户的用户证书来访问应用程序(110),而不管应用程序是否在IMS信任域内。

著录项

  • 公开/公告号CN102150408A

    专利类型发明专利

  • 公开/公告日2011-08-10

    原文格式PDF

  • 申请/专利权人 诺基亚西门子通信公司;

    申请/专利号CN200880131084.5

  • 发明设计人 G·霍恩;W-D·默勒;H·拉贾塞卡兰;

    申请日2008-09-12

  • 分类号H04L29/06(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人王小衡;李家麟

  • 地址 芬兰埃斯波

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-13

    专利权的转移 IPC(主分类):H04L29/06 登记生效日:20151223 变更前: 变更后: 申请日:20080912

    专利申请权、专利权的转移

  • 2014-11-26

    授权

    授权

  • 2014-08-13

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 申请日:20080912

    著录事项变更

  • 2011-09-21

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20080912

    实质审查的生效

  • 2011-08-10

    公开

    公开

说明书

技术领域

本发明涉及身份管理和身份联合。

背景技术

身份可以是在系统内唯一的名称,其被分配给与系统相交互或存在于系统中的实体。此“名称“可以是例如分配给诸如系统的用户或程序的实体的字符串、号码或电子邮件身份。身份的简单示例是在电话网络中分配给个体的电话号码。身份联合涉及使同一用户的不同身份相互关联(例如,应理解的是身份john.doe@email.com与电话号码1234567后面的实体相关联)。

特别地,身份联合此外使得用户能够执行单个登录操作,以便登录到许多单独的应用程序,每个具有单独的登录布置(常常称为“单点登录”)。

用于因特网应用程序的身份联合和单点登录(SSO)的概念是众所周知的,并且许多团体已经解决了该问题。由自由联盟项目?提供了身份联合问题的示例性解决方案(参见http://www.projectliberty.org),Shibboleth (参见http://shibboleth.internet2.edu)和Open I D ?(http://openid.net)。

举例来说,在自由联盟中,服务提供商(SP)和身份提供商(IDP)被组织为信任圈(CoT)。CoT是具有基于自由架构和操作协议的业务关系的服务提供商的联合,并且用户能够在安全且表面无缝的环境中与之做交易。可以通过使两个CoT的各自IDP联合来将其组合在一起;下面参考图1来描述此类组合。

图1示出第一身份提供商2和第二身份提供商4。第一6、第二8、第三10和第四12服务提供商(SP)与第一身份提供商2形成第一信任圈(CoT)14。因此,被服务提供商6、8、10和12中的一个信任的用户将被CoT 14内的其它服务提供商信任。同样地,第五16、第六18、第七20和第八22服务提供商与第二身份提供商4形成第二信任圈24。

可以通过使各身份提供商2和4联合来将两个信任圈14和24组合。这使得被服务提供商6、8、10和12中的一个信任的用户能够也被服务提供商16、18、20和22信任。

下面参考简单的示例来解释自由联盟中的身份联合的过程。

图2是示出用户30、身份提供商(IDP)32、航线应用程序34和旅馆应用程序36的方框图。最初假设用户30想要将预订到伦敦的航班和伦敦的旅馆。为了这样做,用户30希望使用航线应用程序34来预订航班和使用旅馆应用程序36来预订旅馆。假设航线应用程序34和旅馆应用程序36属于同一个信任圈(CoT)并由IDP 32提供服务。

用户30在IDP 32处具有名称为“John_IDP”的帐户、在航线应用程序34处具有名称为“John_Airline”的帐户、并在旅馆应用程序36处具有名称为“John_Hotel”的帐户。每个帐户具有单独的登录布置,包括用户名和口令。

为了进行预订,用户30将想要能够在IDP 32处登录到其帐户并能够在不需要输入单独的登录细节以访问航线应用程序34和旅馆应用程序36的情况下在这两个应用程序处访问其帐户。

允许此类访问的一般程序涉及在IDP 32处使用每个用户帐户联合。存在现有技术中已知的实现这一点的许多方式。下面参考图3来描述一种简单的方法,技术人员将意识到同样适合的许多其它方法。

首先,用户30使用其本地帐户(例如输入其用户名和口令)在IDP 32处登录。IDP 32提供对IDP的信任圈内的服务列表(包括本示例的航线和旅馆应用程序,但是潜在地包括其它应用程序)的访问并为用户30提供在那些服务处(如果其具有任何的话)将其帐户联合的机会。在图3的示例中,IDP 32具体地问用户30其是否想要将其在航线34处的帐户与IDP 32联合。

然后用户30能够选择其想要联合的服务。在图3的示例中,用户指示其确实想要将其在航线应用程序34处的帐户与IDP 32联合。

响应于对将用户的航线帐户联合的请求,IDP 32使用户改向至航线应用程序。作为响应,航线应用程序34让用户对他自己进行认证。作为响应,用户使用其本地帐户细节(这里为John_Airline)登录到航线应用程序。航线应用程序34联系IDP 32并使帐户联合。然后可以对于旅馆应用程序处的用户帐户(John_Hotel)重复此该过程。

在使身份JohnI_DP、John_Airline和John_Hotel联合之后,IDP 32及航线和旅馆应用程序在其各自的用户记录中登记关于通过其在不同的场所知道所述用户30的身份的条目。

为了保护用户的隐私,可以使用不透明代号(handle)。例如,IDP 32存储关于两个联合的应用程序、即航线应用程序34和旅馆应用程序36的信息。IDP可以出于登录目的存储用户别名;例如,可以将“asdWeRtT”的用户别名用于航线应用程序并可以将“fGTZhgfr”的用户别名用于旅馆应用程序。因此,为了登录到旅馆应用程序,IDP安排用户“fGTZhgfr”将被登录;这限制关于为旅馆应用程序36所知的用户的信息量。

图4示出如何能够使用上述布置来实现单点登录(SSO)服务。图4示出用户30、IDP 32和航线应用程序34之间的消息传输。

最初,用户30发送访问航线应用程序34的请求。用户未登录到航线应用程序34,并且因此,航线应用程序使用户改向至IDP 32。(服务通过其发现用户具有关于IDP的账户的方法是实施方式选择;例如,自由联盟出于此目的规定许多不同的选项。)

IDP 32使用IDP帐户对用户进行认证。当这些完成时,IDP检索用于航线应用程序的用户的代号(这里为“asdWeRrT”),并连同认证声明一起使用户改向至航线应用程序,所述认证声明向航线应用程序确认用户得到IDP 32认证。航线应用程序34检查该认证声明并基于由IDP提供的代号来检索航线处的用户的本地帐户并继续在航线应用程序处用用户的本地帐户为用户提供服务。

在用户30现在在IDP 32处登录的情况下,用户在旅馆应用程序36处访问其帐户的任何尝试将导致IDP向旅馆应用程序提供适当的证书,而无需用户提供任何进一步的细节或信息。

上述布置是用于实现SSO功能的许多方案中的一个。IP多媒体子系统(IMS)提供不同的布置。IMS正在被3GPP标准化以在第3代(3G)移动网络中将因特网和蜂窝世界合并以便提供多媒体服务。下面讨论与本发明有关的IMS系统的细节。

每个IMS订户具有两种身份:私有用户身份(IMPI)和公共用户身份(IMPU)。IMS订户可以具有又与多个公共用户身份相连的多个私有用户身份。也可以将单个IMPI连接到两个不同的IMPU。IMPI用于认证目的,而IMPU用来在IMS内部提供的不同服务处识别用户,并且还用于其它用户经由IMS联系该用户。IMPI采取网络访问标识符(NAI)的形式(例如“username@realm”),而IMPU是SIP URI(例如“sip:user@domain”)。

认证过程在用户希望将其IMPU中的一个登记在IMS中时开始。假设用户想要将其IMPU“sip:joe-pda@domain.com”登记在IMS中,以便能够将由尝试使用此SIP URI来联系Joe的任何其它IMS用户发起的通信会话路由到Joe正在使用的当前IMS终端。

如图5所示,Joe通过向IMS发送被代理呼叫会话控制功能(P-CSCF)拦截的登记请求来开始。然后,其被转送到询问呼叫会话控制功能(I-CSCF)。I-CSCF联系归属订户服务器(HSS)以找出该请求必须被路由到的服务呼叫会话控制功能(S-CSCF)。然后该登记请求被I-CSCF转送到S-CSCF。S-CSCF联系HSS以基于IMPU来检索与用户相关联的认证向量。HSS检查正在登记的IMPU是否属于IMPI(登记请求载送用户的IMPI和IMPU两者)。如果有效,则HSS向S-CSCF返回认证向量。S-CSCF在“未授权”响应中向IMS终端发送质问(challenge)。质问可以是例如由HSS生成并由S-CSCF转送的随机数(参见例如在3GPP TS 33.203中定义的IMS AKA协议)。

IMS终端接收未授权响应并计算对存在于其中的质问的响应,例如依照在3GPP TS 33.203中定义的IMS AKA协议。该响应被包括在发送到网络的第二登记请求中。其被路由到S-CSCF,S-CSCF能够检查对其质问的响应。如果正确,则S-CSCF告知HSS,IMS终端已向其登记且OK响应被发送到IMS终端。

一旦用户被IMS登记,则允许其使用其在IMS的信任域内被授权使用的所有服务,而不需要重新认证。当信任域内的服务接收到访问请求时,其能够验证用户已经被IMS认证。因此,由IMS经由网络声明身份的通过来实现单点登录(SSO),即IMS内的所有服务都信任底层IMS认证和授权过程。

HSS存储被用户用于各种服务的所有公共用户身份。在用户订阅IMS内的服务时创建列表。HSS在自由联盟中与IDP类似,但是具有部分不同的功能。在IMS中,用户的所有公共用户身份对于HSS而言是已知的(即被联合)。这以准静态方式实现,其中,由运营商在订阅时或稍后在客户管理中输入与用户订阅相关联的公共用户身份。在访问服务时,用户选择供与服务一起使用的其公共身份中的一个。相反,在自由联盟中,用户具有其想要相当动态地且仅仅在其自己的控制下在IDP处联合哪些身份和服务的选择权。另外,自由联盟IDP存储用户意图在每一个单个服务处使用的服务与用户身份之间的关联。

另一差别是用户必须在其能够访问服务之前在登记会话期间明确地将其希望使用的其公共用户身份(IMPU)“登记”在IMS中。这可以由对该特定IMPU的登记请求来完成,或者在用户将其IMPU中的任何一个登记在IMS中时自动地完成。在后一种情况下,其中由单个IMPU登记来触发多个IMPU登记,被登记的IMPU称为“隐含登记IMPU”并由用户可以修改的用户设置来控制。在自由联盟的情况下,在访问应用程序服务器本身的过程期间完成认证。

当用户希望经由IMS来使用服务时,用户可以在其访问请求中包括其想要访问该服务的优选身份(IMPU)。如果给定优选身份,则由P-CSCF对此进行检查以查看用户所指示的IMPU是否已被IMS登记。如果是这样,则该请求被转送到S-CSCF,声明由用户优选的身份。如果未给定优选身份,则如果用户被真的登记话,P-CSCF声明默认身份。如果用户未被登记,则该请求被拒绝。P-CSCF使用优选身份或默认身份作为IMS中的所谓“P声明身份”。

该请求的进一步处理取决于用户访问应用程序服务器的方式。

如果经由IMS服务控制(ISC)接口来访问应用程序服务器,则由S-CSCF针对由HSS保持的用户服务简档对该请求进行检查,所述用户服务简档为IMPU列出相关特定服务。然后访问这些服务,其中,应用程序服务器从请求中的P声明身份报头来获悉已认证公共用户身份。由于S-CSCF在检查发起请求的用户设备(UE)是否与HSS提供的初始过滤标准匹配时使用P声明身份报头,所以由P-CSCF插入的P声明身份确定调用哪些服务和应用程序。这与自由联盟相反,在自由联盟中,IDP基于正在被用户访问的服务来自动地选择与服务相关联的正确身份(或假名)。

可替换地,如果应用程序服务器被访问作为终止用户请求(终止由“到(To)”URI来寻址的用户代理)的服务器,则S-CSCF在没有特殊处理的情况下将请求转送至服务器。只要应用程序服务器在IMS运营商的信任域内,应用程序服务器就可以通过检查请求中的P声明身份报头来获悉用户的已认证公共身份。并且,在这里,用户可以自己选择用于服务的预期用户身份,这与自由联盟行为相反,在自由联盟行为中,IDP基于先前的身份联合来选择用于被请求服务的相关用户身份。

如上文参考自由联盟所讨论的,诸如自由联盟网络的开放网络使用身份提供商(IDP),其负责确保请求应用程序从用户可能已与IDP联合的多个身份中获得正确的用户身份。许多现有解决方案允许用户选择哪些身份被与IDP联合。

当我们考虑诸如移动网络的闭合网络的情况时,情况是不同的。这里,通过固定的(例如电话号码)且仅仅被在闭合网络内部运行的服务接受的身份来知道用户。即使在其中允许用户在网络内具有多个身份以在不同的服务处或出于不同的目的使用的IMS(其为闭合网络)的情况下,这些身份也仅仅是对于在IMS的信任域内或被耦合到该信任域的服务而言是有效的。目前,对于身份联合和SSO技术而言仅存在有限的解决方案,由此,用户能够使其闭合网络身份与在其运营商的IMS信任域之外的信任域中属于他的另一身份联合。

发明内容

本发明设法解决上述的至少某些问题。

本发明提供一种方法,包括步骤:用户经由第一信任域(诸如IP多媒体子系统或另一网络)来请求访问应用程序;适配器模块在身份提供商处访问用户的帐户,其中,所述适配器模块在第一信任域内,并且其中,所述身份提供商在第二信任域(诸如自由联盟信任圈)内;所述适配器模块从所述身份提供商获得用于应用程序的所述用户的用户证书,其中,所述应用程序在第二信任域内;以及使用用于应用程序的用户证书来为用户提供对应用程序的访问。可以在所述身份提供商处使所述适配器模块和所述应用程序联合以形成信任圈的至少一部分。在本发明的某种形式中:所述适配器模块在第一信任域和第二信任域两者内;或者,所述身份提供商在第一信任域和第二信任域两者内。在本发明的某些形式中,所述适配器模块在第一信任域内且在第二信任域外,并且所述身份提供商在第二信任域内且在第一信任域外。

因此,本发明可以使得适配器模块能够在与身份提供商通信时模仿用户。因此,所述适配器模块形成第一信任域(经由其用户设法访问应用程序)与第二信任域(包括身份提供商和应用程序两者)之间的桥梁。同样地,所述适配器模块可以在与应用程序通信时模仿用户。

此外,在本发明中,所述身份提供商可以不需要对用户进行重新认证以发行联合身份证书和/或声明,因为第一信任域(例如,诸如IMS的闭合网络)提供用户的底层认证。

本发明还提供一种适配器模块,其适合于使得用户能够经由第一信任域来访问应用程序,其中,所述适配器模块在第一信任域内且所述应用程序在第二信任域内,其中,所述适配器模块被配置为:在用户具有帐户的身份提供商处访问用户的帐户,其中,所述身份提供商在第二信任域内;从身份提供商获得用于应用程序的所述用户的用户证书;以及使得用户能够访问应用程序。可以在身份提供商处使适配器模块和应用程序联合以形成信任圈的至少一部分,诸如自由联盟信任圈。

本发明还提供了一种包括网络和适配器模块的系统,其中:所述网络在第一信任域内且在第二信任域外;所述适配器模块在第一信任域内;所述系统的用户具有关于该所述网络的帐户;所述用户具有关于所述应用程序的帐户,该应用程序在第二信任域内;所述用户具有关于所述身份提供商的帐户,其中,身份提供商在第二信任域内;以及所述适配器模块被配置为在所述身份提供商处访问用户的帐户并从身份提供商获得用于所述应用程序的所述用户的用户证书。所述系统还可以包括所述应用程序。

本发明仍还提供了一种包括适配器模块和身份提供商的系统,其中:所述适配器模块在第一信任域内;所述身份提供商在第二信任域内;所述系统的用户具有关于所述身份提供商的帐户;所述用户具有关于应用程序的帐户,该应用程序在第二信任域内;以及所述适配器模块被配置为在身份提供商处访问用户的帐户并从身份提供商获得用于所述应用程序的所述用户的用户证书。用户可以具有关于网络的帐户,该网络在第一信任域内且在第二信任域外。所述系统还可以包括所述网络。所述系统还可以包括所述应用程序。

本发明还提供了一种包括网络、适配器模块和身份提供商的系统,其中:所述网络在第一信任域内且在第二信任域外;所述适配器模块在第一信任域内;所述身份提供商在第二信任域内;所述系统的用户具有关于所述网络的帐户和关于所述身份提供商的帐户;所述用户具有关于应用程序的帐户,该应用程序在第二信任域内;以及所述适配器模块被配置为在所述身份提供商处访问用户的帐户并从身份提供商获得用于所述应用程序的所述用户的用户证书。因此,所述系统的适配器模块通过提供第一和第二信任域之间的桥梁来使得用户能够经由网络来访问应用程序。

本发明还提供了一种适合于使得用户能够经由第一信任域来访问应用程序的计算机程序产品,其中,所述计算机程序产品在第一信任域内且所述应用程序在第二信任域内,其中,所述计算机程序产品被配置为:在用户具有帐户的身份提供商处访问用户的帐户,其中,所述身份提供商在第二信任域内;从身份提供商获得用于所述应用程序的所述用户的用户证书;以及使用所述用户证书来为用户提供对应用程序的访问。

通过利用本发明,具有已建立认证架构、但具有有限身份管理功能的信任域的用户能够将身份管理的完整特征用于在信任域内和在信任域外的服务/应用程序访问(诸如身份联合、用户简档的提供、身份识别)。

此外,可以在其中正常地仅对用户选择或网络选择的用户身份进行认证的系统中实现基于被访问服务进行的已认证用户身份的选择。

并且,可以在其中用户定义和用户管理的用户简档或属性先前不可用或仅可用于某些明确定义的服务的系统中实现此类简档和属性的广泛且容易部署的使用。

在本发明的某些形式中,所述适配器模块在第一和第二信任域两者内。在本发明的其它形式中,所述适配器模块在第一信任域内,但是在第二信任域外。在本发明的某些形式中,所述身份提供商在第一和第二信任域两者内。在本发明的其它形式中,所述身份提供商在第二信任域内,但是在第一信任域外。在本发明的某些形式中,所述适配器模块在第一和第二信任域两者内且所述身份提供商在第二信任域内且在第一信任域外。在本发明的其它形式中,所述身份提供商在第一和第二信任域两者内且所述适配器模块在第一信任域内且在第二信任域外。在本发明的某些形式中,所述适配器模块在第一信任域和第二信任域两者内,或者所述身份提供商在第一信任域和第二信任域两者内。在本发明的仍其它形式中,所述适配器模块在第一信任域内且在第二信任域外,并且所述身份提供商在第二信任域内且在第一信任域外。

在本发明的某些形式中,所述适配器模块位于被用户、身份提供商和应用程序信任的域中,以便其能够处理用户证书和声明。

在本发明的某些形式中,所述适配器模块被身份提供商信任到身份提供商在不要求其它用户证书的情况下接受来自适配器模块的声明身份的程度。

在本发明的许多实施方式中,用户具有IMS帐户、身份提供商处的帐户和应用程序处的帐户。因此,由于适配器模块的存在,用户能够经由IMS来访问应用程序,即使服务不在IMS信任域中,所述适配器模块通过使其对于身份提供商而言看起来像是用户正在直接地而不经由IMS进行访问而作为胶合剂(glue)。因此,通过适配器模块经由身份提供商对应用程序的访问以与诸如自由布置的协议下的任何普通单点登录布置相同的方式进行操作。

在本发明的许多形式中,身份提供商和应用程序不需要修改以便适用于本发明。因此,本发明的系统的许多元件是现有元件。

第一信任域可以是闭合网络,诸如IP多媒体子系统(IMS)。用户可以从IMS终端请求访问应用程序。第二信任域可以是开放网络。第二信任域可以是信任圈(例如自由联盟信任圈)或因特网。在由IMS网络和自由联盟身份提供商组成的布置中,所述适配器模块可以将用户的IMS证书与被应用程序接受的一个交换。通过使用本发明,闭合服务平台/网络(或围墙花园)的用户能够借助于身份联合来访问在其闭合网络外的服务。

在本发明的某些形式中,如果网络具有以下特性中的一个或多个,则将其视为“闭合”:

· 用户身份及用户简档和属性的有限或无自动用户可管理性。

· 仅在闭合域中已知或有效的身份的使用。

· 无不同身份的自动化联合机制。

· 无由服务器进行的基于上下文或不同属性的用户身份的选择。

· 无在开放环境中的对用户简档/属性的访问。

在本发明的某些形式中,所述适配器模块位于IMS网络的信任域内,以便所述适配器模块能够接收P声明身份报头。在本发明的某些形式中,所述身份提供商在不要求其它用户证书的情况下接受P声明身份报头作为识别用户。

在本发明的某些形式中,用户具有关于在第一和第二信任域两者中的服务器的帐户。

在本发明的某些实施例中,所述应用程序在第一信任域内。在本发明的其它实施例中,所述应用程序在第一信任域外。

在本发明的某些形式中,所述适配器模块适合于获得在身份提供商处访问用户的帐户所需的数据。举例来说,可以提供数据库以使得适配器模块能够获得在身份提供商处访问用户的帐户所需的数据。该数据库可以提供关于身份提供商的位置和/或访问身份提供商所需的用户证书(例如用户名和/或口令)的数据。在本发明的某些形式中,数据库在第一信任域内。在本发明的某些形式中,数据库在第一信任域内且在第二信任域外。

在本发明的某些形式中,从被访问的服务获得身份提供商的位置。在本发明的某些形式中,身份提供商要求的用户标识是包括在从IMS网络发送到适配器模块的服务访问消息中的P声明身份。在本发明的某些形式中,所述适配器模块在不需要访问存储在数据库中的其它数据的情况下从身份提供商接收获得用户证书所需的所有数据。

适配器模块可以执行认证网络(诸如IMS)与诸如身份提供商或应用程序的其它服务之间的协议和/或格式转换。所述适配器模块可以执行第一和第二信任域之间的协议和/或格式转换。

本发明还提供了一种其中存储有计算机程序的计算机可读介质,所述计算机程序在被处理器执行时适合于控制或执行如上文所讨论的方法。

附图说明

下面参考以下编号附图仅以示例的方式来描述本发明的实施例。

图1是说明身份联合的原理的方框图;

图2是示出用于使同一信任圈内的用户帐户联合的示例性过程的系统的方框图;

图3说明身份提供商处的用户帐户的联合;

图4说明示例性SSO算法;

图5说明用于对IMS终端进行认证的算法;

图6是依照本发明的一个方面的系统的方框图;

图7示出依照本发明的一个方面的消息序列;以及

图8示出依照本发明的另一个方面的消息序列。

具体实施方式

图6是依照本发明的一个方面的系统的一般由参考数字100指示的方框图。系统100包括IMS终端102、IP多媒体子系统(IMS)104、适配器/网关模块106、与适配器/网关模块相关联的数据库105、身份提供商(IDP)108和服务或应用程序110。(在下文中常常将适配器/网关模块106称为适配器模块。此外,术语“服务”和“应用程序”两者用来指用户正设法访问的应用程序。)

IMS终端102、IMS 104、适配器模块106和数据库105全部在IMS系统的信任域107内。在图6的示例中,IDP 108和服务110在信任域107之外。

假设,IMS终端102处的用户在服务110处具有帐户,并且用户还使用IDP 108来使不同服务(诸如服务110)处的其个人帐户联合。为实现此目的,用户可以使用来自IMS 104的其IMPU中的一个作为用户名在IDP 108处创建帐户。用户由其IMPU中的一个被了解,并且此身份可以被适配器/网关模块106用来与IDP 108交换用户证书,如下文详细地讨论的。可替换地,IDP 108处的用户名可以不同于用户的IMPU,在这种情况下,适配器/网关模块106存储IMPU与IDP处的用户名之间的映射(例如使用数据库105)。在已经在IDP 108处创建帐户之后,用户可以如上文所讨论地选择在IDP处将其服务联合。

考虑其中用户在IMS终端102处尝试通过IMS 104来访问服务或应用程序110的情景。假设IMS 104内部的通信是经由SIP,IMS终端向服务110发布SIP 邀请(SIP INVITE)消息。下面参考图7来描述示例性消息序列。

如图7中的箭头113所指示的,用户从IMS终端102向IMS 104发送访问服务110的请求。请求113可以采取到服务110的SIP 邀请消息的形式。可以由用户在终端102处输入服务URI,或者可以由IMS 104基于在IMS处的用户简档来插入该服务URI。如上文所讨论的,用户可以指示其优选公共身份,或者IMS可以选择默认身份。此外,在IMS的信任域内的此请求中由P声明身份报头来识别用户,该P声明身份报头由P-CSCF插入。此报头还声明身份的确实性。

接下来,S-CSCF向适配器/网关模块106发送用户请求(SIP 邀请消息)(图7中的步骤114)。适配器/网关模块106负责将用户请求转送到IDP 108,以便IDP能够检索将被服务110接受的用户的正确身份证书/声明。适配器/网关模块106还负责由于IMS内部的所有业务基于SIP而必须完成以访问服务的任何协议转换,同时,可能的是服务110(其可以在IMS外部)可以支持另一种协议(例如http)。应注意的是适配器/网关模块106在IMS网络的信任域内,以便其可以接收用户请求内的P声明身份报头。

适配器/网关模块106使用由IMS 104发布的P声明身份来对包含用于IDP 108的用户帐户信息的数据库105进行询问以检索IDP的位置和相关用户帐户信息两者。应注意的是,在IMS内部,每当用户发布SIP 邀请消息以访问服务时,其可以包括将被用于访问服务的IMPU。如果用户未选择IMPU,则IMS选择将与此类请求相关联的默认IMPU。此特征可以用来确保对应于IDP处的用户名的IMPU被附着于SIP请求。在这种情况下,适配器/网关模块106只须从数据库获得相应的口令(如果需要)。如果IDP 108不要求口令,则可以从本发明的某些实施方式省略数据库105。在其中用户能够在多个IDP处具有帐户的一般情况下,此类默认IMPU可以被用来询问数据库以及所请求的服务ID以找到相关IDP和相应的用户帐户信息。为此,用户必须首先已经用IDP和相关服务相应地更新数据库来工作。

适配器/网关模块106现在具有用户帐户信息和IDP 108的位置。适配器/网关模块模仿用户并从IDP 108请求适当的证书以便访问服务110(步骤116)。因此,不需要修改IDP以与IMS 104合作。通常,IDP 108信任IMS已对用户进行认证(即IDP 108依赖于由适配器/网关模块106发送的P声明身份)。因此,不需要在自由联盟中由IDP执行的附加用户认证步骤,因为IDP具有与用户的“间接”认证会话。在此类布置中,适配器模块106可以简单地将用户的P声明身份发送到IDP 108,可能与期望服务的指示一起。

IDP 108隐含地(如果适配器/网关模块通过公共安全信道连接到IDP)或基于所提供的用户指定证书对用户(在这里为适配器/网关模块106)进行认证。IDP 108以用于服务110的请求证书进行响应(步骤118)。

适配器/网关模块106从IDP 108接收用于服务110的用户的身份证书/声明,并基于操控(host)该服务的网络所支持的接口来构造对该服务的请求。此请求(其包括访问服务所需的证书)被发送到服务110(步骤120)。

服务110接收身份证书/声明并检查其正确性。一旦确定了证书/声明的有效性,则为用户102提供对服务110的访问(步骤122)。

在上文参考图7所述的布置中,适配器模块106在联系服务110之前从IDP 108获得用户证书。这不是必需的。图8示出图7的布置的变体,其中,由适配器模块106在已经从身份提供商108获得用户证书之前联系服务110。

在图8的示例中,上文参考图7所述的步骤113和114已经发生。因此,已经由IMS终端102发布服务访问请求并由IMS 104向适配器模块106发送SIP服务访问请求。

接下来,如图8所示,适配器模块106向服务110发送访问请求(步骤115)。响应于访问请求,该服务返回指示用户未被认证的响应(步骤115a)。该响应包括认证请求且还可以包括改向命令,例如采取HTTP位置报头的形式,指示IDP 108的地址并指示通过其在该IDP处知道服务的名称。

然后,适配器模块106向身份提供商108(在某些实施例中自动地)发送请求(包括由服务110发布的认证请求)(步骤116)。应注意的是可以由服务110来提供身份提供商的位置,并且因此,在某些实施例中可以省略数据库105。

然后,图8的消息序列如上文参考图7所述地进行,身份提供商向适配器模块返回用于该服务的用户证书(步骤118),并且适配器模块请求访问该服务,将用户证书包括在该访问请求中(步骤120)。

在上述布置中,由在IMS规范中描述的安全机制来保护IMS终端102与IMS网络104之间的消息。可以由适当的装置(例如TLS/IPSec)来保护IMS网络104和适配器/网关模块106之间的连接。由于适配器/网关模块在IMS的信任域内,因此应用如为了在一个信任域内使用而规定的安全机制。

适配器/网关模块106可以向IDP 108认证其本身,以便IDP知道该请求来自合法源。这例如使用具有基于公钥基础设施的IPSec或TLS来完成,或者可以将其配置为使得在网关/适配器模块与IDP之间存在专用安全连接,并且此连接上的所有消息被信任且是安全的。可替换地,适配器/网关模块可以保持用于每个用户的用户证书,其被对用于每个用户的IDP单独地使用。

当适配器/网关模块106与从IDP 108获取的身份证书/声明一起向服务110发送服务访问请求时,消息可以是安全的。如果服务110请求来自用户的安全连接(例如http),则适配器/网关模块可以通过充当代理来代表用户建立此类连接。

由于用于认证和单点登录的许多证书是通过占有而有效的,因此适配器/网关模块106能够模仿用户,因为适配器/网关模块相对于服务110而言扮演用户的角色。这还要求适配器/网关模块在信任域中。该域应被用户和服务信任。因此,将适配器/网关模块置于IMS网络信任域中是适当的。然而,适配器/网关模块106还可以是两个信任域的一部分(充当其之间的网关),因为存在与不同信任域有关的两个不同功能:

1. P声明身份报头的接收要求适配器/网关模块位于IMS信任域中;以及

2. 用户证书和声明的处理要求适配器/网关模块位于被用户信任的域中。

因此,适配器模块106可以位于第一和第二信任域两者内,并且身份提供商108可以位于第二信任域内,但在第一信任域外;然而,这不是必需的。例如,可以在第一和第二信任域两者内提供身份提供商。在此类布置中,可以在第一信任域内且在第二信任域外提供适配器模块。可替换地,身份提供商和适配器模块可以在第一和第二信任域两者内。在上述布置中,适配器模块106在IMS信任域中,并且还在被用户、IDP 108和服务110信任的域中。在某些实施例中,适配器模块在被IDP 108和服务110信任的域中不是必需的。因此,在某些实施例中,适配器模块可以在第一信任域内且在第二信任域外,并且IDP可以在第二信任域内且在第一信任域外。

上述本发明的实施例描述了IMS网络和自由联盟身份管理针对应用程序服务器访问的交互工作。本发明不限于此类布置。根本原理同样适用于通用身份管理系统(例如自由联盟、OpenID及其它专有系统)与信任域(例如IMS)的交互工作,所述信任域具有良好建立的认证基础设施,但以某些方式受到约束或限制,例如在一个或多个以下方面:

· 用户身份及用户简档和属性的有限或无自动用户可管理性。

· 仅在闭合域中已知或有效的身份的使用。

· 无不同身份的自动化联合机制。

· 无由服务器进行的基于上下文或不同属性的用户身份的选择。

· 无在开放环境中的对用户简档/属性的访问。

应注意的是为了为用户提供执行初始化程序的可能性和管理其在IDP处的身份联合,可能要求用户对IDP的直接访问。如果用户只能间接地经由闭合网络(诸如IMS)来访问IDP,则可能要求用户对IDP的某些其它管理访问。

对于出于管理目的的对IDP的认证访问,可以应用以下方法:

1. 如果在适配器/网关模块106与IDP 108之间存在公共安全信道,则可以在没有进一步认证的情况下通过此信道将来自用户的所有请求发送到IDP,因为IDP能够依赖于适配器/网关模块以仅转送声明的身份。

2. 如果适配器/网关模块与IDP之间的通信是经由用于每个用户的单独认证信道,则对于在IDP处具有帐户的用户而言,可以应用与用于对IDP的正常访问相同的认证机制。如果用户仍不具有关于IDP的帐户,则需要适配器/网关模块对IDP进行单独访问,例如用适配器/网关模块特定证书,以发送为IMS用户创建新用户帐户的请求。

上文所述的本发明的实施例是说明性而不是限制性的。对于本领域的技术人员来说显而易见的是在不脱离本发明的一般范围的情况下上述设备、系统和方法可以结合许多修改。意图在本发明的范围内包括所有此类修改,就如同其落在所附权利要求的范围内一样。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号