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

文档序号:7943234阅读:214来源:国知局
专利名称:用于从身份管理系统获得用于应用程序的用户证书的方法、设备和计算机程序产品的制作方法
技术领域
本发明涉及身份管理和身份联合。
背景技术
身份可以是在系统内唯一的名称,其被分配给与系统相交互或存在于系统中的实 体。此“名称“可以是例如分配给诸如系统的用户或程序的实体的字符串、号码或电子邮件 身份。身份的简单示例是在电话网络中分配给个体的电话号码。身份联合涉及使同一用户 的不同身份相互关联(例如,应理解的是身份iohn. doeiemail. com与电话号码1234567后 面的实体相关联)。特别地,身份联合此外使得用户能够执行单个登录操作,以便登录到许多单独的 应用程序,每个具有单独的登录布置(常常称为“单点登录”)。用于因特网应用程序的身份联合和单点登录(SSO)的概念是众所周知的,并且许 多团体已经解决了该问题。由自由联盟项目 提供了身份联合问题的示例性解决方案(参 见 http //www, pro jectliberty. orR), Shibboleth (参见 http://shibboleth. internet2. Μ )禾口 Open ID (http://openid. net)。举例来说,在自由联盟中,服务提供商(SP)和身份提供商(IDP)被组织为信任圈 (CoT)0 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形成第二信任圈M。可以通过使各身份提供商2和4联合来将两个信任圈14和M组合。这使得被服 务提供商6、8、10和12中的一个信任的用户能够也被服务提供商16、18、20和22信任。下面参考简单的示例来解释自由联盟中的身份联合的过程。图2是示出用户30、身份提供商(IDPW2、航线应用程序34和旅馆应用程序36的 方框图。最初假设用户30想要将预订到伦敦的航班和伦敦的旅馆。为了这样做,用户30 希望使用航线应用程序34来预订航班和使用旅馆应用程序36来预订旅馆。假设航线应用 程序34和旅馆应用程序36属于同一个信任圈(CoT)并由IDP 32提供服务。用户30在IDP 32处具有名称为“John_IDP”的帐户、在航线应用程序34处具有名 称为“John_Airline”的帐户、并在旅馆应用程序36处具有名称为“ JohnJtotel”的帐户。 每个帐户具有单独的登录布置,包括用户名和口令。为了进行预订,用户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并使帐户联 合。然后可以对于旅馆应用程序处的用户帐户(JohnJtotel)重复此该过程。在使身份JohnI_DP、John_Airline和JohnJtotel联合之后,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)的形式 (例如 “usernameOrealm”),而 IMPU 是 SIP URI (例如 “sip:user@domain,,)。认证过程在用户希望将其IMPU中的一个登记在IMS中时开始。假设用户想要将 其IMPU "sip: joe-pdaidomain. 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)JP 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声明身 份”。该请求的进一步处理取决于用户访问应用程序服务器的方式。如果经由MS服务控制(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)IOS和服务或应用程序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。如果用户未选择IMPUJU 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)。响应 于访问请求,该服务返回指示用户未被认证的响应(步骤life)。该响应包括认证请求且还 可以包括改向命令,例如采取HTTP位置报头的形式,指示IDP 108的地址并指示通过其在 该IDP处知道服务的名称。然后,适配器模块106向身份提供商108 (在某些实施例中自动地)发送请求(包 括由服务110发布的认证请求)(步骤116)。应注意的是可以由服务110来提供身份提供 商的位置,并且因此,在某些实施例中可以省略数据库105。然后,图8的消息序列如上文参考图7所述地进行,身份提供商向适配器模块返回 用于该服务的用户证书(步骤118),并且适配器模块请求访问该服务,将用户证书包括在该 访问请求中(步骤120)。在上述布置中,由在IMS规范中描述的安全机制来保护IMS终端102与IMS网络 104之间的消息。可以由适当的装置(例如TLS/IPkc)来保护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用户创建新用户帐户的请求。上文所述的本发明的实施例是说明性而不是限制性的。对于本领域的技术人员来 说显而易见的是在不脱离本发明的一般范围的情况下上述设备、系统和方法可以结合许多 修改。意图在本发明的范围内包括所有此类修改,就如同其落在所附权利要求的范围内一 样。
权利要求
1.一种使得用户能够经由第一信任域来访问应用程序的方法,该方法包括步骤适配器模块在身份提供商处访问用户的帐户,其中,所述适配器模块在第一信任域内 且所述身份提供商在第二信任域内;所述适配器模块从所述身份提供商获得用于应用程序的所述用户的用户证书,其中, 所述应用程序在第二信任域内;以及使用用于所述应用程序的用户证书来为用户提供对应用程序的访问。
2.如权利要求1所述的方法,其中所述适配器在第一信任域和第二信任域两者内;或者所述身份提供商在第一信任域和第二信任域两者内。
3.如权利要求1所述的方法,其中所述适配器模块在第一信任域内且在第二信任域外;以及所述身份提供商在第二信任域内且在第一信任域外。
4.如权利要求1至3中的任一项所述的方法,其中,所述第一信任域是闭合网络。
5.如任何前述权利要求所述的方法,其中,所述第一信任域是IMS网络。
6.如任何前述权利要求所述的方法,其中,所述适配器模块适合于获得在身份提供商 处访问用户的帐户所需的数据。
7.如权利要求6所述的方法,其中,适配器模块获得在身份提供商处访问用户的帐户 所需的数据的步骤包括获得身份提供商的位置。
8.如权利要求6或权利要求7所述的方法,其中,适配器模块获得在身份提供商处访 问用户的帐户所需的数据的步骤包括获得在身份提供商处访问用户的帐户所需的用户证 书。
9.如任何前述权利要求所述的方法,其中,所述适配器模执行一方面的第一信任域与 另一方面的身份提供商和/或应用程序之间的协议和/或格式转换。
10.一种适合于使得用户能够经由第一信任域来访问应用程序的适配器模块,其中, 所述适配器模块在第一信任域内且所述应用程序在第二信任域内,其中,所述适配器模块 被配置为在用户具有帐户的身份提供商处访问用户的帐户,其中,所述身份提供商在第二信任 域内;从身份提供商获得用于应用程序的所述用户的用户证书;以及使得用户能够访问应用程序。
11.如权利要求10所述的适配器模块,其中,所述适配器模块在第二信任域内。
12.如权利要求10或权利要求11所述的适配器模块,其中,所述身份提供商在第一信 任域内。
13.如权利要求10至12中的任一项所述的适配器模块,其中,所述适配器模块适合于 获得在身份提供商处访问用户的帐户所需的数据。
14.如权利要求13所述的适配器模块,其中,所述适配器模块适合于从数据库获得在 身份提供商处访问用户的帐户所需的数据。
15.如权利要求13或权利要求14所述的适配器模块,其中,在身份提供商处访问用户 的帐户所需的数据包括用于该帐户的用户证书。
16.如权利要求10至15中的任一项所述的适配器模块,其中,所述适配器适合于执 行一方面的第一信任域与另一方面的身份提供商和/或应用程序之间的协议和/或格式转换。
17.一种包括网络和适配器模块的系统,其中 所述网络在第一信任域内且在第二信任域外; 所述适配器模块在第一信任域内;所述系统的用户具有关于网络的帐户;所述用户具有关于应用程序的帐户,该应用程序在第二信任域内; 所述用户具有关于身份提供商的帐户,该身份提供商在第二信任域内;以及 所述适配器模块被配置为在身份提供商处访问用户的帐户并从身份提供商获得用于 应用程序的所述用户的用户证书。
18.—种包括适配器模块和身份提供商的系统,其中 所述适配器模块在第一信任域内;所述身份提供商在第二信任域内; 所述系统的用户具有关于身份提供商的帐户; 所述用户具有关于应用程序的帐户,该应用程序在第二信任域内;以及 所述适配器模块被配置为在身份提供商处访问用户的帐户并从身份提供商获得用于 应用程序的所述用户的用户证书。
19.一种适合于使得用户能够经由第一信任域来访问应用程序的计算机程序产品,其 中,所述计算机程序产品在第一信任域内且所述应用程序在第二信任域内,其中,所述计算 机程序产品被配置为在用户具有帐户的身份提供商处访问用户的帐户,其中,所述身份提供商在第二信任 域内;从身份提供商获得用于应用程序的所述用户的用户证书;以及 使用用户证书来为用户提供对应用程序的访问。
20.一种其中存储有计算机程序的计算机可读介质,所述计算机程序在被处理器执行 时适合于控制或执行根据权利要求1至9中的任一项所述的方法。
全文摘要
描述了一种包括IMS网络(104)、适配器模块(106)、身份提供商(108)和应用程序(110)的系统。适配器模块(106)在IMS信任域内。应用程序(110)在身份提供商的信任域内。系统的用户能够经由IMS网络(104),通过利用适配器(106)从身份提供商获得用于应用程序的用户的用户证书来访问应用程序(110),而不管应用程序是否在IMS信任域内。
文档编号H04L29/06GK102150408SQ200880131084
公开日2011年8月10日 申请日期2008年9月12日 优先权日2008年9月12日
发明者G·霍恩, H·拉贾塞卡兰, W-D·默勒 申请人:诺基亚西门子通信公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1