CN1985493A - 用于在数据处理系统内提供联邦功能性的方法和设备 - Google Patents

用于在数据处理系统内提供联邦功能性的方法和设备 Download PDF

Info

Publication number
CN1985493A
CN1985493A CNA2005800233602A CN200580023360A CN1985493A CN 1985493 A CN1985493 A CN 1985493A CN A2005800233602 A CNA2005800233602 A CN A2005800233602A CN 200580023360 A CN200580023360 A CN 200580023360A CN 1985493 A CN1985493 A CN 1985493A
Authority
CN
China
Prior art keywords
federal
request
functional
communication center
lifecycle management
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.)
Pending
Application number
CNA2005800233602A
Other languages
English (en)
Inventor
希瑟·玛丽亚·欣顿
多拉波·马丁·法洛拉
安东尼·斯科特·莫兰
帕特里克·瑞安·沃德罗普
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1985493A publication Critical patent/CN1985493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供一种用于在数据处理系统内提供联邦功能性的方法和设备。在联系点功能性处接收输入的第一请求。响应于确定从接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理,将得到的信息从联系点功能性发送到联邦用户生命周期管理功能性。

Description

用于在数据处理系统内提供联邦功能性的方法和设备
技术领域
本发明涉及一种改进的数据处理处理系统,以及具体地,涉及一种用于多计算机数据传送的方法和设备。更具体地,本发明针对联网的计算机系统。
背景技术
企业通常期望通过包括因特网的各种网络以用户友好的方式为授权用户提供对受保护的资源的安全访问。尽管提供安全认证机制降低了对受保护的资源的未授权访问的风险,但这些认证机制可能成为访问受保护的资源的障碍。用户通常期望能够从与一个应用进行交互改变到与另一个应用进行交互,而不考虑保护支持这些应用的每个特定系统的认证阻碍。
随着用户越来越精明,他们希望计算机系统与他们的动作相协调,以便减少用户的负担。这种类型的希望也适用于认证处理。用户可能假设一旦他或者她通过了某个计算机的认证,则该认证应当在用户的整个工作会话期间有效,或者至少在特定时间段内有效,而不考虑对用户来说几乎不可见的各种计算机架构的边界。企业通常尽力在它们布置的系统的工作特性上满足这些希望,这不仅可以安抚用户,而且可以提高用户效率,用户效率与雇员生产率或者客户满意度相关。
更具体的说,对于当前的计算环境,其中许多应用具有通过公共浏览器可访问的基于Web的用户界面,用户希望更多的用户友好性和更低或者更少的阻碍,以从一个基于Web的应用改变到另一个基于Web的应用。在此上下文中,用户将希望能够从与一个因特网域上的应用进行交互跳越到与另一个域上的另一个应用进行交互,而不考虑保护每个特定域的认证阻碍。然而,即使许多系统通过简单易用的基于Web的界面提供安全认证,用户可能仍然被强迫对付多个认证处理,这阻碍了穿过一组域的用户访问。在给定时间帧内使得用户受制于多个认证处理会极大地影响用户效率。
例如,已经使用了各种技术来减少用户和计算机系统管理员的认证负担。这些技术通常被描述为“单点登录”(single-sign-on:SSO)处理,因为它们具有共同的目的:在用户已经完成了登录操作之后,即被认证之后,随后不再要求用户执行另一次认证操作。因此,目标是使得在特定用户会话期间仅要求用户完成一次认证处理。
为了降低用户管理成本并且改善企业之间的互操作性,创建了联邦计算空间。联邦是宽松耦合的企业联盟,这些企业遵守某些互操作性标准。联邦提供了针对联邦内用户的某些计算操作在这些企业之间的信任机制。例如,联邦伙伴可能作为用户的归属域或者标识提供者。同一联邦内的其它伙伴可能依赖于用户的标识提供者,以对用户的认证证书进行基本管理,例如接受由用户的标识提供者提供的单点登录令牌。
随着企业移向支持联邦的商业交互,这些企业应当提供反映两个商业之间增加的协作的用户体验。如上所述的,用户可以认证到作为标识提供者的一方,然后单点登录到作为服务提供者的联邦商业伙伴。与这种单点登录功能性相结合,在联邦计算环境内还应当支持附加用户生命周期功能性,例如账户链接/断开链接(de-linking)和单点退出(single-sign-off)。
尽管现有技术中基于标准的单点登录解决方案(例如WS联邦规范或者自由联盟ID-FF配置文件)提供了在某种程度上用于联邦用户生命周期管理的模型,但是这些现有技术的规范并没有针对以下方式:其中应当修改现有环境以便包括在规范内定义的功能性,特别是针对联邦用户生命周期管理功能性。而且,这些现有技术的规范中存在以下暗示:即现有的计算环境可能要求重大的修改以支持联邦规范,或者修改现有的计算系统以支持联邦规范可能是不实际的,由此要求布置新的计算机系统以支持联邦规范。
特别地,应当支持附加用户生命周期功能(例如链接/断开链接和单点退出),使得所述联邦用户生命周期管理(FULM)功能性不要求改变任何一方的基础结构。
当前的计算环境已经通过仅仅提供单点登录功能性或者通过使用专属协议解决了该问题。然而,这些解决方案并不扩展来允许“宽松耦合”的环境,其中在“宽松耦合”环境中很容易使新的伙伴在线或者从计算环境中移走旧的伙伴而不改变任何一侧的环境。另外,这些先前的解决方案不允许单个实体承担多个任务,例如,一项商业应当对于一个伙伴能够作为标识提供者,以及然后对于另一个伙伴能够作为服务提供者。
发明内容
根据第一方面,提供一种用于在数据处理系统内提供联邦功能性的方法,所述方法包括:在联系点功能性处接收输入的第一请求;以及响应于确定从接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理时,将得到的信息从联系点功能性发送到联邦用户生命周期管理功能性。
在一个优选实施例中,在第一服务提供者的联系点功能组件处接收来自客户端的第一请求,其中所述联系点功能组件执行第一服务提供者针对第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联。在此实施例中,所述发送步骤是响应于确定第一请求的后续处理要求先前调用联邦用户生命周期管理功能来操作的。在此实施例中,所述发送步骤包括:将第二请求从第一服务提供者的联系点功能组件发送到第一服务提供者的联邦用户生命周期管理功能组件,其中所述第二请求包含从第一请求得到的信息。
在一个优选实施例中,联系点功能组件在一个域中,其中所述域与联邦计算环境内的多个域相关联。在此实施例中,所述方法包括:利用联系点功能性分析输入的请求;并且响应于确定接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求,将接收的请求从联系点功能性发送到资源访问功能性。在此实施例中,从接收的请求得到的信息是接收的请求自身,并且在此实施例中,联邦用户生命周期管理功能性调用一个或者多个可插入模块,这些可插入模块与联邦用户生命周期管理功能性连接以便提供一个或者多个联邦用户生命周期管理功能。
根据另一个方面,提供一种用于在数据处理系统内提供联邦功能性的设备,所述设备包括:用于在联系点功能性处接收输入的第一请求的装置;以及用于响应于确定从接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理而将得到的信息从联系点功能性发送到联邦用户生命周期管理功能性的装置。
在一个优选实施例中,在第一服务提供者的联系点功能组件处接收来自客户端的第一请求,其中所述联系点功能组件执行第一服务提供者针对第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境中的多个服务提供者相关联。在此实施例中,所述发送装置是响应于确定第一请求的后续处理要求先前调用联邦用户生命周期管理功能性而动作的。在此实施例中,所述发送装置包括:用于将第二请求从第一服务提供者的联系点功能组件发送到第一服务提供者的联邦用户生命周期管理功能组件的装置,其中所述第二请求包含从第一请求得到的信息。
在一个优选实施例中,联系点功能性在一个域中,其中所述域与联邦计算环境内的多个域相关联。在此实施例中,所述设备包括:用于利用联系点功能性分析输入的请求的装置;用于响应于确定接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求而将接收的请求从联系点功能性发送到资源访问功能性的装置,其中从接收的请求得到的信息是接收的请求自身,并且其中联邦用户生命周期管理功能性通过调用一个或者多个可插入模块而对访问联邦用户生命周期管理功能的请求做出响应,这些可插入模块与联邦用户生命周期管理功能性连接。
根据另一个方面,提供一种计算机可读介质上的计算机程序产品,用于在数据处理系统中来提供联邦功能性,所述计算机程序产品包括:用于在联系点功能性处接收输入的第一请求的装置;以及用于响应于确定从接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理而将得到的信息从联系点功能性发送到联邦用户生命周期管理功能性的装置。
在一个优选实施例中,在第一服务提供者的联系点功能组件处接收来自客户端的第一请求,其中所述联系点功能组件执行第一服务提供者针对第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联。在此实施例中,所述发送装置是响应于确定第一请求的后续处理要求先前调用联邦用户生命周期管理功能性来操作的。在此实施例中,所述发送装置包括:用于将第二请求从第一服务提供者的联系点功能组件发送到第一服务提供者的联邦用户生命周期管理功能组件的装置,其中所述第二请求包括从第一请求得到的信息。
在一个优选实施例中,联系点功能性在一个域内,其中所述域与联邦计算环境中的多个域相关联。在此实施例中,所述计算机程序产品包括:用于利用联系点功能性分析输入的请求的装置;用于响应于确定接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求而将接收的请求从联系点功能性发送到资源访问功能性的装置,其中从接收的请求得到的信息是接收的请求自身,并且其中联邦用户生命周期管理功能性通过调用一个或者多个可插入模块而对访问联邦用户生命周期管理功能性的请求做出响应,这些可插入模块与联邦用户生命周期管理功能性连接。
根据另一个方面,提供一种数据处理系统,包括:联系点服务器,其中所述联系点服务器接收输入的请求;第二应用服务器,与联系点服务器连接,其中所述第二应用服务器包括用于对访问联邦用户生命周期管理功能的请求做出响应的装置。
在一个优选实施例中,输入的请求是针对一个域,其中所述域与联邦计算环境内的多个域关联。在此实施例中,所述系统包括:与联系点服务器连接的第一应用服务器,其中所述第一应用服务器包括用于对访问受控资源的请求做出响应的装置,在此第二应用服务器的用于对访问联邦用户生命周期管理功能性的请求作出响应的装置包括一个或者多个与第二应用服务器连接的可插入模块。
根据另一个方面,提供一种在数据处理系统内提供联邦功能性的方法,所述方法包括:在一个域内的联系点功能性处接收输入的请求,其中所述域与联邦计算环境内的多个域相关联;利用联系点功能性分析输入的请求;响应于确定接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求,将接收的请求从联系点功能性发送到资源访问功能性;以及响应于确定接收的请求要求通过联邦用户生命周期管理功能性的处理,将接收的请求从联系点功能性发送到联邦用户生命周期管理功能性,其中联邦用户生命周期管理功能性调用一个或者多个与联邦用户生命周期管理功能性连接的可插入模块,以便提供一个或者多个联邦用户生命周期管理功能。
根据另一个方面,提供一种在数据处理系统内提供联邦功能性的设备,所述设备包括:用于在一个域内的联系点功能性处接收输入的请求的装置,其中所述域与联邦计算环境内的多个域相关联;用于利用联系点功能性分析输入的请求的装置;用于响应于确定接收的请求是针对访问由资源访问功能性控制的资源而将接收的请求从联系点功能性发送到资源访问功能性的装置;以及用于响应于确定接收的请求是针对访问联邦用户生命周期管理功能性而将接收的请求从联系点功能性发送到联邦用户生命周期管理功能性的装置,其中联邦用户生命周期管理功能性通过调用一个或者多个与联邦用户生命周期管理功能性连接的可插入模块来对访问联邦用户生命周期管理功能的请求做出响应。
根据另一个方面,提供一种计算机可读介质上的计算机程序产品,用于在数据处理系统中来提供联邦功能性,所述计算机程序产品包括:用于在一个域内的联系点功能性处接收输入的请求的装置,其中所述域与联邦计算环境内的多个域相关联;用于利用联系点功能性分析输入的请求的装置;用于响应于确定接收的请求是针对访问由资源访问功能性控制的资源而将接收的请求从联系点功能性发送到资源访问功能性的装置;以及用于响应于确定接收的请求是针对访问联邦用户生命周期管理功能性而将接收的请求从联系点功能性发送到联邦用户生命周期管理功能性的装置,其中联邦用户生命周期管理功能性通过调用一个或者多个与联邦用户生命周期管理功能性连接的可插入模块来对访问联邦用户生命周期管理功能的请求做出响应。
根据另一个方面,提供一种数据处理系统,包括:联系点服务器,其中所述联系点服务器接收针对一个域的输入的请求,其中所述域与联邦计算环境内的多个域相关联;与联系点服务器连接的第一应用服务器,其中所述第一应用服务器包括用于对访问受控资源的请求作出响应的装置;以及与联系点服务器连接的第二应用服务器,其中所述第二应用服务器包括用于对访问联邦用户生命周期管理功能的请求做出响应的装置,其中所述用于对访问联邦用户生命周期管理功能的请求做出响应的装置包括一个或者多个与第二应用服务器连接的可插入模块。
根据另一个方面,提供一种用于在数据处理系统内提供联邦功能性的方法,所述方法包括:在第一服务提供者的联系点功能组件处接收来自客户端的第一请求,其中所述联系点功能组件执行第一服务提供者针对第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联;以及响应于确定第一请求的后续处理要求先前调用联邦用户生命周期管理功能,将第二请求从第一服务提供者的联系点功能组件发送到第一服务提供者的联邦用户生命周期管理功能组件,其中所述第二请求包含从第一请求得到的信息。
根据另一个方面,提供一种用于在数据处理系统内提供联邦功能性的设备,所述设备包括:用于在第一服务提供者的联系点功能组件处接收来自客户端的第一请求的装置,其中所述联系点功能组件执行第一服务提供者针对第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联;以及用于响应于确定第一请求的后续处理要求先前调用联邦用户生命周期管理功能而将第二请求从第一服务提供者的联系点功能组件发送到第一服务提供者的联邦用户生命周期管理功能组件的装置,其中所述第二请求包含从第一请求得到的信息。
根据另一个方面,提供一种计算机可读介质上的计算机程序产品,用于在数据处理系统中来提供联邦功能性,所述计算机程序产品包括:用于在第一服务提供者的联系点功能组件处接收来自客户端的第一请求的装置,其中所述联系点功能组件执行第一服务提供者针对第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联;以及用于响应于确定第一请求的后续处理要求先前调用联邦用户生命周期管理功能而将第二请求从第一服务提供者的联系点功能组件发送到第一服务提供者的联邦用户生命周期管理功能组件的装置,其中所述第二请求包含从第一请求得到的信息。
提供了一种系统和方法,其中联邦服务提供者优选地在联邦环境内交互以发起联邦操作。根据一个优选实施例,在第一服务提供者处提供会话管理能力的联系点组件接收来自客户端的请求。然后所述请求优选地可能使用通过客户端的重定向而被发送到第一服务提供者的联邦用户生命周期管理功能组件,所述第一服务提供者的联邦用户生命周期管理功能组件可以与第二服务提供者处的联系点组件交互以在第二服务提供者处发起联邦用户生命周期管理功能,该功能支持(enlist)所述第二服务提供者处的联邦用户生命周期管理功能组件的帮助。响应于完成所述联邦用户生命周期管理功能,优选地,然后第一服务提供者处的联系点组件接收来自第一服务提供者处的联邦用户生命周期管理功能组件的响应,并且可以进一步处理初始请求。
优选地,提供一种方法和系统,其中多个联邦域在联邦环境内交互。优选地,联邦内的域可以发起对于其它联邦域处的用户的联邦操作。优选地,一个域内的联系点服务器依赖于该域内的信任代理来管理所述域和所述联邦之间的信任关系。优选地,联系点服务器接收针对该域的输入的请求并且与第一应用服务器和第二应用服务器连接,其中优选地,所述第一应用服务器对访问受控资源的请求做出响应,以及优选地,第二应用服务器对访问联邦用户生命周期管理功能的请求做出响应,使用一个或者多个与第二应用服务器连接的可插入模块来实现联邦用户生命周期管理功能。
优选地,提供系统和方法,用于并入功能性来实现联邦规范,使得只要求对现有计算环境的基础结构进行最小修改。优选地,提供用于并入联邦用户生命周期管理功能性而对现有计算系统具有最小影响的方法和系统。
优选地,提供方法和系统,其中企业可以按照高度可配置方式实现联邦用户生命周期管理功能性。并且,优选地,该解决方案提供了对单个环境内的联邦用户生命周期管理进行多个变形的支持而不要求基础结构的改变或者FULM应用自身的附加实例。
附图说明
仅仅作为例子,并且参考以下附图,现在将说明本发明的优选实施例:
图1A示出了根据优选实施例的数据处理系统的典型网络,其中每个数据处理系统可以实现本发明;
图1B示出了根据优选实施例的可以使用在可以实现本发明的数据处理系统内的典型计算机架构;
图1C示出了描述在客户端尝试访问服务器处的受保护的资源时可以使用的典型认证处理的数据示意图;
图1D示出了可以实现本发明的典型的基于Web的环境的网络图;
图1E示出了描述可能要求来自用户的多个认证操作的典型在线业务的例子的方框图;
图2A示出了针对用户向第一联邦企业发起的业务的联邦环境的术语的方框图,其中作为响应,所述第一联邦企业调用联邦环境内的内的下游实体处的动作;
图2B示出了描述根据本发明的实施例的将给定域处的现有系统与本发明的某些联邦架构组件集成的方框图;
图2C示出了描述根据本发明的实现的联邦架构的方框图;
图2D示出了描述根据本发明的优选实施例的使用信任代理和信任中介器的联邦域之间的一组示例性信任关系的方框图;
图3A示出了根据优选实施例描述在联邦环境内用于产生断言的发起域处的一般化处理的流程图;
图3B示出了根据优选实施例描述在用于分解断言的信任域处的一般化处理的流程图;
图3C示出了根据优选实施例描述用于响应于发出域处的用户动作而将断言从发出域推向信任域的特定处理的流程图;
图3D示出了根据优选实施例描述用于响应于发出域主动截取到信任域的输出请求而将断言从发出域推向信任域的特定处理的流程图;
图3E示出了根据优选实施例描述牵拉(pu11)模型的流程图,其中信任域在尝试满足通过信任域从请求用户接收到的资源请求时向来自发出域的用户请求任何所要求的断言;
图4示出了根据优选实施例描述支持联邦单点登录操作的联邦环境的方框图;
图5示出了描述根据本发明实施例的用于实现联邦用户生命周期管理功能性的联邦域中的某些组件的方框图;
图6示出了描述根据本发明实施例的用于使用联邦用户生命周期管理功能性执行单点登录的处理的数据流示意图;
图7示出了根据优选实施例描述将信任关系管理与联邦用户生命周期管理相分离的逻辑组件的组织的方框图;
图8A示出了根据优选实施例描述联邦计算环境的逻辑功能性的高级抽象的方框图;
图8B示出了根据优选实施例描述联邦计算环境的逻辑功能性的高级抽象的方框图,其中显示了本发明可以提供将联邦功能性和联系点功能性与信任关系管理功能性相分离的方式;
图8C示出了根据优选实施例描述联邦计算环境的逻辑功能性的高级抽象的方框图,其中显示了本发明可以提供进一步将联邦操作功能性与联系点功能性相分离的方式;
图8D显示了根据优选实施例描述联邦计算环境的逻辑功能性的高级抽象的方框图,其中显示了本发明可以提供进一步将联邦操作功能性分离成联邦用户生命周期管理功能性和联邦关系管理功能性的方式;
图9A、9B和9C示出了根据优选实施例描述联邦关系包括与联邦功能性的选择相关联的信任关系的方式的维恩(Venn)图;
图10示出了根据优选实施例描述通过一对商业伙伴执行的一系列操作以在联邦计算环境内进行交互的数据流示意图;
图11示出了根据优选实施例描述商业伙伴之间进行交互从而为建立联邦关系进行准备而建立信任关系的方框图;
图12示出了根据优选实施例描述包括联邦功能性的计算环境的配置的方框图;
图13A示出了根据优选实施例描述联邦关系管理控制台应用的方框图,系统管理用户可以使用所述控制台处理在企业的计算环境内建立联邦关系;
图13B示出了根据优选实施例的显示联邦关系管理应用内的图形用户界面窗口的示意图,管理用户可以使用所述应用在联邦伙伴之间建立联邦关系;
图13C-13D示出了根据优选实施例的显示由联邦关系管理控制台应用发起的用于获得特定伙伴的数据以在企业计算环境内建立联邦关系的数据流的方框图;以及
图14示出了根据优选实施例的显示一个处理的流程图,其中通过使用在联邦伙伴之间交换的导出/导入文件以自动方式建立联邦关系,所述联邦伙伴通过所述联邦关系交互。
具体实施方式
通常,可以包括本发明或者可以涉及本发明的设备包括各种数据处理技术。因此,作为背景,在更详细地描述本发明之前,先描述分布式数据处理系统内的硬件和软件组件的典型组织。
现在参考附图,图1A示出了数据处理系统的典型网络,其中每个数据处理系统可以实现本发明的优选实施例。分布式数据处理系统100包括网络101,其中网络101是可以用来提供在分布式数据处理系统100内连接在一起的各种设备和计算机之间的通信链路的媒介。网络101可以包括例如线缆或者光纤电缆的永久连接,或者通过电话或无线通信实现的临时连接。在所示的例子中,服务器102和服务器103以及存储单元104连接到网络101。并且,客户端105-107也连接到网络101。可以通过各种计算设备表示客户端105-107和服务器102-103,其中所述计算设备例如为主机、个人计算机、个人数字助理(PDA)等等。分布式数据处理系统100可以包括没有示出的附加的服务器、客户端、路由器、其它设备以及对等架构。
在所示的例子中,分布式数据处理系统100可以包括因特网,具有代表网络和网关的全球集合的网络101,所述网络和网关用各种协议相互进行通信,例如LDAP(轻型目录访问协议)、TCP/IP(传输控制协议/网际互联协议)、HTTP(超文本传输协议)等等。当然,分布式数据处理系统100还可以包括多个不同类型的网络,例如内联网、局域网(LAN)或者广域网(WAN)。例如,服务器102直接支持客户端109和网络110,网络110包含无线通信链路。支持网络的电话111通过无线链路112连接到网络110,并且PDA113通过无线链路114连接到网络110。电话111和PDA113还可以使用适当的技术(例如BluetoothTM无线技术)通过无线链路115在它们自身之间直接传送数据,以产生所谓的个人区域网或者个人专用网。按照类似方式,PDA113可以经由无线通信链路116传送数据到PDA107。
本发明可以在各种硬件平台和软件环境中实现。图1A意欲在于作为异构计算环境的一个例子,并非作为对于本发明的架构限制。
现在参考图1B,示意图示出了其中可以实现本发明的数据处理系统的典型计算机架构,所述数据处理系统例如为图1A所示的那些数据处理系统。数据处理系统120包含连接到内部系统总线123的一个或者多个中央处理单元(CPU)122,所述内部系统总线123对随机访问存储器(RAM)124、只读存储器126以及输入/输出适配器128进行互连,所述输入/输出适配器128支持各种I/O设备,例如打印机130、盘单元132或者其它未示出的设备,例如音频输出系统等等。系统总线123还连接提供对通信链路136的访问的通信适配器134。用户接口适配器148连接各种用户设备,例如键盘140和鼠标142、或者其它未示出的设备,例如触摸屏、手写笔、麦克风等等。显示适配器144将系统总线123连接到显示设备146。
本领域普通技术人员将理解,图1B中的硬件可以根据系统实现而变化。例如,系统可以具有一个或者多个处理器,例如基于IntelPentium的处理器和数字信号处理器(DSP),以及一种或者多种类型的易失和非易失存储器。结合图1B所示的硬件或者替代图1B所示硬件,还可以使用其它外围设备。所示的例子并非隐含着对于本发明的架构限制。
除了能够在各种硬件平台上实现外,本发明还可以在各种软件环境中实现。可以使用典型的操作系统来控制每个数据处理系统内的程序执行。例如,一个设备可以运行Unix操作系统,而另一个设备包含简单的Java运行时间环境。代表性的计算机平台可以包括浏览器,浏览器是用于访问各种格式的超文本文档的公知软件应用,所述各种格式例如为图形文件、文字处理文件、扩展标记语言(XML)、超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML)以及各种其它文件格式和类型。还应当注意,图1A所示的分布式数据处理系统被考虑为完全能够支持各种对等子网络和对等服务。
现在参考图1C,数据流示意图描述了在客户端尝试访问服务器处的受保护的资源时可以使用的典型认证处理。如图所示,客户端工作站150处的用户寻求通过在客户端工作站上执行的用户Web浏览器经由计算机网络来访问服务器151上的受保护的资源。受保护或者受控制的资源是指访问受控或者受限的资源(应用、对象、文档、页面、文件、可执行代码或者其它计算资源、通信类型资源等等)。通过统一资源定位符(URL)来标识受保护的资源,或者更具体的说,通过统一资源标识符(URI)来标识受保护的资源,其中仅能由认证和/或授权的用户来访问该受保护的资源。如图1A或者图1B所示,计算机网络可以为因特网、内联网或者其它网络,并且服务器可以为Web应用服务器(WAS)、服务器应用,服务小程序(servlet)处理等等。
当用户请求服务器侧的受保护的资源(例如域“ibm.com”内的Web页面)时,发起处理(步骤152)。术语“服务器侧”和“客户端侧”分别指联网环境内的服务器或者客户端处的动作或者实体。Web浏览器(或者相关联的应用或者小程序(applet))产生HTTP请求(步骤153),该请求被发送到托管(host)域名“ibm.com”的Web服务器。术语“请求”和“响应”应当理被解为包括适合于传送在特定操作中涉及的信息(例如消息、通信协议信息或者其它相关联的信息)的数据格式化。
服务器确定它不具有对于客户端的活动会话(步骤154),因此服务器发起并且完成服务器和客户端之间的SSL(安全套接字层)会话的建立(步骤155),这需要在客户端和服务器之间多次传送信息。在建立SSL会话之后,在SSL会话内传送后续通信消息;任何秘密信息由于SSL会话内的加密通信消息而保持安全。
然而,服务器在允许用户访问受保护的资源之前需要确定用户的标识,从而服务器通过发送某种类型的认证质询到客户端而要求用户执行认证处理(步骤156)。认证质询可以为各种格式,例如HTML形式。然后用户提供所请求或者所要求的信息(步骤157),例如用户名或者其它类型的用户标识符以及相关联的密码或者其它形式的秘密信息。
将认证响应信息发送到服务器(步骤158),此时服务器例如通过取回先前提交的注册信息并且将提供的认证信息与用户的存储信息进行匹配来认证用户或者客户端(步骤159)。假定认证成功,则对于认证的用户或者客户端建立活动会话。服务器为客户端创建会话标识符,并且在该会话内来自客户端的任何后续请求消息会附随有会话标识符。
然后服务器取回初始请求的Web页面并且发送HTTP响应消息到客户端(步骤160),由此满足用户对于受保护的资源的初始请求。此时,用户可以通过点击浏览器窗口内的超文本链接来请求“ibm.com”内的另一个页面(步骤161),并且浏览器发送另一个HTTP请求消息到服务器(步骤162)。此时,服务器识别用户具有活动会话(步骤163),因为在HTTP请求消息中用户的会话标识符被返回到服务器,并且服务器在另一个HTTP响应消息中将所请求的Web页面发送回到客户端(步骤164)。尽管图1C示出了典型的现有技术的处理,但是应当注意,可以示出其它可替换的会话状态管理技术,例如URL重写或者使用曲奇(cookies)标识具有活动会话的用户,这可以包括使用与用于提供认证证明的cookies相同的cookies。
现在参考图1D,网络图描述了其中可以实现本发明的典型的基于Web的环境。在此环境中,客户端171处的浏览器170的用户期望访问DNS域173中的Web应用服务器172或者DNS域175中的Web应用服务器174上的受保护的资源。
按照类似于图1C所示的方式,用户可以请求在许多域中的一个域处的受保护的资源。与仅示出在特定域处的单个服务器的图1C相比,图1D中的每个域具有多个服务器。特别地,每个域可以具有相关联的认证服务器176和177。
在此例子中,在客户端171发出对域173处的受保护的资源的请求之后,Web应用服务器172确定它没有对于客户端171的活动会话,并且它请求认证服务器176对客户端171执行适当的认证操作。认证服务器176将认证操作的结果发送到Web应用服务器172。如果用户(或者代表用户的浏览器170或者客户端171)被成功认证,则Web应用服务器172建立对于客户端171的会话并且返回所请求的受保护的资源。通常,一旦用户被认证服务器认证,则可以设置cookie并将其存储在在浏览器中的cookie高速缓存中。图1D仅是其中在多个服务器之间共享域的处理资源(特别是执行认证操作)的一个方式的例子。
按照类似方式,在客户端171发出对域175处的受保护的资源的请求之后,认证服务器177对客户端171执行适当的认证操作,此后,Web应用服务器174建立对于客户端171的会话并且返回所请求的受保护的资源。因此,图1D描述了客户端171可以具有在不同域中的多个同时发生的会话,但是仍然被要求完成多个认证操作以建立这些同时发生的会话。
现在参考图1E,方框图示出了可能要求用户进行多个认证操作的典型的在线业务的例子。再次参考图1C和图1D,如图1C所示,可以要求用户在获得对受控资源的访问之前完成认证操作。尽管图1C中没有示出,但可以在服务器151上布置认证管理器,以取回并且使用认证用户所要求的用户信息。如图1D所示,用户可以具有在不同域173和175内的多个同时发生的会话,以及尽管在图1D中没有显示,但每个域可以使用认证管理器替代认证服务器,或者使用认证管理器以及认证服务器。按照类似方式,图1E也示出了一组域,每个域支持某种类型的认证管理器。图1E描述了用户在访问要求用户完成对于每个域的认证操作的多个域时可能遇到的一些困难。
用户190可以在ISP域191处注册,ISP域191可以支持认证管理器192,认证管理器192为了针对域191完成业务的目的而对用户190进行认证。ISP域191可以是因特网服务提供者(ISP),所述因特网服务提供者(ISP)提供因特网连接服务、电子邮件服务以及可能的其它电子商务服务。可替换地,ISP域191可以是用户190频繁访问的因特网门户。
类似地,域193、195和197表示典型的Web服务提供者。政府域193支持认证管理器194,认证管理器194对用户进行认证用以完成各种与政府相关的业务。银行域195支持认证管理器196,认证管理器196对用户进行认证用以完成与在线银行的业务。电子商务域197支持认证管理器198,认证管理器198对用户进行认证用以完成在线采购。
如前所述,当用户试图通过访问不同域处的资源而在因特网或者万维网内从一个域移动到另一个域时,用户可能经历多个用户认证请求或者要求,这可以显著地减缓用户穿过一组域的进程。使用图1E作为示例性的环境,用户190可能涉及与电子商务域197的复杂在线业务,其中用户尝试购买仅限于至少18岁并且具有有效驾驶证、有效信用卡以及美国银行账户的用户的在线服务。该在线业务可能涉及到域191、193、195和197。
通常,用户可能没有在参加典型的在线业务的每个域内都维持标识和/或属性。在此例子中,用户190可能在用户的ISP中注册了他或她的标识,但是为了完成在线业务,还可能要求用户向域193、195和197进行认证。如果并不是每个域都维持对于该用户的标识,则用户的在线业务就可能失败。即使用户可以被每个域认证,也不能保证不同域可以在它们自身之间传送信息以便完成用户的业务。对于图1E所示的用户190,不存在允许用户190认证到第一Web站点(例如ISP191)然后将认证令牌传送到其它Web服务提供者(例如域193、195和197)用以实现单点登录目的的现有技术环境。
给出了某些当前技术的上述简要说明,剩余附图的说明涉及其中本发明可以操作的联邦计算机环境。然而在更详细地讨论本发明的优选实施例之前,引入某些术语。
术语
术语“实体”或者“方”通常是指组织、个人、或者代表组织或个人操作的系统、或者其它系统。术语“域”意味着网络环境内的附加特性,但是可以互换地使用术语“实体”、“方”和“域”。例如,术语“域”还可以指DNS(域名系统)域,或者更一般地,术语“域”还可以指包括对外部实体表现为逻辑单元的各种设备和应用的数据处理系统。
术语“请求”和“响应”应当被理解为包括适合于传送在特定操作中涉及的信息(例如消息、通信协议信息或者其它相关联的信息)的数据格式化。受保护的资源是访问受到控制或者限制的资源(应用、对象、文档、页面、文件、可执行代码或者其它计算资源、通信类型资源等等)。
令牌提供成功操作的直接证据并且是由执行操作的实体产生的,例如,在成功的认证操作之后产生的认证令牌。Kerberos令牌是可以在本发明中使用的认证令牌的一个例子。关于Kerberos的更多信息可以参见Kohl等人的“The Kerberos Network AuthenticationService(V5)”,Internet Engineering Task Force(IETF)Requestfor Comments(RFC)1510,09/1993。
断言(assertion)提供某些动作的间接证据。断言可以提供标识、认证、属性、授权决策或者其它信息和/或操作的间接证据。认证断言提供由实体进行的认证的间接证据,其中所述实体并不是认证服务,但是监听认证服务。
安全断言标记语言(SAML)断言是可以在本发明中使用的可能的断言格式的一个例子。SAML由作为非盈利全球组织的结构化信息标准促进组织(Organization for the Advancement of StructuredInformation Standards:OASIS))所发布。在“Assertions andProtocol for the OASIS Security Assertion Markup Language(SAML)”,Committee Specification 01,05/31/2002中描述了SAML,如下:
安全断言标记语言(SAML)是用于交换安全信息的基于XML的框架。该安全信息表示为关于主体的断言的形式,其中主体是在某个安全域中具有标识的实体(自然人或者计算机)。主体的典型的例子为个人,其中通过他或她在特定因特网DNS域中的电子邮件地址来标识该个人。断言可以传达关于由主体所执行的认证动作的信息、主体属性、以及关于是否允许主体访问某些资源的授权决策。断言可以表示为XML构造并且具有嵌套(nested)结构,由此单个断言可以包含关于认证、授权和属性的若干不同的内部声明。请注意,包含认证声明的断言仅描述先前发生的认证动作。断言是通过SAML授权方(即认证授权方、属性授权方以及决策点)发出的。SAML定义了客户端可以从SAML授权方请求断言并且从SAML授权方获取响应的协议。该协议由基于XML的请求和响应消息格式组成,该协议可以绑定到许多不同的底层通信和传输协议;SAML当前定义了一个绑定,基于HTTP的SOAP(SOAP over HTTP)。SAML授权方可以使用各种信息源(例如外部策略存储库和作为输入在请求中收到的断言)来产生它们的响应。因此,客户端总是在使用断言,而SAML授权方可以同时是断言的生成者和使用者。
SAML规范描述了断言是提供发起者做出的一个或者多个声明的信息包。SAML允许发起者做出三种不同类型的断言声明:认证,其中在特定时间通过特定装置来认证指定主体;授权,其中授权或者拒绝允许指定主体访问指定资源的请求;以及属性,其中指定主体与提供的属性相关联。如下进一步所讨论的,在需要时,可以将各种断言格式转换为其它断言格式。
认证是确认由用户提供的或者代表用户提供的一组证书的处理。通过确认用户知道的事物、用户具有的事物及用户作为的事物,即关于用户的某些物理特性,来完成认证。用户知道的事物可以包括共享秘密,例如用户密码,或者通过确认仅对特定用户所知的某事物,例如用户的加密密钥。用户具有的事物可以包括智能卡或者硬件令牌。关于用户的某些物理特性可以包括生物特征输入,例如指纹或者视网膜图。
认证证书是各种认证协议中使用的一组质询/响应信息。例如,用户名和密码组合是最常见的认证证书形式。其它形式的认证证书可以包括各种形式的质询/响应信息、公钥基础结构(PKI)证书、智能卡、生物特征等等。认证证书在如下方面与认证断言不同:认证证书是由用户利用认证服务器或者服务做伪认证协议序列的一部分提供的,而认证断言是关于用户的认证证书的成功提供和确认的声明,在需要时,该声明随后在实体之间传送。
区分现有技术的单点登录解决方案
如上所述,现有技术的单点登录局限于同构环境,其中在参加的企业之间预先建立了商业协议。这些商业协议在企业之间建立信任并且定义信息的安全传送。这些商业协议还包括关于如何将用户标识从一个企业转换或者映射到另一个企业以及如何在参加企业之间传送用来证明用户的信息的规则的技术协议。
换言之,现有的单点登录解决方案允许一个企业基于预先协商或者预先配置的协议而信任由不同企业产生的认证断言(以及断言中提供的用户的标识)。每个不同的企业知道如何创建和解释可以被已经交换类似协议的其它企业理解的认证断言,例如电子商务市场内的企业。这些同构环境是紧凑耦合的,因为存在企业知道的用于在这些系统间映射用户标识的确定性关系。由于用来建立单点登录环境的商业协议,因此这种紧凑耦合是可能的。
本发明的优选实施例的联邦模型
在万维网上下文中,用户日益希望能够从与在一个因特网域上的一个应用进行交互跳跃到与另一个域上的另一个应用进行交互,同时最小化对每个特定域之间的信息阻碍的考虑。用户不希望由于为了单个业务必须认证到多个域而引起的挫折。换言之,用户希望组织应当协同工作,但是用户通常希望域尊重他们的隐私。并且,用户可能更喜欢限制永久存储私人信息的域。这些用户希望存在于快速发展的异构环境中,其中许多企业和组织正在发布竞争性的认证技术。
与现有技术中的系统相比,根据一个优选实施例,本发明提供了一种联邦模型,用于允许企业为用户提供单点登录体验。换言之,根据一个优选实施例,本发明支持联邦的异构环境。作为例子,再次参考图1E,用户190能够认证到域191,并且然后使域191提供适当的断言给业务中可能涉及的每个下游域。即使在域191和这些其它下游域之间并不存在预先建立的断言格式,这些下游域还是需要能够理解并且信任认证断言和/或其它类型的断言。除了识别断言之外,下游域还需要能够将断言内包含的标识转换为代表特定域内的用户190的标识,即使并不存在预先建立的标识映射关系。然而,应当注意,本发明可以应用到各种类型的域,而不限于图1E所示的作为示例性的域的ISP类型域。
本发明针对一种联邦环境。通常,企业具有它自己的用户注册表并且维持与它自己的用户组的关系。每个企业通常具有它自己的认证这些用户的手段。然而,本发明的优选实施例的联邦方案允许企业按照集体的方式协作,使得在一个企业中的用户可以通过企业参加到企业联邦中而利用(leverage)与一组企业的关系。用户可以被授权访问任何联邦企业处的资源,好像它们与每个企业具有直接关系。不要求用户在感兴趣的每个商业处注册,并且通常不要求用户标识和认证他们自己。因此,在该联邦环境内,认证方案允许在信息技术中高速发展的异构环境内提供单点登录体验。
在本发明的优选实施例中,联邦是一组不同实体,例如企业、组织、机构等等,这些实体互相协作以向用户提供单点登录并且简单易用的体验。在本发明的优选实施例中,联邦环境在如下方面不同于典型的单点登录环境,即两个企业不需要具有直接的预先建立的关系用以定义如何传送关于用户的信息和传送关于用户的哪些信息。在联邦环境内,实体提供服务,其中该服务处理认证用户,接受其它实体提供的认证断言,例如认证令牌,以及提供将证明用户的标识转换成在本地实体内被理解的标识的某种形式。
联邦减轻了服务提供者的管理负担。服务提供者可以依赖于针对整个联邦的信任关系;服务提供者并不需要管理认证信息,例如用户密码信息,因为它可以依赖于用户的认证归属域/标识提供者完成的认证。
根据优选实施例,本发明还涉及一种联邦标识管理系统,该系统建立了其中宽松耦合的认证、用户登记、用户配置文件(profile)管理和/或授权服务在安全域间协作的基础。联邦标识管理允许驻留在不同的安全域中的服务安全地进行协同工作和协作,尽管在这些不同域处的底层安全机制和操作系统平台中存在差异。一旦用户建立了它们参加联邦,则建立了单点登录体验。
归属域或者标识提供者与信任域或者服务提供者
如同下文更加详细解释的,本发明提供了极大的用户受益。根据一个优选实施例,本发明允许用户在第一实体处进行认证,所述第一实体在下文中也称为用户的归属域、用户的认证归属域、或者用户的标识提供者。所述第一实体可以作为发出方,其发出关于用户的认证断言以供在第二实体处使用,第二实体可以被认为是一般化的服务提供者。然后用户可以通过提供由第一实体发出的认证断言而访问第二不同实体(被称为信任方)处的受保护的资源,而并不需要在第二实体(即服务提供者)处进行明确的再次认证。从发出方传递到信任方的信息为断言的形式,并且所述断言可以包含不同类型的声明形式的信息。1例如,断言可以是关于用户的认证标识的声明,或者它可以是关于与特定用户相关联的用户属性信息的声明。
现在参考图2A,方框图示出了主针对用户向第一联邦企业发起的业务的联邦环境的术语,其中作为响应,所述第一联邦企业调用联邦环境内的下游实体处的动作。图2A显示了对于给定联邦操作该术语根据联邦内实体方面而不同。更具体的说,图2A描述了根据一个优选实施例本发明支持信任的传递性和认证断言处理的传递性;一个域可以基于它对由另一个域断言的标识的信任而发出断言。用户202通过请求企业204处的受保护的资源而发起业务。如果用户202被企业204认证或者在业务过程中最终被企业204认证,则对于该联邦会话,企业204是用户的归属域,即用户的标识提供者。假定业务要求由企业206进行某种类型的操作,并且企业204传送断言到企业206,则企业204针对该特定操作是发出域,而企业206对于该操作是信任域;换言之,企业206对于当前业务是服务提供者。假定业务要求进一步操作使得企业206传送断言到企业208,则企业206针对所请求的操作是发出域,并且企业208对于该操作是信任域。在此情况下,企业208可以被认为是另一个下游服务提供者,尽管联邦业务通常可以被描述为仅涉及两个域,即标识提供者和服务提供者。
在优选实施例的联邦环境中,用户进行认证的域被称为用户的(认证)归属域或者用户的标识提供者。标识提供者维持认证证书,所述认证证书可以由用户的雇主、用户的ISP或者某些其它商业实体物理地支持。尽管在联邦环境内可能存在多个企业可能作为用户的归属域,因为可以存在多个企业有能力产生并且确认用户的认证证书,但是联邦业务通常可以被描述为仅涉及单个标识提供者。
从认证角度来说,认证断言的发出方通常为用户的标识提供者,即用户的认证归属域。用户的归属域可以维持或者不维持用户的个人信息或者配置文件信息。因此,从涉及个人可识别的信息、个性化信息或者其它用户属性的属性角度而言,属性断言的发出方可以是或者不是用户的归属域。为了避免混淆,可以对于属性归属域和认证归属域采用不同的术语,但是下面所述的术语“归属域”可以被解释为是指认证归属域。
然而在给定的联邦会话的范围内,通常存在并且仅存在一个域作为用户的标识提供者,即用户的归属域。一旦用户被认证到该域,则联邦中的所有其它域或者企业在该会话期间仅被当作服务提供者,即信任方。
假定本发明优选地提供一种联邦基础结构,其可以添加到现有系统同时最小化对现有的非联邦架构的影响,在用户的归属域处的认证并不一定由于归属域也可以参加到联邦环境内的事实而改变。换言之,尽管归属域可以被集成到根据本发明的优选实施例实现的联邦环境内,但用户在用户的归属域处执行认证操作时应当具有相同的终端用户体验。然而,应当注意,并不是给定企业的所有用户都必须参加联邦环境。
而且,用户注册(例如用户账户的建立)并不一定由于归属域也可以参加到联邦环境内的事实而改变。例如,用户仍然可以通过独立于联邦环境的传统的或者预先存在的注册处理而在一个域处建立账户。换言之,在归属域处建立用户账户可以包括或者不包括例如经由标识转换信息而建立在整个联邦上有效的账户信息。然而,如果存在能够认证用户的单个联邦域,即联邦内存在一个并且仅存在一个用户注册的域,则希望该域作为用户的归属域或者标识提供者,以便在整个联邦环境中支持用户的业务。
如果用户在联邦环境内具有多个可能的归属域,则用户可以经由多于一个入口点进入联邦。换言之,用户可以在能够作为用户的标识提供者的多个域处具有账户,并且这些域并不一定具有关于其它域的信息或者关于用户在其它域的标识的信息。
尽管用户进行认证的域被称为用户的归属域或者用户的标识提供者,但是发出域是发出断言以供其它域(即信任域)使用的联邦实体。发出域通常是但不是必须是用户的归属域或者用户的标识提供者。因此,通常情况是发出方通过如上所述的典型的认证协议对用户进行认证。然而,发出方可能先前已经用作信任方,由此它从不同的发出方接收断言。换言之,由于用户发起的业务可能通过联邦环境内的一系列企业而级联,所以接收方在稍后可能作为对于下游业务的发出方。通常,任何有能力代表用户发出认证断言的域都可以作为发出域。
信任域是从发出方接收断言的域。信任方能够接受、信任并且理解由代表用户的第三方(即发出域)发出的断言。通常,信任方的职责是使用适当的认证授权方解释认证断言。另外,信任方可能能够认证特定用户,即作为用户的归属域或者标识提供者,但是也可能信任方不能通过传统方法认证特定用户。因此,信任方是依赖于由用户提供的认证断言并且为用户提供单点登录体验而不是作为与用户的交互式会话的一部分提示用户提供用户的认证证书的域或者企业。
联邦架构——用于传统系统的联邦前端
现在参考图2B,方框图示出了根据本发明的实施例将给定域处的预先存在的系统与本发明的某些联邦架构组件进行集成。联邦环境包括为用户提供各种服务的联邦实体。用户212与客户端设备214交互,客户端设备214可以支持浏览器应用216和其它各种客户端应用218。用户212不同于客户端设备214、浏览器216或者作为用户与其它设备和服务之间的接口的任何其它软件。在某些情况下,下面的描述可以在客户端应用内明确动作的用户与代表用户动作的客户端应用之间进行区分。然而,通常,请求者可以认为是代表用户进行动作的中介,例如基于客户端的应用、浏览器、SOAP客户端等等。
浏览器应用216可以为典型的浏览器,包括移动设备上看到的浏览器,其包括多个模块,例如HTTP通信组件220和标记语言(ML)解释器222。浏览器应用216还可以支持插件,例如Web服务客户端224和/或可下载的小程序(applet),所述小程序可以要求或者不要求虚拟机运行时间环境。Web服务客户端224可以使用简单对象访问协议(S0AP),简单对象访问协议是用于定义分散的分布式环境中的结构化和类型化的信息的交换的轻型协议。SOAP是基于XML的协议,其由三个部分组成:封套(envelope),封套定义用于描述在消息中的是什么以及如何对其进行处理的框架;一组编码规则,用于表达应用定义的数据类型的实例;以及用于表示远程程序调用和响应的约定。用户212可以使用浏览器应用216访问基于Web的服务,但是用户212也可以通过客户端设备214上的其它Web服务客户端访问Web服务。在下面的附图中显示的本发明的一些例子采用通过用户浏览器的HTTP重定向来在联邦环境中的实体之间交换信息。然而,应当理解,本发明可以在各种通信协议上实现,而并不限于基于HTTP的通信。例如,联邦环境中的实体可以在需要时直接进行通信,并不要求通过用户的浏览器对消息进行重定向。
可以实现本发明,使得可以将对于联邦环境所要求的组件与预先存在的系统相集成。图2B示出了用于将这些组件作为前端实现到预先存在的系统中的一个实施例。联邦域处的预先存在的组件可以被认为是传统应用或者后端处理组件230,其包括按照与图2C所示类似的方式的认证服务运行时间(ASR)服务器232。在域控制对应用服务器234的访问时,ASR服务器232负责认证用户,其中应用服务器234可以被认为用来产生、取回或者支持或处理受保护的资源235。所述域可以继续使用传统的用户注册应用236来注册用于访问应用服务器234的用户。认证注册用户所需要的信息存储在传统的用户注册表238中。
在加入联邦环境之后,域可以继续工作而不会受到联邦组件的干扰。换言之,域可以被配置为使得用户可以继续直接访问特定应用服务器或者其它受保护的资源而不需要通过联系点服务器或者实现所述联系点服务器功能性的其它组件;在这种方式下访问系统的用户会体验到典型的认证流程和典型的访问。然而,这样做时,直接访问传统系统的用户将不能建立为该域的联系点服务器所知道的联邦会话。
域的传统功能性可以通过使用联邦前端处理240而被集成到联邦环境中,联邦前端处理240包括联系点服务器242和信任代理服务器244(或者更简单的说,信任代理244或者信任服务244)以及联邦用户生命周期管理服务器/服务246,信任代理服务器244自身与安全令牌服务(STS)245交互,所有这些在下文参考图2C将更加详细描述。联邦配置应用247允许管理用户配置联邦前端组件从而允许它们通过联邦接口单元248与传统后端组件连接。
给定企业处的传统或者预先存在的认证服务可以使用各种公知的认证方法或者令牌,例如用户名/密码或者基于智能卡令牌的信息。然而,利用优选实施例,可以通过使用联系点服务器而在联邦环境中使用传统认证服务的功能性。虽然按照这种方式访问系统的用户会体验到典型的认证流程和典型的访问,但用户可以继续直接访问传统认证服务器而不需要经过联系点服务器;直接访问传统认证系统的用户不能产生根据优选实施例的联邦认证断言作为标识证明。联邦前端的任务之一是将在联系点服务器处接收到的联邦认证令牌转换为传统认证服务理解的格式。因此,通过联系点服务器访问联邦环境的用户不必被要求再次认证到传统认证服务。优选地,用户会通过联系点服务器和信任代理的结合而被认证到传统认证服务,使得看起来如同用户在进行认证对话一样。
联邦架构——联系点服务器、信任代理和信任中介器
现在参考图2C,方框图示出了根据本发明优选实施例的实现的联邦架构。联邦环境包括为用户提供各种服务的联邦企业或者类似的实体。用户可试图通过客户端设备上的应用来访问各个实体(例如企业250)处的资源。每个联邦企业处的联系点服务器(例如企业250处的联系点(POC)服务器252)是用户进入联邦环境的入口点。联系点服务器最小化了对现有的非联邦架构(例如传统系统)中的现有组件的影响,因为联系点服务器处理了大量联邦要求。联系点服务器提供会话管理、协议转换,并且可能发起认证和/或属性断言转换。例如,联系点服务器可以将HTTP或者HTTPS消息转换为SOAP,反之亦然。如同下文更加详细解释的,联系点服务器还可以被用于调用信任代理以转换断言,例如从发出方接收到的SAML令牌可以被转换为接收方理解的Kerberos令牌。
信任代理(信任代理服务器或者信任服务)(例如企业250处的信任代理(TP)254)建立并且维持联邦中两个实体之间的信任关系。信任代理通常有能力处理从发出方使用的格式到接收方理解的格式的认证令牌格式转换(通过安全令牌服务,这在下文将更详细描述)。
并且,使用联系点服务器和信任代理最小化了在现有的非联邦的系统组上实施联邦架构的影响。因此,优选实施例的联邦架构要求对每个联邦实体实现至少一个联系点服务器和至少一个信任代理,无论该实体是企业、域还是其它逻辑或物理实体。但是,优选实施例的联邦架构并不要求对现有的非联邦的系统组进行任何改变。优选地,对于给定联邦实体存在单个信任代理,尽管为了可利用性目的可以存在多个信任代理,或者对一个联邦实体内的多个更小实体(例如企业内的独立的分支)可以存在多个信任代理。给定实体可能属于多个的联邦,但是这种情况并不一定要求多个信任代理,因为单个信任代理可以管理多个联邦内的信任关系。
信任代理的一个任务可以是确定或者负责确定另一个域和/或该域中的信任代理所要求的令牌类型。信任代理有能力或者有责任处理从发出方使用的格式到接收方理解的格式的认证令牌格式转换。信任代理254还可以负责进行对于企业250发生的任何用户标识转换或者属性转换。并且,信任代理可以支持实现作为用户标识的代表的别名(aliases),所述用户标识唯一地标识用户而不需要提供关于用户的现实世界标识的任何附加信息。而且,信任代理可以发出授权和/或会话证书以供联系点服务器使用。然而,正如下文将进一步描述的,信任代理可以调用信任中介器进行帮助。可以要求标识转换,以将发出方所知的用户标识和属性映射为对接收方有意义的标识和属性。这种转换可以由发出域处的信任代理调用,或者接收域处的信任代理调用,或者由发出域处的信任代理和接收域处的信任代理两者进行调用。
信任代理254可以包括内部化组件(或者与其交互),所述内部化组件显示为安全令牌服务(STS)组件255,安全令牌服务(STS)组件255将提供令牌转换并且将调用认证服务运行时间(ASR)256以确认并且产生令牌。安全令牌服务提供信任代理所要求的令牌发出和确认服务,其可以包括标识转换。因此安全令牌服务包括到现有认证服务运行时间的接口,或者它将认证服务运行时间并入在自身的服务中。除了内部化在该信任代理内,安全令牌服务组件还可以被实现为单独的组件,例如通过信任代理调用的组件,或者可以内部化在业务服务器内,例如作为应用服务器的一部分。
例如,STS组件可以接收请求以发出Kerberos令牌。作为针对其产生令牌的用户的认证信息的一部分,所述请求可以包括具有用户名和密码的二进制令牌。STS组件将针对例如LDAP运行时间来确认用户名和密码(典型的认证),并且将调用Kerberos KDC(密钥分配中心)以产生对于该用户的Kerberos票。该令牌被返回到信任代理以在企业内使用;然而,这种使用可以包括对所述令牌进行外部化,用以传送到联邦中的其它域。
按照与参考图1D所描述的类似的方式,用户可能期望访问联邦环境内多个企业处的资源,例如访问企业250和企业260处的资源。按照与上述对于企业250描述的类似的方式,企业260包括联系点服务器262、信任代理264、安全令牌服务265以及认证服务运行时间266。尽管用户可以直接发起与每个企业的单独业务,但用户可以发起在整个联邦环境中级联的与企业250的业务。即使用户在发起业务时可能没有意识到这种必要性,企业250也可要求与联邦环境内的多个其它企业(例如企业260)协作以完成特定业务。企业260作为下游域被引入,并且根据优选实施例,本发明允许企业250在需要时提供联邦断言给企业260从而推进用户的业务。
可能存在信任代理不知道如何解释由相关的联系点服务器接收到的认证令牌和/或如何转换给定用户标识和属性的情况。在此情况下,信任代理可以选择调用信任中介器组件(例如信任中介器268)处的功能性。信任中介器维持与各个信任代理的关系,由此提供信任代理之间的过渡(transitive)信任。使用信任中介器允许联邦环境内的每个实体(例如企业250和260)建立与信任中介器的信任关系而不是与联邦环境内的每个域建立多个独立的信任关系。例如,当企业260作为对用户在企业250处发起的业务的下游域而被引入时,企业250处的信任代理254在需要时可以通过调用信任中介器268处的帮助来确保企业260处的信任代理264可以理解来自信任代理254的断言。尽管图2C示出了具有单个信任中介器的联邦环境,但联邦环境可以具有多个信任中介器。
应当注意,尽管图2C示出了联系点服务器252、信任代理254、安全令牌服务组件255以及认证服务运行时间256作为不同实体,但是这些组件不一定被实现在分开的设备上。例如,这些分开的组件的功能性可以被实现为在单个物理设备上的应用或者被组合在单个应用中。并且,图2C示出了对于企业的单个联系点服务器、单个信任代理以及单个安全令牌服务器,但是可替换配置可以包括对于每个企业的多个联系点服务器、多个信任代理以及多个安全令牌服务器。所述联系点服务器、信任代理、安全令牌服务以及其它联邦实体可以实现为各种形式,例如软件应用、对象、模块、软件库等等。
信任代理/STS能够接受并且确认许多不同的认证证书,包括传统的证书,例如用户名和密码组合和Kerberos票,以及联邦认证令牌格式,包括第三方产生的认证令牌。此外,信任代理/STS可以允许接受认证令牌作为认证证明。认证令牌是由发出方产生的,并且用于表示用户已经被认证到所述发出方。发出方产生认证令牌作为用于断言用户的认证标识的手段。信任代理/STS还能够处理属性令牌或者用于确保通信会话或者交谈安全的令牌,例如用于按照类似于SSL会话标识符的方式管理会话信息的令牌。
安全令牌服务在需要时调用认证服务运行时间。认证服务运行时间支持能够认证用户的认证服务。认证服务用作通过认证响应来提供成功的或者失败的认证尝试的指示的认证授权方。例如在存在全新的不需要与现有的传统基础结构交互的Web服务安装的情况下,信任代理/STS可以内部化认证服务。否则,STS组件会调用外部认证服务以确认认证令牌。例如,STS组件可以“解包(unpack)”包含用户名/密码的二进制令牌并且然后使用LDAP服务以访问用户注册表从而确认所提供的证书。
当被其它组件(例如应用服务器)使用时,STS组件可以用于产生单点登录到传统认证系统所要求的令牌。因此,STS组件可以用于内部目的(即企业内部)和外部目的(即联邦中的企业之间)的令牌转换。作为内部目的的例子,Web应用服务器可以经由IBM CICS(用户信息控制系统)业务网关连接到主机。CICS是一系列应用服务器和连接器,用于提供企业级的在线业务管理和用于关键任务应用的连接性。Web应用服务器可以调用STS组件以将(如同Web应用服务器内部使用的Kerberos票)转换为CICS业务网关所要求的IBM RACF通行票。
可以使用以上引入的术语,例如“发出方”和“信任方”或者“标识提供者”和“服务提供者”,来解释图2C所示的实体。作为建立和维持信任关系的一部分,标识提供者的信任代理可以确定服务提供者的信任代理要求/接受哪些令牌类型。因此,信任代理在从安全令牌服务调用令牌服务时使用该信息。当要求标识提供者的信任代理产生对于服务提供者的认证断言时,信任代理确定所要求的令牌类型并且从安全令牌服务请求适当的令牌。
当服务提供者的信任代理从标识提供者接收到认证断言时,信任代理知道它希望哪种类型的断言和它需要哪种类型的断言用以在服务提供者内的内部使用。因此服务提供者的信任代理基于接收的认证断言中的令牌请求安全令牌服务产生所要求的内部使用令牌。
信任代理和信任中介器都具有将从标识提供者接收到的断言转换为服务提供者理解的格式的能力。信任中介器具有解释与之存在直接信任关系的每个信任代理的断言格式的能力,由此允许信任中介器在标识提供者和服务提供者之间提供断言转换。可以由任意一方通过它的本地信任代理请求所述转换。因此,标识提供者的信任代理可以在断言发送到服务提供者之前请求断言的转换。同样,服务提供者的信任代理可以请求对从标识提供者接收到的断言进行转换。
断言转换包括用户标识转换、认证断言转换、属性断言转换、或者其它形式的断言转换。再次重复以上内容,通过联邦内的信任组件(即信任代理和信任中介器)处理断言转换。信任代理可以在标识提供者或者服务提供者处本地地执行转换,或者信任代理可以调用来自信任中介器的帮助。
假定标识提供者和服务提供者已经分别具有与信任中介器的信任关系,则信任中介器在需要时可以动态创建(即中介)发出方和信任方之间的新的信任关系。在通过信任中介器提供的初始信任关系中介操作之后,标识提供者和服务提供者可以直接维持所述关系,使得对以后的转换要求不需要调用信任中介器。应当注意,认证令牌的转换可能在三种地方发生:标识提供者的信任代理、服务提供者的信任代理以及信任中介器。优选地,标识提供者的信任代理产生被信任中介器理解的认证断言以发送到服务提供者。然后服务提供者请求将来自信任中介器的该令牌转换成服务提供者可识别的格式。令牌转换可能在认证断言的传输前、传输后发生或者在认证断言的传输前后均发生。
联邦架构内的信任关系
在根据本发明的优选实施例实现的联邦环境内,存在两种必须进行管理的“信任域”类型:企业信任域和联邦信任域。这两种类型的信任域之间的差别部分地基于控制与信任域的信任关系的商业协议和用于建立信任的技术。企业信任域包含由企业管理的那些组件;该信任域内的所有组件互相信任。通常,不存在在企业内建立信任所要求的商业协议,因为例如通过要求组件之间互相认证的SSL会话或者通过将组件放置在单个紧凑控制的数据中心内使得物理控制和相邻性显示了隐含的信任,所使用的技术在企业内创建了固有的信任。参考图2B,传统应用和后端处理系统可以代表企业信任域,其中多个组件在安全内部网络上进行通信。
联邦信任域是跨越企业边界的域,从一个角度来说,联邦信任域可以代表不同企业信任域之间的信任关系。通过跨越联邦伙伴之间的企业边界的信任代理来建立联邦信任域。信任关系涉及某种类型的自举(bootstrapping)处理,其中通过该处理来建立信任代理之间的初始信任。该自举处理的一部分可以包括建立共享的秘密密钥和用于定义希望的和/或允许的令牌类型和标识符转换的规则。通常,可以带外(out-of-band)实现所述自举处理,因为该处理还可以包括建立对企业参加联邦进行控制的商业协议以及与所述参加相关联的责任。
存在大量用于在联邦商业模型中建立信任的可能机制。在联邦模型中,为了商业原因,要求联邦参加者之间基本的信任观念(notion),以便提供在参加者之间传送的断言(包括令牌和属性信息)是有效的保证级别。如果不存在信任关系,则服务提供者不能依赖于从标识提供者接收到的断言;这些断言不能被服务提供者使用来确定如何解释从标识提供者接收到的任何信息。
例如,大型公司可能希望链接数千个全球用户,并且公司可以使用现有技术的解决方案。作为第一个例子,公司可能要求全球用户使用来自商业证书授权方的数字证书来建立互相信任。商业证书授权方使得公司处的服务器能够信任位于每个全球用户处的服务器。作为第二个例子,公司可以使用Kerberos实现第三方信任;公司及其全球用户可以实现信任的第三方Kerberos域服务,该信任的第三方Kerberos域服务实现基于共享秘密的信任。作为第三个例子,公司可以利用被它的全球用户的服务器互相信任的专属安全消息令牌来建立专用方案。
如果公司需要管理与少量全球用户的信任关系,则这些方法中的任何一个都是可接受的,但是如果存在数百或者数千个潜在联邦伙伴,则这可能变得难以管理。例如,尽管公司可以迫使它的较小的伙伴实现专用方案,但是公司不可能对它的较大的伙伴强加许多要求。
利用优选实施例,企业将采用通过信任代理和可能的信任中介器建立并维持的信任关系。优选实施例的联邦架构的一个优点在于它并不强加超过企业及其潜在联邦伙伴的当前基础结构的附加要求。
然而,优选实施例并没有免除企业及其潜在联邦伙伴建立商业和责任协议所要求的基本工作,其中所述商业和责任协议是参加联邦所要求的。并且,参加者不能忽略信任关系的技术自举。优选实施例使得这种自举非常灵活,例如,第一联邦伙伴可以发出具有某种信息的Kerberos票,而第二联邦伙伴可以发出具有某种信息的SAML认证断言。
在优选实施例中,信任关系是由信任代理管理的,信任代理可以包括安全令牌服务(或者与之交互),所述安全令牌服务基于两个信任代理之间的预先建立的关系来确认并且转换从标识提供者接收到的令牌。在一个联邦企业不能够与另一联邦企业建立信任关系(以及令牌转换)的情况下,可以调用信任中介器;然而,联邦企业将需要与信任中介器建立关系。
现在参考图2D,方框图示出了根据本发明的优选实施例的使用信任代理和信任中介器的联邦域之间的一组示例性信任关系。尽管图2C引入了信任中介器,但图2D示出了优选实施例的联邦架构内的过渡信任关系的重要性。
联邦域271-273分别并入了信任代理274-276。信任代理274具有与信任代理275的直接信任关系277。信任中介器280具有与信任代理275的直接信任关系278,以及信任中介器280具有与信任代理276的直接信任关系279。信任中介器280被用于代表联邦参加者基于与其它联邦伙伴的过渡信任来建立信任关系。过渡信任的原理允许信任代理275和信任代理276具有经由信任中介器280的中介的信任关系281。信任代理275和276均不需要知道如何转换或者确认对方的断言;可以调用信任中介器来将断言转换为在另一个信任代理处有效的、信任的并且可以理解的断言。
可以通过使用ebXML(使用XML的电子商务)标准,利用XML来表达针对联邦企业之间的信任关系指定合同义务和责任的商业协议。例如,可以利用ebXML文档来表示直接信任关系;共享直接信任关系的每个联邦域可以具有表达为ebXML文档的合同的副本。可以在ebXML编排(choreography)中指定联邦内各个实体的操作特性,并且在ebXML注册表内公布所述操作特性;任何希望参加特定联邦(例如操作信任代理或者信任中介器)的企业都需要遵循所述特定联邦为该联邦内所有信任代理或者信任中介器指定的公布的要求。安全令牌服务可以将这些ebXML文档解析为关于将来自其它域的令牌进行转换的方式的操作细节。然而,应当理解,本发明可以采用其它标准和机制用以指定关于其中实现联邦内的信任关系的方式的细节。
联邦架构内的断言处理
正如上文所述的,联邦内的用户体验部分地通过跨域传送的关于用户的或者对于用户的断言来控制。断言提供了关于用户的认证状态的信息、属性信息以及其它信息。使用认证断言可以免去用户在用户访问的每个站点处进行重新认证的需要。在联邦环境中,存在两种模型来得到从发出域至信任域的断言:推送(push)模型和牵拉(pull)模型。在推送模型中,用户的断言随着用户的请求一起传送到信任域。在牵拉模型中,在信任域处接收用户的请求而没有某些所要求的信息,并且然后信任域从发出域请求相关或者所要求的断言。
给出了用于在联邦环境内使用断言的这些模型,现在,根据优选实施例的本发明的描述转向一组附图,这组附图描述了用于在优选实施例的联邦环境内创建并且使用断言的一组处理。图3A示出了在联邦环境内的发出域或者发出方处用于创建断言的一般化处理,而图3B示出了在信任域或者信任方处用于“分解(tear down)”断言的一般化处理,即用于通过提取并且分析断言的信息而将断言缩少到它的必要信息的处理。图3C和图3D通过描述推送模型的两种变型而示出了图3A所示的一般化处理的更详细处理,其中在所述推送模型中,在发出域内产生断言并且然后与用户的请求一起传送到信任域。图3E示出了牵拉模型,其中在尝试满足由信任域从请求用户接收到的资源请求时,信任域从发出域请求任何所要求的用户断言。
现在参考图3A,流程图示出了在联邦环境内的发出域处产生断言的一般化处理。当发出域的联系点服务器被触发用于断言时,该处理开始(步骤302)。联系点服务器可以从信任域接收对于给定用户的特定断言的请求,或者它可以截取输出到要求断言的已知信任域的请求;这些情形将分别在下文参考图3C和图3D更详细描述。响应于被触发用于断言,发出域的联系点服务器从发出域的信任代理请求断言(步骤304),所述发出域的信任代理产生断言(步骤306)以及添加信任信息,例如断言/令牌的加密/签名;发出域的信任代理在需要时可以从信任中介器请求帮助以产生所要求的断言。在产生断言之后,然后发出域的信任代理返回断言到发出域的联系点服务器(步骤308),然后发出域的联系点服务器按照适当的方式将断言注入输出数据流(步骤310),例如通过将断言插入输出HTTP或者SOAP消息,从而完成处理。
图3A示出了用于在发出域处产生断言而不使用“本地钱包(localwallet)”的处理。然而,本发明优选地允许包含本地钱包功能性。通常,本地钱包是客户端侧的代码,该代码可以作为用于用户属性信息或者用于支持业务的其它信息的安全数据存储库;客户端侧的代码还可以参与断言传送的推送和/或牵拉模型。当本地钱包主动地参与协议时,它通过产生并且插入断言到协议流中而实现了联系点服务器功能性的功能性子集。使用本地钱包不允许本地钱包实现在联系点服务器和信任代理之间发生的基于信任的交互。在其中要求附加的信任关系的情况下,必须调用联系点服务器。
现在参考图3B,流程图示出了在信任域处用于分解断言的一般化处理。当信任域的联系点服务器接收到具有相关断言的消息时,所述处理开始(步骤322),此后,它提取断言并且将断言转发到信任域的信任代理(步骤324)。信任域的信任代理从断言提取信息,包括从发出域接收到的令牌(步骤326)。信任域的信任代理将调用安全令牌服务以确认所述令牌,包括该令牌中的信息和关于该令牌的信任信息,例如加密和签名,此后,在适当时候返回对于用户的本地有效的令牌(步骤328)。
作为步骤326的一部分,信任代理将确定断言的源,即发出方。如果信任代理能够理解从所述发出域接收到的信任断言,则信任代理将内部地执行步骤328。如果信任代理不能理解/信任从发出域接收到的断言,则信任代理可以调用来自信任中介器的帮助。如果不能确认断言,则会产生适当的错误响应。
假定确认了断言,则信任域的信任代理建立用户所要求的本地信息(步骤330)。例如,本地信息可以包括后端传统应用所要求的认证证书。信任域的信任代理将所要求的信息返回到信任域的联系点服务器(步骤332),所述信任域的联系点服务器建立对于用户的本地会话。
在联系点服务器建立对于用户的会话之后,用户可以作为被认证的用户出现。联系点服务器可以使用所述会话信息进一步控制用户与该域的任何业务,直到发起登出或者超时事件。假定联系点服务器具有对于用户的认证标识,联系点服务器在需要时可以基于该特定用户的标识和与该特定用户相关联的任何授权策略来获取对于该请求的授权。然后联系点服务器将用户的请求与任何相关信息一起转发到所请求的后端应用或者服务(步骤334),从而完成处理。
应当注意,在联系点服务器和信任代理之间传送的数据项和这些数据项的格式可以变化。除了从消息中提取断言并且仅将断言转发到信任代理之外,联系点服务器还可以将整个消息转发到信任代理。例如,信任代理处的处理可以包括例如对SOAP消息的签名确认等步骤,这将要求整个SOAP封套。
现在参考图3C,流程图示出了用于响应于发出域处的用户动作而将断言从发出域推送到信任域的特定处理。当用户从发出域内的Web页面或者类似资源访问到达信任域的链接时,所述处理开始(步骤342),由此调用某种形式的CGI类型(公共网关接口)处理以建立特定断言。发出域识别信任域对断言的需要的能力隐含着与现有的传统系统的紧密集成,在所述传统系统上,优选地实现本发明的联邦基础结构。它还隐含着在发出方和信任方之间的紧密耦合,使得发出方不需要调用信任代理来建立所要求的断言;这种紧密耦合在具有很好建立的信任关系的某些类型联邦实体之间是合适的。
调用发出域处的后端处理以建立所要求的断言(步骤344),这可以包括调用本地信任代理处的功能性。然后建立到信任域的用户的请求,包含所要求的断言(步骤346),并且发出域将断言与用户的请求一起传送到信任域(步骤348),由此完成处理。当信任域接收到请求及其相关联的断言时,则信任域会按照如图3B所示的方式对断言进行确认。
现在参考图3D,流程图示出了用于响应于发出域主动地截取到信任域的输出请求而将断言从发出域推送到信任域的特定处理。当用户请求信任域处的受保护的资源时,处理开始(步骤352)。联系点服务器截取输出请求(步骤354),例如通过过滤对于预定的统一资源标识符(URI)的输出消息、某种类型的消息、某种类型的消息内容,或者按照某种其它方式。然后发出域的联系点服务器请求从发出域的信任代理产生适当的断言(步骤356),所述发出域的信任代理在需要时利用信任中介器的帮助产生断言(步骤358)。然后发出域将用户的请求与产生的断言一起传送到信任方(步骤360),由此完成处理。当信任域接收到请求及其相关联的断言时,则信任域会按照如图3B所示的方式对断言进行确认。
现在参考图3E,流程图示出了牵拉模型,其中信任域在尝试满足由信任域从请求用户接收到的资源请求时从发出域请求对于用户的任何所要求的断言。当信任域接收到对受保护的资源的用户请求时,处理开始(步骤372)。与图3C或者图3D所示的例子相比较,图3E所示的例子描述了与在信任域处接收到的用户的请求相关联的处理,但不存在任何关于用户的所要求的断言。在此情况下,发出域不具有截取或者处理用户请求以将所要求的断言插入用户的请求的能力。例如,用户可能输入了统一资源定位符(URL)或者使用资源的书签引用,使得输出请求没有被发出域的联系点服务器截取。因此,信任域从发出域请求断言。
然后信任域确定用户的归属域(步骤374),即相关的发出域。在基于HTTP的实现中,用户可能已经预先建立了与信任域的关系,这产生在用户的客户端设备处由信任域设置的永久cookie。永久cookie包含用户的归属域或者标识提供者(即相关的发出域)的标识。在其中用户按照某种方式操作Web服务客户端的基于SOAP的实现中,信任域处的Web服务通过WSDL(Web服务描述语言)发布服务要求,包括令牌要求。然后这将要求用户的Web服务客户端/SOAP实现,以提供所要求的令牌类型。如果没有满足该要求,则Web服务将技术上返回错误。在某些情况下,它可以返回错误代码,该错误代码允许对用户的Web服务客户端提示认证信息,使得利用适当的令牌重复请求。
信任域的联系点服务器对信任域的信任代理发起断言请求(步骤376),所述信任域的信任代理从发出域的信任代理请求对于该用户的断言(步骤378)。如果实施例采用基于HTTP的通信,则从信任域的信任代理到发出域的信任代理的断言请求可以经由用户的浏览器应用的重定向通过信任域的联系点服务器而被发送到发出域处的联系点服务器,所述联系点服务器将断言请求转发到发出域的信任代理。
如果实施例采用基于SOAP的实现,则信任方可以返回错误代码到用户的Web服务客户端。所述错误代码允许通过用户的Web服务客户端向用户提示认证信息。然后Web服务客户端将产生所请求的令牌。假如在UDDI(通用描述、发现和集成)注册表中发布信任域的信任代理,从而允许用户的Web服务客户端找到信任代理,则用户的Web服务客户端可以直接调用信任代理。通常,该情形仅对内部用户有效,其中将在企业内的专用UDDI中发布信任代理,因为不可能在因特网上或者联邦外部通常可访问的公共UDDI中发布信任代理。
发出域的信任代理按照与接收断言请求的方式形成镜反射(mirror)的方式产生所请求的断言(步骤380)并且然后返回所请求的断言(步骤382)。在信任域的信任代理接收到所请求的断言(步骤384)之后,然后信任域的信任代理从断言提取信息(步骤386)并且尝试解释和/或确认断言(步骤388);信任代理在需要时可以调用来自信任中介器的帮助来转换断言。如果不能确认断言,则将产生适当的错误响应。假定断言被确认,则信任域的信任代理按照后端服务使用所要求的适当格式建立本地信息,其中所述后端服务将尝试满足用户对受保护的资源的请求(步骤390)。例如,本地信息可以包括后端传统应用所要求的认证证书。信任域的信任代理将所要求的信息返回到信任域的联系点服务器(步骤392),然后该信任域的联系点服务器建立对于用户的本地会话并且将用户请求与相关信息一起转发到所请求的后端应用或者服务(步骤394),由此完成处理。
联邦架构内的单点登录
图2A-2D的描述重点在于根据本发明的优选实施例的联邦数据处理环境内的实体的操作特性,而图3A-3E的描述重点在于在这些实体之间发生的一些处理。与这些描述相比较,现在参考图4进行描述,重点在于完成用户业务同时为用户提供单点登录体验的目标。
换言之,下面的描述讨论了以上已经讨论过的实体和处理,但是下面的描述更多集中针对在用户的会话内用户可以具有单点登录体验的方式的本发明优选实施例的总体方面。会话可以被定义为从(并且包括)初始用户认证(即登录)到登出的一组业务。在会话中,部分地通过授予该会话的用户的权限来控制用户的动作。在联邦内,用户希望具有单点登录体验,其中用户完成单次认证操作,并且在它们的会话的持续时间内,只要该认证操作就足够了,而不考虑在该会话期间访问的联邦伙伴。
在用户会话期间,用户可以访问很多联邦域以使用由这些域提供的Web服务。域可以使用标准规范(例如UDDI和WSDL)公布它们提供的服务的描述,其中UDDI和WSDL均使用XML作为共同的数据格式。用户通过同样遵循这些标准规范的应用找到可利用的服务和服务提供者。SOAP提供了用于传送以XML表达的请求和响应的范例。除了别的以外,联邦环境内的实体可以采用这些标准。
为了支持单点登录体验,支持联邦环境的Web服务也将支持使用认证断言或者由第三方产生的安全令牌来提供用户认证的证明。所述断言将包含某种类型的用户成功认证到发出方的证据以及该用户的标识符。因此,用户可以提供传统的认证证书给一个联邦伙伴,例如用户名和密码,并且然后提供由认证/发出方产生的SAML认证断言给不同的联邦伙伴。
在Web服务环境中的认证是确认Web服务请求的声明的标识的动作,使得企业可以对授权客户端的访问进行限制。请求或者调用Web服务的用户几乎总是被认证,于是在优选实施例的联邦环境内的认证需求与Web服务对于用户认证的当前要求没有什么不同。联邦环境还允许Web服务或者其它应用请求Web服务,并且这些Web服务也会被认征。
没有参加联邦会话的用户的认证不受优选实施例的联邦架构的影响。例如,在HTTP/S上利用基于表格的认证机制进行认证以访问特定域处的非联邦资源的现有用户没有受到在该域处引入对联邦环境的支持的影响。认证部分地由联系点服务器处理,然后联系点服务器调用独立的信任代理组件。联系点服务器的使用使得对现有域的基础结构的影响最小化。例如,联系点服务器可以配置为使得将由该域处的后端或者传统应用和系统处理的所有非联邦请求都通过。
联系点服务器可以选择调用基于HTTP的认证方法,例如基本认证、基于表格的认证、或者某些其它认证方法。联系点服务器还通过识别由用户提供的作为认证证明的断言(例如SAML认证断言)来支持联邦信任域,其中所述断言在企业信任域之间穿过。联系点服务器可以调用信任代理,然后信任代理调用它的安全令牌服务以确认认证证书/安全令牌。
Web服务或者其它应用的认证包括与用户认证相同的处理。来自Web服务的请求携带包含认证断言的安全令牌,并且将按照与用户提供的令牌相同的方式,通过信任代理/安全令牌服务确认该安全令牌。来自Web服务的请求应当总是随之携带所述令牌,因为Web服务会发现所请求的服务要求哪种认证断言/安全令牌,正如在UDDI中发布的。
现在参考图4,方框图示出了支持联邦单点登录操作的联邦环境。用户400通过客户端设备和适当的客户端应用(例如浏览器)希望访问由企业/域410提供的Web服务,所述企业/域410支持作为联邦环境内的联邦域的数据处理系统。域410支持联系点服务器412和信任代理414;类似地,域420支持联系点服务器422和信任代理424,而域430支持联系点服务器432和信任代理434。如上所述,信任代理依赖于信任中介器450进行帮助。附加的域和信任代理可以加入联邦环境。图4描述了域410和域420之间的联邦单点登录操作;类似操作可能发生在域410和域430之间。
用户相对于域410完成认证操作。所述认证操作由联系点服务器412处理。当用户例如为了访问控制目的或者为了个人目的而请求访问某些要求认证标识的资源时触发认证操作。联系点服务器412可以调用传统认证服务,或者它可以调用信任代理414以确认用户提供的认证证书。域410在用户的联邦会话期间成为用户的标识提供者或者归属域。
在某个稍后的时间点,用户发起在联邦伙伴(例如同样支持联邦域的企业420)处的业务,从而触发联邦单点登录操作。例如,用户可以发起在域420处的工作拷贝业务,或者用户的初始业务可以级联到其它域处的一个或者多个附加的业务。作为另一例子,用户可以经由联系点服务器412来调用对域420中资源的联邦单点登录操作,例如通过选择驻留在域410中的Web页面上的特定链接或者通过请求驻留在域410内但是显示驻留在域420中的资源的入口页面。联系点服务器412发送请求到信任代理414以产生对于用户的联邦单点登录令牌,该令牌被格式化使得能够被域420所理解或者信任。信任代理414将该令牌返回到联系点服务器412,联系点服务器412将该令牌发送到域中的联系点服务器422。对于域420处的用户,域410作为发出方,域420作为信任方。用户的令牌与用户的请求一起被传送到域420;可以经由用户浏览器使用HTTP重定向来发送所述令牌,或者可以通过代表由信任代理414提供的令牌中所标识的用户直接调用联系点服务器422的请求(通过HTTP或者基于HTTP的SOAP)来发送该令牌。
联系点服务器422接收请求以及联邦单点登录令牌,并且调用信任代理424。信任代理424接收联邦单点登录令牌,确认所述令牌,并且假定令牌有效并且被信任,产生对于用户的本地有效的令牌。信任代理424将本地有效的令牌返回到联系点服务器422,联系点服务器422在域420内建立对于用户的会话。如果需要,联系点服务器422可以发起在另一个联邦伙伴处的联邦单点登录。
域420中的令牌确认是由信任代理424处理的,可能利用来自安全令牌服务的帮助而进行。根据由域410提供的令牌类型,安全令牌服务可能需要访问域420处的用户注册表。例如,域420可以提供包含用户名和密码的二进制安全令牌,以便针对域420处的用户注册表对所述令牌进行确认。因此,在此例子中,企业简单地确认来自联邦伙伴的安全令牌。域410和420之间的信任关系确保了域420可以理解并且信任由代表用户的域410提供的安全令牌。
联邦单点登录不仅要求确认代表用户提供给信任域的安全令牌,还要求基于安全令牌中包含的信息确定信任域处本地有效的用户标识。直接的信任关系和建立这种关系所要求的商业协议的一个结果是至少一方(发出域、或者信任域,或者二者)将知道如何将发出域提供的信息转换为信任域处有效的标识。在以上简述的例子中,假定发出域(即域410)能够为信任域(即域420)提供在域420中有效的用户标识符。在此情形下,信任域并不需要调用任何标识映射功能性。域420中的信任代理424会产生将证明该用户的用户安全令牌。接受的令牌类型、令牌上所要求的签名以及其它要求均作为联邦商业协议的一部分而预先建立。控制标识符转换的规则和算法同样作为联邦商业协议的一部分而预先建立。在两个参加者之间存在直接信任关系的情况下,对这两方已经建立了标识符转换算法,并且所述标识符转换算法可以与联邦中的任何其它方不相关。
然而,发出域并不总是知道如何将用户从域410的本地标识符映射到域420的本地标识符。在某些情况下,信任域可以知道如何完成所述映射,而在其它情况下,没有哪一方知道如何完成该转换,在此情况下,可能需要调用第三方的信任中介器。换言之,在中介的信任关系的情况下,发出域和信任域互相之间不具有直接的信任关系。然而它们与信任中介器(例如信任中介器450)具有直接信任关系。标识符映射规则和算法作为该关系的一部分已经被建立,并且信任中介器将使用该信息来帮助中介的信任关系所要求的标识符转换。
域420在联系点服务器422处接收由域410发出的令牌,所述联系点服务器422调用信任代理424以确认令牌并且执行标识映射。在此情况下,由于信任代理424不能将用户从域410的本地标识符映射到域420的本地标识符,因此信任代理424调用信任中介器450,信任中介器450确认令牌并且执行标识符映射。在获取对于用户的本地标识符之后,信任代理424可能通过它的安全令牌服务可以产生域420处的后端应用所要求的任何本地令牌,例如可能要求Kerberos令牌以支持从联系点服务器至应用服务器的单点登录。在获取本地有效的令牌之后,如果要求,联系点服务器能够建立对于用户的本地会话。联系点服务器还可以处理用户请求的粗粒度授权,并且将授权请求转发到域420内的适当的应用服务器。
当用户登出或者退出时,终止用户的会话。当用户登出与它们的归属域的会话时,则归属域会通知所有信任域,即它向其发出安全令牌的那些域,并且在这些域调用用户登出。如果这些信任域中的任何一者又作为对于相同用户的发出域,则它们也会以级联方式将用户登出请求通知给它们的所有信任域。每个域处的信任代理负责将用户登出请求通知给所有信任域,并且作为该处理的一部分,信任代理可以调用信任中介器。
联邦用户生命周期管理
上述图2A-4的描述部分解释了可以在联邦环境中使用的组件的组织,而其它部分解释了用于在整个联邦环境上支持单点登录操作的处理。联邦环境内的服务提供者或者信任域并不是必须管理用户的认证证书,并且那些信任域可以利用由用户的标识提供者或者归属域提供的单个单点登录令牌。但是,上述的图2A-4的描述并没有解释可以在联邦伙伴的联邦域处以有利的方式完成联邦用户生命周期管理的明确处理。
联邦用户生命周期管理功能性/服务包括用于在多个联邦域处针对给定用户的特定用户账户或者用户配置文件支持或管理联邦操作的功能;在某些情况下,功能或者操作限于对于用户的给定联邦会话。换言之,联邦用户生命周期管理功能性是指允许管理在多个联邦伙伴上的联邦操作的功能,可能仅在联邦计算环境内单个用户会话的生命周期期间进行。
每个联邦域可以针对每个各个联邦域处的功能管理用户账户、用户配置文件或者某种类型的用户会话。例如,特定联邦域可能不管理该特定联邦域内的本地用户账户或者用户配置文件,但是联邦域可以在成功完成该联邦域处的单点登录操作之后管理对于联邦业务的本地用户会话。作为由所述特定联邦域支持的联邦用户生命周期管理功能性的一部分,联邦域可以参加单一登出操作,其允许该联邦域在完成联邦业务之后终止本地用户会话,从而改善安全性和促进资源的高效使用。
在使用联邦用户生命周期管理功能性的另一个例子中,用户可以进行要求多个联邦域参加的在线业务。联邦域可能本地管理用户配置文件,以便在涉及该联邦域的每个用户联邦会话期间相对于该联邦域定制(tailor)用户体验。作为由该特定联邦域支持的联邦用户生命周期管理功能性的一部分,联邦域的本地用户配置文件中的信息可以在给定联邦业务期间与来自参加所述给定联邦业务的其它联邦域处的其它配置文件的信息按照无缝方式进行使用。例如,可以在某种类型的合并操作中结合来自用户的多个本地用户配置文件的信息,使得用户的信息按照用户不会意识到用户信息的不同起源或来源的方式被可视化地(例如在网页内)提供给用户。
联邦用户生命周期管理功能性还可以包括用于账户链接/断开链接的功能。在联邦伙伴间为用户提供公共的唯一用户标识符,其支持作为满足一个联邦伙伴处的请求的一部分的单点登录和用户属性取回(如果需要的话)。而且,联邦伙伴可以使用表示用户的所述公共的唯一用户标识符按照匿名方式从标识提供者请求附加属性。
在上述解释了可以使用联邦用户生命周期管理功能性实现的操作的一些不同例子之后,此后其余的附图描述其中本发明按照有利的方式并且根据本发明优选实施例提供和支持联邦用户生命周期管理功能性的方式。
现在参考图5,方框图示了根据本发明的实施例的用于实现联邦用户生命周期管理功能性的联邦域中的一些组件。图5示出了单个联邦域处的元件,该单个联邦域例如为由图2C所示的企业250操作的联邦域。图5中的一些元件类似于或者等同于以上参考其它附图(例如图2B)讨论的元件:联系点服务器/服务502等效于联系点服务器242;应用服务器504(即资源控制服务)等效于应用服务器234;受保护的或者受控的资源506等效于受保护的资源235;以及联邦用户生命周期管理(FULM)应用508等效于联邦用户生命周期管理服务器246。尽管图2B中没有示出防火墙,但在图5中示出了防火墙。防火墙510和防火墙512创建了外部DMZ(电子非管制区),该外部DMZ保护企业的计算环境不受企业域外部的计算威胁(例如通过因特网)的影响。
图5和图2B所示的不同方面并非不兼容或者具有交叉目的。与图5所示的例子相比较,图2B没有示出防火墙,但联系点服务器242驻留在联邦前端240内;并且,联邦用户生命周期管理服务器246包含在联邦前端240内。在图5中,联系点服务器502显示为驻留在防火墙510和512之间的DMZ内,该DMZ形成了企业域的电子或者物理的前端;并且,联邦用户生命周期管理应用/服务508电子地驻留在防火墙512后方。通过将图2B中的联邦前端240和后端230看作是组件的逻辑组织而将图5中的DMZ和其它组件看作是形成物理或者电子前端和物理或者电子后端(其中任何一个可以包含联邦组件)可以使不同方面一致。
重复联系点实体/服务的任务,联系点实体至少针对用户利用企业计算环境与联邦功能性的交互提供会话管理;企业计算环境的传统后端内的应用还可以实现其自身的会话管理功能性。假定企业针对联邦计算环境实现策略功能性,则联系点实体可以作为某些其它联邦伙伴的策略决策点的策略执行点。并且,假定允许给定联邦功能性的实现,则联系点实体负责在没有采用单点登录操作的那些情形中针对用户发起直接的认证操作。这样,联系点实体可以实现为各种形式,例如作为反向代理服务器、作为Web服务器插件,或者按照某些其它方式实现。联系点功能性还可以实现在应用服务器自身内,在此情况下,联邦用户生命周期管理服务可以位于DMZ内。
更重要地,再次参考图5,联邦用户生命周期管理应用508还包括对连接到联邦用户生命周期管理插件514或者与其交互或者与其协同工作的支持,该插件514在图2 B中并未示出。在本发明中,联邦协议运行时间插件优选地提供各种类型的独立公布或者开发的联邦用户生命周期管理标准或者配置文件的功能性,例如:WS联邦被动客户端;自由联盟ID-FF单点登录(B/A、B/P和LECP);注册名标识符;联邦终止通知;以及单点退出。
在本发明的示例实施例中,可以在不同URI处访问不同的联邦协议组。这种方法允许联邦用户生命周期管理应用在单个应用内同时支持多个联邦用户生命周期管理的标准或者规范,例如WS联邦Web服务规范与自由联盟的规范,由此最小化对用于支持不同联邦协议的整体环境的配置影响。
更具体的说,由联系点服务器通过将用户请求在适当时重定向和/或转发到联邦用户生命周期管理应用来调用适当的联邦用户生命周期管理功能性。再次参考图5,联系点服务器502接收用户请求520,然后分析用户请求520以确定接收到的请求类型,这可以通过接收到的请求消息的类型来指示,或者如上所述的,通过确定请求消息内的目的地URI来指示。在对受保护的资源的请求522继续被转发到应用服务器504的同时,对联邦用户生命周期管理功能的请求524(例如调用单点退出操作的请求)被转发到联邦用户生命周期管理应用508,该联邦用户生命周期管理应用508在需要时调用适当的联邦用户生命周期管理插件以满足接收的请求。当定义了新的联邦协议或者新的联邦功能时,或者当现有协议或功能以某种方式被修改或者改进时,可以简单地通过插入新的支持模块来增加支持,或者可以通过修改先前安装的插件而改进支持。
图5中的联邦用户生命周期管理应用的示例性实现示出了联邦用户生命周期管理应用能够支持多个同时的联邦用户生命周期管理功能,同时提供可插入性特征,由此允许在需要时将新的功能以插件形式添加到联邦用户生命周期管理应用而不需要对现有基础结构进行任何改变。例如,假定使用基于JavaTM的联邦用户生命周期管理应用实现本发明,则可以通过将新开发的JavaTM类配置到联邦用户生命周期管理应用的JavaTMCLASSPATH中来添加对新的联邦协议(例如新公布的单点登录协议)的支持,其中根据优选实施例,这些新的类支持新的标准以及本发明的协议接口。
本发明优选地利用现有环境,其中联邦用户生命周期管理解决方案将集成到该现有环境中。联邦用户生命周期管理应用可以很容易被修改以支持新的协议/标准,因为它们仅涉及对总体基础结构的最小改变。支持新的联邦用户生命周期管理功能性所要求的任何改变几乎全部位于联邦用户生命周期管理应用内,这将要求配置联邦用户生命周期管理应用以理解添加的功能性。
在其它联邦组件中,例如联系点服务器处,可能具有最小的配置改变以允许总体基础结构能够调用新的联邦用户生命周期管理功能性,同时继续支持现有的联邦用户生命周期管理功能性。然而,联邦用户生命周期管理应用在功能上独立于其余的联邦组件,原因在于联邦用户生命周期管理应用可以只要求与联邦环境的其它联邦组件进行最小的交互。例如,在示例性的实施例中,如果联邦用户生命周期管理信息(例如根据自由联盟配置文件的Name Identifier(名称标识符)值)将被存储在外部可访问的联邦用户生命周期管理数据存储库中而不是对外部实体不可见或者不可访问的专用的内部联邦用户生命周期管理数据存储库中,则联邦用户生命周期管理功能性可以与基于企业的数据存储库(例如LDAP数据存储库)集成在一起。
因此,在根据本发明的优选实施例来实施联邦用户生命周期管理功能性时,现有环境仅需要最小的修改来支持该联邦用户生命周期管理功能性。而且,包括添加新功能性的对联邦用户生命周期管理功能性的改变对现有的联邦环境具有最小影响。因此,当公布新的单点登录标准时,可以很容易添加对该标准的支持。
传统的用户认证仅涉及企业的计算环境与终端用户之间的交互;企业选择实现这种认证相互交换的方式仅是该企业的选择,对任何其它企业没有影响。然而当希望支持联邦或者跨域的单点登录功能性时,要求企业伙伴互相交互。使用专属协议不能可扩展地(scalably)实现该要求。尽管向联系点实体直接添加对基于标准的联邦协议的支持看起来是一种鲁棒的解决方案,但是必须修改已经作为企业的计算环境内的现有组件的联系点实体,而且,每当这些公共联邦协议中的一个改变时都需要修改联系点实体。
本发明优选地通过将所述功能性移出联系点实体而提供了一种更加模块化的方法。然而,联系点实体同样必须处理这些公共协议的频繁改变,并且允许该功能性可插入使得很容易维持对这些协议的移植或者更新。
对联邦用户生命周期管理的功能支持
现有技术的基于标准的单点登录解决方案(例如WS联邦规范或者自由联盟ID-FF配置文件)在某种程度上提供了用于联邦用户生命周期管理的模型。这些规范是公开可利用的,并且可以由独立的供应商和商家来实现。然而,这些现有技术的规范并没有针对应当修改现有环境以便包括规范内定义的功能性的方式。在这些现有技术的规范中隐含了要求对现有计算环境的基础结构进行修改以便包含特定功能性可能会限制采用这些规范。例如,所有现有技术的专属单点登录解决方案均按照此方式来工作。
相反地,本发明优选地提供了方法和系统,用于并入实现联邦规范的功能性使得如前所述对现有计算环境的基础结构仅要求最小的修改。该目标也可以应用到用于支持联邦用户生命周期管理的功能性的并入中。图2B和图5针对联邦用户生命周期管理功能性描述了可以用来实现本发明的实施例的组件的逻辑组织的例子,图6示出了根据本发明实施例的用于支持联邦用户生命周期管理功能性的处理。
更重要地,图6示出了用于允许按照与在联邦域内实现联系点功能性的方式无关的方式来实现联邦用户生命周期管理功能性的处理。联系点功能实体对应于能够执行针对用户/客户端的会话管理的实体。会话管理包括基于某种形式的信息创建会话,不管是先前成功的直接认证操作、当前成功的直接认证操作和/或成功的单点登录操作;会话管理还包括关于会话的其它操作,其可以包括可选的授权决策,并且还可以包括会话终止,例如会话过期、删除、不活动超时等等。联系点服务器可以继续提供对认证操作的支持,其中它可以处理与用户的直接质询/响应交互。联系点实体还可以作为策略执行点,由此支持作为会话管理的一部分的授权服务。
联邦用户生命周期管理功能性提供了单点登录服务(以及其它联邦操作),因为这些操作涉及与第三方(例如标识提供者)的交互而不仅仅是与终端用户的交互;联邦用户生命周期管理功能性依赖于用于会话管理服务的联系点功能性。联邦用户生命周期管理功能性要求或者依赖于某个其它组件提供的信任服务,这在下文将更加详细描述;可以实现信任服务,使得它是逻辑上独立的,包括分布式组件,或者与联邦用户生命周期管理组件共同驻留的逻辑上独立的组件,或者可替换地,信任服务可以与联邦用户生命周期管理一起实现作为单个应用的一部分,例如EAR文件。
尽管以上附图的前述讨论描述了在联邦域内支持的专用联系点服务器,但是参考图6描述的处理并不要求专用联系点服务器。在图6所示的本发明的实施例中,可以使用提供联系点功能性的任何应用或者其它实体来实现联系点功能性;联系点应用可以为反向代理服务器、Web服务器、Web服务器插件、小服务器程序过滤器(servletfilter)或者某些其它类型的服务器或者应用。为了区分以下针对用于实现后续实施例的示例性处理描述的联系点功能性与前文描述的联系点服务器,下面的联系点功能性被称为联系点实体或者联系点服务。
应当注意,尽管图6示出了联邦计算环境内的单点登录操作,但根据本发明的不同实施例可以实现对于其它类型的联邦操作(例如单点退出操作)的类似处理。
现在参考图6,数据流示意图示出了根据本发明的实施例的用于使用联邦用户生命周期管理功能性执行单点登录操作的处理。图6显示了根据本发明的优选实施例的支持联邦功能性的标识提供者与服务提供者之间的数据流和交互的伪UML示意图,特别针对所提供的联邦用户生命周期管理功能性。通常,当服务提供者的联系点实体接收到对服务提供者的联邦计算环境内支持的受保护的资源的请求时,图6所示的处理开始。不是调用其自身的认证方法,服务提供者处的联系点实体将请求重定向或者将请求转发到标识提供者的联邦计算环境内支持的联邦用户生命周期管理应用,或者调用功能性以发送初始请求到所述联邦用户生命周期管理应用。如下文更详细解释的,联邦用户生命周期管理应用能够确定用于认证用户的适当方式和用于将联系点实体所要求的信息返回到联系点实体的适当方式,以在服务提供者处发起对于用户的会话,并且在服务提供者处对用户业务的其余部分进行处理,如同用户直接与服务提供者完成认证操作一样。
图6中的处理开始于服务提供者处的联系点实体从未认证的用户接收到对受控资源的初始请求(步骤602);尽管接收的请求可能仅是支持更加复杂业务的许多下游业务中的一种,但初始请求可以被认为是发起针对用户的业务。在一个实施例中,通过检测请求是来自针对其服务提供者没有正在进行会话的记录的终端用户或者终端应用的,服务提供者可以确定初始请求来自于未认证的用户。
然后联系点实体产生请求,该请求重定向、转发或者调用功能性以发送所述初始请求到服务提供者处的联邦用户生命周期管理应用(步骤604);联系点实体可以使用任何调用联邦用户生命周期管理功能性的手段,其允许联邦用户生命周期管理功能性建立必须发送到标识提供者的响应消息;换言之,联系点实体并不是必须包括对这些复杂的单点登录消息进行服务/做出响应的功能性。在图6所示的例子中,初始请求接着通过发起应用(例如终端用户操作的浏览器应用)被重定向到服务提供者处的联邦用户生命周期管理应用(步骤606)。
在接收到请求之后,然后服务提供者处的联邦用户生命周期管理应用通过与终端用户应用进行通信来确定对于用户的适当的标识提供者(步骤608)。该步骤是可选的;假定标识提供者是特定联邦计算环境内的服务提供者的联邦伙伴,则服务提供者可能已经配置有标识提供者处的联系点实体的位置信息或者联系信息,例如URL;可替换地,服务提供者可以在确定将用于终端用户的业务的特定标识提供者的标识之后执行查找操作,以获得标识提供者处的联系点实体的位置或者联系信息。在某些情况下,服务提供者可能知道待使用的标识提供者的标识,因为服务提供者仅知道一个标识提供者,因此不涉及选择。在其它情况下,服务提供者可能基于某些永久的用户侧维持的信息(例如永久的HTTP cookie)知道标识提供者的标识。在另一些情况下,服务提供者可能需要在步骤608中与用户交互,以使用户向服务提供者提供关于用户希望在当前的联邦业务中采用的标识提供者的标识的信息。一旦服务提供者具有标识提供者的标识,则服务提供者就可以从适当的数据存储库中获取对于该标识提供者的单点登录功能性(或者其它联邦功能性,取决于当前正在进行的联邦操作或者业务的类型)适当的URI。本发明优选地还与执行步骤608的另一种方式兼容;自由联盟规范描述了其中用户实际面对到某些其它站点的重定向的交互,从这些站点可以获得来自cookie的信息(由于针对DNS cookie的操作限制而以此方式执行),然后返回到联邦用户生命周期管理功能性而不需要直接的用户交互,例如不需要用户在HTML表格内提供信息。
然后服务提供者处的联邦用户生命周期管理应用产生并且发送对标识提供者处的联邦用户生命周期管理功能或者操作的请求(步骤610),例如获取任何适当信息以成功完成单点登录操作的请求。所述请求可以嵌入安全令牌中或者附随安全令牌,其中安全令牌指示标识提供者可以信任来自服务提供者的通信;优选地,通过请求消息上的签名和加密来提供服务提供者和标识提供者之间的信任,并且可以通过附随请求的数字证书表示安全令牌。对联邦用户生命周期管理操作的请求可以附随有关于来自终端用户应用的初始请求的信息,因为联邦用户生命周期管理操作可以按照依赖于由终端用户应用向服务提供者做出的请求的类型的各种方式来执行。
接收对联邦用户生命周期管理功能或者操作的请求,并且使用先前确定的对于标识提供者处的联系点实体的联系信息,通过终端用户应用将所述请求重定向到标识提供者处的联系点实体(步骤612)。
本发明优选地与完成步骤612的各种方式相兼容;例如,自由联盟范允许重定向的类型是设备特定的,并且本发明的优选实施例内的联邦用户生命周期管理功能性可以使用基于移动设备对因特网的HTTPPOST消息,在对具有状态值“302”的HTTP响应做出反应的HTTP重定向和对具有状态值“200”(OK)的HTTP响应做出反应的HTTP重定向之间交换。
在标识提供者处的联系点实体接收到对联邦用户生命周期管理功能或者操作的请求之后,标识提供者处的联系点实体可以针对终端用户或者终端用户的应用执行可选的认证操作(步骤614)。如果标识提供者不具有对于用户的有效会话,则总是要求认证操作。没有有效会话,标识提供者不能确定哪个用户在进行单点登录。即使存在对于用的户有效会话,也可能要求认证,以便确保用户仍然是活动的或者以便能够证明更高的证书级别。应当注意,服务提供者可以指定新的认证操作不应当由标识提供者执行,使得如果没有针对该用户的有效会话,则单点登录操作肯定失败。认证操作的类型可以变化,使得它可以自动执行或者要求来自用户、生物特征或者其它类型认证设备或者来自其它信息源的输入。例如,如果要求新的认证操作,例如为了维持高的安全级别以确保终端用户是在初始请求中标识的对受控资源的授权请求者,则可能要求认证操作。在不同情形中,可以要求认证操作,但是标识提供者处的联系点实体可以访问指示标识提供者已经具有对于终端用户的活动会话的信息,由此消除在步骤614中完成后续认证操作的需要。
然后标识提供者处的联系点实体将接收到的针对联邦用户生命周期管理功能或者操作的请求发送到标识提供者处的联邦用户生命周期管理应用,其中服务提供者处的联邦用户生命周期管理应用已经请求了所述联邦用户生命周期管理功能或者操作(步骤616)。在分析该请求之后,标识提供者处的联邦用户生命周期管理应用建立一个响应(步骤618),该响应包含或者附随有服务提供者处的联邦用户生命周期管理应用寻求的终端用户特定的信息。例如,标识提供者可以支持包含关于终端用户的保密标识信息或者其它属性信息的数据库,这些信息没有存储在联邦计算环境中的其它地方。如上所述,接收的对联邦用户生命周期管理操作的请求可能附随有关于来自终端用户应用的初始请求的信息,因为联邦用户生命周期管理操作可以按照依赖于由终端用户应用向服务提供者做出的请求类型的各种方式来执行。同样地,可以按照针对初始标识的受控资源的某种方式定制来自标识提供者处的联邦用户生命周期管理应用的响应。
然后标识提供者处的联邦用户生命周期管理应用发送该响应到终端用户应用(步骤620),例如使用HTTP POST/重定向消息,然后终端用户应用将该消息重定向到服务提供者处的联邦用户生命周期管理应用(步骤622)。应当注意,标识提供者可以简单地返回指向服务提供者希望的信息的指针或者类似类型的间接引用数据项;在此情况下,服务提供者必须使用接收到的指针(也称为人工制品(artifact))以获取信息,例如通过对标识提供者执行反向信道请求以获取将由服务提供者使用的用户特定的信息。
假定接收到的消息没有包含错误代码或者没有指示标识提供者处的联邦用户生命周期管理应用不能成功完成所请求的联邦用户生命周期管理功能或者操作,则服务提供者处的联邦用户生命周期管理应用从接收到的响应中提取它要求的信息并且为服务提供者处的联系点实体建立响应(步骤624)。然后服务提供者处的联邦用户生命周期管理应用按照某种方式发送/返回所产生的响应到服务提供者处的联系点实体(步骤626)。
联邦用户生命周期管理应用可以实现为JavaTM应用,例如EAR文件,其中该JavaTM应用安装在域内的防火墙后方。作为联邦用户生命周期管理应用的安装和配置的一部分,返回到联系点实体的响应的特性是可以配置的;因此,联邦用户生命周期管理应用并不依赖于联系点实体的形式。换言之,联邦用户生命周期管理应用并不依赖于除了联系点实体的标识或者位置信息之外的联系点实体的性质,即业务控制被返回到联系点实体的方式、以及在返回业务控制到联系点实体时联系点实体要求的信息的内容。该方法通过允许任何联邦用户生命周期管理功能性(例如单点登录操作、单点登出操作、账户链接、账户断开链接等等)与由联系点实体提供的会话管理功能性解耦合(decouple),来使得对联邦伙伴的计算环境的现有基础结构的影响最小化。
假定服务提供者处的联系点实体从服务提供者处的联邦用户生命周期管理应用接收到成功的响应,则服务提供者处的联系点实体开始进行对来自终端用户应用的初始请求的处理(步骤628),在此例子中,这包含建立用户会话,执行可选的访问或者授权控制操作,然后发送或者转发用于访问受控资源的请求到管理受控资源或者提供对受控资源的访问的后端应用服务器(步骤630),由此结束处理。
作为图6所示的例子的总结,当在服务提供者的联系点实体处接收到初始请求时,没有针对服务提供者对终端用户进行认证。服务提供者委托标识提供者完成联邦单点登录操作,而不是直接在服务提供者的控制下执行认证操作。服务提供者处的联系点实体等待通过作为联邦计算环境内的伙伴的服务提供者和标识提供者处的联邦用户生命周期管理应用已经成功地完成联邦单点登录操作的指示/消息。在服务提供者处的联系点实体接收到已经成功完成联邦单点登录操作的指示/消息之后,然后进一步处理初始请求。
本发明优选地利用现有环境,其中联邦用户生命周期管理方案将集成到该现有环境中。对联邦用户生命周期管理应用的支持可以被实现为基于现有环境的J2EE/C#应用。响应于来自终端用户的请求,由联系点实体调用联邦用户生命周期管理应用。所述请求可以仅为未授权用户对受保护的资源的请求或者可以为对联邦用户生命周期管理功能性的明确请求,正如参考图5所讨论的那样。联邦用户生命周期管理应用是独立的,原因在于它们不要求与计算环境的其它部分进行任何交互;一旦成功完成了所要求的协议,则控制返回到最初接收到用户的请求的联系点实体。因此,现有环境仅需要最小修改以支持所述联邦用户生命周期管理功能性。例如,如果将要调用的联邦用户生命周期管理功能性是单点登录请求,则这可以是响应于未认证用户对受保护的资源的请求,其中调用联邦用户生命周期管理单点登录功能性而不是常规的认证处理。利用本发明的优选实施例,这仅要求简单的配置改变,用以允许用户被重定向到联邦用户生命周期管理应用而不是传统注册处理。
对联邦用户生命周期管理的信任基础结构支持
如上所述,现有技术中的用于提供联邦用户生命周期管理功能性的解决方案并不能扩展来允许宽松耦合的环境,其中在宽松耦合的环境中,很容易引入新的在线伙伴到计算环境中或者从计算环境中移去旧的伙伴而不需要改变任何一侧的环境。联邦用户生命周期管理解决方案支持的宽松耦合特性涉及联邦伙伴与终端用户访问这些伙伴环境的计算环境中的受控资源的能力之间的对应关系。所述宽松耦合的特性通常并没有应用到联邦伙伴或者联邦各方之间的信任关系。因此,存在折衷;通过在联邦伙伴或者企业之间针对它们的信任关系维持紧凑耦合的特性来实现宽松耦合的特性。这些紧凑耦合的信任关系定义了联邦环境内终端用户可利用的功能性并且还定义了用于信任并且确保该联邦环境内的通信安全的计算机制。
优选地,本发明认识到可以利用信任相关或者安全相关的信息来表示两个伙伴/两方之间的信任关系的紧凑耦合特性。更具体的说,本发明优选地实现了一种信任服务,该信任服务包括对定义信任关系的加密密钥、安全令牌以及标识转换进行管理的功能性。
应当注意,在本发明优选实施例采用的加密信任类型与利用SSL证书的传输层处的信任之间存在着差别;当在协议/应用层运行信任时,需要证书中声明的标识与已经达成商业/法律协议的标识的附加“绑定”。因此,简单地利用现有的SSL/传输层信任关系是不够的,因为它们不具有这种功能性所要求的足够的附加绑定。
基于以下原因,选择密钥、令牌以及标识转换的组合表示信任关系。在给定的信任关系中,使用一组加密密钥对伙伴之间的消息进行签名和加密。在伙伴之间的业务中使用的密钥的知识通常是在任何业务之前预先建立的,由此允许一个伙伴签名/加密消息以及另一个伙伴确认/解密这些消息。而且,可以被签名/加密的消息的元素之一是用于断言终端用户的标识或者任务的安全令牌。所述安全令牌的结构也在伙伴之间的任何业务之前预先建立,使得确保两方都能理解安全令牌的内容;这种确保可以是调用能够作为伙伴之间的中介的第三方信任中介器的帮助的结果。而且,在安全令牌内具有声明的标识、一组任务和/或一组属性,其可以从标识提供者断言的数据格式转换为服务提供者使用的数据格式;这种转换是基于标识转换来完成的,而根据安全令牌内声明的协商一致的属性已经事先定义所述标识转换。
因此,本发明优选地提供对将两个伙伴之间的信任关系的紧凑耦合特性表示为安全相关信息元组(tuple)的支持,特别是包括{加密密钥、安全令牌以及标识转换}的一组信息项;换言之,在本发明的优选实施例中,该元组表示信任关系。本发明优选地涉及允许将信任关系(以及该信任关系的管理)与提供联邦用户生命周期管理功能性解决方案所要求的功能性分离的方法和系统。更具体的说,将信任关系定义为包括加密密钥、安全令牌以及标识转换的元组,并且然后按照与联邦伙伴可利用的功能性的定义无关的方式将给定元组绑定到一组至少两个联邦伙伴,这提供了联邦管理的可扩展的方法,正如下文将更加详细描述的那样。
现在参考图7,方框图示出了将信任关系管理与联邦用户生命周期管理分离的逻辑组件的组织。联邦用户生命周期管理应用702类似于图5所示的联邦用户生命周期管理应用508。联邦用户生命周期管理应用702包括对单点登录、单点退出、账户链接/断开链接、和/或可以实现的任何其它附加联邦功能性(例如标识提供者确定)的支持。所有这些功能性通过某种形式利用伙伴之间的信任关系。例如,当联邦用户生命周期管理应用702要求安全令牌以参考联邦环境内的终端用户/应用时,通过信任服务调用/消息706从信任服务704请求该信息;可以实现在联邦用户生命周期管理应用和信任服务之间的各种类型的接口。此外,信任服务可以连接到联邦域内的其它组件,包括联系点服务器。信任关系管理功能性708仅是一个逻辑边界,用于划分参加支持对于给定联邦伙伴的信任关系的管理的功能模块。
信任服务704是信任代理/服务的一个示例性的实施例,类似于上述的信任代理/服务,例如图2B所示的信任代理/服务244或者图2C所示的信任代理/服务254。然而,信任服务704表示其中信任代理/服务被扩展为包括用于按照特定方式管理信任关系的功能性的本发明的实施例。本发明的信任关系管理优选地包括用于加密密钥管理、安全令牌管理以及标识转换管理的功能性。因此,信任服务704负责产生适当的安全令牌,包括这些令牌上所要求的签名/加密,并且负责终端用户/应用的适当标识,其中联邦请求是代表所述终端用户/应用做出的。
信任服务704可以被认为是中介对各个独立的安全相关或者信任相关服务的访问。包括信任服务的这些独立的服务可以在共同的设备或者服务器上实现,或者在共同的应用内实现;可替换地,每个服务可以实现为独立的服务器应用。密钥管理服务710管理在信任关系的上下文中传送信息所要求的加密密钥和/或数字证书。安全令牌服务712负责管理用于确保伙伴之间通信安全或者在伙伴之间的安全相关通信中使用的独立令牌实例;安全令牌插件714提供对于各种类型的独立公布或者开发的安全令牌标准或者规范的功能性。标识服务716(或者标识/属性服务716)负责管理在安全令牌内包含的标识和/或属性,包括必须添加到令牌的定位属性和必须添加到基于从标识提供者接收到的令牌而提供给服务提供者处的联系点服务器的本地响应的定位属性。
将联邦用户生命周期管理功能性与信任关系管理功能性分离意味着还可以分离两种不同类型的功能性的管理。这意味着如果关于信任关系的信息应当改变,例如为了安全目的而替换加密密钥,则所要求的修改不会影响联邦用户生命周期管理功能性。并且,相同的功能可为不同伙伴所使用,因为这些伙伴的信任关系管理并不约束联邦用户生命周期管理功能性。而且,信任关系管理的分离意味着:在新的功能被添加到预先存在的信任关系时,例如当对单点退出操作的支持被添加到先前仅支持单点登录操作的给定关系时,可以维持信任关系。最后,信任管理的分离意味着:可以在其它上下文中重新使用信任关系及其管理,例如Web服务安全管理或者面向Web服务的架构;因此,本发明并不限于基于浏览器的被动客户端架构。
通过导入配置文件建立联邦关系
下面对图8A-8D的描述用于总结本发明的优选实施例的一些概念,以提供用于联邦关系概念的解释和本发明的实施例的后续解释的上下文,其中先前描述的优选实施例的特征支持使用电子通信来建立商务伙伴之间的联邦关系。图8A-8D是重点强调由本发明优选实施例提供的功能性的划分的方框图。更具体的说,图8A-8D描述了本发明的实施例,其中划分了不同的多组功能性,以产生在实现联邦计算环境上的高效率,其中该联邦计算环境能够同时处理多个联邦规范并且对预先存在的与联邦功能性连接的计算环境具有最小修改。图8A-8D的描述利用共同的参考数字指代相似元件。
现在参考图8A,方框图示出了联邦计算环境的逻辑功能性的高级抽象。如上简述的,企业及其潜在的联邦伙伴在加入联邦计算环境之前必须完成一定量的准备工作。根据优选实施例的本发明的联邦架构的优点在于:对于给定企业域800,本发明优选地要求对企业及其联邦伙伴的预先存在的计算环境功能性804进行最小的基础结构功能性修改802以便连接到联邦基础结构功能性806。这些特征在上文参考图2B进行了更详细描述。
现在参考图8B,方框图示出了联邦计算环境的逻辑功能性的高级抽象,其描述本发明的优选实施例提供将联邦功能性和联系点功能性与信任关系管理功能性分离的方式。如上所述,在本发明的优选实施例的联邦基础结构功能性806内,联系点功能性和联邦操作功能性的组合808与信任关系管理功能性810分离,由此允许联邦内的用户经由根据本发明的各个实施例的联邦功能性通过预先存在的应用服务器814访问受保护的资源812。联系点功能性与信任关系管理功能性的所述分离以及由此产生的优点在上文参考图2C和图4所示的联邦基础结构组件并且参考图3A-3E所示的功能处理进行了更详细描述。
然而应当理解,在前面的附图(即通过图4)中的联邦功能性的解释将联系点服务器描述为执行联系点操作以及联邦功能性和操作,例如在信任代理/服务的帮助下处理安全断言和安全令牌的处理,特别是针对单点登录操作,即联邦认证操作,而没有进一步区分可以在联邦伙伴之间完成的各种类型的联邦功能和操作。换言之,前面附图中的联邦功能性解释并没有区分联系点功能性和联邦操作功能性;联系点服务器被描述为执行多个功能的组合,其中联系点服务器的责任的一部分是作为联邦企业域的联系点实体,以及联系点服务器的责任的其余部分是执行任何联邦操作和功能,同时依赖于信任代理/服务处理信任/安全操作。然而,如参考图8C所示的那样,在图4之后对本发明的优选实施例的描述提供了关于其中本发明实施例可以实现在联系点功能性和其它联邦操作功能性之间的区分的方式的进一步细节。
现在参考图8C,方框图示出了联邦计算环境的逻辑功能性的高级抽象,其描述了其中本发明的优选实施例提供将联邦操作功能与联系点功能性进一步分离的方式。如上所解释的,在联邦基础结构功能806内,信任关系管理功能性810与本发明的优选实施例的联邦基础结构内提供的其它功能相分离;而且,可以在这些其它功能之间进行进一步区分,使得联系点功能性816可以被描述为与联邦操作功能性818相分离。联系点功能性与联邦操作功能性的所述分离以及由此产生的优点在上文参考图5所示的联邦基础结构组件并且参考图6所示的功能处理进行了更详细描述,其中图5中的联邦用户生命周期管理应用508(类似地,图6中的FULM应用)表示联邦操作功能性的一个方面。
因此,本发明优选地支持不同功能性的划分或者模块化。在本发明的一个实施例中,联系点功能性和联邦操作功能性的组合与信任关系管理功能性相分离。在本发明的另一个实施例中,除了继续划分信任关系管理功能性之外,还将联系点功能性与联邦操作功能性相分离,其中联邦操作功能性的一个方面是联邦用户生命周期管理功能性。在上文参考图7描述了涉及将信任关系管理功能性与联邦用户生命周期管理功能性相分离的进一步区分。给出虑这些划分,图8D显示了其中描述进一步区分的本发明的另一个实施例。
现在参考图8D,方框图示出了联邦计算环境的逻辑功能性的高级抽象,其描述了其中本发明的优选实施例可以提供进一步将联邦操作功能性分离成联邦用户生命周期管理功能性和联邦关系管理功能性的方式。如上参考图8C所述的,联系点功能性816可以被描述为与联邦操作功能性818相分离。而且,如参考图5和图6所述的,联系点实体可以独立于域内的联邦操作功能性而操作,与访问受保护的资源的请求相比,仅利用最小配置改变来识别输入的对联邦操作的请求。因此,在图8D,通过显示出将联系点功能性820与联邦基础结构功能性806相分离来反映此能力。
如以上参考图8B所述的,在本发明的一个实施例中,联系点功能性和联邦操作功能性的组合808可以与联邦基础结构功能性806内的信任关系管理功能性806相分离。在上述参考图5和图6描述了联邦用户生命周期管理功能性之后,图7的描述解释了其中信任关系管理功能性可以继续实现为与联邦用户生命周期管理功能性相分离的方式。而且,图7的描述强调了可以使得相同的功能性按照模块化方式为不同联邦伙伴所利用。
换言之,可以实现信任关系管理功能性,使得它与联邦基础结构功能连接但是独立于该功能。因此,在图8D中,通过显示出将信任关系管理功能性822与联邦基础结构功能性806相分离来反映了这个能力。下面更详细地描述这种区分的重要性。
图8D还示出了根据本发明的优选实施例的联邦操作功能性的进一步区分。联邦操作功能性(例如联邦操作功能性818)包括支持在联邦计算环境中的联邦伙伴之间的业务或者交互的那些操作或者功能。联邦操作功能性可以与联邦基础结构功能性(例如联邦基础结构功能性806)相比较,其中联邦基础结构功能性包括支持联邦伙伴实现联邦操作功能性以及预先存在的企业功能性的操作或者功能。
如上所述的,例如正如图5中的联邦用户生命周期管理应用508和图6中的FULM应用所表示的联邦用户生命周期管理功能性仅是联邦操作功能性的一个方面。如上所定义的,联邦用户生命周期管理功能性包括用于在多个联邦域处针对给定用户的特定用户账户或者用户配置文件支持或者管理的联邦操作的功能;在某些情况下,所述功能或者操作限于对于用户的给定联邦会话。换言之,联邦用户生命周期管理功能性是指允许在多个联邦伙伴间管理联邦操作的功能,可能仅在联邦计算环境内的单个用户会话的生命周期期间。
图8D反映了本发明的优选实施例中的联邦操作功能性可以包括多个方面。正如下文将详细描述的,与作为联邦操作功能性的一方面的联邦用户生命周期管理功能性824一起,本发明的实施例还可以实现联邦关系功能性826;下文还将更详细地解释联邦伙伴之间的信任关系与联邦伙伴之间的联邦关系之间的差异。
现在参考图9A-9B,维恩图示出了其中联邦关系包括与联邦功能性的选择相关联的信任关系的方式。联邦实现了商业伙伴之间商业处理的公开。然而,企业的商业处理的公开必须考虑许多因素后才能执行;例如,企业将只考虑对信任的伙伴公开商业处理。因此,本发明优选地意识到允许企业限制只对信任的联邦伙伴公开其商业处理的需要,特别针对不同商业伙伴可以在它们自己之间存在不同的信任级别的事实。
然而,即使在相同的联邦计算环境中,不同的联邦伙伴组可能具有互相交互的不同要求。因此,本发明优选地意识到允许企业按照不同方式限制对不同联邦伙伴公开其商业处理的需要。
因此,在本发明中,联邦功能性优选地包括支持信任的联邦伙伴之间的电子业务的电子操作或者功能。由于在公开商业处理之前在联邦伙伴之间必须存在一定信任级别,所以在联邦关系关联之前,联邦伙伴之间应当存在信任关系。换言之,联邦功能性包括选择随后与信任关系相关联的电子业务。在图9A、9B和9C的维恩图中反映了该逻辑。
现在参考图9A,示意图示出了两个联邦伙伴之间的联邦关系902包括这两个联邦伙伴的信任关系904与将由这两个联邦伙伴实现的一组联邦操作/功能906的选择之间的关联。当图9A的示意图与其中本发明的实施例可以组织企业计算环境内的信任关系管理功能性和联邦基础结构功能性的方式相比较时,实现联邦计算环境的优点变得很明显,这在下文更详细地描述。
现在参考图9B和9C,其示出了两个联邦伙伴可以在它们自身之间具有多个联邦关系。两个联邦伙伴之间的第一联邦关系(图9B)包括这两个联邦伙伴的第一信任关系914与将由这两个联邦伙伴实现的一组联邦操作/功能的第一选择916之间的关联。此外,两个联邦伙伴之间的第二联邦关系(图9C)922包括这两个联邦伙伴的第二信任关系924与将由这两个联邦伙伴实现的一组联邦操作/功能的第二选择926之间的关联。在此实施例中,在这两个联邦伙伴的多个联邦关系中使用这两个联邦伙伴之间的多个信任关系。多个信任关系可以具有类似的特征但是具有不同的实现数据,例如类似大小的不同加密密钥或者仅仅是不同的数字证书,由此允许例如利用不同的数字证书执行不同的联邦操作。
然而,两个不同的功能性选择916和926可以采用具有不同特征的信任关系,由此隐含着可以针对具有不同强度的信任关系执行不同的联邦操作。信任关系的不同强度可以基于各种标准,例如不同的加密算法或者不同的加密密钥大小。例如,可以使用较弱的信任关系执行单点登录操作,而可以使用较强的信任关系执行其它联邦操作,例如用户的供给。
例如,一对联邦伙伴可以进行交互以支持第一商业项目(可能与许多其它联邦伙伴一起),并且所述商业项目可以要求通过各种协商的商业协议使用具有特定特性的第一信任关系。同时,这些联邦伙伴可以进行交互以支持第二商业项目(可能与不同的联邦伙伴组一起),并且该商业项目可以要求使用具有与第一信任关系不同的特性的第二信任关系,所有这些都是通过不同的商业协议组来控制的。因此,在此情形下,不同的商业项目将要求包含不同信任关系的不同联邦关系。
现在参考图10,数据流示意图示出了根据本发明的优选实施例的由一对商业伙伴执行以便在联邦计算环境中进行交互的一系列操作。企业(例如伙伴1002)及其潜在的联邦伙伴(例如伙伴1004)在尝试在联邦计算环境内进行交互之前必须建立联邦关系。如上所述的,联邦关系是基于信任关系的;所述信任关系在联邦伙伴的商业和法律协议中表示了联邦伙伴的信任,由此允许伙伴确定其交互的若干方面,例如,何种责任与给定动作相关联,假定在特定信任关系的支持下执行该给定动作,然后允许伙伴应用控制可允许的动作的策略到这种类型的信任关系,其中在该信任关系下请求所述动作。因此,如交互数据流1006所示的,企业及其潜在的联邦伙伴在尝试在联邦内进行交互之前必须建立信任关系。假定联邦关系将联邦功能性的选择与信任关系相关联,则如配置操作1008和1010所示的,在每个伙伴处必须配置联邦功能性,此后,如交互数据流1012所示的,可以建立联邦关系。在建立联邦关系之后,如交互数据流1014所示的,业务伙伴可以通过进行联邦业务来按照联邦方式进行交互。
然而,应当注意,假定企业希望具有用于成功完成联邦业务的适当支持,仅需要在发起联邦业务之前的任何时间执行联邦功能性的配置。例如,在建立信任关系之前可以配置联邦功能性。尽管在配置联邦关系时可以支持联邦功能性的选择,但也可以在建立联邦关系之后执行联邦功能性的配置。此外,利用本发明,在建立联邦关系之后可以修改联邦功能性,特别是针对增强联邦功能性,但是并不一定要求对先前建立的联邦关系进行修改。
现在参考图11,方框图示出了根据本发明的实施例的商业伙伴之间的交互,用以建立信任关系而为建立联邦关系进行准备。如上进一步所述的,信任关系涉及某种类型的自举处理,通过该自举处理,在商业伙伴之间建立初始信任。该自举处理的一部分可以包括建立定义希望的和/或允许的令牌类型和标识转换的共享安全密钥和规则。可以带外实现所述自举处理,因为该处理还可以包括建立对企业参加联邦进行控制的商业协议以及与所述参加相关联的法律责任。
该自举处理的目的是提供商业伙伴(即企业)与商业伙伴的信任信息的绑定;这超出了作为商业伙伴的数字证书的创建的一部分的标识与加密密钥的绑定。证书创建是由证书授权方处理的,其中证书授权方简单地断言商业伙伴的标识。所述联邦信任自举断言伙伴的标识(例如正如数字证书中所声明的标识)被绑定到先前协商的商业协议、法律协议或者类似类型的关联。
本发明优选地允许信任关系的形式是灵活的,例如,联邦伙伴可以使用不同类型的安全令牌进行交互。如以上参考图7所述的,本发明的实施例可以包括信任服务,该信任服务管理给定企业与其商业伙伴之间的信任关系,同时将信任关系管理的功能性与联邦用户生命周期管理的功能性相分离。然而,图7中的描述并没有提供对其中建立信任关系的方式的进一步描述。
图11示出了其中例如图7所示的信任服务704在联邦伙伴的计算环境1102中提供功能支持以建立与联邦伙伴1104的信任关系的方式。计算环境1102内的信任关系管理控制台应用1106依赖于信任服务704来实现与联邦伙伴1104处的实体(例如联邦伙伴1104的计算环境内的类似配置应用)的信息交换。如上所述的,两个伙伴之间的信任关系在本发明的优选实施例内表示为安全相关的信息元组,特别是包括{加密密钥、安全令牌、以及标识转换}的一组信息项。因此,信任服务704实现关于希望的令牌格式1108、加密密钥1110以及标识转换1112的信息的交换,然后所述信息通过信任关系管理控制台应用1106或者信任服务704存储在信任关系数据库1114中。应当注意,在信任关系数据库1114内表示的每个信任关系可以具有用于描述或者实现信任关系的附加信息。
现在参考图12,方框图示出了包括联邦功能性的计算环境的配置。如上参考图10所述的,需要在发起联邦业务之前的某个时间点执行联邦功能性的配置。如上参考图5所述的,联邦用户生命周期管理应用508包括对连接到联邦用户生命周期管理插件514或者与之交互或与之协作的支持,这也被显示在图12中。
在本发明的一个实施例中,联邦协议运行时间插件提供对于各种类型的独立公布或者开发的联邦用户生命周期管理标准或者配置文件的功能性。参考图12,企业计算环境内的系统管理用户采用运行时间环境管理控制台应用1202以管理FULM应用508和联邦用户生命周期管理插件514。例如,管理员可以使用由运行时间环境管理控制台应用1202提供的图形用户界面来在特定服务器上的特定目录内配置插件514。当需要支持新的联邦操作时,可以由管理员通过在适当目录中存储新的插件而布置新的插件;通过管理应用可以从第三方供应商、中心化的联邦数据库或者某个其它位置取回新插件的更新版本。配置文件和/或属性文件包含对于插件514的运行时间参数,例如在联邦业务中将使用的URI;可以由管理员通过运行时间环境管理控制台应用1202来创建、修改和删除这些参数。
现在参考图13A,方框图示出了根据本发明的实施例的联邦关系管理控制台应用,其中系统管理用户可以使用所述控制台应用在企业的计算环境中建立联邦关系。如上所述的,联邦关系包括联邦功能性的选择,这必须在伙伴之间达成一致;例如,双方伙伴可以同意利用单点登录功能性。然而,为了实现该功能性,双方还需要知道对于选定功能性的伙伴特定的信息,例如发送单点登录请求/响应消息所到达的URI。一个联邦伙伴需要从另一个联邦伙伴收集的伙伴特定的信息依赖于对于联邦伙伴之间的特定联邦关系所定义或者所选择的联邦功能性。需要在伙伴之间交换这种伙伴特定的信息。
因此,不能由第一联邦伙伴给所有联邦伙伴分配单个配置形式文件或者模板文件,因为每个联邦伙伴所需要的信息可能不同;在运行时间需要来根据定义的联邦关系执行联邦业务的信息是伙伴特定的。如果第一伙伴处的管理员没有基于它们特定的联邦关系的配置功能性而对每个联邦伙伴定制所述配置形式或者模板,则将要求其它伙伴提供可以在配置形式或者模板中请求的所有信息,而不管对于它们的特定联邦关系是否需要所述信息。
本发明优选地采用如下方法,其中在建立联邦关系时,动态产生联邦关系特定的XML配置文件并且将其导给到联邦伙伴,所述联邦伙伴提供所请求的伙伴特定的配置信息并且将其返回给请求者。在从伙伴接收到完成的文件之后,请求伙伴可以导入伙伴特定的配置信息并且将其与适当的联邦关系相关联,这将在下文更详细解释。
参考图13A,管理用户采用联邦关系管理控制台应用1300以建立联邦关系。由于每个联邦关系包括信任关系,联邦关系管理控制台应用1300从信任关系数据库1302取回关于先前建立的信任关系的信息。例如,如上文参考图11所讨论的,信任关系数据库1302包含在企业及其信任的业务伙伴之间已经建立的每个信任关系的条目;图13A中的信任关系数据库1302类似于图11中的信任关系数据库1114;应当注意,在此描述的数据库、配置文件、数据结构等等可以实现为通用的数据存储库或者多种不同类型的数据存储库,使得任何数据存储库可以被实现为数据库、文件、数据结构等等。在图13A所示的例子中,信任关系数据库1302包含名称为“信任-XY”的信任关系,其中通过信任关系数据库条目1304表示该信任关系。如上所述的,每个信任关系包括一个信息元组;信任关系数据库条目1304包含元组1306,该元组1306包括加密密钥信息1308、令牌格式信息1310,以及标识转换信息1312。每个信任关系还包括用于实现所表示的信任关系的任何附加的伙伴特定的信息,例如参加信任关系的伙伴的标识、关于可以被联系以针对信任关系执行操作的信任服务的标识或者位置的信息,或者其它类似类型的信息。
由于联邦关系还包括关于在联邦关系内将支持的联邦功能性的伙伴特定的信息,所以联邦关系管理控制台应用1300还取回关于在企业的计算环境内已经被配置或者在企业域或者计算环境内将被配置的联邦功能性的联邦功能性特定的信息。例如,假定已经根据类似于以上参考图5所述的本发明的实施例实现了企业的计算环境,联邦关系管理控制台应用1300可以从各种信息源取回关于FULM应用和/或其关联的插件的信息,例如通过扫描包含这些文件的目录,通过读取与FULM应用和/或其相关插件相关联的配置和/或属性文件1314或者按照某种其它方式。在一个实施例中,在收集该信息之后,联邦关系管理控制台应用1300可以建立注册表1316,注册表1316是关于企业域或者计算环境内支持的联邦功能性或者企业域或者计算环境可利用的联邦功能性的信息的编辑。在图13A所示的例子中,注册表1316包含可利用的联邦功能类型的条目1318;注册表条目1318还与表示给定联邦功能所要求的多个元数据参数的多个字段1320相关联;元数据指示联邦伙伴所要求的伙伴特定的配置数据,用以在采用所述联邦功能的联邦业务实例期间调用或者管理给定联邦功能。在一个实施例中,注册表1316为临时的数据存储库或者数据结构,每当管理用户使用联邦关系管理控制台应用1300时动态地产生所述临时的数据存储库或者数据结构;在可替换实施例中,通过企业的域或者计算环境内的某种其它配置实用工具(utility)来维持注册表1316,例如图12所示的运行时间环境管理控制台应用1202。
在某些情况下,将在创建实现联邦功能的软件模块时,确定关于与联邦功能相关联的元数据参数的信息;换言之,这些元数据参数是联邦功能特定的,并且元数据参数按照某种方式与实现这些联邦功能的软件模块相关联。因此,与联邦功能相关联的元数据参数1320的标识应当附随实现该联邦功能的软件模块,优选地作为配置和/或属性文件1314内的功能特定的元数据参数;在布置软件模块时,例如在布置FULM应用和/或其插件时,在企业的计算环境内布置或者配置这些配置和/或属性文件1314。可替换地,可以从某个其它数据源(例如公共的中心化的联邦数据库)取回元数据参数1320的数量和特性。在又一个可替换实施例中,可以从描述联邦协议的规范的电子文件中得到元数据参数1320的数量和特性;规范文件可以描述标准的元数据参数组,使得对于遵循特定联邦协议的联邦功能的任何联邦功能实现要求某些元数据参数,由此要求应当希望通过联邦协议的任何软件模块实现的接口或者数据交换。在任何情况下,元数据参数1320的数量和特性是可利用来通过联邦关系管理控制台应用1300取回的。
联邦关系管理控制台应用1300取回关于信任关系和联邦功能性的信息,同时支持管理用户建立联邦关系。由联邦关系数据库1322内的条目来表示这些联邦关系。在图13A所示的例子中,联邦关系数据库条目1324表示名称为“Fed-XY-ProjectX”的联邦关系;在此例子中,对于联邦关系的标识提供了在联邦关系中协作的联邦伙伴(例如伙伴“X”和伙伴“Y”)的指示以及联邦关系的目的的指示。假定联邦伙伴可以为了很多不同目的而交互,并且假定每个目的可以具有它自己的要求,则如上文参考图9A-9B所述的,一对联邦伙伴可以具有多个联邦关系。
在图13A所示的例子中,信任关系数据库条目1304被复制到联邦关系数据库条目1324,作为信任关系数据1326,其中信任关系数据1326包括信任关系元组1328,该信任关系元组1328包括加密密钥1330、令牌格式信息1332、以及标识/属性转换信息1334。可替换地,联邦关系数据库条目1324可以仅存储对信任关系数据库1302内的信任关系数据库条目1304的引用或者指针,使得可以修改信任关系数据库条目1304而不要求更新联邦关系数据库条目1324。包括信任关系元素(例如加密密钥和证书)的各个数据项也可以仅通过引用而被包含,以提高管理这些数据项的效率。联邦关系数据库条目1324还包含关于将通过由联邦关系数据库条目1324表示的联邦关系支持的联邦操作/功能的信息,例如,功能1336和1338以及分别关于它们的实现要求的相关元数据信息1340和1342。可替换地,联邦关系数据库条目1324可以仅存储适当位置(例如配置和/或属性文件1314)的引用或者指针,通过所述引用或者指针可以取回关于所支持的联邦功能/操作的信息。
在某个将来时间点,联邦关系数据库条目1324将用于发起联邦业务,其中该联邦业务将使用所述联邦关系数据库条目1324内指示的联邦功能性,即功能1336和1338。然而,为了发起或者完成联邦业务,在联邦功能性通过它的元数据信息指示它要求伙伴特定的信息的那些实例中,必须使用伙伴特定的信息,即根据与功能1336和1338相关联的信息1340和1342。例如,所述伙伴特定的信息可以包括一个或者多个URI,所述URL指示将被发送到联邦伙伴以向特定联邦伙伴请求联邦业务的请求消息的目标目的地。
在本发明的一个实施例中,在管理用户采用联邦关系管理控制台应用1300或者类似管理软件工具以构建或者建立联邦关系时,联邦关系管理控制台应用1300尝试获取伙伴特定的信息并且将其存储在联邦关系数据库条目1324,作为伙伴特定的数据项,例如数据项1344和1346。为了完成该操作,联邦关系管理控制台应用1300动态地产生联邦关系建立模板文件1348;这可以是XML格式文件或者其它类型文件。模板1348通过发起伙伴(例如伙伴“X”)导出到管理用户尝试与其建立联邦关系的信任伙伴,例如伙伴“Y”,如在信任关系数据1326内指示的信任伙伴。当信任伙伴通过修改模板文件1348以包含所请求的伙伴特定的信息而提供所述信息时,请求伙伴处的联邦关系管理控制台应用1300导入修改后的模板文件1348,提取所提供的信息,并且将其存储在联邦关系数据库条目1324中,这在下文将更详细地描述。
应当注意,还可能需要将伙伴特定的配置信息从上述管理用户(即发起/源伙伴或者伙伴“X”)的计算环境发送到协作/目标联邦伙伴,即伙伴“Y”。目标联邦伙伴可能需要关于发起伙伴的某种伙伴特定的信息用以从协作/目标联邦伙伴的角度配置联邦关系,例如,联邦伙伴可能需要类似的元数据信息,例如联系点服务器的URI,使得协作/目标联邦伙伴可以使用所述联邦功能性以及伙伴特定的配置数据在指向管理用户(例如伙伴“X”)的域的相反方向上发起联邦业务,在此例子中,伙伴“X”是先前引起或者发起两个伙伴之间的联邦关系的建立的联邦伙伴。因此,模板文件1348还可以包括对于管理用户(即伙伴“X”)的域的伙伴特定的信息。可替换地,可以在附随文件或者随后传输的文件中发送对于发起伙伴(即伙伴“X”)的伙伴特定的信息,使得使用两个文件在伙伴之间传输伙伴特定的信息。可以由管理用户在建立联邦关系时通过联邦关系管理控制台应用1300输入从发起/源伙伴传输到协作/目标伙伴的伙伴特定的信息,或者可以从同样由联邦关系管理控制台应用1300管理的配置数据库获取某些或者全部数据。
然而,应当注意,在联邦伙伴之间通过上述方式交换的伙伴特定的信息可以不是对称的。换言之,联邦伙伴可以通过承担不同的任务来进行联邦业务,并且这些不同任务可以要求应当提供不同类型的信息给它们各自的联邦伙伴。例如,管理用户可能操作用作标识提供者的企业。联邦关系可以支持由自由联盟的自由ID-FF规范指定的功能性子集。在此情况下,联邦功能性可以包括:浏览器/人工制品(artifact)单点登录;标识提供者发起的基于HTTP重定向的注册名标识符;以及服务提供者发起的SOAP/HTTP联邦终止通知。对于该特定联邦功能性,通过标识提供者提供给服务提供者的伙伴特定的信息的类型可以不同于通过服务提供者提供给标识提供者的伙伴特定的信息的类型。如果伙伴特定的信息根据联邦伙伴针对联邦关系所承担的任务而不同,则管理用户会将由管理用户的企业将要执行的任务通知给联邦关系管理控制台应用1300,假定先前没有在配置文件或者联邦关系管理数据库中配置或者存储所述任务;管理用户可以通过在例如图13B所示的联邦关系管理控制台应用中提供的GUI内选择或者输入适当的数据选项来通知联邦关系管理控制台应用。
现在参考图13B,示意图示出了根据本发明的优选实施例的联邦关系管理应用中的图形用户界面窗口,用以供管理用户在联邦伙伴之间建立联邦关系。对话窗口1350包含下拉菜单1352,用于允许用户选择信任关系,其中信任关系是正在通过联邦关系管理控制台应用(例如图13所示的联邦关系管理控制台应用1300)创建的联邦关系的基础。可替换地,用户能够例如通过选择菜单项或者通过按下对话按钮来调用联邦关系管理控制台应用或者某些其它应用内的功能性,例如图11所示的信任关系管理控制台应用1106,以便在需要时为特定的联邦关系动态建立新的信任关系。信任关系的建立可能涉及使用管理用户的企业的现有信息,例如现有的私钥、数字证书、令牌、标识映射信息等等;然后管理用户可以使用可利用的信任伙伴的已知信息(例如公钥、数字证书、标识映射信息等等)来配置信任关系的其余部分,尽管由于每个伙伴将令牌配置为不可改变而使得不能配置令牌信息。
下拉菜单1354允许用户选择所创建的联邦关系内将要支持的联邦功能。可以使用文本输入字段1356以输入正在创建的联邦关系的名称。按钮1358关闭对话窗口并且通过在适当数据存储库中产生条目而继续建立联邦关系,例如按照类似图13A所示的方式;按钮1360关闭对话窗口并且取消创建联邦关系。例如,当管理用户选择按钮1358时,例如通过导出和导入上面提及的并且在下面将详细描述的伙伴特定的联邦关系建立模板文件,控制台应用发起在将加入联邦关系的两个伙伴之间传送伙伴特定的配置信息。
现在参考图13C-13D,方框图示出了根据本发明的实施例的联邦关系管理控制台应用发起的用于获取特定伙伴的数据以便在企业计算环境内建立联邦关系的数据流。如上参考图13A所述的,联邦关系管理控制台应用1300动态地产生联邦关系建立模板文件1348。例如,联邦关系管理控制台应用1300可以在用户通过图13B所示的对话框窗口1350指示应用建立模板之后创建模板1348。基于联邦关系管理控制台应用1300尝试获取伙伴特定的数据的联邦关系来动态地确定模板1348的内容。参考图13C,联邦关系管理控制台应用1300基于由联邦关系数据库条目1324表示的联邦关系来创建模板1348。按照类似于图13A的方式,联邦关系数据库条目1324包括关于将要通过由联邦关系数据库条目1324表示的联邦关系支持的联邦操作/功能的信息,例如功能1336以及关于实现该相关功能所要求的参数的相关元数据信息1340。当联邦关系数据库1300产生模板1348时,应用提取元数据信息1340,并且在需要时根据联邦关系数据库条目1324在模板1348内为所表示的元数据参数项创建字段和元素1354,可能作为名称-值配对;如果模板1348是基于XML的文件,则可以包括名称-值配对作为文件内的标记元素。此时,模板1348尚未包含任何伙伴特定的数据;在某个后续时间点,模板1348被传输到协作/目标联邦伙伴以获取在未来某个时间点与协作/目标联邦伙伴执行联邦业务所要求的伙伴特定的数据。
参考图13D,在协作/目标联邦伙伴返回模板1348之后,模板1348包括修改后的名称-值配对1356;可能按照自动处理方式也可能按照通过协作/目标联邦伙伴处的图形用户界面应用与管理用户交互的方式,协作/目标联邦伙伴对模板1348进行了解析,提取了对于名称-值配对的请求,以及然后获取所要求的值。接着,在发起/源联邦伙伴处,联邦关系管理控制台应用1300提取返回的名称-值配对1356,并且将由协作/目标联邦伙伴提供的伙伴特定的信息存储为联邦关系数据库条目1324内的数据项1358-1362。随后,在未来某个时间点使用数据项1358-1362以完成与联邦伙伴的联邦业务。关于发起/源联邦伙伴的伙伴特定的配置信息可以在模板1348中再次发送到联邦伙伴,使得联邦伙伴具有等效或者对应的信息以在随后在相反方向上发起类似的联邦业务或者仅仅是进行联邦业务;按照这种方式,单个文件被来回传输,虽然在返回之前已被修改。
可替换地,可以在第二消息或者文件中与第一文件的传输同时或者在某个其它时间点传输关于发起/源联邦伙伴(即在两个伙伴之间发起建立联邦关系的联邦伙伴)的伙伴特定的配置信息;第二文件向协作/目标联邦伙伴提供关于发起/源联邦伙伴的伙伴特定的信息,并且不被返回。例如,第一文件作为“空白”文件被发送到联邦伙伴,该“空白”文件固有地从协作/目标联邦伙伴请求包含伙伴特定的信息,然后该第一文件在修改后被返回,使得第一文件包含对于联邦伙伴的伙伴特定的信息。相反地,第二文件作为“满(full)”文件被发送到联邦伙伴,该“满”文件将伙伴特定的信息从发起/源联邦伙伴提供到协作/目标联邦伙伴。
参考图14,流程图示出了根据本发明的实施例一个处理,其中通过使用联邦伙伴之间交换的导出/导入文件按照自动的方式建立联邦关系,所述联邦伙伴将通过联邦关系进行交互。当利用给定企业(例如标识为伙伴“X”)的计算环境的管理用户接收到与信任的商业伙伴(例如标识为伙伴“Y”)建立联邦关系的通知时,该处理开始(步骤1402)。尽管可以按照某种带外方式接收该通知,但优选地通过电子邮件或者某种其它方式在管理控制台应用(例如图13A所示的联邦关系管理控制台应用)中电子接收该通知,尽管这可以通过某种手动方式进行,例如邮件或者电话。通常,联邦常常具有权力负责者(powersponsor)的概念,该权力负责者是将作为发起/源联邦伙伴来配置对于关系的信息的联邦伙伴。
如果管理用户尚未完成该过程,则管理用户调用联邦关系管理控制台应用(步骤1404)。可替换地,可以通过由发起/源联邦伙伴的计算环境内的应用发起的一些工作流类型的动作来发起和/或执行该功能性。因此,可以完全自动地进行图14所示的处理,优选地基于并入在计算环境的基础结构内的策略确定来进行图14所示的处理,例如可能使用配置为实现WS策略规范的功能性。
应当注意,图14所示的处理是从发起/源联邦伙伴(即联邦伙伴“X”)的角度来描述的,并且参考图14描述的处理步骤在协作/目标联邦伙伴(即联邦伙伴“X”)的计算环境内进行;类似的动作可以响应于从联邦伙伴“X”接收信息而在联邦伙伴“Y”处进行,如在下文进行详细描述。
管理用户发起联邦伙伴“X”的联邦关系管理控制台应用内的新的联邦关系的配置或者建立(步骤1406);用户输入新的联邦关系的名称或者标识符(步骤1408),例如“Fed-XY-PROJECTX”,或者基于某个信息组自动地创建新的联邦关系,例如正在建立联邦关系的伙伴等等。
如果通过工作流处理自动发起配置/建立联邦关系的操作,则接收到的请求消息或者类似发起事件可以包含在请求的联邦关系内将要支持的联邦功能性的指示。可替换地,或者除此之外,用户还可以在例如图13B所示的联邦关系管理控制台应用中选择适当联邦功能(步骤1410),或者可以自动地处理接收到的请求消息以确定所请求的联邦功能性。
然后例如如图13B所示,用户选择、配置或者建立信任关系,其中联邦关系是基于信任关系的(步骤1412)。如果在伙伴之间仅存在单个信任关系,则可以自动选择信任关系;如果没有预先存在的信任关系适合于选择的联邦功能性,则联邦关系管理控制台应用可以提示用户配置或者建立新的信任关系。
如下文更加详细解释的,可以在两个商业伙伴之间配置或者建立联邦关系的同时配置或者建立这两个商业伙伴之间的信任关系。因此,可以在与传送用于配置联邦关系的信息相同的时间段期间,在商业伙伴之间传送用于配置信任关系的信息。
但是,相比较,正在配置联邦关系的联邦伙伴可能已经具有信任关系。可能为了除在联邦内协作以外的一些其它目的已经配置了所述信任关系。可能已经通过简单的信息交换配置了所述信任关系;可替换地,可能已经使用其各自计算环境内但是在联邦的考虑之外的其它软件应用配置了所述信任关系。例如,联邦伙伴可能已经交换了它们希望在他们自己之间的任何业务中使用的公钥/数字证书和其它信任相关信息;可能已经通过简单的电子信息传送,通过某个其它类型的软件应用或者按照某种其它方式交换了所述信息。
而且,可能为了在联邦内交互的目的已经建立了预先存在的信任关系。换言之,假定一对商业伙伴可以通过多个同时发生的联邦关系而协作,则可能已经为先前建立的联邦关系建立了信任关系。
在任何情况下,在希望建立或者配置新的联邦关系的两个商业伙伴之间可能存在一个或者多预先存在的信任关系,而不管在两个商业伙伴之间是否存在预先存在的联邦关系。如果存在至少一个预先存在的信任关系,则信任关系中的信任相关信息可以被逻辑封装为唯一命名的信任关系,其中可以在联邦关系管理控制台应用内提供该信任关系;如果这样,则管理用户能够简单地在图形用户界面中选择所述预先存在的、正式定义的信任关系。
可替换地,一个或者多个预先存在的信任关系的信任相关信息可以作为在图形用户界面中的信任相关信息的单独数据项被提供给管理用户。在此情形中,用户可能通过选择将要在新的信任关系中采用的数据项而构造或者构建新的信任关系;例如,由于多个信任关系的其它信任相关信息可能不同,所以在多个信任关系中可以采用单个数字证书,由此在每个关系中采用相同的数字证书时使得多个信任关系是唯一的。
在又一个可替换方案中,伙伴可能不具有预先存在的信任关系。在此情形中,管理用户输入或者选择伙伴的“自身”信息,即关于发起/源伙伴的信任信息;这可以是伙伴特定的信息,例如数字证书,但是它也可以包括信任关系的优选特性,该优选特性可以通过简单的非伙伴特定的值来表示,这些值可以在各种信任相关的协议规范中指定。例如,管理用户可以在联邦关系管理控制台应用从伙伴的计算环境内的密钥存储库取回的多个非对称加密密钥配对中进行选择;另外,用户可以通过图形用户界面内的复选框、单选按钮、菜单等等选择各种信任关系特性参数,其中这些信任关系特性参数指示针对信任相关的信息的不同处理选项。
假定信任关系要求伙伴之间的交互,则伙伴特定的信任相关信息的选择以及各种信任相关的特性的选择将指示发起/源伙伴向协作/目标伙伴要求的伙伴特定的信任相关信息。换言之,在伙伴之间交换的信息必须按照某种方式对应。因此,随后管理用户的选择导致在导出到协作/目标伙伴的模板/配置文件中包含发起/源伙伴的伙伴特定的信任相关信息;此外,随后管理用户的选择还导致在由发起/源伙伴导出到协作/目标伙伴的模板/配置文件中包含信息请求元素。在某些实例中,联邦功能性可能不要求任何信任支持,因此将不需要选择信任关系;由于联邦关系被定义为包括信任关系,所以在此情况下,联邦关系可以描述为包含空的信任关系。
优选地,在选择联邦功能性之后选择或者输入信任关系和/或信任关系信息,因为某些功能性可能更适合地与某些信任关系相关联,即选项的某些选择是针对信任相关处理的。例如,特定令牌类型可以具有涉及对令牌类型的实例应当执行的加密或者签名的要求。
在联邦伙伴“X”处发起了联邦关系的创建之后,动态地生成联邦关系建立模板文件(步骤1414);如上参考图13C所讨论的,根据需要从联邦伙伴收集的数据来构造所述模板文件。然后将模板文件发送到联邦伙伴“Y”(步骤1416),联邦伙伴“Y”修改所接收的模板文件以包括所要求的伙伴特定的信息,并且然后将修改后的模板文件返回到联邦伙伴“X”。在接收到修改后的模板文件之后(步骤1418),提取所请求的伙伴特定的信息(步骤1420)并且将其存储在联邦伙伴“X”中以供后续的联邦业务期间使用(步骤1422),由此完成处理。
应当注意,模板文件(或者在第二文件内的模板文件)可以包含发送到伙伴“Y”的关于伙伴“X”的伙伴特定的信息;当具有关于联邦伙伴“X”的信息的模板文件被发送到联邦伙伴“Y”时,该信息被导入到联邦伙伴“Y”的计算环境中以配置联邦伙伴“Y”的联邦关系;可以自动执行在联邦伙伴“Y”的计算环境处的关于联邦伙伴“X”的信息的导入,使得伙伴“Y”处的管理用户不必手动地配置对于联邦关系的信息。
在又一个可替换实施例中,代替选择先前创建的信任关系,也可以在建立联邦关系时建立信任关系,可能使用图11所示的信任关系管理控制台应用中的以及图13A所示的联邦关系管理控制台应用中的功能性。可替换地,联邦关系管理控制台应用还可以包含用于从管理用户输入信任信息或者用于从适当数据存储库(例如密钥存储库)获取信任信息的功能性。在此情况下,管理用户还可以输入信息或者选择信息,以例如通过从多个私钥或者多个证书中选择或者输入多个私钥或者多个证书来建立信任关系,其中联邦关系基于该信任关系。管理用户的企业(例如伙伴“X”)可以将该信任信息(例如公钥证书)添加到模板文件或者附随文件,所述模板文件或者附随文件被发送到联邦伙伴。同样,从联邦伙伴接收到的修改的模板文件可以具有用于建立信任关系的伙伴特定的信息以及用于建立联邦关系的伙伴特定的信息。还可以从接收到的文件中提取信任关系信息以及联邦关系信息,并且提取的信任关系信息将按照某种方式与对于联邦关系的配置信息相关联。还应当注意,管理用户可以从一个或者多个其它源获取所有或者其余部分的信任关系信息和/或联邦关系信息,并且然后通过联邦关系管理控制台应用输入所述信息以配置所希望的信任关系或者所希望的联邦关系。
因此,应当注意,按照两个阶段建立信任关系。在第一阶段中,管理用户收集将被用于确保信息安全的联邦伙伴“X”的所有信任信息,例如它的私钥,信息安全例如可以通过将发送到联邦伙伴“Y”和/或它的其它联邦伙伴的加密和/或数字签名来保证。如果联邦伙伴“X”仅具有一组加密密钥,则联邦伙伴“X”处的管理用户不能选择信任关系,但是管理用户在配置联邦关系时将具有添加新的密钥的选项,使得管理用户也配置新的信任关系。
在第二阶段中,收集对于联邦伙伴“Y”的所有信任信息,例如公钥和/或数字证书,这些信任信息被用于确认或者证实从联邦伙伴“Y”接收到的信息。如果联邦伙伴“X”已经存储了关于联邦伙伴“Y”的所述信息,则管理用户可以使用该信息;当管理用户通过管理控制台应用配置信任关系时,可以为管理用户提供加密密钥等等的列表。如果联邦伙伴“X”还没有存储关于联邦伙伴“Y”的所述信息,则伙伴“X”处的管理用户可以使用管理控制台应用来在运行时间选择添加所述信任信息,例如新的密钥。可替换地,如上所述的,联邦伙伴“X”处的管理用户可以选择通过伙伴特定的配置文件来导入对于联邦伙伴“Y”的信任信息,此后联邦伙伴“X”处的适当应用可以自动在联邦伙伴“X”处的数据存储中更新关于联邦伙伴“Y”的信任信息,由此在两个联邦伙伴之间建立信任关系。
结论
根据以上提供的本发明的详细描述,本发明的优点应当是明显的。本发明优选地利用现有环境,其中联邦用户生命周期管理解决方案将集成到该现有环境中。响应于来自终端用户的请求,由联系点功能组件来调用联邦用户生命周期管理功能组件。联邦用户生命周期管理功能组件是独立的,原因在于它们不要求与计算环境的其它部分进行任何交互;一旦成功地完成了所要求的协议,控制被返回到最初接收用户的请求的联系点功能组件。因此,现有环境仅需要最小的修改以支持所述联邦用户生命周期管理功能性。例如,如果将要调用的联邦用户生命周期管理功能性是单点登录请求,则这可以响应于未认证的用户对受保护的资源的请求来进行,其中调用联邦用户生命周期管理单点登录功能,而不是常规的认证处理。利用本发明,这优选地要求简单的配置改变,该简单的配置变化允许用户被重定向到联邦用户生命周期管理功能组件,而不是传统注册处理。
可以很容易地修改联邦用户生命周期管理应用,以支持新的协议/标准,因为它们仅涉及对总体基础结构进行最小的改变。支持新的联邦用户生命周期管理功能性可能所要求的任何改变几乎完全位于联邦用户生命周期管理应用内,这将要求配置联邦用户生命周期管理应用,以理解添加的功能性。
在其它联邦组件中,例如联系点服务器处,可能具有最小的配置改变,以便允许总体基础结构能够调用新的联邦用户生命周期管理功能性,同时继续支持现有的联邦用户生命周期管理功能性。然而,联邦用户生命周期管理应用在功能上独立于联邦组件的其余部分,原因在于联邦用户生命周期管理应用不要求与联邦环境的其它联邦组件进行交互。
因此,在根据本发明的优选实施例实现联邦用户生命周期管理功能性时,现有环境仅需要最小的修改以支持联邦用户生命周期管理功能性。而且,包括新功能性添加的对联邦用户生命周期管理功能性的改变对现有的联邦环境具有最小的影响。因此,当公布新的单点登录标准时,很容易添加对该标准的支持。在本发明的优点当中,信任代理优选地允许给定域中的现有安全服务与其它域建立信任关系,而不是必须订阅相同的信任根源(root)或者使用相同的信任建立技术。
因此,本发明的联邦架构优选地提供实体的宽松耦合。联邦允许用户按照单点登录方式无缝穿过给定联邦内的不同站点。
应当特别注意,尽管在全功能数据处理系统的上下文中描述了本发明,但本领域普通技术人员将意识到,本发明的处理能够以计算机可读介质中的指令的形式以及各种其它形式来分发,而与实际用来执行所述分发的信号承载介质的特定类型无关。计算机可读介质的例子包括例如EPROM、ROM、磁带、纸带、软盘、硬盘驱动器、RAM以及CD-ROM等的介质和例如数字和模拟通信链路的传输型介质。
总结如下:
提供了一种方法和系统,其中联邦服务提供者在联邦环境内进行交互以发起联邦操作。在第一服务提供者处提供会话管理能力的联系点组件接收来自客户端的请求。然后可能使用通过客户端的重定向来将所述请求发送到第一服务提供者的联邦用户生命周期管理功能组件,第一服务提供者的联邦用户生命周期管理功能组件可以与第二服务提供者处的联系点组件进行交互,以在第二服务提供者处发起联邦用户生命周期管理功能,这支持(enlist)第二服务提供者处的联邦用户生命周期管理功能组件的帮助。响应于完成联邦用户生命周期管理功能,第一服务提供者处的联系点组件随后接收来自第一服务提供者处的联邦用户生命周期管理功能组件的响应,并且可以进一步处理初始请求。
提供了一种方法和系统,其中多个联邦域在联邦环境内进行交互。联邦内的域可以对其它联邦域处的用户发起联邦操作。域内的联系点服务器依赖于域内的信任代理来管理域和联邦之间的信任关系。联系点服务器接收针对该域的输入的请求,并且与第一应用服务器和第二应用服务器连接,其中第一应用服务器对访问受控资源的请求做出响应,以及第二应用服务器20对访问联邦用户生命周期管理功能的请求做出响应,其中使用与第二应用服务器连接的一个或者多个可插入模块来实现所述联邦用户生命周期管理功能。
所述方法通常被认为是产生所希望的结果的自治(self-consistent)步骤序列。这些步骤要求对物理量的物理操纵。通常但非并必须地,这些量采用能够被存储、传送、组合、比较以及操纵的电信号或者磁信号的形式。某些时候,主要为了共同使用目的,可以方便地将这些信号称为比特、值、参数、项目、元素、对象、符号、字符、项、数字等等。然而,应当注意,所有这些项和类似项将与适当的物理量相关联,并且仅仅是应用到这些量的方便标记。
为了描述目的提供了本发明的描述,但是这些描述并非穷尽性的,或者并不是将本发明限制到所公开的实施例。各种修改和变形对于本领域普通技术人员来说是显而易见的。选择实施例用以解释本发明的原理及其实际应用,并且使得本领域其它技术人员能够理解本发明,以便利用各种修改来实现正如可能适合于其它所考虑的用途的各种实施例。

Claims (70)

1.一种用于在数据处理系统内提供联邦功能性的方法,所述方法包括:在联系点功能性处接收输入的第一请求;以及响应于确定从所述接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理,将所述得到的信息从所述联系点功能性发送到所述联邦用户生命周期管理功能性。
2.根据权利要求1所述的方法,其中在第一服务提供者的联系点功能组件处接收来自客户端的所述第一请求,其中所述联系点功能组件执行所述第一服务提供者针对所述第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联,其中所述发送步骤响应于确定所述第一请求的后续处理要求先前调用所述联邦用户生命周期管理功能,并且其中所述发送步骤包括:将第二请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的联邦用户生命周期管理功能组件,其中所述第二请求包含从所述第一请求得到的所述信息。
3.根据权利要求2所述的方法,还包括:响应于完成所述联邦用户生命周期管理功能,在所述第一服务提供者的所述联系点功能组件处接收来自所述第一服务提供者的所述联邦用户生命周期管理功能组件的第一响应。
4.根据权利要求3所述的方法,还包括:根据所述第一响应在所述联系点功能组件处对所述第一请求执行后续处理。
5.根据权利要求2所述的方法,还包括:经由通过所述客户端的重定向将所述第二请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的所述联邦用户生命周期管理功能组件。
6.根据权利要求2所述的方法,还包括:在所述联系点功能组件处建立针对所述客户端的会话。
7.根据权利要求2所述的方法,还包括:将第三请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的资源访问功能组件,其中所述第三请求包含从所述第一请求得到的信息。
8.根据权利要求2所述的方法,还包括:将第四请求从所述第一服务提供者的所述联邦用户生命周期管理功能组件发送到第二服务提供者处的联系点功能组件,其中所述第二服务提供者是标识提供者,并且所述第四请求请求用于在所述第一服务提供者处完成单点登录操作的认证令牌。
9.根据权利要求8所述的方法,还包括:在所述第一服务提供者的所述联邦用户生命周期管理功能组件处接收来自所述第二服务提供者的所述联邦用户生命周期管理功能组件的第二响应,其中所述第二响应包含认证令牌。
10.根据权利要求1所述的方法,其中所述联系点功能性是在一个域内,其中所述域与联邦计算环境内的多个域相关联,所述方法包括:利用所述联系点功能性分析所述输入的请求;响应于确定所述接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求,将所述接收的请求从所述联系点功能性发送到所述资源访问功能性,其中从所述接收的请求得到的所述信息是所述接收的请求自身,并且其中所述联邦用户生命周期管理功能性调用一个或者多个可插入模块,所述可插入模块与所述联邦用户生命周期管理功能性连接,以便提供一个或者多个联邦用户生命周期管理功能。
11.根据权利要求10所述的方法,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一服务器上。
12.根据权利要求10所述的方法,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一应用内。
13.根据权利要求10所述的方法,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一域内。
14.根据权利要求10所述的方法,还包括:分析接收的请求消息;调用所述资源访问功能性以处理由所述联系点功能性接收的请求访问受控资源的请求;以及调用所述联邦用户生命周期管理功能性以处理由所述联系点功能性接收的请求或者要求访问联邦用户生命周期管理功能的请求。
15.根据权利要求10所述的方法,其中可插入模块支持根据WS联邦规范的联邦协议。
16.根据权利要求10所述的方法,其中可插入模块支持根据自由联盟规范的联邦协议。
17.根据权利要求10所述的方法,其中可插入模块支持根据SAML(安全断言标记语言)规范的联邦协议。
18.根据权利要求10所述的方法,其中可插入模块支持根据专属规范的联邦协议。
19.根据权利要求10所述的方法,还包括:在第一可插入模块处支持根据第一联邦协议配置文件的联邦协议;以及在第二可插入模块处支持根据第二联邦协议配置文件的联邦协议。
20.一种用于在数据处理系统内提供联邦功能性的设备,所述设备包括:用于在联系点功能性处接收输入的第一请求的装置;以及用于响应于确定从所述接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理而将所述得到的信息从所述联系点功能性发送到所述联邦用户生命周期管理功能性的装置。
21.根据权利要求20所述的设备,其中在第一服务提供者的联系点功能组件处接收来自客户端的所述第一请求,其中所述联系点功能组件用于执行所述第一服务提供者针对所述第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联,其中所述发送装置响应于确定所述第一请求的后续处理要求先前调用所述联邦用户生命周期管理功能,并且其中所述发送装置包括:用于将第二请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的联邦用户生命周期管理功能组件的装置,其中所述第二请求包含从所述第一请求得到的所述信息。
22.根据权利要求21所述的设备,还包括:用于响应于完成所述联邦用户生命周期管理功能而在所述第一服务提供者的所述联系点功能组件处接收来自所述第一服务提供者的所述联邦用户生命周期管理功能组件的第一响应的装置。
23.根据权利要求22所述的设备,还包括:用于根据所述第一响应在所述联系点功能组件处对所述第一请求执行后续处理的装置。
24.根据权利要求21所述的设备,还包括:用于经由通过所述客户端的重定向将所述第二请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的所述联邦用户生命周期管理功能组件的装置。
25.根据权利要求21所述的设备,还包括:用于在所述联系点功能组件处建立针对所述客户端的会话的装置。
26.根据权利要求21所述的设备,还包括:用于将第三请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的资源访问功能组件的装置,其中所述第三请求包含从所述第一请求得到的信息。
27.根据权利要求21所述的设备,还包括:用于将第四请求从所述第一服务提供者的所述联邦用户生命周期管理功能组件发送到第二服务提供者的联系点功能组件的装置,其中所述第二服务提供者是标识提供者,并且所述第四请求请求用于在所述第一服务提供者处完成单点登录操作的认证令牌。
28.根据权利要求27所述的设备,还包括:用于在所述第一服务提供者的所述联邦用户生命周期管理功能组件处接收来自所述第二服务提供者的所述联邦用户生命周期管理功能组件的第二响应的装置,其中所述第二响应包含认证令牌。
29.根据权利要求20所述的设备,其中所述联系点功能性是在一个域内,其中所述域与联邦计算环境内的多个域相关联,所述设备包括:用于利用联系点功能性分析所述输入的请求的装置;用于响应于确定所述接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求而将所述接收的请求从所述联系点功能性发送到所述资源访问功能性的装置,其中从所述接收的请求得到的所述信息是所述接收的请求自身,并且其中所述联邦用户生命周期管理功能性通过调用一个或者多个可插入模块而对访问联邦用户生命周期管理功能的请求做出响应,所述可插入模块与所述联邦用户生命周期管理功能性连接。
30.根据权利要求29所述的设备,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一服务器上。
31.根据权利要求29所述的设备,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一应用内。
32.根据权利要求29所述的设备,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一域内。
33.根据权利要求29所述的设备,还包括:用于分析接收的请求消息的装置;用于调用所述资源访问功能性以处理由所述联系点功能性接收的请求访问受控资源的请求的装置;以及用于调用所述联邦用户生命周期管理功能性以处理由所述联系点功能性接收的请求访问联邦用户生命周期管理功能的请求的装置。
34.根据权利要求29所述的设备,其中可插入模块包括用于支持根据WS联邦规范的联邦协议的装置。
35.根据权利要求29所述的设备,其中可插入模块包括用于支持根据自由联盟规范的联邦协议的装置。
36.根据权利要求29所述的设备,其中可插入模块包括用于支持根据SAML(安全断言标记语言)规范的联邦协议的装置。
37.根据权利要求29所述的设备,其中可插入模块包括用于支持根据专属规范的联邦协议的装置。
38.根据权利要求29所述的设备,还包括:用于在第一可插入模块处支持根据第一联邦协议配置文件的联邦协议的装置;以及用于在第二可插入模块处支持根据第二联邦协议配置文件的联邦协议的装置。
39.一种计算机可读介质上的计算机程序产品,用于在数据处理系统中来提供联邦功能性,所述计算机程序产品包括:用于在联系点功能性处接收输入的第一请求的装置;以及用于响应于确定从所述接收的请求得到的信息要求通过联邦用户生命周期管理功能性的处理而将所述得到的信息从所述联系点功能性发送到所述联邦用户生命周期管理功能性的装置。
40.根据权利要求39所述的计算机程序产品,其中在第一服务提供者的联系点功能组件处接收来自客户端的所述第一请求,其中所述联系点功能组件用于执行所述第一服务提供者针对所述第一服务提供者的客户端的会话管理,并且其中所述服务提供者与联邦计算环境内的多个服务提供者相关联,其中所述发送装置响应于确定所述第一请求的后续处理要求先前调用所述联邦用户生命周期管理功能,并且其中所述发送装置包括:用于将第二请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的联邦用户生命周期管理功能组件的装置,其中所述第二请求包含从所述第一请求得到的所述信息。
41.根据权利要求40所述的计算机程序产品,还包括:用于响应于完成所述联邦用户生命周期管理功能而在所述第一服务提供者的所述联系点功能组件处接收来自所述第一服务提供者的所述联邦用户生命周期管理功能组件的第一响应的装置。
42.根据权利要求41所述的计算机程序产品,还包括:用于根据所述第一响应在所述联系点功能组件处对所述第一请求执行后续处理的装置。
43.根据权利要求40所述的计算机程序产品,还包括:用于经由通过所述客户端的重定向将所述第二请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的所述联邦用户生命周期管理功能组件的装置。
44.根据权利要求40所述的计算机程序产品,还包括:用于在所述联系点功能组件处建立针对所述客户端的会话的装置。
45.根据权利要求40所述的计算机程序产品,还包括:用于将第三请求从所述第一服务提供者的所述联系点功能组件发送到所述第一服务提供者的资源访问功能组件的装置,其中所述第三请求包含从所述第一请求得到的信息。
46.根据权利要求40所述的计算机程序产品,还包括:用于将第四请求从所述第一服务提供者的所述联邦用户生命周期管理功能组件发送到第二服务提供者处的联系点功能组件的装置,其中所述第二服务提供者是标识提供者,并且所述第四请求请求用于在所述第一服务提供者处完成单点登录操作的认证令牌。
47.根据权利要求46所述的计算机程序产品,还包括:用于在所述第一服务提供者的所述联邦用户生命周期管理功能组件处接收来自所述第二服务提供者的所述联邦用户生命周期管理功能组件的第二响应的装置,其中所述第二响应包含认证令牌。
48.根据权利要求39所述的计算机程序产品,其中所述联系点功能性是在一个域内,其中所述域与联邦计算环境内的多个域相关联,所述计算机程序产品包括:用于利用联系点功能性分析所述输入的请求的装置;用于响应于确定所述接收的请求是针对访问由资源访问功能性控制的资源而不是要求通过联邦用户生命周期管理功能性的处理的请求而将接收的请求从所述联系点功能性发送到所述资源访问功能性的装置,其中从所述接收的请求得到的信息是所述接收的请求自身,并且其中所述联邦用户生命周期管理功能性通过调用一个或者多个可插入模块而对访问联邦用户生命周期管理功能的请求做出响应,所述可插入模块与所述联邦用户生命周期管理功能性连接。
49.根据权利要求48所述的计算机程序产品,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一服务器上。
50.根据权利要求48所述的计算机程序产品,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一应用内。
51.根据权利要求48所述的计算机程序产品,其中所述联系点功能性和所述联邦用户生命周期管理功能性实现在同一域内。
52.根据权利要求48所述的计算机程序产品,还包括:用于分析接收的请求消息的装置;用于调用所述资源访问功能性以处理由所述联系点功能性接收的请求访问受控资源的请求的装置;以及用于调用所述联邦用户生命周期管理功能性以处理由所述联系点功能性接收的请求访问联邦用户生命周期管理功能的请求的装置。
53.根据权利要求48所述的计算机程序产品,其中可插入模块包括用于支持根据WS联邦规范的联邦协议的装置。
54.根据权利要求48所述的计算机程序产品,其中可插入模块包括用于支持根据自由联盟规范的联邦协议的装置。
55.根据权利要求48所述的计算机程序产品,其中可插入模块包括用于支持根据SAML(安全断言标记语言)规范的联邦协议的装置。
56.根据权利要求48所述的计算机程序产品,其中可插入模块包括用于支持根据专属规范的联邦协议的装置。
57.根据权利要求48所述的计算机程序产品,还包括:用于在第一可插入模块处支持根据第一联邦协议配置文件的联邦协议的装置;以及用于在第二可插入模块处支持根据第二联邦协议配置文件的联邦协议的装置。
58.一种计算机程序,包括程序代码装置,当所述程序在计算机上运行时适合于执行根据权利要求1至19中任何一个的方法步骤。
59.一种数据处理系统,包括:联系点服务器,其中所述联系点服务器接收输入的请求;第二应用服务器,与所述联系点服务器连接,其中所述第二应用服务器包括用于对访问联邦用户生命周期管理功能的请求做出响应的装置。
60.根据权利要求59所述的数据处理系统,其中所述输入的请求是针对一个域,其中所述域与联邦计算环境中的多个域相关联,所述系统包括:与所述联系点服务器连接的第一应用服务器,其中所述第一应用服务器包括用于对访问受控资源的请求做出响应的装置,其中所述第二应用服务器的用于对访问联邦用户生命周期管理功能的请求做出响应的装置包括一个或者多个与所述第二应用服务器连接的可插入模块。
61.根据权利要求60所述的数据处理系统,其中所述联系点服务器进一步包括:用于分析接收的请求消息的装置;用于调用所述第一应用服务器以处理由所述联系点服务器接收的请求访问受控资源的请求的装置;以及用于调用所述第二应用服务器以处理由所述联系点服务器接收的请求访问联邦用户生命周期管理功能的请求的装置。
62.根据权利要求60所述的数据处理系统,其中可插入模块进一步包括用于支持根据WS联邦规范的联邦协议的装置。
63.根据权利要求60所述的数据处理系统,其中可插入模块进一步包括用于支持根据自由联盟规范的联邦协议的装置。
64.根据权利要求60所述的数据处理系统,其中可插入模块进一步包括用于支持根据SAML(安全断言标记语言)规范的联邦协议的装置。
65.根据权利要求60所述的数据处理系统,其中可插入模块进一步包括用于支持根据专属规范的联邦协议的装置。
66.根据权利要求60所述的数据处理系统,还包括:用于支持根据第一联邦协议配置文件的联邦协议的第一可插入模块;以及用于支持根据第二联邦协议配置文件的联邦协议的第二可插入模块。
67.根据权利要求60所述的数据处理系统,还包括:信任代理,其中所述信任代理产生从所述域发送的安全断言并且确认在所述域处接收的安全断言。
68.根据权利要求67所述的数据处理系统,其中所述第二应用服务器进一步包括:用于调用所述信任代理以产生包含请求或者响应的安全消息的装置。
69.根据权利要求67所述的数据处理系统,其中所述信任代理进一步包括:用于在所述联邦计算环境内维持与不同域的信任关系的装置。
70.根据权利要求67所述的数据处理系统,其中所述信任代理进一步包括:用于与信任中介器进行协作以在转换从联邦计算环境内的不同域接收的断言时获得帮助的装置。
CNA2005800233602A 2004-07-21 2005-07-18 用于在数据处理系统内提供联邦功能性的方法和设备 Pending CN1985493A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/896,316 2004-07-21
US10/896,353 US7698375B2 (en) 2004-07-21 2004-07-21 Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
US10/896,353 2004-07-21

Publications (1)

Publication Number Publication Date
CN1985493A true CN1985493A (zh) 2007-06-20

Family

ID=35658550

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800233602A Pending CN1985493A (zh) 2004-07-21 2005-07-18 用于在数据处理系统内提供联邦功能性的方法和设备

Country Status (2)

Country Link
US (1) US7698375B2 (zh)
CN (1) CN1985493A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914038A (zh) * 2020-09-21 2020-11-10 北京百度网讯科技有限公司 联邦计算方法、装置、设备及存储介质

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293087B2 (en) * 2000-01-21 2007-11-06 Scriptlogic Corporation Event-based application for performing configuration changes in a networked environment
US20040268139A1 (en) * 2003-06-25 2004-12-30 Microsoft Corporation Systems and methods for declarative client input security screening
JP2006139747A (ja) * 2004-08-30 2006-06-01 Kddi Corp 通信システムおよび安全性保証装置
CN101048898B (zh) * 2004-10-29 2012-02-01 麦德托尼克公司 锂离子电池及医疗装置
US7562382B2 (en) * 2004-12-16 2009-07-14 International Business Machines Corporation Specializing support for a federation relationship
US7784092B2 (en) * 2005-03-25 2010-08-24 AT&T Intellectual I, L.P. System and method of locating identity providers in a data network
US8245051B2 (en) * 2005-05-13 2012-08-14 Microsoft Corporation Extensible account authentication system
US20060274695A1 (en) * 2005-06-03 2006-12-07 Nokia Corporation System and method for effectuating a connection to a network
US8078740B2 (en) * 2005-06-03 2011-12-13 Microsoft Corporation Running internet applications with low rights
US9418040B2 (en) * 2005-07-07 2016-08-16 Sciencelogic, Inc. Dynamically deployable self configuring distributed network management system
US8245270B2 (en) * 2005-09-01 2012-08-14 Microsoft Corporation Resource based dynamic security authorization
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
US20080208982A1 (en) * 2007-02-28 2008-08-28 Morris Robert P Method and system for providing status information relating to a relation between a plurality of participants
US20090178112A1 (en) * 2007-03-16 2009-07-09 Novell, Inc. Level of service descriptors
US20090204622A1 (en) * 2008-02-11 2009-08-13 Novell, Inc. Visual and non-visual cues for conveying state of information cards, electronic wallets, and keyrings
US8151324B2 (en) * 2007-03-16 2012-04-03 Lloyd Leon Burch Remotable information cards
US8087060B2 (en) 2007-03-16 2011-12-27 James Mark Norman Chaining information card selectors
US20090077655A1 (en) * 2007-09-19 2009-03-19 Novell, Inc. Processing html extensions to enable support of information cards by a relying party
US20080263644A1 (en) * 2007-04-23 2008-10-23 Doron Grinstein Federated authorization for distributed computing
US10019570B2 (en) 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US8312154B1 (en) * 2007-06-18 2012-11-13 Amazon Technologies, Inc. Providing enhanced access to remote services
US9455969B1 (en) 2007-06-18 2016-09-27 Amazon Technologies, Inc. Providing enhanced access to remote services
US20090037588A1 (en) * 2007-07-31 2009-02-05 Morris Robert P Method And System For Providing Status Information Of At Least Two Related Principals
CN101387956B (zh) * 2007-09-14 2012-08-29 国际商业机器公司 可扩展地实现非功能逻辑的方法和设备及其系统
US8676902B2 (en) * 2007-11-28 2014-03-18 International Business Machines Corporation System and method for service oriented email client application
US8079069B2 (en) 2008-03-24 2011-12-13 Oracle International Corporation Cardspace history validator
US20100031328A1 (en) * 2008-07-31 2010-02-04 Novell, Inc. Site-specific credential generation using information cards
US8555351B2 (en) * 2008-09-29 2013-10-08 International Business Machines Corporation Trusted database authentication through an untrusted intermediary
US8083135B2 (en) 2009-01-12 2011-12-27 Novell, Inc. Information card overlay
JP5342654B2 (ja) * 2009-01-14 2013-11-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Iptvデバイス及び該デバイスに適合した方法
US8632003B2 (en) * 2009-01-27 2014-01-21 Novell, Inc. Multiple persona information cards
US20110289430A1 (en) * 2010-05-18 2011-11-24 Three Wire Systems, LLC System and method for maintaining virtual world anonymity
US9560036B2 (en) * 2010-07-08 2017-01-31 International Business Machines Corporation Cross-protocol federated single sign-on (F-SSO) for cloud enablement
US9582673B2 (en) 2010-09-27 2017-02-28 Microsoft Technology Licensing, Llc Separation of duties checks from entitlement sets
US9667423B2 (en) 2010-09-27 2017-05-30 Nokia Technologies Oy Method and apparatus for accelerated authentication
US8694642B2 (en) * 2010-10-21 2014-04-08 Opendns, Inc. Selective proxying in domain name systems
US8990557B2 (en) * 2011-02-17 2015-03-24 Ebay Inc. Identity assertion framework
US9405896B2 (en) 2011-04-12 2016-08-02 Salesforce.Com, Inc. Inter-application management of user credential data
US8966122B2 (en) 2012-04-16 2015-02-24 Opendns, Inc. Cross-protocol communication in domain name systems
WO2013162561A1 (en) * 2012-04-26 2013-10-31 Hewlett-Packard Development Company, L.P. Platform runtime abstraction
US20140089661A1 (en) * 2012-09-25 2014-03-27 Securly, Inc. System and method for securing network traffic
US9398050B2 (en) * 2013-02-01 2016-07-19 Vidder, Inc. Dynamically configured connection to a trust broker
KR102247410B1 (ko) * 2014-02-07 2021-05-04 오라클 인터내셔날 코포레이션 모바일 클라우드 서비스 아키텍처
US10277554B2 (en) 2014-03-04 2019-04-30 Cisco Technology, Inc. Transparent proxy authentication via DNS processing
US10789300B2 (en) 2014-04-28 2020-09-29 Red Hat, Inc. Method and system for providing security in a data federation system
US10021084B2 (en) 2014-10-28 2018-07-10 Open Text Sa Ulc Systems and methods for credentialing of non-local requestors in decoupled systems utilizing a domain local authenticator
US9807050B2 (en) 2015-04-15 2017-10-31 Cisco Technology, Inc. Protocol addressing for client and destination identification across computer networks
US10073689B2 (en) * 2015-07-31 2018-09-11 Cisco Technology, Inc. Managing application lifecycles within a federation of distributed software applications
US10270753B2 (en) 2015-08-14 2019-04-23 Salesforce.Com, Inc. Background authentication refresh
US10469262B1 (en) 2016-01-27 2019-11-05 Verizon Patent ad Licensing Inc. Methods and systems for network security using a cryptographic firewall
US10931452B2 (en) * 2016-08-22 2021-02-23 Akamai Technologies, Inc. Providing single sign-on (SSO) in disjoint networks with non-overlapping authentication protocols
US10832306B2 (en) * 2016-09-15 2020-11-10 International Business Machines Corporation User actions in a physical space directing presentation of customized virtual environment
US10243946B2 (en) 2016-11-04 2019-03-26 Netskope, Inc. Non-intrusive security enforcement for federated single sign-on (SSO)
US10554480B2 (en) 2017-05-11 2020-02-04 Verizon Patent And Licensing Inc. Systems and methods for maintaining communication links
US10721222B2 (en) * 2017-08-17 2020-07-21 Citrix Systems, Inc. Extending single-sign-on to relying parties of federated logon providers
US11265332B1 (en) 2018-05-17 2022-03-01 Securly, Inc. Managed network content monitoring and filtering system and method
US11570164B2 (en) * 2019-07-30 2023-01-31 Dell Products L.P. System and method of single sign on to master website and silent authentication for subservient websites
US11539678B2 (en) * 2019-08-16 2022-12-27 Red Hat, Inc. Asymmetric key management for cloud computing services
US11818128B2 (en) * 2021-06-29 2023-11-14 Microsoft Technology Licensing, Llc Migration of user authentication from on-premise to the cloud
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016875B1 (en) * 2000-08-04 2006-03-21 Enfotrust Networks, Inc. Single sign-on for access to a central data repository
WO2004068277A2 (en) * 2002-01-18 2004-08-12 Idetic, Inc. Method and system of performing transactions using shared resources and different applications
US7221935B2 (en) * 2002-02-28 2007-05-22 Telefonaktiebolaget Lm Ericsson (Publ) System, method and apparatus for federated single sign-on services

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914038A (zh) * 2020-09-21 2020-11-10 北京百度网讯科技有限公司 联邦计算方法、装置、设备及存储介质
CN111914038B (zh) * 2020-09-21 2024-04-16 北京百度网讯科技有限公司 联邦计算方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20060020679A1 (en) 2006-01-26
US7698375B2 (en) 2010-04-13

Similar Documents

Publication Publication Date Title
CN1985493A (zh) 用于在数据处理系统内提供联邦功能性的方法和设备
CN100571129C (zh) 联合用户生命周期管理的信任基础结构支持的方法和系统
CN100568256C (zh) 用于运行时刻用户帐户创建操作的方法
CN1726690B (zh) 用于异构型联合环境中的本机认证协议的方法和系统
CN100388278C (zh) 在异构联合环境中统一注销的方法和系统
US10810515B2 (en) Digital rights management (DRM)-enabled policy management for an identity provider in a federated environment
TWI378695B (en) Specializing support for a federation relationship
CN101102257B (zh) 传输数据对象的方法和装置
CN101127606B (zh) 传输数据对象的方法和装置
CN100461667C (zh) 与异类联合体环境中验证声明相关的拥有证明操作方法和设备
CN100590631C (zh) 用于安全绑定注册名称标识符简表的方法和系统
CN1514569B (zh) 在不同类联合环境中用于验证的方法和系统
KR101054700B1 (ko) 연합 환경에서 서비스 제공업자를 위한 디지털 권리 관리(drm) 강화 정책 관리
US20060048216A1 (en) Method and system for enabling federated user lifecycle management
US20060218628A1 (en) Method and system for enhanced federated single logout
US20040128541A1 (en) Local architecture for federated heterogeneous system
CN101213570B (zh) 在基于身份标识的情况下增强当事人引用的方法
KR100992016B1 (ko) 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법및 장치
Marković et al. Secure JAVA application in SOA-based cross-border PKI mobile government systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20070620