用于在联合环境中进行用户确定的身份验证的方法和系统转让专利

申请号 : CN03811313.9

文献号 : CN1653781B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黑泽·玛丽亚·亨顿

申请人 : 国际商业机器公司

摘要 :

提供了一种方法、设备、系统或计算机程序产品,以提供跨域、单一登录、验证功能。用户可以与一个或多个身份验证服务提供商ANSP签定合同。诸如在线银行或在线商家之类的(ECSP)电子商务服务提供商也保持了与ANSP的关系,以便ECSP可以信任由ANSP代表用户所担保的用户的经过验证的身份。用户可以访问联合环境中的任何电子商务服务提供商,而不必与该特定ECSP建立先验的关系。只要ECSP的域与用户的至少一个身份验证服务提供商具有关系,那么,用户就能够在该ECSP处具有“单一登录”体验。

权利要求 :

1.一种在联合环境(206)内用于用户确定的身份验证的方法,所述联合环境包括客户端(202)和多个电子商务服务提供商(210,212)当中的第一服务器以及多个身份验证服务提供商(214,216)当中的第二服务器,该方法包括下列步骤:在第一服务器上接收来自客户端的访问受控资源的请求(302);

在第一服务器上判断是否存在客户端的有效身份验证凭据(304);

如果在第一服务器上没有有效身份验证凭据,则:在第一服务器上判断是否存在支持以前与客户端关联的身份验证服务的第二服务器的身份(306);

如果在第一服务器上没有第二服务器的身份,则:在客户端上显示身份验证服务提供商的菜单(502);以及从客户端接收第二服务器的身份的选择(504);

如果在第一服务器上有第二服务器的身份,则:从第一服务器向第二服务器发送身份验证请求(312);

从第二服务器接收身份验证响应(314);以及从身份验证响应打开客户端的身份验证凭据(316);

基于第一服务器上的客户端的身份验证凭据,对来自客户端的访问受控资源的请求执行访问控制判断(322)。

2.根据权利要求1所述的方法,进一步包括:在第二服务器上判断第二服务器是否具有客户端的有效身份验证凭据(404);以及响应第二服务器具有客户端的有效身份验证凭据的判断,并响应第一服务器的身份验证请求,返回有效身份验证状态(410)。

3.根据权利要求1或权利要求2所述的方法,进一步包括:在第一服务器上将客户端与用户的对第二服务器身份的选择相关联(510)。

4.根据权利要求3所述的方法,进一步包括:将用户的对第二服务器的身份的选择存储(510)在客户端中的永久cookie中。

5.根据权利要求3所述的方法,进一步包括:允许用户选择(508,610)是否将用户的对第二服务器的身份的选择存储在客户端中的cookie中。

6.根据权利要求3所述的方法,进一步包括:允许用户选择(508,610)是否将用户的对第二服务器的身份的选择永久地与用户关联。

7.根据权利要求1所述的方法,进一步包括:在第一服务器上使用HTTP重定向通过客户端(312)以向第二服务器发送身份验证请求。

说明书 :

用于在联合环境中进行用户确定的身份验证的方法和系统

[0001] 技术领域
[0002] 本发明涉及改善的数据处理系统,具体来说,涉及用于进行多计算机数据传输的方法和设备。具体来说,本发明提供了用于进行计算机-对-计算机身份验证的方法和设备。

背景技术

[0003] 信息技术(IT)系统和因特网促进了当前全球经济的发展。尽管IT系统具有明显的优点,但是,同时,它们也带来了来自未经授权的第三方的潜在安全威胁。实际上,作为对全球计算机网络的完整性的威胁,在现代IT系统中出现了缺少安全性的状态。为处理此问题,IT系统提供许多已知的服务:数据验证、数据保密性,实体验证、授权等等。 [0004] 身份验证和授权可以以许多方式进行,企业可能需要给被授权的用户提供以对用户友好的方式从各种位置对受保护资源的安全访问。虽然提供安全的验证机制降低了对受保护资源进行未授权访问的风 险,但是,相同的验证机制也可能变为用户与受保护资源进行交互的障碍。一般来说,用户希望能够从与一个应用程序进行交互跳转到与另一个应用程序进行交互,而不考虑保护支持那些应用程序的每一个特定系统的验证障碍。 [0005] 随着用户变得越来越成熟,它们希望,计算机系统能够协调他们的操作,以便用户的负担减轻。这种类型的期望还适用于验证过程。用户可能认为,一旦他或她被某些计算机系统进行了身份验证,验证应该在用户的整个工作会话过程中有效,或至少在特定时间段内,而不考虑几乎对用户不可见的各种计算机体系结构。一般来说,企业会在他们的部署的系统的操作特征中满足这些期望,不仅可以安抚用户,而且还可以提高用户的效率,不论用户效率涉及雇员的生产率还是客户满意度。
[0006] 具体来说,在当前的计算环境中,许多应用程序具有可以通过常见的浏览器进行访问的基于Web的用户界面,用户期望对用户更加友好,从一个基于Web的应用程序移动到另一个应用程序时的障碍少一些。关于这点,用户越来越期望能够从与一个一个因特网域上的应用程序进行交互跳转到与另一个域上的另一个应用程序进行交互,而不考虑保护每一个特定域的验证障碍。然而,即使许多系统通过易于使用的基于Web的接口提供安全的身份验证,用户可能仍不得不认真对付多个身份验证过程,这些进程妨碍了用户在域集合中的访问。在给定时间帧内让用户接受多个身份验证过程可能会严重影响用户的效率。 [0007] 由多个身份验证过程或系统所带来的障碍随着越来越的单位参与联合计算环境中而变得越来越常见。在联合环境中,是一个单位的注册成员的用户可以获得对由另一个单位控制的远程资源的访问权限。在联合环境中,每一个单位都负责本单位自己的注册用户和资源的管理,然而,联合单位的计算机系统以某种方式进行交互操作,以在多个单位的注册成员之间共享资源。
[0008] 例如,每一个用户都在向用户提供某些基本服务的“主域”中进行 注册。用户通常通过某种形式的身份验证过程登录到主域,之后,根据用户以前定义的授权属性,用户被允许访问由主域支持的安全资源。如此,用户与用户的主域具有永恒的关系。此外,主域可以与被称为“联合体”或“联合环境”的环境(有时也称为“企业对企业”(B2B)或电子社区域)中的许多其他域具有永恒的关系。
[0009] 已经有人提出了解决方案,以减少由联合环境中的多个身份验证过程或系统所带来的障碍。在2000年09月11日提出的标题为“Method and system for Web-based cross-domain single-sign-onauthentication”序列号为09/710926的美国专利申请中,描述了被称为 “跨域单一登录”的方法,其中,用户将被允许从主域转移到成员安全域中,而不必向第二域重新进行身份验证。所描述的方法中的一个缺点是,用户只能直接从用户的主域转移到成员域中。在2001年12月19日提出的(TBD)标题为“System and method for user enrollment inan e-community”序列号为10/034725的美国专利申请中,描述了一种方法,其中,用户将被允许通过使用“域身份cookie”与成员域建立永恒的关系。此方法给用户提供了通过书签或直接URL(统一资源定位器)直接转至此域的能力,而不必首先通过用户的主域。 此灵活的方法提供了简单的用户体验,其中,用户不必知道有关用户所参与的电子社区的实现方式的详细信息。此方法易于实现,易于使用,并提供跨域单一登录功能的安全方法。
[0010] 这两种方法的困难在于,每一种方法都要求,用户具有一个并且只能具有一个能够对用户进行身份验证的域,被用户访问过的任何域都必须具有用户的主域的先验知识和信任。
[0011] 在标题为“Multi-Server Authentication”,序列号为WO 02/14974的国际专利申请中,提供了一种事务处理身份验证方法,该方法包括接收事务处理信息,其中所述事务处理信息包括:卡ID,编码和第一位置的计数器;选择性地将所述信息发送到多个验证服务器中的至少一个;对所述信息应用散列功能,以及使所述散列后的信息与位于所述多个验证服务器中的一个上的有效信息的散列值数据库保持一致。
[0012] 这允许从多个验证服务器对在单个接收器的客户事务交易进行验证。用于验证的验证服务器可以由不同的实施例进行选择,这是一种基于客户端WWW网页的内容而进行的选择。但是对于每个事务交易,验证是基于将信息发送到客户端的浏览器的卡来完成的。 [0013] 因此,应该具有这样的方法和系统,其中,可以提供整个分布式系统中的用户身份证验证,而不存在每一个安全域所带来的验证障碍。换句话说,应该具有跨域、单一登录验证,其中,可以对用户进行身份验证以进入一个安全域,然后转移到另一个安全域,而不必向第二域重新进行身份验证。在一种完全基于那些公开标准的合法使用的方 法中使用公开的标准是特别有利的。

发明内容

[0014] 提供了一种方法、设备、系统或计算机程序产品,以提供跨域、单一登录、验证功能。电子商务服务提供商接收来自客户端的访问受控资源的请求,在确定客户端对受控资源的访问权限时电子商务服务提供商允许指定电子商务服务提供商使用多个身份验证服务提供商中的一个。电子商务服务提供商可以与访问受控资源的请求一起接收身份验证服务提供商的指定,这可以是cookie的形式。或者,如果身份验证服务提供商没有与访问受控资源的请求一起接收到,则电子商务服务提供商可以允许用户从多个身份验证服务提供商中选择一个。电子商务服务提供商还可以允许用户选择永久地将用户与用户从多个身份验证服务提供商中选择的一个关联的选项。电子商务服务提供商从电子商务服务提供商向指定的身份验证服务提供商发送身份验证请求,然后基于来自指定的身份验证服务提供商的身份验证响应确定是否提供对受控资源的访问权限。

附图说明

[0015] 在所附的权利要求中阐述了本发明的新颖的特征。本发明本身,进一步的目标和优点,通过参考下面的详细描述并参考附图,将得到最好的理解,其中: [0016] 图1A描述了数据处理系统的典型的网络,其中每一个数据处理系统都可以实现本发明;
[0017] 图1B描述了可以在其中可以实现本发明的数据处理系统内使用的典型的计算机体系结构;
[0018] 图1C显示了其中可以实现本发明的基于Web的环境;
[0019] 图1D是显示了当客户端尝试访问受保护资源时可以使用的现有技术过程的数据流程图;
[0020] 图2是描述了其中可以实现本发明的联合环境的方框图;
[0021] 图3是描述这样的过程的流程图:电子商务服务提供商为尝试访问位于电子商务服务提供商处的受控资源的用户从用户确定的身份验证服务提供商尝试检索经过验证的身份;
[0022] 图4是描述这样的过程的流程图:身份验证服务提供商判断它是否应该应电子商务服务提供商的请求进行担保;
[0023] 图5是描述这样的过程的流程图:电子商务服务提供商允许用户选择身份验证服务提供商和/或相关的选项;以及
[0024] 图6是图形用户界面窗口,该窗口显示了用户可用来选择与联合环境内的单一的登录操作相关联的身份验证服务提供商的可选择的选项。

具体实施方式

[0025] 一般而言,可以包括或涉及本发明的设备包括各式各样的数据处理技术。因此,作为背景,在比较详细地描述本发明之前,先描述分布式数据处理系统内的硬件和软件组件的典型的组织。
[0026] 现在参考附图,图1A描述了数据处理系统的典型的网络,其中每一个数据处理系统都可以实现本发明。分布式数据处理系统100包含网络101,这是可以用来在分布式数据处理系统100内的连接在一起的各个设备和计算机之间提供通信链路的媒介。网络101可以包括诸如电线或光纤电缆之类的永久连接,或通过电话或无线通信建立的临时连接。在所描述的示例中,服务器102和服务器103与存储单元104一起连接到网络101。此外,客户端105-107也连接到网络101。客户端105-107和服务器102-103可以由诸如大型机、个人计算机、个人数字助理(PDA)等等各种各样的计算设备来代表。分布式数据处理系统100可以包括更多的未显示的服务器、客户端,路由器,其他设备和对等体系结构。 [0027] 在所描述的示例中,分布式数据处理系统100可以包括因特网,网络101表示全世界的网络和网关的集合,它们使用诸如LDAP、TCP/IP、HTTP等等协议彼此进行通信。当然,分布式数据处理系统 还可以包括不同类型的网络,例如,内部网、局域网(LAN)或广域网(WAN)。例如,服务器102直接支持客户端109和网络110,其中包括无线通信链路。支持网络的电话111通过无线链路112连接到网络110,PDA 113通过无线链路114连接到网TM
络110。电话111和PDA 113也可以使用诸如Bluetooth 无线技术之类的适当的技术跨无线链路115直接在其本身之间进行数据转移,以创建所谓的个人区域网络或个人专门网络。同样,PDA 113也可以通过无线通信链路116向PDA 107传输数据。
[0028] 本发明可以在各种各样的硬件平台和软件环境中实现。图1A作为异构计算环境的示例,而不对本发明作出体系结构的限制。
[0029] 现在参考图1B,该图描述了诸如图1A所示的其中可以实现本发明的数据处理系统的典型的计算机体系结构。数据处理系统120包含连接到内部系统总线123的一个或多个中央处理单元(CPU)122,总线123将随机存取存储器(RAM)124、只读存储器126,以及输入/输出适配器128,该适配器128支持诸如打印机130、磁盘单元132或诸如音频输出系统等等未显示的其他设备。系统总线123还连接用于访问通信链路136的通信适配器134。用户接口适配器148连接诸如键盘140和鼠标142或诸如触摸屏、笔尖麦克风之类的未显示的其他设备。显示适配器144将系统总线123连接到显示设备146。
[0030] 那些精通本技术的普通人员将认识到,图1B中的硬件可以随系统实现方式不同而不同。例如,系统可以具有诸如基于Intel Pentium 处理器之类的一个或多个处理器,数字信号处理器(DSP),以及一种或多种易失性和非易失性存储器。除了图1B中所描述的硬件之外,还可以使用其他外围设备加以补充或来代替它们。所描述的示例不对本发明的体系结构作出限制。
[0031] 除了能够在各种各样的硬件平台上实现外,本发明还可以以各种各样的软件环境来实现。可以使用典型的操作系统来控制每一个数据处理系统内的程序执行。例如,一个设备可以运行Unix 操作系统, 而另一个设备可以包含简单的Java 运行时环境。典型的计算机平台可以包括浏览器,这是著名的用于访问各种各样格式的超文本文档的软件应用程序,如图形文件、字处理文件、可扩展标记语言(XML)超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML),以及各种其他格式和类型的文件。还应注意,图1A所示的分布式数据处理系统是完全能够支持各种各样的对等子网和对等服务。 [0032] 现在参考图1C,网络图显示了其中可以实现本发明的比较具体的而通用的基于Web的环境。在此环境中,客户端150中的浏览器152的用户希望访问DNS域156中的Web应用程序服务器154上的或DNS域160中的Web应用程序服务器158上的受保护资源。受保护资源是只有在发出请求的客户端浏览器经过身份验证和授权的情况下才能访问或检索的资源(应用程序、对象、文档、页面、文件、可执行代码或其他计算资源、通信类型的资源等等)。每一个DNS域都可以具有关联的验证服务器162。通常,一旦用户经过验证服务器的身份验证,则可以设置cookie,并将cookie存储在浏览器中的cookie缓存中。发出请求的客户端可以对受保护资源作出域内的请求或域之间的请求。域内的请求表示目标资源位于执行身份验证的同一台服务器上。域之间的请求表示,目标资源位于同一个因特网域内,但与建立身份验证的验证服务器位于不同的服务器上。跨域请求表示,用户希望访问位于用户当前正在使用的DNS域外面的受保护资源。
[0033] 现在参考图1D,数据流程图显示了当客户端尝试访问受保护资源时可以使用的现有技术过程。如所显示的,客户端工作站170上的用户通过在客户端工作站上执行的用户的Web浏览器并通过计算机网络访问服务器172上的受保护资源。如上所述,受保护资源是只有经过身份验证和被授权的用户访问的统一资源定位器(URL),或一般来说,由统一资源标识符(URI)来进行标识。计算机网络可以是因特网、内部网或其他网络,如图1A或图1B所示,服务器可以是Web 应用程序服务器(WAS)、服务器应用程序、servlet进程等等。 [0034] 当用户请求诸如域“ibm.com”内的Web页面的受保护资源时启动进程(步骤
174)。Web浏览器(或关联的应用程序或小程序)产生HTTP请求,该请求被发送到托管域“ibm.com”的Web服务器(步骤176)。服务器判断它没有客户端的有效会话(步骤178),因此,服务器通过向客户端发送某种类型的验证质询来要求用户执行身份验证过程(步骤
180)。验证质询可以是各种形式,如超文本标记语言(HTML)形式,用户必须向其中输入所需的信息(步骤182),如用户标识符和关联的密码。
[0035] HTML形式的验证响应信息被张贴到服务器中(步骤184),此时,服务器通过检索以前提交的注册信息并将提供的验证信息与用户的存储信息进行匹配来对对用户进行身份验证。假设身份验证过程成功,则给经过身份验证的用户指定具有独特会话标识符(会话ID)的安全套接字层(SSL)会话(步骤186)。
[0036] 虽然图1D描述了典型的现有技术过程,但是,值得注意的是,此时也可以描述其他会话状态管理技术,如使用cookie来标识具有有效会话的用户,这可以包括使用用于提供验证凭据的相同cookie。
[0037] 然后,服务器检索请求的Web页面,并向客户端发送HTTP响应(步骤188)。此时,用户可以通过点击超文本链接来请求浏览器内的“ibm.com”内另一个页面(步骤190),浏览器向服务器发送另一个HTTP请求(步骤192)。此时,服务器认识到,用户具有有效会话(步骤194),服务器在另一个HTTP响应中将请求的Web页面发回客户端(步骤196)。 [0038] 如上所述,本发明可以在各种各样的网络和硬件平台内使用。具体来说,尽管本发明提供了一种方法,以便当用户尝试访问多个分支域内的受保护资源时,不对用户进行质询以便完成身份验证。这就允许在参与跨域、单一登录联合体的域之间有某种程度的自由移动。例如,一个大型Extranet可以具有多个域,其中每个域都有其自己的用户和受保护资源集。然而,受保护资源可以具有通用的企业范围内 的关联,并可以在用户集之间有相当大的重叠。用户可以不必在进入不同的域时传递多个身份验证质询,从而可以提高效率。因此,本发明尝试消除跨网站自由移动的障碍。
[0039] 具体来说,如上所述,分布式身份验证的一些以前的方法所存在的困难是,这些方法要求,用户具有一个并且只能具有一个能够对用户进行身份验证的域,被用户访问过的任何域都必须具有用户的主域的先验知识和信任。相反,本发明允许用户与一个或多个身份验证服务提供商(ANSP)签定合同。用户保持了与这些ANSP的关系,并向ANSP进行身份验证。诸如在线银行或在线商家之类的电子商务服务提供商(ECSP)也保持了与ANSP的关系,以便电子商务服务提供商可以信任由身份验证服务提供商代表用户所提供的用户的经过验证的身份。用户可以访问任何电子商务服务提供商,而不必与该特定电子商务服务提供商建立先验的关系。只要电子商务服务提供商的域与用户的至少一个身份验证服务提供商具有关系,那么,用户就能够在该电子商务服务提供商处具有“单一登录”体验。 [0040] 本发明通过允许用户自定义他们的在站点中的注册过程,延伸了在提出的(TBD)标题为“System and method for user enrollment inan e-community”的美国专利申请序列号(代理人机构卷号AUS920010769US1)中所描述的注册过程。换句话说,用户可以通过向站点指出能够担保用户的经过验证的身份的可信的第三方的位置来选择在一个站点中进行“注册”。此过程可能设置域身份cookie(DIDC),这在美国专利申请序列号(代理人机构卷号AUS920010769US1)进行了描述。或者,用户可以选择不设置域身份cookie,以便用户在每次对给定站点进行初始访问时(或者,具体来说,当用户与给定站点没有当前有效会话时进行的每一次访问)必须指出可信第三方的位置。下面将参考其余的图形,比较详细地描述本发明的这些及其他特点。
[0041] 现在参考图2,方框图描述了在其中可以实现本发明的联合环境。诸如图2所示的那样的联合环境,包括用户、电子商务服务提供 商(ECSP),以及身份验证服务提供商(ANSP)。ECSP对应于参与联合体的企业实体。ANSP对应于用户向其进行身份验证的实体,并向ECSP提供身份验证的凭据。在给定电子社区内,电子商务服务提供商和身份验证服务提供商的角色可以通过不同的实体或单一实体来提供。
[0042] 联合环境206包括:由具有浏览器应用程序204的客户端202表示的用户;两个电子商务服务提供商ECSP 210和ECSP 212;以及两个身份验证服务提供商ANSP 214和ANSP216。用户与ANSP216具有身份验证关系220。ECSP 210与ANSP 214具有信任关系222,与ANSP 216具有信任关系224。ECSP 212与ANSP 216具有信任关系。用户尝试分别沿着网络路径230和232访问ECSP210和ECSP 212。
[0043] 因此,如此示例所示以及下文所详细讨论的,本发明依赖这样的事实:用户以前已经与至少一个身份验证服务提供商并可能与多个身份验证服务提供商建立了身份验证关系,这将主要是“带外”过程,通过该过程,用户向身份验证服务提供商注册或订阅身份验证/身份凭据服务。用户可以为不同强度的身份验证(如用户名/密码、智能卡、生物特征或数字证书)签定合同,换句话说,本发明能够与各种各样的基础验证方案进行交互操作。 [0044] 本发明还依赖这样的事实:电子商务服务提供商以前已经与至少一个身份验证服务提供商并可能与多个身份验证服务提供商建立了信任关系,这将主要是“带外”过程,通过该过程,电子商务服务提供商和身份验证服务提供商就涉及身份验证/身份凭据服务的每一方的责任签定各种类型的协议。电子商务服务提供商可以为不同强度的身份验证签定合同,本发明能够与各种各样的基础验证方案进行交互操作。
[0045] 作为建立信任关系的过程的一部分,电子商务服务提供商和身份验证服务提供商将参与用于建立信任关系的带外信息交换,这可以包括共享机密密钥、数字证书或某些其他形式的信息。此信息用于保护用户身份凭据信息,该信息是在用户事务过程中电子商务服务提供商 向身份验证服务提供商提供的。可以使用公钥技术来交换此信息,但由于公钥和关联的证书以及提供给电子商务服务提供商的身份凭据的安全要求的限制,机密密钥是优选的,虽然本发明可以采用基于公钥的技术。
[0046] 优选实施例使用基于机密密钥的技术,而不是基于公钥的技术,原因有下面几个。身份凭据和/或经过验证的身份信息通过因特网,通过用户的客户端应用程序(通常是浏览器)并使用HTTP重定向从身份验证服务提供商传递到电子商务服务提供商。在此情况下,信息必须得到保护,这可以通过对包含用户的经过验证的身份信息和其他信息(如验证方法、个人信息等等)的令牌进行加密。机密密钥技术是优选的,因为它比使用公钥技术更有效率。例如,如果此信息与电子商务服务提供商的公钥进行加密,将不会有信息来自身份验证服务提供商的凭据。如果信息是使用验证服务提供商的私钥进行加密的,则没有办法阻止获取令牌的副本的任何人将其解密,这将可能泄露潜在机密的信息。这就意味着,令牌必须双重地加密,一次用身份验证服务提供商的私钥进行加密,然后,用电子商务服务提供商的公钥。如此,需要两次加密来保护令牌,需要两次解密来检索它。通过使用机密密钥技术,只需要一次加密和一次解密。
[0047] 现在参考图3,流程图描述了这样的过程,电子商务服务提供商为尝试访问位于电子商务服务提供商处的受控/受保护资源的用户从用户确定的身份验证服务提供商尝试检索经过验证的身份。图3显示了当用户请求对资源进行访问时启动的过程,电子商务服务提供商已经决定,需要作出访问控制判断。为了作出访问控制判断,电子商务服务提供商需要用户的经过验证的身份。作为联合环境内的单一登录操作的一部分,电子商务服务提供商不提示用户提供身份凭据,例如,通过用户名/密码登录。相反,电子商务服务提供商将尝试从身份验证服务提供商处检索经过验证的身份(或身份凭据,如担保令牌)。根据本发明,用户有能力将验证操作定向到许多潜在的身份验证服务提供商中的某一个。然而,应该注意,电子商务服务提供商可以对用户 本身进行身份验证,具体来说,当电子商务服务提供商是用户的主域时,虽然电子商务提供商通常使用身份验证服务提供商来在电子商务服务提供商不是用户的主域时对用户进行身份验证。
[0048] 图3中的过程以电子商务服务提供商接收来自用户的访问受保护资源的请求开始(步骤302)。然后,就电子商务服务提供商是否已经具有用户的经过验证的身份或权限凭据进行判断(步骤304)。如果不,那么,电子商务服务提供商判断它是否具有用户的长期令牌(步骤306)。长期令牌可以是ANSP身份Cookie(AIDC),这类似于上文所提及的域身份cookie,但它标识了用户的优选身份验证服务提供商。电子商务服务提供商可以拥有用户的AIDC,因为在用户的浏览器中以前已经设置了一个,并且因为用户的浏览器将确保AIDC伴随所有发往电子商务服务提供商的域的请求,当cookie伴随对受控资源的请求时,电子商务服务提供商将接收到cookie。电子商务服务提供商从长期令牌提取用户的优选身份验证服务提供商的身份(步骤308),并产生对指出的或优选身份验证服务提供商的担保请求(步骤310)。电子商务服务提供商通过用户的浏览器使用HTTP重定向向身份验证服务提供商发送担保请求(步骤312)。
[0049] 假定有参考步骤302-312所描述的情况,可以理解本发明的有效性。虽然电子商务服务提供商还没有用户的经过验证的身份/权限凭据,即,用户启动与电子商务服务提供商的新会话,电子商务服务提供商可以尝试从用户的优选身份验证服务提供商那里获取用户的担保令牌,即使在此特定会话中没有要求用户直接向电子商务服务提供商提供任何这样的验证信息。
[0050] 继续看该示例,在某些时间点,电子商务服务提供商使用HTTP重定向通过用户的浏览器从身份验证服务提供商那里接收担保响应(步骤314)。电子商务服务提供商打开令牌以检索用户身份证验证响应(步骤316),并对其进行检查,以判断有效的身份验证是否完成(步骤318)。如果是,那么,电子商务服务提供商将为用户构建会话凭据(步骤320),并启动访问控制判断操作(步骤322)。就 用户是否被授权作出判断(步骤324),如果访问控制判断的结果是肯定的,即,用户被授权,那么,电子商务服务提供商提供对受保护资源的访问(步骤326),然后,过程完成。
[0051] 再次请参看步骤304,如果电子已经具有用户的经过验证的身份或权限凭据,那么过程将转到步骤322,在该步骤中,电子商务服务提供商立即执行访问控制判断。当用户已经访问过电子商务服务提供商处的相同或类似的受控资源时,这种情况可能会发生。 [0052] 再次请参看步骤306,如果电子商务服务提供商没有用户的长期令牌,那么,过程转移以完成如图5所示的子进程,这将在下面进行描述。
[0053] 现在参考图4,流程图描述了这样的过程:身份验证服务提供商判断是否应该应电子商务服务提供商的请求进行担保。图4中的流程图显示了当电子商务服务提供商向身份验证服务提供商发送担保请求时在身份验证服务提供商中发生的过程,如上文在步骤312中所描述的。
[0054] 当特定身份验证服务提供商从给定用户的电子商务服务提供商那里接收到担保请求时,图4中的过程开始(步骤402)。就身份验证服务提供商是否具有用户的有效会话作出判断(步骤404)。如果身份验证服务提供商还没有用户的有效或当前会话,那么,身份验证服务提供商提示用户完成某种形式的身份验证操作(步骤406)。
[0055] 然后,就用户是否已经经过验证作出判断(步骤408)。如果用户已经经过验证,那么,身份验证服务提供商构建验证令牌,该令牌指出用户已经肯定地经过验证(步骤410)。如果用户还没有经过验证,那么,身份验证服务提供商构建验证令牌,该令牌指出用户的身份验证操作失败(步骤412)。不论是哪一种情况,身份验证服务提供商都会通过用户的浏览器,通过HTTP重定向向发出请求的电子商务服务提供商发送包括验证令牌的担保响应消息(步骤414),然后,该过程结束。应该注意,在两种情况下,身份验证服务提供商可以插入假信息或者以别的方式屏蔽担保消息的内容,为防止刺探者能 够区分成功的和不成功的担保令牌,这将提供有关用户的验证尝试的信息。
[0056] 再次请参看步骤404,如果身份验证服务提供商具有用户的有效会话,那么,过程转移到步骤410,因为身份验证服务提供商可以立即构建验证令牌,该令牌指出用户已经肯定地经过验证。当用户已经在另一个电子商务服务提供商处要求经过验证的身份凭据时,将发生这种情况,这将要求用户执行验证操作。身份验证服务提供商维持用户的会话,很可能具有某些限制,如在身份验证服务提供商处的用户的验证会话有效的最大时间段。 [0057] 现在参考图5,流程图描述了这样的过程:电子商务服务提供商允许用户选择身份验证服务提供商和/或相关的选项。图3所示的过程从步骤306到达图5所示的子进程。在此情况下,如果电子商务服务提供商没有用户的长期令牌,那么,过程转移以完成图5所示的子进程。
[0058] 图5所示的过程以电子商务服务提供商给用户提供被电子商务服务提供商识别的ANSP的菜单开始(步骤502)。根据本发明,电子商务服务提供商允许用户选择优选身份验证服务提供商,虽然身份验证服务提供商必须是电子商务服务提供商已经与其具有信任关系的身份验证服务提供商。如果不,那么,则给用户提供与电子商务服务提供商识别的身份验证服务提供商(即,电子商务服务提供商与其具有信任关系)建立关系的机会,如下文所详细描述的。
[0059] 在提供菜单(这可以是对话框或某种其他用户输入机制)之后,电子商务服务提供商接收用户选择(步骤504)。就用户是否已经请求此时取消挂起的事务作出判断(步骤506),如果是,那么,过程返回图3中的步骤328,此时,用户将被拒绝访问受控资源。如果用户没有请求此时取消挂起的事务,那么,就用户是否已经选择通知电子商务服务提供商用户始终希望使用特定身份验证服务提供商的特定选项作出判断(步骤508)。如果是,那么电子商务服务提供商建立AIDC,该AIDC指出用户的选择的身份验证服务提供商(步骤 510),这在从用户对话框接收到的用户输入内的别处指出。在此可能的实施例中,AIDC可以通过在用户的浏览器中设置cookie来建立。
[0060] 不论是哪一种情况,都就用户是否已经选择了一个选项以从身份验证服务提供商(特定身份验证服务提供商的身份将在从用户对话框接收到的用户输入内的别处指出)处检索担保信息(步骤512)。换句话说,用户已经选择了电子商务服务提供商应该用来对用户进行身份验证的优选身份验证服务提供商,过程返回步骤310,电子商务服务提供商向所选择的身份验证服务提供商产生担保请求。
[0061] 如果用户没有选择从身份验证服务提供商处检索担保信息的选项,那么,就用户是否已经选择与身份验证服务提供商建立关系作出判断(步骤514)。如果是,那么,电子商务服务提供商向所选择的身份验证服务提供商发送某种行驶的建立关系请求(步骤515),例如,通过将用户的浏览器重定向到由用户的所选择的身份验证服务提供商支持的特定页面。
[0062] 如果上面的选项没有一个发生,那么,由电子商务服务提供商以某种方式指出处理错误(步骤518),然后,过程完成。
[0063] 现在参考图6,图形用户界面窗口显示了可供用户选择的选项描述了这样的过程,电子商务服务提供商允许电子商务服务提供商(该电子商务服务提供商允许用户选择与联合环境内的单一的登录操作相关联的身份验证服务提供商)。对话框600显示了三个单选按钮控件602-606,这些控件标记了三个身份验证服务提供商的标识符。当电子商务服务提供商给用户提供选择优选身份验证服务提供商的机会时,可以向用户提供对话框500。在大多数Web环境中,对话框600中显示的控件很可能以HTML格式的文档(即,Web页面)的形式来提供。
[0064] 取消按钮608在提示用户提供授权信息之前给用户提供了取消挂起的访问受控资源的请求的机会。复选框610给用户提供了请求当电子商务服务提供商需要联系身份验证服务提供商以便完成身份验证时所选择的身份验证服务提供商应该始终被电子商务服务提供商使用 的能力。按钮612关闭对话框并通知电子商务服务提供商,用户已经请求由单选按钮指出的身份验证服务提供商应该被电子商务服务提供商用于发出担保请求。按钮614关闭对话框并通知电子商务服务提供商,用户希望与由单选按钮指出的身份验证服务提供商建立关系。
[0065] 担保用户的身份的过程有时被称为跨联合环境或电子社区的“身份验证断言的传输”。用户的主域向另一个域担保用户的身份。这就意味着,联合环境中的每一个成员组织负责管理主域中的用户,并负责提供映射来其他域的担保的身份的规则集合。 [0066] 再次请参看图2,可以参考图2所示的联合环境比较详细地描述本发明。当用户从用户与其没有活动的经过验证的会话的域(如由ECSP 210或ECSP 212支持的域)请求资源时,将发生担保过程。
[0067] 假设客户端202中的用户尝试从ECSP 210访问资源,并且用户从来没有访问过ECSP 210中的资源。因此,在客户端202中没有ECSP 210设置的AIDC,ECSP 210将提示用户提供优选身份验证服务提供商的身份。如上文所讨论的并由图6显示的,可以给用户提供诸如“向AWSF-2C进行身份验证”或“向ANSP-X注册”之类的选项。此外,与整个请求关联的还有始终使用所选择的身份验证服务提供商的选项。一旦用户选择了这些选项,ECSP210将构建发送到用户选择的身份验证服务提供商的相应的令牌。
[0068] 假设用户选择了向ANSP 214进行身份验证的选项。ECSP 210将构建针对ANSP214的担保请求,并通过客户端202的浏览器进行重定向,将此请求发送到ANSP 214。担保请求将被ANSP 214接收到,如果ANSP 214与用户具有当前有效的会话,那么,ANSP 214将构建担保响应,并通过用户的浏览器,使用HTTP重定向,将它重定向回ECSP 210。如果ANSP
214与用户没有当前有效的会话,那么,ANSP 214将提示用户提供验证信息。基于身份验证的成功,ANSP214将构建ECSP 210的担保响应,担保响应可以指出成功的身份验证或失败的身份验证。此担保响应将通过用户的浏览器使用HTTP重定向返回到ECSP 210。 [0069] ECSP 210在从ANSP 214接收到具有成功的身份验证指示的担保令牌时,将激活客户端202的会话,将应用户的请求作出访问控制判断。如果用户选择了“始终使用此ANSP”选项,那么ECSP 210将为用户构建ANSP身份Cookie(AIDC)。此cookie将标识用户的优选身份验证服务提供商。进一步访问ECSP 210中的资源,在没有当前有效会话的情况下,将通过用户的浏览器,通过HTTP重定向,从ANSP 214产生对担保令牌的请求。 [0070] 如此,信息从主域通过担保令牌传递到联合环境(即,电子社区)中的其他域。担保令牌用于向联合环境中的其他组织担保用户的身份的真实性。只有在请求并不能由计划的域之外的任何电子社区域使用的情况下才为每一个电子社区域创建担保令牌。优选情况下,担保令牌是临时的,它只为重新定向而存在,并且将不驻留在用户的永久或非持久的cookie存储器中。此外,优选情况下,担保令牌通过加密来保护。担保令牌包括在被重定向回“发出请求的”电子社区域的响应中。当发出请求的前端/域接收到响应时,它将分析担保令牌,将用户的身份映射到本地身份,为用户创建凭据,进行访问控制判断,并对用户的请求提供相应的响应。然后,此前端能够担保域内的用户的身份。
[0071] 鉴于上文提供的对本发明的详细描述,本发明的优点是显而易见的。本发明允许用户与一个或多个身份验证服务提供商(ANSP)签定合同。用户保持了与这些ANSP的关系,并向身份验证服务提供商进行身份验证。诸如在线银行或在线商家之类的电子商务服务提供商(ECSP)也保持了与ANSP的关系,以便电子商务服务提供商可以信任由ANSP代表用户所提供的用户的经过验证的身份。用户可以访问任何电子商务服务提供商,而不必与该特定电子商务服务提供商建立先验的关系。只要电子商务服务提供商的域与用户的至少一个身份验证服务提供商具有关系,那么,用户就能够在该电子商务服务提供商处具有“单一登录”体验。利用本发明,在一定条件下,当用户尝试访问联合环境内的第二域中的受保护资源时,不对用户进行质询以便 完成身份验证。这就允许在参与跨域、单一登录联合体的域之间有某种程度的自由移动。用户可以不必传递多个身份验证质询(这可能是跨网站自由移动的障碍),从而可以提高效率。
[0072] 值得注意的是,尽管是在完全运转的数据处理系统的上下文中描述本发明的,那些精通本技术的普通人员将认识到,本发明的进程能够以存储了指令的计算机可读的介质的形式和各种各样的形式进行分发,不管实际用于进行分发的承载信号的介质的特定类型是什么。计算机可读的介质的示例包括诸如EPROM、ROM、磁带、纸张、软盘、硬盘驱动器、RAM和CD-ROM之类的介质,和诸如数字和模拟通信链路之类的传输类型的介质。 [0073] 本发明的描述只作说明,而不是详尽的说明或只限于所说明的实施例。那些精通本技术的普通人员将认识到,可以进行许多修改。所选择的实施例只是为了最好地说明本发明的原理以及其实际应用,并使精通本技术的其他人理解本发明,以便实现带有各种修改的各种实施例,只要可以适合于其他预期的用途。