CN100388278C - 在异构联合环境中统一注销的方法和系统 - Google Patents

在异构联合环境中统一注销的方法和系统 Download PDF

Info

Publication number
CN100388278C
CN100388278C CNB2003801079735A CN200380107973A CN100388278C CN 100388278 C CN100388278 C CN 100388278C CN B2003801079735 A CNB2003801079735 A CN B2003801079735A CN 200380107973 A CN200380107973 A CN 200380107973A CN 100388278 C CN100388278 C CN 100388278C
Authority
CN
China
Prior art keywords
territory
user
trust
domain
authentication
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.)
Expired - Lifetime
Application number
CNB2003801079735A
Other languages
English (en)
Other versions
CN1732465A (zh
Inventor
G·R·布莱克利三世
H·M·欣顿
A·J·纳达林
A·A·韦斯利
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.)
Present Service Co
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 CN1732465A publication Critical patent/CN1732465A/zh
Application granted granted Critical
Publication of CN100388278C publication Critical patent/CN100388278C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

提供了一种方法,在该方法中,各联合域在联合环境内相交互。联合中的各域能够为其他联合域上的用户启动联合单次登录操作。一个域中的接触点服务器依靠该域中的信任代理来管理该域与该联合之间的信任关系。信任代理在必要时解释来自其他联合域的断言。信任代理可具有与一个或多个信任中介的信任关系,且信任代理可依靠信任中介的协助来解释断言。当用户请求从已启动过对其他联合域上的用户的联合单次登录操作的域注销时,该域通过请求在那些其他联合域上的注销操作来启动统一注销操作,而这些其他联合域也可以用到已启动过联合单次登录操作的域的级联方式启动注销操作。

Description

在异构联合环境中统一注销的方法和系统
相关申请的交叉引用
本申请与如下具有共同受让人的申请相关:
美国专利申请序列号(代理机构卷号CH920020006),提交日(待定),标题“Efficient browser-based identity management providing personalcontrol and anonymity(提供个人控制和匿名的高效的基于浏览器的身份管理)”;
美国专利申请序列号(代理机构卷号AUS920020410US1),2002/xx/xx提交,标题“Method and System for Proof-of-Possession OperationsAssociated with Authentication Assertions in a Heterogeneous FederatedEnvironment(在异构联合环境中与认证断言相关的所有权证明操作的方法和系统);
美国专利申请序列号(代理机构卷号AUS920020411US1),2002/xx/xx提交,标题“Local Architecture for Federated Heterogeneous Environment(联合异构环境的本地体系结构)”;
美国专利申请序列号(代理机构卷号AUS920020412US1),2002/xx/xx提交,标题“Method and System for Attribute Exchange in a HeterogeneousFederated Environment(异构联合环境中属性交换的方法和系统)”;
美国专利申请序列号(代理机构卷号AUS920020413US1),2002/xx/xx提交,标题“Method and System for Authentication in a HeterogeneousFederated Environment(异构联合环境中认证的方法和系统)”;以及
美国专利申请序列号(代理机构卷号AUS920020486US1),2002/xx/xx提交,标题为“Method and System for Native Authentication Protocols in aHeterogeneous Federated Environment(异构联合环境中本地认证协议的方法和系统)”。
技术领域
本发明涉及一种改进的数据处理系统,具体地,涉及用于多计算机数据传输的方法和装置。更具体地,本发明涉及网络化的计算机系统。
背景技术
企业一般都期望以用户友好的方式向授权用户提供在包括互联网的多种网络的全面范围内对受保护资源的安全访问。尽管提供安全认证机制减少了对受保护资源的未授权访问的风险,但同样的认证机制可能会变成用户与受保护资源交互的屏障。用户一般都期望具有这样的能力,即从与一个应用的交互跳转到与另一个应用的交互、而无需考虑与保护支持这些应用的每一特定系统的认证屏障。
在用户变得更熟练时,他们期望计算机系统协调他们的行为,以便减少用户的负担。这些类型的期望也施加到认证过程。用户可能设想一旦他或她通过了某一计算机系统的认证,该认证应该在该用户的整个工作会话期间或至少是一段特定时期内有效,而无需考虑对用户几乎不可见的各种计算机体系结构边界。企业一般都试图在他们所部署的系统的操作特性中实现这些期望,不仅为了安抚用户,而且为了增加用户效率,而不管用户效率是与雇员生产率相关还是与客户满意度相关。
更具体地,对于当前其中许多应用具有可通过普通浏览器访问的基于Web的用户接口的计算环境,用户期望对于从一个基于Web的应用到另一个基于Web的应用的转移具有更多的用户友好和较低或很少的屏障。本文中,用户产生对具有这样的能力的期望,即从与一个互联网域上的应用的交互跳转到与另一域上的另一应用的交互,而无需考虑保护每一特定域的认证屏障。但是,即使许多系统通过方便使用的基于Web的接口提供安全认证,用户可能仍然被迫对付阻碍用户对一组域交叉访问的多个认证操作。在给定时间范围内使用户经历多个认证过程可能会显著地影响用户的效率。
已有各种技术用于降低用户和计算机系统管理员的认证负担。这些技术通常被描述为“单次登录(single-sign-on)”(SSO)过程,因为它们具有共同的目的:用户完成登录操作、即被认证之后,该用户随后不需要执行另一个认证操作。因此,该目标是用户在特定用户期间将仅需要完成一次认证过程。
这样的单次登录方案当实现于给定企业内时是成功的。然而,多个认证过程或系统所呈现的屏障随着更多企业参与到电子商务市场或其他通过互联网连接的协作努力中而变得日益普遍。先前的企业之间单次登录方案已限定于其中参与的企业之间存在预建立的业务协议的同构环境。这些业务协议部分用于建立企业之间的信任,并用于限制和规定企业之间怎样以安全方式传输信息。这些业务协议还包括对一些规则所达成的技术协议,这些规则是关于怎样从一家企业向另一家企业转换或映射用户身份及怎样传送用于在参与的企业之间对用户进行担保的信息。
换言之,先前的单次登录方案允许一家企业信赖由不同企业根据预先协商的或预先设置的协议所生成的认证断言(随同在断言中提供的用户身份)。每个不同的企业都知道如何创建和解释认证断言,即可被其他已与其交换过类似协议的企业(诸如电子商务市场内的企业)所理解的认证断言。这些同构环境紧密结合,因为存在这些企业知道的用于跨越这些系统映射用户身份的确定关系。因为用于建立单次登录环境的业务协议而使得这种紧密结合是可能的。尽管参与的企业可能通过使用这些先前的单次登录方案在同构环境内协作,但由于对互连多个同构环境(例如互连的电子商务市场)的需要或期望,这些环境是有局限的。
另外,保证系统安全的仅仅一部分是用户完成认证操作以向系统证明他们的身份所需要的。该过程的同等重要的部分是用户完成注销操作以结束安全会话、从而防止其他用户盗用或以其他方式恶意干扰有效会话的需要。因此,具有这样的方法和系统是有利的,在该方法和系统中,在参与的企业之间不存在预定的业务及技术转换协议时,企业能够向用户提供类似的单次登录和类似的单次注销体验。
发明内容
提供了这样的一种方法、装置、系统和计算机程序产品,其中,联合域在联合环境中交互。联合中的各域能够为其他联合域上的用户启动联合单次登录操作。一个域中的接触点服务器依靠该域中的信任代理(proxy)来管理该域与该联合之间的信任关系。信任代理在必要时解释来自其他联合域的断言(assertion)。信任代理可具有与一个或多个信任中介(broker)的信任关系,且信任代理可依靠信任中介的协助来解释断言。当用户请求从已启动过对其他联合域上的用户的联合单次登录操作的域注销时,该域通过请求在那些其他联合域上的注销操作来启动统一注销操作,而这些其他联合域也可以用到已启动过联合单次登录操作的域的级联方式启动注销操作。发布-订阅模型还支持可订阅用于特定使用的注销事件的域。
附图说明
在所附权利要求中列出了相信是本发明特点的新颖性特征。参照下面结合附图所作的详细描述,将更好地理解本发明本身、进一步的目的及其优点。
图1A示出每一个都可实现本发明的数据处理系统的典型网络;
图1B示出可用于数据处理系统内的典型计算机体系结构,其中本发明可实现于该数据处理系统中;
图1C示出说明在客户端试图访问服务器处的受保护资源时可使用的典型认证过程的数据流程图;
图1D示出说明本发明可实现于其中的典型的基于Web的环境的网络图;
图1E示出说明可能需要来自用户的多个认证操作的典型在线事务的例子的方框图;
图2A示出说明关于用户向第一联合企业发起的事务,而该企业作为响应调用联合环境内的下游实体处的动作的联合环境的术语的方框图;
图2B示出说明给定域处的预先存在系统与根据本发明实施例的一些本发明联合体系结构组件的集成的方框图;
图2C示出说明根据本发明的实现的联合体系结构的方框图;
图2D示出说明根据本发明在使用信任代理(proxy)和信任中介(broker)的联合域之间的一组示例性信任关系的方框图;
图3A示出说明用于在联合环境中创建断言的发布域处的一般过程的流程图;
图3B示出说明用于拆开断言的依赖域处的一般过程的流程图;
图3C示出说明用于响应发布域处的用户行为而从发布域向依赖域推断言的特定过程的流程图;
图3D示出说明用于响应发布域主动拦截对依赖域的传出请求而从发布域向依赖域推断言的特定过程的流程图;
图3E示出说明拉模型的流程图,该模型中依赖域在试图满足依赖域从请求用户处接收的资源请求时向发布域请求用户所需的任何断言;
图4示出说明支持联合单次登录操作的联合环境的方框图;
图5示出用于在联合域之中通过HTTP重定向执行统一注销操作的过程的流程图;
图6示出用于在的联合域之中使用SOAP后备信道方法执行统一注销操作的过程的流程图;
图7A-7B示出用于在具有SOAP方案的联合域之中使用发布和订阅模型执行统一注销操作的一对过程的一对流程图;
图8A-8B示出包含来自联合内的统一注销操作的状态消息的图形用户接口(GUI)窗口。
具体实施方式
一般地,可能包含或涉及本发明的设备包括各种数据处理技术。因此,作为背景,在对本发明进行更详细地描述之前,描述分布式数据处理系统内硬件和软件组件的典型组织。
现在参照附图,图1A示出了每一个可实现本发明的数据处理系统的典型网络。分布式数据处理系统100包括网络101,其是可用于在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的媒介。网络101可包括诸如有线或光缆的永久性连接、或通过电话或无线通信实现的临时连接。在所示出的例子中,服务器102和服务器103随同存储单元104一起连接到网络101。另外,客户端105-107也连接到网络101。客户端105-107和服务器102-103可由诸如大型机、个人计算机、个人数字助理(PDA)等的各种计算设备代表。分布式数据处理系统100可包括其他未示出的服务器、客户端、路由器、其他设备和对等体系结构。
在所示出的例子中,分布式数据处理系统100可包括具有网络101的互联网,网络101代表使用各种协议彼此通信的网络和网关的世界范围的集合,其中的各种协议诸如LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)、TCP/IP(Transport Control Protocol/InternetProtocol,传输控制协议/网际协议)、HTTP(HyperText TransportProtocol,超文本传输协议)等。当然,分布式数据处理系统100也可包括许多不同类型的网络,诸如内部网、局域网(LAN)或广域网(WAN)。例如,服务器102直接支持客户端109和网络110,其引入了无线通信链路。网络使能电话111通过无线链路112连接到网络110,而PDA 113通过无线链路114连接到网络110。电话111和PDA 113也能在它们自己之间使用诸如BluetoothTM无线技术的适当技术通过无线链路115直接传送数据,以创建所谓的个人局域网或个人自主式网络。以类似方式,PDA 113能通过无线通信链路116向PDA 107传送数据。
本发明也可在实现于各种硬件平台和软件环境之上。图1A旨在作为异构计算环境的示例而并非作为本发明的体系结构限制。
现在参照图1B,该图示出了诸如图1A中示出的本发明可实现于其中的数据处理系统的典型计算机体系结构。数据处理系统120包含连接到内部系统总线123的一个或多个中央处理单元(CPU)122,该总线将随机存储器(RAM)124、只读存储器126和输入/输出适配器128互连,输入/输出适配器128支持诸如打印机130、磁盘132、或诸如音频输出系统等其他未示出设备的各种I/O设备。系统总线123还连接提供对通信链路136的访问的通信适配器134。用户接口适配器148连接诸如键盘140和鼠标142或诸如触摸屏、输入笔、麦克风等其他未示出设备的各种用户设备。显示适配器144将系统总线123连接到显示设备146。
本领域的普通技术人员将理解,图1B中的硬件可根据系统实现而改变。例如,系统可能具有诸如基于
Figure C20038010797300111
的处理器和数字信号处理器(DSP)的一个或多个处理器,及一种或多种类型的易失或非易失存储器。其他外围设备可用于附加于或代替图1B中示出的硬件。所示出的例子并不意味着是对本发明的体系结构限制。
除了能够实现于各种硬件平台上之外,本发明也可实现于各种软件环境中。典型的操作系统可用于控制每一数据处理系统内的程序执行。例如,一个设备可能运行
Figure C20038010797300112
操作系统,而另一设备包含简单Java运行时环境。典型的计算机平台可能包括浏览器,其是众所周知的用于访问各种格式的超文本文档的软件应用,这些超文本文档如图形文件、字符处理文件、可扩展标记语言(XML)、超文本标记语言(HTML)、手持设备标记语言(HDML)、无线标记语言(WML)和各种其他形式及类型的文件。应当指出,图1A中示出的分布式数据处理系统被设想为完全能够支持各种对等子网和对等服务。
现在参照图1C,其数据流图示出了可在客户端试图访问服务器处的受保护资源时使用的典型认证过程。如图所示,客户端工作站150处的用户通过执行于该客户端工作站上的用户的Web浏览器寻求在计算机网络上对服务器151上的受保护资源的访问。受保护资源由仅能被认证或授权的用户访问的统一资源定位器(URL)、或更一般地由统一资源标识符(URI)所标识。该计算机网络可以是如图1A或图1B中所示的互联网、内部网或其他网络,而服务器可以是Web应用服务器(WAS)、服务器应用、小服务程序进程等。
在用户请求诸如域“ibm.com”内的网页的受保护资源时启动该过程(步骤152)。Web浏览器(或相关应用或小程序)产生发送到为域“ibm.com”提供宿主的Web服务器的HTTP请求消息(步骤153)。该服务器确定它不具有对于该客户端的活动会话(步骤154),因此该服务器通过向该客户端发送某种类型的认证质询而要求用户执行认证过程(步骤155)。认证质询可以是各种格式的,诸如超文本标记语言(HTML)形式。然后,用户提供所请求或所需的信息(步骤156),诸如用户标识符和相关口令,或该客户端可自动返回某一信息。
将认证响应信息发送给服务器(步骤157),此时服务器例如通过检索先前提交的注册信息并将当前认证信息与用户存储的信息进行匹配而认证该用户或客户端(步骤158)。假设该认证成功,为经认证的用户或客户端建立活动会话。
然后,服务器检索所请求的网页并向客户端发送HTTP响应消息(步骤159)。此时,用户可通过点击超文本链接请求浏览器内“ibm.com”内的另一页(步骤160),且浏览器向服务器发送另一HTTP请求(步骤161)。此时,服务器识别出用户具有活动会话(步骤162),且该服务器在该另一HTTP响应消息中向客户端发送回所请求的网页(步骤163)。尽管图1C示出了典型的先有技术过程,但应当指出,可示出其他可选会话状态管理技术,诸如使用cookie识别具有活动会话的用户,其可能包括使用用于提供认证证明的相同cookie。
现在参照图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,其可能支持为了完成对于域191的事务的目的而对用户190进行认证的认证管理器192。ISP域191可以是提供互联网连接服务、电子邮件服务和可能的其他电子商务服务的互联网服务提供者(ISP)。可选地,ISP域191可以是用户190经常访问的互联网门户。
类似地,域193、195和197代表典型的web服务提供者。政府域193支持为完成各种与政府有关的事务而对用户进行认证的认证管理器194。银行域195支持为完成与在线银行的事务而对用户进行认证的认证管理器196。电子商务域197支持为完成在线购买而对用户进行认证的认证管理器198。
如先前指出的,在用户在互联网或万维网中通过访问不同域的资源而试图从一个域转移到另一个域时,用户可能遇到多个用户认证请求或需要,这能显著减慢用户在一组域上的进度。将图1E用作示例性环境,用户190可能涉及与电子商务域197的复杂在线事务,用户试图在该域中购买在线服务,该在线服务限于至少18岁且具有有效驾照、有效信用卡和美国银行账户的用户。该在线事务可能涉及域191、193、195和197。
通常,用户可能不在参与典型在线事务的每个域内维持身份。在该例中,用户190可能已向该用户的ISP注册了他或她的身份,但为完成该在线事务,该用户还可能被要求向域193、195和197进行认证。如果每个域不维持该用户的身份,则该用户的在线事务可能会失败。即使该用户能被每个域认证,也不许可为了完成该事务而使不同域能在它们之间传送信息。对于图1E中所示出的用户190,不存在这样的先有技术环境,即允许用户190向例如ISP 191的第一web站点进行认证,然后出于单次登录目的将认证令牌传送给诸如域193、195和197的其他web服务提供者。
给出了一些当前技术的前述简短描述,对余下附图的描述涉及本发明可操作于其中的联合计算机环境。但是,在对本发明进行更详细的讨论之前,介绍一些术语。
术语
术语“实体”或“方(party)”一般指组织、个人或代表组织、个人或另一系统操作的系统。术语“域”意味着网络环境内的附加特征,但术语“实体”、“方”和“域”可互换使用。例如,术语“域”也可能指DNS(域名系统)域,或更一般地,指包括对外部实体来说表现为逻辑单元的各种设备和应用的数据处理系统。
术语“请求”和“响应”应当理解为包括适合于涉及特定操作的信息的传送的数据格式,其中的信息诸如消息、通信协议信息或其他相关信息。受保护资源是对其的访问被控制或限制的资源(应用、对象、文档、页面、文件、可执行代码、或其他计算资源、通信类型资源等)。
令牌提供成功操作的直接证据,且其由执行该操作的实体所产生,例如,在成功认证操作之后生成的认证令牌。Kerberos令牌是可用于本发明中的认证令牌的一个例子。关于Kerberos的更多信息可在Kohl等人的“Kerberos网络认证服务(版本5)(The Kerberos NetworkAuthentication Service(V5))”(因特网工程任务组(IETF)请求说明(RFC)1510,09/1993)中查找到。
断言提供某一动作的间接证据。断言可能提供身份、认证、属性、授权决定或其他信息和/或操作的间接证据。认证断言提供由并非认证服务而是侦听该认证服务的实体所作认证的间接证据。
安全性断言标记语言(SAML)断言是可用于本发明内的可能断言格式的例子。SAML已由结构化信息标准促进组织(OASIS)颁布,OASIS是非营利的全球化社团。在“OASIS安全性断言标记语言(SAML)的断言和协议(Assertions and Protocol for the OASIS Security Assertion MarkupLanguage(SAML))”(委员会说明01,05/31/2002)中对SAML描述如下:
安全性断言标记语言(SAML)是用于交换安全性信息的基于XML的框架。安全性信息以关于主体的断言的形式表示,其中的主体是在某安全域中具有身份的实体(人或计算机)。主体的典型例子是人,其由他或她在特定互联网DNS域中的电子邮件地址来标识。断言能传达关于由主体执行的认证行为、主体的属性和关于主体是否被允许访问某资源的认证决定的信息。断言被表示为XML构造且具有嵌套的结构,从而单个断言可能包含关于认证、授权和属性的若干不同内部声明。注意,包含认证声明的断言仅描述先前发生的认证的行为。断言由SAML管理机构发布,SAML管理机构即认证管理机构、属性管理机构和策略决定点。SAML定义客户端通过其可向SAML管理机构请求断言并从它们得到响应的协议。由基于XML的请求和响应消息格式组成的该协议可绑定到多种不同的基础通信和传输协议;SAML目前定义了一个到HTTP之上的SOAP的绑定。SAML管理机构在创建它们的响应时可使用各种信息源,诸如外部策略存储和作为输入而在请求中接收的断言。因此,尽管客户端总是使用断言,而SAML管理机构既可以是断言的生成者又可以是断言的使用者。
SAML规范规定断言是提供由发布者作出的一个或多个声明的信息包。SAML允许发布者作出三种不同的断言声明:认证,其中指定主体在特定时间通过特定手段被认证;授权,其中对允许指定主体访问指定资源的请求已被许可或拒绝;以及属性,其中指定主体与所提供的属性相关联。如下面进一步讨论的,必要时可将各种断言格式转换为其他断言格式。
认证是对用户所提供的或代表用户提供的一组证书进行验证的过程。通过验证用户所知道的、用户所具有的、或用户所是的,即关于用户的某一物理特征来完成认证。用户所知道的可包括共享的秘密,诸如用户的口令,或者通过验证仅为特定用户所知的某事物,如用户的密钥。用户所具有的可包括智能卡或硬件令牌。关于用户的某物理特征可包括生物测量输入,如指纹或视网膜图纹。
认证证书是用于各种认证协议的一组质询/响应信息。例如,用户名和口令组合是认证证书最常见的形式。其他认证证书的形式可包括各种形式的质询/响应信息、公钥基础结构(PKI)证书、智能卡、生物测量等等。认证证书与认证断言的区别在于:认证证书由用户呈现,作为对于认证服务器或认证服务的认证协议序列的一部分,而认证断言是关于用户认证证书的成功呈现和确认的声明,随后在必要时认证断言在实体之间传输。
区别现有技术的单次登录方案
如上所述,现有技术的单次登录方案限于同构环境,在这种同构环境中已经有在参与的企业之间预先建立的业务协议。这些业务协议建立了企业之间的信任,并规定了企业之间的信息的安全传输。这些业务协议还包括对一些规则所达成的技术协议,这些规则是关于怎样将用户身份从一家企业向另一家企业进行转换或映射,以及怎样在参与的企业之间传输用于对用户进行担保的信息。
换句话说,以前的单次登录方案允许一家企业基于预先协商或预先设置的协议信任由另一家企业所生成的认证断言(连同该断言中提供的用户身份)。每家不同的企业了解怎样创建和解释这样的认证断言,即可以被已与其交换过类似协议的企业(例如在电子商务市场里的企业)所理解的认证断言。这些同构环境是紧密结合的,由于存在企业知道的用来跨越这些系统映射用户身份的一种确定性的关系。由于用于建立单次登录环境的业务协议而使得这种紧密结合是可能的。
本发明的联合模型
在万维网的情境中,用户开始期望这样的能力,即从与一个互联网域上的应用的交互跳转到与另一域上的另一应用的交互,而极少关心每一特定域之间的信息屏障。用户不希望有由于不得不为了单个事务而向多个域进行认证所引起的挫败感。换句话说,用户期望各组织可以互操作,但是用户通常还希望各域尊重他们的隐私。另外,用户可能更希望限制永久存储隐私信息的域。这些用户期望存在于一个快速发展的异构环境中,在此环境中,许多企业和组织都在发布相竞争的认证技术。
与现有技术的系统相反,本发明提供一种联合模型,该模型允许企业向用户提供单次登录体验,而无需在特定企业之间存在特定的、预先建立的业务和技术协议。换句话说,本发明支持一种联合的异构环境。作为本发明的目的一个示例,再次参照图1E,用户190能够向域191进行认证,并随后使域191向每个可能参与该事务的下游域提供适当的断言。这些下游域需要能够理解并信任认证断言和/或其他类型的断言,即使域191与这些其他下游域之间并不存在预先建立的断言格式。除了识别断言之外,即使不存在预先建立的身份映射关系,下游的域也需要能够将断言内包含的身份转换为在特定域内代表用户190的身份。
本发明涉及一种联合环境。一般地,一个企业有自己的用户注册表并维护与自己的用户组的关系。通常,每家企业都有自己的对用户进行认证的手段。然而,本发明的联合模式允许企业以一种集体的方式进行合作,以便通过一家企业对企业联合的参与,企业的用户可以利用与一组企业的关系。用户可被许可访问联合企业中任何一个的资源,就好像他们与每家企业均有直接的关系。用户不需要在每一个感兴趣的业务处进行注册,并且用户也不需要经常对他们自己进行识别和认证。因此,在这种联合环境内,认证模式允许在信息技术领域内快速发展的异构环境中实现单次登录体验。
在本发明中,联合是这样一组不同的实体,诸如企业、组织、机构等,这些实体相互合作以向用户提供单次登录的、便于使用的体验。在本发明中,联合环境与典型的单次登录环境的不同之处在于,两家企业无需具有直接的、预先建立的定义了怎样传输用户信息以及传输什么样的用户信息的关系。在联合环境内,各实体提供服务,这些服务处理对用户进行的认证、接受由其他实体呈现的认证断言(例如认证令牌)、以及提供被担保的用户的身份向本地实体内可以理解的身份的某种形式的转换。
联合减轻了服务提供者的管理负担。服务提供者可以依靠它对于联合总体的信任关系;服务提供者无需管理认证信息,诸如用户口令信息,因为它可以依靠用户的认证主域所完成的认证。
本发明还涉及联合身份管理系统,该系统建立了一个基础,在此基础上,松散结合的认证、用户登记、用户简档管理和/或授权服务跨越安全域进行合作。联合身份管理允许在完全不同的安全域上存在的服务安全地进行互操作和合作,即便这些完全不同的域上在基础安全机制和操作系统平台方面存在差异。一旦用户在联合内建立了他们的参与,单次登录体验便建立起来。
主域、发布方和依赖方
如下面更详细地深入解释的,本发明提供了重要的用户利益。本发明允许用户在第一个实体处进行认证,在下文中该实体也被称为用户的主域或认证主域。该第一个实体可以担当发布方,其发布用于在第二个实体上使用的关于该用户的认证断言。接着,该用户通过呈现第一个实体发布的认证断言,而无需在第二个实体处显式地进行再次认证,就能够访问第二个不同实体上的受保护资源,这里的第二个实体被称为依赖方。从发布方传递给依赖方的信息采用断言的形式,且该断言可包含采取声明形式的不同类型的信息。例如,一个断言可能是关于被认证的用户身份的声明,或者它可能是与特定用户相关联的用户属性信息有关的声明。
现在参照图2A,此框图示出了针对一个事务的联合环境的术语,该事务由用户向第一家联合企业发起,作为回应,该企业在联合环境中的下游实体处调用动作。图2A表明,取决于联合内的实体的视角,用于一个给定的联合操作的术语会有所不同。用户202通过对企业204中的受保护资源的请求来启动一个事务。如果用户202已经通过了企业204的认证,则在这次联合会话中,企业204就是用户的主域。假定该事务需要企业206的某种类型的操作,并且企业204向企业206传输一个断言,则企业204是对于此特定操作的发布域,而企业206是该操作的依赖域。假定该事务需要更多的操作,并且企业206向企业208传输一个断言,则企业206是对于此所请求操作的发布域,而企业208是该操作的依赖域。
在本发明的联合环境中,用户进行认证的域被称为用户的(认证)主域。主域对认证证书进行维护。主域可以是用户的雇主、用户的ISP、或某种其他服务提供者。由于可能存在多个企业有能力生成并验证用户的认证证书,因此在一联合环境中可能会存在多个企业皆可担当用户的主域。
从认证的视角看,认证断言的发布方通常是用户的认证主域。用户的主域可能会、可能不会为该用户维护个人信息或简档信息。于是,从涉及个人可识别的信息、个性化信息或其他用户属性的视角看,属性断言的发布域可能是、可能不是用户的认证主域。为了避免混淆,可为属性主域和认证主域使用分别的术语,但是,下文中的术语“主域”可以解释为指认证主域。
然而,在给定联合会话的范围内,通常有一个且仅有一个域担当用户的主域。一旦用户向该域进行了认证,在此会话持续期间,该联合内所有其他的域或企业都被视为依赖方。
已知本发明提供了一种联合的基础结构,该基础结构可被添加到现有系统中而同时最小化对现有的非联合体系结构的影响,则主域也可参与到联合环境中的事实并不会改变在用户主域上进行的认证。换句话说,即使主域被结合到根据本发明实现的联合环境中,当用户在用户主域执行认证操作时,应该具有相同的终端用户的体验。尽管如此,应该指出,并非给定企业的所有用户都必须要参与到联合环境中。
此外,主域也可参与到联合环境中的事实不会改变用户注册,例如用户帐户的建立。用户通过独立于联合环境的注册过程在某一域上建立帐户。换句话说,在主域上的用户帐户的建立并不包括在整个联合中皆有效的帐户信息(例如身份转换信息)的建立。如果存在能够对用户进行认证的单个联合域,即在联合内有且仅有一个域是用户已向其注册过的,则这个域将一直担当该用户的主域,并会指引该用户在联合环境中的动作。
如果用户在联合环境内有多个可能的主域,则用户可通过不止一个进入点进入此联合。换句话说,用户可在多个域拥有帐户,并且这些域并不必需拥有关于其他域的信息和关于用户在其他域上的身份的信息。
当用户进行认证所在的域被称为主域时,发布域是一个发布为另一个域即依赖域所使用的断言的联合实体。发布域通常但不必然是用户的主域。因此,通常是这样的情况,即如上所述,发布方已经通过典型的认证协议对用户进行了验证。然而,有可能该发布方之前曾担当过依赖方,并由此从不同的发布方接收过断言。换句话说,由于用户发起的事务可能级联通过联合环境内一系列的企业,接收方可能随后在下游事务中担当发布方。一般地,具有代表用户发布认证断言的能力的任何域均可担当发布域。
依赖域是接收来自发布方的断言的域。依赖域能够接受、信任和理解由第三方即发布域代表用户所发布的断言。使用适当的认证管理机构来解释认证断言通常是依赖方的责任。此外,有可能依赖方能够对特定用户进行认证,也就是说,担当用户的主域,但是也有可能依赖方不能通过常规方法对特定用户进行认证。因此,依赖方是这样的域或企业,该域或企业依赖于用户呈现的认证断言,并向用户提供单次登录体验,而不是提示用户输入用户的认证证书作为与该用户的交互会话的一部分。
联合体系结构--用于原有系统的联合前端
现在参考图2B,此框图示出了在给定域内预先存在的系统和与根据本发明实施例的本发明的一些联合体系结构组件的集成。联合环境包括了为用户提供多种服务的联合实体。用户212与客户端设备214交互,客户端设备214可支持浏览器应用216和其他的各种客户端应用218。用户212与客户端设备214、浏览器216或任何其他担当用户与其他设备和服务之间的接口的软件是不同的。在某些情况下,以下描述会界定出在客户端应用中显式地执行动作的用户和代表用户执行动作的客户端应用之间的区别。不过一般而言,请求者是可被假定为代表用户执行动作的中介,诸如基于客户端的应用、浏览器、SOAP客户端等等。
浏览器应用216可以是典型的浏览器,该浏览器包含许多模块,诸如HTTP通信组件220和标记语言(ML)解释器222。浏览器应用216也可支持可能需要、也可能不需要虚拟机运行时环境的插件,诸如Web服务客户端224,和/或可下载的小程序。Web服务客户端224可使用简单对象访问协议(SOAP),SOAP是一个轻量协议,用于定义分散的、分布式环境中结构化和类型化信息的交换。SOAP是基于XML的协议,由三部分组成:包封,它定义了一个框架,用于描述消息内是什么内容以及怎样处理该消息;一组编码规则,用于表达应用定义的数据类型的实例;以及约定,用于表示远程过程调用和响应。用户212可使用浏览器应用216访问基于web的服务,但用户212也可通过客户端设备214上的其他web服务客户端来访问web服务。附图中所示出的本发明的一些示例通过用户的浏览器使用HTTP重定向,而在联合环境中的实体之间交换信息。但是,应该指出,本发明可在各种通信协议之上实施,而并非要限于基于HTTP的通信。例如,联合环境中的实体在必要时可以直接通信;消息不需要通过用户的浏览器进行重定向。
本发明可以这样一种方式来实施,该方式使联合环境所需的组件可以与预先存在的系统集成在一起。图2B示出了用于将这些组件实现为预先存在的系统的前端的一个实施例。一个联合域中预先存在的组件可被认为是原有应用或后端处理组件230,它们以与图2C中所示的类似方式包括认证服务运行时(ASR)服务器232。当该域控制了对应用服务器234的访问时,ASR服务器232负责对用户进行认证,这里的应用服务器234可被认为生成、检索、或以其他方式处理受保护资源。该域可继续使用原有用户注册应用236来注册用户,以便访问应用服务器234。对已注册用户进行认证所需的信息被存储在原有用户注册表238中。
在加入到联合环境之后,该域会继续进行操作而无需联合组件的干预。换句话说,可以对该域进行配置,以便用户可以继续直接访问特定应用服务器或其他受保护资源,而无需通过接触点服务器或实现该接触点服务器功能的其他组件;以这种方式访问系统的用户会经历典型的认证流程和典型的访问。然而,当如此进行时,直接访问原有系统的用户将不能建立该域的接触点服务器所知的联合会话。
该域的原有功能可以通过使用联合前端处理240集成到联合环境中,该联合前端处理240包括接触点服务器242和信任代理服务器244(或更简单地,信任代理244),信任代理244本身包括安全令牌服务(STS)245,所有这些都在下文中参照图2C进行了更详细的描述。联合配置应用246允许管理用户对联合前端组件进行配置,以允许它们通过联合接口单元248与原有后端组件接口。
给定企业的原有或预先存在的认证服务可使用各种公知的认证方法或令牌,诸如用户名/口令或基于智能卡令牌的信息。但是,在本发明中,通过使用接触点服务器,可以将原有认证服务的功能用于联合环境中。用户可以继续直接访问原有认证服务器,而无需通过接触点服务器,尽管以这种方式访问系统的用户会经历典型的认证流程和典型的访问;直接访问原有认证系统的用户将无法根据本发明生成联合认证断言以作为身份证明。联合前端的职责之一是将接触点服务器接收到的联合认证令牌转换成为原有认证服务所懂得的一种格式。因此,通过接触点服务器访问联合环境的用户将无需向原有认证服务的再次认证。优选地,通过接触点服务器和信任代理的结合向原有认证服务认证用户,从而显得好像用户正在参加认证对话。
联合体系结构——接触点服务器、信任代理和信任中介
现在参考图2C,此框图示出了根据本发明的实现的联合体系结构。联合环境包括为用户提供各种服务的联合企业或类似实体。通过客户端设备上的应用,用户可试图访问各实体(诸如企业250)处的资源。在每个联合企业中的接触点服务器(诸如企业250的接触点(POC)服务器252)是用户进入联合环境的进入点。由于接触点服务器处理许多联合需求,所以它最小化了对现有非联合体系结构(例如原有系统)中的现有组件的影响。接触点服务器提供会话管理、协议转换,并可能地启动认证断言转换。例如,接触点服务器可以将HTTP或HTTPS消息转换成SOAP,反之亦然。如在下文进一步更详细解释的,接触点服务器也可用于调用信任代理来转换认证断言,例如,从发布方接收的SAML令牌可以被转换成接收方理解的Kerberos令牌。
信任代理或信任代理服务器(例如在企业250处的信任代理(TP)254)建立并维护联合内的两个实体之间的信任关系。信任代理通常具有这样的能力,即处理从发布方使用的一种格式到接收方所理解的一种格式的认证令牌格式转换(如果同样配置了安全令牌服务,则通过安全令牌服务;此服务在下文中进一步更详细地描述)。
接触点服务器和信任代理的共同使用最小化了在现有非联合系统上实现联合体系结构的影响。因此,本发明的联合体系结构需要为每个联合实体配备至少一个接触点服务器和至少一个信任代理,而不管该实体是企业、域、还是其他逻辑或物理实体。不过,本发明的联合体系结构不必定需要对现有的一组非联合系统进行改变。优选地,对于给定的联合实体,存在单个信任代理,但基于可用性目的,可以存在多个信任代理,或者,对于联合实体内的各种较小实体,例如企业内部的单独子公司来说,可以存在多个信任代理。可能的是,给定实体可以属于不止一个联合,但是这种情况不必定需要多个信任代理,因为单个信任代理能够管理多个联合内的信任关系。
信任代理的职责之一是确定另一个域和/或该域中的信任代理所需要的令牌类型。信任代理具有这样的能力,即处理从发布方使用的格式到接收方所理解的格式的认证令牌格式转换。信任代理254还负责对于企业250发生的任何用户身份转换或属性转换。但是,如下所述,信任代理可调用信任中介以寻求协助。对于将发布方已知的用户身份和属性映射成为对接收方有意义的用户身份和属性来说,身份转换可能是需要的。这样的转换可能被发布域的信任代理或接收域的信任代理所调用。
信任代理254可包括内部化的组件,该组件被显示为安全令牌服务(STS)组件255,它将提供令牌转换,并将调用认证服务运行时(ASR)256来验证和生成令牌。安全令牌服务提供了信任代理所需的令牌发布和验证服务。因此,安全令牌服务包括到现有认证服务运行时的接口,或者它将认证服务运行时合并到该服务自身中。不是将安全令牌服务组件内部化在信任代理中,而是也可将它实现为例如将由信任代理所调用的独立组件,或者可将它例如作为应用服务器的一部分内部化在事务服务器中。
例如,STS组件可接收发布Kerberos令牌的请求。作为将为其创建令牌的用户的认证信息的一部分,该请求可包含含有用户名和口令的二进制令牌。STS组件将对比例如LDAP运行时来验证该用户名和口令(典型认证),并将调用Kerberos KDC(密钥分配中心)来为该用户生成Kerberos票证(ticket)。此令牌被返回给信任代理,以在企业内部使用;然而,这种使用可能包括将该令牌外部化,以便传输到该联合内的其他域。
以类似于对于图1D所描述的方式,用户可能期望访问联合环境内的多个企业(诸如企业250和企业260二者)的资源。以类似于上文中对于企业250所描述的方式,企业260包含接触点服务器262、信任代理264、安全令牌服务265和认证服务运行时266。尽管用户可以直接启动与每个企业的单独事务,但该用户也可启动与企业250的、级联通过该联合环境的事务。企业250可能需要与联合环境内的其他多家企业(诸如企业260)合作,以完成特定事务,即使当用户启动事务时可能还不知道这样的必要性。企业260作为下游域参与其中,而且,如果必要的话,本发明允许企业250向企业260呈现联合断言以促进该用户的事务。
情况可能是,信任代理不知道怎样解释由相关接触点服务器接收的认证令牌,和/或怎样转换给定用户身份和属性。在这种情况下,该信任代理可选择调用信任中介组件(例如信任中介268)的功能。信任中介维护与各个信任代理的关系,由此提供信任代理之间可传递的信任。使用信任中介允许联合环境内的每个实体(例如企业250和260)建立与信任中介的信任关系,而不是建立与联合环境中的每个域的多个单独信任关系。例如,当企业260作为企业250的用户所启动的事务的下游域参与时,可向企业250处的信任代理254确保,企业260处的信任代理264通过在必要时调用信任中介268的协助可以理解来自信任代理254的断言。尽管图2C示出了具有单个信任中介的联合环境,但是一个联合环境可以具有多个信任中介。
应该指出,尽管图2C示出了作为不同实体的接触点服务器252、信任代理254、安全令牌服务组件255和认证服务运行时256,但是这些组件未必实现于分离的设备上。例如,对于这些分离的组件的功能来说可能的是,将它们实现为单个物理设备上的应用,或者可以将它们结合在单个应用中。此外,图2C示出了用于一家企业的单个接触点服务器、单个信任代理和单个安全令牌服务器,但可选的配置可包括用于每家企业的多个接触点服务器、多个信任代理和多个安全令牌服务器。接触点服务器、信任代理、安全令牌服务以及其他联合实体可以多种形式来实现,这些形式诸如软件应用、对象、模块、软件库等等。
信任代理/STS可能能够接受并验证多种不同的认证证书,包括诸如用户名和口令组合及Kerberos票证的传统证书,以及联合认证令牌格式,这种格式包括由第三方生成的认证令牌。信任代理/STS可允许将认证令牌作为在别处认证的证明的接受。该认证令牌由发布方生成,并用于指示用户已经向该发布方进行了认证。发布方生成认证令牌,作为一种断言用户的已经认证身份的手段。
安全令牌服务按需要调用认证服务运行时。认证服务运行时支持能够对用户进行认证的认证服务。认证服务担当认证管理机构,该认证管理机构通过认证响应提供成功或失败的认证尝试的指示。信任代理/STS可以使认证服务内部化,例如其中存在不需要与现有原有基础结构交互的web服务的全新安装的情况。否则,STS组件将调用外部认证服务来验证认证令牌。例如,STS组件可以“拆开”含有用户名/口令的二进制令牌,并随后使用LDAP服务访问用户注册表来验证所呈现的证书。
当STS组件被诸如应用服务器的其他组件所使用时,STS组件可用于生成到原有认证系统的单次登录所需的令牌。因此,STS组件可用于令牌的转换,该令牌的转换可以是为了内部目的,即在企业内部,也可以是为了外部目的,即跨越联合内的各企业。作为内部目的的一个示例,Web应用服务器可以通过IBM CICS(客户信息控制系统)事务网关与主机接口;CICS是提供企业级别的用于关键任务应用的在线事务管理及连通性的一系列应用服务器和连接器。Web应用服务器可调用STS组件,以将Kerberos票证(如该Web应用服务器内部使用的)转换为CICS事务网关所需的
Figure C20038010797300261
通过票证(passticket)。
可以使用上面介绍过的术语如“发布方”和“依赖方”来解释图2C中所示的实体。作为建立和维护信任关系的一部分,发布方的信任代理可以确定依赖方的信任代理需要/接受什么令牌类型。这样,当从安全令牌服务调用令牌服务时,信任代理使用这样的信息。当发布域的信任代理需要为依赖方生成认证断言时,该信任代理确定所需的令牌类型,并向安全令牌服务请求适当的令牌。
当依赖域的信任代理从发布方接收到认证断言时,该信任代理知道它所期望的断言类型,以及对于在依赖域内部使用所需要的断言类型。因此,依赖域的信任代理请求安全令牌服务基于所接收到的认证断言中的令牌,生成所需的内部使用的令牌。
信任代理和信任中介都具有将从发布方接收到的断言转换为依赖方可以理解的格式的能力。信任中介具有这样的能力,即为每个与之有直接信任关系的信任代理解释断言格式,从而允许该信任中介在发布方和依赖方之间提供断言转换。任一方均可通过其本地信任代理请求这种转换。因此,发布方的信任代理可以在断言被发送到依赖方之前请求对该断言的转换。同样,依赖方的信任代理可以请求对从发布方接收到的断言的转换。
断言转换包括用户身份转换、认证断言转换、属性断言转换、或其他形式的断言转换。重申以上观点,断言转换由联合内的信任组件,即信任代理和信任中介来处理。信任代理可以在发布域或者在依赖域本地执行转换,或者信任代理也可以调用来自信任中介的协助。
假定发布方和依赖方已经具有与信任中介的单独信任关系,如果需要,该信任中介能够动态创建、即中间安排发布方与依赖方之间新的信任关系。在信任中介提供了初始的信任关系中间安排操作之后,发布方和依赖方就可以直接对此关系进行维护,以便无需为未来的转换需求调用该信任中介。应该指出,认证令牌的转换可以发生在三个可能的地点:发布方的信任代理、依赖方的信任代理、及信任中介。优选地,发布方的信任代理生成信任中介所理解的认证断言,并且信任中介将该认证断言发送到依赖方。然后,依赖方请求将来自信任中介的该令牌转换为可被依赖方识别的格式。令牌转换可以发生在认证断言的传输之前、传输之后、或在传输前与传输后都发生。
联合体系结构内的信任关系
在根据本发明实现的联合环境内,存在两种类型的“信任域”必须被管理:企业信任域和联合信任域。这两种类型的信任域之间的不同部分地基于管理与信任域的信任关系的业务协议以及用于建立信任的技术。企业信任域包含由企业所管理的哪些组件;该信任域内的所有组件互相信任。一般地,在企业内建立信任不需要业务协议,因为所部署的技术例如通过要求组件之间相互认证的SSL会话而在企业内创建了内在的信任。参照图2B,原有应用和后端处理系统可以代表企业信任域。
联合信任域是那些跨越企业边界的域;从一个视角看,联合信任域可表示不同企业信任域之间的信任关系。联合信任域通过跨越企业边界的信任代理来建立。联合信任关系涉及某类引导过程,通过该引导过程在信任代理之间建立初始信任。该引导过程的一部分可包括共享密钥和规则的建立,这里的规则定义期望的和/或允许的令牌类型以及标识符转换。一般地,这种引导过程带外执行的,因为这种引导过程还包括业务协议的建立,这些业务协议管理企业对联合的参与以及与这种参与相关联的责任。
存在多种机制用于在联合业务模型中建立信任。在一个联合模型中,基于业务原因,需要联合参与者之间的信任的基本信念,以便提供某一程度的对在参与者之间传输的断言(包括令牌和属性信息)是有效的确信。如果信任关系不存在,那么依赖域就不能依赖于从发布域接收的断言;依赖域无法使用这些断言来确定怎样解释从发布方接收的任何信息。
例如,一家大公司可能希望与几千名全球客户链接,并且该公司可以使用现有技术解决方案。作为第一个例子,该公司可以请求全球客户使用来自一家商业证书管理机构的数字证书来建立相互的信任。该商业证书管理机构使得该公司的服务器能够信任位于每个全球客户处的服务器。作为第二个例子,该公司可以使用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文档,以获得关于来自其他域的令牌将被转换的方式的操作细节。不过应该指出的是,对于实现联合内的信任关系的方式,本发明可以使用其他标准和机制来规定关于此方式的细节。
联合体系结构内的断言处理
如上所述,联合内用户的体验部分地由关于用户或为了用户而被跨域传输的断言所决定。断言提供关于用户的认证状态的信息、属性信息以及其他信息。使用认证断言可以消除用户向其访问的每个站点处进行重新认证的需要。在联合环境内部存在两种模型使依赖方从发布方得到断言:推模型和拉模型。在推模型中,用户断言与用户对发布方的请求一同传播。在拉模型中,在依赖方接收用户的请求,而无任何其他信息,且接着依赖方向发布方请求相关的或所需的断言。
给定用于在联合环境内使用断言的这些模型,现在本发明的描述转到一组图,该组图描述用于在本发明的联合环境内创建和使用断言的一组过程。图3A示出了在发布域处的一般化过程,此过程用于在联合环境中创建断言,而图3B示出了在依赖域处的一般化过程,此过程用于“拆开”断言,即,用于通过提取和分析断言的信息将断言缩减为其基本信息。图3C和图3D通过示出推模型的两个变体而示出了图3A中所示的一般化过程的更详细处理,在该推模型中,在发布域中生成断言,并接着与用户的请求一起传送到依赖域。图3E示出了拉模型,在此模型中,当依赖域试图满足由该依赖域从发出请求的用户处接收到的资源请求时,依赖域向发布域请求用户的任何所需断言。
现在参考图3A,此流程图示出了在发布域处的一般化过程,此过程用于在联合环境中创建断言。当发布域的接触点服务器就一个断言而触发时,此过程开始(步骤302)。接触点服务器可以接收来自依赖域的对于给定用户的特定断言的请求,或者它也可以拦截去往要求断言的已知依赖域的传出请求;这些情形分别相对于图3C和图3D进行了如下更详细的描述。响应于就一个断言而被触发,发布域的接触点服务器向发布域的信任代理请求该断言(步骤304),该信任代理生成该断言(步骤306);如果需要,发布域的信任代理可请求信任中介的协助来生成所需的断言。在生成断言之后,发布域的信任代理接着将该断言返回给发布域的接触点服务器(步骤308),该发布域的接触点服务器接着以适当方式例如通过将该断言插入到传出的HTTP或SOAP消息中而将该断言置入到传出的数据流中(步骤310),从而完成该过程。
图3A示出了用于在发布域处创建断言的过程,该过程中无需使用“本地工具包”(local wallet)。但是,本发明允许包括本地工具包功能。一般地,本地工具包是客户端侧代码,为了便利事务,它担当用户属性信息或其他信息的安全数据存储;客户端侧代码也可参与到断言传输的推模型和/或拉模型中。当本地工具包主动参与到协议中时,在生成断言以及将断言插入协议流这一方面,本地工具包实现接触点服务器功能的功能子集。使用本地工具包不允许本地工具包实现发生在接触点服务器与信任代理之间的基于信任的交互。在需要附加的信任关系的情况下,必须调用接触点服务器。
现在参照图3B,此流程图示出了在依赖域处的一般化过程,此过程用于拆开断言。当依赖域的接触点服务器接收到一个消息及其相关联的断言时(步骤322),该过程开始,此后接触点服务器提取该断言并将该断言转发给依赖域的信任代理(步骤324)。依赖域的信任代理从该断言中提取包括从发布域接收到的令牌的信息(步骤326);依赖域的信任代理将调用安全令牌服务来验证这个令牌,如果合适,则向用户返回本地有效令牌(步骤328)。
作为步骤326的一部分,信任代理将确定该断言的来源,即发布方。如果信任代理能够理解从该发布域接收的信任断言,则信任代理将内部执行步骤328。如果信任代理不能理解/信任从该发布域接收的信任断言,则信任代理可调用来自信任中介的协助。如果该断言不能被验证,则将会生成适当的错误响应。
假设该断言被验证,则依赖域的信任代理为该用户建立所需的本地信息(步骤330)。例如,本地信息可能包括后端原有应用所需的认证证书。依赖域的信任代理将所需的信息返回给依赖域的接触点服务器(步骤332),该接触点服务器为用户建立本地会话。
在接触点服务器为用户建立会话之后,该用户成为经认证的用户。接触点服务器可使用此会话信息来进一步管理用户与该域之间的任何事务,直到注销或超时事件出现为止。已知接触点服务器拥有用户的经认证身份,如果必要的话,接触点服务器可根据此特定用户的身份和与此特定用户相关联的任何授权策略,为这个请求获得授权。然后,接触点服务器将该用户的请求以及任何相关信息转发给所请求的后端应用或服务(步骤334),从而完成该过程。
应该指出,在接触点服务器和信任代理之间传输的数据项以及这些数据项的格式可能不同。不是从消息中提取断言并仅将该断言转发给信任代理,而是接触点服务器可将整个消息转发给信任代理。例如,信任代理处的处理可包括诸如对SOAP消息的签名验证这样的步骤,该步骤会需要整个SOAP包封。
现在参照图3C,此流程图示出了一个特定的过程,此过程用于响应发布域处的用户动作而从发布域向依赖域推断言。当用户从发布域内的网页或类似资源上访问到依赖域的链接时(步骤342),该过程开始,从而调用某种形式的CGI(通用网关接口)型处理来建立特定的断言。发布域识别依赖域对断言的需要的能力意味着与这样的现存原有系统的紧密结合,在该原有系统上实现了本发明的联合基础结构。这还意味着发布方与依赖方之间的紧密连接,以至于发布方不需要调用信任代理来建立所需的断言;在某些类型的已经良好建立信任关系的联合实体之间,这种紧密的连接可能是适合的。
发布域的后端处理被调用以建立所需的断言(步骤344),该后端处理可包括调用本地信任代理的功能。然后,建立对依赖域的用户请求,包括所需的断言(步骤346),并且发布域将该断言以及用户请求传输给依赖域(步骤348),从而完成该过程。当依赖域接收到该请求及其相关联的断言时,会接着以图3B所示的方式对断言进行验证。
现在参照图3D,此流程图示出了一个特定的过程,此过程用于响应发布域主动拦截去往依赖域的传出请求,而从发布域向依赖域推断言。当用户请求依赖域上的受保护资源时(步骤352),该过程开始。接触点服务器例如通过过滤传出的消息中的预定统一资源标识符(URI)、某些类型的消息、某些类型的消息内容,或通过其他的一些方式拦截传出的请求(步骤354)。然后,发布域的接触点服务器请求从发布域的信任代理生成适当的断言(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中或可普遍地从联合外部访问到是不太可能的。
发布域的信任代理生成所请求的断言(步骤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,例如通过选择域410中寄放的网页上的特殊链接,或者通过请求在域410中寄放的、但显示域420中寄放的资源的入口页面,而调用对域420中的资源的联合单次登录操作。接触点服务器412向信任代理414发送请求,以为用户生成联合单次登录令牌,此令牌被格式化以被域420所理解或信任。信任代理414将此令牌返回给接触点服务器412,接触点服务器412再将此令牌发送给域内的接触点服务器422。域410担当对于域420上的用户的发布方,而域420担当依赖方。该用户的令牌会与用户的请求一起传输到域420;此令牌可以通过用户的浏览器使用HTTP重定向来发送,或者可以通过代表在信任代理414提供的令牌中识别出的用户,直接(通过HTTP或通过HTTP上的SOAP)调用对接触点服务器422的请求来发送。
接触点服务器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来验证该令牌并执行身份映射。在获得用户的本地标识符之后,信任代理424可能会通过它的安全令牌服务生成域420上的后端应用所需的任何本地令牌,例如,可能需要Kerberos令牌来有助于从接触点服务器到应用服务器的单次登录。在获得本地有效的令牌后,如果需要,接触点服务器能够为用户建立本地会话。接触点服务器也可处理用户请求的粗粒度授权,并将已授权的请求转发给域420内适当的应用服务器。
联合体系结构内的统一注销
在上述联合环境中,用户的认证信息跨域和异构环境传递。用户具有主域,其是验证用户的认证证书的域。然后,该主域能作为发布方发布关于用户的断言,该断言可被依赖方信任并在不同域中使用。当断言从发布方传输到依赖方时,该断言在没有用户干预地情况下被执行并向用户提供跨不同域的单次登录体验。
然而,保证系统安全的仅仅一部分是用户完成认证操作(例如登录操作)以向系统证明他们的身份所需要的。该过程的同等重要的部分是用户完成注销操作即注销(sign-off)或退出(sign-out)操作以结束安全会话、从而防止其他用户盗用或以其他方式恶意干扰有效会话的需要。
注销操作所存在的一个难题在于,不能预测用户将在哪儿决定退出。换句话说,用户可能在联合单次登录会话内与多个域进行交互,而当用户决定注销时不可能预测用户正在与哪个域进行交互。作为例子,用户可能期望从该用户的主域注销。然而,如果该用户调用了事务,使得主域在其他域上执行单次登录操作,且然后那些依赖域中的一个作为发布域,则该用户的主域会不了解这些域且不能代表用户调用这些域上的注销动作。
本发明为联合环境内的统一注销操作提出了各种方案。本发明采取两种用于统一注销操作的一般方法:一种基于HTTP,而另一种基于SOAP。HTTP方法可以通过用户的浏览器使用HTTP重定向的“前端”方式执行,或以“后备信道(back channel)”方式执行,此方式中将注销通知直接发送给联合域中的接触点服务器,而无需调用用户的浏览器。
SOAP方法以“后备信道”方式执行,该方式中联合组件之间在不调用用户或用户的SOAP客户端的情况下发生直接通信。SOAP方法也可使用发布-订阅模型,其允许依赖域订阅可能发生的注销事件。然后,用户的主域将为用户发布注销事件;此事件将由所有订阅了这种注销事件的域接收。然后,依赖域能够确定该注销事件是否与特定用户相关,如果是,则依赖域实现用户的注销或会话清除。对该注销的“最优化”方法是允许依赖域以微粒度订阅注销事件,即特定于特定用户的注销事件,以便依赖域无需侦听所有注销事件,而仅需侦听用于该特定用户的注销事件。以下相对于剩余附图描述用于统一注销操作的几个优选实施例。
现在参照图5,此流程图示出了用于通过HTTP重定向在各联合域之间执行统一注销操作的过程。当用户调用注销过程(步骤502)时,或当用户例如通过选择网页上的注销按钮而访问注销资源时,图5中示出的统一注销操作在用户的主域开始;可选地,注销操作可基于多种原因由主域发起,诸如不活动超时。
该主域可能已作为一组其他联合域的发布域;因此,在该过程内该主域可称作发布域。发布域获得依赖域的列表(步骤504),这些依赖域是在该用户的联合单次登录操作期间发布域已向其发送了认证断言的域。发布域从该列表中识别下一个依赖域(步骤506),且发布域的接触点服务器在所识别出的依赖域中(在发布域的信任中介的协助下)生成用于该用户的注销请求消息(步骤508)。发布域的接触点服务器通过用户的浏览器应用借助于HTTP重定向将该注销请求发送到识别出的依赖域的接触点服务器(步骤510)。发布域的接触点服务器随后通过用户的浏览器应用借助于HTTP重定向从识别出的依赖域的接触点服务器接收并存储注销状态消息(步骤512)。
对该依赖域的列表中是否存在其他依赖域进行判断(步骤514),如果有,则该过程转回到步骤506以生成另一注销请求。否则,发布域在该发布域上注销该用户(步骤516)。然后,发布域的接触点服务器建立注销状态消息,并将其发送给用户(步骤518),这使该注销过程结束。
如上面指出的,主域可能担当对于依赖域的发布域,而该依赖域自身又可担当对于其他下游域的发布域。因此,当依赖域得到注销请求时,它可执行图5中所示的过程。此时,依赖域可随后对于步骤504-516被看作发布域。但是,该过程将以不同方式开始和结束。为了启动依赖域的注销过程,该依赖域从发布域接收注销请求消息(步骤520)。为了结束依赖域的注销过程,依赖域生成注销响应消息,并将其返回给从其接收到注销请求消息的发布域(步骤522)。
在一个可选实施例中,发布域的接触点服务器能够将HTTP消息随用户的注销请求一起直接发送到依赖域的接触点服务器。这要求依赖域的接触点服务器能够接收该请求,并将包括在该请求中的用户标识符映射到有效用户会话中;这在前面的情况中“显然”处理过了,因为当用户与依赖域交互时用户的会话信息“伴随着”用户,例如伴随着注销请求的HTTPcookie。如果存在所使用的客户端侧会话技术,诸如用于标识用户的会话的客户端侧cookie,则本可选实施情形不完全注销用户。用户的会话将在服务器侧终止;下一次用户试图访问该服务器时(假定他们的客户端侧会话令牌未过期),服务器会需要显式地终止该令牌。例如,当服务器接收到在该服务器上无与之匹配的会话的客户机侧会话cookie时,该服务器将以一个错误进行响应,且还将cookie重置为无效。在任一情况下,返回给发布域的接触点服务器的状态消息与对于步骤522所描述的相同,且返回给用户的状态页与对于步骤518所描述的相同。
在另一可选实施例中,注销请求操作使用HTTP上的SOAP。在此情形下,从发布域的接触点服务器到依赖域的接触点服务器的请求使用HTTP上的SOAP,且不通过用户浏览器调用重定向。然而,将会存在更多的由依赖域的接触点服务器进行的处理,以将从发布域的接触点服务器接收的注销请求和安全令牌与用户在依赖域的接触点服务器处的适当会话信息进行匹配。注销状态消息和响应将与图5中描述的类似。
现在参照图6,此流程图示出了用于使用SOAP后备信道方法在各联合域之间执行统一注销操作的过程。当用户调用注销过程(步骤602)时,或当用户例如通过选择网页上的注销按钮而访问注销资源时,图6中示出的统一注销操作在用户的主域开始;可选地,注销操作可基于多种原因由主域发起,诸如不活动超时。该主域可能已作为一组其他联合域的发布域;由后,在该过程中该主域可称作发布域。
发布域的接触点服务器向发布域的信任代理通知注销试图(步骤604)。该信任代理已保存了所有这样的域的记录,即在特定用户的会话期间该信任代理已为这些域建立了该用户的联合单次登录令牌。发布域的信任代理得到依赖域的列表,这些依赖域是该信任代理在该用户的联合单次登录操作期间已向其发送了认证断言的域(步骤606)。发布域的信任代理从该列表中识别出下一个依赖域(步骤608),且发布域的信任代理服务器在识别出的依赖域上生成用于该用户的注销请求消息(步骤610)。然后,发布域的信任代理将该注销请求发送给识别出的依赖域的信任代理(步骤612)。发布域的信任代理随后从识别出的依赖域的信任代理接收并存储注销状态消息(步骤614)。
对在依赖域的列表中是否存在其他依赖域进行判断(步骤616),如果存在,则该过程转回到步骤608,以生成其他注销请求。否则,发布域的信任代理在该发布域注销该用户(步骤618)。然后,发布域的信任代理建立注销状态消息,并通过接触点服务器将其发送给用户(步骤620),这使该注销过程步骤结束。应当指出,根据执行用户会话管理的服务器,信任代理可能需要建立本地用户令牌,并在接触点服务器上启动该用户的注销过程,以终止用户的会话。
如上面指出的,主域可能担当对于依赖域的发布域,而该依赖域自身又可担当对于其他下游域的发布域。因此,当依赖域得到注销请求时,它可执行图6中所示的过程。此时,依赖域可随后对于步骤604-618被看作发布域。但是,该过程将以不同方式开始和结束。为了启动依赖域的注销过程,该依赖域从发布域接收注销请求消息(步骤622)。为了结束依赖域的注销过程,依赖域生成注销响应消息,并将其返回给依赖域接收到注销请求消息的发布域(步骤624)。注销状态消息和响应与图6中描述的类似。
SOAP方法也可使用发布-订阅模型。本发明使用发布-订阅技术来允许注销事件处理程序与所有用户先前登录过的服务器进行通信,以便通知它们已发生注销事件。与上面描述的方法相反,发布-订阅模型中,仅存在单个实体具有用户已登录过的所有系统的记录、或与它们进行通信的方法。
在典型的发布-订阅环境中,发布者和订阅者之间的关系通常是长期的且适用于给定“类”的所有事件,例如,所有注销事件或所有登录事件。本发明描述短暂的、特定于上下文的订阅关系的概念。由于联合环境的动态性质,可扩展的拓扑支持短暂的、特定于上下文的事件及长期关系。
本发明中,web服务可订阅诸如所有登录通知的某类型的事件;为了确定何时任何所登录的会话被终止,web服务随后需要订阅所有注销事件。因此,即使web服务仅对注销事件的特定子集感兴趣,但其也应订阅所有注销事件;这比作登录事件,在登录事件中web服务必须订阅所有登录事件,因为它不可能预先预测哪些登录事件会作为目标。
另外,在本发明中,可对发布-订阅规则进行精炼,以便web服务有订阅特定于下上文的事件的能力。因此,在该示例性情形下,应向特定web服务通知对象用户经过认证。如果该web服务选择更新其状态,以反映该登录事件,则现在该web服务的目标应为订阅注销事件,以确定该用户是否已注销。本发明不强迫该web服务订阅所有注销事件,而是允许该web服务订阅特定于上下文的事件,即将所有注销事件精炼到该对象用户的注销事件。在此情形下,web服务即依赖方与发布域即发布方的信任代理之间的订阅关系是短暂的,即只在对象用户的认证会话期间存在。
总之,发布域担当发布者,而依赖域担当订阅者,者允许依赖域订阅可能发生于发布域上的注销事件。用户的主域将发布用户的注销事件;该事件将由所有订阅了这种注销事件的域所接收。然后,依赖域能够确定该注销事件是否与特定用户有关,如果是,则该依赖域实现用户的注销或会话清除。对该注销最优化的方法是允许依赖域以精细粒度订阅注销事件,即特定于特定用户的注销事件,以便依赖域无需侦听所有注销事件,而仅对特定用户的注销事件进行侦听。
现在参照图7A-7B,此一对流程图示出了用于以使用发布-订阅模型的SOAP方法执行各联合域之间的统一注销操作的一对过程。图7A和图7B中示出的过程假定已代表用户在依赖域上完成了联合单次登录操作,且该依赖域已订阅了该用户的注销事件。例如,依赖域上的接触点服务器从发布域上的接触点服务器接收认证断言以及依赖域上的进入请求。作为会在依赖域上发生的过程的一部分,依赖域的信任代理将订阅用户的注销事件。参照图3B中的步骤332,在依赖域的信任代理已验证了来自发布域的断言之后,该信任代理将启动订阅操作;该信任代理会使用从发布域接收的用户标识符,而该标识符不是在依赖域内本地有效的标识符,因为包括在注销事件中的标识符是由发布域发布的标识符。
图7A中示出的过程发生于发布域,而图7B中示出的过程发生于依赖域。现在参照图7A,该过程开始于用户在诸如用户的主域的发布域上启动注销事件(步骤702)。发布域的接触点服务器通知发布域的信任代理(步骤704),该信任代理确定在发布域上的用户会话期间已为该用户发布的所有令牌(步骤706)。对于每个已发布的令牌,发布域的信任代理为每个已发布的令牌生成带有注销通知的SOAP发布消息(步骤708),该过程完成。
现在参照图7B,该过程开始于依赖域的信任代理接收用于用户的注销消息(步骤712)。该依赖域的信任代理根据在该注销消息中接收到的令牌创建用于该用户的本地安全令牌(步骤714)。然后,依赖域的信任代理代表用户从该依赖域的接触点服务器启动注销操作(步骤716),且该过程完成。可选地,如果依赖域的信任代理执行会话管理,那么该依赖域的信任代理将通过以适当方式终止用户的会话而完成注销操作。
再次参照图4,联合环境一个示例用于解释用户执行统一注销操作的方式。上面图4的描述解释用户400完成联合单次登录操作以在域420和430上建立会话的方式;在此示例中,域410担当主域,而域420和430担当依赖域。下文的示例从图4的描述结尾继续;换句话说,下面的示例假定用户已完成联合单次登录操作,并继续完成统一注销操作。
在此情形中,可假定用户的浏览器不是web服务使能的,即不担当web服务客户端。这意味着用户使用HTTP访问联合。联合组件可使用SOAP或HTTP上的SOAP进行通信。接触点服务器与信任代理之间的通信是内部的,即使用API或在SOAP上。
下面的情境延续图5中示出的过程。用户400退出域410。接触点服务器412维护已代表用户400向其发送了联合单次登录令牌的所有域的列表。在终止域410上的用户会话之前,接触点服务器412在域420上创建用于该用户的注销请求。为了实现此操作,接触点服务器412向信任代理414请求用于用户400的在域420上有效的安全令牌。接触点服务器412建立在域420上注销用户400的请求,该请求包括从414接收的令牌;该令牌可用于将该注销请求映射到用户。这在HTTP情形下是不太重要的,因为该绑定也将作为用户与接触点服务器422的会话的一部分;这在SOAP情形下是更重要的,因为它允许请求与用户的绑定。
接触点服务器412在域420中通过用户的浏览器将该请求重定向到接触点服务器422。接触点服务器422接收该请求,并试图在域420中调用对用户的注销。这样的结果是成功(用户被认证且现在被注销,所有会话信息被删除)或失败(用户无有效会话)或出错(用户存在有效会话但可能不能完成注销)。接触点服务器422通过用户浏览器借助于HTTP定向将状态消息返回给接触点服务器412。然后,接触点服务器412在域430上建立用于该用户的注销请求。接触点服务器412通过用户浏览器将该请求重定向到域430中的接触点服务器432。接触点服务器432接收该请求,并试图在域430中调用用于该用户的注销;此操作的结果将是成功、失败的或出错。接触点服务器432将通过用户浏览器借助于HTTP重定向将状态信息返回给接触点服务器422。
用户主域上的接触点服务器412建立返回给用户浏览器的注销状态消息。如果域420和430均返回成功状态指示符,则接触点服务器412在域410中执行用户的注销,并返回图8A中示出的消息。如果一个或多个联合域未返回成功状态指示符,则在一个实施例中,接触点服务器412不在域410中执行用户的注销。而是,接触点服务器412返回图8B中示出的消息。
现在参照图8A-8B,所示出的图形用户接口(GUI)窗口包括来自联合中的统一注销操作的状态消息。参照图8A,窗口800示出了成功的统一注销操作的结果。在该示例中,示出了参与该成功的统一注销操作的所有域的名称802。
参照图8B,窗口810示出了关于每个联合域的统一注销操作的状态。名称812指示用户在其上成功注销的那些域。名称814指示用户在其上无活动会话的那些域;例如,主域可能已为用户在一个域上执行了联合单次登录操作,但该用户随后直接退出了此域或由于不活动而退出,从而留给主域错误指示,即用户在此域上仍然具有活动会话。
在回顾了统一注销操作的状态之后,向用户提供选项,以便用户可对于结束统一注销操作而选择应当发生什么。在该示例中,用户可选择选项818,其指示用户希望继续从主域注销。用户也可选择选项820,以前进到在统一注销操作期间遇到错误的任何域。
再次参照图4,联合环境的一个示例用于根据图6中示出的过程解释用户执行统一注销操作的方式。用户400向接触点服务器412(或如果信任代理414是用户通话/维护用户状态信息的组件,则直接向该信任代理)发送注销请求。接触点服务器412建立注销请求,并向信任代理414请求用户的安全令牌,信任代理414维护在该会话中已为其建立了用户的联合单次登录令牌的所有域的某类记录。信任代理414在这些域的每个上建立用于该用户的注销请求,并向域420中的信任代理424和域430中的信任代理434转发该请求。进行接收的信任代理,例如信任代理424,接收该注销请求,验证用户令牌,建立本地用户令牌,并在接触点服务器422上为用户启动注销请求(或根据哪一组件执行会话管理,而在信任代理424上终止用户会话)。
再次参照图4,联合环境的一个示例用于根据图7A-7B中示出的过程解释用户执行统一注销操作的方式。在此情形中,当接触点服务器422(或信任代理424)从域410接收用于用户400的登录请求,信任代理424启动“订阅注销事件”/“订阅用户400的注销事件”。当用户在域410上启动注销事件时,接触点服务器412建立注销通知,以发送到信任代理414,信任代理414确定会话期间已为该用户发布的所有令牌并为每一个已发布的令牌建立带有注销通知的SOAP发布消息。
例如,接触点服务器422在联合单次登录操作期间接收到的令牌可称作“令牌A”,而接触点服务器432在另一联合单次登录操作期间接收到的令牌可称作“令牌B”。信任代理414建立带有注销事件和“令牌A”的SOAP发布消息、及带有注销事件和“令牌B”的SOAP发布消息。信任代理424应该已订阅了与“令牌A”相关的SOAP注销消息,并因此将接收第一个消息。信任代理434应该已订阅了与“令牌B”相关的SOAP注销消息,并因此将接收第二个消息。
当信任代理424接收到注销消息时,其根据接收到的令牌创建用户的本地安全令牌。然后,信任代理424代表用户向接触点服务器422请求注销(或其试图从任何为该用户本地维护的会话中注销,如果该会话在信任代理上进行维护的话)。
考虑到以上提供的本发明的详细描述,本发明的优势非常明显。现有技术的解决方案将域安全服务组织成为层次结构,该层次结构要求各域具有严格的信任关系和固有兼容的技术。其他方法则把统一的格式强加在认证断言上,或者不允许认证断言的传输,有时会传输一个已认证的身份,通过该身份来建立本地断言。
本发明的优势之一在于,信任代理允许给定域中预先存在的安全服务与其他域建立信任关系,而无需注册到同一个信任根或使用同一种信任建立技术。因此,本发明的联合体系结构提供了实体间松散的连接关系。主域管理认证,而每个域仅管理它自己的注册用户的认证。每个域自由地接受、拒绝、或修改其他任何域的关于用户身份和属性的声明。依赖域依靠发布域(最终为主域)的身份和属性的断言,然而每个域可以实现任何认证协议,并且给定域内的应用不需要被修改即可实现之前不支持的协议,以使该域可以参与到联合中。联合无需特定的信任模型;一组实体可组成一个联合,该联合符合参与实体可能已经建立的信任模型。断言转换只发生于信任代理和/或信任中介中;联合体系结构担当前端的基础结构,此结构的实施只会对现存原有系统产生最小限度的影响。
联合允许用户以单次登录方式无缝地遍历给定联合内的不同站点。由于在联合参与者之间建立的信任关系,一个参与者能够认证用户,并接着担当该用户的发布方。其他联合伙伴成为依赖方,由此它们依靠发布方提供的关于用户的信息,而无需直接与用户发生牵连。
需要非常注意的是,尽管本发明是在完全功能的数据处理系统的情境下被描述的,本领域的普通技术人员会理解本发明的过程能够以计算机可读介质中的指令的方式以及其他多种方式来分发,而不用关心实际用来实现分发的信号承载介质的特定类型。计算机可读介质的例子包括诸如EPROM、ROM、磁带、纸、软盘、硬盘驱动器、RAM、CD-ROM等介质,以及诸如数字和模拟通信链路的传输型介质。
方法通常被认为是达到期望结果的各步骤的前后一致的序列。这些步骤需要物理量的物理操纵。通常,尽管不是必要的,这些物理量采用电信号或磁信号的形式,这些信号能够被存储、传输、组合、比较、以及以其他方式被操纵。主要基于普遍用法的原因,称这些信号为位、值、参数、项目、元素、对象、符号、字符、项、数字等等,常常是便利的。但是,应该指出,所有这些术语和类似术语与适当的物理量相关联,并仅仅是应用于这些物理量的方便的标志。
出于说明的目的,提供了对本发明的描述,但这并不意味着该描述是穷尽的或仅限于所公开的实施例。对于本领域的普通技术人员来说,许多修改和变化是显而易见的。实施例只是选取出来用于解释本发明及其实际应用的原理,并使本领域的其他普通技术人员能够理解本发明,以便实施带有各种修改的各种实施例,以适应于其他预期的使用。

Claims (24)

1.一种用于在分布式数据处理系统内管理用户会话的方法,该方法包括:
响应确定注销第一域内系统上的用户,由第一域获得各域的列表,这些域是第一域通过提供认证断言而在其上启动过对该用户的登录操作的域;
对该域列表中的每一域,在第一域中的系统上生成对该用户的注销请求消息,其中注销请求消息包括对该用户的认证断言;以及
由所述第一域中的系统向该域列表中的每一域发送注销请求消息。
2.权利要求1的方法,进一步包括:
在第一域中的系统上接收来自该用户所操作的客户端的请求,以启动注销操作;以及
根据来自该用户的请求确定注销该用户。
3.权利要求1的方法,其中所述确定注销第一域内系统上的用户的操作是响应于该用户访问第一域中系统上的注销资源而执行的。
4.权利要求1的方法,进一步包括:
在第一域中的系统上接收来自第二域中的系统的注销请求消息,以启动对该用户的注销操作;以及
根据来自第二域中的系统的请求确定注销该用户。
5.权利要求4的方法,其中注销请求消息是简单对象访问协议SOAP发布消息。
6.权利要求5的方法,其中第一域中的系统已订阅了注销事件。
7.权利要求5的方法,其中第一域中的系统已订阅了特定于该用户的注销事件。
8.权利要求1的方法,其中注销请求消息由第一域内的接触点服务器生成。
9.权利要求1的方法,其中注销请求消息由第一域内的信任代理服务器生成。
10.权利要求1的方法,进一步包括:
在第一域内接触点服务器上从接收自第二域的注销请求消息中提取认证断言;以及
将提取出的认证断言转发给第一域内的信任代理。
11.权利要求10的方法,进一步包括:
响应验证上述提取出的认证断言,由所述信任代理向接触点服务器返回在第一域内有效的本地安全令牌。
12.权利要求11的方法,进一步包括:
响应无法在信任代理上验证上述提取出的认证断言的确定,由所述信任代理请求信任中介验证该提取出的认证断言。
13.一种用于管理用户会话的数据处理系统,该数据处理系统包括:
用于响应确定注销第一域内系统上的用户,由第一域获得各域的列表的装置,这些域是第一域通过提供认证断言而在其上启动过对该用户的登录操作的域;
用于对该域列表中的每一域,在第一域中的系统上生成对该用户的注销请求消息的装置,其中注销请求消息包括对该用户的认证断言;以及
用于由所述第一域中的系统向该域列表中的每一域发送注销请求消息的装置。
14.权利要求13的数据处理系统,进一步包括:
用于在第一域中的系统上接收来自该用户所操作的客户端的请求,以启动注销操作的装置;以及
用于根据来自该用户的请求确定注销该用户的装置。
15.权利要求13的数据处理系统,其中所述确定注销第一域内系统上的用户的操作是响应于该用户访问第一域中系统上的注销资源而执行的。
16.权利要求13的数据处理系统,进一步包括:
用于在第一域中的系统上接收来自第二域中的系统的注销请求消息,以启动对该用户的注销操作的装置;以及
用于根据来自第二域中的系统的请求确定注销该用户的装置。
17.权利要求16的数据处理系统,其中注销请求消息是简单对象访问协议SOAP发布消息。
18.权利要求17的数据处理系统,其中第一域中的系统已订阅了注销事件。
19.权利要求17的数据处理系统,其中第一域中的系统已订阅了特定于该用户的注销事件。
20.权利要求13的数据处理系统,其中注销请求消息由第一域内的接触点服务器生成。
21.权利要求13的数据处理系统,其中注销请求消息由第一域中的信任代理服务器生成。
22.权利要求13的数据处理系统,进一步包括:
用于在第一域内接触点服务器上从接收自第二域的注销请求消息中提取认证断言的装置;以及
用于将提取出的认证断言转发给第一域内的信任代理的装置。
23.权利要求22的数据处理系统,进一步包括:
用于响应验证上述提取出的认证断言,由所述信任代理向接触点服务器返回在第一域内有效的本地安全令牌的装置。
24.权利要求23的数据处理系统,进一步包括:
用于响应无法在信任代理上验证上述提取出的认证断言的确定,由所述信任代理请求信任中介验证该提取出的认证断言的装置。
CNB2003801079735A 2002-12-31 2003-11-27 在异构联合环境中统一注销的方法和系统 Expired - Lifetime CN100388278C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/334,325 US7219154B2 (en) 2002-12-31 2002-12-31 Method and system for consolidated sign-off in a heterogeneous federated environment
US10/334,325 2002-12-31

Publications (2)

Publication Number Publication Date
CN1732465A CN1732465A (zh) 2006-02-08
CN100388278C true CN100388278C (zh) 2008-05-14

Family

ID=32655024

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801079735A Expired - Lifetime CN100388278C (zh) 2002-12-31 2003-11-27 在异构联合环境中统一注销的方法和系统

Country Status (9)

Country Link
US (1) US7219154B2 (zh)
EP (1) EP1584049A2 (zh)
JP (1) JP4370258B2 (zh)
KR (1) KR100800345B1 (zh)
CN (1) CN100388278C (zh)
AU (1) AU2003294951A1 (zh)
CA (1) CA2508464C (zh)
TW (1) TWI227835B (zh)
WO (1) WO2004059478A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072123A (zh) * 2015-08-21 2015-11-18 广州博鳌纵横网络科技有限公司 一种集群环境下的单点登陆退出方法及系统

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7650416B2 (en) 2003-08-12 2010-01-19 Riverbed Technology Content delivery for client-server protocols with user affinities using connection end-point proxies
US7540020B1 (en) * 2003-02-19 2009-05-26 Oracle International Corporation Method and apparatus for facilitating single sign-on to applications
US20040172253A1 (en) * 2003-02-28 2004-09-02 Sun Microsystems, Inc., A Delaware Corporation Capture and playback web automation tool
US7668902B2 (en) * 2003-05-30 2010-02-23 Microsoft Corporation Application programming interface for implementing directory service access using directory service markup language
US7711832B1 (en) * 2003-09-22 2010-05-04 Actional Corporation Enabling existing desktop applications to access web services through the use of a web service proxy
US7444519B2 (en) 2003-09-23 2008-10-28 Computer Associates Think, Inc. Access control for federated identities
CN1965304B (zh) 2004-03-30 2011-06-01 国际商业机器公司 用户认证系统、方法、程序以及记录有该程序的记录介质
KR20050114556A (ko) * 2004-06-01 2005-12-06 삼성전자주식회사 피티티 서비스 제공 시스템의 통화 호 설정 방법 및 장치
KR100644616B1 (ko) * 2004-06-10 2006-11-10 세종대학교산학협력단 마크업 랭귀지 기반의 단일인증 방법 및 이를 위한 시스템
US20050278537A1 (en) * 2004-06-10 2005-12-15 Dustin Kirkland Logging off a user from a website
BRPI0513195A (pt) * 2004-07-09 2008-04-29 Matsushita Electric Ind Co Ltd sistemas para administrar autenticação e autorização de usuário, e para suportar o usuário, métodos para administrar autenticação e autorização de usuário, para acessar serviços de múltiplas redes, para o controlador de autenticação processar uma mensagem de pedido de autenticação, selecionar a combinação de controladores de autenticação do resultado de busca, autenticar um usuário, e descobrir o caminho a um domìnio tendo relação empresarial com o domìnio doméstico, para o controlador de autorização processar a mensagem de pedido de autorização de serviço, e executar autorização de serviço, para um controlador de autenticação e autorização executar autenticação e autorização de serviço, para proteger o sìmbolo de usuário, e para a autoridade de controle de acesso no domìnio doméstico do usuário prover ao controlador de autenticação uma informação de perfil de assinatura limitada do usuário, para alcançar autenticação e autorização rápidas, e para alcançar registro único para acessar múltiplas redes, e, formatos para informação de capacidade de assinatura, para um sìmbolo de usuário, para um domìnio tendo relação empresarial com o domìnio doméstico de um usuário para pedir afirmação de autenticação e de autorização, e para um terminal de usuário indicar suas credenciais para acessar múltiplas redes em múltiplos domìnios administrativos
WO2006008290A2 (en) * 2004-07-21 2006-01-26 International Business Machines Corporation Method and apparatus for providing federated functionality within a data processing system
US20060021018A1 (en) * 2004-07-21 2006-01-26 International Business Machines Corporation Method and system for enabling trust infrastructure support for federated user lifecycle management
US20060048216A1 (en) * 2004-07-21 2006-03-02 International Business Machines Corporation Method and system for enabling federated user lifecycle management
JP2006139747A (ja) * 2004-08-30 2006-06-01 Kddi Corp 通信システムおよび安全性保証装置
US20060064468A1 (en) * 2004-09-20 2006-03-23 Brown K R Web services interface and object access framework
US9219623B2 (en) 2004-09-30 2015-12-22 Intel Corporation Adaptive delay base loss equalization
US20060080730A1 (en) * 2004-10-12 2006-04-13 Conor Cahill Affiliations within single sign-on systems
FI20041377A0 (fi) * 2004-10-25 2004-10-25 Nokia Corp Palvelujen tarjonta tietoliikennejärjestelmässä
KR100744532B1 (ko) * 2004-12-13 2007-08-02 한국전자통신연구원 프리퍼런스 정보를 이용한 웹서비스 제공방법 및 장치
US7562382B2 (en) * 2004-12-16 2009-07-14 International Business Machines Corporation Specializing support for a federation relationship
US7609700B1 (en) * 2005-03-11 2009-10-27 At&T Mobility Ii Llc QoS channels for multimedia services on a general purpose operating system platform using data cards
US20060248194A1 (en) 2005-03-18 2006-11-02 Riverbed Technology, Inc. Connection forwarding
US8214887B2 (en) * 2005-03-20 2012-07-03 Actividentity (Australia) Pty Ltd. Method and system for providing user access to a secure application
US20060218628A1 (en) * 2005-03-22 2006-09-28 Hinton Heather M Method and system for enhanced federated single logout
US7536722B1 (en) * 2005-03-25 2009-05-19 Sun Microsystems, Inc. Authentication system for two-factor authentication in enrollment and pin unblock
US7631346B2 (en) * 2005-04-01 2009-12-08 International Business Machines Corporation Method and system for a runtime user account creation operation within a single-sign-on process in a federated computing environment
US7657746B2 (en) * 2005-04-22 2010-02-02 Microsoft Corporation Supporting statements for credential based access control
MY143832A (en) * 2005-05-13 2011-07-15 Thomson Licensing Security and transcoding system for transfer of content to portable devices
EP1891821A2 (en) * 2005-06-15 2008-02-27 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and apparatus for providing a telecommunications service
US7703105B1 (en) * 2005-07-21 2010-04-20 Oracle America, Inc. Method for trapping HTTP logout events and for calling an application specific logout handler
US7620978B1 (en) * 2005-07-29 2009-11-17 Hewlett-Packard Development Company, L.P. Securely propagating authentication in an ensemble of devices using single sign-on
US20070039043A1 (en) * 2005-08-11 2007-02-15 Sbc Knowledge Ventures L.P. Distributed global log off for a single sign-on account
US7941448B2 (en) 2005-08-26 2011-05-10 At&T Intellectual Property Ii, Lp System and method for event driven publish-subscribe communications
US20070245411A1 (en) * 2005-09-15 2007-10-18 Gregory Newton Methods, systems and computer program products for single sign on authentication
US20070067638A1 (en) * 2005-09-22 2007-03-22 Roland Haibl Method of Session Consolidation
KR100759800B1 (ko) * 2005-12-01 2007-09-20 한국전자통신연구원 이종 연방 환경에서 메시지 전송 방법 및 장치와 이를이용한 서비스 제공 방법 및 장치
US7895644B1 (en) * 2005-12-02 2011-02-22 Symantec Operating Corporation Method and apparatus for accessing computers in a distributed computing environment
US7743153B2 (en) * 2006-01-18 2010-06-22 International Business Machines Corporation Killing login-based sessions with a single action
WO2007092715A2 (en) * 2006-02-06 2007-08-16 Solidus Networks, Inc. Method and system for providing online authentication utilizing biometric data
US20090133129A1 (en) * 2006-03-06 2009-05-21 Lg Electronics Inc. Data transferring method
EP1841166A1 (en) * 2006-03-28 2007-10-03 British Telecommunications Public Limited Company Subject identification
US8161164B2 (en) * 2006-04-28 2012-04-17 Microsoft Corporation Authorizing service requests in multi-tiered applications
FI20065288A (fi) * 2006-05-03 2007-11-04 Emillion Oy Autentikointi
WO2007149687A2 (en) 2006-05-30 2007-12-27 Riverbed Technology, Inc. Selecting proxies from among autodiscovered proxies
US9392078B2 (en) * 2006-06-23 2016-07-12 Microsoft Technology Licensing, Llc Remote network access via virtual machine
US8151317B2 (en) * 2006-07-07 2012-04-03 International Business Machines Corporation Method and system for policy-based initiation of federation management
JP5027227B2 (ja) 2006-07-10 2012-09-19 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 通信ネットワークにおける認証手順のための方法および装置
KR20080022476A (ko) 2006-09-06 2008-03-11 엘지전자 주식회사 논컴플라이언트 컨텐츠 처리 방법 및 디알엠 상호 호환시스템
US8060931B2 (en) 2006-09-08 2011-11-15 Microsoft Corporation Security authorization queries
US8095969B2 (en) 2006-09-08 2012-01-10 Microsoft Corporation Security assertion revocation
US20080065899A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Variable Expressions in Security Assertions
US20080066158A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Authorization Decisions with Principal Attributes
US7814534B2 (en) 2006-09-08 2010-10-12 Microsoft Corporation Auditing authorization decisions
US8201215B2 (en) 2006-09-08 2012-06-12 Microsoft Corporation Controlling the delegation of rights
US20080066169A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Fact Qualifiers in Security Scenarios
US8656503B2 (en) 2006-09-11 2014-02-18 Microsoft Corporation Security language translations with logic resolution
US20080066147A1 (en) * 2006-09-11 2008-03-13 Microsoft Corporation Composable Security Policies
US8938783B2 (en) * 2006-09-11 2015-01-20 Microsoft Corporation Security language expressions for logic resolution
US8281378B2 (en) * 2006-10-20 2012-10-02 Citrix Systems, Inc. Methods and systems for completing, by a single-sign on component, an authentication process in a federated environment to a resource not supporting federation
CN101542495B (zh) 2007-01-05 2014-10-22 Lg电子株式会社 用于传递资源的方法和用于提供信息的方法
JP2010507864A (ja) 2007-02-16 2010-03-11 エルジー エレクトロニクス インコーポレイティド ドメイン管理方法及びドメインデバイス並びにプログラム
US8726347B2 (en) * 2007-04-27 2014-05-13 International Business Machines Corporation Authentication based on previous authentications
US20080271121A1 (en) * 2007-04-27 2008-10-30 Heather Maria Hinton External user lifecycle management for federated environments
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
US8327430B2 (en) * 2007-06-19 2012-12-04 International Business Machines Corporation Firewall control via remote system information
US8272041B2 (en) * 2007-06-21 2012-09-18 International Business Machines Corporation Firewall control via process interrogation
US8272043B2 (en) * 2007-06-21 2012-09-18 International Business Machines Corporation Firewall control system
US20080320576A1 (en) * 2007-06-22 2008-12-25 Microsoft Corporation Unified online verification service
WO2009041319A1 (ja) * 2007-09-25 2009-04-02 Nec Corporation 証明書生成配布システム、証明書生成配布方法および証明書生成配布用プログラム
JP5159261B2 (ja) 2007-11-12 2013-03-06 インターナショナル・ビジネス・マシーンズ・コーポレーション セッションを管理する技術
US8141139B2 (en) * 2007-11-14 2012-03-20 International Business Machines Corporation Federated single sign-on (F-SSO) request processing using a trust chain having a custom module
US8302168B2 (en) * 2008-01-18 2012-10-30 Hewlett-Packard Development Company, L.P. Push artifact binding for communication in a federated identity system
EP2267631A4 (en) * 2008-04-17 2016-06-01 Nec Corp DEVICE FOR DISTRIBUTION DISTRIBUTION ID MANAGEMENT, DEVICE FOR DISTRIBUTION DISTRIBUTION ID MANAGEMENT, DISTRIBUTION ID MANAGEMENT SYSTEM, AND METHOD FOR RESPONSE DISTRIBUTION ID MANAGEMENT
US9736153B2 (en) 2008-06-27 2017-08-15 Microsoft Technology Licensing, Llc Techniques to perform federated authentication
US20100030805A1 (en) * 2008-07-30 2010-02-04 International Business Machines Corporation Propagating information from a trust chain processing
CA2637179A1 (en) * 2008-07-30 2010-01-30 John H. Dunstan A device and system to enable and operate the selection, sales and distribution of lottery tickets and other tickets processes
US7860983B1 (en) 2008-08-11 2010-12-28 The United States Of America As Represented By The Secretary Of The Navy Enterprise identity orchestration server
WO2010017828A1 (en) * 2008-08-14 2010-02-18 Nec Europe Ltd. Secure browser-based access to web services
US8099768B2 (en) * 2008-09-18 2012-01-17 Oracle America, Inc. Method and system for multi-protocol single logout
KR101001555B1 (ko) * 2008-09-23 2010-12-17 한국전자통신연구원 네트워크 id 기반 연합 및 싱글사인온 인증 방법
US8555351B2 (en) * 2008-09-29 2013-10-08 International Business Machines Corporation Trusted database authentication through an untrusted intermediary
US8095972B1 (en) * 2008-10-06 2012-01-10 Southern Company Services, Inc. Secure authentication for web-based applications
KR101510475B1 (ko) * 2008-11-12 2015-04-08 에스케이커뮤니케이션즈 주식회사 레거시 시스템에 대한 통합 인증 방법 및 통합 인증 시스템
US8447977B2 (en) * 2008-12-09 2013-05-21 Canon Kabushiki Kaisha Authenticating a device with a server over a network
JP5289104B2 (ja) * 2009-03-05 2013-09-11 三菱電機株式会社 認証先選定システム
US8281381B2 (en) * 2009-08-03 2012-10-02 Novell, Inc. Techniques for environment single sign on
US8713647B2 (en) * 2009-08-21 2014-04-29 International Business Machines Corporation End-of-session authentication
US8904169B2 (en) * 2009-09-15 2014-12-02 Symantec Corporation Just in time trust establishment and propagation
US20110087650A1 (en) * 2009-10-06 2011-04-14 Johnson Controls Technology Company Creation and use of causal relationship models in building management systems and applications
US9475359B2 (en) * 2009-10-06 2016-10-25 Johnson Controls Technology Company Systems and methods for displaying a hierarchical set of building management system information
US8655830B2 (en) * 2009-10-06 2014-02-18 Johnson Controls Technology Company Systems and methods for reporting a cause of an event or equipment state using causal relationship models in a building management system
US8522335B2 (en) * 2009-12-01 2013-08-27 International Business Machines Corporation Token mediation service in a data management system
US9530166B2 (en) * 2010-04-21 2016-12-27 Facebook, Inc. Social graph that includes web pages outside of a social networking system
US8250145B2 (en) 2010-04-21 2012-08-21 Facebook, Inc. Personalizing a web page outside of a social networking system with content from the social networking system
US9203922B2 (en) 2010-05-25 2015-12-01 International Business Machines Corporation Method and apparatus for single sign-off using cookie tracking in a proxy
JP5693051B2 (ja) * 2010-06-09 2015-04-01 キヤノン株式会社 情報処理装置、情報処理装置のユーザ認証方法
US8682921B2 (en) 2010-07-07 2014-03-25 Johnson Controls Technology Company Query engine for building management systems
US8516016B2 (en) 2010-07-07 2013-08-20 Johnson Controls Technology Company Systems and methods for facilitating communication between a plurality of building automation subsystems
US8990557B2 (en) * 2011-02-17 2015-03-24 Ebay Inc. Identity assertion framework
CN102739603B (zh) 2011-03-31 2015-10-21 国际商业机器公司 单点登录的方法和设备
US9003504B2 (en) * 2011-06-07 2015-04-07 Unisys Corporation Remote login arrangement for heterogeneous systems using centralized authentication
US8423650B2 (en) 2011-06-30 2013-04-16 International Business Machines Corporation Transferring session data between network applications
US9904777B2 (en) 2011-09-14 2018-02-27 Mobile Heartbeat, Llc System for automated login initialization on detection of identification device
US8849721B2 (en) 2011-09-21 2014-09-30 Facebook, Inc. Structured objects and actions on a social networking system
EP2575315A1 (en) * 2011-09-30 2013-04-03 British Telecommunications Public Limited Company Controlled access
US8898765B2 (en) 2012-02-15 2014-11-25 Oracle International Corporation Signing off from multiple domains accessible using single sign-on
US8826143B2 (en) 2012-03-14 2014-09-02 International Business Machines Corporation Central logout from multiple websites
US20130347063A1 (en) * 2012-06-21 2013-12-26 Microsoft Corporation Handling claims traversing security boundaries
US9596328B2 (en) * 2012-08-09 2017-03-14 Oracle International Corporation Hierarchical criteria-based timeout protocols
US8931064B2 (en) 2012-12-18 2015-01-06 Bank Of America Corporation Identity attribute exchange and validation ecosystem
US8935808B2 (en) * 2012-12-18 2015-01-13 Bank Of America Corporation Identity attribute exchange and validation broker
US9286465B1 (en) * 2012-12-31 2016-03-15 Emc Corporation Method and apparatus for federated single sign on using authentication broker
JP5920891B2 (ja) * 2013-02-08 2016-05-18 日本電信電話株式会社 通信サービス認証・接続システム及びその方法
JP2016519367A (ja) * 2013-03-27 2016-06-30 インターデイジタル パテント ホールディングス インコーポレイテッド 複数のエンティティにまたがるシームレスな認証
KR101730757B1 (ko) * 2013-04-12 2017-04-26 엔이씨 유럽 리미티드 사용자에 의해 디바이스에 액세스하기 위한 방법 및 시스템
KR101578284B1 (ko) * 2014-03-04 2015-12-16 주식회사 카카오 통합 로그아웃 방법, 인증 처리 서버, 서비스 제공 서버 및 사용자 단말
US9602501B1 (en) * 2014-03-28 2017-03-21 Amazon Technologies, Inc. Bootstrapping user authentication
US9710640B1 (en) * 2014-03-28 2017-07-18 Amazon Technologies, Inc. Bootstrapping authentication of second application via confirmation by first application
US9774588B2 (en) * 2014-10-06 2017-09-26 Cisco Technology, Inc. Single sign off handling by network device in federated identity deployment
US9613204B2 (en) 2014-12-23 2017-04-04 Document Storage Systems, Inc. Computer readable storage media for legacy integration and methods and systems for utilizing same
US20160306955A1 (en) * 2015-04-14 2016-10-20 Intel Corporation Performing user seamless authentications
CN105471833B (zh) 2015-05-14 2019-04-16 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
CN105491001B (zh) * 2015-05-14 2017-02-22 瑞数信息技术(上海)有限公司 一种安全通讯方法和装置
JP6459785B2 (ja) * 2015-06-11 2019-01-30 富士ゼロックス株式会社 情報処理システム
US10298561B2 (en) * 2015-06-30 2019-05-21 Vmware, Inc. Providing a single session experience across multiple applications
US10095860B1 (en) * 2015-12-09 2018-10-09 Amazon Technologies, Inc. Validating sign-out implementation for identity federation
CN108076077A (zh) * 2016-11-08 2018-05-25 华为技术有限公司 一种会话控制方法及装置
US10361997B2 (en) 2016-12-29 2019-07-23 Riverbed Technology, Inc. Auto discovery between proxies in an IPv6 network
US11120057B1 (en) 2017-04-17 2021-09-14 Microstrategy Incorporated Metadata indexing
US11061799B1 (en) 2017-12-28 2021-07-13 Cerner Innovation, Inc. Log analysis application
US11196733B2 (en) * 2018-02-08 2021-12-07 Dell Products L.P. System and method for group of groups single sign-on demarcation based on first user login
US20200252408A1 (en) * 2019-01-31 2020-08-06 Visa International Service Association Graduated accounts using assertions
US11811928B2 (en) * 2019-09-10 2023-11-07 Fulcrum Global Technologies Inc. System and method for secure access to legacy data via a single sign-on infrastructure
CN110519296B (zh) * 2019-09-17 2021-10-15 焦点科技股份有限公司 一种异构web系统的单点登录与登出方法
US11516213B2 (en) 2019-09-18 2022-11-29 Microstrategy Incorporated Authentication for requests from third-party interfaces
TWI710987B (zh) * 2019-12-03 2020-11-21 開曼群島商現代財富控股有限公司 具多重簽章的錢包服務系統及其方法
EP4054143A1 (de) * 2021-03-02 2022-09-07 Siemens Aktiengesellschaft Authentifizieren eines gerätes in einem kommunikationsnetz einer automatisierungsanlage

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884312A (en) * 1997-02-28 1999-03-16 Electronic Data Systems Corporation System and method for securely accessing information from disparate data sources through a network
CN1298507A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 分布式系统中用于确定远程对象状态的方法和装置
US20020135612A1 (en) * 2001-01-12 2002-09-26 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application operation and interoperability

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56110163A (en) 1980-02-06 1981-09-01 Hitachi Ltd Logout system
IT1177378B (it) * 1984-12-11 1987-08-26 Anic Spa Vettore plasmidico psm112 ad espressione in bacillus subtilis
US5586260A (en) 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5596744A (en) 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
US5708780A (en) * 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5684950A (en) 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US6178505B1 (en) 1997-03-10 2001-01-23 Internet Dynamics, Inc. Secure delivery of information in a network
US5968126A (en) * 1997-04-02 1999-10-19 Switchsoft Systems, Inc. User-based binding of network stations to broadcast domains
US6070244A (en) 1997-11-10 2000-05-30 The Chase Manhattan Bank Computer network security management system
EP1089516B1 (en) * 1999-09-24 2006-11-08 Citicorp Development Center, Inc. Method and system for single sign-on user access to multiple web servers
KR20010105705A (ko) * 2000-05-17 2001-11-29 정문술 다중 인터넷 서비스에 대한 통합 사용자 관리환경 제공방법 및 이를 위한 시스템
US7979900B2 (en) * 2001-05-29 2011-07-12 Alphawolf Consulting, Inc. Method and system for logging into and providing access to a computer system via a communication network
US20030158945A1 (en) * 2002-02-19 2003-08-21 Taiwan Semiconductor Manufacturing Co., Ltd. Single sign on computer system and method of use

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884312A (en) * 1997-02-28 1999-03-16 Electronic Data Systems Corporation System and method for securely accessing information from disparate data sources through a network
CN1298507A (zh) * 1998-02-26 2001-06-06 太阳微系统公司 分布式系统中用于确定远程对象状态的方法和装置
US20020135612A1 (en) * 2001-01-12 2002-09-26 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application operation and interoperability

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PVM 3 USER'S GUIDE AND REFERENCE MANUAL. AL GEIST, ADAM BEGUELIN, JACK DONGARRA,WEICHENG JIANG, VAIDY SUNDERAM,第1页至第2页,第97页,OAK RIDGE NATIONAL LABORATORY. 1994
PVM 3 USER'S GUIDE AND REFERENCE MANUAL. AL GEIST, ADAM BEGUELIN, JACK DONGARRA,WEICHENG JIANG, VAIDY SUNDERAM,第1页至第2页,第97页,OAK RIDGE NATIONAL LABORATORY. 1994 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072123A (zh) * 2015-08-21 2015-11-18 广州博鳌纵横网络科技有限公司 一种集群环境下的单点登陆退出方法及系统

Also Published As

Publication number Publication date
TW200426599A (en) 2004-12-01
AU2003294951A8 (en) 2004-07-22
CN1732465A (zh) 2006-02-08
US20040128393A1 (en) 2004-07-01
CA2508464C (en) 2011-06-07
AU2003294951A1 (en) 2004-07-22
KR20050088320A (ko) 2005-09-05
WO2004059478A3 (en) 2005-08-11
CA2508464A1 (en) 2004-07-15
JP4370258B2 (ja) 2009-11-25
EP1584049A2 (en) 2005-10-12
US7219154B2 (en) 2007-05-15
KR100800345B1 (ko) 2008-02-04
JP2006512648A (ja) 2006-04-13
WO2004059478A2 (en) 2004-07-15
TWI227835B (en) 2005-02-11

Similar Documents

Publication Publication Date Title
CN100388278C (zh) 在异构联合环境中统一注销的方法和系统
CN1726690B (zh) 用于异构型联合环境中的本机认证协议的方法和系统
US10810515B2 (en) Digital rights management (DRM)-enabled policy management for an identity provider in a federated environment
CN100571129C (zh) 联合用户生命周期管理的信任基础结构支持的方法和系统
CN1514569B (zh) 在不同类联合环境中用于验证的方法和系统
US8554930B2 (en) Method and system for proof-of-possession operations associated with authentication assertions in a heterogeneous federated environment
US8196177B2 (en) Digital rights management (DRM)-enabled policy management for a service provider in a federated environment
US8607322B2 (en) Method and system for federated provisioning
US7631346B2 (en) Method and system for a runtime user account creation operation within a single-sign-on process in a federated computing environment
US20040128546A1 (en) Method and system for attribute exchange in a heterogeneous federated environment
US20040128541A1 (en) Local architecture for federated heterogeneous system
KR100992016B1 (ko) 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160714

Address after: California, USA

Patentee after: Present service Co.

Address before: American New York

Patentee before: International Business Machines Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080514