KR100992016B1 - Method and apparatus for providing federated functionality within a data processing system - Google Patents

Method and apparatus for providing federated functionality within a data processing system Download PDF

Info

Publication number
KR100992016B1
KR100992016B1 KR1020077000414A KR20077000414A KR100992016B1 KR 100992016 B1 KR100992016 B1 KR 100992016B1 KR 1020077000414 A KR1020077000414 A KR 1020077000414A KR 20077000414 A KR20077000414 A KR 20077000414A KR 100992016 B1 KR100992016 B1 KR 100992016B1
Authority
KR
South Korea
Prior art keywords
federated
user
delete delete
trust
functionality
Prior art date
Application number
KR1020077000414A
Other languages
Korean (ko)
Other versions
KR20070041504A (en
Inventor
히더 마리아 힌톤
도라포 마틴 파로라
안소니 스콧 모란
패트릭 리안 워드롭
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
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
Priority claimed from US10/896,316 external-priority patent/US20060048216A1/en
Priority claimed from US10/896,353 external-priority patent/US7698375B2/en
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20070041504A publication Critical patent/KR20070041504A/en
Application granted granted Critical
Publication of KR100992016B1 publication Critical patent/KR100992016B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F9/00Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements
    • G09F9/40Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements in which the desired character is selected from a number of characters arranged one beside the other, e.g. on a common carrier plate
    • 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
    • H04L63/0281Proxies
    • 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
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

데이터 프로세싱 시스템 내에 연합 기능성을 제공하기 위한 방법 및 시스템이 개시된다. 접점 기능성에서 제1 입력 요구를 수신한다. 수신된 요구로부터 도출된 정보가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구한다는 판정에 응답하여, 도출된 정보가 접점 기능성으로부터 상기 연합 사용자 라이프사이클 관리 기능성으로 전송된다.A method and system for providing federated functionality within a data processing system is disclosed. Receive the first input request at the contact functionality. In response to determining that the information derived from the received request requires processing by the federated user lifecycle management functionality, the derived information is transferred from the contact functionality to the federated user lifecycle management functionality.

연합 사용자 라이프사이클 관리 기능, 데이터 프로세싱 시스템, 접점 Federated User Lifecycle Management Capabilities, Data Processing Systems, Contacts

Description

데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법 및 장치 {METHOD AND APPARATUS FOR PROVIDING FEDERATED FUNCTIONALITY WITHIN A DATA PROCESSING SYSTEM}Method and apparatus for providing federated functionality within a data processing system {METHOD AND APPARATUS FOR PROVIDING FEDERATED FUNCTIONALITY WITHIN A DATA PROCESSING SYSTEM}

본 발명은 개선된 데이터 프로세싱 시스템에 관한 것으로, 특히, 멀티컴퓨터 데이터 전송을 위한 방법 및 장치에 관한 것이다. 특히, 본 발명은 네트워크 컴퓨터 시스템에 관한 것이다.The present invention relates to an improved data processing system, and more particularly, to a method and apparatus for multicomputer data transmission. In particular, the present invention relates to a network computer system.

기업은 일반적으로 인터넷을 포함하는 다양한 네트워크를 통해 사용자 친화 방식으로 권한이 부여된 사용자에게 보호 리소스로의 안전한 액세스를 제공하기를 원한다. 안전한 인증 메카니즘을 제공하는 것이 권한이 부여되지 않은 보호 리소스로의 액세스의 위험을 줄이더라도, 이러한 인증 메카니즘은 보호 리소스로의 액세스에 대한 장애가 될 수 있다. 사용자는 일반적으로 애플리케이션을 지원하는 특정한 각각의 시스템을 보호하는 인증 장애에 상관없이 하나의 애플리케이션과의 상호 작용으로부터 다른 애플리케이션으로 변경하는 능력을 원한다.Businesses generally want to provide secure access to protected resources to authorized users in a user-friendly manner through various networks, including the Internet. Although providing a secure authentication mechanism reduces the risk of access to unauthorized protected resources, such authentication mechanisms can be a barrier to access to protected resources. Users generally want the ability to change from interacting with one application to another, regardless of the authentication failure that protects each particular system that supports the application.

사용자가 좀더 복잡해짐에 따라, 사용자는 사용자에 대한 부담이 줄어들도록 컴퓨터 시스템이 액션을 조정하기를 기대한다. 이러한 유형의 기대는 또한 인증 프로세스에도 적용된다. 사용자는 임의의 컴퓨터 시스템에 의해 한번 인증되면, 사용 자가 거의 볼 수 없는 다양한 컴퓨터 아키텍처 경계에 상관없이, 그 인증이 사용자의 작업 세션(session) 또는 적어도 특정한 기간 동안 유효해야 한다. 기업은 사용자의 효율이 고용인의 생산성에 관련된 것이든 고객의 만족에 관련된 것이든 간에, 일반적으로 사용자를 진정시킬 뿐만 아니라 사용자의 효율을 증가시키기 위하여 배치된 시스템의 동작 특징에서 이러한 기대를 이행하기 위해 시도하고 있다.As the user becomes more complex, the user expects the computer system to adjust the actions to reduce the burden on the user. This type of expectation also applies to the authentication process. Once a user is authenticated by any computer system, the authorization must be valid for the user's work session or at least a certain period of time, regardless of the various computer architecture boundaries that the user rarely sees. Organizations typically meet these expectations in the operating characteristics of systems deployed to increase user efficiency, as well as to calm users, whether user efficiency is related to employee productivity or customer satisfaction. I'm trying.

특히, 많은 애플리케이션이 공통 브라우저를 통해 액세스될 수 있는 웹기반 사용자 인터페이스를 갖는 현재의 컴퓨팅 환경에서, 사용자는 하나의 웹기반 애플리케이션으로부터 다른 웹기반 애플리케이션으로의 이동에 대한 낮거나 빈번하지 않은 장애 및 더 높은 사용자 친화를 기대한다. 이러한 정황에서, 사용자는 특정한 각각의 도메인을 보호하는 인증 장애에 상관없이 하나의 인터넷 도메인 상의 애플리케이션과의 상호 작용으로부터 다른 도메인 상의 다른 애플리케이션으로의 점프를 기대한다. 그러나, 많은 시스템이 사용이 편리한 웹기반 인터페이스를 통해 안전한 인증을 제공하더라도, 사용자는 여전히 도메인 세트를 통해 사용자 액세스를 방해하는 다수의 인증 프로세스를 고려하도록 강요될 수 있다. 사용자가 주어진 시간 프레임 내에 다수의 인증 프로세스를 받는 것은 사용자의 효율에 큰 영향을 미칠 수 있다.In particular, in current computing environments with a web-based user interface where many applications can be accessed through a common browser, users may experience low or infrequent obstacles and more to moving from one web-based application to another. Expect high user friendliness. In this context, the user expects a jump from an interaction with an application on one Internet domain to another application on another domain, regardless of the authentication impairment protecting each particular domain. However, even though many systems provide secure authentication via an easy-to-use web-based interface, a user can still be forced to consider multiple authentication processes that prevent user access through a set of domains. Receiving multiple authentication processes within a given time frame can have a big impact on the efficiency of the user.

예를 들어, 사용자 및 컴퓨터 시스템 관리자에 대한 인증 부담을 감소시키기 위하여 다양한 기술이 사용되어 왔다. 이들 기술은 일반적으로 "싱글-사인-온(single-sign-on: SSO) 프로세스로서 기재되는데, 그 이유는 이들 기술은, 사용자가 서명 동작을 완료한 후에, 즉, 인증한 후에 사용자가 다른 인증 동작을 수행 하는 것을 요구하지 않는 공통 목적을 갖기 때문이다. 그러므로, 사용자가 특정 사용자 세션 동안 하나의 인증 프로세스만을 완료해야 하는 것이 목표이다.For example, various techniques have been used to reduce the authentication burden on users and computer system administrators. These techniques are generally described as a "single-sign-on (SSO) process, because these techniques allow the user to perform other authentication after the user completes a signing operation, that is, after authentication. This is because it has a common purpose that does not require you to perform an action, so the goal is for the user to complete only one authentication process during a particular user session.

기업들간의 상호 작업성을 개선하고 사용자 관리 비용을 감소시키기 위하여, 연합 컴퓨팅 공간이 생성되어 왔다. 연합은 상호 작업성의 임의의 표준을 고수하는 기업들의 느슨한 제휴이며, 이 연합은 연합 내에서 사용자에 대한 임의의 계산 동작에 대하여 기업들 간의 신뢰를 위한 메카니즘을 제공한다. 예를 들어, 연합 파트너는 사용자의 홈 도메인 또는 아이덴티티 제공자로서 작용할 수 있다. 동일한 연합 내의 다른 파트너가 사용자의 아이덴티티 제공자에 의해 제공된 싱글-사인-온 토큰의 수락 등의 사용자의 인증 자격의 1차 관리를 위한 사용자의 아이덴티티 제공자를 신뢰할 수 있다. In order to improve interoperability among businesses and reduce user management costs, federated computing spaces have been created. The federation is a loose alliance of firms adhering to any standard of interoperability, which provides a mechanism for trust between firms for any computational operations on users within the federation. For example, the federation partner can act as the user's home domain or identity provider. Other partners in the same federation may trust the user's identity provider for primary management of the user's authentication credentials, such as accepting a single-sign-on token provided by the user's identity provider.

기업이 연합된 기업 상호 작용을 지원함에 따라, 이들 기업들은 두 기업 간의 증가된 상호 작용을 반영한 사용자 경험을 제공해야 한다. 상술한 바와 같이, 사용자는 아이덴티티 제공자로서 작용하는 하나의 파티(party)를 인증하고 서비스 제공자로서 작용하는 연합 비즈니스 파트너에게 싱글-사인-온을 제공한다. 싱글-사인-온 기능성과 결합하여, 계정 링크/해제 및 싱글-사인-오프 등의 추가의 사용자 라이프사이클 기능성이 또한 연합 컴퓨팅 환경 내에서 지원되어야 한다.As companies support federated enterprise interactions, these companies must provide a user experience that reflects the increased interaction between the two companies. As noted above, a user authenticates one party acting as an identity provider and provides single-sign-on to a federated business partner acting as a service provider. In combination with single-sign-on functionality, additional user lifecycle functionality such as account linking / unlinking and single-sign-off must also be supported within the federated computing environment.

WS-연합 사양 또는 자유 동맹 ID-FF 프로파일 등의 종래의 표준 기반 싱글-사인-온 솔루션은 어느 정도 연합 사용자 라이프사이클 관리에 대한 모델을 제공하지만, 이들 종래 사양은 특히 연합 사용자 라이프사이클 관리 기능성에 대하여 사양 내에 정의된 기능성을 포함하기 위하여 기존의 환경이 변경되어야 하는 방식으 로 처리되지 않는다. 또한, 종래의 사양에서 기존의 컴퓨팅 환경이 연합 사양을 지원하기 위하여 광범위한 변경을 요구하거나 연합 사양을 지원하기 위한 기존의 컴퓨팅 환경의 변경이 실행 불가능할 수 있어, 연합 사양을 지원하기 위해서 새로운 컴퓨팅 시스템의 배치를 필요로 한다.Conventional, standards-based single-sign-on solutions, such as the WS-Federation specification or the free alliance ID-FF profile, provide a model for federated user lifecycle management to some extent, but these conventional specifications are particularly concerned with federated user lifecycle management functionality. It is not handled in such a way that the existing environment must be changed to include the functionality defined in the specification. In addition, existing computing environments may require extensive changes to support federated specifications or changes to existing computing environments to support federated specifications may not be feasible. Requires placement.

링크/해제 및 싱글-사인-오프 등의 추가의 사용자 라이프사이클 기능성은 특히 연합 사용자 라이프사이클 관리(FULM) 기능성이 어떤 파티에서도 인프라스트럭쳐의 변경을 요구하지 않도록 지원되어야 한다.Additional user lifecycle functionality, such as link / disconnect and single-sign-off, should be supported so that federated user lifecycle management (FULM) functionality, in particular, does not require any infrastructure changes at any party.

현재의 컴퓨팅 환경은 싱글-사인-온 기능성을 제공하거나 개인 프로토콜을 사용함으로써 이 문제를 해결하였다. 그러나, 이러한 솔루션은 환경에 변경을 가하지 않고 새로운 파트너가 온라인되거나 컴퓨팅 환경으로부터 오래된 파트너를 제거하는 "느슨히 결합된" 환경을 허용하지 않는다. 또한, 이전의 솔루션은 단일 엔티티가 다수의 역할을 하도록 허용하지 않으며, 예를 들어, 비즈니스가 하나의 파트너를 갖는 아이덴티티 제공자로서 동작하고 따른 파트너를 갖는 서비스 제공자로서 동작할 수 있어야 한다.Current computing environments solve this problem by providing single-sign-on functionality or by using private protocols. However, this solution does not allow for a "loosely coupled" environment where no new partners are brought online or remove old partners from the computing environment without making any changes to the environment. In addition, previous solutions do not allow a single entity to play multiple roles, for example, a business should be able to operate as an identity provider with one partner and as a service provider with a partner accordingly.

발명의 개요Summary of the Invention

제1 형태에 따르면, 데이터 프로세싱 시스템 내에 연합 기능을 제공하기 위한 방법으로서, 접점 기능성에서 제1 입력 요구를 수신하는 단계; 및 수신된 요구로부터 도출된 정보가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구한다는 결정에 응답하여, 상기 도출된 정보를 상기 접점 기능성으로부터 상기 연합 사용자 라이프사이클 관리 기능성으로 전송하는 단계를 포함하는 방법이 제공 된다.According to a first aspect, a method for providing a federation function in a data processing system, the method comprising: receiving a first input request at a contact functionality; And in response to determining that information derived from the received request requires processing by federated user lifecycle management functionality, transferring the derived information from the contact functionality to the federated user lifecycle management functionality. This is provided.

바람직한 실시예에서, 제1 요구는 제1 서비스 제공자의 접점 기능성 컴포넌트의 클라이언트로부터 수신되고, 접점 기능성 컴포넌트는 제1 서비스 제공자의 클라이언트에 대하여 제1 서비스 제공자에 대한 세션 관리를 수행하고, 서비스 제공자는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자와 결합된다. 이 실시예에서, 전송하는 단계는 제1 요구의 후속 프로세싱이 연합 사용자 라이프사이클 관리 기능의 사전 인보크를 요구한다는 결정에 응답한다. 이 실시예에서, 전송하는 단계는 제1 서비스 제공자의 접점 기능성 컴포넌트로부터의 제2 요구를 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 전송하는 단계를 포함하고, 제2 요구는 제1 요구로부터 도출된 정보를 포함한다.In a preferred embodiment, the first request is received from a client of the contact functional component of the first service provider, the contact functional component performs session management for the first service provider for the client of the first service provider, and the service provider It is coupled with a plurality of service providers within a federated computing environment. In this embodiment, the step of sending responds to the determination that subsequent processing of the first request requires prior invoking of the federated user lifecycle management function. In this embodiment, the sending comprises sending a second request from the contact functional component of the first service provider to the federated user lifecycle management functional component of the first service provider, wherein the second request is the first request. Include information derived from

바람직한 실시예에서, 접점 기능성은 도메인 내에 있고, 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합된다. 이 실시예에서, 방법은 접점 기능성에 대한 입력 요구를 분석하는 단계; 및 수신된 요구가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구하지 않는다면 리소스 액세스 기능성에 의해 제어되는 리소스를 액세스하도록 한다는 결정에 응답하여, 접점 기능성으로부터의 수신된 요구를 리소스 액세스 기능성에 전송하는 단계를 포함한다. 이 실시예에서, 수신된 요구로부터 도출된 정보는 수신된 요구 자체이며, 이 실시예에서, 연합 사용자 라이프사이클 관리 기능은 하나 이상의 연합 사용자 라이프사이클 관리 기능을 제공하기 위하여 연합 사용자 라이프사이클 관리 기능과 상호 작용하는 하나 이상의 플러그 모듈을 인보크한다.In a preferred embodiment, the contact functionality is in a domain and the domain is combined with a plurality of domains in a federated computing environment. In this embodiment, the method includes analyzing an input request for contact functionality; And in response to determining that the received request does not require processing by the federated user lifecycle management functionality to access a resource controlled by the resource access functionality, sending the received request from the contact functionality to the resource access functionality. It includes. In this embodiment, the information derived from the received request is the received request itself, and in this embodiment, the federated user lifecycle management function is combined with the federated user lifecycle management function to provide one or more federated user lifecycle management functions. Invoke one or more plug modules that interact.

다른 형태에 따르면, 데이터 프로세싱 시스템 내에 연합 기능성을 제공하기 위한 장치로서, 접점 기능성에서 제1 입력 요구를 수신하는 수단; 및 수신된 요구로부터 도출된 정보가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구한다는 결정에 응답하여, 상기 도출된 정보를 상기 접점 기능성으로부터 상기 연합 사용자 라이프사이클 관리 기능성으로 전송하는 수단을 포함하는 장치가 제공된다.According to another aspect, an apparatus for providing federated functionality in a data processing system, comprising: means for receiving a first input request at a contact functionality; And means for transmitting the derived information from the contact functionality to the federated user lifecycle management functionality in response to determining that the information derived from the received request requires processing by the federated user lifecycle management functionality. Is provided.

바람직한 실시예에서, 제1 요구는 제1 서비스 제공자의 접점 기능성 컴포넌트의 클라이언트로부터 수신되고, 접점 기능성 컴포넌트는 제1 서비스 제공자의 클라이언트에 대하여 제1 서비스 제공자에 대한 세션 관리를 수행하도록 동작가능하고, 서비스 제공자는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자와 결합된다. 이 실시예에서, 전송하는 수단은 제1 요구의 후속 프로세싱이 연합 사용자 라이프사이클 관리 기능의 사전 인보크를 요구한다는 결정에 응답한다. 이 실시예에서, 전송하는 수단은 제1 서비스 제공자의 접점 기능성 컴포넌트로부터의 제2 요구를 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 전송하는 수단을 포함하고, 제2 요구는 제1 요구로부터 도출된 정보를 포함한다.In a preferred embodiment, the first request is received from a client of the contact functional component of the first service provider, the contact functional component is operable to perform session management for the first service provider for the client of the first service provider, The service provider is coupled with a plurality of service providers in a federated computing environment. In this embodiment, the means for sending responds to the determination that subsequent processing of the first request requires prior invoking of the federated user lifecycle management function. In this embodiment, the means for sending comprises means for sending a second request from the contact functional component of the first service provider to the federated user lifecycle management functional component of the first service provider, the second request being the first request. Include information derived from

바람직한 실시예에서, 접점 기능성은 도메인 내에 있고, 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합된다. 이 실시예에서, 장치는 접점 기능성에 대한 입력 요구를 분석하는 수단; 및 수신된 요구가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구하지 않는다면 리소스 액세스 기능성에 의해 제어되는 리소스를 액세스하도록 한다는 결정에 응답하여, 접점 기능성으로부터의 수신된 요구를 리소스 액세스 기능성에 전송하는 수단을 포함한다. 수신된 요구로부터 도출된 정보는 수신된 요구 자체이며, 연합 사용자 라이프사이클 관리 기능은 연합 사용자 라이프사이클 관리 기능과 상호 작용하는 하나 이상의 플러그 모듈을 인보크함으로써 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답한다.In a preferred embodiment, the contact functionality is in a domain and the domain is combined with a plurality of domains in a federated computing environment. In this embodiment, the apparatus comprises means for analyzing an input request for contact functionality; And means for sending the received request from the contact functionality to the resource access functionality in response to determining that the received request does not require processing by the federated user lifecycle management functionality to access a resource controlled by the resource access functionality. It includes. The information derived from the received request is the received request itself, and the federated user lifecycle management function provides access to federated user lifecycle management functions by invoking one or more plug-in modules that interact with the federated user lifecycle management functions. Respond to the request.

다른 형태에 따르면, 연합 기능성을 제공하는 데이터 프로세싱 시스템에서 사용되는 컴퓨터 판독가능 매체 상의 컴퓨터 프로그램 제품으로서, 접점 기능성에서 제1 입력 요구를 수신하는 수단; 및 수신된 요구로부터 도출된 정보가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구한다는 결정에 응답하여, 상기 도출된 정보를 상기 접점 기능성으로부터 상기 연합 사용자 라이프사이클 관리 기능성으로 전송하는 수단을 포함하는 컴퓨터 프로그램 제품가 제공된다.According to another aspect, a computer program product on a computer readable medium for use in a data processing system that provides federated functionality, comprising: means for receiving a first input request in contact functionality; And means for transferring the derived information from the contact functionality to the federated user lifecycle management functionality in response to determining that the information derived from the received request requires processing by the federated user lifecycle management functionality. Program product is provided.

바람직한 실시예에서, 제1 요구는 제1 서비스 제공자의 접점 기능성 컴포넌트의 클라이언트로부터 수신되고, 접점 기능성 컴포넌트는 제1 서비스 제공자의 클라이언트에 대하여 제1 서비스 제공자에 대한 세션 관리를 수행하도록 동작가능하고, 서비스 제공자는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자와 결합된다. 이 실시예에서, 전송하는 수단은 제1 요구의 후속 프로세싱이 연합 사용자 라이프사이클 관리 기능의 사전 인보크를 요구한다는 결정에 응답한다. 이 실시예에서, 전송하는 수단은 제1 서비스 제공자의 접점 기능성 컴포넌트로부터의 제2 요구를 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 전송하는 수단을 포함하고, 제2 요구는 제1 요구로부터 도출된 정보를 포함한다.In a preferred embodiment, the first request is received from a client of the contact functional component of the first service provider, the contact functional component is operable to perform session management for the first service provider for the client of the first service provider, The service provider is coupled with a plurality of service providers in a federated computing environment. In this embodiment, the means for sending responds to the determination that subsequent processing of the first request requires prior invoking of the federated user lifecycle management function. In this embodiment, the means for sending comprises means for sending a second request from the contact functional component of the first service provider to the federated user lifecycle management functional component of the first service provider, the second request being the first request. Include information derived from

바람직한 실시예에서, 접점 기능성은 도메인 내에 있고, 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합된다. 이 실시예에서, 컴퓨터 프로그램 제품은 접점 기능성에 대한 입력 요구를 분석하는 수단; 및 수신된 요구가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구하지 않는다면 리소스 액세스 기능성에 의해 제어되는 리소스를 액세스하도록 한다는 결정에 응답하여, 접점 기능성으로부터의 수신된 요구를 리소스 액세스 기능성에 전송하는 수단을 포함한다. 수신된 요구로부터 도출된 정보는 수신된 요구 자체이며, 연합 사용자 라이프사이클 관리 기능은 연합 사용자 라이프사이클 관리 기능과 상호 작용하는 하나 이상의 플러그 모듈을 인보크함으로써 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답한다.In a preferred embodiment, the contact functionality is in a domain and the domain is combined with a plurality of domains in a federated computing environment. In this embodiment, the computer program product comprises means for analyzing an input request for contact functionality; And means for sending the received request from the contact functionality to the resource access functionality in response to determining that the received request does not require processing by the federated user lifecycle management functionality to access a resource controlled by the resource access functionality. It includes. The information derived from the received request is the received request itself, and the federated user lifecycle management function provides access to federated user lifecycle management functions by invoking one or more plug-in modules that interact with the federated user lifecycle management functions. Respond to the request.

다른 형태에 따르면, 입력 요구를 수신하는 접점 서버; 및 접점 서버와 상호 작용하는 제2 애플리케이션 서버를 포함하고, 상기 제2 애플리케이션 서버는 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답하는 수단을 포함하는 데이터 프로세싱 시스템이 제공된다.According to another aspect, a contact server that receives an input request; And a second application server for interacting with the contact server, wherein the second application server includes means for responding to a request for access to a federated user lifecycle management function.

바람직한 실시예에서, 입력 요구는 도메인으로 전송되고, 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인와 결합된다. 이 실시예에서, 시스템은 상기 접점 서버와 상호 작용하는 제1 애플리케이션 서버를 포함하고, 상기 제1 애플리케이션 서버는 제어 리소스로의 액세스에 대한 요구에 응답하는 수단을 포함하고, 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답하는 상기 제2 애플리케이션 서버 수단은 상기 제2 애플리케이션 서버와 상호 작용하는 하나 이상의 플 러그 모듈을 포함한다. In a preferred embodiment, the input request is sent to a domain, which domain is combined with a plurality of domains in a federated computing environment. In this embodiment, the system comprises a first application server that interacts with the contact server, the first application server comprising means for responding to a request for access to a control resource, and a federated user lifecycle management function The second application server means for responding to a request for access to the device comprises one or more plug modules that interact with the second application server.

다른 형태에 따르면, 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법으로서, 도메인 내의 접점 기능성에서 입력 요구를 수신하는 단계 - 상기 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합됨 - ; 상기 접점 기능성에 대한 입력 요구를 분석하는 단계; 수신된 요구가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구하지 않는다면 리소스 액세스 기능성에 의해 제어되는 리소스를 액세스하도록 한다는 결정에 응답하여, 상기 접점 기능성으로부터의 수신된 요구를 상기 리소스 액세스 기능성으로 전송하는 단계; 상기 수신된 요구가 연합 사용자 라이프사이클 관리 기능성에 의한 프로세싱을 요구한다는 결정에 응답하여, 상기 접점 기능성으로부터의 수신된 요구를 상기 연합 사용자 라이프사이클 관리 기능성으로 전송하는 단계를 포함하고, 상기 연합 사용자 라이프사이클 관리 기능은 하나 이상의 연합 사용자 라이프사이클 관리 기능을 제공하기 위하여 상기 연합 사용자 라이프사이클 관리 기능과 상호 작용하는 하나 이상의 플러그 모듈을 인보크하는 방법이 제공된다.According to another aspect, a method of providing federated functionality in a data processing system, comprising: receiving an input request at a contact functionality in a domain, the domain being coupled with a plurality of domains in a federated computing environment; Analyzing an input request for the contact functionality; In response to determining that the received request does not require processing by the federated user lifecycle management functionality to access a resource controlled by the resource access functionality, sending a received request from the contact functionality to the resource access functionality. step; In response to determining that the received request requires processing by federated user lifecycle management functionality, sending the received request from the contact functionality to the federated user lifecycle management functionality, wherein the federated user life A cycle management function is provided for invoking one or more plug modules that interact with the federated user lifecycle management function to provide one or more federated user lifecycle management functions.

다른 형태에 따르면, 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 장치로서, 도메인 내의 접점 기능성에서 입력 요구를 수신하는 수단 - 상기 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합됨 - ; 상기 접점 기능성에 대한 입력 요구를 분석하는 수단; 수신된 요구가 리소스 액세스 기능성에 의해 제어되는 리소스를 액세스한다는 결정에 응답하여, 상기 접점 기능성으로부터의 수신된 요구를 상기 리소스 액세스 기능성으로 전송하는 수단; 상기 수신된 요구가 연합 사용 자 라이프사이클 관리 기능을 액세스한다는 결정에 응답하여, 상기 접점 기능성으로부터의 수신된 요구를 상기 연합 사용자 라이프사이클 관리 기능성으로 전송하는 수단을 포함하고, 상기 연합 사용자 라이프사이클 관리 기능은 상기 연합 사용자 라이프사이클 관리 기능과 상호 작용하는 하나 이상의 플러그 모듈을 인보크함으로써 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답하는 장치가 제공된다.According to another aspect, an apparatus for providing federated functionality in a data processing system, comprising: means for receiving an input request at a contact functionality in a domain, the domain being combined with a plurality of domains in a federated computing environment; Means for analyzing an input request for the contact functionality; Means for sending a received request from the contact functionality to the resource access functionality in response to determining that the received request accesses a resource controlled by a resource access functionality; Means for sending the received request from the contact functionality to the federated user lifecycle management functionality in response to determining that the received request accesses federated user lifecycle management functionality, wherein the federated user lifecycle management functionality is included. A function is provided for responding to a request for access to a federated user lifecycle management function by invoking one or more plug-in modules that interact with the federated user lifecycle management function.

다른 형태에 따르면, 연합 기능성을 제공하는 데이터 프로세싱 시스템에 사용되는 컴퓨터 판독가능 매체 상의 컴퓨터 프로그램 제품으로서, 도메인 내의 접점 기능성에서 입력 요구를 수신하는 수단 - 상기 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합됨 - ; 상기 접점 기능성에 대한 입력 요구를 분석하는 수단; 수신된 요구가 리소스 액세스 기능성에 의해 제어되는 리소스를 액세스한다는 결정에 응답하여, 상기 접점 기능성으로부터의 수신된 요구를 상기 리소스 액세스 기능성으로 전송하는 수단; 상기 수신된 요구가 연합 사용자 라이프사이클 관리 기능을 액세스한다는 결정에 응답하여, 상기 접점 기능성으로부터의 수신된 요구를 상기 연합 사용자 라이프사이클 관리 기능성으로 전송하는 수단을 포함하고, 상기 연합 사용자 라이프사이클 관리 기능은 상기 연합 사용자 라이프사이클 관리 기능과 상호 작용하는 하나 이상의 플러그 모듈을 인보크함으로써 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답하는 컴퓨터 프로그램 제품이 제공된다.According to another aspect, a computer program product on a computer readable medium for use in a data processing system that provides federated functionality, comprising: means for receiving an input request at contact functionality in a domain, the domain associated with a plurality of domains in a federated computing environment -; Means for analyzing an input request for the contact functionality; Means for sending a received request from the contact functionality to the resource access functionality in response to determining that the received request accesses a resource controlled by a resource access functionality; Means for sending the received request from the contact functionality to the federated user lifecycle management functionality in response to determining that the received request accesses federated user lifecycle management functionality. A computer program product is provided that responds to a request for access to a federated user lifecycle management function by invoking one or more plug-in modules that interact with the federated user lifecycle management function.

다른 형태에 따르면, 도메인으로 전송되는 입력 요구를 수신하는 접점 서버 - 상기 도메인은 연합 컴퓨팅 환경 내의 복수의 도메인과 결합됨 - ; 상기 접점 서버와 상호 작용하는 제1 애플리케이션 서버를 포함하고, 상기 제1 애플리케이션 서버는 제어 리소스로의 액세스에 대한 요구에 응답하는 수단; 및 상기 접점 서버와 상호 작용하는 제2 애플리케이션 서버를 포함하고, 상기 제2 애플리케이션 서버는 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답하는 수단을 포함하고, 상기 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답하는 수단은 상기 제2 애플리케이션 서버와 상호 작용하는 하나 이상의 플러그 모듈을 포함하는 데이터 프로세싱 시스템이 제공된다. According to another aspect, a contact server for receiving an input request sent to a domain, the domain being combined with a plurality of domains in a federated computing environment; A first application server for interacting with the contact server, the first application server comprising means for responding to a request for access to a control resource; And a second application server for interacting with the point-of-contact server, the second application server comprising means for responding to a request for access to a federated user lifecycle management function. Means for responding to a request for access of a data processing system are provided that include one or more plug modules for interacting with the second application server.

다른 형태에 따르면, 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법으로서, 제1 서비스 제공자의 접점 기능성 컴포넌트에서 클라이언트로부터의 제1 요구를 수신하는 단계 - 상기 접점 기능성 컴포넌트가 상기 제1 서비스 제공자의 클라이언트에 대하여 상기 제1 서비스 제공자에 대한 세션 관리를 수행하고 상기 접점 기능성 컴포넌트는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자와 결합됨 - ; 및 상기 제1 요구의 후속 프로세싱이 연합 사용자 라이프사이클 관리 기능의 사전 인보크를 요구한다는 결정에 응답하여, 상기 제1 서비스 제공자의 접점 기능성 컴포넌트로부터 상기 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 제2 요구를 전송하는 단계 - 상기 제2 요구는 상기 제1 요구로부터 도출된 정보를 포함함 - 를 포함하는 방법이 제공된다.According to another aspect, a method for providing federated functionality within a data processing system, the method comprising: receiving a first request from a client at a contact functional component of a first service provider, the contact functional component to a client of the first service provider; Perform session management for the first service provider and the contact functional component is coupled with a plurality of service providers in a federated computing environment; And in response to determining that subsequent processing of the first request requires pre-invoke of a federated user lifecycle management function, from the junction functional component of the first service provider, the federated user lifecycle management functional component of the first service provider. Sending a second request to the second request, wherein the second request includes information derived from the first request.

다른 형태에 따르면, 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 장치로서, 제1 서비스 제공자의 접점 기능성 컴포넌트에서 클라이언트로부터의 제1 요구를 수신하는 수단 - 상기 접점 기능성 컴포넌트가 상기 제1 서비스 제공자의 클라이언트에 대하여 상기 제1 서비스 제공자에 대한 세션 관리를 수행하고 상기 접점 기능성 컴포넌트는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자와 결합됨 - ; 및 상기 제1 요구의 후속 프로세싱이 연합 사용자 라이프사이클 관리 기능의 사전 인보크를 요구한다는 결정에 응답하여, 상기 제1 서비스 제공자의 접점 기능성 컴포넌트로부터 상기 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 제2 요구를 전송하는 수단 - 상기 제2 요구는 상기 제1 요구로부터 도출된 정보를 포함함 - 을 포함하는 장치가 제공된다.According to another aspect, an apparatus for providing federated functionality within a data processing system, comprising: means for receiving a first request from a client at a contact functional component of a first service provider, the contact functional component being directed to a client of the first service provider Perform session management for the first service provider and the contact functional component is coupled with a plurality of service providers in a federated computing environment; And in response to determining that subsequent processing of the first request requires pre-invoke of a federated user lifecycle management function, from the junction functional component of the first service provider, the federated user lifecycle management functional component of the first service provider. Means for sending a second request to the second request, wherein the second request includes information derived from the first request.

다른 형태에 따르면, 연합 환경을 제공하는 데이터 프로세싱 시스템에 사용되는 컴퓨터 판독가능 매체 상의 컴퓨터 프로그램 제품으로서, 제1 서비스 제공자의 접점 기능성 컴포넌트에서 클라이언트로부터의 제1 요구를 수신하는 수단 - 상기 접점 기능성 컴포넌트가 상기 제1 서비스 제공자의 클라이언트에 대하여 상기 제1 서비스 제공자에 대한 세션 관리를 수행하고 상기 접점 기능성 컴포넌트는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자와 결합됨 - ; 및 상기 제1 요구의 후속 프로세싱이 연합 사용자 라이프사이클 관리 기능의 사전 인보크를 요구한다는 결정에 응답하여, 상기 제1 서비스 제공자의 접점 기능성 컴포넌트로부터 상기 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 제2 요구를 전송하는 수단 - 상기 제2 요구는 상기 제1 요구로부터 도출된 정보를 포함함 - 을 포함하는 컴퓨터 프로그램 제품이 제공된다.According to another aspect, a computer program product on a computer readable medium for use in a data processing system that provides a federated environment, comprising: means for receiving a first request from a client at a contact functional component of a first service provider—the contact functional component Perform session management for the first service provider for a client of the first service provider and the contact functional component is coupled with a plurality of service providers in a federated computing environment; And in response to determining that subsequent processing of the first request requires pre-invoke of a federated user lifecycle management function, from the junction functional component of the first service provider, the federated user lifecycle management functional component of the first service provider. Means for sending a second request in a second order, the second request including information derived from the first request.

연합 서비스 제공자가 바람직하게 연합 환경 내에서 상호 작용하여 연합 동 작을 개시하는 방법 및 시스템이 개시된다. 바람직한 실시예에 따르면, 제1 서비스 제공자의 세션 관리 성능을 제공하는 접점 컴포넌트는 클라이언트로부터 요구를 수신한다. 요구는 바람직하게 클라이언트를 통해 재전송을 이용하여 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 전송되고, 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트는 제2 서비스 제공자의 접점 컴포넌트와 상호 작용하여 제2 서비스 제공자의 연합 사용자 라이프사이클 관리 기능을 개시할 수 있으며, 제2 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트의 어시스턴스에 참여한다. 연합 사용자 라이프사이클 관리 기능의 완료에 응답하여, 제1 서비스 제공자의 접점 컴포넌트는 바람직하게 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로부터의 응답을 수신하고, 본래의 요구가 더 프로세싱될 수 있다.A method and system are disclosed in which a federated service provider preferably interacts within a federated environment to initiate federated operations. According to a preferred embodiment, the contact component providing session management capabilities of the first service provider receives a request from the client. The request is preferably sent via a client to the federated user lifecycle management functional component of the first service provider, and the federated user lifecycle management functional component of the first service provider interacts with the contact component of the second service provider. To initiate the federated user lifecycle management function of the second service provider, and participate in the assistance of the federated user lifecycle management functional component of the second service provider. In response to the completion of the federated user lifecycle management function, the contact component of the first service provider preferably receives a response from the federated user lifecycle management functional component of the first service provider, and the original request may be further processed. .

연합 도메인이 연합 환경 내에서 상호 작용하는 방법 및 시스템이 개시된다. 연합 내의 도메인들은 바람직하게 다른 연합 도메인의 사용자에 대한 연합 동작을 개시할 수 있다. 도메인 내의 접점 서버는 바람직하게 도메인 내의 트러스트 프록시에 의존하여 도메인과 연합 간의 트러스트 관계를 관리한다. 접점 서버는 바람직하게 도메인으로 전송된 입력 요구를 수신하고 제1 애플리케이션 서버와 제2 애플리케이션 서버와 상호 작용하며, 제1 애플리케이션 서버는 바람직하게 제어 리소스로의 액세스에 대한 요구에 응답하고, 제2 애플리케이션 서버는 바람직하게 제2 애플리케이션 서버와 상호 작용하는 하나 이상의 플러그 모듈을 이용하여 구현되는 연합 사용자 라이프사이클 관리 기능으로의 액세스에 대한 요구에 응답한다.Methods and systems are disclosed in which federated domains interact within a federated environment. Domains in a federation may preferably initiate federation operations for users of other federated domains. The point-of-contact server in the domain preferably relies on a trust proxy in the domain to manage the trust relationship between the domain and the federation. The contact server preferably receives input requests sent to the domain and interacts with the first application server and the second application server, the first application server preferably responding to the request for access to the control resource, and the second application. The server responds to a request for access to a federated user lifecycle management function, preferably implemented using one or more plug modules that interact with the second application server.

바람직하게, 기존 컴퓨팅 환경의 인프라스트럭쳐에 최소한의 변경이 요구되도록 기능을 통합하여 연합 사양을 구현하는 방법 및 시스템이 제공된다. 바람직하게, 기존의 컴퓨팅 환경에 최소한의 충격을 가하면서 연합 사용자 라이프사이클 관리 기능을 통합하는 방법 및 시스템이 제공된다.Preferably, a method and system are provided for implementing a federated specification incorporating functionality such that minimal changes to the infrastructure of an existing computing environment are required. Preferably, a method and system are provided for integrating federated user lifecycle management functionality with minimal impact on an existing computing environment.

바람직하게, 기업이 고도로 구성가능한 방식으로 연합 사용자 라이프사이클 관리 기능을 구현할 수 있는 방법 및 시스템이 제공된다. 또한, 이 솔루션은 바람직하게 FULM 애플리케이션의 인프라스트럭쳐의 변경이나 추가의 인스턴스없이 단일 환경 내에서 연합 사용자 라이프사이클 관리의 다수 변형을 지원한다. Preferably, methods and systems are provided that enable an enterprise to implement federated user lifecycle management functionality in a highly configurable manner. In addition, the solution preferably supports multiple variations of federated user lifecycle management within a single environment, without additional infrastructure changes or additional instances of FULM applications.

이하, 본 발명의 양호한 실시예들을 다음의 도면을 참조하여 예시적으로 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the following drawings.

도 1a는 바람직한 실시예에 따라 본 발명을 구현할 수 있는 데이터 프로세싱 시스템의 일반적인 네트워크를 나타내는 도면.1A illustrates a general network of data processing systems that may implement the present invention in accordance with a preferred embodiment.

도 1b는 바람직한 실시예에 따라 본 발명이 구현될 수 있는 데이터 프로세싱 시스템에 사용될 수 있는 일반적인 컴퓨터 아키텍쳐를 나타내는 도면.1B illustrates a general computer architecture that may be used in a data processing system in which the present invention may be implemented in accordance with a preferred embodiment.

도 1c는 클라이언트가 서버에서 보호 리소스를 액세스하려 할 때 사용될 수 있는 일반적인 인증 프로세스를 나타내는 데이터 흐름도.1C is a data flow diagram illustrating a general authentication process that may be used when a client attempts to access a protected resource at a server.

도 1d는 본 발명이 구현될 수 있는 일반적인 웹 기반 환경을 나타내는 네트워크를 나타내는 도면.1D illustrates a network representing a typical web-based environment in which the present invention may be implemented.

도 1e는 사용자로부터의 다수 인증 작용을 요구하는 일반적인 온라인 트랜잭 션의 일예를 나타내는 블록도.1E is a block diagram illustrating an example of a typical online transaction requiring multiple authentication actions from a user.

도 2a는 응답으로 연합 환경 내의 다운스트림 엔티티에서 액션을 인보크하는 제1 연합 기업으로의 사용자에 의해 초기화되는 트랜잭션에 대하여 연합 환경의 용어를 나타내는 블록도.2A is a block diagram illustrating terms of a federated environment for transactions initiated by a user to a first federated enterprise that invokes an action at a downstream entity in the federated environment in response.

도 2b는 주어진 도메인에서 본 발명의 실시예에 따른 본 발명의 연합 아키텍쳐 컴포넌트의 일부와 기존 시스템의 통합을 나타내는 블록도.2B is a block diagram illustrating the integration of an existing system with a portion of the federated architecture component of the present invention in accordance with an embodiment of the present invention in a given domain.

도 2c는 본 발명의 구현에 따른 연합 아키텍쳐를 나타내는 블록도.2C is a block diagram illustrating a federated architecture in accordance with an implementation of the present invention.

도 2d는 본 발명의 바람직한 실시예에서 시트러스트 프록시 및 트러스트 브로커 사용하는 연합 도메인 간의 예시적인 트러스트 관계의 세트를 나타내는 블록도.FIG. 2D is a block diagram illustrating an exemplary set of trust relationships between federated domains using a trust proxy and a trust broker in a preferred embodiment of the present invention. FIG.

도 3a는 바람직한 실시예에 따른, 연합 환경 내에서 어써션(assertion)을 생성하기 위한 발행 도메인에서 일반화된 프로세스를 나타내는 흐름도.3A is a flow diagram illustrating a process generalized in an issuing domain for generating assertions in a federated environment, in accordance with a preferred embodiment.

도 3b는 바람직한 실시예에 따른, 어써션을 해체하는 의존 도메인에서 일반화된 프로세스를 나타내는 흐름도.3B is a flow diagram illustrating a generalized process in a dependency domain resolving assertions in accordance with a preferred embodiment.

도 3c는 바람직한 실시예에 따른, 발행 도메인에서의 사용자 액션에 응답하여 발행 도메인으로부터 의존 도메인으로 어써션을 보내는 특정 프로세스를 나타내는 흐름도. 3C is a flow diagram illustrating a particular process for sending an assertion from an issuing domain to a dependent domain in response to a user action in the issuing domain, in accordance with a preferred embodiment.

도 3d는 바람직한 실시예에 따른, 의존 도메인으로의 출력 요구를 능동적으로 방해하는 발행 도메인에 응답하여 발행 도메인으로부터 의존 도메인으로 어써션을 보내는 특정 프로세스를 나타내는 흐름도.FIG. 3D is a flow diagram illustrating a particular process for sending an assertion from an issuing domain to a dependent domain in response to an issuing domain that actively prevents an output request to the dependent domain, in accordance with a preferred embodiment.

도 3e는 바람직한 실시예에 따른, 요구하는 사용자로부터 의존 도메인에 의해 수신된 리소스 요구를 만족하도록 시도하면서 의존 도메인이 발행 도메인으로부터 사용자에 대한 임의의 요구된 어써션을 요구하는 풀 모델(pull model)을 나타내는 흐름도.FIG. 3E illustrates a pull model in which the dependent domain requires any requested assertion for the user from the issuing domain while attempting to satisfy a resource request received by the dependent domain from the requesting user, according to a preferred embodiment. Flowchart Indicating.

도 4는 바람직한 실시예에 따른, 연합 싱글-사인-온 동작을 지원하는 연합 환경을 나타내는 블록도.4 is a block diagram illustrating a federated environment supporting federated single-sign-on operation, in accordance with a preferred embodiment.

도 5는 본 발명의 실시예에 따른 연합 사용자 라이프사이클 관리 기능을 구현하는 연합 도메인 내의 컴포넌트 중의 일부를 나타내는 블록도.5 is a block diagram illustrating some of the components in a federated domain that implement federated user lifecycle management functionality in accordance with an embodiment of the present invention.

도 6은 본 발명의 바람직한 실시예에 따른 연합 사용자 라이프사이클 관리 기능을 이용하여 싱글-사인-온 동작을 수행하는 프로세스를 나타내는 데이터 흐름도.6 is a data flow diagram illustrating a process for performing a single-sign-on operation using a federated user lifecycle management function in accordance with a preferred embodiment of the present invention.

도 7은 바람직한 실시예에 따른, 연합 사용자 라이프사이클 관리로부터 트러스트 관계 관리를 분리하는 논리적 컴포넌트의 조직을 나타내는 블록도.Figure 7 is a block diagram illustrating the organization of logical components that separate trust relationship management from federated user lifecycle management, in accordance with a preferred embodiment.

도 8a는 바람직한 실시예에 따른, 연합 컴퓨팅 환경의 논리적 기능의 고위 추상화를 나타내는 블록도.8A is a block diagram illustrating high abstraction of logical functionality of a federated computing environment, in accordance with a preferred embodiment.

도 8b는 바람직한 실시예에 따른, 본 발명이 트러스트 관계 관리 기능으로부터 연합 기능 및 접점 기능성의 분리를 제공하는 방식을 나타내는 연합 컴퓨팅 환경의 논리적 기능의 고위 추상화를 나타내는 블록도.FIG. 8B is a block diagram illustrating a high level abstraction of the logical functions of a federated computing environment illustrating how the present invention provides separation of federated and contact functionality from trust relationship management functionality, in accordance with a preferred embodiment; FIG.

도 8c는 바람직한 실시예에 따른, 본 발명이 접점 기능성으로부터 연합 동작 기능성의 분리를 제공하는 방식을 나타내는 연합 컴퓨팅 환경의 논리적 기능의 고 위 추상화를 나타내는 블록도.FIG. 8C is a block diagram illustrating the high abstraction of logical functionality of a federated computing environment illustrating how the present invention provides for separation of federated operational functionality from contact functionality, in accordance with a preferred embodiment; FIG.

도 8d는 바람직한 실시예에 따른, 본 발명이 연합 사용자 라이프사이클 관리 기능 및 연합 관계 관리 기능으로의 연합 동작 기능성의 분리를 제공하는 방식을 나타내는 연합 컴퓨팅 환경의 논리적 기능의 고위 추상화를 나타내는 블록도.8D is a block diagram illustrating a high level abstraction of logical functions of a federated computing environment illustrating how the present invention provides separation of federated operational functionality into federated user lifecycle management functionality and federated relationship management functionality, in accordance with a preferred embodiment;

도 9a, 9b 및 9c는 바람직한 실시예에 따른, 연합 관계가 연합 기능의 선택과 관련하여 트러스트 관계를 포함하는 방식을 나타내는 벤 도식(Venn diagram).9A, 9B and 9C are Venn diagrams illustrating how a federated relationship includes a trust relationship with respect to the selection of the federation function, according to a preferred embodiment.

도 10은 바람직한 실시예에 따른, 연합 컴퓨팅 환경 내에서의 상호 작용을 위하여 한 쌍의 비즈니스 파트너에 의해 수행되는 일련의 동작을 나타내는 데이터 흐름도.10 is a data flow diagram illustrating a series of operations performed by a pair of business partners for interaction within a federated computing environment, in accordance with a preferred embodiment.

도 11은 바람직한 실시예에 따른, 연합 관계를 확립하는 준비에 있어서 트러스트 관계를 확립하기 위한 비즈니스 파트너 간의 상호 작용을 나타내는 블록도.11 is a block diagram illustrating the interaction between business partners for establishing a trust relationship in preparation for establishing a federated relationship, in accordance with a preferred embodiment.

도 12는 바람직한 실시예에 따른, 연합 기능을 포함하기 위한 컴퓨팅 환경의 구성을 나타내는 블록도. 12 is a block diagram illustrating a configuration of a computing environment for including federation functionality, in accordance with a preferred embodiment.

도 13a는 바람직한 실시예에 따른, 기업의 컴퓨팅 환경 내에서 연합 관계를 확립하기 위하여 시스템 관리 사용자에 의해 사용될 수 있는 연합 관계 관리 콘솔 애플리케이션을 나타내는 블록도. FIG. 13A is a block diagram illustrating a federated relationship management console application that may be used by a system administrator user to establish a federated relationship within an enterprise computing environment, in accordance with the preferred embodiment. FIG.

도 13b는 바람직한 실시예에 따른, 연합 파트너 간의 연합 관계를 확립하기 위한 관리 사용자에 의해 사용되는 연합 관계 관리 애플리케이션 내의 그래픽 사용자 인터페이스 윈도우를 나타내는 도면.FIG. 13B illustrates a graphical user interface window in a federated relationship management application used by an administrative user to establish a federated relationship between federated partners, in accordance with a preferred embodiment. FIG.

도 13c 및 13d는 바람직한 실시예에 따른, 기업의 컴퓨팅 환경 내에서 연합 관계를 확립하기 위하여 파트너에 따른 데이터를 얻기 위한 연합 관계 관리 콘솔 애플리케이션에 의해 개시되는 데이터 흐름을 나타내는 블록도.13C and 13D are block diagrams illustrating the data flow initiated by a federated relationship management console application for obtaining data according to a partner to establish a federated relationship within an enterprise computing environment, according to a preferred embodiment.

도 14는 바람직한 실시예에 따른, 연합 관계를 통해 상호작용하는 연합 파트너 간에 교환되는 익스포트/임포트(exported/imported) 파일을 사용을 통해 자동화된 방식으로 연합 관계가 확립되는 프로세스를 나타내는 흐름도.FIG. 14 is a flow diagram illustrating a process in which a federation is established in an automated manner through the use of an exported / imported file exchanged between federated partners interacting through a federated relationship, according to a preferred embodiment.

일반적으로, 본 발명을 포함하거나 본 발명에 관련된 장치는 다양한 데이터 프로세싱 기술을 포함한다. 그러므로, 본 발명을 상세히 설명하기 전에 배경으로서 분산 데이터 프로세싱 시스템 내의 하드웨어 및 소프트웨어 컴포넌트의 일반적인 조직을 설명한다.In general, an apparatus including or related to the present invention includes various data processing techniques. Therefore, before describing the present invention in detail, the general organization of hardware and software components within a distributed data processing system is described.

도면을 참조하여 설명하면, 도 1a는 본 발명의 바람직한 실시예를 구현할 수 있는 데이터 프로세싱 시스템의 일반적인 네트워크를 나타낸다. 분산 데이터 프로세싱 시스템(100)은 분산 데이터 프로세싱 시스템(100) 내에 함께 결합된 다양한 장치 및 컴퓨터 간의 통신 링크를 제공하는데 사용될 수 있는 매체인 네트워크(101)를 포함한다. 네트워크(101)는 유선 또는 파이버 광 케이블 등의 영구 접속 또는 전화 또는 무선 통신을 통해 형성되는 일시적인 접속을 포함한다. 도시된 예에서, 서버(102) 및 서버(103)는 저장 유닛(104)과 함께 네트워크에 접속된다. 또한, 클라이언트(105-107) 또한 네트워크(101)에 접속된다. 클라이언트(105-107) 및 서버(102-103)는 메인프레임, 개인용 컴퓨터, 개인 휴대 단말기(PDA) 등의 다양한 컴퓨팅 장치로 표현될 수 있다. 분산 데이터 프로세싱 시스템(100)은 또다른 서버, 클라이언트, 라우터, 다른 장치 및 도시되지 않은 피어-투-피어 아키텍쳐를 포함할 수 있다.Referring to the drawings, FIG. 1A illustrates a general network of data processing systems that can implement preferred embodiments of the present invention. Distributed data processing system 100 includes a network 101, which is a medium that can be used to provide a communication link between various devices and computers coupled together within distributed data processing system 100. Network 101 includes a permanent connection, such as a wired or fiber optic cable, or a temporary connection formed through telephone or wireless communication. In the example shown, server 102 and server 103 are connected to a network with storage unit 104. In addition, clients 105-107 are also connected to network 101. Clients 105-107 and servers 102-103 may be represented by various computing devices, such as mainframes, personal computers, personal digital assistants (PDAs), and the like. Distributed data processing system 100 may include another server, client, router, other device, and peer-to-peer architecture, not shown.

도시된 예에서, 분산 데이터 프로세싱 시스템(100)은 LDAP(Lightweight Directory Access Protocol), TCP/IP(Transport Control Protocol/Internet Protocol), HTTP(HyperText Transport Protocol) 등의 서로 통신하기 위한 다양한 프로토콜을 이용하는 네트워크 및 게이트웨이의 월드와이드 콜렉션을 나타내는 네트워크(101)를 갖는 인터넷을 포함할 수 있다. 물론, 분산 데이터 프로세싱 시스템(100)은 또한 예를 들어, 인트라넷, 근거리 통신망(LAN) 또는 원거리 통신망(WAN) 등의 많은 다른 유형의 네트워크를 포함할 수 있다. 예를 들어, 서버(102)는 무선 통신 링크를 통합하는 네트워크(110) 및 클라이언트(109)를 직접 지원한다. 네트워크가능 전화(111)는 무선 링크(112)를 통해 네트워크(110)에 접속되고 PDA(113)는 무선 링크(114)를 통해 네트워크(110)에 접속된다. 전화(111) 및 PDA(113)은 또한 블루투스(BluetoothTM) 무선 기술 등의 적절한 기술을 이용하여 무선 링크(115)를 통해 서로 데이터를 전송하여 소위 개인 영역 네트워크 또는 개인 애드혹 네트워크를 생성할 수 있다. 유사한 방식으로, PDA(113)는 무선 통신 링크(116)를 통해 데이터를 PDA(107)에 전송할 수 있다.In the illustrated example, the distributed data processing system 100 uses a network that uses various protocols to communicate with each other, such as Lightweight Directory Access Protocol (LDAP), Transport Control Protocol / Internet Protocol (TCP / IP), HyperText Transport Protocol (HTTP), and the like. And the Internet having a network 101 representing a worldwide collection of gateways. Of course, distributed data processing system 100 may also include many other types of networks, such as, for example, an intranet, a local area network (LAN), or a wide area network (WAN). For example, server 102 directly supports network 110 and client 109 incorporating a wireless communication link. Networkable telephone 111 is connected to network 110 via wireless link 112 and PDA 113 is connected to network 110 via wireless link 114. Telephone 111 and PDA 113 may also transmit data to each other over wireless link 115 using appropriate techniques such as Bluetooth wireless technology to create a so-called personal area network or personal ad hoc network. . In a similar manner, PDA 113 may transmit data to PDA 107 via wireless communication link 116.

본 발명은 다양한 하드웨어 플랫폼 및 소프트웨어 환경상에서 구현될 수 있다. 도 1a는 본 발명의 아키텍쳐를 제한하기 위한 것이 아니라 이종 컴퓨팅 환경의 일예로서 의도된 것이다.The invention can be implemented on a variety of hardware platforms and software environments. 1A is not intended to limit the architecture of the present invention but is intended as an example of a heterogeneous computing environment.

도 1b를 참조하면, 본 발명이 구현될 수 있는 도 1a에 도시된 것과 같은 데이터 프로세싱 시스템의 일반적인 컴퓨터 아키텍쳐를 나타낸다. 데이터 프로세싱 시스템(120)은 내부 시스템 버스(123)에 접속된 하나 이상의 중앙 처리 유닛(CPU)(122)을 포함하고, 내부 시스템 버스(123)는 랜덤 액세스 메모리(RAM)(124), 리드 온리 메모리(ROM)(126), 및 프린터(130), 디스크 유닛(132) 또는 오디오 출력 시스템 등의 도시하지 않은 다른 장치 등의 다양한 I/O 장치를 지원하는 입출력 어댑터(128)를 상호 접속한다. 시스템 버스(123)는 또한 통신 링크(136)로의 액세스를 제공하는 통신 어댑터(134)를 접속한다. 사용자 인터페이스 어댑터(148)는 키보드(140) 및 마우스(142) 등의 다양한 사용자 장치 또는 터치 스크린, 스타일러스, 마이크로폰 등의 도시되지 않은 다른 장치를 접속한다. 디스플레이 어댑터(144)는 시스템 버스(123)를 디스플레이 장치(146)에 접속한다.Referring to FIG. 1B, it illustrates a general computer architecture of a data processing system as shown in FIG. 1A in which the present invention may be implemented. The data processing system 120 includes one or more central processing units (CPUs) 122 connected to an internal system bus 123, the internal system bus 123 being a random access memory (RAM) 124, read only. Memory (ROM) 126 and input / output adapters 128 that support various I / O devices, such as printer 130, disk unit 132, or other devices not shown, such as an audio output system, are interconnected. The system bus 123 also connects a communication adapter 134 that provides access to the communication link 136. The user interface adapter 148 connects various user devices, such as keyboard 140 and mouse 142, or other devices not shown, such as touch screens, stylus, microphones, and the like. The display adapter 144 connects the system bus 123 to the display device 146.

도 1b의 하드웨어는 시스템 구현에 따라 변경될 수 있음은 당업자에게는 자명한 것이다. 예를 들어, IntelTM PentiumTM 기반 프로세서 및 디지털 신호 프로세서(DSP) 등의 하나 이상의 프로세서 및 하나 이상의 유형의 휘발성 및 불휘발성 메모리를 가질 수 있다. 도 1b에 도시된 하드웨어 대신 또는 그에 더하여 다른 주변 장치가 사용될 수 있다. 도시된 예는 본 발명의 아키텍쳐를 제한히기 위한 것이 아니다.It will be apparent to those skilled in the art that the hardware of FIG. 1B may vary with system implementation. For example, Intel TM Pentium TM One or more processors, such as a base processor and a digital signal processor (DSP), and one or more types of volatile and nonvolatile memory. Other peripheral devices may be used instead of or in addition to the hardware shown in FIG. 1B. The illustrated examples are not intended to limit the architecture of the present invention.

다양한 하드웨어 플랫폼상에서 구현될 수 있는 것에 더하여, 본 발명은 다양한 소프트웨어 환경에서 구현될 수 있다. 일반적인 오퍼레이팅 시스템은 각각의 데 이터 프로세싱 시스템 내의 프로그램 실행을 제어하는데 사용될 수 있다. 예를 들어, 하나의 장치가 UnixTM 오페레이팅 시스템을 운영하는 반면, 다른 장치는 간단한 JaveTM 런타임 환경을 포함한다. 대표적인 컴퓨터 플랫폼은 그래픽 파일, 워드 프로세싱 파일, XML(Extensible Markup Language), HTML(Hypertext Markup Language), HDML(Handheld device Markup Language), WML(Wireless Markup Language) 및 다양한 다른 포맷 및 유형의 파일 등의 다양한 포맷의 하이퍼텍스트 문서를 액세스하는 공지의 소프트웨어 애플리케이션인 브라우저를 포함할 수 있다. 도 1a에 도시된 분산 데이터 프로세싱 시스템은 다양한 피어-투-피어 서브네트 및 피어-투-피어 서비스를 지원할 수 있는 것으로 기대된다.In addition to being able to be implemented on a variety of hardware platforms, the present invention can be implemented in a variety of software environments. General operating systems can be used to control program execution within each data processing system. For example, one device runs the Unix TM operating system, while the other device contains a simple Jave TM runtime environment. Typical computer platforms include a variety of graphics files, word processing files, Extensible Markup Language (XML), Hypertext Markup Language (HTML), Handheld Device Markup Language (HDML), Wireless Markup Language (WML), and a variety of other formats and types of files. A browser, which is a known software application that accesses a hypertext document in a format. The distributed data processing system shown in FIG. 1A is expected to be able to support various peer-to-peer subnets and peer-to-peer services.

도 1c는 클라이언트가 서버에서 보호 리소스를 액세스하려고 할 때 사용될 수 있는 일반적인 인증 프로세스를 나타내는 데이터 흐름도이다. 도시된 바와 같이, 클라이언트 워크스테이션(150)의 사용자는 클라이언트 워크스테이션상에서 실행되는 사용자 웹 브라우저를 통해 서버(151)상의 보호 리소스로의 액세스를 컴퓨터 네트워크를 통해 요구한다. 보호 또는 제어 리소스는 액세스가 제어되거나 제한되는 리소스(애플리케이션, 오브젝트, 문서, 페이지, 파일, 실행가능 코드 또는 다른 계산 리소스, 통신형 리소스 등)이다. 보호 리소스는 URL(Uniform Resource Locator) 또는 인증된 및/또는 권한 부여된 사용자에 의해서만 액세스될 수 있는 URI(Uniform Resource Identifier)에 의해 식별된다. 컴퓨터 네트워크는 도 1a 또는 1b에 도시된 바와 같이, 인터넷, 인트라넷 또는 다른 네트워크일 수 있으며, 서 버는 웹 애플리케이션 서버(WAS), 서버 애플리케이션, 서브릿(servlet) 프로세스 등일 수 있다. 1C is a data flow diagram illustrating a general authentication process that may be used when a client attempts to access a protected resource at a server. As shown, a user of client workstation 150 requires access via a computer network to a protected resource on server 151 via a user web browser running on the client workstation. Protected or controlled resources are those resources whose access is controlled or restricted (applications, objects, documents, pages, files, executable code or other computing resources, communication resources, etc.). Protected resources are identified by a Uniform Resource Locator (URL) or a Uniform Resource Identifier (URI) that can only be accessed by authorized and / or authorized users. The computer network may be the Internet, an intranet, or other network, as shown in FIG. 1A or 1B, and the server may be a web application server (WAS), server application, servlet process, or the like.

사용자가 도메인 "ibm.com" 내의 웹 페이지와 같은 서버측 보호 리소스를 요청할 때 프로세스가 개시된다 (단계 152). "서버측" 및 "클라이언트측"이라는 용어는 각각 네트워킹된 환경 내에서의 서버 또는 클라이언트의 액션 또는 엔티티를 말한다. 웹 브라우저(또는 관련된 애플리케이션 또는 애플릿(applet))는 도메인 "ibm.com"을 호스팅하는 웹 서버로 전송되는 HTTP 요구를 발생한다(단계 153). "요구" 및 "응답"이라는 용어는 메시지, 통신 프로토콜 정보 또는 다른 관련된 정보 등의 특정 동작에 포함되는 정보의 전송을 위한 데이터 포맷팅을 포함하는 것으로 이해되어야 한다.The process is initiated when the user requests a server-side protected resource such as a web page in the domain "ibm.com" (step 152). The terms "server side" and "client side" refer to an action or entity of a server or a client, respectively, in a networked environment. The web browser (or associated application or applet) issues an HTTP request that is sent to the web server hosting the domain "ibm.com" (step 153). The terms "request" and "response" should be understood to include data formatting for the transmission of information included in a particular operation, such as a message, communication protocol information or other related information.

서버는 클라이언트를 위한 액티브 세션을 갖지 않는다는 것을 판단하여 (단계 154) 클라이언트와 서버 간의 정보를 다수 전송하는 SSL(Secure Sockets Layer) 세션의 확립을 개시 및 완료한다 (단계 155). SSL 세션이 확립된 후에, 후속의 통신 메시지가 SSL 세션 내에서 전송되고, SSL 세션 내의 암호화된 통신 메시지 때문에 임의의 비밀 정보는 안전하다.The server determines that it does not have an active session for the client (step 154) and initiates and completes the establishment of a Secure Sockets Layer (SSL) session that transfers a large amount of information between the client and the server (step 155). After the SSL session is established, subsequent communication messages are sent within the SSL session, and any secret information is secure because of the encrypted communication message in the SSL session.

그러나, 서버는 클라이언트에게 임의의 유형의 인증 신청을 전송함으로써 서버가 사용자에게 인증 처리를 수행하도록 요구하여 사용자가 보호 리소스로 액세스하는 것을 허용하기 전에 사용자의 아이덴티티를 결정할 필요가 있다 (단계 156). 인증 신청은 HTML 양식 등의 다양한 포맷일 수 있다. 그 후, 사용자는 관련된 패스워드 또는 다른 형태의 비밀 정보와 함께 사용자 이름 또는 다른 유형의 사용자 식 별자 등의 요청된 정보를 제공한다 (단계 157). However, the server needs to determine the identity of the user before sending the client any type of authentication request, requiring the server to perform authentication processing to allow the user to access the protected resource (step 156). The certification application may be in various formats, such as an HTML form. The user then provides the requested information, such as a user name or other type of user identifier, along with the associated password or other form of secret information (step 157).

인증 응답 정보가 서버로 전송되고 (단계 158), 이 시점에서, 서버는 미리 제출된 등록 정보를 검색하고 제시된 인증 정보와 사용자의 저장된 정보를 매칭시킴으로써, 사용자 또는 클라이언트를 인증한다 (단계 159). 인증이 성공한 것으로 가정하면, 인증된 사용자 또는 클라이언트에 대한 액티브 세션이 확립된다. 서버는 클라이언트용 세션 식별자를 생성하고, 세션 내의 클라이언트로부터의 임의의 후속 요구 메시지가 세션 식별자에 의해 수반될 수 있다.Authentication response information is sent to the server (step 158), at which point the server authenticates the user or client by retrieving previously submitted registration information and matching the presented authentication information with the user's stored information (step 159). Assuming authentication succeeds, an active session is established for the authenticated user or client. The server generates a session identifier for the client, and any subsequent request message from the client in the session may be accompanied by the session identifier.

그 후, 서버는 본래 요구된 웹 페이지를 검색하고 HTTP 응답 메시지를 클라이언트에게 전송하여 (단계 160), 보호 리소스에 대한 사용자의 본래 요구를 이행한다. 이 시점에서, 사용자는 브라우저 윈도우 내의 하이퍼텍스트 링크를 클릭함으로써 "ibm.com" 내의 또다른 페이지를 요구할 수 있고 (단계 161), 브라우저는 또다른 HTTP 요구 메시지를 서버에 전송한다 (단계 162). 이 시점에서, 사용자의 세션 식별자가 HTTP 요구 메시지를 통해 서버로 반환되기 때문에 서버는 사용자가 액티브 세션을 갖는다는 것을 인식하고(단계 163), 서버는 요구된 웹 페이지를 다른 HTTP 응답 메시지를 통해 클라이언트에게 전송된다 (단계 164). 도 1c는 일반적인 종래 프로세스를 나타내지만, 액티브 세션으로 사용자를 식별하는 쿠키를 재기입 또는 사용하는 URL 등의 다른 세션 상태 관리 기술이 기재돨 수 있으며, 이는 인증을 증명하기 위하여 사용되는 동일한 쿠키를 사용하는 것을 포함할 수 있다.The server then retrieves the originally requested web page and sends an HTTP response message to the client (step 160) to fulfill the user's original request for the protected resource. At this point, the user can request another page in " ibm.com " by clicking on a hypertext link in the browser window (step 161), and the browser sends another HTTP request message to the server (step 162). At this point, because the user's session identifier is returned to the server via an HTTP request message, the server recognizes that the user has an active session (step 163), and the server sends the requested web page via another HTTP response message to the client. Is sent to (step 164). Although FIG. 1C illustrates a typical conventional process, other session state management techniques, such as a URL that rewrites or uses a cookie that identifies the user as an active session, may be described, which uses the same cookie used to prove authentication. It may include doing.

도 1d는 본 발명이 구현될 수 있는 일반적인 웹 기반 환경을 나타내는 네트워크를 나타내는 도면이다. 이 환경에서, 클라이언트(171)의 브라우저(170)의 사용 자가 DNS 도메인(173)의 웹 애플리케이션 서버(172) 또는 DNS 도메인(175)의 웹 애플리케이션 서버(174) 상의 보호 리소스를 액세스하기를 원한다.1D is a diagram illustrating a network representing a general web-based environment in which the present invention may be implemented. In this environment, a user of the browser 170 of the client 171 wants to access a protected resource on the web application server 172 of the DNS domain 173 or the web application server 174 of the DNS domain 175.

도 1c에 도시된 것과 유사한 방식으로, 사용자는 많은 도메인중 하나에서 보호 리소스를 요구할 수 있다. 특정 도메인에서 단일 서버만을 나타내는 도 1c와 대조적으로, 도 1d의 각각의 도메인은 다수의 서버를 갖는다. 특히, 각각의 도메인은 관련된 인증 서버(176 및 177)를 가질 수 있다.In a manner similar to that shown in FIG. 1C, a user may request a protected resource in one of many domains. In contrast to FIG. 1C, which represents only a single server in a particular domain, each domain of FIG. 1D has multiple servers. In particular, each domain may have associated authentication servers 176 and 177.

이 예에서, 클라이언트(172)가 도메인(173)에서 보호 리소스에 대한 요구를 발행한 후에, 웹 애플리케이션 서버(172)는 클라이언트(171)에 대한 액티브 세션을 갖지 않는 것으로 판정하고, 인증 서버(176)가 클라이언트(171)와 적절한 인증 동작을 수행하도록 요구한다. 인증 서버(176)는 인증 동작의 결과를 웹 애플리케이션 서버(172)로 보낸다. 사용자(또는 브라우저(170) 또는 사용자를 대표하는 클라이언트(171))가 성공적으로 인증되면, 웹 애플리케이션 서버(172)는 클라이언트(171)에 대한 세션을 확립하고 요구된 리소스를 반환한다. 일반적으로, 사용자가 인증 서버에 의해 인증되면, 쿠키가 설정되어 브라우저 내의 쿠키 캐쉬에 저장될 수 있다. 도 1d는 특히 인증 동작을 수행하기 위하여 도메인의 프로세싱 리소스가 다수의 서버 사이에서 공유될 수 있는 방식의 일 예일 뿐이다.In this example, after client 172 issues a request for a protected resource in domain 173, web application server 172 determines that it does not have an active session with client 171, and authentication server 176. Request a proper authentication operation with the client 171. The authentication server 176 sends the result of the authentication operation to the web application server 172. If the user (or browser 170 or client 171 representing the user) is successfully authenticated, the web application server 172 establishes a session with the client 171 and returns the requested resources. In general, once a user is authenticated by the authentication server, a cookie may be set and stored in a cookie cache in the browser. 1D is merely one example of how a domain's processing resources may be shared among multiple servers, in particular to perform an authentication operation.

유사한 방식으로, 클라이언트(171)가 도메인(175)에서 보호 리소스를 요구한 후에, 인증 서버(177)는 클라이언트(171)와 적절한 인증 동작을 수행하고, 그 후, 웹 애플리케이션 서버(174)는 클라이언트(171)에 대한 세션을 확립하고 요구된 보호 리소스를 반환한다. 그러므로, 도 1d는 클라이언트(171)가 상이한 도메인에서 다수의 동시 세션을 가지며 다수의 인증 동작을 완료하여 동시 세션을 확립하는 것이 필요하다는 것을 나타낸다.In a similar manner, after client 171 requests a protected resource in domain 175, authentication server 177 performs the appropriate authentication operation with client 171, after which web application server 174 Establish a session for 171 and return the requested protected resource. Therefore, FIG. 1D shows that the client 171 has multiple concurrent sessions in different domains and needs to complete multiple authentication operations to establish a concurrent session.

도 1e는 사용자로부터 다수 인증 작용을 요구하는 일반적인 온라인 트랜잭션의 일예를 나타내는 블록도이다. 도 1c 및 도 1d를 다시 참조하면, 사용자는 도 1c에 도시한 바와 같이 제어 리소스에 액세스하기 전에 인증 동작을 완료할 것이 요구될 수 있다. 도 1c에는 도시되어 있지 않지만, 인증 매니저가 서버(151) 상에 배치되어 사용자를 인증하는데 요구되는 사용자 정보를 검색 채용한다. 도 1d에 도시한 바와 같이, 사용자가 상이한 도메인(173 및 175) 내의 다수의 현재 세션을 가질 수 있으며, 도 1d에는 도시되어 있지 않지만, 각각의 도메인은 인증 서버에 더하여 또는 대신에 인증 매니저를 채용할 수 있다. 유사한 방식으로, 도 1e는 도메인 세트를 나타내며, 이들 도메인의 각각은 임의의 유형의 인증 매니저를 지원한다. 도 1e는 사용자가 각각의 도메인에 대한 인증 동작을 완료하도록 요구하는 다수의 도메인을 액세스할 때 사용자가 경험할 수 있는 어려움의 일부를 나타낸다.1E is a block diagram illustrating an example of a typical online transaction requiring multiple authentication actions from a user. Referring back to FIGS. 1C and 1D, the user may be required to complete an authentication operation before accessing the control resource as shown in FIG. 1C. Although not shown in FIG. 1C, an authentication manager is placed on the server 151 to search and employ user information required to authenticate the user. As shown in FIG. 1D, a user may have multiple current sessions in different domains 173 and 175, although not shown in FIG. 1D, each domain employs an authentication manager in addition to or instead of an authentication server. can do. In a similar manner, FIG. 1E represents a set of domains, each of which supports any type of authentication manager. 1E illustrates some of the difficulties a user may experience when accessing multiple domains requiring the user to complete an authentication operation for each domain.

사용자(190)는 ISP 도메인(191)에서 등록될 수 있고, ISP 도메인은 도메인(191)에 대하여 트랙잭션을 완료할 목적으로 사용자(190)를 인증하는 인증 매니저(192)를 지원할 수 있다. ISP 도메인(191)은 인터넷 연결 서비스, 이메일 서비스 및 다른 가능한 전자 상거래 서비스를 제공하는 인터넷 서비스 제공자(ISP)일 수 있다. 다른 방법으로, ISP 도메인(191)은 사용자(190)에 의해 빈번히 액세스되는 인터넷 포털일 수 있다.User 190 may be registered in ISP domain 191, which may support authentication manager 192 for authenticating user 190 for the purpose of completing a transaction with domain 191. ISP domain 191 may be an Internet service provider (ISP) that provides Internet connection services, email services, and other possible e-commerce services. Alternatively, ISP domain 191 may be an Internet portal frequently accessed by user 190.

마찬가지로, 도메인(193, 195 및 197)은 일반적인 웹 서비스 제공자를 나타 낸다. 관리 도메인(193)은 다양한 관리 관련 트랜잭션을 이행하기 위하여 사용자를 인증하는 인증 매니저(194)를 지원한다. 뱅킹 도메인(195)은 온라인 뱅크와의 트랜잭션을 이행하기 위하여 사용자를 인증하는 인증 매니저(196)를 지원한다. 전자상거래(E-commerce) 도메인(197)은 온라인 구매를 이행하기 위하여 사용자를 인증하는 인증 매니저(198)를 지원한다.Similarly, domains 193, 195 and 197 represent generic web service providers. Management domain 193 supports authentication manager 194 for authenticating users to perform various management related transactions. The banking domain 195 supports an authentication manager 196 that authenticates a user to conduct a transaction with an online bank. E-commerce domain 197 supports authentication manager 198 for authenticating users to fulfill online purchases.

상술한 바와 같이, 사용자가 상이한 도메인에서 리소스를 액세스함으로써 인터넷 또는 월드 와이드 웹 내에서 하나의 도메인으로부터 다른 도메인으로 이동하려고 시도하면, 사용자는 다수의 사용자 인증 요청 또는 요구를 받을 수 있으며, 이것은 도메인 세트를 거치기 때문에 사용자의 진행을 상당히 느리게 할 수 있다. 예시적인 환경으로서 도 1e를 사용하면, 사용자(190)는 전자상거래 도메인(197)과의 복잡한 온라인 트랜잭션에 참여할 수 있고, 여기서 사용자는 적어도 18세 이상이고 유효한 면허증, 유효한 신용카드 및 U.S. 은행 계좌를 가진 사용자에게 제한되는 온라인 서비스를 구입하려고 시도한다. 이 온라인 트랜잭션은 도메인(191, 193, 195 및 197)을 필요로 할 수 있다.As mentioned above, if a user attempts to move from one domain to another within the Internet or the World Wide Web by accessing resources from different domains, the user may receive multiple user authentication requests or requests, which is a set of domains. This can slow down the user's progress considerably. Using FIG. 1E as an exemplary environment, user 190 may participate in a complex online transaction with e-commerce domain 197, where the user is at least 18 years old and has a valid license, a valid credit card, and a U.S. Attempt to purchase an online service that is restricted to users with bank accounts. This online transaction may require domains 191, 193, 195 and 197.

일반적으로, 사용자는 일반적인 온라인 트랜잭션에 참가한 각각의 도메인 내의 아이덴티티 및/또는 속성을 유지할 수 없다. 이 예에서, 사용자(190)는 사용자 ISP를 갖는 자신의 아이덴티티로 등록될 수 있지만, 온라인 트랜잭션을 완료하기 위하여, 사용자는 도메인(193, 195 및 197)에 대하여 인증하도록 요구될 수 있다. 도메인의 각각이 사용자에 대한 아이덴티티를 유지하지 않으면, 사용자의 온라인 트랜잭션은 실패할 수 있다. 사용자가 각각의 도메인에 의해 인증될 수 있다 하더 라도, 사용자의 트랜잭션을 완료하기 위하여 상이한 도메인이 서로 정보를 전달할 수 있다는 것이 보증되는 것은 아니다. 도 1e에 도시된 사용자(190)에 대하여, 종래에는 사용자(190)가 제1 웹 서버, 예를 들어, ISP(191)를 인증하는 것을 허용하고, 싱글-사인-온 목적으로, 인증 토큰을 도메인(193, 195 및 197) 등의 다른 웹 서비스 제공자에 전달하는 환경이 없다.In general, a user cannot maintain the identity and / or attributes within each domain that participated in a general online transaction. In this example, user 190 may be registered with his identity with a user ISP, but in order to complete an online transaction, the user may be required to authenticate to domains 193, 195, and 197. If each of the domains does not maintain an identity for the user, the user's online transaction may fail. Even if a user can be authenticated by each domain, it is not guaranteed that different domains can communicate with each other to complete a user's transaction. For user 190 shown in FIG. 1E, conventionally allows user 190 to authenticate a first web server, for example ISP 191, and, for single-sign-on purposes, authenticates an authentication token. There is no environment for delivering to other web service providers, such as domains 193, 195, and 197.

현재의 기술의 간략한 설명이 선행하면, 나머지 도면의 설명은 본 발명을 동작할 수 있는 연합 컴퓨터 환경에 관한 것이다. 본 발명의 바람직한 실시예를 상세히 설명하기 전에, 몇 가지 용어가 소개된다.Prior to the brief description of the present technology, the description of the remaining figures relates to a federated computer environment in which the present invention may be operated. Before describing the preferred embodiment of the present invention in detail, several terms are introduced.

용어Terms

"엔티티" 또는 "파티"라는 용어는 일반적으로 조직, 개인, 또는 다른 시스템을 대표하여 동작하는 조직, 개인 또는 시스템을 지칭한다. "도메인"이라는 용어는 네트워크 환경 내의 추가의 특성을 암시하지만, "엔티티", "파티" 및 "도메인"이라는 용어는 상호 교환적으로 사용될 수 있다. 예를 들어, "도메인"이라는 용어는 또한 DNS(Domain name System) 도메인 또는 더 일반적으로 외부 엔티티에 대한 논리적 유닛으로서 나타나는 다양한 장치 및 애플리케이션을 포함하는 데이터 프로세싱 시스템을 지칭할 수 있다.The term "entity" or "party" generally refers to an organization, person, or system that operates on behalf of an organization, person, or other system. The term "domain" implies additional characteristics within the network environment, but the terms "entity", "party" and "domain" may be used interchangeably. For example, the term "domain" may also refer to a data processing system that includes various devices and applications that appear as a logical unit for a Domain Name System (DNS) domain or more generally an external entity.

"요구" 또는 "응답"이라는 용어는 메시지, 통신 프로토콜 정보 또는 다른 관련된 정보 등의 특정 동작에 포함되는 정보의 전송을 위한 데이터 포맷팅을 포함하는 것으로 이해되어야 한다. 보호 리소스는 액세스가 제어 또는 제한되는 리소스(애플리케이션, 오브젝트, 서류, 페이지, 파일, 실행가능 코드, 다른 계산 리소스, 통신형 리소스 등)이다. The term "request" or "response" should be understood to include data formatting for the transmission of information included in a particular operation, such as a message, communication protocol information or other related information. Protected resources are resources (applications, objects, documents, pages, files, executable code, other computing resources, communication resources, etc.) whose access is controlled or restricted.

토큰은 성공적인 동작의 직접적인 증거를 제공하고, 예를 들어 성공적인 인증 동작 후에 생성된 인증 토큰과 같이, 동작을 수행한 엔티티에 의해 생성된다. 케르베로스(Kerberos) 토큰은 본 발명에서 사용될 수 있는 인증 토큰의 일 예이다. 케르베로스에 관한 더 많은 정보는 Kohl 등의 "The Kerberos Network Authentication service (V5)", Internet engineering Task Force (IETF) Request for comments (RFC) 1510, 09/1993에서 찾을 수 있다.The token provides direct evidence of a successful operation and is generated by the entity that performed the operation, for example, an authentication token generated after a successful authentication operation. The Kerberos token is an example of an authentication token that can be used in the present invention. More information about Cerberus can be found in Kohl et al., "The Kerberos Network Authentication service (V5)," Internet engineering Task Force (IETF) Request for comments (RFC) 1510, 09/1993.

어써션(assertion)은 임의의 액션에 대한 간접적인 증거이다. 어써션은 아이덴티티, 인증, 속성, 권한부여 결정 또는 다른 정보 및/또는 동작의 간접적인 증거를 제공할 수 있다. 인증 어써션은 인증 서비스는 아니지만 인증 서비스에 따른 엔티티에 의해 인증의 간접적인 증거를 제공한다.Assertions are indirect evidence of any action. An assertion can provide indirect evidence of identity, authentication, attributes, authorization decisions, or other information and / or actions. The authentication assertion is not an authentication service but provides indirect evidence of authentication by an entity according to the authentication service.

보안 어써션 마크업 랭귀지(SAML) 어써션은 본 발명에서 사용될 수 있는 가능한 어써션 포맷의 일예이다. SAML은 비영리 글로벌 컨소시엄인 OASIS(Organization for the Advancement of Structured Information Standards)에 의해 보급되어 왔다. SAML은 "Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML)", Committee Specification 01, 05/31/2002에 다음과 같이 기재되어 있다.Secure Assertion Markup Language (SAML) assertion is an example of a possible assertion format that can be used in the present invention. SAML has been disseminated by the Organization for the Advancement of Structured Information Standards (OASIS), a non-profit global consortium. SAML is described in "Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML)", Committee Specification 01, 05/31/2002, as follows.

SAML(Security Assertion Markup Language)는 보안 정보를 교환하는 XML 기반 프레임워크이다. 이 보안 정보는 서브젝트에 대한 어써션의 형태로 표현되며, 서브젝트는 임의의 보안 도메인 내에 아이덴티티를 갖는 엔티티(사람 또는 컴퓨터) 이다. 서브젝트의 일반적인 예는 특정 인터넷 DNS 도메인의 이메일 주소로 식별되는 사람이다. 어써션은 서브젝트에 의해 수행된 인증 액션, 서브젝트의 속성, 및 서브젝트가 소정의 리소스를 액세스하기 위하여 허용되는지에 대한 권한 부여 결정에 대한 정보를 전달할 수 있다. 어써션은 XML 구성으로서 표현되고 네스티드(nested) 구조를 가져, 하나의 어써션은 인증, 권한부여 및 속성에 대한 몇 개의 상이한 내부 스테이트먼트를 포함할 수 있다. 인증 스테이트먼트를 포함하는 어써션은 단순히 이전에 일어난 인증의 액션을 설명한다. 어써션은 SAML 기관, 즉, 인증 기관, 속성 기관 및 폴리시 결정 포인트에 의해 발행된다. SAML은, 클라이언트가 SAML 기관으로부터 어써션을 요구할 수 있고 그들로부터 응답을 얻는 프로토콜을 정의한다. XML 기반 요구 및 응답 메시지 포맷으로 이루어진 프로토콜은 상이한 많은 기초 통신 및 전송 프로토콜에 결합될 수 있으며, SAML은 현재 HTTP를 통해 SOAP에 결합된 것을 정의한다. SAML 기관은 그들의 응답을 생성하는 데 있어서, 요구의 입력으로서 수신된 어써션 및 외부 폴리시 축적 등의 정보의 다양한 소스를 사용할 수 있다. 따라서, 클라이언트는 항상 어써션을 소비하는 반면, SAML 기관은 어써션의 생산자와 소바자일 수 있다.Security Assertion Markup Language (SAML) is an XML-based framework for exchanging security information. This security information is represented in the form of an assertion for a subject, which is an entity (person or computer) with an identity in any security domain. A common example of a subject is a person identified by the email address of a particular Internet DNS domain. The assertion can convey information about authentication actions performed by the subject, attributes of the subject, and authorization decisions as to whether the subject is allowed to access a given resource. An assertion is represented as an XML construct and has a nested structure so that one assertion can contain several different internal statements for authentication, authorization, and attributes. An assertion containing an authentication statement simply describes the action of the authentication that occurred previously. Assertions are issued by the SAML authority, that is, the certification authority, attribute authority, and policy decision point. SAML defines the protocol by which a client can request an assertion from a SAML authority and get a response from them. The protocol, which consists of XML-based request and response message formats, can be coupled to many different underlying communication and transport protocols, and SAML currently defines what is coupled to SOAP over HTTP. In generating their responses, the SAML authority may use various sources of information, such as received assertions and external policy accumulation, as inputs to the request. Thus, the client always consumes the assertion, while the SAML authority can be the producer and soba of the assertion.

SAMP 사양은 어써션이 발행자에 의해 만들어진 하나 이상의 스테이트먼트를 공급하는 정보 패키지라는 것을 설명한다. SAML은 발행자가 상이한 3 종류의 어써션 스테이트먼트: 지정된 서브젝트가 특정 시간에 특정 수단에 의해 인증된 인증, 지정된 서브젝트가 지정된 리소스를 액세스하도록 허용하기 위한 요구가 부여되거나 부인되는 권한 부여, 지정된 서브젝트가 제공된 속성과 관련된 속성을 생성하도 록 한다. 후술하는 바와 같이, 다양한 어써션 포맷은 필요에 따라 다른 어써션 포맷으로 전환될 수 있다.The SAMP specification describes that an assertion is an information package that supplies one or more statements made by an issuer. SAML allows three different types of assertion statements to be issued by the issuer: an authentication in which the specified subject is authenticated by a certain means at a specific time, an authorization that is granted or denied to allow the specified subject to access the specified resource, or an attribute provided with the specified subject. Create a property related to. As described below, various assertion formats can be converted to other assertion formats as needed.

인증은 사용자를 대표하여 또는 사용자에 의해 제공되는 인증서 세트를 유효화하는 프로세스이다. 인증은 사용자가 아는 것, 사용자가 갖는 것, 사용자, 즉, 사용자에 대한 물리적 특성을 검증함으로써 달성된다. 사용자가 아는 것은 사용자의 패스워드와 같은 공유된 비밀 또는 사용자의 암호 키와 같은 특정 사용자에게만 알려진 것을 포함할 수 있다. 사용자가 갖는 것은 스마트카드 또는 하드웨어 토큰을 포함할 수 있다. 사용자에 대한 임의의 물리적 특성은 지문 또는 망막 지도 등의 생물학적 입력을 포함할 수 있다.Authentication is the process of validating the set of certificates provided on behalf of or by a user. Authentication is accomplished by verifying what the user knows, what the user has, the physical characteristics of the user, ie the user. Knowing a user may include what is only known to a particular user, such as a shared secret such as a user's password or a user's encryption key. What the user has may include a smart card or hardware token. Any physical characteristic for the user may include a biological input, such as a fingerprint or retinal map.

인증서는 다양한 인증 프로토콜에서 사용되는 신청/응답 정보 세트이다. 예를 들어, 사용자 이름 및 패스워드 조합은 인증서의 가장 잘 알려진 형태이다. 인증서의 다른 형태는 신청/응답 정보, 공중키 인프라스트럭쳐(PKI) 인증서, 스마트카드, 생물측정학 등의 다른 형태를 포함할 수 있다. 인증서는 인증 어써션과 차별된다. 즉, 인증서는 인증 서버 또는 서비스를 갖는 인증 프로토콜 시퀀스의 부분으로서 사용자에 의해 주어지며, 인증 어써션은 필요할 때 엔티티 간에 후속으로 전송되는 사용자의 인증서의 성공적인 제출과 유효화에 대한 스테이트먼트이다.A certificate is a set of application / response information used in various authentication protocols. For example, a username and password combination is the best known form of a certificate. Other forms of certificates may include other forms such as application / response information, public key infrastructure (PKI) certificates, smart cards, biometrics, and the like. Certificates are distinct from authentication assertions. That is, the certificate is given by the user as part of an authentication protocol sequence with an authentication server or service, and the authentication assertion is a statement for successful submission and validation of the user's certificate that is subsequently sent between entities as needed.

종래의 싱글-온-사인 Conventional single-on-sign 솔루션을Solution 구분 division

상술한 바와 같이, 종래의 싱글-사인-온 솔루션은 참가하는 기업 사이에서 미리 확립된 비즈니스 협정이 있는 동종 환경으로 제한된다. 이들 비즈니스 협정은 기업 간의 신뢰성있고 한정되고 안전한 정보 전달을 확립한다. 이들 비즈니스 협정 은 또한 한 기업으로부터 다른 기업으로의 사용자 아이덴티티를 전환하고 맵핑하는방법 및 참가한 기업 사이에서 사용자를 보증하는데 사용되는 정보를 전달하는 방법에 관한 규칙에 관한 기술적 협정을 포함한다.As mentioned above, conventional single-sign-on solutions are limited to homogeneous environments with pre-established business agreements between participating companies. These business agreements establish reliable, limited and secure information transfer between companies. These business agreements also include technical agreements on rules about how to transfer and map user identities from one company to another, and how to pass information used to endorse users between participating companies.

바꾸어 말하면, 이전의 싱글-사인-온 솔루션은 하나의 기업이 미리 협상된 또는 미리 구성된 협정에 기초하여 다른 기업에 의해 생성된 (어써션에 제공된 사용자의 아이덴티티와 함께) 인증 어써션을 믿도록 한다. 각각의 별개의 기업은 전자상거래 시장 내의 기업들과 같이 유사한 협정을 교환하는 다른 기업들에 의해 이해될 수 있는 인증 어써션을 생성하고 해석하는 방법을 안다. 이들 동종 환경은 긴밀히 결합되어 있다. 그 이유는 이들 시스템을 통해 사용자 아이덴티티를 맵핑하는 기업에 의해 알려진 결정론적인 관계가 있기 때문이다. 이 긴밀한 결합은 싱글-사인-온 환경을 확립하기 위해 사용되는 비즈니스 협정 때문에 가능하다.In other words, previous single-sign-on solutions allow one company to trust authentication assertions (along with the user's identity provided to the assertion) generated by another company based on pre-negotiated or preconfigured agreements. Each separate company knows how to create and interpret authentication assertions that can be understood by other companies that exchange similar agreements, such as those in the e-commerce market. These homogeneous environments are tightly coupled. This is because there is a deterministic relationship known by companies that map user identities through these systems. This tight coupling is possible because of the business agreement used to establish a single-sign-on environment.

본 발명의 바람직한 Preferred of the present invention 실시예의Example 연합 모델 Union model

월드 와이드 웹의 관점에서, 사용자는 각각의 특정한 도메인 사이의 정보 장벽에 대하여 하나의 인터넷 도메인 상의 애플리케이션과의 상호작용으로부터 다른 도메인 상의 다른 애플리케이션으로 점프하는 능력을 기대하고 있다. 사용자는 단일 트랜잭션에 대하여 다수의 도메인을 인증함으로써 발생되는 좌절을 원하지 않는다. 바꾸어 말하면, 사용자는 조직이 상호 작용하는 것을 기대하지만, 사용자는 그들의 프라이버시에 대하여 도메인을 원하지 않는다. 또한, 사용자는 개인 정보를 영구 저장하는 도메인을 제한하기를 원할 수 있다. 이러한 사용자 기대는, 많은 기업 및 조직이 인증 기술을 경쟁하는 급속히 진화하는 이종 환경에서 존재한다. In view of the world wide web, users expect the ability to jump from interaction with an application on one Internet domain to another application on another domain for the information barrier between each particular domain. The user does not want to be frustrated by authenticating multiple domains for a single transaction. In other words, the user expects the organization to interact, but the user does not want a domain for their privacy. In addition, the user may want to restrict the domains that permanently store personal information. These user expectations exist in a rapidly evolving heterogeneous environment in which many companies and organizations compete for authentication technology.

종래 시스템과 대조적으로, 본 발명은 바람직한 실시예에 따라, 기업이 싱글-사인-온 경험을 사용자에게 제공하도록 하는 연합 모델을 제공한다. 바꾸어 말하면, 본 발명은 바람직한 실시예에 따라 연합 이종 환경을 지원한다. 예로서, 도 1e를 다시 참조하면, 사용자(190)는 도메인(191)을 인증할 수 있고 도메인(191)이 트랜잭션에 필요로 할 수 있는 각각의 다운스트림 도메인에 적절한 어써션을 제공할 수 있도록 한다. 이들 다운스트림 도메인은, 도메인(191) 및 다른 다운스트림 도메인 사이에 미리 설정된 어써션이 없다 하더라도, 인증 어써션 및/또는 다른 유형의 어써션을 이해하고 믿을 필요가 있다. 어써션을 인식하는 것에 더하여, 미리 설정된 아이덴티티 맵핑 관계가 없더라도, 다운스트림 도메인은 어써션 내에 포함된 아이덴티티를 특정 도메인 내의 사용자(190)를 나타내는 아이덴티티로 전환할 필요가 있다. 본 발명은 다양한 유형의 도메인에 적용될 수 있고 예시적인 도메인으로서 도 1e에 나타낸 ISP형 도메인으로 한정되는 것은 아니다.In contrast to conventional systems, the present invention provides a federation model that allows an enterprise to provide a single-sign-on experience to a user, in accordance with a preferred embodiment. In other words, the present invention supports a federated heterogeneous environment in accordance with a preferred embodiment. For example, referring back to FIG. 1E, user 190 can authenticate domain 191 and enable domain 191 to provide appropriate assertions for each downstream domain that may be required for a transaction. . These downstream domains need to understand and trust authentication assertions and / or other types of assertions, even if there are no preset assertions between domain 191 and other downstream domains. In addition to recognizing assertions, even if there is no pre-set identity mapping relationship, the downstream domain needs to convert the identity contained within the assertion to an identity representing a user 190 in a particular domain. The present invention may be applied to various types of domains and is not limited to the ISP type domain shown in FIG. 1E as an exemplary domain.

본 발명은 연합 환경에 관한 것이다. 일반적으로, 기업은 자신의 사용자 레지스트리를 가지며 자신의 사용자 세트와의 관계를 유지한다. 각각의 기업은 일반적으로 이들 사용자를 인증하는 자신의 수단을 갖는다. 그러나, 본 발명의 바람직한 실시예의 연합 스킴은 한 기업 내의 사용자들이 기업의 연합 내의 기업의 참여를 통해 기업들 간의 관계에 영향을 줄 수 있도록 기업이 공동 방식으로 협동하도록 한다. 사용자는 각각의 기업과 직접 관계가 있는 것처럼 연합 기업 중의 하나에서 리소스에 액세스할 수 있다. 사용자에게는, 관심있는 각각의 기업에 등록하는 것이 요구되지 않고 사용자를 식별하고 인증하는 것이 항상 요구되는 것은 아니다. 그러므로, 이 연합 환경 내에서, 인증 스킴은 정보 기술에서 급격히 진화하는 이종 환경 내의 싱글-사인-온 경험을 허용한다.The present invention relates to a federated environment. In general, a company has its own user registry and maintains a relationship with its set of users. Each enterprise generally has its own means of authenticating these users. However, the federation scheme of the preferred embodiment of the present invention allows enterprises to collaborate in a collaborative manner so that users within an enterprise can influence relationships between the companies through their participation in the enterprise's federation. Users can access resources from one of their federated companies as if they had a direct relationship with each company. The user is not required to register with each enterprise of interest and is not always required to identify and authenticate the user. Therefore, within this federated environment, authentication schemes allow for a single-sign-on experience in heterogeneous environments that are rapidly evolving in information technology.

본 발명의 바람직한 실시예에서, 연합은 사용자에게 싱글-사인-온 및 사용이 편리한 경험을 제공하도록 협력하는 기업, 조직, 협회 등의 별개의 엔티티들의 집합이다. 본 발명의 바람직한 실시예에서, 연합 환경은 2개의 기업이 사용자에 대하여 어떤 정보를 어떻게 전달하는지를 정의하는 미리 확립된 직접적인 관계를 필요로 하지 않는다는 점에서 일반적인 싱글-사인-온 환경과 다르다. 연합 환경에서, 엔티티는, 인증 어써션, 예를 들어, 다른 엔티티에 의해 제시된 인증 토큰을 수락하고 보증된 사용자의 아이덴티티를 로컬 엔티티 내에서 이해할 수 있는 아이덴티티로의 전환을 제공하면서, 인증 사용자를 처리하는 서비스를 제공한다.In a preferred embodiment of the present invention, federation is a collection of discrete entities such as corporations, organizations, associations, etc. that cooperate to provide a single-sign-on and easy-to-use experience for the user. In a preferred embodiment of the present invention, the federated environment differs from a typical single-sign-on environment in that no two enterprises need a pre-established direct relationship that defines what information is delivered to the user. In a federated environment, an entity handles authentication users, accepting authentication assertions, for example, authentication tokens presented by other entities, and providing a transition to an identity that can be understood within a local entity by an authenticated user's identity. Provide service.

연합은 서비스 제공자에 대한 관리 부담은 완화한다. 서비스 제공자는 전체로서 연합에 대하여 신뢰성있는 관계를 의존할 수 있다. 서비스 제공자는 사용자 패스워드 정보와 같은 인증 정보를 관리할 필요가 없다. 그 이유는 사용자의 인증 홈 도메인/아이덴티티 제공자에 의해 달성되는 인증을 믿을 수 있기 때문이다.The coalition eases the administrative burden on service providers. The service provider can rely on a reliable relationship to the federation as a whole. The service provider does not need to manage authentication information such as user password information. This is because the authentication achieved by the user's authentication home domain / identity provider can be trusted.

본 발명은 바람직한 실시예에 따라 느슨히 결합된 인증, 사용자 응소(enrolment), 사용자 프로파일 관리 및/또는 권한부여 서비스가 보안 도메인을 통해 협력하는 기초를 확립하는 연합 아이덴티티 관리 시스템에 관한 것이다. 연합 아이덴티티 관리는, 이종의 도메인에서 기초 보안 메카니즘 및 오퍼레이팅 시스템에 있어서 차이점이 있다 하더라도, 이종의 보안 도메인에 상주하는 서비스들이 서로 동작하여 협력하도록 한다. 싱글-사인-온 경험은 사용자가 연합에 참여하면 확 립된다.The present invention is directed to a federated identity management system that establishes a basis for loosely coupled authentication, user enrolment, user profile management, and / or authorization services to collaborate across secure domains. Federated identity management allows services residing in heterogeneous security domains to operate and collaborate, even if there are differences in underlying security mechanisms and operating systems in heterogeneous domains. The single-sign-on experience is established when the user joins the federation.

홈 도메인 또는 Home domain or 아이덴티티identity 제공자 대 의존 도메인 또는 서비스 제공자 Provider to dependent domain or service provider

이하에서 상세히 설명하는 바와 같이, 본 발명은 사용자에게 상당한 이점을 제공한다. 본 발명은 바람직한 실시예에 따라 사용자가 제1엔티티(이하, 또한 사용자 홈 도메인, 사용자 인증 홈 도메인, 또는 사용자 아이덴티티 제공자라 한다)를 인증하도록 한다. 이 제1엔티티는 일반화된 서비스 제공자로서 간주될 수 있는 제2엔티티에서 사용되는 사용자에 대한 인증 어써션을 발행하는 발행 파티로서 동작할 수 있다. 사용자는, 그 후 제2엔티티, 즉, 서비스 제공자에서 명백히 재인증을 하지 않고 제1엔티티에 의해 발행된 인증 어써션을 제시함으로써 의존 파티라 불리우는 별개의 제2엔티티에서 보호 리소스를 액세스할 수 있다. 발행 파티로부터 의존 파티로 전달된 정보는 어써션의 형태이며 이 어써션은 스테이트먼트 형태의 다른 유형의 정보를 포함할 수 있다. 예를 들어, 어써션은 사용자의 인증된 아이덴티티에 대한 스테이트먼트일 수 있거나 특정한 사용자와 관련된 사용자 속성 정보에 대한 스테이트먼트일 수 있다.As will be described in detail below, the present invention provides the user with significant advantages. The present invention allows a user to authenticate a first entity (hereinafter also referred to as a user home domain, user authentication home domain, or user identity provider) in accordance with a preferred embodiment. This first entity can act as an issuing party that issues authentication assertions for users used at the second entity, which can be considered as generalized service providers. The user can then access the protected resource at a second entity, a separate second entity called a dependency party, by presenting an authentication assertion issued by the first entity without explicitly re-authenticating at the service provider. The information passed from the issuing party to the dependent party is in the form of an assertion, which may include other types of information in the form of statements. For example, an assertion can be a statement for a user's authenticated identity or a statement for user attribute information associated with a particular user.

도 2a는 응답으로 연합 환경 내의 다운스트림 엔티티에서 액션을 인보크하는 제1 연합 기업으로의 사용자에 의해 초기화되는 트랜잭션에 대하여 연합 환경의 용어를 나타내는 블록도이다. 도 2a는 용어가 주어진 연합 동작에 대한 연합 내에서 엔티티의 관점에 따라 다를 수 있다는 것을 나타낸다. 특히, 도 2a는 본 발명은 바람직한 실시예에 따라 트러스트(trust)의 이행성(transitivity) 및 인증 어써션 프로세스의 이행성을 지원하고 도메인이 다른 도메인에 의해 어써트됨에 따라 아이덴 티티의 트러스트에 기초하여 어써션을 발행할 수 있다는 것을 나타낸다. 사용자(202)는 기업(204)에서 보호 리소스에 대한 요구를 통해 트랜잭션을 개시한다. 사용자(202)가 기업(204)에 의해 인증되었거나 궁극적으로 트랜잭션 과정에서 기업(204)에 의해 인증될 것이면, 기업(204)은, 이 연합 세션 동안, 사용자 홈 도메인, 즉, 사용자 이이덴티티 제공자이다. 트랜잭션이 기업(206)에 의해 임의의 유형의 동작을 요구하고 기업(204)이 어써션을 기업(206)에 전달하는 것으로 가정하면, 기업(204)은 특정 동작에 대하여 발행 도메인이고 기업(206)은 그 동작에 대하여 의존 도메인이 된다. 바꾸어 말하면, 기업(206)은 현재의 트랜잭션에 대하여 서비스 제공자가 된다. 기업(206)이 어써션을 기업(208)에 전달하도록 트랜잭션이 다른 동작을 요구하면, 기업(206)은 요구된 동작에 대하여 발행 도메인이고 기업(208)은 그 동작에 대하여 의존 도메인이 된다. 이 경우, 연합 트랜잭션이 아이덴티티 제공자 및 서비스 제공자를 포함하는 2개의 도메인만을 포함하는 것으로 기재되어 있어도, 기업(208)은 다른 다운스트림 서비스 제공자로서 간주될 수 있다. 2A is a block diagram illustrating the terminology of a federated environment for a transaction initiated by a user to a first federated enterprise that invokes an action at a downstream entity in the federated environment in response. 2A indicates that the terminology may vary depending on the entity's perspective within the federation for a given federation operation. In particular, FIG. 2A illustrates that the present invention supports the transitivity of trust and the transitability of the authentication assertion process in accordance with a preferred embodiment and based on the trust of the identity as the domain is asserted by another domain. Indicates that an assertion can be issued. User 202 initiates a transaction with a request for a protected resource at enterprise 204. If user 202 is authenticated by enterprise 204 or will eventually be authenticated by enterprise 204 in the course of a transaction, enterprise 204 may, during this federation session, user home domain, i.e., a user identity provider. to be. Assuming a transaction requires any type of operation by enterprise 206 and enterprise 204 passes the assertion to enterprise 206, enterprise 204 is the issuing domain for the particular operation and enterprise 206 Becomes the dependency domain for that operation. In other words, enterprise 206 becomes a service provider for the current transaction. If the transaction requires another operation for the enterprise 206 to forward the assertion to the enterprise 208, the enterprise 206 is the issuing domain for the requested operation and the enterprise 208 is the dependent domain for that operation. In this case, even though the federated transaction is described as including only two domains including an identity provider and a service provider, the enterprise 208 can be considered as another downstream service provider.

바람직한 실시예의 연합 환경에서, 사용자가 인증하는 도메인은 사용자 (인증) 홈 도메인 또는 사용자 아이덴티티 제공자라 불리운다. 아이덴티티 제공자는 사용자의 고용인, 사용자의 ISP 또는 다른 임의의 상업적 엔티티에 의해 물리적으로 지원될 수 있는 인증서를 유지한다. 사용자의 인증서를 발생하고 유효화하는 능력을 갖는 다수의 기업이 있을 수 있기 때문에 사용자 홈 도메인으로 동작할 수 있는 연합 환경 내의 기업은 다수일 수 있지만, 연합 트랜잭션은 일반적으로 하나의 아이덴티티 제공자를 포함하는 것으로 기재될 수 있다.In the federated environment of the preferred embodiment, the domain to which the user authenticates is called the user (authentication) home domain or user identity provider. The identity provider maintains a certificate that can be physically supported by the user's employee, the user's ISP, or any other commercial entity. Since there may be many companies with the ability to generate and validate a user's certificate, there may be many companies in the federated environment that can act as user home domains, but federated transactions generally involve one identity provider. It may be described.

인증의 관점에서는, 인증 어써션에 대한 발행 파티는 일반적으로 사용자 아이덴티티 제공자, 즉, 사용자 인증 홈 도메인이다. 사용자 홈 도메인은 사용자에 대한 프로파일 정보 또는 개인 정보를 유지하거나 유지하지 않을 수 있다. 그러므로, 개인 식별가능 정보, 개별화 정보 또는 다른 사용자 속성을 포함하는 속성의 관점에서는, 속성 어써션에 대한 발행 파티는 사용자 홈 도메인이거나 아닐 수 있다. 임의의 혼동을 피하기 위하여, 속성 홈 도메인 및 인증 홈 도메인에 대하여 개별 용어가 채용될 수 있지만, 이하에서는 "홈 도메인"이라는 용어는 인증 홈 도메인으로 해석될 수 있다.In terms of authentication, the issuing party for the authentication assertion is generally the user identity provider, i.e., the user authentication home domain. The user home domain may or may not maintain profile information or personal information for the user. Therefore, in terms of attributes including personally identifiable information, personalization information, or other user attributes, the publishing party for the attribute assertion may or may not be the user home domain. To avoid any confusion, separate terms may be employed for the attribute home domain and the authentication home domain, but the term “home domain” may be interpreted hereinafter as the authentication home domain.

그러나, 주어진 연합 세션의 범위 내에서, 사용자 아이덴티티 제공자, 즉, 사용자 홈 도메인으로서 동작하는 하나의 도메인만이 있다. 일단 사용자가 이 도메인에서 인증되면, 그 세션 기간 동안, 연합 내의 모든 다른 도메인 또는 기업은 서비스 제공자, 즉, 의존 파티로서 취급된다. However, within the scope of a given federated session, there is only one domain that acts as a user identity provider, i. E. A user home domain. Once a user is authenticated in this domain, during that session, all other domains or enterprises in the federation are treated as service providers, i.e., dependent parties.

본 발명이 바람직하게 기존의 비연합 아키텍쳐에 대한 충돌을 최소화하면서 기존의 시스템에 부가될 수 있는 연합 인프라스트럭쳐를 제공하면, 홈 도메인이 연합 환경 내에 참여할 수 있다는 사실에 의해 사용자 홈 도메인에서의 인증이 반드시 변경되는 것은 아니다. 바꾸어 말하면, 홈 도메인이 본 발명의 바람직한 실시예에 따라 구현되는 연합 환경에 통합될지라도, 사용자는 사용자 홈 도메인에서 인증 동작을 수행하면서 동일한 최종 사용자 경험을 해야 한다. 주어진 기업의 사용자들의 전부가 연합 환경에 반드시 참여하는 것은 아니다.If the present invention preferably provides a federated infrastructure that can be added to an existing system while minimizing conflicts with existing non-federated architectures, authentication at the user's home domain can be avoided by the fact that the home domain can participate in the federated environment. It does not necessarily change. In other words, even if the home domain is integrated into a federated environment implemented in accordance with the preferred embodiment of the present invention, the user must have the same end user experience while performing authentication operations in the user home domain. Not all users of a given enterprise will necessarily participate in the federated environment.

또한, 사용자 등록, 예를 들어, 사용자 계정 확립은 홈 도메인이 연합 환경 에 참여할 수 있다는 사실에 의해 반드시 변경되는 것은 아니다. 예를 들어, 사용자가 여전히 연합 환경과 무관한 기존의 등록 프로세스 또는 레가시(legacy)를 통해 도메인에 계정을 확립할 수 있다. 바꾸어 말하면, 홈 도메인에서의 사용자 계정의 확립은 예를 들어 아이덴티티 변환 정보를 통해 연합에 걸쳐 유효한 계정 정보의 확립을 포함하거나 포함하지 않을 수 있다. 그러나, 사용자를 인증할 수 있는 단일 연합 도메인이 있으면, 즉, 사용자가 등록된 연합 내에 하나의 도메인이 있으면, 이 도메인은 연합 환경 내에서 사용자 트랜잭션을 지원하기 위하여 사용자 홈 도메인 또는 아이덴티티 제공자로 작용할 것으로 기대된다. In addition, user registration, eg, establishing a user account, is not necessarily changed by the fact that the home domain can participate in a federated environment. For example, a user can still establish an account in a domain through an existing registration process or legacy that is independent of the federated environment. In other words, the establishment of a user account in the home domain may or may not include the establishment of valid account information across the federation, for example through identity translation information. However, if there is a single federated domain that can authenticate users, that is, if a user is within a registered federation, that domain will act as a user home domain or identity provider to support user transactions within the federated environment. It is expected.

사용자가 연합 환경 내에 가능한 다수의 홈 도메인을 가지면, 사용자는 하나 이상의 엔트리 포인트를 통해 연합에 들어갈 수 있다. 바꾸어 말하면, 사용자는 사용자에 대한 아이덴티티 제공자로서 작용할 수 있는 다수의 도메인에서 계정을 가질 수 있으며, 이들 도메인은 다른 도메인에 대한 정보 또는 다른 도메인에서의 사용자 아이덴티티에 대한 정보를 반드시 갖는 것은 아니다.If a user has as many home domains as possible within the federated environment, the user can enter the federation through one or more entry points. In other words, a user may have an account in multiple domains that may act as an identity provider for the user, and these domains do not necessarily have information about other domains or information about user identities in other domains.

사용자가 인증한 도메인은 사용자 홈 도메인 또는 사용자 아이덴티티 도메인이라 불리우지만, 발행 도메인은 다른 도메인, 즉, 의존 도메인에 의해 사용되는 어써션을 발행하는 연합 엔티티이다. 발행 도메인은 통상, 반드시는 아니지만, 사용자 홈 도메인 또는 사용자 아이덴티티 제공자이다. 그러므로, 상술한 바와 같이 일반적인 인증 프로토콜을 통해 발행 파티가 사용자를 발행한 경우가 있을 수 있다. 그러나, 발행 파티는 이전에 의존 파티로 동작가능하기 때문에, 다른 발행 파티로부터 어써션을 수신한다. 바꾸어 말하면, 사용자 초기 트랜잭션은 연합 환경에 서 일련의 기업을 통해 단계적으로 행해지므로, 수신 파티는 후에 다운스트림 트랜잭션에 대한 발행 파티로서 작용할 수 있다. 일반적으로, 사용자를 대표하여 인증 어써션을 발행할 수 있는 능력을 가진 임의의 도메인은 발행 도메인으로서 동작할 수 있다.A user authenticated domain is called a user home domain or user identity domain, but an issuing domain is a federated entity that issues assertions used by other domains, that is, dependent domains. The issuing domain is typically, but not necessarily, a user home domain or a user identity provider. Therefore, there may be a case where the issuing party issues a user through a general authentication protocol as described above. However, since the issuing party is previously operable as a dependent party, it receives an assertion from another issuing party. In other words, since the user initial transaction is performed in stages through a series of enterprises in a federated environment, the receiving party can later act as an issuing party for downstream transactions. In general, any domain that has the ability to issue authentication assertions on behalf of a user can act as an issuing domain.

의존 도메인은 발행 파티로부터 어써션을 수신하는 도메인이다. 의존 파티는 사용자를 대표한 제3자, 즉, 발행 도메인에 의해 발행된 어써션을 수락하고 신뢰하고 이해할 수 있다. 적절한 인증 기관을 사용하여 인증 어써션을 해석하는 것이 의존 파티의 의무이다. 또한, 의존 파티는 특정 사용자를 인증, 즉, 사용자 홈 도메인 또는 아이덴티티 제공자로서 동작할 수 있지만, 의존 파티는 종래의 방법을 통해 특정 사용자를 인증하지 않을 수도 있다. 그러므로, 의존 파티는, 사용자에 의해 제시되고 사용자에게 사용자와의 쌍방향의 세션의 부분으로서 사용자의 인증서에 대하여 사용자를 촉구하는 대신 사용자에게 단일의 싱글-사인-온 경험을 제공하는 인증 어써션에 믿는 도메인 또는 기업이다.The dependency domain is the domain that receives the assertion from the publishing party. The relying party can accept, trust and understand assertions issued by the third party on behalf of the user, that is, the issuing domain. It is the duty of the dependent party to interpret the authentication assertion using the appropriate certification authority. In addition, the relying party may operate as a specific user, that is, as a user home domain or identity provider, but the relying party may not authenticate the specific user through conventional methods. Therefore, the relying party is a domain that is presented by the user and believes in an authentication assertion that provides the user with a single single-sign-on experience instead of prompting the user for the user's certificate as part of an interactive session with the user. Or enterprise.

연합 Union 아키텍쳐Architecture -- 레가시Legacy 시스템에 대한 연합 전단(front-end) Federation front-end to the system

도 2b는 주어진 도메인에서 본 발명의 실시예에 따른 본 발명의 연합 아키텍쳐 컴포넌트의 일부와 기존 시스템의 통합을 나타내는 블록도이다. 연합 환경은 사용자를 위한 다양한 서비스를 제공하는 연합 엔티티를 포함한다. 사용자(212)는 브라우저 애플리케이션(216)과 다양한 다른 클라이언트 애플리케이션(218)을 지원할 수 있는 클라이언트 장치(214)와 상호 작용한다. 사용자(212)는 클라이언트 장치(214), 브라우저(216) 또는 사용자와 다른 장치 및 서비스 사이의 인터페이스로 서 작용하는 임의의 다른 소프트웨어와 다르다. 임의의 경우, 다음의 설명은 클라이언트 애플리케이션에서 명시적으로 작용하는 사용자와 사용자를 대표하여 작용하는 클라이언트 애플리케이션을 구분할 수 있다. 일반적으로, 요구자는 클라이언트 기반 애플리케이션, 브라우저, SOAP 클라이언트 등의 사용자 대신에 작용될 수 있는 중개자이다.2B is a block diagram illustrating the integration of an existing system with a portion of the federated architecture component of the present invention in accordance with an embodiment of the present invention in a given domain. The federated environment includes federated entities that provide various services for users. User 212 interacts with client device 214, which may support browser application 216 and various other client applications 218. User 212 is different from client device 214, browser 216, or any other software that acts as an interface between the user and other devices and services. In any case, the following description may distinguish between a user who explicitly acts in the client application and a client application that acts on behalf of the user. In general, requestors are intermediaries that can act on behalf of users such as client-based applications, browsers, SOAP clients, and so on.

브라우저 애플리케이션(216)은 HTTP 통신 컴포넌트(220)와 마크업 언어(ML) 해석기(222) 등의 많은 모듈을 포함하는 이동 장치 상의 것을 포함하는 일반적인 브라우저일 수 있다. 브라우저 애플리케이션(216)은 또한 가상 머신 런타임 환경을 요구하거나 요구할 수 없는 다운로드가능한 애플릿(applet) 및/또는 웹 서비스 클라이언트(224) 등의 플러그인을 지원할 수 있다. 웹 서비스 클라이언트(224)는 분산된 분산 환경에서 구조화되고 분류된 정보의 교환을 정의하는 라이트웨이트 프로토콜인 SOAP(Simple Object Access Protocol)을 사용할 수 있다. SOAP은 3개의 부분을 포함하는 XML 기반 프로토콜이며, 이 3개의 부분은, 처리하는 방법 및 메시지 내에 무엇이 있는지를 설명하는 프레임워크를 정의하는 엔벨로프, 애플리케이션 정의 데이터 타입의 인스턴스를 표현하는 인코딩 규칙 세트 및 원격 절차 호 및 응답을 나타내는 협약(convention)을 포함한다. 사용자(212)는 브라우저 애플리케이션(216)을 이용하여 웹 기반 서비스를 액세스할 수 있지만, 사용자(212)는 또한 클라이언트 장치(214) 상의 다른 웹 서비스 클라이언트를 통해 웹 서비스를 액세스 할 수 있다. 다음의 도면에 도시된 본 발명의 예 중의 일부는 사용자 브라우저를 통한 HTTP 재전송(redirection)을 채용하여 연합 환경 내의 엔티티들 사이에서 정 보를 교환한다. 그러나, 본 발명은 다양한 통신 프로토콜을 통해 수행될 수 있으며 HTTP 기반 통신에 제한되는 것은 아니다. 예를 들어, 연합 환경 내의 엔티티들은 필요하면 직접 통신할 수 있고, 메시지가 사용자 브라우저를 통해 재전송되는 것이 요구되지 않는다. Browser application 216 may be a general browser, including one on a mobile device that includes many modules, such as HTTP communication component 220 and markup language (ML) interpreter 222. The browser application 216 may also support plug-ins such as downloadable applets and / or web service clients 224 that may or may not require a virtual machine runtime environment. The web service client 224 can use the Simple Object Access Protocol (SOAP), a lightweight protocol that defines the exchange of structured and classified information in a distributed, distributed environment. SOAP is an XML-based protocol that contains three parts, an envelope that defines a framework that describes how to process and what is in the message, a set of encoding rules that represent instances of application-defined data types, and Contains conventions representing remote procedure calls and responses. The user 212 can access the web based service using the browser application 216, but the user 212 can also access the web service through another web service client on the client device 214. Some of the examples of the invention shown in the following figures employ HTTP redirection through a user browser to exchange information between entities in the federated environment. However, the present invention may be carried out through various communication protocols and is not limited to HTTP-based communication. For example, entities in a federated environment can communicate directly if needed, and the message is not required to be resent via the user's browser.

본 발명은 연합 환경에 필요한 컴포넌트들이 기존의 시스템과 통합될 수 있는 방식으로 구현될 수 있다. 도 2b는 기존의 시스템에 대한 전단(front-end)으로서 이들 컴포넌트들을 구현하는 일 예를 나타낸다. 연합 도메인에서의 기존 컴포넌트들은, 도 2c에 도시된 것과 유사한 방식으로 인증 서비스 런타임(ASR) 서버(232)를 포함하는 후단(back-end) 프로세싱 컴포넌트(230) 또는 레가시 애플리케이션으로서 간주될 수 있다. ASR 서버(232)는, 도메인이 보호 리소스(235)를 생성, 검색, 지원 또는 처리하는 것으로 간주될 수 있는 애플리케이션 서버(234)로의 액세스를 제어할 때, 사용자를 인증하는데 책임이 있다. 도메인은 계속 레가시 사용자 등록 애플리케이션(236)을 사용하여 애플리케이션 서버(234)로의 액세스에 대하여 사용자를 등록한다. 등록된 사용자를 인증하는데 필요한 정보는 레가시 사용자 레지스트리(238)에 저장된다.The invention can be implemented in such a way that components required for a federated environment can be integrated with existing systems. 2B shows an example of implementing these components as a front-end to an existing system. Existing components in the federated domain may be considered as a back-end processing component 230 or legacy application that includes an authentication service runtime (ASR) server 232 in a manner similar to that shown in FIG. 2C. The ASR server 232 is responsible for authenticating the user when the domain controls access to the application server 234, which may be considered to create, retrieve, support, or process the protected resource 235. The domain continues to register the user for access to the application server 234 using the legacy user registration application 236. Information necessary to authenticate a registered user is stored in the legacy user registry 238.

연합 환경에 결합한 후에, 도메인은 연합 컴포넌트들의 중재없이 계속 동작할 수 있다. 바꾸어 말하면, 도메인은 사용자가 접점 서버 또는 다른 접점 서버 기능을 구현하는 다른 컴포넌트를 통하지 않고 직접 특정 애플리케이션 서버 또는 다른 보호 리소스를 계속 액세스할 수 있도록 구성되고, 이 방식으로 시스템에 액세스한 사용자는 일반적인 인증 흐름 및 일반적인 액세스를 경험하게 된다. 그러나, 이렇게 하면, 레가시 시스템에 직접 액세스한 사용자는 도메인의 접점 서버로 알려진 연합 세션을 확립할 수 없다.After joining the federated environment, the domain can continue to operate without the intervention of federated components. In other words, a domain is configured so that users can continue to access a particular application server or other protected resource directly without going through a contact server or other component that implements another touch server function, in which way users who access the system are typically authenticated. You will experience flow and general access. However, this does not allow a user who directly accesses a legacy system to establish a federated session known as a point of contact server in the domain.

도메인의 레가시 기능은, 연합 사용자 라이프사이클 관리 서버/서비스(246)와 함께, 접점 서버(242) 및 STS(Security Token Service)(245)와 상호 작용하는 트러스트 프록시 서버(244) (또는 간략히, 트러스트 프록시(244) 또는 트러스트 서비스(244))를 포함하는 연합 전단 프로세싱(240)을 통해 연합 환경에 통합될 수 있고, 이들 모두는 도 2c와 관련하여 나중에 상세히 설명된다. 연합 구성 애플리케이션(247)은 관리 사용자가 연합 전단 컴포넌트들을 구성하여 연합 전단 컴포넌트들이 연합 인터페이스(248)를 통해 레가시 후단 컴포넌트들과 상호 작용하도록 한다.The legacy functionality of the domain is, with the federated user lifecycle management server / service 246, a trust proxy server 244 (or, briefly, a trust) that interacts with the contact server 242 and the Security Token Service (STS) 245. It may be integrated into a federated environment via federated shear processing 240, including proxy 244 or trust service 244, all of which are described in detail later with respect to FIG. 2C. The federation configuration application 247 allows the administrative user to configure federated front end components so that federated front end components interact with legacy back end components via the federated interface 248.

주어진 기업의 레가시 또는 기존 인증 서비스는 사용자 이름/패스워드 또는 스마트 카드 토근 기반 정보 등의 다양한 공지의 인증 방법 또는 토큰을 사용할 수 있다. 그러나, 바람직한 실시예에서, 레가시 인증 서비스의 기능은 접점 서버의 사용을 통해 연합 환경에서 사용될 수 있다. 이 방식으로 시스템에 액세스한 사용자가 일반적인 인증 흐름 또는 일반적인 액세스를 경험하더라도, 사용자는 접점 서버를 통하지 않고 직접 레가시 인증 서버에 직접 액세스할 수 있고, 레가시 인증 시스템을 직접 액세스한 사용자는 바람직한 실시예에 따라 아이덴티티의 증거로서 연합 인증 어써션을 생성할 수 없다. 연합 전단의 역할 중의 하나는 접점 서버에서 수신된 연합 인증 토큰을 레가시 인증 서비스에 의해 이해되는 포맷으로 변환하는 것이다. 그러므로, 접점 서버를 통해 연합 환경에 액세스한 사용자는 레가시 인증 서비스에 반드시 재인증을 할 필요 없다. 바람직하게, 사용자가 인증 다이얼로그에 관여하는 것처럼 보여지도록 사용자는 접점 서버 또는 트러스트 프록시의 결합에 의해 레가시 인증 서비스에 인증될 수 있다.A given enterprise's legacy or existing authentication service may use various known authentication methods or tokens, such as username / password or smart card token based information. However, in a preferred embodiment, the functionality of the legacy authentication service can be used in a federated environment through the use of contact servers. Even if a user who accesses the system in this manner experiences a general authentication flow or general access, the user can directly access the legacy authentication server without going through the point-of-contact server, and the user who directly accesses the legacy authentication system is in a preferred embodiment. Therefore, federated authentication assertions cannot be generated as evidence of identity. One of the roles of the federation front end is to convert the federation authentication token received at the point of contact server into a format understood by the legacy authentication service. Therefore, a user who accesses the federated environment through the contact server does not necessarily need to reauthenticate to the legacy authentication service. Preferably, the user may be authenticated to the legacy authentication service by a combination of contact server or trust proxy so that the user appears to be involved in the authentication dialog.

연합 Union 아키텍쳐Architecture -접점 서버, 트러스트 프록시, 및 트러스트 브로커-Contact servers, trust proxies, and trust brokers

이제 도 2c를 참조하면, 도 2c는 본 발명의 구현에 따른 연합 아키텍쳐를 나타내는 블록도이다. 연합 환경은 사용자를 위한 다양한 서비스를 제공하는 연합 기업들 또는 유사한 엔티티들을 포함한다. 클라이언트 상의 애플리케이션을 통한 사용자는 기업(250) 등의 다양한 엔티티에서 리소스를 액세스하려고 시도할 수 있다. 기업(250)에서의 접점(POC; point-of-contact) 서버(252) 등의 각각의 연합 기업에서의 접점 서버는 연합 환경으로의 사용자 엔트리 포인트이다. 접점 서버는 연합 요구 사항 중의 다수를 처리하기 때문에, 접점 서버는 기존의 비연합 아키텍쳐, 예를 들어, 레가시 시스템 내의 기존 컴포넌트와의 충돌을 최소화한다. 접점 서버는 세션 관리 및 프로토콜 컨버전(conversion)을 제공하고 가능하면 인증 및/또는 속성 어써션 컨버전을 개시한다. 예를 들어, 접점 서버는 HTTP 또는 HTTPS 메시지를 SOAP로 변환하거나 그 반대일 수 있다. 이하에서 더 상세히 설명하는 바와 같이, 접점 서버는 또한 트러스트 프록시를 인보크하여 발행 파티로부터 수신된 어써션, 예를 들어, SAML 토큰을 수신 파티에 의해 이해될 수 있는 케르베로스 토큰으로 변환하는데 사용될 수 있다.Referring now to FIG. 2C, FIG. 2C is a block diagram illustrating a federated architecture in accordance with an implementation of the present invention. The federated environment includes federated companies or similar entities that provide various services for users. A user through an application on the client may attempt to access resources from various entities, such as enterprise 250. The point of contact server at each federated enterprise, such as point-of-contact server 252 at enterprise 250, is the user entry point to the federated environment. Because the contact server handles many of the federation requirements, the contact server minimizes conflicts with existing non-federated architectures, such as existing components in legacy systems. The contact server provides session management and protocol conversion and initiates authentication and / or attribute assertion conversion if possible. For example, the point-of-contact server may convert an HTTP or HTTPS message to SOAP or vice versa. As described in more detail below, the point-of-contact server can also be used to invoke a trust proxy to convert an assertion received from an issuing party, eg, a SAML token, into a Kerberos token that can be understood by the receiving party.

기업(250)의 트러스트 프록시(TP)(254) 등의 트러스트 프록시(트러스트 프록시 서버 또는 트러스트 서비스)는 연합에서 2개의 엔티티 사이에 트러스트 관계를 확립 유지한다. 트러스트 프록시는 일반적으로 (이하에서 상세히 설명될 보안 토큰 서비스를 통해) 발행 파티에 의해 사용되는 포맷으로부터 수신 파티에 의해 이해되는 포맷으로 전환된 인증 토큰 포맷을 처리하는 능력을 갖는다. A trust proxy (such as a trust proxy server or trust service), such as trust proxy (TP) 254 of enterprise 250, establishes and maintains a trust relationship between two entities in the federation. Trust proxies generally have the ability to process an authentication token format that has been converted from a format used by the issuing party (via a security token service, which will be described in detail below) to a format understood by the receiving party.

접점 서버 및 트러스트 프록시의 사용은 기존의 비연합 시스템의 세트 상의 연합 아키텍쳐를 구현하는데 있어서의 충돌을 최소화한다. 그러므로, 바람직한 실시예의 연합 아키텍쳐는, 엔티티가 기업, 도메인 또는 다른 논리적 또는 물리적 엔티티이건 간에, 연합 엔티티마다 하나 이상의 접점 서버와 하나 이상의 트러스트 프록시의 구현을 요구한다. 바람직한 실시예의 연합 아키텍쳐는 기존 비연합 시스템 세트로의 이의의 변경을 반드시 필요로 하는 것은 아니다. 바람직하게, 이용가능한 다수의 트러스트 프록시가 있거나 연합 엔티티 내에 다양한 더 작은 엔티티에 대한 다수 트러스트 프록시, 예를 들어, 기업 내의 개별 부가물들이 있더라도, 주어진 연합 엔티티에 대하여 단일 트러스트 프록시가 존재한다. 단일 트러스트 프록시가 다수의 연합 내에서 트러스트 관계를 관리함에 따라 이 시나리오가 다수의 트러스트 프록시를 반드시 필요로 하지 않더라도, 주어진 엔티티는 하나 이상의 연합에 속할 수 있다.The use of a point-of-contact server and trust proxy minimizes the conflict in implementing a federated architecture on a set of existing non-federated systems. Therefore, the federated architecture of the preferred embodiment requires the implementation of one or more contact servers and one or more trust proxies per federated entity, whether the entity is an enterprise, domain or other logical or physical entity. The federated architecture of the preferred embodiment does not necessarily require a change of objection to an existing set of non-federated systems. Preferably, there is a single trust proxy for a given federated entity, even if there are multiple trust proxies available or there are multiple trust proxies for the various smaller entities within the federated entity, eg, individual additions within the enterprise. As a single trust proxy manages trust relationships within multiple federations, a given entity may belong to more than one federation, although this scenario does not necessarily require multiple trust proxies.

트러스트 프록시의 역할 중의 하나는 다른 도메인에 의해 요구된 토큰 유형 및/또는 그 도메인 내의 트러스트 프록시를 판정하는 것이다. 트러스트 프록시는 발행 파티에 의해 사용된 포맷으로부터 수신 파티에 의해 이해될 수 있는 포맷으로의 인증 토큰 포맷 전환을 처리하는 능력 및 책임을 맡고 있다. 트러스트 프록시(254)는 또한 기업(250)에 대하여 발생된 속성 전환 또는 임의의 사용자 아이덴티티 전환에 대한 책임을 맡고 있다. 또한, 트러스트 프록시는 사용자의 실세계 아 이덴티티에 대한 임의의 추가 정보를 제공하지 않고 사용자를 고유하게 식별하는 사용자 아이덴티티의 대표로서 별명의 구현을 지원할 수 있다. 또한, 트러스트 프록시는 접점 서버에 의해 사용되는 권한 부여 및/또는 세션 인증서를 발행할 수 있다. 그러나, 트러스트 프록시는 후술하는 바와 같이 어시스턴스를 위한 트러스트 브로커를 인보크할 수 있다. 아이덴티티 전환은 발행 파티에 알려진 사용자 아이덴티티 및 속성을 수신 파티에 의미있는 것으로 맵핑하는데 요구될 수 있다. 이 전환은 수신 도메인의 트러스트 프록시 또는 발행 도메인의 트러스트 프록시 또는 그 둘다에 의해 인보크될 수 있다.One of the roles of the trust proxy is to determine the token type required by the other domain and / or the trust proxy within that domain. The trust proxy is responsible for the ability and responsibility to handle the conversion of the authentication token format from the format used by the issuing party to a format that can be understood by the receiving party. Trust proxy 254 is also responsible for attribute conversions or any user identity conversions that have occurred for enterprise 250. In addition, trust proxies may support the implementation of aliases as representatives of user identities that uniquely identify the user without providing any additional information about the user's real world identity. In addition, the trust proxy may issue the authorization and / or session certificate used by the contact server. However, the trust proxy can invoke a trust broker for assistance as described below. Identity transitions may be required to map user identities and attributes known to the issuing party to something meaningful to the receiving party. This switch can be invoked by a trust proxy in the receiving domain or a trust proxy in the issuing domain or both.

트러스트 프록시(254)는 보안 토큰 서비스(STS) 컴포넌트(255)로서 도시된 내부화된 컴포넌트를 포함(또는 내부화된 컴포넌트와 상호 작용)하며, 보안 토큰 서비스 컴포넌트(255)는 토큰 전환을 제공하고 인증 서비스 런타임(ASR)(256)을 인보크하여 토큰을 유효화 및 발생할 것이다. 보안 토큰 서비스는 아이덴티티 전환을 포함할 수 있는 트러스트 프록시에 의해 요구된 토큰 발행 및 유효 서비스를 제공한다. 그러므로, 보안 토큰 서비스는 기존의 인증 서비스 런타임으로의 인터페이스를 포함하거나 인증 서비스 런타임을 서비스 자체로 병합한다. 트러스트 프록시 내에 내부화되기 보다는, 보안 토큰 서비스 컴포넌트는 또한 예를 들어 트러스트 프록시에 의해 인보크될 독립형 컴포넌트로서 구현되거나 예를 들어 애플리케이션 서버의 부분으로서 트랜잭션 서버 내에 내부화될 수 있다. Trust proxy 254 includes (or interacts with an internalized component) shown as a security token service (STS) component 255, which provides a token conversion and authentication service. Invoke runtime (ASR) 256 to validate and generate the token. The security token service provides the token issuance and validity services required by the trust proxy, which may include identity transitions. Thus, the security token service includes an interface to an existing authentication service runtime or merges the authentication service runtime into the service itself. Rather than being internalized in the trust proxy, the security token service component may also be implemented as a standalone component to be invoked by the trust proxy, for example, or internalized in a transaction server, for example as part of an application server.

예를 들어, STS 컴포넌트는 케르베로스 토큰을 발행하라는 요구를 수신할 수 있다. 토큰이 생성되는 사용자의 인증 정보의 부분으로서, 요구는 사용자 이름 및 패스워드를 포함하는 바이너리 토큰을 포함할 수 있다. STS 컴포넌트는 예를 들어 LDAP 런타임(일반적인 인증)에 대하여 사용자 이름 및 패스워드를 유효화하고 케르베로스 KDC (Key Distribution Center)를 인보크하여 사용자에 대한 케르베로스 티켓을 발생시킨다. 이 토큰은 기업 내에 사용되는 트러스트 프록시로 반환되지만, 이 사용은 연합 내의 또 다른 도메인으로의 전달을 위한 토큰의 외부화를 포함할 수 있다.For example, the STS component may receive a request to issue a Cerberus token. As part of the authentication information of the user for whom the token is generated, the request may include a binary token that includes the username and password. The STS component, for example, validates the username and password against the LDAP runtime (general authentication) and invokes the Kerberos Key Distribution Center (KDC) to generate Kerberos tickets for the user. This token is returned to the trust proxy used within the enterprise, but this use may include externalization of the token for delivery to another domain in the federation.

도 1d를 참조하여 설명한 것과 유사한 방식으로, 사용자는 기업(250) 및 기업(260) 등의 연합 환경 내의 다수 기업에서 리소스를 액세스하기를 원할 수 있다. 기업(250)에 대하여 상술한 것과 유사한 방식으로, 기업(260)은 접점 서버(262), 트러스트 프록시(264), 보안 토큰 서비스(265) 및 인증 서비스 런타임(266)을 포함한다. 사용자가 직접 각각의 기업과의 개별 트랜잭션을 개시할 수 있어도, 사용자는 연합 환경을 통해 종속적으로 접속하는 기업(250)과의 트랜잭션을 개시할 수 있다. 사용자가 트랜잭션을 개시했을 때 사용자가 이 필요성을 인식하지 않더라도, 기업(250)은 기업(260) 등의 연합 환경 내의 다른 다수의 기업과의 협동을 요구하여 특정 트랜잭션을 완료할 수 있다. 기업(260)은 다운스트림 도메인으로서 포함되고, 본 발명은 바람직한 실시예에 따라 사용자의 트랜잭션을 위하여 필요하면 기업(250)이 연합 어써션을 기업(260)에 부여하도록 한다.In a manner similar to that described with reference to FIG. 1D, a user may want to access resources from multiple companies within a federated environment, such as enterprise 250 and enterprise 260. In a manner similar to that described above for enterprise 250, enterprise 260 includes contact server 262, trust proxy 264, security token service 265, and authentication service runtime 266. Although a user may initiate a separate transaction with each enterprise directly, the user may initiate a transaction with a corporation 250 that has cascaded connections through the federated environment. Even if the user is not aware of this need when the user initiates a transaction, the enterprise 250 may require cooperation with a number of other companies in a federated environment, such as the enterprise 260, to complete a particular transaction. Enterprise 260 is included as a downstream domain, and the present invention allows enterprise 250 to grant federated assertions to enterprise 260 as needed for a user's transaction, according to a preferred embodiment.

관련된 접점 서버에 의해 수신된 인증 토큰을 해석하는 방법 및/또는 주어진 사용자 아이덴티티 및 속성을 전환하는 방법을 트러스트 프록시가 모르는 경우가 있을 수 있다. 이 경우, 트러스트 프록시는 트러스트 브로커(268) 등의 트러스트 브로커 컴포넌트에서 기능성을 인보크하도록 선택할 수 있다. 트러스트 브로커는 개별 트러스트 프록시와의 관계를 유지하여 트러스트 프록시 간의 이행(transitive) 트러스트를 제공한다. 트러스트 브로커를 사용하는 것은 연합 환경 내의 각각의 도메인과의 다수의 개별 트러스트 관계가 확립되기보다는 기업(250 및 260) 등의 연합 환경 내의 각각의 엔티티가 트러스트 브로커와 트러스트 관계를 확립하도록 한다. 예를 들어, 기업(260)이 기업(250)의 사용자에 의해 개시된 트랜잭션에 대한 다운스트림 도메인으로서 포함되면, 기업(250)의 트러스트 프록시(254)는, 필요하면 기업(260)의 트러스트 프록시(264)가 트러스트 브로커(260)에서 어시스턴스를 인보크함으로써 트러스트 프록시(254)로부터의 어써션을 이해할 수 있다는 것을 확신할 수 있다. 도 2c가 단일 트러스트 브로커를 갖는 연합 환경을 나타내지만, 연합 환경은 다수의 트러스트 브로커를 포함할 수 있다.It may be the case that the trust proxy does not know how to interpret the authentication token received by the associated contact server and / or how to switch the given user identity and attributes. In this case, the trust proxy may choose to invoke functionality in a trust broker component such as trust broker 268. Trust brokers maintain relationships with individual trust proxies to provide transitive trust between trust proxies. Using a trust broker allows each entity in a federated environment, such as enterprise 250 and 260, to establish a trust relationship with the trust broker, rather than establishing multiple individual trust relationships with each domain in the federated environment. For example, if enterprise 260 is included as a downstream domain for a transaction initiated by a user of enterprise 250, trust proxy 254 of enterprise 250 may, if necessary, trust proxy of enterprise 260 ( It can be assured that 264 can understand the assertion from trust proxy 254 by invoking the assistance at trust broker 260. Although FIG. 2C illustrates a federated environment with a single trust broker, the federated environment may include multiple trust brokers.

도 2c는 접점 서버(252), 트러스트 프록시(254), 보안 토큰 서비스 컴포넌트(255) 및 인증 서비스 런타임(256)을 개별 엔티티로서 나타내지만, 이들 컴포넌트는 반드시 개별 장치상에서 구현될 필요 없다. 예를 들어, 이들 개별 컴포넌트들의 기능성이 단일 애플리케이션에 결합되거나 단일 물리적 장치상의 애플리케이션으로서 구현될 수 있다. 또한, 도 2c는 단일 접점 서버, 단일 트러스트 프록시 및 기업용 단일 보안 토큰 서버를 나타내지만, 다른 구성은 다수의 접점 서버, 다수의 트러스트 프록시 및 각 기업용 다수의 보안 토큰 서버를 포함할 수 있다. 접점 서버, 트러스트 프록시, 보안 토큰 서비스 및 다른 연합 엔티티는 소프트웨어 애플리케이션, 오브젝트, 모듈, 소프트웨어 라이브러리 등의 다양한 형태로 구현될 수 있 다.2C shows the contact server 252, trust proxy 254, security token service component 255, and authentication service runtime 256 as separate entities, these components need not necessarily be implemented on separate devices. For example, the functionality of these individual components can be combined into a single application or implemented as an application on a single physical device. In addition, although FIG. 2C shows a single point of contact server, a single trust proxy and a single security token server for an enterprise, other configurations may include multiple point of contact servers, multiple trust proxies, and multiple security token servers for each enterprise. Point-of-contact servers, trust proxies, security token services, and other federated entities may be implemented in various forms, such as software applications, objects, modules, software libraries, and the like.

트러스트 프록시/STS는 사용자 이름 패스워드 조합 및 케르베로스 티켓 등의 전통적인 인증서를 포함하는 많은 상이한 인증서 및 제3자에 의해 생성된 인증 토큰을 포함하는 연합 인증 토큰 포맷을 수락하고 유효화할 수 있다. 트러스트 프록시/STS는 인증의 증명으로서 인증 토큰의 수락을 허용할 수 있다. 인증 토큰은 발행 파티에 의해 생성되고 사용자가 그 발행 파티에 이미 인증되었다는 것을 나타내는데 사용된다. 발행 파티는 사용자의 인증된 아이덴티티를 어써션하는 수단으로서 인증 토큰을 생성한다. 트러스트 프록시/STS는 또한 통신 세션 또는 대화를 확보하는데 사용되는 속성 토큰 또는 토큰, 예를 들어 SSL 세션 식별자와 유사한 방식으로 세션 정보를 관리하는데 사용되는 토큰을 처리할 수 있다.The trust proxy / STS can accept and validate a federated authentication token format that includes many different certificates and authentication tokens generated by third parties, including traditional credentials such as username password combinations and Kerberos tickets. The trust proxy / STS may allow acceptance of an authentication token as proof of authentication. The authentication token is generated by the issuing party and used to indicate that the user has already been authenticated to that issuing party. The issuing party generates an authentication token as a means of asserting the user's authenticated identity. The trust proxy / STS may also process attribute tokens or tokens used to secure communication sessions or conversations, such as tokens used to manage session information in a manner similar to SSL session identifiers.

보안 토큰 서비스는 필요에 따라 인증 서비스 런타임을 인보크한다. 인증 서비스 런타임은 사용자를 인증할 수 있는 인증 서비스를 지원한다. 인증 서비스는 인증 응답을 통해 성공 또는 실패한 인증 시도의 표시를 제공하는 인증 기관으로서의 역할을 한다. 트러스트 프록시/STS는 인증 서비스, 예를 들어, 기존의 레가시 인프라스트력쳐와 상호작용할 필요 없는 새로운 웹 서비스가 있다는 시나리오를 내부화할 수 있다. 그렇지 않으면, STS 컴포넌트는 인증 토큰의 유효화를 위한 외부 인증 서비스를 인보크할 것이다. 예를 들어, STS 컴포넌트는 사용자 이름/패스워드를 포함하는 바이너리 토큰을 "언팩(unpack)"할 수 있고 LDAP 서비스를 사용하여 사용자 레지스트리를 액세스하여 부여된 인증서를 유효화한다.The security token service invokes the authentication service runtime as needed. The authentication service runtime supports an authentication service that can authenticate a user. The authentication service serves as a certification authority that provides an indication of successful or failed authentication attempts through an authentication response. Trust Proxy / STS can internalize the scenario that there is a new Web service that does not need to interact with authentication services, such as an existing legacy infrastructure. Otherwise, the STS component will invoke an external authentication service for validating the authentication token. For example, an STS component can "unpack" a binary token containing a username / password and use an LDAP service to access the user registry to validate the certificate granted.

애플리케이션 서버 등의 다른 컴포넌트에 의해 사용될 때, STS 컴포넌트는 레가시 인증 시스템에 대한 싱글-사인-온에 필요한 토큰을 생성하는데 사용될 수 있다. 그러므로, STS 컴포넌트는 내부 목적용, 즉, 기업 내 및 외부 목적용, 즉, 연합의 기업 간 토큰 전환을 위해 사용될 수 있다. 내부 목적용의 예로서, 웹 애플리케이션 서버는 IBM CICS(Customer Information Control System) 트랜잭션 게이트웨이를 통해 메인프레임으로 인터페이스할 수 있고, CICS는 미션-크리티컬(mission-critical) 애플리케이션을 위한 접속 및 기업 레벨 온라인 트랜잭션 관리를 제공하는 애플리케이션 서버 및 커넥터의 패밀리이다. 웹 애플리케이션 서버는 STS 컴포넌트를 인보크하여 (웹 애플리케이션 서버에 의해 내부적으로 사용되는) 케르베로스 티켓을 CICS 트랜잭션 게이트웨이에 의해 요구된 IBM RACF

Figure 112007001582681-pct00001
패스티켓으로 전환할 수 있다. When used by other components, such as an application server, the STS component can be used to generate the tokens required for single-sign-on to the legacy authentication system. Therefore, the STS component can be used for internal purposes, i.e. for internal and external purposes, i.e. for the conversion of tokens between companies in the federation. As an example for internal purposes, the web application server can interface to the mainframe through the IBM Customer Information Control System (CICS) transaction gateway, which provides access and enterprise-level online transactions for mission-critical applications. A family of application servers and connectors that provide management. The web application server invokes the STS component to issue a Kerberos ticket (used internally by the web application server) to the IBM RACF requested by the CICS transaction gateway.
Figure 112007001582681-pct00001
You can convert to a pass ticket.

도 2c에 도시된 엔티티는 위에서 소개된 용어, 예를 들어 "발행 파티", "의존 파티" 또는 "아이덴티티 제공자" 및 "서비스 제공자"를 사용하여 설명할 수 있다. 트러스트 관계를 확립하고 관리하는 부분으로서, 아이덴티티 제공자의 트러스트 프록시는 서비스 제공자의 트러스트 프록시에 의해 요구되고 수락된 토큰 유형이 무엇인지를 결정할 수 있다. 그러므로, 트러스트 프록시는 보안 토큰 서비스로부터 토큰 서비스를 인보크할 때 이 정보를 이용한다. 아이덴티티 제공자의 트러스트 프록시가 서비스 제공자에 대한 인증 어써션을 생성하도록 요구되면, 트러스트 프록시는 요구된 토큰 유형을 결정하고 보안 토큰 서비스로부터 적절한 토큰을 요구한다.The entity shown in FIG. 2C may be described using the terms introduced above, eg, "Issuing Party", "Depending Party" or "Identity Provider" and "Service Provider". As part of establishing and managing a trust relationship, an identity provider's trust proxy can determine what token types are required and accepted by the service provider's trust proxy. Therefore, the trust proxy uses this information when invoking the token service from the security token service. If an identity provider's trust proxy is required to generate an authentication assertion for the service provider, the trust proxy determines the required token type and requests the appropriate token from the security token service.

서비스 제공자의 트러스트 프록시가 아이덴티티 제공자로부터 인증 어써션을 수신하면, 트러스트 프록시는 서비스 제공자 내에 내부적으로 사용될 필요가 있는 어써션의 유형 및 기대되는 어써션의 유형을 안다. 그러므로, 서비스 제공자의 트러스트 프록시는 보안 토큰 서비스가 수신된 인증 어써션 내의 토큰에 기초하여 요구된 내부 사용 토큰을 생성하는 것을 요구한다.When a service proxy's trust proxy receives an authentication assertion from an identity provider, the trust proxy knows the type of assertion that needs to be used internally within the service provider and the type of expected assertion. Therefore, the service proxy's trust proxy requires the security token service to generate the required internal use token based on the token in the received authentication assertion.

트러스트 프록시 및 트러스트 브로커가 아이덴티티 제공자로부터 수신된 어써션을 서비스 제공자에 의해 이해될 수 있는 포맷으로 전환하는 능력을 갖는다. 트러스트 브로커는 직접적인 트러스트 관계가 있는 트러스트 프록시의 각각에 대한 어써션 포맷(또는 포맷)을 해석하는 능력을 가짐으로써, 트러스트 브로커가 아이덴티티 제공자와 서비스 제공자 사이에 어써션 전환을 제공하도록 한다. 이 전환은 그 로컬 트러스트 프록시를 통해 어느 하나의 파티에 의해 요구될 수 있다. 그러므로, 아이덴티티 제공자의 트러스트 프록시는 서비스 제공자에게 전송되기 전에 어써션의 전환을 요구할 수 있다. 마찬가지로, 서비스 제공자의 트러스트 프록시는 아이덴티티 제공자로부터 수신된 어써션의 전환을 요구할 수 있다.The trust proxy and trust broker have the ability to convert assertions received from the identity provider into a format that can be understood by the service provider. The trust broker has the ability to interpret the assertion format (or format) for each of the trust proxies that have a direct trust relationship, allowing the trust broker to provide assertion transitions between the identity provider and the service provider. This switch can be requested by either party through its local trust proxy. Therefore, the identity proxy's trust proxy may require the conversion of the assertion before being sent to the service provider. Similarly, the trust proxy of the service provider may require the switching of assertions received from the identity provider.

어써션 전환은 사용자 아이덴티티 전환, 인증 어써션 전환, 속성 어써션 전환, 또는 다른 유형의 어써션 전환을 포함한다. 상기 포인트를 반복하면, 어써션 전환은 연합 내의 트러스트 컴포넌트들, 즉, 트러스트 프록시 및 트러스트 브로커에 의해 처리된다. 트러스트 프록시는 아이덴티티 제공자 또는 서비스 제공자에서 국부적으로 전환을 수행하거나 트러스트 프록시는 트러스트 브로커로부터 어시스턴스를 인보크할 수 있다.Assertion transitions include user identity transitions, authentication assertion transitions, attribute assertion transitions, or other types of assertion transitions. Repeating this point, assertion switching is handled by trust components in the federation, namely, trust proxies and trust brokers. The trust proxy may perform a local switch at the identity provider or service provider or the trust proxy may invoke the assistance from the trust broker.

아이덴티티 제공자 및 서비스 제공자가 이미 트러스트 브로커와 개별 트러스 트 관계를 갖는 것으로 가정하면, 트러스트 브로커는 필요하면 동적으로 발행 파티와 의존 파티 사이에 새로운 트러스트 관계를 생성, 즉, 중개한다. 트러스트 브로커에 의해 제공된 초기 트러스트 관계 중개 동작 후에, 아이덴티티 제공자 및 서비스 제공자는 직접 관계를 관리하여 트러스트 브로커가 미래의 전환 요구에 인보크될 필요없도록 할 수 있다. 인증 토큰의 전환은 3개의 가능한 장소, 즉, 아이덴티티 제공자의 트러스트 프록시, 서비스 제공자의 트러스트 프록시 및 트러스트 브로커에서 발생할 수 있다. 바람직하게, 아이덴티티 제공자의 트러스트 프록시는 트러스트 브로커에 의해 이해될 수 있는 인증 어써션을 발생하여 서비스 제공자에게 전송한다. 서비스 제공자는 트러스트 브로커로부터의 이 토큰을 서비스 제공자에 의해 인식될 수 있는 포맷으로 전환할 것을 요구한다. 토큰 전환은 전송전, 전송후 또는 인증 어써션의 전송 전후에 발생할 수 있다.Assuming that the identity provider and service provider already have a separate trust relationship with the trust broker, the trust broker dynamically creates, i.e., brokers, a new trust relationship between the issuing party and the dependent party as needed. After the initial trust relationship mediation operation provided by the trust broker, the identity provider and service provider may manage the relationship directly so that the trust broker does not need to be invoked for future switch requests. The conversion of the authentication token can occur at three possible places: the trust proxy of the identity provider, the trust proxy of the service provider, and the trust broker. Preferably, the trust proxy of the identity provider generates an authentication assertion that can be understood by the trust broker and sends it to the service provider. The service provider requires converting this token from the trust broker into a format that can be recognized by the service provider. Token conversion can occur before, after or before or after the transmission of the authentication assertion.

연합 Union 아키텍쳐Architecture 내의 트러스트 관계 Trust relationships within

본 발명의 바람직한 실시예에 따라 구현되는 연합 환경 내에, 관리되어야 하는 2가지 유형의 "트러스트 도메인", 즉, 기업 트러스트 도메인 및 연합 트러스트 도메인이 존재한다. 이들 2가지 유형의 트러스트 도메인 간의 차이점은 부분적으로 트러스트 도메인과의 트러스트 관계를 관리하는 비즈니스 협정 및 트러스트를 확립하기 위하여 사용되는 기술에 기초한다. 기업 트러스트 도메인은 기업에 의해 관리되는 컴포넌트들을 포함하며 트러스트 도메인 내의 모든 컴포넌트들은 서로 신뢰한다. 일반적으로, 기업 내에 트러스트를 확립하는데 비즈니스 협정은 요구되지 않는다. 그 이유는 배치된 기술은 예를 들어 컴포넌트들 간의 상호 인증된 SSL 세션을 요구함으로써 또는 물리적 제어 및 프록시미티가 무조건적인 트러스트를 나타내도록 단단히 제어된 단일의 데이터 센터 내에 컴포넌트들을 배치함으로써 기업 내에 고유의 트러스트를 생성하기 때문이다. 도 2b를 참조하면, 레가시 애플리케이션 및 후단 프로세싱 시스템은 기업 트러스트 도메인을 나타낼 수 있고, 그 내에서 컴포먼트들은 안전한 내부 네트워크상에서 통신할 수 있다.Within the federated environment implemented in accordance with the preferred embodiment of the present invention, there are two types of "trust domains" that should be managed, namely corporate trust domains and federated trust domains. The difference between these two types of trust domains is based, in part, on the technology used to establish trusts and business agreements that govern trust relationships with the trust domains. An enterprise trust domain contains components managed by an enterprise, and all components in the trust domain trust each other. In general, no business agreement is required to establish trust within the enterprise. The reason for this is that deployed technologies are unique within an enterprise, for example, by requiring mutually authenticated SSL sessions between components, or by placing components within a single data center tightly controlled so that physical control and proximity represent unconditional trust. This is because it creates a trust. Referring to FIG. 2B, the legacy application and backend processing system may represent an enterprise trust domain, within which components may communicate on a secure internal network.

연합 트러스트 도메인은 하나의 관점으로부터 기업 경계를 횡단하는 것이며, 연합 트러스트 도메인은 다른 기업 트러스트 도메인 간의 트러스트 관계를 나타낼 수 있다. 연합 트러스트 도메인은 연합 파트너들 간의 기업 경계를 가로지는 트러스트 프록시를 통해 확립된다. 트러스트 관계는 트러스트 프록시 사이에 초기 트러스트가 확립된 임의의 종류의 부트스트랩 프로세스를 포함한다. 부트스트랩 프로세스의 일부는 공유 비밀 키 및 기대 및/또는 허용되는 토큰 유형 및 식별자 전환을 정의하는 규칙의 확립을 포함할 수 있다. 일반적으로, 이 부트스트랩 프로세스는 아웃-오브-밴드(out-of-band)로 구현될 수 있고, 이 프로세스는 또한 연합 내의 기업의 참여 및 이 참여와 관련된 책임을 관리하는 비즈니스 협정의 확립을 포함한다.A federated trust domain is one that traverses corporate boundaries from one perspective, and a federated trust domain can represent a trust relationship between different corporate trust domains. Federated trust domains are established through trust proxies that cross enterprise boundaries between federated partners. Trust relationships include any kind of bootstrap process for which an initial trust has been established between trust proxies. Part of the bootstrap process may include establishing a shared secret key and rules that define expectations and / or allowable token types and identifier transitions. In general, this bootstrap process can be implemented out-of-band, which also includes the establishment of a business agreement that governs the involvement of companies in the federation and the responsibilities associated with it. do.

연합 비즈니스 모델에 트러스트를 확립하기 위해 가능한 다수의 메카니즘이 있다. 연합 모델에서, 연합 참가자들간의 트러스트의 기본 개념은 참가자들 사이에서 전달되는 어써션(토큰 및 속성 정보를 포함)이 유효하다는 확신의 레벨을 제공하기 위하여 비즈니스 이유로 요구된다. 트러스트 관계가 없으면, 서비스 제공자는 아이덴티티 제공자로부터 수신된 어써션에 믿을 수 없고, 어써션은 아이덴티티 제 공자로부터 수신된 임의의 정보를 해석하는 방법을 결정하기 위하여 서비스 제공자에 의해 사용될 수 없다. There are a number of possible mechanisms for establishing trust in a federated business model. In the federation model, the basic concept of trust between federated participants is required for business reasons to provide a level of assurance that the assertions (including token and attribute information) passed between participants are valid. If there is no trust relationship, the service provider cannot trust the assertion received from the identity provider and the assertion cannot be used by the service provider to determine how to interpret any information received from the identity provider.

예를 들어, 큰 회사는 수천명의 세계 고객을 링크하기를 원할 수 있으며 그 회사는 종래의 솔루션을 사용할 수 있다. 첫번째 예로서, 그 회사가 세계의 고객을 요구하여 상업적 증명 당국으로부터 디지털 증명을 사용하여 상호 트러스트를 확립할 수 있다. 상업적 증명 당국은 회사의 서버가 세계 고객의 각각에 위치하는 트러스트 서버를 신뢰하도록 할 수 있다. 두번째 예로서, 그 회사는 케르베로스를 이용한 제3 트러스트를 구현할 수 있고, 그 회사 및 세계 고객들은 공유 비밀 기반 트러스트를 구현하는 신뢰된 제3 케르베로스 도메인 서비스를 구현할 수 있다. 세번째 예로서, 그 회사는 세계 고객들의 서버에 의해 상호 신뢰되는 개인 보안 메시지 토큰으로 개인 스킴을 확립할 수 있다.For example, a large company may want to link thousands of global customers and that company can use conventional solutions. As a first example, the company may require customers from around the world to establish mutual trust using digital attestations from commercial attestation authorities. Commercial attestation authorities can ensure that the company's servers trust the trust servers located in each of its global customers. As a second example, the company may implement a third trust using Cerberus, and the company and world customers may implement a trusted third Cerberus domain service that implements a shared secret based trust. As a third example, the company may establish a personal scheme with a personal secure message token that is mutually trusted by servers of global customers.

그 회사가 작은 수의 세계 고객과의 트러스트 관계를 관리하기를 원하면, 이들 어프로치 중의 임의의 하나가 수용될 수 있지만, 수백 또는 수천의 잠재적인 연합 파트너가 있으며 이것은 관리될 수 없다. 예를 들어, 더 작은 파트너가 개인 스킴을 구현하도록 그 회사가 강요하면, 그 회사는 더 큰 파트너에게 더 많은 요구사항을 부가할 수 없을 것이다.If the company wants to manage trust relationships with a small number of global customers, any one of these approaches may be acceptable, but there are hundreds or thousands of potential federated partners, which cannot be managed. For example, if the company forces a smaller partner to implement a personal scheme, the company will not be able to add more requirements to the larger partner.

바람직한 실시예에서, 기업은 트러스트 프록시 및 가능하면 트러스트 브로커를 통해 확립되고 관리되는 트러스트 관계를 채용할 것이다. 바람직한 실시예의 연합 아키텍쳐의 이점은 기업의 현재 인프라스트럭쳐 및 그 잠재적인 연합 파트너 이상의 추가 요구사항을 부가하지 않는다는 것이다.In a preferred embodiment, the enterprise will employ a trust relationship that is established and managed through a trust proxy and possibly a trust broker. The advantage of the federated architecture of the preferred embodiment is that it does not add additional requirements beyond the enterprise's current infrastructure and its potential federated partners.

그러나, 바람직한 실시예는 연합의 참가에 필요한 비즈니스 및 책임 협정을 확립하기 위하여 필요한 예비 작업으로부터 기업 및 그 잠재적인 연합 파트너를 경감하지 않는다. 또한, 참가자는 트러스트 관계의 기술적 부트스트랩을 무시할 수 없다. 바람직한 실시예는 부트스트랩을 유연하게 하고, 예를 들어, 제1연합 파트너는 소정의 정보를 갖는 케르베로스 티켓을 발행할 수 있는 반면, 제2연합 파트너는 소정의 정보를 갖는 SAML 인증 어써션을 발행할 수 있다.However, the preferred embodiment does not relieve the enterprise and its potential federated partners from the preparatory work required to establish the business and accountability agreements necessary for participation in the federation. In addition, the participant cannot ignore the technical bootstrap of the trust relationship. The preferred embodiment allows for bootstrap flexibility, for example, where the first federated partner may issue a Kerberos ticket with certain information, while the second federated partner may issue a SAML authentication assertion with the predetermined information. Can be.

바람직한 실시예에서, 트러스트 관계는 2개의 트러스트 프록시 간의 미리 확립된 관계에 기초하여 아이덴티티 제공자로부터 수신된 토큰을 유효화하고 전환하는 보안 토큰 서비스를 포함(또는 보안 토큰 서비스와 상호 작용)할 수 있는 트러스트 프록시에 의해 관리된다. 연합 기업이 또 다른 연합 기업과의 트러스트 관계(및 토큰 전환)를 확립할 수 없는 상황에서, 트러스트 브로커가 인보크되지만, 연합 기업은 트러스트 브로커와의 관계를 확립할 필요가 있다.In a preferred embodiment, the trust relationship may include a trust proxy service (or interact with the security token service) that validates and converts tokens received from the identity provider based on a pre-established relationship between the two trust proxies. Managed by In a situation where the federation cannot establish a trust relationship (and token conversion) with another federation, the trust broker is invoked, but the federation needs to establish a relationship with the trust broker.

이제 도 2d를 참조하면, 도 2d는 본 발명의 바람직한 실시예에서 트러스트 프록시 및 트러스트 브로커를 사용하는 연합 도메인 간의 예시적인 트러스트 관계의 세트를 나타내는 블록도이다. 도 2c에서 트러스트 브로커를 소개했지만, 도 2d는 바람직한 실시예의 연합 아키텍쳐 내의 이행 트러스트 관계의 중요성을 나타낸다.Referring now to FIG. 2D, FIG. 2D is a block diagram illustrating an exemplary set of trust relationships between a federated domain using a trust proxy and a trust broker in a preferred embodiment of the present invention. Although a trust broker is introduced in FIG. 2C, FIG. 2D illustrates the importance of a transition trust relationship within the federation architecture of the preferred embodiment.

연합 도메인(271-273)은 각각 트러스트 프록시(274-276)를 포함한다. 트러스트 프록시(274)는 트러스트 프록시(275)와의 직접적인 트러스트 관계(277)를 갖는다. 트러스트 브로커(280)는 트러스트 프록시(275)와의 직접적인 트러스트 관 계(278)를 가지며, 트러스트 브로커(280)는 트러스트 프록시(276)와의 직접적인 트러스트 관계(279)를 갖는다. 트러스트 브로커(280)는 연합 참가자를 대표하여 다른 연합 파트너와의 이행 트러스트에 기초하여 트러스트 관계를 확립하는데 사용된다. 이행 트러스트의 원리는 트러스트 프록시(275)와 트러스트 프록시(276)가 트러스트 브로커(280)를 통해 중개된 트러스트 관계(281)를 갖도록 한다. 트러스트 프록시(275 또는 276)는 다른 것의 어써션을 전환하거나 유효화하는 방법을 알 필요가 없고, 트러스트 브로커가 인보크되어 어써션을 다른 트러스트 프록시에서 유효하고 신뢰성 있고 이해되는 것으로 전환할 수 있다. Federated domains 271-273 each include trust proxies 274-276. Trust proxy 274 has a direct trust relationship 277 with trust proxy 275. The trust broker 280 has a direct trust relationship 278 with the trust proxy 275, and the trust broker 280 has a direct trust relationship 279 with the trust proxy 276. The trust broker 280 is used to establish a trust relationship based on the fulfilling trust with other federation partners on behalf of the federation participants. The principle of a transition trust allows trust proxy 275 and trust proxy 276 to have a trust relationship 281 brokered through trust broker 280. The trust proxy 275 or 276 does not need to know how to switch or validate the assertion of the other, and the trust broker can be invoked to turn the assertion into something that is valid, reliable, and understood by the other trust proxy.

연합 기업들 간의 트러스트 관계에 대하여 계약상의 의무와 책임을 지정하는 비즈니스 협정은 ebXML(Electronic Business using XML) 표준의 사용을 통해 XML로 표현될 수 있다. 예를 들어, 직접적인 트러스트 관계는 ebXML 문서로 표현될 수 있고 직접적인 트러스트 관계를 공유하는 각각의 연합 도메인은 ebXML 문서로서 표현되는 계약의 복사본을 가질 수 있다. 연합 내의 다양한 엔티티들의 동작 특성은 ebXML 편성 내에 지정되고 ebXML 레지스트리 내에 공개될 수 있고, 예를 들어 트러스트 프록시 또는 트러스트 브로커를 동작시키기 위하여 특정 연합에 참가하고자 하는 임의의 기업은 연합 내의 모든 트러스트 프록시 또는 트러스트 브로커를 위한 특정한 연합에 의해 지정된 공개된 요구사항을 따라야 한다. 보안 토큰 서비스는 다른 도메인으로부터의 토큰이 전환되는 방식에 동작적인 상세에 대한 ebXML을 파싱(parse)할 수 있다. 다른 표준 및 메카니즘이 연합 내의 트러스트 관계가 구현되는 방식에 대한 상세를 특정하는 본 발명에 의해 채용될 수 있다.Business agreements that specify contractual obligations and responsibilities for trust relationships between federated companies can be expressed in XML through the use of the Electronic Business Using XML (ebXML) standard. For example, a direct trust relationship can be represented as an ebXML document and each federated domain that shares a direct trust relationship can have a copy of the contract represented as an ebXML document. The operational characteristics of the various entities in the federation can be specified in the ebXML organization and published in the ebXML registry, for example, any enterprise that wishes to participate in a particular federation to operate a trust proxy or trust broker is required for all trust proxies or trusts in the federation. You must follow the published requirements specified by the specific federation for the broker. The security token service can parse ebXML for details on how tokens from other domains are converted. Other standards and mechanisms may be employed by the present invention that specify details about how trust relationships within the federation are implemented.

연합 Union 아키텍쳐Architecture 내의  undergarment 어써션Assertion 프로세싱 Processing

상술한 바와 같이, 연합 내의 사용자의 경험은 부분적으로 도메인을 통해 전달된 사용자 또는 사용자에 대한 어써션에 의해 관리된다. 어써션은 사용자의 인증 상태, 속성 정보 및 다른 정보에 관한 정보를 제공한다. 인증 어써션을 사용한다는 것은 사용자가 방문한 모든 사이트에서 사용자가 다시 인증할 필요성을 제거할 수 있다. 연합 환경 내에는, 발행 도메인으로부터 의존 도메인으로 어써션을 입수하기 위한 2가지 모델, 즉, 푸쉬 모델과 풀 모델이 있다. 푸쉬 모델에서는, 사용자의 어써션은 의존 도메인에 대한 사용자의 요구로 이동한다. 풀 모델에서는, 사용자의 요구가 임의의 요구된 정보없이 의존 도메인에서 수신되고 의존 도메인이 발행 도메인으로부터 관련된 또는 요구된 어써션을 요구한다.As noted above, the user's experience in the federation is managed in part by the user or the assertion for the user passed through the domain. The assertion provides information about the user's authentication status, attribute information, and other information. Using an authentication assertion can eliminate the need for the user to reauthenticate at all sites visited by the user. Within the federated environment, there are two models for getting assertions from the issuing domain to the dependent domain: the push model and the pull model. In the push model, the user's assertion goes to the user's request for the dependent domain. In the pull model, the user's request is received in the dependent domain without any required information and the dependent domain requires associated or requested assertions from the issuing domain.

연합 환경 내에서 어써션을 사용하는 모델에서, 본 발명의 설명은 바람직한 실시예에서, 바람직한 실시예의 연합 환경 내의 어써션을 생성하고 사용하는 일련의 프로세스를 설명하는 일련의 도면을 참조한다. 도 3a는 연합 환경 내에서 어써션(assertion)을 생성하기 위한 발행 도메인 또는 발행 파티에서의 일반화된 프로세스를 나타내고, 도 3b는 어써션을 "해체"하는 의존 도메인 또는 의존 파티에서의 일반화된 프로세스를 나타낸다. 도 3c 및 도 3d는 어써션이 발행 도메인에서 발행되어 사용자의 요구로 의존 도메인으로 전송된 푸쉬 모델의 2가지 변형을 나타냄으로써 도 3a에 도시된 일반화된 프로세스를 더 상세히 나타낸다. 도 3e는 요구하는 사용자로부터 의존 도메인에 의해 수신된 리소스 요구를 만족하도록 시도하면서 의존 도메인이 발행 도메인으로부터 사용자에 대한 임의의 요구된 어써션을 요구하는 풀 모델(pull model)을 나타내는 흐름도이다.In the model of using an assertion in a federated environment, the description of the present invention refers to a series of figures describing, in a preferred embodiment, a series of processes for creating and using an assertion in the federated environment of the preferred embodiment. FIG. 3A illustrates a generalized process at an issuing domain or issuing party to create an assertion in a federated environment, and FIG. 3B illustrates a generalized process at a relying domain or dependency party that "breaks" an assertion. 3C and 3D illustrate the generalized process shown in FIG. 3A in more detail by representing two variants of the push model in which an assertion is issued in the issuing domain and sent to the dependent domain at the user's request. FIG. 3E is a flow diagram illustrating a pull model in which the dependent domain requires any requested assertion for the user from the issuing domain while attempting to satisfy a resource request received by the dependent domain from the requesting user.

이제 도 3a를 참조하면, 이 흐름도는 연합 환경 내에서 어써션을 생성하는 발행 도메인에서의 일반화된 프로세스를 나타낸다. 발행 도메인의 접점 서버가 어써션에 대하여 트리거될 때 프로세스가 시작된다 (단계 302). 접점 서버는 의존 도메인으로부터 주어진 사용자에 대한 특정 어써션에 대한 요구를 수신하거나 어써션을 요구하는 공지된 의존 도메인에 대한 출력 요구를 방해하고, 이 시나리오는 도 3c 및 도 3d를 참조하여 후에 상세히 설명될 것이다. 어써션에 대한 트리거에 응답하여, 발행 도메인의 접점 서버는 어써션/토큰의 암호화/서명 등의 트러스트 정보의 추가와 함께 어써션을 발생(단계 306)하는 발행 도메인의 트러스트 프록시로부터 어써션을 요구(단계 304)하고, 발행 도메인의 트러스트 프록시는 필요하면 트러스트 브로커로부터 어시스턴스를 요구하여 요구된 어써션을 발생할 수 있다. 어써션을 발생한 후에, 발행 도메인의 트러스트 프록시는 어써션을 발행 도메인의 접점 서버로 반환하고(단계 308), 예를 들어 어써션을 출력 HTTP 또는 SOAP 메시지에 삽입함으로써, 어써션을 적절한 방식으로 출력 다운스트림에 도입시키고 (단계 310), 프로세스를 완료한다.Referring now to FIG. 3A, this flow diagram illustrates a generalized process in the issuing domain for creating assertions in a federated environment. The process begins when the point of contact server in the issuing domain is triggered for the assertion (step 302). The point-of-contact server receives a request for a particular assertion for a given user from the relying domain or interferes with the output request for a known relying domain requesting an assertion, this scenario will be described in detail later with reference to FIGS. 3C and 3D. . In response to the trigger for the assertion, the point-of-contact server in the issuing domain requests an assertion from the issuing domain's trust proxy (step 304), generating the assertion with the addition of trust information such as encryption / signing of the assertion / token (step 306). The trust proxy of the issuing domain can then request assistance from the trust broker to generate the requested assertion if necessary. After the assertion occurs, the trust proxy in the issuing domain returns the assertion to the point-of-contact server in the issuing domain (step 308) and introduces the assertion in the output downstream in an appropriate manner, for example, by inserting the assertion into the output HTTP or SOAP message. (Step 310), the process is completed.

도 3a는 "로컬 전자지갑(local wallet)"의 사용없이 발행 도메인에서 어써션을 생성하는 프로세스를 나타낸다. 그러나, 본 발명은 바람직하게 로컬 전자지갑 기능성을 포함하는 것을 허용한다. 일반적으로, 로컬 전자지갑은 트랜잭션을 이용하기 위한 사용자 속성 정보 또는 다른 정보용 안전 데이터스토어로서 작동할 수 있는 클라이언트측 코드이며, 클라이언트측 코드는 어써션 전달의 푸쉬 및/또는 풀 모델에 참여할 수 있다. 로컬 전자지갑이 프로토콜에 활동적으로 참여하면, 어써션을 발생하고 프로토콜 흐름에 삽입하는 관점에서 접점 서버 기능성의 서브세트를 구현한다. 로컬 전자지갑을 사용하는 것은 로컬 전자지갑이 접점 서버 및 트러스트 프록시 사이에 발생하는 트러스트 기반 상호작용을 구현하도록 허용하지 않는다. 추가의 트러스트 관계가 요구되는 경우, 접점 서버가 인보크되어야 한다.3A illustrates the process of creating an assertion in the issuing domain without the use of a "local wallet." However, the present invention preferably allows for the inclusion of local wallet functionality. In general, local wallets are client-side code that can act as user attribute information or other information-safe datastores for utilizing transactions, and the client-side code can participate in push and / or pull models of assertion delivery. When the local wallet actively participates in the protocol, it implements a subset of the contact server functionality in terms of generating assertions and inserting them into the protocol flow. Using a local wallet does not allow the local wallet to implement trust-based interactions that occur between the contact server and the trust proxy. If additional trust relationships are required, the contact server must be invoked.

이제 도 3b를 참조하면, 이 흐름도는 어써션을 해체하는 의존 도메인에서의 일반화된 프로세스를 나타낸다. 의존 도메인의 접점 서버가 관련된 어써션을 갖는 메시지를 수신할 때 프로세스가 시작되고 (단계 322), 그 후, 어써션을 추출하고 어써션을 의존 도메인의 트러스트 프록시로 전송한다 (단계 324). 의존 도메인의 트러스트 프록시는 발행 도메인으로부터 수신된 토큰을 포함하여 어써션으로부터 정보를 추출하고 (단계 326), 의존 도메인의 트러스트 프록시는 보안 토큰 서비스를 인보크하여 암호화 및 서명 등의 토큰에 관한 트러스트 정보 및 토큰 내의 정보를 포함하는 토큰을 유효화한 후에, 적절하다면, 사용자를 위한 국부 유효 토큰을 반환한다 (단계 328).Referring now to FIG. 3B, this flow diagram illustrates a generalized process in a dependency domain that tears down an assertion. When the contact server of the dependent domain receives a message with an associated assertion (step 322), the process then begins to extract the assertion and sends the assertion to the trust proxy of the dependent domain (step 324). The trust proxy in the dependent domain extracts information from the assertion, including the token received from the issuing domain (step 326), and the trust proxy in the dependent domain invokes the security token service to trust information about the token, such as encryption and signatures, and After validating the token containing the information in the token, if appropriate, a local valid token is returned for the user (step 328).

단계(326)의 일부로서, 트러스트 프록시는 어써션의 소스, 즉, 발행 파티를 결정할 것이다. 트러스트 프록시가 발행 도메인으로부터 수신된 트러스트 어써션을 이해할 수 있으면, 트러스트 프록시는 내부적으로 단계(328)를 수행할 것이다. 트러스트 프록시가 발행 도메인으로부터 수신된 어써션을 이해/신뢰할 수 없으면, 트러스트 프록시는 트러스트 브로커로부터 어시시턴스를 인보크할 수 있다. 어써션이 유효화될 수 없으면, 적절한 에러 응답이 발생될 수 있다.As part of step 326, the trust proxy will determine the source of the assertion, that is, the issuing party. If the trust proxy can understand the trust assertion received from the issuing domain, the trust proxy will perform step 328 internally. If the trust proxy cannot understand / trust the assertion received from the issuing domain, the trust proxy can invoke the assistance from the trust broker. If the assertion cannot be validated, an appropriate error response can be generated.

어써션이 유효화된 것으로 가정하면, 의존 도메인의 트러스트 프록시는 사용자에 대하여 요구된 로컬 정보를 형성한다 (단계 330). 예를 들어, 로컬 정보가 후단 레가시 애플리케이션에 의해 요구된 인증서를 포함할 수 있다. 의존 도메인의 트러스트 프록시는 요구된 정보를 의존 도메인의 접점 서버로 반환하고, 사용자에 대한 국부 세션을 형성한다 (단계 332).Assuming the assertion is validated, the trust proxy of the dependent domain forms the required local information for the user (step 330). For example, the local information may include a certificate requested by a later legacy application. The trust proxy in the dependent domain returns the requested information to the contact server in the dependent domain and establishes a local session for the user (step 332).

접점 서버가 사용자에 대한 세션을 형성한 후, 사용자는 인증 사용자로서 나타난다. 접점 서버는 이 세션 정보를 사용하여 로그아웃 또는 타임아웃 이벤트가 개시될 때까지 사용자와 도메인의 임의의 트랜잭션을 관리한다. 접점 서버가 사용자에 대한 인증 아이덴티티를 가지고 있으면, 접점 서버는 필요하면 이 특정 사용자의 아이덴티티 및 이 특정 사용자와 관련된 임의의 권한부여 폴리시에 기초하여 요구에 대한 권한부여를 얻을 수 있다. 그러면, 접점 서버는 요구된 후단 애플리케이션 또는 서비스로 임의의 관련 정보를 갖는 사용자의 요구를 전송하고 (단계 334), 프로세스를 종료한다.After the contact server establishes a session for the user, the user appears as an authenticated user. The contact server uses this session information to manage any transaction between the user and the domain until a logout or timeout event is initiated. If the point-of-contact server has an authentication identity for the user, then the point-of-contact server can, if necessary, obtain authorization for the request based on the identity of this particular user and any authorization policy associated with that particular user. The point of contact server then sends a request of the user with any relevant information to the requested backend application or service (step 334) and terminates the process.

접점 서버 및 트러스트 프록시 사이에 전달되는 데이터 항목 및 이들 데이터 항목의 포맷은 변할 수 있다. 메시지로부터 어써션을 추출하고 어써션만을 트러스트 프록시로 전달하기보다는, 접점 서버는 모든 메시지를 트러스트 프록시로 전달할 수 있다. 예를 들어, 트러스트 프록시에서의 프로세싱은 전체 SOAP 엔벨로프를 요구하는 SOAP 메시지 상의 서명 유효화와 같은 단계를 포함할 수 있다.The data items passed between the point of contact server and the trust proxy and the format of these data items may vary. Rather than extract an assertion from a message and pass only the assertion to the trust proxy, the point-of-contact server can forward all messages to the trust proxy. For example, processing at the trust proxy may include steps such as validating a signature on a SOAP message that requires the entire SOAP envelope.

이제 도 3c를 참조하면, 이 흐름도는 발행 도메인에서의 사용자 액션에 응답하여 발행 도메인으로부터 의존 도메인으로 어써션을 푸쉬하는 특정 프로세스를 나 타낸다. 사용자가 발행 도메인 내의 웹 페이지 또는 유사한 리소스로부터 의존 도메인으로의 링크를 액세스할 때 프로세스가 시작되어 (단계 342), 임의의 형태의 CGI(Common Gateway Interface)형 프로세스를 인보크하여 특정 어써션을 형성한다. 의존 도메인에 의해 어써션의 필요성을 인식하기 위한 발행 도메인의 능력은 본 발명의 연합 인프라스트럭쳐가 바람직하게 구현되는 기존의 레가시 시스템과의 긴밀한 통합을 의미한다. 또한, 발행 파티가 요구된 어써션을 형성하기 위하여 트러스트 프록시를 인보크할 필요 없도록 발행 파티와 의존 파티 간의 긴밀한 결합을 포함하고, 이 긴밀한 결합은 잘 확립된 트러스트 관계를 갖는 소정 유형의 연합 엔티티들 사이에서 적합할 수 있다.Referring now to FIG. 3C, this flow diagram illustrates a specific process for pushing an assertion from an issuing domain to a dependent domain in response to a user action in the issuing domain. When a user accesses a link from a web page or similar resource in the publishing domain to a dependent domain (step 342), the process is invoked to invoke any form of Common Gateway Interface (CGI) type process to form a specific assertion. . The ability of the issuing domain to recognize the need for assertion by the dependent domain means tight integration with existing legacy systems in which the federated infrastructure of the present invention is preferably implemented. It also includes a tight coupling between the issuing party and the relying party so that the issuing party does not need to invoke a trust proxy to form the required assertion, and this tight coupling is between any type of federated entities with a well established trust relationship. May be suitable in

발행 도메인에서의 후단 프로세싱이 인보크되어 요구된 어써션이 형성되고 (단계 344), 로컬 트러스트 프록시에서 기능성을 인보크하는 것을 포함할 수 있다. 요구된 어써션을 포함하여 의존 도메인에 대한 사용자의 요구가 형성되고 (단계 346), 발행 도메인은 의존 도메인에 대한 사용자의 요구와 함께 어써션을 전달하고 (단계 348), 프로세스를 종료한다. 의존 도메인이 요구 및 그 관련된 어써션을 수신하면, 의존 도메인은 도 3b에 도시된 방식으로 어써션을 유효화할 수 있다.Post-processing in the issuing domain may be invoked to form the required assertion (step 344) and may include invoking functionality at the local trust proxy. The user's request for the dependent domain, including the requested assertion, is formed (step 346), and the issuing domain forwards the assertion with the user's request for the dependent domain (step 348) and terminates the process. Once the dependency domain receives the request and its associated assertion, the dependency domain can validate the assertion in the manner shown in FIG. 3B.

이제 도 3d를 참조하면, 이 흐름도는 의존 도메인에 대한 출력 요구를 적극적으로 방해하는 발행 도메인에 응답하여 발행 도메인으로부터 의존 도메인으로 어써션을 푸쉬하는 특정 프로세스를 나타낸다. 사용자가 의존 도메인에서 보호 리소스를 요구할 때 프로세스가 시작된다 (단계 352). 접점 서버가 예를 들어 소정의 URI (Uniform Resource Identifiers)를 위한 출력 메시지, 소정 유형의 메시지, 소 정 유형의 메시지 내용을 필터링하거나 또는 임의의 다른 방식으로 출력 요구를 방해한다 (단계 354). 발행 도메인의 접점 서버는 발행 도메인의 트러스트 프록시로부터 적절한 어써션의 발행을 요구하고 (단계 356), 발행 도메인의 트러스트 프록시는 필요하면 트러스트 브로커로부터의 어시스턴스로 어써션을 발생시킨다 (단계 358). 그러면, 발행 도메인은 발생된 어써션과 함께 사용자의 요구를 의존 파티로 전달하고 (단계 360), 프로세스를 종료한다. 의존 도메인이 요구 및 그 관련된 어써션을 수신하면, 의존 도메인은 도 3b에 도시된 방식으로 어써션을 유효화할 수 있다.Referring now to FIG. 3D, this flow diagram illustrates a particular process for pushing an assertion from an issuing domain to a dependent domain in response to an issuing domain that actively interferes with an output request for the dependent domain. The process begins when a user requests a protected resource in the dependent domain (step 352). The point-of-contact server, for example, filters the output messages for certain Uniform Resource Identifiers (URIs), certain types of messages, certain types of message content, or interferes with the output request in any other way (step 354). The point of contact server of the issuing domain requests issuance of the appropriate assertion from the trust proxy of the issuing domain (step 356), and the trust proxy of the issuing domain generates an assertion with an assistance from the trust broker if necessary (step 358). The issuing domain then forwards the user's request with the generated assertion to the dependent party (step 360) and terminates the process. Once the dependency domain receives the request and its associated assertion, the dependency domain can validate the assertion in the manner shown in FIG. 3B.

이제 도 3e를 참조하면, 이 흐름도는 요구하는 사용자로부터 의존 도메인에 의해 수신된 리소스 요구를 만족시키도록 시도하면서 의존 도메인이 발행 도메인으로부터 사용자에 대한 임의의 요구된 어써션을 요구하는 풀 모델을 나타낸다. 의존 도메인이 보호 리소스에 대한 사용자 요구를 수신할 때 프로세스가 시작된다 (단계 372). 도 3c 또는 도 3d에 도시된 예와 대조적으로, 도 3e에 도시된 예는 사용자에 대한 임의의 요구된 어써션의 부재시에 의존 도메인에 수신된 사용자의 요구와 관련된 프로세스를 설명한다. 이 경우, 발행 도메인은 사용자의 요구 내에 요구된 어써션을 삽입하기 위하여 사용자의 요구를 차단하거나 프로세스하는 능력을 갖지 않는다. 예를 들어, 사용자가 URL을 입력하고 리소스에 대한 북마크 기준을 사용하여 출력 요구가 발행 도메인의 접점 서버에 의해 차단되지 않도록 할 수 있다. 그러므로, 의존 도메인은 발행 도메인으로부터 어써션을 요구한다.Referring now to FIG. 3E, this flow diagram illustrates a pull model in which the dependent domain requires any requested assertion for the user from the issuing domain while attempting to satisfy the resource request received by the dependent domain from the requesting user. The process begins when the dependent domain receives a user request for a protected resource (step 372). In contrast to the example shown in FIG. 3C or FIG. 3D, the example shown in FIG. 3E describes the process associated with the user's request received in the dependent domain in the absence of any requested assertion for the user. In this case, the issuing domain does not have the ability to intercept or process the user's request to insert the required assertion in the user's request. For example, a user can enter a URL and use bookmark criteria for the resource to ensure that output requests are not blocked by the point-of-contact server in the issuing domain. Therefore, the dependent domain requires an assertion from the issuing domain.

의존 도메인이 사용자 홈 도메인, 즉, 관련 발행 도메인을 결정한다 (단계 374). HTTP 기반 구현에서, 사용자는 사용자의 클라이언트 장치에서 의존 도메인에 의해 설정된 지속적인 쿠키를 발생하는 의존 도메인과의 관계를 미리 확립할 수 있다. 지속적인 쿠키는 사용자 홈 도메인 또는 아이덴티티 제공자, 즉, 관련 발행 도메인의 아이덴티티를 포함한다. 사용자가 임의의 방식으로 웹 서비스 클라이언트를 동작하는 SOAP 기반 구현에서, 의존 도메인에서의 웹 서비스는 토큰 요구사항을 포함하는 WSDL(Web services Description Language)를 통해 서비스 요구사항을 알릴 수 있다. 이것은 사용자 웹 서비스 클라이언트/SOAP 구현이 요구된 토큰 유형을 제공하도록 요구한다. 이 요구사항이 이행되지 않으면, 웹 서비스는 기술적으로 에러를 반환한다. 임의의 경우, 요구가 적절한 토큰으로 반복될 수 있도록 사용자의 웹 서비스 클라이언트가 인증 정보를 프롬프트하도록 하는 에러 코드를 반환할 수 있다.The dependent domain determines the user home domain, that is, the relevant publishing domain (step 374). In an HTTP-based implementation, a user may pre-establish a relationship with a dependent domain that generates a persistent cookie set by the dependent domain at the user's client device. The persistent cookie contains the identity of the user's home domain or identity provider, i.e., the associated publishing domain. In a SOAP-based implementation in which a user operates a web service client in any way, a web service in a dependent domain can advertise service requirements through a Web services Description Language (WSDL) that includes token requirements. This requires the user web service client / SOAP implementation to provide the required token type. If this requirement is not fulfilled, the web service technically returns an error. In any case, it can return an error code that causes the user's web service client to prompt for authentication information so that the request can be repeated with the appropriate token.

의존 도메인의 접점 서버는 의존 도메인 트러스트 프록시와 함께 어써션 요구를 개시하고 (단계 376), 발행 도메인 트러스트 프록시로부터 사용자에 대한 어써션을 요구한다 (단계 378). 실시예가 HTTP 기반 통신을 채용하면, 의존 도메인 트러스트 프록시로부터 발행 도메인 트러스트 프록시로의 어써션 요구가 의존 도메인 접점 서버에 의해 사용자 브라우저 애플리케이션을 통한 재전송을 통해 발행 도메인의 접점 서버로 전송될 수 있고, 어써션 요구가 발행 도메인 트러스트 프록시로 전달된다.The point-of-contact server in the relying domain initiates an assertion request with the relying domain trust proxy (step 376) and requests an assertion for the user from the issuing domain trust proxy (step 378). If an embodiment employs HTTP-based communication, an assertion request from the dependent domain trust proxy to the issuing domain trust proxy can be sent by the dependent domain contact server to the point of contact server of the issuing domain via retransmission through the user browser application, and the assertion request Is passed to the issuing domain trust proxy.

실시예가 SOAP 기반 구현을 채용하면, 의존 파티는 사용자 웹 서비스 클라이언트로 에러 코드를 반환할 수 있다. 이 에러 코드는 사용자가 웹 서비스 클라이언 트에 의해 인증 정보를 프롬프트하도록 한다. 그러면, 웹 서비스 클라이언트는 요구된 토큰을 생성한다. 사용자 웹 서비스 클라이언트는, 의존 도메인 트러스트 프록시가 UDDI(Universal Description, Discovery, and Integration) 레지스트리에 알려지면, 트러스트 프록시를 직접 인보크할 수 있고, 사용자 웹 서비스 클라이언트가 트러스트 프록시를 찾도록 한다. 일반적으로, 이 시나리오는 내부 사용자에게만 유효하고, 트러스트 프록시는 기업 내의 개인 UDDI에 알려져 있다. 그 이유는 트러스트 프록시가 연합의 액세스가능한 외부 또는 인터넷 상의 공중 UDDI에는 알려지지 않기 때문이다.If the embodiment employs a SOAP-based implementation, the dependency party can return an error code to the user web service client. This error code causes the user to be prompted for authentication information by the web service client. The web service client then generates the requested token. The user web service client can invoke the trust proxy directly when the dependent domain trust proxy is known to the Universal Description, Discovery, and Integration (UDDI) registry, and let the user web service client find the trust proxy. In general, this scenario is valid only for internal users, and trust proxies are known to private UDDI in the enterprise. The reason is that trust proxies are unknown to public UDDI on the federated accessible outside or on the Internet.

발행 도메인 트러스트 프록시는 요구된 어써션을 발행하고(단계 380) 어써션 요구가 수신된 방식와 유사한 방식으로 반환한다 (단계 382). 의존 도메인 트러스트 프록시가 요구된 어써션을 수신한 후 (단계 384), 의존 도메인 트러스트 프록시는 어써션으로부터 정보를 추출하고(단계 386) 어써션을 해석 및/또는 유효화하려고 시도하며(단계 388), 트러스트 프록시는 어써션의 전환이 필요하면 트러스트 브로커로부터 어시스턴스를 인보크할 수 있다. 어써션이 유효화될 수 없으면, 적절한 에러 응답이 발생할 수 있다. 어써션이 유효화된 것으로 가정하면, 의존 도메인 트러스트 프록시는 보호 리소스에 대한 사용자 요구를 이해하려고 시도할 후단 서비스에 의해 사용에 필요한 적절한 포맷으로 로컬 정보를 형성한다 (단계 390). 예를 들어, 로컬 정보는 후단 레가시 애플리케이션에 의해 요구된 인증서를 포함할 수 있다. 의존 도메인의 트러스트 프록시는 요구된 정보를 의존 도메인 접점 서버로 반환하고 (단계 392), 의존 도메인 접점 서버는 사용자에 대한 로컬 세션을 형성하 고 임의의 관련 정보와 함께 사용자 요구를 요구된 후단 애플리케이션 또는 서비스로 전달하고 (단계 394), 프로세스를 종료한다.The issuing domain trust proxy issues the requested assertion (step 380) and returns in a manner similar to the manner in which the assertion request was received (step 382). After the dependent domain trust proxy receives the requested assertion (step 384), the dependent domain trust proxy extracts information from the assertion (step 386) and attempts to interpret and / or validate the assertion (step 388). If you need to switch assertions, you can invoke the assistance from the trust broker. If the assertion cannot be validated, an appropriate error response may occur. Assuming the assertion is validated, the dependent domain trust proxy forms local information in the appropriate format for use by the latter service that will attempt to understand the user's need for protected resources (step 390). For example, the local information may include a certificate requested by a later legacy application. The trust proxy of the dependent domain returns the requested information to the dependent domain contact server (step 392), and the dependent domain contact server establishes a local session for the user and, together with any relevant information, requests the requested backend application or Deliver to service (step 394) and terminate the process.

연합 Union 아키텍쳐Architecture 내의 싱글-사인-온 Single-sign-on

도 2a 내지 도 2d의 설명은 본 발명의 바람직한 실시예에 따른 연합 데이터 프로세싱 환경 내의 엔티티의 동작 특성에 중점을 두었지만, 도 3a 내지 도 3e는 엔티티들 사이에서 발생한 프로세스의 일부에 중점을 둔 것이다. 이들 설명에 대조적으로, 도 4는 사용자에 대한 싱글-사인-온 경험을 제공하면서 사용자에 대한 트랜잭션을 완료하는 목표에 중점을 둔다.Although the description of FIGS. 2A-2D focuses on the operational characteristics of an entity in a federated data processing environment in accordance with a preferred embodiment of the present invention, FIGS. 3A-3E focus on some of the processes that occur between the entities. . In contrast to these descriptions, FIG. 4 focuses on the goal of completing a transaction for a user while providing a single-sign-on experience for the user.

바꾸어 말하면, 다음의 설명은 사용자가 사용자 세션 내에서 싱글-사인-온 경험을 할 수 있는 방식에 대하여 본 발명의 바람직한 실시예의 개략 관점에 대하여 좀 더 초점을 맞추더라도, 이미 위에서 설명한 엔티티 및 프로세스가 이하에서 논의된다. 세션은 초기 사용자 인증, 즉, 로그온에서 로그아웃까지의 일련의 트랜잭션으로서 정의될 수 있다. 세션 내에서, 사용자 액션은 부분적으로 세션 동안 사용자에게 부여된 특권에 의해 관리된다. 연합 내에서, 사용자는 사용자가 단일 인증 동작을 완료하는 싱글-사인-온 경험을 기대하고, 이 인증 동작은 그 세션 동안 방문한 연합 파트너와 관계없이 세션 동안 충분하다.In other words, the following description focuses on the schematic aspects of the preferred embodiment of the present invention with respect to the manner in which a user can experience a single-sign-on experience within a user session, although the entities and processes described above have already been described. Discussed below. A session can be defined as a series of transactions from initial user authentication, i.e. from logon to logout. Within a session, user actions are managed in part by the privileges granted to the user during the session. Within a federation, the user expects a single-sign-on experience in which the user completes a single authentication operation, which is sufficient during the session regardless of the federation partner visited during that session.

사용자 세션 동안, 사용자는 많은 연합 도메인을 방문하여 도메인에 의해 제공된 웹 서비스를 사용할 수 있다. 도메인은 UDDI 및 WSDL 등의 표준 사양을 이용하여 제공할 수 있는 서비스의 설명을 공개할 수 있고, UDDI 및 WSDL은 공통 데이터 포맷으로서 XML를 사용한다. 사용자는 표준 사양에 첨부된 애플리케이션을 통해 이용가능한 서비스 및 서비스 제공자를 찾는다. SOAP는 XML로 표현된 통신 요구 및 응답에 대한 패러다임을 제공한다. 연합 환경 내의 엔티티는 다른 것들 중에서 이들 표준을 채용할 수 있다.During a user session, a user can visit many federated domains and use the web services provided by the domain. Domains can publish descriptions of services that can be provided using standard specifications such as UDDI and WSDL, and UDDI and WSDL use XML as a common data format. The user finds the services and service providers available through the application attached to the standard specification. SOAP provides a paradigm for communication requests and responses expressed in XML. Entities in a federated environment may employ these standards among others.

싱글-사인-온 경험을 용이하게 하기 위하여, 연합 환경을 지원하는 웹 서비스는 또한 사용자의 인증의 증명을 제공하기 위하여 제3자에 의해 발생된 보안 토큰 또는 인증 어써션을 사용하는 것을 지원할 것이다. 이 어써션은 사용자에 대한 식별자와 함께 발행 파티에 대한 사용자의 성공적인 인증의 임의의 종류의 증거를 포함할 것이다. 그러므로, 사용자는 하나의 연합 파트너에 대한 전통적인 인증서, 예를 들어, 사용자 이름 및 패스워드를 제시할 수 있고, 다른 연합 파트너에 대하여 인증/발행 파티에 의해 생성된 SAML 인증 어써션을 제공한다.To facilitate the single-sign-on experience, web services supporting federated environments will also support the use of security tokens or authentication assertions generated by third parties to provide proof of user's authentication. This assertion will contain any kind of evidence of the user's successful authentication to the issuing party, along with an identifier for the user. Thus, a user can present a traditional certificate for one federated partner, eg, a username and password, and provide a SAML authentication assertion generated by an authentication / issue party for another federated partner.

웹 서비스 환경에서의 인증은 기업이 인증된 클라이언트로의 액세스를 제한할 수 있도록 웹 서비스 요구의 요구된 아이덴티티를 검증하는 행동이다. 웹 서비스를 요구하거나 인보크하는 사용자는 대부분 인증되어 바람직한 실시예의 연합 환경 내의 인증에 대한 필요성은 사용자 인증에 대한 웹 서비스의 현재 요구사항과 다르지 않다. 연합 환경은 또한 웹 서비스 또는 다른 애플리케이션이 웹 서비스를 요구하도록 하고, 이들 웹 서비스는 또한 인증된다.Authentication in a web services environment is the act of verifying the required identity of a web services request so that an enterprise can restrict access to authenticated clients. Most users who request or invoke a web service are authenticated so that the need for authentication in the federated environment of the preferred embodiment is not different from the current requirements of the web service for user authentication. The federated environment also allows web services or other applications to request web services, which are also authenticated.

연합 세션에 참가하지 않은 사용자의 인증은 바람직한 실시예의 연합 아카텍쳐에 의해 충돌하지 않는다. 예를 들어, 특정 도메인에서 비연합 리소스를 액세스하기 위하여 HTTP/S를 통해 폼 기반 인증 메카니즘으로 인증한 기존의 사용자는 연합 환경에 대한 도메인에서 지원의 도입에 의해 영향받지 않는다. 인증은 부분적으 로 별개의 트러스트 프록시 컴포넌트를 인보크할 수 있는 접점 서버에 의해 처리된다. 접점 서버의 사용은 기존 도메인의 인프러스트럭쳐 상에서의 충돌을 최소화한다. 예를 들어, 접점 서버는 도메인에서 후단 또는 레가시 애플리케이션 및 시스템에 의해 처리될 모든 비연합 요구를 통과하도록 구성될 수 있다.Authentication of a user who does not participate in a federation session is not conflicted by the federation architecture of the preferred embodiment. For example, existing users who authenticate with forms-based authentication mechanisms via HTTP / S to access non-federated resources in a particular domain are not affected by the introduction of support in the domain for federated environments. Authentication is partly handled by the point of contact server, which can invoke a separate trust proxy component. The use of a contact server minimizes conflicts on the infrastructure of existing domains. For example, the point-of-contact server may be configured to pass all non-federated requests to be handled by backend or legacy applications and systems in the domain.

접점 서버는 기본 인증, 폼 기반 인증 또는 임의의 다른 인증 방법 등의 HTTP 기반 인증 방법을 인보크하도록 선택할 수 있다. 접점 서버는 또한 SAML 인증 어써션 등의 인증의 증명으로서 사용자에 의해 제시된 어써션을 인식함으로써 연합 트러스트 도메인을 지원하고, 어써션은 기업 트러스트 도메인 사이를 횡단한다. 접점 서버는 인증서/보안 토큰의 유효화를 위한 보안 토큰 서비스를 인보크할 수 있는 트러스트 프록시를 인보크할 수 있다. The point-of-contact server can choose to invoke HTTP-based authentication methods such as basic authentication, forms-based authentication, or any other authentication method. The point-of-contact server also supports federated trust domains by recognizing assertions presented by the user as proof of authentication, such as SAML authentication assertions, and the assertions traverse between enterprise trust domains. The point-of-contact server may invoke a trust proxy that can invoke a security token service for validating a certificate / security token.

웹 서비스 또는 다른 애플리케이션의 인증은 사용자의 인증과 동일한 프로세스를 포함한다. 웹 서비스로부터의 요구는 인증 어써션을 포함하는 보안 토큰을 전달하고, 이 보안 토큰은 사용자에 의해 제시된 토큰과 동일한 방식으로 트러스트 프록시/보안 토큰 서비스에 의해 유효화된다. 웹 서비스는 UDI에 알려진 바와 같이 요구된 서비스에 의해 어떤 인증 어써션/보안 토큰이 요구되었는지를 발견했기 때문에, 웹 서비스로부터의 요구는 항상 이 토큰을 전달한다.Authentication of a web service or other application involves the same process as authentication of a user. The request from the web service carries a security token containing an authentication assertion, which is validated by the trust proxy / security token service in the same way as the token presented by the user. Since the web service has discovered which authentication assertion / security token was required by the requested service as known to UDI, the request from the web service always carries this token.

이제 도 4를 참조하면, 도 4는 연합 싱글-사인-온 동작을 지원하는 연합 환경을 나타내는 블록도이다. 사용자(400)는 브라우저 등의 클라이언트 장치 및 적절한 클라이언트 애플리케이션을 통해 연합 환경 내의 연합 도메인으로서 동작하는 데이터 프로세싱 시스템을 지원하는 기업/도메인(410)에 의해 제공되는 웹 서비스 를 액세스하기를 원한다. 도메인(410)은 접점 서버(412)와 트러스트 프록시(414)를 지원하고, 마찬가지로, 도메인(420)은 접점 서버(422)와 트러스트 프록시(424)를 지원하고, 도메인(430)은 접점 서버(432)와 트러스트 프록시(434)를 지원한다. 트러스트 프록시는 상술한 바와 같이 어시스턴스용 트러스트 브로커(450)에 의지한다. 추가의 도메인 및 트러스트 프록시는 연합 환경에 참여할 수 있다. 도 4는 도메인(410)과 도메인(420) 간의 연합 싱글-사인-온 동작을 나타내며, 유사한 동작은 도메인(410) 및 도메인(430) 사이에서 발생할 수 있다.Referring now to FIG. 4, FIG. 4 is a block diagram illustrating a federated environment that supports federated single-sign-on operation. User 400 wants to access a web service provided by an enterprise / domain 410 supporting a data processing system operating as a federated domain in a federated environment through a client device such as a browser and an appropriate client application. Domain 410 supports contact server 412 and trust proxy 414, likewise, domain 420 supports contact server 422 and trust proxy 424, and domain 430 supports contact server ( 432 and trust proxy 434. The trust proxy relies on the trust broker 450 for assistance as described above. Additional domains and trust proxies may participate in the federated environment. 4 illustrates a federated single-sign-on operation between domain 410 and domain 420, where a similar operation may occur between domain 410 and domain 430.

사용자는 도메인(410)에 대하여 인증 동작을 완료하고, 이 인증 동작은 접점 서버(412)에 의해 처리된다. 인증 동작은 사용자가 예를 들어 개인화 목적 또는 액세스 제어 목적으로 인증 아이덴티티를 요구하는 임의의 리소스로의 액세스를 요구할 때 트리거된다. 접점 서버(412)는 레가시 인증 서비스를 인보크하거나 트러스트 프록시(414)를 인보크하여 사용자 제시 인증서를 유효화할 수 있다. 도메인(410)은 사용자 연합 세션 기간동안 사용자 아이덴티티 제공자 또는 홈 도메인이 된다.The user completes an authentication operation with respect to the domain 410, and this authentication operation is processed by the contact server 412. The authentication operation is triggered when the user requests access to any resource that requires an authentication identity, for example for personalization or access control purposes. The point-of-contact server 412 may validate the user presented certificate by invoking the legacy authentication service or by invoking the trust proxy 414. Domain 410 becomes the user identity provider or home domain for the duration of the user federation session.

소정의 시간 후에, 사용자가 연합 도메인을 지원하는 기업(420) 등의 연합 파트너에서 트랜잭션을 개시하여, 연합 싱글-사인-온 동작을 트리거한다. 예를 들어, 사용자는 도메인(420)에서 워킹-카피(working-copy) 트랜잭션을 개시하거나 사용자의 본래 트랜잭션이 다른 도메인에서 하나 이상의 추가 트랜잭션으로 캐스캐이드할 수 있다. 다른 예로서, 사용자는 예를 들어 도메인(410) 내에 호스팅된 웹 페이지 상의 특수 링크를 선택하거나 도메인(410) 내에 호스팅된 포털 페이지를 요구함으로써 접점 서버(412)를 통해 도메인(420)의 리소스로 연합 싱글-사인-온 동작 을 인보크할 수 있지만, 도메인(420)에서 호스팅된 리소스를 디스플레이한다. 접점 서버(412)는 트러스트 프록시(414)로 요구를 전송하여 도메인(420)에 의해 이해되고 믿도록 포맷된 사용자에 대한 연합 싱글-사인-온 토큰을 발생한다. 트러스트 프록시(414)는 접점 서버(412)로 이 토큰을 반환하고, 접점 서버(412)는 도메인 내의 접점 서버(422)로 이 토큰을 전송한다. 도메인(410)은 의존 파티로서 동작하는 도메인(420)에서 사용자에 대한 발행 파티로서 동작한다. 사용자의 토큰은 도메인(420)에 대한 사용자 요구로 전송되고, 이 토큰은 사용자 브라우저를 통해 HTTP 재전송을 사용하여 전송되거나 트러스트 프록시(414)에 의해 공급되는 토큰 내에 식별된 사용자를 대표하여 (HTTP 또는 SOAP-오버-HTTP를 통해) 접점 서버(422)의 요구를 인보크함으로써 전송될 수 있다.After a certain time, the user initiates a transaction at a federated partner, such as enterprise 420, which supports the federated domain, to trigger a federated single-sign-on operation. For example, a user may initiate a working-copy transaction in domain 420 or cascade the user's original transaction into one or more additional transactions in another domain. As another example, a user may access a resource in domain 420 through contact server 412 by selecting a special link on a web page hosted within domain 410 or by requesting a portal page hosted within domain 410. It can invoke federated single-sign-on operation, but displays resources hosted in domain 420. The point of contact server 412 sends a request to the trust proxy 414 to generate a federated single-sign-on token for the user that is formatted to be understood and trusted by the domain 420. The trust proxy 414 returns this token to the contact server 412, which sends it to the contact server 422 in the domain. Domain 410 acts as a publishing party for the user in domain 420 which acts as a dependent party. The user's token is sent to the user request for domain 420, which token is transmitted using an HTTP retransmission through the user's browser or on behalf of the user identified in the token supplied by the trust proxy 414 (HTTP or Can be sent by invoking the request of the contact server 422).

접점 서버(422)는 연합 싱글-사인-온 토큰과 함께 요구를 수신하고 트러스트 프록시(424)를 인보크한다. 트러스트 프록시(424)는 연합 싱글-사인-온 토큰을 수신하고, 토큰을 유효화하고, 토큰이 유효하고 신뢰성있는 것으로 가정하면, 사용자에 대한 국부 유효 토큰을 발생한다. 트러스트 프록시(424)는 국부 유효 토큰을 접점 서버(422)로 반환하고, 접점 서버(422)는 도메인(420) 내에서 사용자에 대한 세션을 확립한다. 필요하면, 접점 서버(422)는 다른 연합 파트너에서 연합 싱글-사인-온을 개시할 수 있다.The contact server 422 receives the request with the federated single-sign-on token and invokes the trust proxy 424. The trust proxy 424 receives the federated single-sign-on token, validates the token, and generates a locally valid token for the user, assuming that the token is valid and reliable. The trust proxy 424 returns the local valid token to the point of contact server 422, which establishes a session for the user in the domain 420. If necessary, the contact server 422 can initiate federated single-sign-on at another federated partner.

도메인(420)에서의 토큰의 유효화는 가능하면 보안 토큰 서비스로부터의 어시스턴스로 트러스트 프록시(424)에 의해 처리된다. 도메인(410)에 의해 제시된 토큰의 유형에 의존하여, 보안 토큰 서비스는 도메인(420)에서 사용자 레지스트리를 액세스할 필요가 있을 수 있다. 예를 들어, 도메인(420)은 도메인(420)에서 사용자 레지스트리에 대하여 유효화될 사용자 이름 및 패스워드를 포함하는 바이너리 보안 토큰을 제공할 수 있다. 그러므로, 이 실시예에서, 기업은 연합 파트너로부터 보안 토큰을 간단히 유효화한다. 도메인(410 및 420) 간의 트러스트 관계는 사용자를 대표하여 도메인(410)에 의해 제시된 보안 토큰을 이해하고 신뢰할 수 있다.Validation of the token in domain 420 is handled by trust proxy 424 with assistance from the security token service if possible. Depending on the type of token presented by domain 410, the security token service may need to access a user registry in domain 420. For example, domain 420 may provide a binary security token that includes a username and password to be validated against a user registry in domain 420. Therefore, in this embodiment, the enterprise simply validates the security token from the federation partner. The trust relationship between domains 410 and 420 can understand and trust the security token presented by domain 410 on behalf of the user.

연합 싱글-사인-온은 사용자를 대표하여 의존 도메인에 제시되는 보안 토큰의 유효화 뿐만 아니라 보안 토큰 내에 포함된 정보에 기초하여 의존 도메인에 국부 유효 사용자 식별자의 결정을 요구한다. 이러한 관계를 확립하는데 요구되는 비즈니스 협정 및 직접적인 트러스트 관계중의 하나의 결과는 하나 이상의 파티, 발행 도메인 또는 의존 도메인 또는 그 둘다가 발행 도메인에 의해 제공된 정보를 의존 도메인에서 유효한 식별자로 전환하는 방법을 아는 관계를 확립하도록 요구된다. 상술한 간략한 예에서, 발행 도메인, 즉, 도메인(410)은 의존 도메인, 즉, 도메인(420)에 도메인(420)에서 유효한 사용자 식별자를 제공한다. 이 시나리오에서, 의존 도메인은 임의의 식별 맵핑 기능성을 인보크하는 것을 필요로 하지 않는다. 도메인(420)에서의 트러스트 프록시(424)는 이 사용자를 보증할 사용자에 대한 보안 토큰을 발생할 것이다. 수락된 토큰의 유형, 토큰에 요구되는 서명, 다른 요구사항은 모두 연합 비즈니스 협정의 일부로서 미리 확립된다. 식별자 전환을 관리하는 규칙 및 알고리즘은 또한 연합 비즈니스 협정의 일부로서 미리 확립된다. 두 참가자 사이의 직접적인 트러스트 관계의 경우, 식별자 전환 알고리즘은 두 파티에 대하여 확립되고 연합 내의 임의의 다른 파티와 관련되지 않을 수 있다.The federated single-sign-on requires determination of a local effective user identifier in the dependent domain based on the information contained in the security token as well as the validation of the security token presented in the dependent domain on behalf of the user. The result of one of the business agreements and direct trust relationships required to establish this relationship is that one or more parties, the issuing domain or the dependent domain, or both, know how to convert the information provided by the issuing domain from the dependent domain to a valid identifier. It is required to establish a relationship. In the brief example described above, the issuing domain, ie, domain 410, provides the dependent domain, ie, domain 420, with a user identifier valid in domain 420. In this scenario, the dependent domain does not need to invoke any identity mapping functionality. Trust proxy 424 in domain 420 will generate a security token for the user who will endorse this user. The types of tokens accepted, signatures required for tokens, and other requirements are all established in advance as part of a federated business agreement. Rules and algorithms governing identifier conversion are also established in advance as part of the federated business agreement. In the case of a direct trust relationship between two participants, an identifier switching algorithm may be established for two parties and not associated with any other party in the association.

그러나, 도메인(410)에 대한 로컬 식별자로부터 도메인(420)에 대한 로컬 식별자로 사용자를 맵핑하는 방법을 발행 도메인이 항상 아는 것은 아니다. 임의의 경우, 의존 도메인이 이 맵핑 방법을 알 수 있고, 다른 경우, 어떤 파티도 이 전환 방법을 모를 수 있고, 이 경우, 제3자 트러스트 브로커가 인보크될 필요가 있다. 바꾸어 말하면, 중개된 트러스트 관계의 경우, 발행 및 의존 도메인이 서로 직접적인 트러스트 관계를 갖지 않는다. 그러나, 그들은 트러스트 브로커(450) 등의 트러스트 브로커와의 직접적인 트러스트 관계를 가질 것이다. 식별자 맵핑 규칙 및 알고리즘은 이 관계의 일부로서 확립될 것이며, 트러스트 브로커는 이 정보를 사용하여 중개된 트러스트 관계에 요구되는 식별자 전환을 돕는다.However, the issuing domain does not always know how to map a user from a local identifier for domain 410 to a local identifier for domain 420. In any case, the dependent domain may know this mapping method, and in other cases, no party may know this transition method, in which case a third party trust broker needs to be invoked. In other words, in the case of a mediated trust relationship, the issuing and dependent domains do not have a direct trust relationship with each other. However, they will have a direct trust relationship with a trust broker such as trust broker 450. Identifier mapping rules and algorithms will be established as part of this relationship, and the trust broker uses this information to help convert the identifiers required for the brokered trust relationship.

도메인(420)은 접점 서버(422)에서 도메인(410)에 의해 발행된 토큰을 수신하고, 접점 서버(422)는 트러스트 프록시(424)를 인보크하여 토큰을 유효화하고 아이덴티티 맵핑을 수행한다. 이 경우, 트러스트 프록시(424)는 도메인(410)에 대한 로컬 식별자로부터 도메인(420)에 대한 로컬 식별자로 사용자를 맵핑할 수 없고, 트러스트 프록시(424)는 트러스트 브로커(450)를 인보크하여 토큰을 유효화하고 식별자 맵핑을 수행한다. 사용자에 대한 로컬 식별자를 얻은 후에, 트러스트 프록시(424)는 가능하면 그 보안 토큰 서비스를 통해 도메인(420)에서 후단 애플리케이션에 의해 요구된 임의의 로컬 토큰을 발생시킬 수 있고, 예를 들어, 케르베로스 토큰이 접점 서버로부터 애플리케이션 서버로 싱글-사인-온을 수행하도록 요구될 수 있다. 로컬 유효 토큰을 얻은 후에, 필요하면, 접점 서버는 사용자에 대한 로컬 세션을 형성할 수 있다. 접점 서버는 또한 사용자 요구의 대략 인증을 처리하고 도 메인(420) 내의 적절한 애플리케이션 서버에 인증된 요구를 전송한다.The domain 420 receives the token issued by the domain 410 at the contact server 422, and the contact server 422 invokes the trust proxy 424 to validate the token and perform identity mapping. In this case, trust proxy 424 cannot map a user from a local identifier for domain 410 to a local identifier for domain 420, and trust proxy 424 invokes trust broker 450 to tokenize. Validate and perform identifier mapping. After obtaining a local identifier for the user, the trust proxy 424 may generate any local tokens required by the backend application in the domain 420, possibly via its security token service, for example, a Kerberos token It may be required to perform single-sign-on from this contact server to the application server. After obtaining the local valid token, the contact server may establish a local session for the user, if necessary. The contact server also handles rough authentication of the user request and sends the authenticated request to the appropriate application server in the domain 420.

사용자의 세션은 로그아웃 또는 사인-오프시 종료한다. 사용자가 홈 도메인으로 세션을 로그아웃하면, 홈 도메인은 모든 의존 도메인, 즉, 보안 토큰을 발행한 도메인에게 알리고 그 도메인에서 사용자 로그아웃을 인보크한다. 의존 도메인 중의 임의의 것이 동일한 사용자에 대한 발행 도메인으로서 동작하면, 도메인은 사용자 로그아웃 요구를 모든 의존 도메인에게 캐스캐이드 방식으로 알린다. 각 도메인에서의 트러스트 프록시는 사용자 로그아웃 요구를 모든 의존 도메인에게 알릴 책임이 있고 트러스트 프록시는 이 프로세스의 일부로서 트러스트 브로커를 인보크할 수 있다.The user's session ends upon logout or sign-off. When a user logs out of a session to the home domain, the home domain informs all dependent domains, that is, the domain that issued the security token, and invokes the user logout from that domain. If any of the dependent domains acts as the issuing domain for the same user, the domain will cascade the user logout request to all dependent domains. The trust proxy in each domain is responsible for informing user dependent logout requests to all dependent domains, and the trust proxy can invoke the trust broker as part of this process.

연합 사용자 라이프사이클 관리Federated User Lifecycle Management

도 2a-도 4의 설명의 일부는 연합 환경에서 사용될 수 있는 컴포넌트의 조직을 설명하고 다른 부분은 연합 환경을 통해 싱글-사인-온 동작을 지원하는 프로세스를 설명한다. 연합 환경 내의 서비스 제공자 또는 의존 도메인은 반드시 사용자 인증서를 관리할 필요 없고 이들 의존 도메인은 사용자 아이덴티티 제공자 또는 홈 도메인에 의해 제공된 단일 싱글-사인-온 토큰에게 영향을 줄 수 있다. 상술한 도 2a-도 4의 설명은 연합 사용자 라이프사이클 관리가 연합 파트너의 연합 도메인에서 유리한 방식으로 달성될 수 있는 명시적 프로세스를 설명하지 않는다.Some of the descriptions of FIGS. 2A-4 describe the organization of components that can be used in a federated environment and others describe the process of supporting single-sign-on operations through the federated environment. Service providers or dependent domains in a federated environment do not necessarily manage user certificates and these dependent domains may affect a single single-sign-on token provided by a user identity provider or home domain. The foregoing description of FIGS. 2A-4 does not describe the explicit process by which federated user lifecycle management can be achieved in an advantageous manner in the federated domain of a federated partner.

연합 사용자 라이프사이클 관리 기능성/서비스는 다수의 연합 도메인에서 주어진 사용자의 사용자 프로파일 또는 특정 사용자 계정에 대하여 연합 동작을 지원하거나 관리하는 기능을 포함하고, 임의의 경우, 기능 또는 동작은 사용자에 대한 주어진 연합 세션으로 한정된다. 바꾸어 말하면, 연합 사용자 라이프사이클 관리 기능은 가능하면 연합 컴퓨팅 환경 내의 단일 사용자 세션의 라이프사이클 동안만 복수의 연합 파트너를 통해 연합 동작의 관리를 허용하는 동작을 참조한다.Federated user lifecycle management functionality / service includes the ability to support or manage federated behavior for a given user's user profile or specific user account in multiple federated domains, in which case the function or behavior is a given federation for a user It is limited to sessions. In other words, the federated user lifecycle management function refers to an operation that allows management of federated operations through multiple federated partners only during the lifecycle of a single user session within the federated computing environment, if possible.

각각의 연합 도메인은 각각의 연합 도메인에서의 기능에 대하여 사용자 계정, 사용자 프로파일, 임의의 종류의 사용자 세션을 관리한다. 예를 들어, 특정 연합 도메인은 특정 연합 도메인 내의 로컬 사용자 계정 또는 사용자 프로파일을 관리하지 않지만, 연합 도메인은 연합 도메인에서 싱글-사인-온 동작의 성공적인 완료 후에 연합 트랜잭션에 대한 로컬 사용자 세션을 관리한다. 특정 연합 도메인에 의해 지원되는 연합 사용자 라이프사이클 관리 기능성의 일부로서, 연합 도메인은 연합 트랜잭션이 종료된 후에 연합 도메인이 로컬 사용자 세션을 종료하도록 하는 싱글-사인-오프 동작에 참여하여, 보안을 개선하고 리소스의 효율적인 사용을 촉구한다.Each federated domain manages user accounts, user profiles, and any kind of user session for functionality in each federated domain. For example, a particular federated domain does not manage local user accounts or user profiles within a particular federated domain, but a federated domain manages local user sessions for federated transactions after successful completion of single-sign-on operations in the federated domain. As part of the federated user lifecycle management functionality supported by a particular federated domain, the federated domain participates in a single-sign-off operation that allows the federated domain to terminate local user sessions after the federated transaction ends, thereby improving security and Promote efficient use of resources.

연합 사용자 라이프사이클 관리 기능성의 사용의 다른 예에서, 사용자는 다수의 연합 도메인의 참가를 요구하는 온라인 트랜잭션에 관여한다. 연합 도메인은 연합 도메인을 포함하는 사용자의 연합 세션 동안 연합 도메인에 대하여 사용자 경험을 맞추기 위하여 사용자 프로파일을 국부적으로 관리한다. 특정 연합 도메인에 의해 지원되는 연합 사용자 라이프사이클 관리 기능성의 일부로서, 연합 도메인의 로컬 사용자 프로파일 내의 정보가 주어진 연합 트랜잭션에 참여하는 다른 연합 도메인에서 다른 프로파일로부터 정보를 갖는 주어진 연합 트랜잭션 동안 심리스(seamless) 방식으로 사용될 수 있다. 예를 들어, 사용자의 다수의 로컬 사용자 프로파일로부터의 정보는 임의의 유형의 병합 동작으로 결합되어 사용자가 사용자 정보의 다른 출처 또는 소스를 알지 못하는 방식으로 사용자의 정보가 웹 페이지 내에서 사용자에게 시각적으로 제시되도록 한다. In another example of the use of federated user lifecycle management functionality, a user is involved in an online transaction that requires participation of multiple federated domains. The federated domain locally manages user profiles to tailor the user experience with respect to the federated domain during federation sessions of users including the federated domain. As part of the federated user lifecycle management functionality supported by a particular federated domain, information in the federated domain's local user profile is seamless during a given federated transaction with information from another profile in another federated domain participating in the given federated transaction. Can be used in a manner. For example, information from a user's multiple local user profiles can be combined into any type of merge operation so that the user's information is visually presented to the user within a web page in such a way that the user does not know another source or source of the user's information. To be presented.

연합 사용자 라이프사이클 관리 기능성은 또한 계정 링크/해제를 위한 기능을 포함할 수 있다. 사용자에게 연합 사용자를 통해 단일 사용자 식별자가 제공되어 하나의 연합 파트너에서 요구의 이행의 일부로서 사용자에 대한 속성의 검색 및 싱글-사인-온을 허용한다. 또한, 연합 파트너는 공통 단일 사용자 식별자를 사용하여 아이덴티티 제공자로부터 추가의 속성을 요구하여 익명으로 사용자를 참조할 수 있다.Federated user lifecycle management functionality may also include functionality for linking / unlinking accounts. A single user identifier is provided to the user through the federated user to allow single federated retrieval and single sign-on of attributes for the user as part of the fulfillment of the request in one federated partner. In addition, the federation partner may refer to the user anonymously by requesting additional attributes from the identity provider using a common single user identifier.

연합 사용자 라이프사이클 관리 기능성을 사용하여 달성될 수 있는 다른 예의 동작을 설명한 후에, 이하의 나머지 도면은 본 발명이 본 발명의 바람직한 실시예에 따라 및 유리한 방식으로 연합 사용자 라이프사이클 관리 기능성을 제공하고 지원하는 방식을 설명한다.After describing other example operations that can be achieved using federated user lifecycle management functionality, the remaining figures below provide and support federated user lifecycle management functionality in accordance with the preferred embodiments of the present invention and in an advantageous manner. Explain how to do it.

도 5는 본 발명의 실시예에 따른 연합 사용자 라이프사이클 관리 기능성을 구현하는 연합 도메인 내의 컴포넌트 중의 일부를 나타내는 블록도이다. 도 5는 도 2c에 도시된 기업(250)에 의해 동작되는 연합 도메인 등의 단일 연합 도메인에서의 엘리먼트를 나타낸다. 도 5에 도시된 엘리먼트의 일부는 도 2b 등의 다른 도면을 참조하여 위에서 설명한 엘리먼트와 유사하거나 같다. 즉, 접점 서버/서비스(502)는 접점 서버(242)와 동등하고, 애플리케이션 서버(504), 즉, 리소스 제어 서비스는 애플리케이션 서버(234)와 동등하고, 보호 또는 제어 리소스(506)는 보호 리소 스(235)와 동등하고, 연합 사용자 라이프사이클 관리(FULM) 애플리케이션(508)은 연합 사용자 라이프사이클 관리 서버(246)와 동등하다. 방화벽이 도 2b에는 도시되어 있지 않지만 도 5에는 방화벽이 도시되어 있다. 방화벽(510 및 512)은 예를 들어 인터넷을 통해 기업의 도메인의 외부의 컴퓨팅 위협으로부터 기업의 컴퓨팅 환경을 보호하는 외부 DMZ(electronic DeMilitarized Zone)을 형성한다.5 is a block diagram illustrating some of the components in a federated domain that implement federated user lifecycle management functionality in accordance with an embodiment of the present invention. FIG. 5 illustrates elements in a single federated domain, such as a federated domain operated by enterprise 250 shown in FIG. 2C. Some of the elements shown in FIG. 5 are similar to or the same as the elements described above with reference to other figures such as FIG. 2B. That is, the contact server / service 502 is equivalent to the contact server 242, the application server 504, i.e., the resource control service is equivalent to the application server 234, and the protection or control resource 506 is the protected resource. Equivalent to resource 235 and federated user lifecycle management (FULM) application 508 is equivalent to federated user lifecycle management server 246. A firewall is not shown in FIG. 2B, but a firewall is shown in FIG. 5. Firewalls 510 and 512 form an external electronic demilitarized zone (DMZ) that protects the enterprise's computing environment from computing threats outside the enterprise's domain, for example, over the Internet.

도 5 및 도 2b에 도시된 상이한 관점은 비호환 또는 상치가 아니다. 도 5에 도시된 예와 대조적으로, 도 2b는 방화벽을 나타내지 않으며 접점 서버(242)가 연합 전단(240) 내에 상주한다. 또한, 연합 사용자 라이프사이클 관리 서버(246)는 연합 전단(240) 내에 포함된다. 도 5에서, 접점 서버(502)는 기업 도메인에게 전자 또는 물리적 전단을 형성하는 방화벽(510 및 520) 사이의 DMZ 내에 상주하는 것으로 도시되어 있다. 또한, 연합 사용자 라이프사이클 관리 애플리케이션/서비스(508)는 방화벽(512) 뒤에 전자적으로 상주한다. 상이한 관점이 도 5의 DMZ 및 다른 컴포넌트를 연합 컴포넌트를 포함할 수 있는 물리적 또는 전자 전단 및 물리적 또는 전자 후단을 형성하는 것으로 간주하면서 도 2b의 연합 전단(240) 및 후단(230)을 컴포넌트의 논리적 조직으로서 간주함으로써 조정될 수 있다.The different aspects shown in FIGS. 5 and 2B are not incompatible or incompatible. In contrast to the example shown in FIG. 5, FIG. 2B does not represent a firewall and the contact server 242 resides within the federation front end 240. In addition, federated user lifecycle management server 246 is included within federated front end 240. In FIG. 5, the contact server 502 is shown residing in a DMZ between firewalls 510 and 520 forming an electronic or physical shear in the corporate domain. In addition, federated user lifecycle management application / service 508 resides electronically behind firewall 512. Different views consider the DMZ and other components of FIG. 5 to form a physical or electronic front end and a physical or electronic back end that may include the federated component, while the combined front end 240 and the rear end 230 of FIG. Can be adjusted by considering it as an organization.

접점 엔티티/서비스의 역할을 되풀이하면, 접점 엔티티는 기업의 컴퓨팅 환경에서 연합 기능성과의 적어도 사용자 상호작용에 대하여 세션 관리를 제공하고, 기업의 컴퓨팅 환경의 레가시 후단 내의 애플리케이션은 자신의 관리 기능성을 구현할 수 있다. 기업이 연합 컴퓨팅 환경에 대하여 폴리시 기능성을 구현하는 것으로 가정하면, 접점 엔티티는 다른 연합 파트너의 폴리시 결정 포인트에 대한 폴리 시 강화 포인트로서 동작할 수 있다. 또한, 연합 기능성의 구현이 허용되는 것으로 가정하면, 접점 엔티티는 싱글-사인-온 동작이 채용되지 않은 시나리오에서 사용자에 대하여 방향 인증 동작을 개시할 책임이 있다. 접점 엔티티가 다양한 형태, 예를 들어, 리버스 프록시 서버, 웹 서버 플러그인 또는 임의의 다른 방식으로 구현될 수 있다. 접점 기능성은 또한 애플리케이션 서버 자체 내에서 구현될 수 있고, 이 경우, 연합 사용자 라이프사이클 관리 서비스가 DMZ 내에 위치할 수 있다.Recurring the role of a contact entity / service, the contact entity provides session management for at least user interaction with federated functionality in the enterprise computing environment, and applications within the legacy backend of the enterprise computing environment may implement their own management functionality. Can be. Assuming an enterprise implements policy functionality for a federated computing environment, the contact entity can act as a policy enhancement point for the policy decision point of another federation partner. Further, assuming that implementation of federated functionality is allowed, the contact entity is responsible for initiating a direction authentication operation for the user in a scenario in which no single-sign-on operation is employed. The contact entity may be implemented in various forms, such as a reverse proxy server, web server plug-in, or any other way. Contact functionality can also be implemented within the application server itself, in which case the federated user lifecycle management service can be located within the DMZ.

더 중요하게, 도 5를 다시 참조하면, 연합 사용자 라이프사이클 관리 애플리케이션(508)은 또한 도 2에 도시되지 않은 연합 사용자 라이프사이클 관리 플러그인(514)에 인터페이스하고 상호 작용하고 상호 동작하기 위한 지원을 포함한다. 본 발명에서, 연합 프로토콜 런타임 플러그인은 바람직하게 WS-연합 패시브 클라이언트, 자유 동맹 ID-FF 싱글-사인-온(B/A, B/P 및 LECP), 레지스터 이름 식별자, 연합 종료 통지, 및 싱글 로그아웃 등의 다양한 유형의 독립적으로 공개되거나 개발된 연합 사용자 라이프 사이클 관리 표준 또는 프로파일에 대한 기능성을 제공한다.More importantly, referring back to FIG. 5, the federated user lifecycle management application 508 also includes support for interfacing, interacting, and interacting with the federated user lifecycle management plug-in 514 not shown in FIG. 2. do. In the present invention, the federated protocol runtime plug-in is preferably a WS-federated passive client, a free alliance ID-FF single-sign-on (B / A, B / P, and LECP), register name identifier, federation end notification, and single log. Provides functionality for independently published or developed federated user lifecycle management standards or profiles of various types, such as out.

본 발명의 예시적인 실시예에서, 상이한 연합 프로토콜 세트가 상이한 URI에서 액세스될 수 있다. 이 어프로치는 연합 사용자 라이프사이클 관리 애플리케이션이 단일 애플리케이션 내의 연합 사용자 라이프사이클 관리의 다수의 표준 또는 사양, 예를 들어, WS-연합 웹 서비스 사양 대 자유 동맹 사양을 동시에 지원하도록 하여, 상이한 연합 프로토콜을 지원하는 전체 환경에 대한 구성 충돌을 최소화시킨다.In an exemplary embodiment of the invention, different federated protocol sets may be accessed at different URIs. This approach allows federated user lifecycle management applications to simultaneously support multiple standards or specifications of federated user lifecycle management within a single application, such as the WS-Federated Web Services Specification versus the Free Alliance specification, supporting different federated protocols. Minimize configuration conflicts for the entire environment.

특히, 적절한 연합 사용자 라이프사이클 관리 기능성은 연합 사용자 라이프사이클 관리 애플리케이션에 사용자 요구를 재전송 및/또는 전달함으로써 접점 서버에 의해 인보크된다. 도 5를 다시 참조하면, 접점 서버(502)는 사용자 요구(520)를 수신하여 수신된 요구의 유형을 결정하기 위하여 사용자 요구를 분석하며, 수신된 요구의 유형은 수신된 요구 메시지의 유형 또는 상술한 바와 같이 요구 메시지 내의 목적 URI를 결정함으로써 표시된다. 보호 리소스에 대한 요구(522)는 계속적으로 애플리케이션 서버(504)로 전달되고, 연합 사용자 라이프사이클 관리 기능에 대한 요구(524), 예를 들어 싱글-사인-오프 동작을 인보크하기 위한 요구는 수신된 요구를 이행하는데 필요한 적절한 연합 사용자 라이프사이클 관리 플러그인을 인보크하는 연합 사용자 라이프사이클 관리 애플리케이션(508)으로 전달된다. 새로운 연합 프로토콜 또는 새로운 연합 기능이 정의되거나 기존의 것이 수정 또는 개량되면, 새로운 지원 모듈을 플러그함으로써 지원이 추가되거나 이미 설치된 플러그인을 수정함으로써 지원이 개량될 수 있다.In particular, the appropriate federated user lifecycle management functionality is invoked by the point-of-contact server by resending and / or forwarding user requests to the federated user lifecycle management application. Referring back to FIG. 5, the contact server 502 receives the user request 520 and analyzes the user request to determine the type of request received, the type of request being received being the type of the request message received or described above. As indicated, this is indicated by determining the destination URI in the request message. The request for protected resources 522 is continuously forwarded to the application server 504, and the request for federated user lifecycle management functionality 524, e.g., a request to invoke a single-sign-off operation, is received. It is delivered to a federated user lifecycle management application 508 that invokes the appropriate federated user lifecycle management plug-in needed to fulfill the specified needs. As new federation protocols or new federation functions are defined, or existing ones are modified or improved, support may be added by plugging in new support modules or improved by modifying plug-ins already installed.

도 5의 연합 사용자 라이프사이클 관리 애플리케이션의 예시적인 구현은, 연합 사용자 라이프사이클 관리 애플리케이션이 유연한 플러그 가능성(pluggability)을 제공하면서 다수의 동시 연합 사용자 라이프사이클 관리 기능을 지원하여 기존의 인프라스트럭쳐에 임의의 변경을 요구하지 않는 것이 필요할 때 플러그인의 형태로 연합 사용자 라이프사이클 관리 애플리케이션에 새로운 기능성이 부가되도록 한다는 것을 나타낸다. 예를 들어, 본 발명이 자바 기반 연합 사용자 라이프사이클 관리 애플리케이션을 이용하여 구현되는 것으로 가정하면, 새롭게 공개된 싱글-사 인-온 프로토콜 등의 새로운 연합 프로토콜에 대한 지원은 연합 사용자 라이프사이클 관리 애플리케이션의 JavaTN CLASSPATH에 새롭게 개발된 JavaTM 클래스를 구성함으로써 추가될 수 있고, 새로운 클래스는 바람직한 실시예에 따라 본 발명의 프로토콜 인터페이스와 함께 새로운 표준을 지원한다.The exemplary implementation of the federated user lifecycle management application of FIG. 5 supports a number of simultaneous federated user lifecycle management functions while providing a flexible pluggability for the federated user lifecycle management application to support any existing infrastructure. Indicates that new functionality is added to the federated user lifecycle management application in the form of plug-ins when it is necessary not to require changes. For example, assuming that the present invention is implemented using a Java-based federated user lifecycle management application, support for new federated protocols, such as the newly published single-sign-on protocol, may be provided by the federated user lifecycle management application. It can be added by constructing a newly developed Java TM class in the Java TN CLASSPATH, and the new class supports the new standard with the protocol interface of the present invention according to the preferred embodiment.

본 발명은 바람직하게 연합 사용자 라이프사이클 관리 솔루션이 통합된 기존의 환경에 영향을 준다. 연합 사용자 라이프사이클 관리 애플리케이션은 전체 인프라스트럭쳐에 대한 최소한의 변경으로 진화함으로써 새로운 프로토콜/표준을 지원하도록 쉽게 수정될 수 있다. 새로운 연합 사용자 라이프사이클 관리 기능을 지원하는데 요구되는 임의의 변경은 연합 사용자 라이프사이클 관리 애플리케이션 내에서 대부분 배타적으로 위치하고, 추가된 기능성을 이해하기 위하여 연합 사용자 라이프사이클 관리 애플리케이션을 구성할 것을 요구한다.The present invention preferably affects existing environments in which federated user lifecycle management solutions are integrated. Federated user lifecycle management applications can be easily modified to support new protocols / standards by evolving with minimal changes to the entire infrastructure. Any changes required to support the new federated user lifecycle management functionality are mostly exclusively located within the federated user lifecycle management application and require the configuration of a federated user lifecycle management application to understand the added functionality.

기존 연합 사용자 라이프사이클 관리 기능성을 계속적으로 지원하면서 모든 인프라스트럭쳐가 새로운 연합 사용자 라이프사이클 관리 기능성을 인보크할 수 있도록 예를 들어 접점 서버에서 다른 연합 컴포넌트에 최소한의 구성 변경이 있을 수 있다. 그러나, 연합 사용자 라이프사이클 관리 애플리케이션이 연합 환경의 다른 연합 컴포넌트와의 최소한의 상호작용만을 요구할 수 있다는 점에서, 연합 사용자 라이프사이클 관리 애플리케이션은 연합 컴포넌트의 나머지와는 기능적으로 독립된다. 예를 들어, 예시적인 실시예에서, 자유 연맹 프로파일에 따른 이름 식별자 값 등의 연합 사용자 라이프사이클 관리 정보가 외부 엔티티에 액세스할 수 없는 개인 내부 연합 사용자 라이프사이클 관리 데이터스토어와 다르게 외부 액세스가능 연합 사용자 라이프사이클 관리 데이터스토어에 저장되어 있으면, 연합 사용자 라이프사이클 관리 기능성은 기업 기반 데이터스토어, 예를 들어, LDAP 데이터스토어와 통합될 수 있다.There may be minimal configuration changes, for example, from the point-of-flight server to other federated components, so that all infrastructure can invoke the new federated user lifecycle management functionality while continuing to support existing federated user lifecycle management functionality. However, the federated user lifecycle management application is functionally independent of the rest of the federated component in that the federated user lifecycle management application may require only minimal interaction with other federated components of the federated environment. For example, in an exemplary embodiment, federated user lifecycle management information, such as name identifier values according to a free federation profile, is externally accessible federated user, unlike a personal internal federated user lifecycle management datastore that does not have access to an external entity. If stored in a lifecycle management datastore, federated user lifecycle management functionality can be integrated with enterprise-based datastores, such as LDAP datastores.

그러므로, 본 발명의 바람직한 실시예에 따라 구현되면, 기존의 환경은 연합 사용자 라이프사이클 관리 기능성을 지원하기 위한 최소한의 변경을 필요로 한다. 또한, 새로운 기능성의 추가를 포함하여 연합 사용자 라이프사이클 관리 기능성에 대한 변경은 기존의 연합 환경에 최소한의 충격을 준다. 그러므로, 새로운 싱글-사인-온 표준이 공개되면, 이 표준을 위한 지원이 용이하게 추가된다.Therefore, when implemented in accordance with a preferred embodiment of the present invention, existing environments require minimal changes to support federated user lifecycle management functionality. In addition, changes to federated user lifecycle management functionality, including the addition of new functionality, have minimal impact on existing federated environments. Therefore, when a new single-sign-on standard is released, support for this standard is easily added.

전통적인 사용자 인증은 기업의 컴퓨팅 환경과 최종 사용자 간의 상호 작용을 포함하고, 기업이 이 인증 교환을 구현하도록 선택하는 방법은 임의의 다른 기업에 충격을 주지 않는 기업의 선택이다. 그러나, 연합 또는 크로스-도메인 싱글-사인-온 기능성이 지원되기를 원하면, 기업 파트너가 서로 상호 작용하는 요구사항이 있다. 이 요구사항은 개인 프로토콜을 이용하여 스칼라적으로 수행될 수 없다. 접점 엔티티에 직접 표준 기반 연합 프로토콜에 대한 지원을 추가하는 것은 강력한 솔루션처럼 보이지만, 기업의 컴퓨팅 환경 내의 기존의 컴포넌트인 접점 엔티티가 수정되어야 하며, 공중 연합 프로토콜 중의 하나가 변경될 때마다 변경되어야 한다.Traditional user authentication involves the interaction between an enterprise's computing environment and the end user, and the way a company chooses to implement this authentication exchange is a company's choice that does not impact any other company. However, if federated or cross-domain single-sign-on functionality is desired to be supported, there is a requirement for enterprise partners to interact with each other. This requirement cannot be performed scalar using private protocols. Adding support for standards-based federation protocols directly to the contact entity appears to be a powerful solution, but existing entities within the enterprise computing environment, the contact entity, must be modified and changed whenever one of the public federation protocols changes.

본 발명은 바람직하게 접점 엔티티 밖으로 이 기능성을 이동시킴으로써 더 많은 모듈 접근을 제공한다. 그러나, 접점 엔티티는 이들 공중 프로토콜에 대한 빈 번한 변경을 처리해야 하고, 이 기능성이 플러그 가능하게 되는 것은 이들 프로토콜에 대한 마이그레이션 또는 업데이트를 유지하게 한다.The present invention preferably provides more modular access by moving this functionality out of the contact entity. However, the contact entity must handle frequent changes to these public protocols, and this functionality being pluggable allows to maintain migrations or updates to these protocols.

연합 사용자 라이프사이클 관리에 대한 기능적 지원Functional support for federated user lifecycle management

자유 연맹 ID-FF 프로파일 또는 WS-연합 사양 등의 종래의 표준 기반 싱글-사인-온 솔루션은 연합 사용자 라이프사이클 관리에 대한 모델을 어느 정도 제공한다. 이들 사양은 공개적으로 이용가능하며 독립적인 판매자 및 비즈니스에 의해 구현될 수 있다. 그러나, 이 종래의 사양은 기존 환경이 사양 내에 정의된 기능성을 포함시키기 위하여 변경되어야 하는 방법을 처리하지 않는다. 이 종래 사양에는 특정 기능성을 병합하기 위하여 기존 컴퓨팅 환경의 인프라스트럭쳐에 요구되는 변경이 이들 사양의 채택을 금지하는 것이 암시되어 있다. 예를 들어, 모든 종래의 개인 싱글-사인-온 솔루션은 이 방식으로 동작한다.Conventional standards-based single-sign-on solutions, such as the Free Federation ID-FF Profile or WS-Federation Specification, provide some model for federated user lifecycle management. These specifications are publicly available and can be implemented by independent sellers and businesses. However, this conventional specification does not address how existing environments must be modified to include the functionality defined within the specification. This prior specification suggests that changes required to the infrastructure of an existing computing environment to incorporate certain functionality prohibit the adoption of these specifications. For example, all conventional personal single-sign-on solutions work this way.

대조적으로, 본 발명은 바람직하게 상술한 바와 같이 기존의 컴퓨팅 환경의 인프라스트럭쳐에 최소한의 변경이 요구되도록 연합 사양을 구현하는 기능성을 병합하기 위한 방법 및 시스템을 제공한다. 이 목표는 또한 연합 사용자 라이프사이클 관리를 지원하는 기능성의 병합에 적용될 수 있다. 도 2b 및 도 5는 연합 사용 라이프사이클 관리 기능성에 대하여 본 발명의 일 실시예를 구현하는데 사용되는 컴포넌트의 논리적 조직의 예를 나타내지만, 도 6은 본 발명의 일 실시예에 따라 연합 사용자 라이프사이클 관리 기능성을 허용하는 프로세스를 나타낸다.In contrast, the present invention preferably provides a method and system for incorporating functionality to implement a federated specification such that minimal changes are required to the infrastructure of an existing computing environment as described above. This goal can also be applied to the integration of functionality to support federated user lifecycle management. 2B and 5 illustrate examples of logical organization of components used to implement one embodiment of the present invention for federated use lifecycle management functionality, while FIG. 6 illustrates a federated user lifecycle in accordance with one embodiment of the present invention. Represents a process that allows for administrative functionality.

특히, 도 6은 접점 기능성이 연합 도메인 내에서 구현되는 방식과 독립적인 방식으로 연합 사용자 라이프사이클 관리 기능성이 구현되도록 하는 프로세스를 나 타낸다. 접점 기능성 엔티티는 사용자/클라이언트에 대한 세션 관리를 수행할 수 있는 엔티티에 대응한다. 세션 관리는 이전의 성공적인 직접적인 인증 동작, 현재의 성공적인 직접적인 인증 동작 및/또는 성공적인 싱글-사인-온 동작이든 간에, 임의의 형태의 정보에 기초하여 세션을 생성하는 것을 포함한다. 세션 관리는 또한 선택적인 권한부여 결정을 포함할 수 있는 세션에 관한 다른 동작을 포함할 수 있고 세션 만료, 삭제, 무활동 타임아웃 등의 세션 종료를 포함할 수 있다. 접점 서버는 사용자와의 직접적인 신청/응답 상호작용을 처리할 수 있는 인증 동작에 대한 지원을 계속적으로 제공할 수 있다. 접점 엔티티는 또한 폴리시 강화 포인트로서 작용하여 세션 관리의 일부로서 인증 서비스를 허용한다.In particular, FIG. 6 illustrates a process that allows federated user lifecycle management functionality to be implemented in a manner independent of how contact functionality is implemented within the federated domain. The contact functional entity corresponds to an entity capable of performing session management for a user / client. Session management includes creating a session based on any form of information, whether a previous successful direct authentication operation, a current successful direct authentication operation, and / or a successful single-sign-on operation. Session management may also include other actions on the session that may include optional authorization decisions and may include session termination, such as session expiration, deletion, inactivity timeout, and the like. The touch point server can continue to provide support for authentication operations that can handle direct request / response interactions with the user. The contact entity also acts as a policy enforcement point to allow authentication services as part of session management.

연합 사용자 라이프사이클 관리 기능성은 (연합 동작과 함께) 싱글-사인-온 서비스를 제공한다. 그 이유는 이들 동작은 최종 사용자가 아닌 아이덴티티 제공자 등의 제3자와의 상호 작용을 포함하기 때문이며, 연합 사용자 라이프사이클 관리 기능성은 세션 관리 서비스에 대한 접점 관리에 의지한다. 연합 사용자 라이프사이클 관리 기능성은 이하에서 상세히 설명되는 바와 같이 임의의 다른 컴포넌트에 의해 제공되는 트러스트 서비스를 요구하거나 의지한다. 트러스트 서비스는 연합 사용자 라이프사이클 관리 컴포넌트와 공존하는 논리적으로 분리된 컴포넌트 또는 분산 컴포넌트를 포함하여 논리적으로 분리되도록 구현되거나, 트러스트 서비스는 EAR 파일 등의 단일 애플리케이션의 일부로서 연합 사용자 라이프사이클 관리와 함께 구현될 수 있다.Federated user lifecycle management functionality provides single-sign-on services (along with federated operations). This is because these operations involve interaction with third parties, such as identity providers, and not end users, and federated user lifecycle management functionality relies on contact management for session management services. The federated user lifecycle management functionality requires or relies on the trust service provided by any other component as described in detail below. Trust services are implemented to be logically separated, including logically separated components or distributed components that coexist with federated user lifecycle management components, or trust services are implemented with federated user lifecycle management as part of a single application, such as an EAR file. Can be.

선행하는 설명에서는 도메인 내에서 지원되는 전용 접점 서버를 설명하였지 만, 도 6를 참조하여 설명하는 프로세스는 전용 접점 서버를 필요로 하지 않는다. 도 6에 도시된 본 발명의 실시예에서, 접점 기능성은 접점 기능성을 제공하는 임의의 애플리케이션 또는 다른 엔티티를 사용하여 구현될 수 있고, 접점 애플리케이션은 리버스 프록시 서버, 웹 서버, 웹 서버 플러그인, 서브릿 필터 또는 임의의 다른 유형의 서버 또는 애플리케이션일 수 있다. 상술한 접점 서버에 대하여 후속 실시예를 구현하기 위한 예시적인 프로세스에 대하여 후술하는 접점 기능성을 구분하기 위하여 접점 기능성은 접점 서비스 또는 접점 엔티티로서 참조된다.Although the preceding description has described a dedicated point of contact server supported in a domain, the process described with reference to FIG. 6 does not require a dedicated point of contact server. In the embodiment of the present invention shown in FIG. 6, the contact functionality may be implemented using any application or other entity that provides contact functionality, which may be a reverse proxy server, web server, web server plug-in, servlet filter. Or any other type of server or application. Contact functionality is referred to as a contact service or contact entity to distinguish contact functionality described below with respect to the exemplary process for implementing subsequent embodiments for the contact server described above.

도 6은 연합 컴퓨팅 환경 내의 싱글-사인-온 동작을 나타내지만, 유사한 프로세스가 본 발명의 다른 실시예에 따라 다른 유형의 연합 동작, 예를 들어, 싱글-사인-오프 동작을 위하여 구현될 수 있다.6 illustrates single-sign-on operation within a federated computing environment, but similar processes may be implemented for other types of federated operations, eg, single-sign-off operations, in accordance with other embodiments of the present invention. .

도 6을 참조하면, 데이터 흐름도는 본 발명의 일 실시예에 따라 연합 사용자 라이프사이클 관리 기능성을 사용하여 싱글-사인-온을 수행하는 프로세스를 나타낸다. 도 6은 특히 제공되는 연합 사용자 라이프사이클 관리 기능성에 대하여 본 발명의 바람직한 실시예에 따라 연합 기능성을 지원하는 서비스 제공자와 아이덴티티 제공자 사이의 상호 작용 및 데이터 흐름의 의사 UML 도를 나타낸다. 일반적으로, 도 6에 도시된 프로세스는 서비스 제공자의 연합 컴퓨팅 환경 내에서 지원되는 보호 리소스에 대한 요구를 서비스 제공자의 접점 엔티티가 수신했을 때 개시된다. 자신의 인증 방법을 인보크하는 대신에, 서비스 제공자의 접점 엔티티는 요구를 재전송하거나, 요구를 전송하거나, 기능성을 인보크하여 아이덴티티 제공자의 연합 컴퓨팅 환경 내에서 지원되는 연합 사용자 라이프사이클 관리 애플리케이션에 초기 요구를 전송한다. 후에 상세히 설명되는 바와 같이, 연합 사용자 라이프사이클 관리 애플리케이션은 사용자를 인증하는 적절한 방법 및 접점 엔티티에 의해 요구되는 정보를 접점 엔티티로 반환하는 적절한 방법을 결정하여 서비스 제공자에서 사용자에 대한 세션을 개시하고 사용자가 서비스 제공자와 함께 직접 인증 동작을 완료한 것처럼 서비스 제공자에서 사용자의 트랜잭션의 나머지를 프로세싱한다.Referring to FIG. 6, a data flow diagram illustrates a process for performing single-sign-on using federated user lifecycle management functionality in accordance with an embodiment of the present invention. FIG. 6 shows a pseudo UML diagram of the interaction and data flow between a service provider and an identity provider supporting federated functionality in accordance with a preferred embodiment of the present invention, in particular for federated user lifecycle management functionality provided. In general, the process shown in FIG. 6 is initiated when a service provider's contact entity has received a request for a protected resource supported within the service provider's federated computing environment. Instead of invoking their authentication method, the service provider's contact entity may resend the request, send the request, or invoke the functionality to initiate a federated user lifecycle management application supported within the federated computing environment of the identity provider. Send the request. As described in detail later, the federated user lifecycle management application determines the proper way to authenticate a user and the proper way to return the information required by the contact entity to the contact entity to initiate a session for the user at the service provider and The service provider processes the remainder of the user's transaction as if he had completed the authentication operation directly with the service provider.

도 6의 프로세스는 인증되지 않은 사용자로부터 제어 리소스에 대한 본래의 요구를 서비스 제공자의 접점 엔티티에서 수신함으로써 개시된다 (단계 602). 수신된 요구가 좀 더 복잡한 트랜잭션을 지원하는 많은 다운스트림 트랜잭션 중의 하나이더라도, 본래의 요구는 사용자에 대한 트랜잭션을 개시하는 것으로서 간주될 수 있다. 일 실시예에서, 서비스 제공자는 서비스 제공자가 진행중인 세션의 레코드를 갖지 않는 최종 사용자 또는 최종 애플리케이션으로부터의 요구를 검출함으로써 본래의 요구가 인증되지 않은 사용자로부터 온 것임을 결정할 수 있다.The process of FIG. 6 is initiated by receiving at the point of contact at the service provider an original request for a control resource from an unauthorized user (step 602). Although the received request is one of many downstream transactions that support more complex transactions, the original request can be considered as initiating a transaction for the user. In one embodiment, the service provider may determine that the original request is from an unauthorized user by detecting a request from an end user or end application that the service provider does not have a record of an ongoing session.

접점 엔티티는 기능성을 재전송, 전송 또는 인보크하는 요구를 발생시켜 서비스 제공자에서 연합 사용자 라이프사이클 관리 애플리케이션에 본래의 요구를 전송한다 (단계 604). 접점 엔티티는 연합 사용자 라이프사이클 관리 기능성이 아이덴티티 제공자로 전송되어야 하는 응답 메시지를 만들도록 하는 연합 사용자 라이프사이클 관리 기능성을 인보크하는 임의의 수단을 사용할 수 있고, 바꾸어 말하면, 접점 엔티티는 복잡한 싱글-사인-온 메시지를 제공/응답하는 기능성을 포함하지 않는다. 도 6에 도시된 예에서, 본래의 요구는 발신 애플리케이션, 예를 들어 최종 사용자에 의해 동작되고 있는 브라우저 애플리케이션을 통해 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션으로 재전송된다 (단계 606).The contact entity issues a request to resend, send, or invoke the functionality to send the original request from the service provider to the federated user lifecycle management application (step 604). The contact entity may use any means of invoking federated user lifecycle management functionality that causes the federated user lifecycle management functionality to produce a response message that should be sent to the identity provider, in other words, the contact entity may be a complex single-sign Does not include functionality to provide / respond on messages. In the example shown in FIG. 6, the original request is redirected to the service provider's federated user lifecycle management application via the originating application, eg, a browser application being operated by the end user (step 606).

요구를 수신한 후에, 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션은 최종 사용자 애플리케이션과 통신함으로써 사용자에 대한 적절한 아이덴티티 제공자를 결정한다 (단계 608). 이 단계는 선택적이며, 아이덴티티 제공자가 특정 연합 컴퓨팅 환경 내의 서비스 제공자의 연합 파트너이면, 서비스 제공자는 이미 아이덴티티 제공자의 접점 엔티티의 콘택 정보 또는 위치에 대한 정보, 예를 들어, URL로 구성될 수 있고, 다른 방법으로, 서비스 제공자는 룩업 동작을 수행하여 최종 사용자의 트랜잭션에 사용되는 특정 아이덴티티 제공자의 아이덴티티를 결정한 후에 아이덴티티 제공자의 접점 엔티티의 콘택 정보 또는 위치를 얻을 수 있다. 임의의 경우, 서비스 제공자는 하나의 아이덴티티 제공자에 대해서만 알 수 있기 때문에, 서비스 제공자는 사용되는 아이덴티티 제공자의 아이덴티티를 알 수 있고 따라서, 어떤 선택도 포함되지 않는다. 다른 경우, 서비스 제공자는 지속적인 HTTP 쿠키 등의 사용자측에서 유지되는 지속적인 정보에 기초하여 아이덴티티 제공자의 아이덴티티를 알 수 있다. 또 다른 경우, 서비스 제공자는 단계(608)에서 사용자와 상호 작용하여 사용자가 현재의 연합 트랜잭션에 채용하기를 원하는 아이덴티티 제공자의 아이덴티티에 대하여 사용자가 서비스 제공자에 정보를 제공하도록 할 수 있다. 서비스 제공자가 아이덴티티 제공자의 아이덴티티를 가지면, 서비스 제공자는 적절한 데이터스토어로부터 아이덴티티 제공자의 싱글-사인-온 기능성 (또는 현재 완료된 트랜잭션 또는 연합 동작의 유형에 의존하는 다른 연합 기능성)에 대한 적절한 URI를 얻을 수 있다. 본 발명은 바람직하게 단계(608)를 수행하는 다른 방법과 호환될 수 있으며, 자유 연맹 사양은 사용자가 쿠키로부터의 정보가 얻어질 수 있는 임의의 다른 사이트로 재전송하는 상호 작용을 기재하며(DNS 쿠키에 대하여 동작에 대한 제한 때문에 이 방식으로 수행됨), 사용자 상호 작용을 전송하지 않고, 예를 들어, 사용자가 HTML 폼 내의 정보를 제공하지 않고, 연합 사용자 라이프사이클 관리 기능성으로 반환된다. After receiving the request, the federated user lifecycle management application of the service provider determines the appropriate identity provider for the user by communicating with the end user application (step 608). This step is optional and if the identity provider is a federated partner of a service provider within a particular federated computing environment, then the service provider may already consist of information about the contact information or location of the contact entity of the identity provider, eg, a URL, Alternatively, the service provider may obtain the contact information or the location of the contact entity of the identity provider after performing a lookup operation to determine the identity of the particular identity provider used in the end user's transaction. In any case, since the service provider only knows about one identity provider, the service provider can know the identity of the identity provider used and thus does not include any choice. In other cases, the service provider may know the identity of the identity provider based on persistent information maintained at the user side, such as persistent HTTP cookies. In another case, the service provider may interact with the user at step 608 to allow the user to provide information to the service provider about the identity of the identity provider that the user wishes to employ in the current federated transaction. If the service provider has the identity provider's identity, the service provider can obtain the appropriate URI for the identity provider's single-sign-on functionality (or other federated functionality depending on the type of transaction or federation operation currently completed) from the appropriate datastore. have. The present invention is preferably compatible with other methods of performing step 608, where the free federation specification describes the interaction that a user retransmits to any other site from which cookies can be obtained (DNS cookies). Is performed in this manner because of the limitations on the operation for the user), without sending user interaction, for example, without the user providing information in an HTML form, and returned to federated user lifecycle management functionality.

서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션은 아이덴티티 제공자의 연합 사용자 라이프사이클 관리 기능 또는 동작에 대한 요구(단계 610),예를 들어, 싱글-사인-온 동작을 성공적으로 완료하기 위한 임의의 적절한 정보를 얻기 위한 요구를 발생시키고 전송한다. 요구는 아이덴티티 제공자가 서비스 제공자로부터의 통신을 믿을 수 있다는 것을 나타내는 보안 토큰에 의해 달성되거나 구현될 수 있고, 바람직하게, 서비스 제공자와 아이덴티티 제공자 간의 트러스트는 요구 메시지 상의 서명 및 암호에 의해 제공되고, 보안 토큰은 요구를 수반하는 디지털 인증서에 의해 표시될 수 있다. 연합 사용자 라이프사이클 관리 동작은 최종 애플리케이션에 의해 서비스 제공자에게 제공되는 요구의 유형에 독립적인 다양한 방식으로 수행될 수 있기 때문에, 연합 사용자 라이프사이클 관리 동작에 대한 요구는 최종 사용자 애플리케이션으로부터의 본래의 요구에 대한 정보에 의해 수반될 수 있다. The service provider's federated user lifecycle management application may request any appropriate information for successfully completing the identity provider's federated user lifecycle management function or operation (step 610), e.g., a single-sign-on operation. Generate and send a request to get. The request may be accomplished or implemented by a security token indicating that the identity provider can trust the communication from the service provider, and preferably, the trust between the service provider and the identity provider is provided by a signature and a cipher in the request message and secured. The token may be represented by a digital certificate accompanying the request. Since federated user lifecycle management operations can be performed in a variety of ways independent of the type of request provided to the service provider by the end application, the need for federated user lifecycle management operations is dependent upon the original needs from the end user application. It may be accompanied by information about.

연합 사용자 라이프사이클 관리 기능 또는 동작에 대한 요구가 수신되고 최종 애플리케이션을 통해 아이덴티티 제공자의 접점 엔티티에 대한 이전에 결정된 콘택 정보를 사용하여 아이덴티티 제공자의 접점 엔티티로 재전송된다 (단계 612). 본 발명은 바람직하게 단계(612)를 달성하는 다양한 방법과 호환되고, 예를 들어, 자유 동맹 사양은 장치에 따른 재전송의 유형에 대한 허용을 가지며, 본 발명의 바람직한 실시예의 연합 사용자 라이프사이클 관리 기능은 인터넷에 대한 모바일 장치에 기초한 HTTP POST 메시지를 사용하여 상태값 "302"를 갖는 HTTP 응답에 응답하는 HTTP 재전송과 상태값 "200"(OK)를 갖는 HTTP 응답에 응답하는 HTTP 재전송 사이를 교환할 수 있다.A request for federated user lifecycle management function or operation is received and retransmitted via the end application to the identity provider of the identity provider using previously determined contact information for the identity entity of the identity provider. The present invention is preferably compatible with various methods of achieving step 612, for example, the free alliance specification allows for the type of retransmission according to the device, and the federated user lifecycle management function of the preferred embodiment of the present invention. Uses HTTP POST messages based on mobile devices to the Internet to exchange between HTTP retransmissions in response to an HTTP response with status value "302" and HTTP retransmissions in response to an HTTP response with status value "200" (OK). Can be.

아이덴티티 제공자의 접점 엔티티가 연합 사용자 라이프사이클 관리 기능 또는 동작에 대한 요구를 수신한 후, 아이덴티티 제공자의 접점 엔티티는 최종 사용자의 애플리케이션 또는 최종 사용자에 대하여 선택적 인증 동작을 수행할 수 있다 (단계 614). 아이덴티티 제공자가 사용자에 대한 유효 세션을 갖지 않으면 인증 동작이 항상 요구되고, 인증 작용없이, 아이덴티티 제공자가 싱글-사인-온 목적에 대하여 사용자가 누구인지를 결정할 수 없다. 사용자가 여전히 활동하고 있다는 것을 확보하기 위하여 또는 더 높은 레벨의 인증서를 증명할 수 있기 위하여 사용자에 대한 유효 세션이 있는 경우에는 인증이 요구될 수 있다. 서비스 제공자는 새로운 인증 동작이 아이덴티티 제공자에 의해 수행되어서는 안된다는 것을 지정하여 사용자에 대한 유효 세션이 없는 경우 싱글-사인-온 동작이 실패하도록 할 수 있다. 인증 동작의 유형은 자동으로 수행되거나 사용자, 생물 측정 또는 다른 유형의 인증 장치, 또는 다른 정보 소스로부터의 입력을 요구하도록 변경될 수 있다. 예를 들어, 새로운 인증 동작이 요구되어 최종 사용자가 본래의 요구 내의 식별된 제어 리소스에 대한 권한부여된 요구자인 것을 보증하는 높은 레벨의 보안을 유지하면, 인 증 동작이 요구될 수 있다. 다른 시나리오에서, 인증 동작이 요구될 수 있지만, 아이덴티티 제공자의 접점 엔티티는 아이덴티티 제공자가 이미 최종 사용자에 대한 액티브 세션을 갖는다는 것을 나타내는 정보로 액세스하여, 단계(614)에서 후속의 인증 동작을 완료할 필요성을 제거한다.After the contact entity of the identity provider receives a request for a federated user lifecycle management function or operation, the contact entity of the identity provider may perform an optional authentication operation on the end user's application or end user (step 614). If the identity provider does not have a valid session for the user, then an authentication operation is always required and without the authentication action, the identity provider cannot determine who the user is for single-sign-on purposes. Authentication may be required if there is a valid session for the user to ensure that the user is still active or to be able to prove a higher level certificate. The service provider may specify that a new authentication operation should not be performed by the identity provider to cause the single-sign-on operation to fail if there is no valid session for the user. The type of authentication operation may be performed automatically or changed to require input from a user, biometric or other type of authentication device, or other information source. For example, if a new authentication operation is required to maintain a high level of security that ensures that the end user is an authorized requestor for the identified control resource in the original request, the authentication operation may be required. In another scenario, an authentication operation may be required, but the contact entity of the identity provider accesses information indicating that the identity provider already has an active session for the end user, completing the subsequent authentication operation at step 614. Eliminate the need

아이덴티티 제공자의 접점 엔티티가 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션에 의해 아이덴티티 제공자의 연합 사용자 라이프사이클 관리 애플리케이션에 요구된 연합 사용자 라이프사이클 관리 기능 또는 동작에 대한 수신된 요구를 전송한다 (단계 616). 요구를 분석한 후에, 아이덴티티 제공자의 연합 사용자 라이프사이클 관리 애플리케이션은 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션에 의해 찾은 최종 사용자 특정 정보에 의해 수반된 응답을 형성한다 (단계 618). 예를 들어, 아이덴티티 제공자는 연합 컴퓨팅 환경 내에 저장되지 않은 최종 사용자에 대한 기밀 아이덴티티 정보 또는 다른 속성 정보를 포함하는 데이터베이스를 지원할 수 있다. 상술한 바와 같이, 연합 사용자 라이프사이클 관리 동작은 최종 사용자 애플리케이션에 의해 서비스 제공자에 제공되는 요구의 유형과 독립된 다양한 방식으로 수행될 수 있기 때문에, 연합 사용자 라이프사이클 관리 동작에 대한 수신된 요구는 최종 사용자 애플리케이션으로부터의 본래의 요구에 대한 정보에 의해 수반된다. 마찬가지로, 아이덴티티 제공자의 연합 사용자 라이프사이클 관리 애플리케이션으로부터의 응답은 본래 식별되고 제어된 리소스로 임의의 방식으로 테일러(tailor)될 수 있다.The identity provider of the identity provider sends the received request for the federated user lifecycle management function or operation required by the federated user lifecycle management application of the service provider to the federated user lifecycle management application of the identity provider (step 616). After analyzing the request, the federated user lifecycle management application of the identity provider forms a response accompanied by end user specific information found by the federated user lifecycle management application of the service provider (step 618). For example, the identity provider may support a database containing confidential identity information or other attribute information for end users not stored within the federated computing environment. As noted above, since the federated user lifecycle management operation may be performed in a variety of ways independent of the type of request provided to the service provider by the end user application, the received request for the federated user lifecycle management operation may be It is accompanied by information about the original request from the application. Likewise, the response from the identity provider's federated user lifecycle management application may be tailored in any manner to the originally identified and controlled resource.

아이덴티티 제공자의 연합 사용자 라이프사이클 관리 애플리케이션은 예를 들어 HTTP POST/재전송 메시지를 사용하여 최종 사용자 애플리케이션에 대한 응답을 전송하고 (단계 620) 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션에 메시지를 재전송한다 (단계 622). 아이덴티티 제공자는 서비스 제공자에 의해 기대되는 정보를 지시하는 포인터 또는 유사한 유형의 간접 기준 데이터 항목을 복귀할 수 있고, 이 경우, 서비스 제공자는 아이덴티티 제공자에 대한 백-채널 요구를 수행하여 서비스 제공자에 의해 사용되는 사용자 특정 정보를 검색함으로써 수신된 포인터(인공물로서 알려짐)를 사용하여 정보를 검색해야 한다.The federated user lifecycle management application of the identity provider sends a response to the end user application using, for example, an HTTP POST / Redirect message (step 620) and resends the message to the federated user lifecycle management application of the service provider (step 622). The identity provider may return a pointer or similar type of indirect reference data item indicating information expected by the service provider, in which case the service provider performs a back-channel request to the identity provider for use by the service provider. It is necessary to retrieve the information using the received pointer (known as artifact) by retrieving the user specific information.

수신된 메시지가 에러 코드를 포함하지 않거나 아이덴티티 제공자의 연합 사용자 라이프사이클 관리 애플리케이션이 요구된 연합 사용자 라이프사이클 관리 기능 또는 동작을 성공적으로 완료할 수 없다는 것을 나타내면, 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션은 수신된 응답으로부터 요구된 정보를 추출하고 서비스 제공자의 접점 엔티티에 대한 응답을 형성한다(단계 624). 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션은 임의의 방식으로 서비스 제공자의 접점 엔티티에 대하여 발생된 응답을 전송/복귀한다(단계 626).If the received message does not contain an error code or indicates that the federated user lifecycle management application of the identity provider cannot successfully complete the requested federated user lifecycle management function or operation, the federated user lifecycle management application of the service provider Extract the requested information from the received response and form a response to the contact entity of the service provider (step 624). The federated user lifecycle management application of the service provider sends / returns the response generated for the contact entity of the service provider in any manner (step 626).

연합 사용자 라이프사이클 관리 애플리케이션은 도메인 내의 방화벽 넘어 설치된 EAR 파일로서 자바(JavaTM) 애플리케이션으로서 구현될 수 있다. 접점 엔티티로 복귀되는 응답의 특성은 연합 사용자 라이프사이클 관리 애플리케이션의 설치 및 구성의 일부로서 구성될 수 있고, 따라서, 연합 사용자 라이프사이클 관리 애플리케이션은 접점 엔티티의 형태에 독립적이지 않다. 구체적으로 말하면, 연합 사용 자 라이프사이클 관리 애플리케이션은 식별 또는 위치 정보 이외의 접점 엔티티의 특성, 즉 트랜잭션 제어가 복귀되는 방식 및 트랜잭션 제어가 복귀될 때 요구되는 정보의 내용에 의존하지 않는다. 이 어프로치는 임의의 연합 사용자 라이프사이클 관리 기능, 예를 들어, 싱글-사인-온 동작, 싱글-사인-오프 동작, 계정 링크 등이 접점 엔티티에 의해 제공되는 세션 관리 기능으로부터 해체되도록 함으로써 연합 파트너의 컴퓨팅 환경의 기존 인프라스트럭쳐에 대한 충격을 최소화한다.The federated user lifecycle management application can be implemented as a Java TM application as an EAR file installed beyond a firewall in the domain. The nature of the response returned to the contact entity may be configured as part of the installation and configuration of the federated user lifecycle management application, so the federated user lifecycle management application is not independent of the form of the contact entity. Specifically, the federated user lifecycle management application does not depend on the characteristics of the contact entity other than the identification or location information, ie how the transaction control is returned and the content of the information required when the transaction control is returned. This approach allows any federated user lifecycle management function, such as single-sign-on operation, single-sign-off operation, account link, etc., to be disassociated from the session management function provided by the contact entity. Minimize the impact on the existing infrastructure of the computing environment.

서비스 제공자의 접점 엔티티가 서비스 제공자의 연합 사용자 라이프사이클 관리 애플리케이션으로부터의 성공적인 응답을 수신한 것으로 가정하면, 서비스 제공자의 접점 엔티티는 사용자 세션의 형성을 포함하는 최종 사용자 애플리케이션으로부터의 본래의 요구를 처리하도록 진행하고 (단계 628), 선택적인 액세스 또는 권한 부여 제어 동작을 수행하고, 제어 리소스의 액세스를 제어 또는 제공하는 후단 애플리케이션 서버로 제어 리소스를 액세스하는 요구를 전송하고 (단계 630), 프로세스를 종료한다.Assuming that the service provider's contact entity has received a successful response from the service provider's federated user lifecycle management application, the service provider's contact entity may handle the original request from the end user application, including the establishment of a user session. Proceed (step 628), perform a selective access or authorization control operation, send a request to access the control resource to a subsequent application server that controls or provides access to the control resource (step 630), and ends the process. .

도 6에 도시된 예의 요약에서, 최종 사용자는 서비스 제공자의 접점 엔티티에서 본래의 요구가 수신될 때 서비스 제공자에 대하여 인증되지 않았다. 서비스 제공자의 제어하에서 인증 동작을 직접 수행하기보다는, 서비스 제공자는 아이덴티티 제공자가 연합 싱글-사인-온 동작을 완료하도록 한다. 서비스 제공자의 접점 엔티티는 연합 컴퓨팅 환경 내의 파트너인 서비스 제공자와 아이덴티티 제공자의 연합 사용자 라이프사이클 관리 애플리케이션을 통해 연합 싱글-사인-온 동작이 성공적으로 완료되었다는 표시/메시지를 기다린다. 서비스 제공자의 접점 엔티티가 연 합 싱글-사인-온 동작이 성공적으로 완료되었다는 표시/메시지를 수신한 후에, 본래의 요구가 더 처리된다.In the summary of the example shown in FIG. 6, the end user was not authenticated to the service provider when the original request was received at the service provider's contact entity. Rather than performing the authentication operation directly under the control of the service provider, the service provider causes the identity provider to complete the federated single-sign-on operation. The contact entity of the service provider waits for an indication / message that the federated single-sign-on operation has successfully completed through the federated user lifecycle management application of the service provider and the identity provider that are partners in the federated computing environment. After the contact entity of the service provider receives an indication / message that the federated single-sign-on operation has completed successfully, the original request is further processed.

본 발명은 바람직하게 연합 사용자 라이프사이클 관리 솔루션이 통합된 기존의 환경에 영향을 준다. 연합 사용자 라이프사이클 관리 애플리케이션에 대한 지원은 기존의 환경에 기초하여 J2EE/C# 애플리케이션으로서 구현될 수 있다. 연합 사용자 라이프사이클 관리 애플리케이션은 최종 사용자로부터의 요구에 응답하여 접점 엔티티에 의해 인보크된다. 이 요구는 도 5를 참조하여 설명한 바와 같이 인증되지 않은 사용자에 의해 보호 리소스에 대한 요구처럼 간단하거나 연합 사용자 라이프사이클 관리 기능성에 대한 명시적 요구일 수 있다. 연합 사용자 라이프사이클 관리 애플리케이션은 컴퓨팅 환경의 다른 부분과 상호 작용을 요구하지 않는다는 점에서 독립적이며, 요구된 프로토콜이 성공적으로 완료되면, 제어는 사용자의 요구가 본래 수신된 접점 엔티티로 복귀된다. 그러므로, 기존 환경은 연합 사용자 라이프사이클 관리 기능성을 지원하기 위한 최소한의 변경을 필요로 한다. 예를 들어, 인보크될 연합 사용자 라이프사이클 관리 기능성이 싱글-사인-온 요구이면, 이것은 인증되지 않은 사용자에 의해 보호 리소스에 대한 요구에 응답일 수 있고, 연합 사용자 라이프사이클 관리 싱글-사인-온 기능성이 정상 인증 프로세스 대신에 인보크된다. 본 발명의 바람직한 실시예에서, 레가시 로그인 프로세스 대신에 사용자가 연합 사용자 라이프사이클 관리 애플리케이션으로 재전송되도록 하는 간단한 구성 변경을 필요로 한다.The present invention preferably affects existing environments in which federated user lifecycle management solutions are integrated. Support for federated user lifecycle management applications can be implemented as J2EE / C # applications based on existing environments. The federated user lifecycle management application is invoked by the contact entity in response to a request from the end user. This request may be as simple as the request for protected resources by an unauthorized user as described with reference to FIG. 5 or may be an explicit request for federated user lifecycle management functionality. The federated user lifecycle management application is independent in that it does not require interaction with other parts of the computing environment, and upon successful completion of the required protocol, control returns to the contact entity where the user's request was originally received. Therefore, existing environments require minimal changes to support federated user lifecycle management functionality. For example, if the federated user lifecycle management functionality to be invoked is a single-sign-on request, this may be a response to a request for a protected resource by an unauthenticated user, and the federated user lifecycle management single-sign-on Functionality is invoked instead of the normal authentication process. In a preferred embodiment of the invention, instead of the legacy login process, a simple configuration change is required that allows the user to be resent to the federated user lifecycle management application.

연합 사용자 라이프사이클 관리에 대한 트러스트 Trust for federated user lifecycle management 인프라스트럭쳐Infrastructure 지원 support

상술한 바와 같이, 연합 사용자 라이프사이클 관리 기능성을 제공하는 종래의 솔루션은 양쪽에서 환경을 변경하지 않고 컴퓨팅 환경으로부터 기존의 파트너를 제거하거나 새로운 파트너를 온라인으로 연결하는 느슨히 결합된 환경을 허용하도록 스케일링되어 있지 않다. 연합 사용자 라이프사이클 관리 솔루션에 의해 가능한 느슨히 결합된 특성은 파트너 환경의 컴퓨팅 환경에서 제어 리소스로의 제어에 대한 최종 사용자의 능력과 연합 파트너들 간의 대응에 관련된다. 이 느슨히 결합된 특성은 일반적으로 연합 파트너 또는 파티 간의 트러스트 관계에 적용되지 않는다. 그러므로, 트레이드-오프가 존재하며, 느슨히 결합된 특성은 트러스트 관계에 대하여 연합 파트너들 또는 기업들 간의 긴밀히 결합된 특성을 유지함으로써 달성된다. 이 긴밀히 결합된 트러스트 관계는 연합 환경 내의 최종 사용자에게 이용가능한 기능성을 정의하고 또한 이 연합 환경 내의 통신을 신뢰하고 확보하는데 사용되는 컴퓨팅 메카니즘을 정의한다.As noted above, conventional solutions that provide federated user lifecycle management functionality scale to allow loosely coupled environments that remove existing partners from computing environments or bring new partners online without changing the environment on both sides. It is not. The loosely coupled nature possible by a federated user lifecycle management solution relates to the end user's ability to control from a computing environment in a partner environment to control resources and the correspondence between federated partners. This loosely coupled characteristic generally does not apply to trust relationships between federated partners or parties. Therefore, there is a trade-off, and the loosely coupled nature is achieved by maintaining a tightly coupled nature between federation partners or companies with respect to the trust relationship. This tightly coupled trust relationship defines the functionality available to end users in the federated environment and also defines the computing mechanism used to trust and secure communications within the federated environment.

본 발명은 바람직하게 두 파트너/파티 간의 트러스트 관계의 긴밀히 결합된 트러스트 특성이 트러스트 관련 또는 보안 관련 정보에 의해 표현될 수 있다는 것을 인식한다. 특히, 본 발명은 바람직하게 암호키, 보안 토큰, 및 트러스트 관계를 정의하는 아이덴티티 전환을 관리하는 기능성을 포함하는 트러스트 서비스를 구현한다.The present invention preferably recognizes that the tightly coupled trust characteristics of the trust relationship between two partners / party may be represented by trust related or security related information. In particular, the present invention preferably implements a trust service that includes functionality to manage identity transitions that define cryptographic keys, security tokens, and trust relationships.

SSL 인증서를 갖는 전송층의 트러스트에 대한 본 발명의 바람직한 실시예에 의해 채용된 암호 트러스트의 종류 사이에는 차이가 있으며, 프로토콜/애플리케이션에서 트러스트를 운영할 때, 비즈니스/합법적 협정이 도달한 아이덴티티에 인증 서에서 요구된 아이덴티티의 추가적인 "결합"을 필요로 한다. 따라서, 이 유형의 기능성에 필요한 충분한 추가의 결합을 갖지 않으면, 기존의 SSL/전송층 트러스트 관계에 영향을 주는데 충분하지 않다.There are differences between the types of cryptographic trusts employed by the preferred embodiment of the present invention for trusts in transport layers with SSL certificates, and when operating trusts in protocols / applications, authentication to the identity reached by the business / legal agreement This requires an additional "combination" of the required identity in the document. Thus, without sufficient additional coupling needed for this type of functionality, it is not sufficient to affect existing SSL / transport layer trust relationships.

키, 토큰 및 아이덴티티 전환의 결합은 다음과 같은 이유로 트러스트 관계를 나타내는데 선택될 수 있다. 주어진 트러스트 관계에서, 암호키 세트는 파트너들 간의 메시지를 사인하고 암호화하는데 사용된다. 파트너들 간의 트랜잭션에 사용되는 키의 지식은 임의의 트랜잭션 전에 확립되어, 하나의 파트너가 메시지를 사인/암호화하고 다른 파트너가 그 메시지를 검증/해독하도록 한다. 또한, 사인/암호화될 수 있는 메시지의 엘리먼트 중의 하나는 최종 사용자의 아이덴티티 또는 역할을 어써트하는데 사용되는 보안 토큰이다. 이 보안 토큰의 구조는 또한 파트너들 간의 임의의 트랜잭션 전에 확립되어 양 파티가 보안 토큰의 내용을 이해할 수 있도록 보증하고, 이 보증은 파트너들 간의 중재로서 작용할 수 있는 제3자 트러스트 브로커의 어시스턴스의 결과일 수 있다. 또한, 보안 토큰이 요구된 아이덴티티이면, 데이터포맷으로부터 전환될 수 있는 역할 세트 및/또는 속성 세트가 서비스 제공자에 의해 사용되는 데이터 포맷에 대해 아이덴티티 제공자에 의해 어써트되고, 이 전환은 보안 토큰 내에 요구된 협정 속성에 따라 미리 정의된 아이덴티티 전환에 기초하여 달성된다.The combination of key, token, and identity transitions may be chosen to represent a trust relationship for the following reasons. In a given trust relationship, a set of cryptographic keys is used to sign and encrypt messages between partners. Knowledge of the keys used in transactions between partners is established before any transaction, allowing one partner to sign / encrypt a message and the other partner to verify / decrypt that message. In addition, one of the elements of the message that can be signed / encrypted is the security token used to assert the identity or role of the end user. The structure of this security token is also established before any transaction between the partners to ensure that both parties understand the contents of the security token, which guarantees that the third party trust broker's assistance can act as an arbitration between the partners. May be the result. In addition, if the security token is the required identity, a set of roles and / or attributes that can be converted from the data format is asserted by the identity provider for the data format used by the service provider, and this transition is required in the security token. Achievement is based on a predefined identity transition according to the specified agreement attribute.

따라서, 본 발명은 바람직하게 보안 관련 정보의 집합, 특히 {암호키, 보안 토큰 및 아이덴티티 전환}을 포함하는 정보 항목 세트로서 두 파트너 간의 트러스트 관계의 긴밀히 결합된 특성을 나타내는 지원을 제공하고, 바꾸어 말하면, 본 발 명의 바람직한 실시예에서, 이 집합은 트러스트 관계를 나타낸다. 본 발명은 바람직하게 트러스트 관계의 분리 (및 트러스트 관계의 관리) 및 연합 사용자 라이프사이클 관리 기능성 솔루션을 제공하는데 필요한 기능성을 허용하는 방법 및 시스템에 관한 것이다. 특히, 암호키, 보안 토큰 및 아이덴티티 전환의 집합을 포함하는 트러스트 관계를 정의하고 이들 연합 파트너에게 이용가능한 기능성의 정의와 독립된 방식으로 둘 이상의 연합 파트너 세트에 주어진 집합을 결합하는 것은 이하에서 더 상세히 설명하는 연합 관리에 대한 조절가능한 어프로치를 제공한다. Thus, the present invention preferably provides support indicative of the tightly coupled nature of the trust relationship between two partners as a set of information items, preferably a set of security-related information, in particular {encryption key, security token and identity transition}, in other words In a preferred embodiment of the present invention, this set represents a trust relationship. The present invention preferably relates to a method and system that allows for the separation of trust relationships (and management of trust relationships) and the functionality required to provide a federated user lifecycle management functionality solution. In particular, defining trust relationships comprising sets of cryptographic keys, security tokens, and identity transitions, and combining sets given to more than one set of federated partners in a manner independent of the definition of functionality available to these federated partners is described in more detail below. Provide an adjustable approach to federated management.

도 7은 연합 사용자 라이프사이클 관리로부터 신용 관계 관리를 분리하는 논리적 컴포넌트의 조직을 나타내는 블록도이다. 연합 사용자 라이프사이클 관리 애플리케이션(702)은 도 5에 도시된 연합 사용자 라이프사이클 관리 애플리케이션(508)과 유사하다. 연합 사용자 라이프사이클 관리 애플리케이션(702)은 싱글-사인-온, 싱글-사인-오프, 계정 링크/해체, 및/또는 아이덴티티 제공자 결정 등의 구현될 수 있는 다른 추가의 연합 기능성에 대한 지원을 포함한다. 이 모든 기능성은 임의의 형태로 파트너 간의 트러스트 관계에 영향을 준다. 연합 사용자 라이프사이클 관리 애플리케이션(702)이 예를 들어 연합 환경 내의 최종 사용자/애플리케이션을 참조하기 위하여 보안 토큰을 요구하면, 이 정보는 트러스트 서비스(704)로부터 트러스트 서비스 신청/메시지(706)를 통해 요구되고, 연합 사용자 라이프사이클 관리 애플리케이션 및 트러스트 관리 간의 다양한 유형의 인터페이스가 구현될 수 있다. 또한, 트러스트 서비스는 접점 서버를 포함하여 연합 도메인 내의 다른 컴포넌트들과 상호 작용할 수 있다. 트러스트 관계 관리 기능성(708)은 단순히 주어진 연 합 파트너에 대한 트러스트 관계의 관리의 지원에 참여한 기능성 모듈을 구분하는 논리적 경계이다.7 is a block diagram illustrating the organization of logical components that separate credit relationship management from federated user lifecycle management. The federated user lifecycle management application 702 is similar to the federated user lifecycle management application 508 shown in FIG. 5. The federated user lifecycle management application 702 includes support for other additional federated functionality that may be implemented, such as single-sign-on, single-sign-off, account linking / breaking, and / or identity provider determination. . All of this functionality in some way affects the trust relationship between partners. If the federated user lifecycle management application 702 requests a security token, for example to refer to an end user / application in a federated environment, this information is requested via the trust service request / message 706 from the trust service 704. In addition, various types of interfaces may be implemented between federated user lifecycle management applications and trust management. In addition, the trust service can interact with other components in the federated domain, including contact servers. Trust relationship management functionality 708 is simply a logical boundary that separates the functional modules involved in supporting the management of trust relationships for a given federated partner.

트러스트 서비스(704)는 도 2b에 도시된 트러스트 프록시/서비스(244) 또는 도 2c에 도시된 트러스트 프록시/서비스(254) 등의 상술한 트러스트 프록시/서비스와 유사한 트러스트 프록시/서비스의 예시적인 실시예이다. 그러나, 트러스트 서비스(704)는 트러스트 프록시/서비스가 특정 방식으로 트러스트 관계를 관리하는 기능성을 포함하도록 확장된 본 발명의 일 실시예를 나타낸다. 본 발명의 트러스트 관계 관리는 바람직하게 암호키 관리, 보안 토큰 관리, 및 아이덴티티 전환 관리에 대한 기능성을 포함한다. 따라서, 트러스트 서비스(704)는 토큰에 필요한 사인/암호화를 포함하는 적절한 보안 토큰 및 연합 요구가 이루어지는 최종 사용자/애플리케이션의 적절한 식별을 생성한다.Trust service 704 is an exemplary embodiment of a trust proxy / service similar to the aforementioned trust proxy / service, such as trust proxy / service 244 shown in FIG. 2B or trust proxy / service 254 shown in FIG. 2C. to be. However, trust service 704 represents one embodiment of the present invention, in which the trust proxy / service has been extended to include functionality to manage trust relationships in a particular manner. Trust relationship management of the present invention preferably includes functionality for cryptographic key management, security token management, and identity switching management. Thus, trust service 704 generates the appropriate security token, including the sign / encryption required for the token, and the proper identification of the end user / application in which the federation request is made.

트러스트 서비스(704)는 다양한 독립된 보안 관련 또는 트러스트 관련 서비스에 대한 브로커 액세스로서 간주될 수 있다. 트러스트 서비스를 포함하는 독립된 서비스는 공통 장치 또는 서버 또는 공통 애플리케이션에서 구현될 수 있고, 다른 방법으로, 각각의 서비스가 독립된 서버 애플리케이션으로서 구현될 수 있다. 키 관리 서비스(710)는 트러스트 관계의 컨텍스트에서 정보를 전달하는데 요구되는 암호키 및/또는 디지털 인증서를 관리한다. 보안 토큰 서비스(712)는 파트너들 간의 보안 관련 통신 또는 보안 통신에 사용되는 독립적인 토큰 인스턴스를 관리하고, 보안 토큰 플러그인(714)은 독립적으로 공개 또는 개발된 다양한 유형의 보안 토큰 표준 또는 사양에 대한 기능성을 제공한다. 아이덴티티 서비스(716) (또는 아이덴 티티/속성 서비스 716)는 아이덴티티 제공자로부터 수신된 토큰에 기초하여 서비스 제공자의 접점 서버에 로컬 응답을 부가해야 하는 위치 속성 및 토큰에 부가되어야 하는 위치 속성을 포함하여 보안 토큰 내에 포함된 아이덴티티 및/또는 속성을 관리한다. Trust service 704 may be considered as broker access to various independent security-related or trust-related services. Independent services, including trust services, may be implemented in a common device or server or in a common application, and in other ways, each service may be implemented as a separate server application. Key management service 710 manages cryptographic keys and / or digital certificates required to convey information in the context of a trust relationship. The security token service 712 manages independent token instances used for security-related or secure communication between partners, and the security token plug-in 714 is independently for various types of security token standards or specifications independently published or developed. Provide functionality The identity service 716 (or identity / attribute service 716) may be secured by including a location attribute that must add a local response to the service provider's contact server based on the token received from the identity provider and a location attribute that must be added to the token. Manages the identity and / or attributes contained in the token.

트러스트 관계 관리 기능성으로부터 연합 사용자 라이프사이클 관리 기능성을 분리하는 것은 2개의 상이한 유형의 기능성의 관리가 분리될 수 있다는 것을 의미한다. 이것은 트러스트 관계에 대한 정보가 변하면, 예를 들어 암호키가 보안 목적으로 대체되는 것을 의미하고, 요구된 변경은 연합 사용자 라이프사이클 관리 기증에 영향을 주지 않는다. 또한, 파트너들의 트러스트 관계 관리가 연합 사용자 라이프사이클 관리 기능성에 한정되지 않기 때문에, 동일한 기능성에 상이한 파트너에게 이용될 수 있다. 또한, 트러스트 관계 관리의 분리는, 싱글-사인-오프 동작에 대한 지원이 싱글-사인-온 동작을 미리 지원한 주어진 관계에 부가되면, 새로운 기능성이 기존의 트러스트 관계에 부가될 때 트러스트 관계가 유지될 수 있다는 것을 의미한다. 마지막으로, 트러스트 관리의 분리는 트러스트 관계 및 그 관리가 웹 서비스 보안 관리 또는 웹 서비스 지향 아키텍쳐 등의 다른 컨텍스트 내에서 재사용될 수 있다는 것을 의미한다. 따라서, 본 발명은 브라우저 기반 패시브 클라이언트 아키텍쳐에 제한되는 것은 아니다.Separating federated user lifecycle management functionality from trust relationship management functionality means that management of two different types of functionality can be separated. This means that if the information about the trust relationship changes, for example the cryptographic key is replaced for security purposes, the change required does not affect federated user lifecycle management donation. In addition, since trust relationship management of partners is not limited to federated user lifecycle management functionality, it can be used by different partners for the same functionality. In addition, the separation of trust relationship management means that if support for single-sign-off operations is added to a given relationship that previously supported single-sign-on operations, the trust relationship is maintained when new functionality is added to an existing trust relationship. It can be. Finally, separation of trust management means that trust relationships and their management can be reused within other contexts, such as web service security management or web service oriented architectures. Thus, the present invention is not limited to browser-based passive client architectures.

임포트Import 구성 파일을 통해 연합 관계를 확립 Establish federation through configuration files

도 8a 내지 도 8d는 본 발명의 일 실시예의 후속 설명과 연합 관계의 개념 설명에 대한 컨텍스트를 제공하기 위하여 본 발명의 바람직한 실시예의 개념을 요 약하며, 이전에 설명한 본 발명의 바람직한 실시예는 전자 통신을 사용하여 비즈니스 파트너 간의 연합 관계의 확립을 용이하게 한다. 도 8a 내지 도 8d는 본 발명의 바람직한 실시예에 의해 제공되는 구획을 나타내는 블록도이다. 특히, 도 8a 내지 도 8d는 연합 기능성과 상호 작용하는 기존의 컴퓨팅 환경에 대한 최소한의 변경과 결합하여 다수의 연합 사양을 동시에 처리할 수 있는 연합 환경을 구현하는데 있어서 효율을 생성하기 위하여 다른 기능성 세트가 구분되는 본 발명의 실시예를 나타낸다. 도 8a 내지 도 8d의 설명은 공통 참조번호를 갖는 유사한 엘리먼트를 참조한다.8A-8D summarize the concept of a preferred embodiment of the present invention in order to provide a context for the subsequent description of one embodiment of the present invention and the conceptual description of a federated relationship, wherein the preferred embodiment of the present invention described above is electronic communication. Use to facilitate the establishment of federation relationships between business partners. 8A-8D are block diagrams illustrating the compartments provided by a preferred embodiment of the present invention. In particular, FIGS. 8A-8D show a different set of functionality to create efficiency in implementing a federated environment that can handle multiple federated specifications simultaneously in combination with minimal changes to existing computing environments that interact with federated functionality. It represents an embodiment of the present invention is divided. The description of FIGS. 8A-8D refers to similar elements with common reference numerals.

도 8a는 연합 컴퓨팅 환경의 논리적 기능성의 고위 추상화를 나타내는 블록도이다. 위에서 간략히 설명한 바와 같이, 기업 및 잠재적인 연합 파트너는 연합 컴퓨팅 환경에 참여하기 전에 약간의 예비 작업을 완료해야 한다. 바람직한 실시예에 따른 본 발명의 연합 아키텍쳐의 이점은, 주어진 기업 도메인(800)에서 본 발명은 연합 인프라스트럭쳐 기능성(806)과 상호 작용하기 위하여 기업 및 그 연합 파트너의 기존 컴퓨팅 환경 기능성(804)에 최소한의 인프라스트럭쳐 기능성 변경(802)을 요구한다는 것이다. 이 특징은 도 2b를 참조하여 위에서 상세히 설명하였다.8A is a block diagram illustrating the high abstraction of logical functionality of a federated computing environment. As outlined above, enterprises and potential federated partners must complete some preliminary work before joining a federated computing environment. An advantage of the federated architecture of the present invention in accordance with the preferred embodiment is that, in a given enterprise domain 800, the present invention may be applied to the existing computing environment functionality 804 of the enterprise and its federated partners to interact with the federated infrastructure functionality 806. Minimal infrastructure functional change 802 is required. This feature has been described in detail above with reference to FIG. 2B.

이제 도 8b를 참조하면, 도 8b는 본 발명의 바람직한 실시예가 트러스트 관계 관리 기능성으로부터 연합 기능성 및 접점 기능성의 분리를 제공하는 방식을 나타내는 연합 컴퓨팅 환경의 논리적 기능성의 고위 추상화를 나타내는 블록도이다. 상술한 바와 같이, 본 발명의 바람직한 실시예의 연합 인프라스트럭쳐 기능성(806) 내에서, 접점 기증 및 연한 동작 기능성의 조합(808)은 트러스트 관계 관리 기능성(812)으로부터 분리되어 연합 내의 사용자가 본 발명의 다양한 실시예에 따라 연합 기능성을 통해 기존의 애플리케이션 서버(814)를 통해 보호 리소스(812)를 액세스하도록 한다. 트러스트 관계 관리 기능성으로부터 접점 기능성의 분리 및 그 이점은 도 2c 및 도 4에 도시된 연합 인프라스트럭쳐 컴포넌트 및 도 3a-도 3e에 도시된 기능 프로세스를 참조하여 위에서 상세히 설명하였다.Referring now to FIG. 8B, FIG. 8B is a block diagram illustrating a high abstraction of the logical functionality of a federated computing environment illustrating how a preferred embodiment of the present invention provides separation of federated functionality and contact functionality from trust relationship management functionality. As discussed above, within the federated infrastructure functionality 806 of the preferred embodiment of the present invention, the combination 808 of contact donation and soft operation functionality is separated from the trust relationship management functionality 812 so that users within the federation may be able to utilize the present invention. According to various embodiments, the protection functionality 812 is accessed through the existing application server 814 through federation functionality. The separation of the contact functionality from the trust relationship management functionality and its benefits have been described above in detail with reference to the federated infrastructure components shown in FIGS. 2C and 4 and the functional process shown in FIGS. 3A-3E.

이전의 도면, 예를 들어, 도 4의 연합 기능의 설명은, 연합 파트너들 간에 달성될 수 있는 많은 유형의 연합 기능 및 동작을 더 구분하지 않고, 특히 싱글-사인-온 동작, 즉, 연합 인증 동작에 대하여, 예를 들어 트러스트 프록시/서비스의 도움으로 보안 어써션 및 보안 토큰의 프로세싱을 처리하는 것 등의 연합 기능 및 동작과 함께 접점 동작을 수행하는 것으로서 접점 서버를 기재한다. 바꾸어 말하면, 이전의 도면에서의 연합 기능의 설명은 접점 기능성과 연합 동작 기능성을 구분하지 않고, 접점 서버는 기능의 조합을 수행하는 것으로 기재되어 있으며, 접점 서버의 책임의 일부는 연합 기업 도메인에 대한 접점 엔티티로서 작용하고, 접점 서버의 책임의 나머지는 트러스트 프록시/서비스에 의지하여 트러스트/보안 동작을 처리하면서 임의의 연합 동작 및 기능을 수행하는 것이다. 그러나, 도 4 이후의 본 발명의 바람직한 실시예의 설명은 도 8c를 참조하여 설명한 바와 같이 본 발명의 실시예가 접점 기능성 및 다른 연합 동작 기능성 간의 차이를 구현할 수 있는 방식을 더 상세히 제공한다.The description of the federation function of the previous figures, for example FIG. 4, further distinguishes between the many types of federation functions and operations that can be achieved between federation partners, and in particular single-sign-on operation, ie federated authentication. Regarding the operation, the contact server is described as performing the contact operation in conjunction with federation functions and operations such as, for example, processing the security assertion and processing of the security token with the help of a trust proxy / service. In other words, the description of the federation function in the previous figure does not distinguish between contact functionality and federation operation functionality, and the contact server performs a combination of functions, and some of the responsibility of the contact server is for the federated enterprise domain. Acting as a contact entity, the rest of the responsibility of the contact server is to perform any federated operations and functions while relying on a trust proxy / service to handle trust / security operations. However, the description of the preferred embodiment of the present invention after FIG. 4 provides in more detail the manner in which embodiments of the present invention may implement differences between contact functionality and other federated operation functionality as described with reference to FIG. 8C.

도 8c는 본 발명의 바람직한 실시예가 접점 기능성으로부터 연합 동작 기능 성의 분리를 제공하는 방식을 나타내는 연합 컴퓨팅 환경의 논리적 기능성의 고위 추상화를 나타내는 블록도이다. 상술한 바와 같이, 연합 인프라스트럭쳐 기능성(806) 내의, 트러스트 관계 관리 기능성(810)은 본 발명의 바람직한 실시예의 연합 인프라스트럭쳐 내에 제공된 다른 기능과 분리된다. 또한, 접점 기능성(816)이 연합 동작 기능성(818)으로부터 분리될 수 있도록 다른 기능들 사이에서 또 다른 기능 분리가 이루어질 수 있다. 연합 동작 기능성으로부터 접점 기능성의 분리 및 그 이점은 도 5에 도시된 연합 인프라스트럭쳐 컴포넌트 및 도 6에 도시된 기능 프로세스에 대하여 위에서 상세히 설명하였고, 도 5의 연합 사용자 라이프사이클 관리 애플리케이션(508) (마찬가지로, 도 6의 FULM 애플리케이션)은 연합 동작 기성능의 일 형태를 나타낸다.8C is a block diagram illustrating a high abstraction of the logical functionality of a federated computing environment illustrating how a preferred embodiment of the present invention provides for separation of federated operational functionality from contact functionality. As discussed above, within the federation infrastructure functionality 806, the trust relationship management functionality 810 is separate from the other functionality provided within the federation infrastructure of the preferred embodiment of the present invention. Further, another functional separation can be made between other functions such that contact functionality 816 can be separated from federated operation functionality 818. The separation of the contact functionality from the federated operational functionality and its benefits have been described above in detail with respect to the federated infrastructure component shown in FIG. 5 and the functional process shown in FIG. 6, and the federated user lifecycle management application 508 of FIG. 6, FULM application) shows one form of federated operation performance.

따라서, 본 발명은 바람직하게 다른 기능성의 구분 또는 모듈화를 용이하게 한다. 본 발명의 일 실시예에서, 접점 기능성 및 연합 동작 기능성의 조합은 트러스트 관계 관리 기능성으로부터 분리된다. 본 발명의 다른 실시예에서, 트러스트 관계 관리 기능성의 연속되는 구분에 더하여, 접점 기능성이 연합 동작 기능성으로부터 분리되고, 그 하나의 형태가 연합 사용자 라이프사이클 관리 기능성이다. 트러스트 관계 관리 기능성 및 연합 사용자 라이프사이클 관리 기능성의 분리에 관한 차이는 도 7을 참조하여 상술하였다. 구분이 주어지면, 도 8d는 또 다른 차이가 도시된 본 발명의 다른 실시예를 나타낸다.Thus, the present invention preferably facilitates differentiation or modularization of other functionalities. In one embodiment of the present invention, the combination of contact functionality and federated operation functionality is separated from trust relationship management functionality. In another embodiment of the present invention, in addition to the continuous division of trust relationship management functionality, the contact functionality is separated from the federated operation functionality, one form of which is federated user lifecycle management functionality. Differences in the separation of trust relationship management functionality and federated user lifecycle management functionality have been described above with reference to FIG. 7. Given the distinction, FIG. 8D shows another embodiment of the present invention with another difference shown.

이제 도 8d를 참조하면, 도 8d는 본 발명의 바람직한 실시예가 연합 사용자 라이프사이클 관리 기능성 및 연합 관계 관리 기능성으로의 연합 동작 기능성의 분 리를 제공하는 방식을 나타내는 연합 컴퓨팅 환경의 논리적 기능성의 고위 추상화를 나타내는 블록도이다. 도 8c를 참조하여 위에서 설명한 바와 같이, 접점 기능성(816)은 연합 동작 기능성(818)으로부터 분리되는 것으로 도시될 수 있다. 또한, 도 5 및 6을 참조하여 설명한 바와 같이, 접점 엔티티는 보호 리소스를 액세스하기 위한 요구에 비교하여 연합 동작에 대한 입력 요구를 인식하는 최소한의 구성 변화로 도메인 내의 연합 동작 기능성으로부터 독립적으로 동작할 수 있다. 그러므로, 이 능력은 연합 인프라스트럭쳐 기능성(806)으로부터 접점 기능성(820)이 분리되었다는 것을 나타냄으로써 도 8d에 반영된다.Referring now to FIG. 8D, FIG. 8D illustrates a high abstraction of the logical functionality of a federated computing environment, illustrating how a preferred embodiment of the present invention provides for separation of federated operational functionality into federated user lifecycle management functionality and federated relationship management functionality. It is a block diagram showing. As described above with reference to FIG. 8C, the contact functionality 816 may be shown as separate from the coalescing operation functionality 818. In addition, as described with reference to FIGS. 5 and 6, the contact entity may operate independently from the federation operation functionality in the domain with minimal configuration changes to recognize input requests for federation operations as compared to the request for accessing protected resources. Can be. Therefore, this capability is reflected in FIG. 8D by indicating that the contact functionality 820 has been separated from the federated infrastructure functionality 806.

도 8b를 참조하여 위에서 설명한 바와 같이, 접점 기능성 및 연합 동작 기능성의 조합(808)은 본 발명의 실시예에서 연합 인프라스트럭쳐 기능성(806) 내의 트러스트 관계 관리 기능성(810)으로부터 분리될 수 있다. 연합 사용자 라이프사이클 관리 기능이 도 5 및 6을 참조하여 설명한 후에, 도 7의 설명은 연합 사용자 라이프사이클 관리 기능과 분리하여 트러스트 관계 관리 기능이 계속 구현되는 방식을 설명하였다. 또한, 도 7의 설명은 모듈 방식으로 상이한 연합 파트너에게 이용될 수 있는 동일한 기능을 설명하였다.As described above with reference to FIG. 8B, the combination 808 of contact functionality and federated operation functionality may be separated from the trust relationship management functionality 810 within the federated infrastructure functionality 806 in embodiments of the present invention. After the federated user lifecycle management function has been described with reference to FIGS. 5 and 6, the description of FIG. 7 described how the trust relationship management function continues to be implemented separately from the federated user lifecycle management function. In addition, the description of FIG. 7 described the same functionality that may be used for different federation partners in a modular fashion.

바꾸어 말하면, 트러스트 관계 관리 기능은 연합 인프라스트럭쳐 기능과 상호 작용하지만 이러한 기능과 독립되도록 구현될 수 있다. 그러므로, 이 능력은 트러스트 관계 관리 기능성(822)이 연합 인프라스트럭쳐 기능성(806)으로부터 분리되어 있다는 것을 나타냄으로써 도 8d에 반영된다. 이 차이의 중요성은 후에 상세히 설명된다.In other words, trust relationship management functions interact with federated infrastructure functions but can be implemented to be independent of these functions. Therefore, this capability is reflected in FIG. 8D by indicating that trust relationship management functionality 822 is separate from federated infrastructure functionality 806. The importance of this difference is explained in detail later.

도 8d는 또한 바람직한 실시예에 따른 본 발명의 연합 동작 기능성의 차이를 나타낸다. 연합 동작 기능성(818) 등의 연합 동작 기능성은 연합 컴퓨팅 환경의 연합 파트너들간의 트랜잭션 또는 상호 작용을 가능하게 하는 동작 또는 기능을 포함한다. 연합 동작 기능성은 연합 인프라스트럭쳐 기능, 예를 들어, 기존 기업 기능과 결합하여 연합 파트너가 연합 동작 기능성을 구현하도록 하는 동작 또는 기능을 포함하는 연합 인프라스트럭쳐 기능성(806)과 다르다.8D also illustrates the difference in the combined operation functionality of the present invention in accordance with the preferred embodiment. Federated operational functionality, such as federated operational functionality 818, includes an operation or function that enables transactions or interactions between federated partners in a federated computing environment. Federated operational functionality differs from federated infrastructure functionality 806, which includes an action or function that combines with an existing enterprise function, for example, to allow federated partners to implement federated operational functionality.

도 5의 연합 사용자 라이프사이클 관리 애플리케이션(508) 및 도 6의 FULM 애플리케이션에 의해 표현된 연합 사용자 라이프사이클 관리 기능은 단지 연합 동작 기능성의 일 형태이다. 상술한 바와 같이, 연합 사용자 라이프사이클 관리 기능은 다수의 연합 도메인에서 주어진 사용자의 사용자 프로파일 또는 특정 사용자 계정에 대하여 연합 동작을 지원 또는 관리하는 기능을 포함하고, 임의의 경우, 기능 또는 동작은 주어진 사용자에 대한 연합 세션으로 한정된다. 바꾸어 말하면, 연합 사용자 라이프사이클 관리 기능은, 연합 컴퓨팅 환경 내의 단일 사용자 세션의 라이프사이클 동안만, 복수의 연합 파트너를 통해 연합 동작의 관리를 허용하는 기능을 참조한다.The federated user lifecycle management application 508 of FIG. 5 and the federated user lifecycle management function represented by the FULM application of FIG. 6 are just one form of federated operational functionality. As noted above, the federated user lifecycle management functionality includes the ability to support or manage federated operations for a given user's user profile or specific user account in multiple federated domains, in which case the function or operation is a given user. Limited to federated sessions for. In other words, federated user lifecycle management functionality refers to the functionality that allows management of federated operations through multiple federated partners only during the lifecycle of a single user session in a federated computing environment.

도 8d는 본 발명의 바람직한 실시예의 연합 동작 기능성이 다수의 형태를 포함할 수 있다는 것을 반영한다. 연합 동작 기능성의 일 형태로서 연합 사용자 라이프사이클 관리 기능성(824)과 함께, 본 발명의 일 실시예는 또한 이하에서 상세하 설명하는 바와 같이 연합 관계 기능성(826)을 구현할 수 있고, 연합 파트너들간의 트러스트 관계 및 연합 파트너들간의 연합 관계 사이의 차이는 후에 상세히 설명된 다.8D reflects that the federated operational functionality of the preferred embodiment of the present invention may include a number of forms. In conjunction with federated user lifecycle management functionality 824 as one form of federated operation functionality, one embodiment of the present invention may also implement federated relationship functionality 826, as described in detail below, and between federated partners. The difference between a trust relationship and a coalition relationship between federation partners is described in detail later.

이제 도 9a-도 9b를 참조하면, 도 9a-도 9b는 연합 관계가 연합 기능의 선택과 관련하여 트러스트 관계를 포함하는 방식을 나타내는 벤 도식(Venn diagram)이다. 연합은 비즈니스 파트너간의 비즈니스 프로세스의 노출을 허용한다. 기업의 비즈니스 프로세스의 노출은 많은 인자의 고려없이 수행되지 않는다. 예를 들어, 기업은 신리성있는 파트너에게 비즈니스 프로세스를 노출하는 것을 고려한다. 그러므로, 본 발명은 바람직하게 다른 비즈니스 파트너가 서로 다른 트러스트 레벨을 갖는다는 점에서, 기업이 신뢰성있는 연합 파트너에게만 비즈니스 프로세스의 노출을 제한하도록 할 필요성을 인식한다.Referring now to FIGS. 9A-9B, FIGS. 9A-9B are Venn diagrams illustrating how a federated relationship includes a trust relationship with respect to the selection of the federated function. Federation allows the exposure of business processes between business partners. The exposure of a company's business process is not performed without consideration of many factors. For example, companies consider exposing business processes to trusted partners. Therefore, the present invention preferably recognizes the need for an enterprise to limit the exposure of business processes only to trusted federated partners, in that different business partners have different levels of trust.

그러나, 동일한 연합 컴퓨팅 환경 내에서도, 다른 연합 파트너 세트가 서로 상호 작용하기 위한 다른 요구사항을 가질 수 있다. 그러므로, 본 발명은 바람직하게 기업이 비즈니스 프로세스의 노출을 다른 연합 파트너에게 다른 방법으로 제한하도록 할 필요성을 인식한다.However, even within the same federated computing environment, different sets of federated partners may have different requirements for interacting with each other. Therefore, the present invention preferably recognizes the need for an enterprise to limit the exposure of business processes to other federated partners in different ways.

따라서, 본 발명에서, 연합 기능은 바람직하게 신뢰성있는 연합 파트너 간의 전자 트랜잭션을 지원하는 전자 동작 또는 기능을 포함한다. 비즈니스 프로세스의 노출 전에 연합 파트너들 사이에 트러스트 레벨이 있으므로, 트러스트 관계는 연합 관계가 관련되기 전에 연합 파트너들 사이에 존재해야 한다. 바꾸어 말하면, 연합 기능은 후에 트러스트 관계와 관련되는 전자 트랜잭션의 선택을 포함한다. 이 로직은 도 9a, 도 9b 및 도 9c의 벤 도식에 반영된다.Thus, in the present invention, the federation function preferably includes an electronic operation or function that supports electronic transactions between trusted federation partners. Since there is a trust level between federated partners prior to exposure of business processes, a trust relationship must exist between federated partners before the federated relationship is involved. In other words, the federation function involves the selection of an electronic transaction that is later associated with a trust relationship. This logic is reflected in the Venn diagram of FIGS. 9A, 9B and 9C.

도 9a를 참조하면, 두 연합 파트너 사이의 연합 관계(902)가 두 연합 파트너 의 트러스트 관계(904)와 두 연합 파트너에 의해 구현될 연합 동작/기능(906) 세트의 선택 간의 관련성을 포함한다. 도 9a의 도식을, 본 발명의 일 실시예가 기업의 컴퓨팅 환경 내의 연합 인프라스트럭쳐 기능 및 트러스트 관계 관리 기능을 조직할 수 있는 방식과 비교할 때, 연합 컴퓨팅 환경을 구현하는 이점은 이하에서 상세히 설명하는 바와 같이 명백해진다.Referring to FIG. 9A, a federation relationship 902 between two federation partners includes a relationship between the trust relationship 904 of the two federation partners and the selection of a set of federation operations / functions 906 to be implemented by the two federation partners. When comparing the schematic of FIG. 9A with the manner in which an embodiment of the present invention can organize federated infrastructure functions and trust relationship management functions within an enterprise computing environment, the benefits of implementing a federated computing environment are described in detail below. It becomes apparent as

도 9b 및 도 9c를 참조하면, 두 연합 파트너가 다수의 연합 관계를 갖는 것을 나타낸다. 두 연합 파트너 간의 제1 연합 관계(도 9b)는 두 연합 파트너의 제1 트러스트 관계(914)와 두 연합 파트너에 의해 구현될 연합 동작/기능(916) 세트의 제1 선택간의 관련성을 포함한다. 또한, 두 연합 파트너 간의 제2 연합 관계(도 9c)(922)는 두 연합 파트너의 제2 트러스트 관계(924) 및 두 연합 파트너에 의해 구현될 연합 동작/기능(926) 세트의 제2 선택 간의 관련성을 포함한다. 이 실시예에서, 두 연합 파트너 간의 다수의 트러스트 관계는 다수의 연합 관계 내에서 사용된다. 다수의 트러스트 관계는 유사한 특성을 갖지만, 다른 구현 데이터, 예를 들어, 유사한 크기의 다른 암호키 또는 다른 디지털 인증서를 가져, 예를 들어, 다른 연합 동작이 다른 디지털 인증서에 의해 수행되도록 한다.9B and 9C, two federation partners have multiple federations. The first federated relationship between the two federated partners (FIG. 9B) includes a relationship between the first trusted relationship 914 of the two federated partners and the first selection of federated operations / functions 916 to be implemented by the two federated partners. In addition, a second federation relationship (FIG. 9C) 922 between the two federated partners is between the second trust relationship 924 of the two federated partners and the second selection of federated actions / functions 926 to be implemented by the two federated partners. Include relevance. In this embodiment, multiple trust relationships between two federated partners are used within multiple federated relationships. Many trust relationships have similar characteristics, but have different implementation data, such as other cryptographic keys or other digital certificates of similar size, such that, for example, different federation operations may be performed by different digital certificates.

그러나, 기능(916 및 926)의 다른 2개의 선택은 다른 특성과의 트러스트 관계를 채용하여 다른 강도를 갖는 트러스트 관계에 대하여 다른 연합 동작을 수행할 수 있다는 것을 의미할 수 있다. 다른 강도의 트러스트 관계가 다양한 기준, 예를 들어, 다른 암호 알고리즘 또는 다른 암호키 사이즈에 기초할 수 있다. 예를 들어, 싱글-사인-온 동작은 더 약한 트러스트 관계를 사용하여 수행되고 사용자의 준비 등의 다른 연합 동작은 더 강한 트러스트 관계를 사용하여 수행될 수 있다.However, the other two choices of functions 916 and 926 may mean that different federation operations may be performed on trust relationships with different strengths by employing trust relationships with other properties. Different strength trust relationships may be based on various criteria, for example, different cryptographic algorithms or different cryptographic key sizes. For example, single-sign-on operations may be performed using weaker trust relationships and other federation operations such as user preparation may be performed using stronger trust relationships.

예를 들어, 한 쌍의 연합 파트너가 많은 다른 연합 파트너와 함께 제1 상업 프로젝트를 지원하도록 상호 작용하고 상업 프로젝트가 다양한 협상 비즈니스 협정을 통해 특정 특징을 갖는 제1 트러스트 관계의 사용을 요구할 수 있다. 동시에, 이들 연합 파트너는 다른 연합 파트너 세트와 함께 제2 상업 프로젝트를 지원하도록 상호 작용하고, 이 상업 프로젝트는 제1 트러스트 관계와 다른 특성을 갖는 제2 트러스트 관계의 사용을 요구할 수 있으며, 이들 모두는 다른 비즈니스 협정에 의해 관리된다. 그러므로, 이 시나리오에서, 다른 상업 프로젝트는 다른 트러스트 관계를 포함하는 다른 연합 관계를 요구할 수 있다.For example, a pair of federated partners may interact with many other federated partners to support the first commercial project, and the commercial project may require the use of a first trust relationship with specific characteristics through various negotiated business agreements. At the same time, these federated partners interact with other sets of federated partners to support the second commercial project, which may require the use of a second trust relationship that has different characteristics from the first trust relationship, all of which Are governed by other business agreements. Therefore, in this scenario, different commercial projects may require different federation relationships, including different trust relationships.

이제 도 10을 참조하면, 도 10은 본 발명의 바람직한 실시예에 따른, 연합 컴퓨팅 환경 내에서의 상호 작용을 위하여 한 쌍의 비즈니스 파트너에 의해 수행되는 일련의 동작을 나타내는 데이터 흐름도이다. 기업, 예를 들어, 파트너(1002) 및 그 잠재적인 연합 파트너, 예를 들어, 파트너(1004)는 연합 컴퓨팅 환경 내에서 상호 작용을 시도하기 전에 연합 관계를 확립해야 한다. 상술한 바와 같이, 연합 관계는 트러스트 관계에 기초하고, 이 트러스트 관계는 비즈니스 및 합법적 협정에 있어서의 연합 파트너의 트러스트를 나타낸다. 따라서, 파트너들이 요구되는 트러스트 관계의 유형에 대한 허용가능한 액션을 관리하는 폴리시를 부여하도록 하는 특정 트러스트 관계의 원조하에서 수행되면, 파트너들이 그들의 상호 작용의 형태, 예를 들어, 어떤 종류의 책임이 주어진 액션과 관련되는지를 결정한다. 그러므로, 상호 작용 데이터 흐름(1006)에 의해 도시된 바와 같이, 기업 및 그 잠재적인 연합 파트너는 연합 내에서의 상호 작용을 시도하기 전에 트러스트 관계를 확립해야 한다. 연합 관계가 연합 기능의 선택을 트러스트 관계와 관련시키면, 연합 기능은 구성 동작(1008 및 1010)으로 도시된 각각의 파트너에서 구성되어야 하고, 그 후, 연합 관계가 상호 작용 데이터 흐름(1012)에 의해 나타낸 바와 같이 형성될 수 있다. 연합 관계가 확립된 후에, 비즈니스 파트너는 상호 작용 데이터 흐름(1014)에 의해 나타낸 바와 같이 연합 트랜잭션에 관여함으로써 연합 방식으로 상호 작용할 수 있다. Referring now to FIG. 10, FIG. 10 is a data flow diagram illustrating a series of operations performed by a pair of business partners for interaction within a federated computing environment, in accordance with a preferred embodiment of the present invention. An enterprise, such as partner 1002 and its potential federated partner, such as partner 1004, must establish a federation before attempting to interact within the federated computing environment. As mentioned above, federation relationships are based on trust relationships, which represent the trusts of federated partners in business and legal agreements. Thus, if performed under the support of a specific trust relationship that allows partners to grant policy governing the acceptable actions for the type of trust relationship required, the partners may be given some form of their interaction, e.g., some sort of responsibility. Determine if it is related to an action. Therefore, as shown by interaction data flow 1006, an enterprise and its potential federated partners must establish a trust relationship before attempting to interact within the federation. If the federation associates the selection of the federation function with the trust relationship, then the federation function must be configured at each partner, shown in configuration operations 1008 and 1010, after which the federation relationship is driven by interaction data flow 1012. It may be formed as shown. After a federated relationship is established, business partners can interact in a federated manner by engaging in a federated transaction as indicated by interaction data flow 1014.

기업이 연합 트랜잭션을 성공적으로 완료하기 위한 적절한 지원을 갖기를 원하면, 연합 기능의 구성이 연합 트랜잭션의 개시 전에 임의의 시간에 수행될 필요가 있다. 예를 들어, 연합 기능이 트러스트 관계가 확립되기 전에 구현될 수 있다. 연합 관계를 구성할 때 연합 기능의 선택을 용이하게 할 수 있지만, 연합 기능의 구성은 연합 관계가 확립된 후에 수행될 수 있다. 또한, 본 발명에 따르면, 이전에 확립된 연합 관계에 반드시 변경을 요구하지 않고, 연합 기능을 강화하기 위하여, 연합 기능은 연합 관계가 확립된 후에 변경될 수 있다.If an enterprise wants to have the proper support to successfully complete a federated transaction, the configuration of the federation function needs to be performed at any time before the start of the federated transaction. For example, federation functionality may be implemented before a trust relationship is established. While configuring federation relationships may facilitate the selection of federation functions, configuration of federation functions may be performed after the federation is established. In addition, according to the present invention, the federation function may be changed after the association is established in order to enhance the federation function without necessarily requiring a change in the previously established association relationship.

이제 도 11을 참조하면, 도 11은 본 발명의 바람직한 실시예에 따라 연합 관계를 확립하는 준비에 있어서 트러스트 관계를 확립하기 위한 비즈니스 파트너 간의 상호 작용을 나타내는 블록도이다. 상술한 바와 같이, 트러스트 관계는 비즈니스 파트너들 간에 초기 트러스트가 확립되는 임의의 종류의 부트스트랩 프로세스를 포함한다. 이 부트스트랩의 일부는 공유 비밀키 및 기대 및/또는 허용되는 토큰 유형 및 아이덴티티 전환을 정의하는 규칙을 포함할 수 있다. 프로세스가 연합의 기 업 참가 및 이 참가와 관련된 합법적 책임을 관리하는 비즈니스 협정의 확립을 포함할 수 있으므로, 이 부트스트랩 프로세스는 아웃-오브-밴드로 구현될 수 있다.Referring now to FIG. 11, FIG. 11 is a block diagram illustrating the interaction between business partners for establishing a trust relationship in preparation for establishing a federated relationship in accordance with a preferred embodiment of the present invention. As mentioned above, a trust relationship includes any kind of bootstrap process in which an initial trust is established between business partners. Portions of this bootstrap may include rules defining shared secret keys and expectations and / or token types and identity transitions allowed. This bootstrap process can be implemented out-of-band as the process may involve the establishment of a business agreement that governs the federation's participation in the enterprise and the legal responsibilities associated with that participation.

부트스트랩 프로세스의 목적은 비즈니스 파트너, 즉, 기업의 결합을 비즈니스 파트너의 트러스트 정보에 제공하기 위한 것이며, 이것은 비즈니스 파트너에 대한 디지털 인증서의 생성의 부분으로서 암호키로의 아이덴티티의 결합 이상이고, 인증서의 생성은 비즈니스 파트너의 아이덴티티를 어써트하는 증명 기관에 의해 처리된다. 이 연합 트러스트 부트스트랩은 디지털 인증서에서 요구되는 바와 같이 파트너의 아이덴티티가 미리 협상된 비즈니스 협정, 합법적 협정 또는 유사한 유형의 결합으로 한정되는 것을 어써트한다.The purpose of the bootstrap process is to provide a business partner, i.e., a business association, with the business partner's trust information, which is more than a combination of identity to a cryptographic key as part of the creation of a digital certificate for the business partner, and the creation of a certificate. Is handled by a certification authority that asserts the business partner's identity. This federated trust bootstrap asserts that the partner's identity is limited to a pre-negotiated business agreement, legal agreement, or similar type of combination, as required by digital certificates.

본 발명은 바람직하게 트러스트 관계의 형태가 유연하게 한다. 예를 들어, 연합 파트너는 다른 유형의 보안 토큰을 이용하여 상호 작용할 수 있다. 도 7을 참조하여 상술한 바와 같이, 본 발명의 일 실시예는 연합 사용자 라이프사이클 관리에 대한 기능으로부터 트러스트 관계의 관리의 기능을 분리하면서 주어진 기업 및 그 비즈니스 파트너 간의 트러스트 관계를 관리하는 트러스트 서비스를 병합할 수 있다. 그러나, 도 7의 설명은 트러스트 관계가 확립되는 방식에 대한 또 다른 설명을 제공하지 않는다.The present invention preferably makes the form of the trust relationship flexible. For example, federation partners can interact using different types of security tokens. As described above with reference to FIG. 7, an embodiment of the present invention provides a trust service for managing a trust relationship between a given enterprise and its business partners while separating the function of managing trust relationships from the functions for federated user lifecycle management. Can be merged. However, the description of FIG. 7 does not provide another explanation of how the trust relationship is established.

도 11은 연합 파트너(1104)를 갖는 트러스트 관계를 확립하기 위하여 도 7에 도시된 것과 같은 트러스트 서비스(704)가 연합 파트너(1102)의 컴퓨팅 환경에서 기능 지원을 제공하는 방식을 나타낸다. 컴퓨팅 환경(1102) 내의 트러스트 관계 관리 콘솔 애플리케이션(1106)은 트러스트 서비스(704)에 의지하여 연합 파트 너(1104)의 엔티티, 예를 들어, 연합 파트너(1104)의 컴퓨팅 환경 내의 유사한 구성 애플리케이션과 정보를 교환할 수 있다. 상술한 바와 같이, 두 파트너 간의 트러스트 관계는 보안 관련 정보의 집합, 예를 들어, {암호키, 보안 토큰 및 아이덴티티 전환}을 포함하는 정보 항목 세트로서 본 발명의 바람직한 실시예 내에서 구현된다. 따라서, 트러스트 서비스(704)는 기대되는 토큰 포맷(1108), 암호키(1110) 및 아이덴티티 전환(1112)에 대한 정보를 교환할 수 있고, 그 후, 트러스트 관계 관리 콘솔 애플리케이션(1106) 또는 트러스트 서비스(704)에 의해 트러스트 관계 데이터베이스(1114)에 저장된다. 트러스트 관계 데이터베이스(1114) 내에 표현된 각각의 트러스트 관계는 트러스트 관계를 기술하거나 구현하기 위한 추가의 정보를 가질 수 있다.FIG. 11 illustrates how a trust service 704 as shown in FIG. 7 provides functional support in the computing environment of the federated partner 1102 to establish a trust relationship with the federated partner 1104. The trust relationship management console application 1106 within the computing environment 1102 relies on the trust service 704 to provide similar configuration applications and information within the computing environment of the federation partner 1104, such as the federation partner 1104's computing environment. Can be exchanged. As mentioned above, a trust relationship between two partners is implemented within a preferred embodiment of the present invention as a set of information items that includes a set of security related information, for example {encryption key, security token and identity transition}. Thus, trust service 704 may exchange information about the expected token format 1108, cryptographic key 1110, and identity transition 1112, and then trust relationship management console application 1106 or trust service. 704 is stored in trust relationship database 1114. Each trust relationship represented in trust relationship database 1114 may have additional information for describing or implementing a trust relationship.

이제 도 12를 참조하면, 도 12는 연합 기능을 포함하기 위한 컴퓨팅 환경의 구성을 나타내는 블록도이다. 도 10을 참조하여 상술한 바와 같이, 연합 기능의 구성은 연합 트랜잭션의 개시 전에 임의의 시간에 수행될 필요가 있다. 도 5를 참조하여 상술한 바와 같이, 연합 사용자 라이프사이클 관리 애플리케이션(508)은 도 12에 도시된 연합 사용자 라이프사이클 관리 플러그인(514)과 상호 동작하거나 상호 작용하거나 인터페이스하기 위한 지원을 포함한다. Referring now to FIG. 12, FIG. 12 is a block diagram illustrating a configuration of a computing environment for including federation functionality. As described above with reference to FIG. 10, the configuration of the federation function needs to be performed at any time before the start of the federated transaction. As described above with reference to FIG. 5, the federated user lifecycle management application 508 includes support for interacting, interacting with, or interfacing with the federated user lifecycle management plug-in 514 shown in FIG. 12.

본 발명의 일 실시예에서, 연합 프로토콜 런타임 플러그인은 독립적으로 공개되거나 개발된 다양한 유형의 연합 사용자 라이프사이클 관리 표준 또는 프로파일에 대한 기능을 제공한다. 도 12를 참조하면, 기업의 컴퓨팅 환경 내의 시스템 관리 사용자는 런타임 환경 관리 콘솔 애플리케이션(1202)를 채용하여 FULM 애플리 케이션(508) 및 연합 사용자 라이프사이클 관리 플러그인(514)을 관리한다. 예를 들어, 관리자는 런타임 환경 관리 콘솔 애플리케이션(1202)에 의해 제공된 그래픽 사용자 인터페이스를 사용하여 특정 서버상의 특정 디렉토리 내에 플러그인(514)을 구성할 수 있다. 새로운 연합 동작이 지원되는 경우, 새로운 플러그인을 적절한 디렉토리에 저장함으로써 새로운 플그인이 관리자에 의해 배치되고, 갱신된 버전의 새로운 플러그인이 제3의 판매자로부터의 관리 애플리케이션, 중앙집중된 연합 데이터베이스 또는 임의의 다른 위치에 의해 검색될 수 있다. 구성 파일 및/또는 특성 파일은 연합 트랜잭션동안 사용되는 URI 등의 플러그인(514)에 대한 런타임 파라미터를 포함하고, 이들은 런타임 환경 관리 콘솔 애플리케이션(1202)을 통해 관리자에 의해 생성, 변경 및 삭제될 수 있다.In one embodiment of the invention, the federated protocol runtime plug-in provides functionality for various types of federated user lifecycle management standards or profiles independently published or developed. Referring to FIG. 12, a system management user in an enterprise computing environment employs a runtime environment management console application 1202 to manage the FULM application 508 and the federated user lifecycle management plug-in 514. For example, an administrator can configure the plug-in 514 in a particular directory on a particular server using the graphical user interface provided by the runtime environment management console application 1202. If new federated behavior is supported, the new plug-in is deployed by the administrator by storing the new plug-in in the appropriate directory, and an updated version of the new plug-in is managed by a third-party vendor, a centralized federated database, or any other. Can be retrieved by location. Configuration files and / or properties files contain runtime parameters for plug-ins 514, such as URIs used during federated transactions, which can be created, changed, and deleted by administrators through runtime environment management console application 1202. .

이제 도 13a를 참조하면, 도 13a는 본 발명의 실시예에 따라 기업의 컴퓨팅 환경 내에서 연합 관계를 확립하기 위하여 시스템 관리 사용자에 의해 사용될 수 있는 연합 관계 관리 콘솔 애플리케이션을 나타내는 블록도이다. 상술한 바와 같이, 연합 관계는 파트너 사이에서 동의되어야 하는 연합 기능의 선택을 포함하고, 예를 들어, 양 파트너는 싱글-사인-온 기능성에 영향을 주는 것에 동의할 수 있다. 그러나, 이 기능을 구현하기 위하여 양 파티는 싱글-사인-온 요구/응답 메시지를 전송하는 URI 등의 선택된 기능에 대한 파트너에 따른 정보를 인식할 필요가 있다. 다른 연합 파트너로부터 하나의 연합 파트너에 의해 수집되는 파트너에 따른 정보는 연합 파트너 간의 특정 연합 관계를 위해 정의되거나 선택되는 연합 기능에 의존한다. 이 파트너에 따른 정보는 파트너 사이에서 교환될 필요가 있다.Referring now to FIG. 13A, FIG. 13A is a block diagram illustrating a federated relationship management console application that may be used by a system management user to establish a federated relationship within an enterprise computing environment in accordance with an embodiment of the present invention. As mentioned above, the federation includes the selection of federation functions that must be agreed between the partners, for example, both partners may agree to affect single-sign-on functionality. However, in order to implement this functionality, both parties need to be aware of the partner-specific information for the selected function, such as a URI for sending a single-sign-on request / response message. The information pertaining to a partner collected by one federation partner from another federation partner depends on the federation function defined or selected for a specific federation relationship between federation partners. Information based on this partner needs to be exchanged between partners.

따라서, 각각의 연합 파트너로부터 필요한 정보는 다를 수 있기 때문에, 단일 구성 형태 파일 또는 템플릿 파일은 제1 연합 파트너에 의해 모든 연합 파트너에게 분산될 수 없다. 정의된 연합 관계에 따라 연합 트랜잭션을 실행하기 위한 런타임에서 필요로 하는 정보는 파트너 지정이다. 제1 파트너의 관리자가 특정 연합 관계의 구성된 기능에 기초하여 각각의 연합 파트너에 대한 이 구성 형태 또는 템플릿을 테일러하지 않으면, 다른 파트너는 특정 연합 관계가 필요하든 필요하지 않든간에, 구성 형태 또는 템플릿 내에서 요구될 수 있는 모든 정보를 제공하도록 요구된다.Thus, since the information required from each federation partner may vary, a single configuration type file or template file may not be distributed to all federation partners by the first federation partner. According to the defined federation, the information required by the runtime to execute federated transactions is partner specification. If the manager of the first partner does not tailor this configuration form or template for each federation partner based on the configured capabilities of the particular federation, then the other partner may or may not need a specific federation, within the configuration form or template. It is required to provide all the information that may be required by the.

본 발명은, 바람직하게 연합 관계가 형성되는 동안 연합 관계 특정 XML 구성 파일이 다이나믹하게 생성되어 연합 파트너에게 익스포트되는 어프로치를 취하고, 연합 파트너는 요구된 파트너에 따른 구성 정보를 제공하고 그것을 요구자에게 반환한다. 완료된 파일이 파트너로부터 수신된 후에, 요구한 파트너는 후에 상세히 설명하는 바와 같이 특정 구성 정보를 임포트하고 그것을 적절한 연합 관계와 결합할 수 있다.The present invention preferably takes the approach in which a federation specific XML configuration file is dynamically generated and exported to the federation partner during federation, where the federation partner provides the configuration information according to the requested partner and returns it to the requestor. . After the completed file is received from the partner, the requesting partner can import specific configuration information and associate it with the appropriate federation, as detailed later.

도 13a를 참조하면, 관리 사용자는 연합 관계 관리 콘솔 애플리케이션(1300)을 채용하여 연합 관계를 확립한다. 각각의 연합 관계가 트러스트 관계를 포함하므로, 연합 관계 관리 콘솔 애플리케이션(1300)은 트러스트 관계 데이터베이스(1302)로부터 미리 확립된 트러스트 관계에 대한 정보를 검색한다. 트러스트 관계 데이터베이스(1302)는 도 11을 참조하여 상술한 바와 같이 기업과 그 신뢰성있는 비즈니스 파트너 사이에 확립된 각각의 트러스트 관계에 대한 엔트리를 포함하고, 도 13a 의 트러스트 관계 데이터베이스(1302)는 도 11의 트러스트 관계 데이터베이스(1114)와 유사하다. 여기에 기재된 데이터베이스, 구성 파일, 데이터 구조 등은 임의의 데이터스토어가 데이터베이스, 파일, 데이터 구조로서 구현될 수 있도록 일반적인 데이터스토어 또는 다수의 다른 유형의 데이터스토어로서 구현될 수 있다. 도 13a에 도시된 예에서, 트러스트 관계 데이터베이스(1302)는 트러스트 관계 데이터베이스 엔트리(1304)에 의해 표현되는 "트러스트-XY"라 불리우는 트러스트 관계를 포함한다. 상술한 바와 같이, 각각의 트러스트 관계는 정보 집합을 포함하고, 트러스트 관계 데이터베이스 엔트리(1304)는 암호키 정보(1308), 토큰 포맷 정보(1310) 및 아이덴티티 전환 정보(1312)를 포함하는 집합(1306)을 포함한다. 각각의 트러스트 관계는 또한 표현된 트러스트 관계를 구현하기 위한 임의의 추가의 파트너에 따른 정보, 예를 들어, 트러스트 관계에 참여한 파트너의 아이덴티티, 트러스트 관계에 대하여 동작을 수행하기 위하여 접촉될 수 있는 트러스트 서비스의 아이덴티티 또는 위치에 관한 정보 또는 다른 유사한 유형의 정보를 포함한다.Referring to FIG. 13A, an administrative user employs a federated relationship management console application 1300 to establish a federated relationship. Since each federated relationship includes a trust relationship, the federated relationship management console application 1300 retrieves information about the established trust relationship from the trust relationship database 1302. The trust relationship database 1302 includes an entry for each trust relationship established between the enterprise and its trusted business partners as described above with reference to FIG. 11, and the trust relationship database 1302 of FIG. 13A is shown in FIG. Is similar to the trust relationship database 1114. The databases, configuration files, data structures, and the like described herein may be implemented as a general datastore or many other types of datastores such that any datastore can be implemented as a database, file, data structure. In the example shown in FIG. 13A, trust relationship database 1302 includes a trust relationship called "Trust-XY" represented by trust relationship database entry 1304. As described above, each trust relationship includes a set of information, and the trust relationship database entry 1304 includes a set 1306 that includes cryptographic key information 1308, token format information 1310, and identity switching information 1312. ). Each trust relationship may also be contacted to perform operations on information, such as the identity of the partner participating in the trust relationship, trust relationship, according to any additional partner for implementing the expressed trust relationship. Information about the identity or location of the information or other similar type of information.

연합 관계는 또한 연합 관계 내에 지원되는 연합 기능에 대한 파트너에 따른 정보를 포함하므로, 연합 관계 관리 콘솔 애플리케이션(1300)은 또한 기업의 컴퓨팅 환경 내에서 이미 구성될 수 있거나 기업의 도메인 또는 컴퓨팅 환경 내에서 구성될 연합 기능에 대한 연합 기능에 따른 정보를 검색한다. 예를 들어, 기업의 컴퓨팅 환경이 도 5를 참조하여 상술한 것과 유사한 본 발명의 일 실시예에 따라 구현되는 것으로 가정하면, 연합 관계 관리 콘솔 애플리케이션(1300)은 파일을 포함하는 디렉토리를 스캔하고 FULM 애플리케이션 및/또는 그 관련 플러그, 또는 임의 의 다른 방식과 관련된 구성 및/또는 특성 파일(1314)을 판독함으로써 다양한 정보 소스로부터 FULM 애플리케이션 및/또는 그 관련 플러그인에 대한 정보를 검색할 수 있다. 일 실시예에서, 이 정보를 모은 후에, 연합 관계 관리 콘솔 애플리케이션(1300)은 기업의 도메인 또는 컴퓨팅 환경 내에서 지원되고 기업의 도메인 또는 컴퓨팅 환경에 이용가능한 연합 기능에 대한 정보의 편집인 레지스트리(1316)를 형성할 수 있다. 도 13a에 도시된 예에서, 레지스트리(1316)는 이용가능한 연합 기능의 유형에 대한 엔트리(1318)를 포함하고, 레지스트리 엔트리(1318)는 또한 주어진 연합 기능에 의해 요구되는 다수의 메타데이터 파라미터를 나타내는 다수의 필드(1320)와 관련되고, 메타데이터는 연합 기능을 채용하는 연합 트랜잭션의 인스턴스 동안 주어진 연합 기능을 관리 또는 인보크하기 위하여 연합 파트너에 의해 필요한 파트너에 따른 구성 데이트를 나타낸다. 일 실시예에서, 레지스트리(1316)는 관리 사용자에 의해 연합 관계 관리 콘솔 애플리케이션(1300)이 사용될 때마다 동적으로 생성되는 임시 데이터스토어 또는 데이터 구조이고, 다른 실시예에서, 레지스트리(1316)는 기업의 도메인 또는 컴퓨팅 환경 내의 임의의 다른 구성 유틸리티, 예를 들어, 도 12에 도시된 런타임 환경 관리 콘솔 애플리케이션(1202) 등에 의해 관리된다.The federation also includes partner-specific information about the federation functions supported within the federation, so the federation management console application 1300 may also be already configured within the enterprise computing environment or within the enterprise domain or computing environment. Retrieve information according to the federation function for the federation function to be configured. For example, assuming that an enterprise computing environment is implemented in accordance with an embodiment of the present invention similar to that described above with reference to FIG. 5, federated relationship management console application 1300 scans a directory containing files and FULM By reading the configuration and / or properties file 1314 associated with the application and / or its associated plug, or any other manner, it is possible to retrieve information about the FULM application and / or its associated plug-in from various information sources. In one embodiment, after gathering this information, federation relationship management console application 1300 is registry 1316, which is a compilation of information about federation functions supported within the corporate domain or computing environment and available to the corporate domain or computing environment. Can be formed. In the example shown in FIG. 13A, registry 1316 includes an entry 1318 for the type of federation function available, which registry entry 1318 also represents a number of metadata parameters required by a given federation function. Associated with a number of fields 1320, the metadata represents configuration data according to the partner needed by the federation partner to manage or invoke a given federation function during an instance of the federation transaction employing the federation function. In one embodiment, the registry 1316 is a temporary datastore or data structure that is dynamically created each time the federated relationship management console application 1300 is used by an administrative user. In another embodiment, the registry 1316 is a corporate enterprise. Managed by any other configuration utility in the domain or computing environment, such as runtime environment management console application 1202 shown in FIG.

임의의 경우, 연합 기능에 결합된 메타데이터 파라미터에 관한 정보는 연합 기능을 구현하는 소프트웨어 모듈이 생성될 때 결정된다. 바꾸어 말하면, 이들 메타데이터 파라미터는 연합 기능에 따른 것이고, 메타데이터 파라미터는 임의의 방식으로 연합 기능을 구현하는 소프트웨어 모듈과 결합된다. 그러므로, 연합 기능과 결합된 메타데이터 파라미터(1320)의 아이덴티티는 바람직하게 구성 및/또는 특성 파일(1314) 내의 기능에 따른 메타데이터 파라미터로서 연합 기능을 구현하는 소프트웨어 모듈을 수반해야 한다. 이 구성 및/또는 특성 파일(1314)은 소프트웨어 모듈이 배치될 때, 예를 들어, FULM 애플리케이션 및/또는 그 플러그인이 배치될 때, 기업의 컴퓨팅 환경 내에서 배치되거나 구성된다. 다른 방법으로, 메타데이터 파라미터(1320)의 수와 성질은 공통 중앙집중된 연합 데이터베이스 등의 임의의 다른 데이터 소스로부터 검색될 수 있다. 다른 예에서, 메타데이터 파마미터(1320)의 수와 성질은 연합 프로토콜의 사양을 설명하는 전자 파일로부터 도출될 수 있고, 사양 파일은 특정 연합 프로토콜에 부착된 연합 기능에 대한 연합 기능의 구현이 메타데이터를 포함하도록 메타데이터 파라미터의 표준 세트를 기술하여, 연합 프로토콜에 대한 임의의 소프트웨어 모듈에 의해 구현될 것으로 기대되는 인터페이스 또는 데이터 교환을 요구할 수 있다. 임의의 경우, 메타데이터 파라미터(1320)의 수와 성질은 연합 관계 관리 콘솔 애플리케이션(1300)에 의한 검색에 이용가능하다.In any case, information about metadata parameters coupled to the federation function is determined when a software module implementing the federation function is generated. In other words, these metadata parameters are according to the federation function, and the metadata parameters are combined with a software module that implements the federation function in any way. Therefore, the identity of the metadata parameter 1320 associated with the federation function should preferably involve a software module that implements the federation function as metadata parameters according to the function in the configuration and / or properties file 1314. This configuration and / or properties file 1314 is deployed or configured within the enterprise computing environment when a software module is deployed, for example when a FULM application and / or its plug-in is deployed. Alternatively, the number and nature of metadata parameters 1320 can be retrieved from any other data source, such as a common centralized federated database. In another example, the number and nature of the metadata parameters 1320 may be derived from an electronic file describing the specification of the federation protocol, where the specification file may be used to describe the implementation of the federation function for the federation function attached to a particular federation protocol. A standard set of metadata parameters may be described to contain data, requiring an interface or data exchange that is expected to be implemented by any software module for the federation protocol. In any case, the number and nature of the metadata parameters 1320 are available for retrieval by the federation relationship console application 1300.

연합 관계 관리 콘솔 애플리케이션(1300)은 연합 관계를 확립하기 위하여 관리 사용자를 지원하면서 트러스트 관계 및 연합 기능에 대한 정보를 검색한다. 이들 검색 관계는 연합 관계 데이터베이스(1322) 내의 엔트리로 표현된다. 도 13a에 도시된 예에서, 연합 관계 데이터베이스 엔트리(1324)는 "Fed--XY--ProjectX"라 명명된 연합 관계를 나타내고, 이 예에서, 연합 관계에 대한 식별자는 연합 관계의 목적의 표시와 함께 연합 관계에서 동시에 동작하는 연합 파트너의 표시, 예를 들어 파트너 "X"와 파트너 "Y"를 제공한다. 연합 파트너가 많은 다른 목적으로 사용 작용하고 각각의 목적이 자신의 요구사항을 가지면, 한 쌍의 연합 파트너는 도 9a와 도 9b를 참조하여 설명한 바와 같이 복수의 연합 관계를 가질 수 있다. The federated relationship management console application 1300 retrieves information about trust relationships and federation functions while assisting administrative users to establish federated relationships. These search relationships are represented by entries in the federation relationship database 1322. In the example shown in FIG. 13A, federation database entry 1324 represents a federated relationship named "Fed--XY--ProjectX", in which an identifier for the federated relationship is indicative of the purpose of the federated relationship. It provides an indication of a federation partner working simultaneously in a federation together, eg partner "X" and partner "Y". If a federation partner acts for many different purposes and each purpose has its own requirements, then a pair of federation partners may have multiple federation relationships as described with reference to FIGS. 9A and 9B.

도 13a에 도시된 예에서, 트러스트 관계 데이터베이스 엔트리(1304)는 암호키(1330), 토큰 포맷 정보(1332), 및 아이덴티티/속성 전환 정보(1334)를 포함하는 트러스트 관계 집합(1328)을 포함하는 트러스트 관계 데이터(1326)로서 연합 관계 데이터베이스 엔트리(1324)에 카피된다. 다른 방법으로, 연합 관계 데이터베이스 엔트리(1324)는 연합 관계 데이터베이스 엔트리(1324)를 업데이트하는 것을 요구하지 않고 트러스트 관계 데이터베이스 엔트리(1304)가 수정되도록 단순히 트러스트 관계 데이터베이스(1302) 내의 트러스트 관계 데이터베이스 엔트리(1304)로 기준 또는 포인터를 저장할 수 있다. 암호키 및 인증서 등의 트러스트 관계의 엘리먼트를 포함하는 개별 데이터 항목은 또한 이들 데이터 항목을 관리하는 효율을 증가시키기 위하여 참조로 포함될 수 있다. 연합 관계 데이터베이스 엔트리(1324) 또한 연합 관계 데이터베이스 엔트리(1324)에 의해 표현되는 연합 관계에 의해 지원될 연합 동작/기능, 예를 들어, 기능(1336 및 1338) 및 구현 요구사항에 대한 관련된 메타데이터 정보(1340 및 1342)에 대한 정보를 각각 포함한다. 다른 방법으로, 연합 관계 데이터베이스 엔트리(1324)는 구성 및/또는 특성 파일(1314) 등의 적절한 위치에 대한 기준 또는 포인터를 저장할 수 있고, 이로부터 지원된 연합 기능/동작에 대한 정보가 검색될 수 있다.In the example shown in FIG. 13A, trust relationship database entry 1304 includes a trust relationship set 1328 that includes an encryption key 1330, token format information 1332, and identity / attribute conversion information 1334. It is copied into federation relationship database entry 1324 as trust relationship data 1326. Alternatively, federation database entry 1324 simply trusts database entry 1304 in trust relationship database 1302 so that trust relationship database entry 1304 is modified without requiring updating of federation database entry 1324. You can store the reference or pointer with). Individual data items containing elements of trust relationships such as cryptographic keys and certificates may also be included by reference to increase the efficiency of managing these data items. Federation relationship database entry 1324 also related metadata information for federation operations / functions, such as functions 1336 and 1338, and implementation requirements to be supported by the federation relationship represented by federation database entry 1324. Information about 1340 and 1342, respectively. Alternatively, federation database entry 1324 may store a reference or pointer to a suitable location, such as configuration and / or properties file 1314, from which information about supported federation functions / operations may be retrieved. have.

미래의 시점에서, 연합 관계 데이터베이스 엔트리(1324)는 연합 관계 데이터베이스 엔트리(1324) 내에 표시된 연합 기능, 즉 기능(1336 및 1338)을 사용할 연 합 트랜잭션을 개시하는데 사용될 것이다. 그러나, 연합 트랜잭션을 개시하거나 완료하기 위하여, 파트너에 따른 정보는 기능(1336 및 1338)과 결합된 정보(1340 및 1342)에 따라 파트너에 따른 정보를 필요로 하는 메타데이터 정보를 통해 연합 기능이 표시하는 인스턴스에 사용되어야 한다. 예를 들어, 파트너에 따른 정보는 특정 연합 파트너와의 연합 트랜잭션을 요구하기 위하여 연합 파트너에 전송되는 요구 메시지의 타겟 목적지를 나타내는 하나 이상의 URI를 포함할 수 있다.At a future point in time, federation database entry 1324 will be used to initiate a federation transaction that will use the federation function indicated in federation database entry 1324, i.e., functions 1336 and 1338. However, in order to initiate or complete a federated transaction, the information according to the partner is indicated by the federation function through metadata information requiring information according to the partner according to the information 1340 and 1342 combined with the functions 1336 and 1338. Should be used for the instance being created. For example, the information according to the partner may include one or more URIs indicating the target destination of the request message sent to the federated partner to request a federated transaction with a particular federated partner.

본 발명의 일 실시예에서, 관리 사용자가 연합 관계 관리 콘솔 애플리케이션(1300) 또는 유사한 관리 소프트웨어 툴을 사용하여 연합 관계를 형성 또는 확립하면서, 연합 관계 관리 콘솔 애플리케이션(1300)은 파트너에 따른 정보를 얻고 그 정보를 파트너에 따른 데이터 항목, 예를 들어 데이터 항목(1344 및 1346)으로서 연합 관계 데이터베이스 엔트리(1324)에 저장하려 한다. 이것을 위해, 연합 관계 관리 콘솔 애플리케이션(1300)은 연합 관계 확립 템플릿 파일(1348)을 동적으로 발생시키고, 이 파일은 XML 포맷 파일 또는 다른 임의의 유형의 파일일 수 있다. 템플릿(1348)은, 트러스트 관계 데이터(1326) 내에 표시된 바와 같이, 본래의 파트너, 예를 들어, 파트너 "X"에 의해 관리 사용자가 연합 관계를 확립하려고 하는 신뢰성 있는 파트너, 예를 들어, 파트너 "Y"에게 익스포트된다. 템플릿 파일(1348)을 변경하여 정보를 포함시킴으로써 신뢰성있는 파트너에게 요구된 파트너에 따른 정보가 제공되면, 이하에서 상세히 설명하는 바와 같이, 요구 파트너의 연합 관계 관리 콘솔 애플리케이션(1300)은 변경된 템플릿 파일(1348)을 임포트하고, 제공된 정보를 추출하고, 그 정보를 연합 관계 데이터베이스 엔트리(1324)에 저장한다. In one embodiment of the present invention, while the administrative user forms or establishes a federated relationship using the federated relationship management console application 1300 or similar management software tool, the federated relationship management console application 1300 obtains information according to a partner and The information is to be stored in federation database entry 1324 as data items according to the partner, for example data items 1344 and 1346. To this end, the federation relationship management console application 1300 dynamically generates a federation establishment template file 1348, which may be an XML format file or any other type of file. The template 1348 is, as indicated in the trust relationship data 1326, a trusted partner, eg, partner ", by which the administrative user is to establish a federated relationship by the original partner, eg, partner" X. " Exported to Y ". By modifying the template file 1348 and including the information to provide the trusted partner with information according to the requested partner, the federation relationship management console application 1300 of the requesting partner may change the template file ( Import 1348, extract the provided information, and store the information in federation database entry 1324.

파트너에 따른 구성 정보는 또한 상술한 관리 사용자의 컴퓨팅 환경, 즉, 발신/소스 파트너 또는 파트너 "X"로부터 협력/타겟 연합 파트너, 즉, 파트너 "Y"로 전송될 필요가 있다. 타겟 연합 파트너는 협력/타겟 연합 파트너의 관점으로부터 연합 관계를 구성하는 발신 파트너에 대한 소정의 파트너에 따른 정보를 필요로 할 수 있고, 예를 들어, 협력/타겟 연합 파트너가 두 파트너 간의 연합 파트너쉽의 형성을 이미 개시한 연합 파트너인 관리 사용자, 예를 들어, 파트너 "X"의 도메인을 향하는 방대 방향으로 파트너에 따른 구성 데이터와 결합하여 연합 기능을 사용하여 연합 트랜잭션을 개시할 수 있도록, 연합 파트너는 접점 서버의 URI 등의 유사한 메타데이터 정보를 필요로 할 수 있다. 그러므로, 템플릿 파일(1348)은 또한 관리 사용자, 즉, 파트너 "X"의 도메인에 대한 파트너에 따른 정보를 포함할 수 있다. 다른 방법으로, 두 개의 파일이 파트너들 사이에서 파트너에 따른 정보를 전송하는데 사용되도록 발신 파트너, 즉, 파트너 "X"에 대한 파트너에 따른 정보가 수반하는 파일 또는 후속으로 전송되는 파일로 전송될 수 있다. 관리 사용자가 연합 관계를 형성하는 동안 발신/소스 파트너로부터 협력/타겟 파트너로 전송되는 파트너에 따른 정보가 연합 관계 관리 콘솔 애플리케이션(1300)을 통해 관리 사용자에 의해 입력되거나 모든 또는 일부의 데이터가 연합 관계 관리 콘솔 애플리케이션(1300)에 의해 관리되는 구성 데이터베이스로부터 얻어질 수 있다.The configuration information according to the partner also needs to be transmitted from the above-described administrative user's computing environment, i. The target federation partner may need information from the perspective of the cooperative / target federation partner according to a given partner about the originating partner making up the federation, for example the cooperative / target federation partner may The federated partner can use the federation function to initiate federated transactions in combination with the configuration data according to the partner in the vast direction towards the domain of the partner "X", for example, the federated partner who has already initiated the formation. Similar metadata information such as URI of the contact server may be required. Therefore, template file 1348 may also include information according to the administrative user, i.e., the partner for the domain of partner "X". Alternatively, the two files can be transferred to the file that is accompanied by the information according to the originating partner, that is, the partner for partner "X" or to a subsequent file, so that the two files can be used to transfer the information according to the partner between the partners. have. While administrative users form a federation, information pertaining to partners sent from originating / source partners to collaborative / target partners is entered by the administrative user through federation management console application 1300 or all or part of the data is federated. It may be obtained from a configuration database managed by the management console application 1300.

상술한 방식으로 연합 파트너 사이에서 교환되는 파트너에 따른 정보는 대칭하지 않을 수 있다. 바꾸어 말하면, 연합 파트너는 매우 다른 역할을 맡아 연합 트랜잭션에 관여할 수 있고, 이러한 다른 역할은 다른 유형의 정보가 각각의 연합 파 트너에게 제공되어야 하는 것을 요구할 수 있다. 예를 들어, 관리 사용자는 아이덴티티 제공자로서 동작하는 기업을 동작시킬 수 있다. 연합 관계는 자유 동맹 자유 ID-FF 사양에 의해 지정된 기능의 서브세트를 지원할 수 있다. 이 시나리오에서, 연합 기능은 브라우저/인공물 싱글-사인-온, 아이덴티티 제공자 개시 HTTP 재전송 기반 레지스터 이름 식별자, 및 서비스 제공자 개시 SOAP/HTTP 연합 종료 통지를 포함할 수 있다. 특히, 연합 기능에서, 아이덴티티 제공자에 의해 서비스 제공자에 제공되는 파트너에 따른 정보의 유형은 서비스 제공자에 의해 아이덴티티 제공자로 제공되는 파트너에 따른 정보의 유형과 다를 수 있다. 파트너에 따른 정보가 연합 관계에 대하여 연합 파트너의 가정된 역할에 따라 다르면, 그 역할이 구성 파일 또는 연합 관계 관리 데이터베이스에 미리 구성 또는 저장되어 있지 않으면, 관리 사용자는 연합 관계 관리 콘솔 애플리케이션(1300)에 관리 사용자의 기업에 의해 수행될 역할을 알린다. 관리 사용자는 도 13b에 도시된 바와 같이 연합 관계 관리 콘솔 애플리케이션에 의해 제공되는 GUI 내의 적절한 데이터 옵션을 선택 또는 입력함으로써 연합 관계 관리 콘솔 애플리케이션에 알릴 수 있다. The information according to the partners exchanged between federated partners in the manner described above may not be symmetrical. In other words, federation partners can assume very different roles and engage in federated transactions, which may require different types of information to be provided to each federated partner. For example, an administrative user can operate an enterprise acting as an identity provider. A federated relationship may support a subset of the functions specified by the Free Alliance Free ID-FF specification. In this scenario, the federation function may include a browser / artificial single-sign-on, an identity provider initiated HTTP retransmission based register name identifier, and a service provider initiated SOAP / HTTP federation termination notification. In particular, in the federation function, the type of information according to the partner provided by the identity provider to the service provider may be different from the type of information according to the partner provided by the service provider to the identity provider. If the information per partner depends on the federated partner's assumed role for a federated relationship, the administrative user is not allowed to enter the federated relationship management console application 1300 unless the role is preconfigured or stored in the configuration file or the federation management database. Inform the role of the administrative user to be played by the enterprise. The administrative user may inform the federated relationship management console application by selecting or entering the appropriate data options in the GUI provided by the federated relationship management console application as shown in FIG. 13B.

이제 도 13b를 참조하면, 도 13b는 본 발명의 바람직한 실시예에 따라 연합 파트너 간의 연합 관계를 확립하기 위한 관리 사용자에 의해 사용되는 연합 관계 관리 애플리케이션 내의 그래픽 사용자 인터페이스 윈도우를 나타내는 도면이다. 다이얼로그 윈도우(1350)는 도 13a에 도시된 연합 관계 관리 콘솔 애플리케이션(1300) 등의 연합 관계 관리 콘솔 애플리케이션에 의해 생성되는 연합 관계를 기초에 둔 트러스트 관계를 사용자가 선택하도록 하는 드롭 다운 메뉴(1352)를 포함 한다. 다른 방법으로, 필요하면, 특정 연합 관계를 위하여, 새로운 트러스트 관계를 동적으로 형성하기 위하여 사용자는 다이얼로그 버튼을 누르거나 메뉴 항목을 선택함으로써 예를 들어 도 11에 도시된 트러스트 관계 관리 콘솔 애플리케이션(1106) 등의 연합 관계 관리 콘솔 애플리케이션 또는 다른 임의의 애플리케이션 내의 기능을 인보크할 수 있다. 트러스트 관계의 형성은 기존의 개인키, 디지털 인증서, 토큰, 아이덴티티 맵핑 정보 등의 관리 사용자의 기업에 대한 기존의 정보를 이용하는 것을 포함하고, 토큰 정보가 각각의 파트너에 의해 변경될 수 없게 구성되어 있기 때문에 토큰 정보가 구성되지 않아도, 관리 사용자는, 이용가능하면, 공중키, 디지털 인증서, 아이덴티티 맵핑 정보 등의 신뢰성있는 파트너에 대한 공지의 정보를 이용하여 트러스트 관계의 나머지를 구성할 수 있다. Referring now to FIG. 13B, FIG. 13B is a diagram illustrating a graphical user interface window within a federated relationship management application used by an administrative user to establish a federated relationship between federated partners in accordance with a preferred embodiment of the present invention. Dialog window 1350 is a drop-down menu 1352 that allows a user to select a trust relationship based on a federation created by the federation relationship console application, such as the federation relationship console application 1300 shown in FIG. 13A. Includes. Alternatively, if desired, for a particular federation, the user may press the dialog button or select a menu item to dynamically create a new trust relationship, for example, by trust relationship management console application 1106 shown in FIG. Functionality within a federated relationship management console application or any other application. The establishment of trust relationship involves using existing information about the management user's enterprise such as existing private key, digital certificate, token, and identity mapping information, and the token information is configured not to be changed by each partner. Thus, even if the token information is not configured, the administrative user can, if available, configure the rest of the trust relationship using known information about trusted partners, such as public keys, digital certificates, identity mapping information, and the like.

드롭 다운 메뉴(1354)는 사용자가 생성되는 연합 관계 내에서 지원될 연합 기능을 선택하도록 한다. 텍스트 엔트리 필드(1356)는 생성되는 연합 관계에 대한 이름을 입력하는데 사용될 수 있다. 버튼(1358)은 다이얼로그 윈도우를 닫고 도 13a에 도시된 것과 유사한 방식으로 적절한 데이터스토어에 엔트리를 발생시킴으로써 연합 관계의 형성을 지속하고, 버튼(1360)은 다이얼로그 윈도우를 닫고 연합 관계의 생성을 취소한다. 예를 들어, 관리 사용자가 버튼(1358)을 선택하면, 콘솔 애플리케이션은, 상술되고 이하에서 더 상세히 기재되는 파트너에 따른 연합 관계 확립 템플릿 파일을 익스포트 및 임포트함으로써 연합 관계에 참여할 두 파트너 사이에서의 파트너에 따른 구성 정보를 개시한다.Drop-down menu 1354 allows the user to select a federation function to be supported within the created federation. The text entry field 1356 can be used to enter a name for the federated relationship that is created. Button 1358 continues the establishment of a federation by closing the dialog window and generating an entry in the appropriate datastore in a manner similar to that shown in FIG. 13A, and button 1360 closes the dialog window and cancels the creation of the association. . For example, if an administrative user selects button 1358, the console application can be a partner between two partners that will participate in the federation by exporting and importing a federation establishment template file according to the partner described above and described in more detail below. Disclosing the configuration information according to.

도 13c와 도 13d는 본 발명의 바람직한 실시예에 따라 기업의 컴퓨팅 환경 내에서 연합 관계를 확립하기 위하여 파트너에 따른 데이터를 얻기 위한 연합 관계 관리 콘솔 애플리케이션에 의해 개시되는 데이터 흐름을 나타내는 블록도이다. 도 13a를 참조하여 상술한 바와 같이, 연합 관계 관리 콘솔 애플리케이션(1300)은 동적으로 연합 관계 확립 템플릿 파일(1348)을 생성한다. 예를 들어, 연합 관계 관리 콘솔 애플리케이션(1300)은 사용자가 도 13b에 도시된 다이얼로그 윈도우(1350)를 통해 애플리케이션을 수행하도록 지시한 후에 템플릿(1348)을 생성할 수 있다. 템플릿(1348)의 내용은 연합 관계 관리 콘솔 애플리케이션(1300)이 파트너에 따른 데이터를 얻으려고 시도하는 연합 관계에 대하여 동적으로 결정된다. 도 13c를 참조하면, 연합 관계 관리 콘솔 애플리케이션(1300)은 연합 관계 데이터베이스 엔트리(1324)에 의해 표현된 연합 관계에 기초하여 템플릿(1348)을 생성한다. 도 13a와 유사한 방식으로, 연합 관계 데이터베이스 엔트리(1324)는 연합 관계 데이터베이스 엔트리(1324)에 의해 표현된 연합 관계에 의해 지원되는 연합 동작/기능에 대한 정보, 예를 들어, 결합된 기능을 구현하는데 필요한 파라미터에 대한 기능(1336) 및 결합된 메타데이터 정보(1340)를 포함한다. 연합 관계 관리 콘솔 애플리케이션(1300)이 템플릿(1348)을 생성하면, 애플리케이션은 메타데이터 정보(1340)를 추출하고 연합 관계 데이터베이스 엔트리(1324)로부터 필요한 표시된 메타데이터 파라미터 항목에 대한 템플릿(1348) 내의 이름-값 쌍으로서 필드 또는 엘리먼트(1354)를 생성한다. 템플릿(1348)이 XML 기반 파일이면, 이름-값 쌍은 파일 내의 태그 엘리먼트로서 포함될 수 있다. 이 시점에서, 템플릿(1348)은 아직 임의의 파트너에 따른 데이터를 포함하지 않으며, 후속의 임의의 시점에서, 템플릿(1348)은 협력/타겟 연합 파트너로 전송되어 협력/타겟 연합 파트너와 함께 임의의 미래 시점에서 연합 트랜잭션을 실행하는데 필요한 파트너에 따른 데이터를 얻는다.13C and 13D are block diagrams illustrating the data flow initiated by a federated relationship management console application for obtaining data according to a partner to establish a federated relationship within an enterprise computing environment in accordance with a preferred embodiment of the present invention. As described above with reference to FIG. 13A, federation relationship management console application 1300 dynamically generates federation establishment template file 1348. For example, federation management console application 1300 may generate template 1348 after instructing the user to perform the application via dialog window 1350 shown in FIG. 13B. The contents of the template 1348 are dynamically determined for the federation relationships in which the federation management console application 1300 attempts to obtain data according to the partner. Referring to FIG. 13C, the federation relationship console application 1300 generates a template 1348 based on the federation relationship represented by the federation database entry 1324. In a manner similar to FIG. 13A, federation database entry 1324 is used to implement information about federation operations / functions supported by the federation represented by federation database entry 1324, eg, combined functionality. A function 1336 for the necessary parameters and combined metadata information 1340. When federation management console application 1300 generates template 1348, the application extracts metadata information 1340 and names in template 1348 for the indicated metadata parameter entries required from federation database entry 1324. Create a field or element 1354 as a -value pair. If the template 1348 is an XML-based file, the name-value pairs can be included as tag elements in the file. At this point, the template 1348 does not yet contain data according to any partner, and at any subsequent point in time, the template 1348 is sent to the collaboration / target federation partner and any Get data based on the partners needed to execute federated transactions in the future.

도 13d를 참조하면, 템플릿(1348)은 협력/타겟 연합 파트너가 템플릿(1348)을 복귀한 후에 변경된 이름-값 쌍(1356)을 포함하고, 협력/타겟 연합 파트너가 자동 프로세싱 방식이지만 협력/타겟 연합 파트너의 그래픽 사용자 인터페이스 애플리케이션을 통한 관리 사용자와의 상호 작용을 통해 템플릿(1348)을 파싱(parse)하고, 이름-값 쌍에 대한 요구를 추출하고, 요구된 값을 얻는다. 후속으로, 발신/소스 연합 파트너에서, 연합 관계 관리 콘솔 애플리케이션(1300)은 반환된 이름-값 쌍을 추출하고 연합 관계 데이터베이스 엔트리(1324) 내의 데이터 항목(1358-1362)으로서 협력/타겟 연합 파트너에 의해 제공된 파트너에 따른 정보를 저장한다. 데이터 항목(1358-1362)은 후속으로 미래의 시점에서 연합 파트너와의 연합 트랜잭션을 완료하는데 사용된다. 이 경우에도, 발신/소스 연합 파트너에 대한 파트너에 따른 구성 정보는 템플릿(1348)에서 연합 파트너로 전송되어 연합 파트너가 연합 트랜잭션에 관여하기 위한 또는 방대 방향으로 유사한 연합 트랜잭션을 개시하기 위한 동등한 또는 대응하는 정보를 갖도록 한다. 이 방식으로, 반환 전에 변경되더라도 단일 파일이 전송된다.Referring to FIG. 13D, the template 1348 includes a name-value pair 1356 changed after the collaboration / target federation partner returns the template 1348, and the collaboration / target federation partner is an automatic processing but cooperation / target. Interact with the administrative user through the federated partner's graphical user interface application to parse the template 1348, extract the request for the name-value pair, and obtain the required value. Subsequently, at the originating / source federation partner, federation relationship management console application 1300 extracts the returned name-value pair and sends it to the cooperative / target federation partner as data items 1358-1362 in federation database entry 1324. Store information according to the partner provided by Data items 1358-1362 are subsequently used to complete a federated transaction with a federated partner at a future point in time. Even in this case, the partner-specific configuration information for the originating / source federated partner is sent from the template 1348 to the federated partner so that the federated partner can participate in the federated transaction or initiate a similar federated transaction in a massive direction. Make sure you have the information. In this way, a single file is sent even if it is changed before returning.

다른 방법으로, 발신/소스 연합 파트너, 즉, 두 파트너 중에서 연합 파트너의 형성을 개시하는 연합 파트너에 대한 파트너에 따른 구성 정보는 제1 파일의 전송과 동시에 또는 다른 시점에서 2 메시지 또는 파일로 전송될 수 있고, 제2 파일은 발신/소스 연합 파트너에 대한 파트너에 따른 정보를 협력/타겟 연합 파트너로 전송하고 반환되지 않는다. 예를 들어, 제1 파일은 협력/타겟 연합 파트너로부터 파트너에 따른 정보의 포함을 요구하는 "빈(empty)" 파일로서 연합 파트너로 전송된 다음, 제1 파일이 연합 파트너에 대한 파트너에 따른 정보를 포함하도록 변경하여 반환된다. 대조적으로, 제2 파일은 발신/소스 연합 파트너로부터 협력/타겟 연합 파트너로 파트너에 따른 정보를 제공하는 "풀(full)" 파일로서 연합 파트너로 전송된다.Alternatively, the configuration information according to the originating / source federated partner, i.e., the partner of the two partners initiating the formation of the federated partner, may be sent in two messages or files simultaneously with the transmission of the first file or at another point in time. And the second file sends the information according to the partner for the originating / source federation partner to the cooperative / target federation partner and is not returned. For example, a first file may be sent from a collaboration / target federation partner to an federated partner as an "empty" file that requires the inclusion of information according to the partner, and then the first file is information per partner for the federated partner. Returned by changing to include. In contrast, the second file is sent to the federation partner as a "full" file that provides information according to the partner from the originating / source federation partner to the cooperative / target federation partner.

이제 도 14를 참조하면, 도 14는 본 발명의 일 실시예에 따라 연합 관계를 통해 상호 작용하는 연합 파트너 간에 교환되는 익스포트/임포트 파일을 사용을 통해 자동화된 방식으로 연합 관계가 확립되는 프로세스를 나타내는 흐름도를 나타낸다. 프로세스는, 주어진 기업의 컴퓨팅 환경을 갖는 관리 사용자, 예를 들어, 파트너 "X"가 신뢰성있는 비즈니스 파트너, 예를 들어 파트너 "Y"와 연합 관계를 확립하기 위한 통지를 수신할 때 개시된다 (단계 1402). 통지가 아웃-오브-밴드 방식으로 수신되더라도, 이 통지는 메일 또는 전화 등의 수동 방식으로 이루어질 수도 있지만, 바람직하게 도 13a에 도시된 연합 관계 관리 콘솔 애플리케이션 등의 관리 콘솔 애플리케이션 내의 임의의 방식 또는 이메일을 통해 전자적으로 수신된다. 일반적으로, 종종 연합은 연합 관계에 대한 정보를 구성하기 위하여 발신/소스 파트너로서 동작하는 연합 파트너인 파워 스폰서를 알고 있다. Referring now to FIG. 14, FIG. 14 illustrates a process in which a federation is established in an automated manner through the use of an export / import file exchanged between federated partners interacting through a federation in accordance with one embodiment of the present invention. The flow chart is shown. The process is initiated when an administrative user with a given corporate computing environment, eg, partner "X", receives a notification to establish a federation with a trusted business partner, eg, partner "Y" (step 1402). Although the notification may be received in an out-of-band manner, the notification may be made manually, such as by mail or telephone, but preferably any manner or email within a management console application, such as the federated relationship management console application shown in FIG. 13A. Is received electronically via. In general, the federation often knows a power sponsor, which is a federation partner that acts as an originating / source partner to form information about the federation.

관리 사용자가 이미 그렇게 하지 않았으면, 관리 사용자는 연합 관계 관리 콘솔 애플리케이션을 인보크한다 (단계 1404). 다른 방법으로, 이 기능은 발신/소스 연합 파트너의 컴퓨팅 환경 내의 애플리케이션에 의해 시작되는 작업흐름 형(workflow-type) 액션을 통해 개시 및/또는 수행될 수 있다. 그러므로, 도 14에 도시된 프로세스는 바람직하게 예를 들어 WS 폴리시 사양을 구현하기 위하여 구성된 기능을 사용하여 컴퓨팅 환경의 인프라스트럭쳐에 병합된 폴리시 결정에 기초하여 완전히 자동화될 수 있다.If the administrative user has not already done so, the administrative user invokes the federated management console application (step 1404). Alternatively, this functionality may be initiated and / or performed via a workflow-type action initiated by an application in the computing environment of the originating / source federation partner. Thus, the process shown in FIG. 14 may be fully automated based on policy decisions incorporated into the infrastructure of the computing environment, preferably using functions configured to implement the WS policy specification, for example.

도 14에 도시된 프로세스는 발신/소스 연합 파트너, 연합 파트너 "X"의 관점으로부터 기재되며, 도 14를 참조하여 설명하는 프로세스 단계는 협력/타겟 연합 파트너, 연합 파트너 "X"의 컴퓨팅 환경에서 발생하고, 유사한 액션은 이하에서 상세히 설명하는 바와 같이 연합 파트너 "X"로부터 정보를 수신하는 것에 응답하여 연합 파트너 "Y"에서 발생할 수 있다.The process illustrated in FIG. 14 is described from the perspective of originating / source federation partner, federation partner "X", and the process steps described with reference to FIG. 14 occur in the computing environment of the cooperative / target federation partner, federation partner "X". And similar actions may occur at federated partner “Y” in response to receiving information from federated partner “X” as described in detail below.

관리 사용자는 연합 파트너 "X"의 연합 관계 관리 콘솔 애플리케이션 내에서 새로운 연합 관계의 구성 또는 형성을 개시하고 (단계 1406), 사용자는 새로운 연합 관계, 예를 들어, "Fed--XY--PROJECTX"에 대한 이름 또는 식별자를 입력하거나 (단계 1408), 연합 관계 등을 생성하는 파트너 등의 정보 세트에 기초하여 자동으로 생성된다.The administrative user initiates the formation or formation of a new federation within the federation management console application of federated partner "X" (step 1406), and the user starts a new federation, for example, "Fed--XY--PROJECTX". Either enter a name or identifier for (step 1408), or be automatically generated based on a set of information, such as a partner for creating a federation or the like.

연합 관계를 구성/형성하는 동작이 작업 흐름 프로세스를 통해 자동으로 개시되면, 수신된 요구 메시지 또는 유사한 개시 이벤트가 요구된 연합 관계 내에서 지원되는 연합 기능의 표시를 포함할 수 있고, 다른 방법으로, 이 외에, 사용자는 도 13b에 도시된 바와 같이 연합 관계 관리 콘솔 애플리케이션 내의 적절한 연합 기능을 선택할 수 있거나 수신된 요구 메시지가 자동으로 프로세싱되어 요구된 연합 기능을 결정할 수 있다.If the act of configuring / forming a federation is initiated automatically through a workflow process, the received request message or similar initiation event may include an indication of the federation function supported within the requested federation, and, alternatively, In addition, the user may select an appropriate federation function in the federation relationship management console application as shown in FIG. 13B or the received request message may be automatically processed to determine the requested federation function.

사용자는 도 13b에 도시된 바와 같이 연합 관계가 기초하는 트러스트 관계를 선택, 구성 또는 형성한다 (단계 1412). 파트너 사이에 단일 트러스트 관계만이 존재하면, 트러스트 관계는 자동으로 선택될 수 있고, 선택된 연합 기능에 대하여 기존의 트러스트 관계가 적합하지 않으면, 연합 관계 관리 콘솔 애플리케이션은 사용자가 새로운 트러스트 관계를 구성 또는 형성하도록 촉구할 수 있다.The user selects, configures, or forms a trust relationship upon which the federation relationship is based, as shown in FIG. 13B (step 1412). If only a single trust relationship exists between the partners, the trust relationship can be automatically selected, and if an existing trust relationship is not suitable for the selected federation function, the federation relationship console application allows the user to configure or form a new trust relationship. May be urged to do so.

이하에서 상세히 설명하는 바와 같이, 두 비즈니스 파트너 간의 트러스트 관계는 두 비즈니스 파트너 사이에서 연합 관계가 구성 또는 형성되는 것과 동시에 구성 또는 형성될 수 있다. 그러므로, 연합 관계를 구성하는 정보가 전송되는 기간 동안 트러스트 관계를 구성하는 정보가 비즈니스 파트너 사이에서 전달될 수 있다.As will be described in detail below, a trust relationship between two business partners may be configured or formed simultaneously with the formation or formation of a federated relationship between the two business partners. Therefore, the information constituting the trust relationship can be transferred between the business partners during the period in which the information constituting the federated relationship is transmitted.

대조적으로, 연합 관계를 구성하고 있는 연합 파트너는 이미 트러스트 관계를 가질 수 있다. 이 트러스트 관계는 연합 내의 협력을 위한 것보다 다른 목적으로 구성될 수 있다. 이 트러스트 관계는 간단한 정보 교환을 통해 구성될 수 있고, 다른 방법으로, 이 트러스트 관계는 각각의 컴퓨팅 환경 내이지만 연합의 고려 밖인 다른 소프트웨어 애플리케이션을 사용하여 구성될 수 있다. 예를 들어, 연합 파트너는 그들 사이의 임의의 트랜잭션을 위해 사용되기를 원하는 공중키/디지털 인증서 및 다른 트러스트 관련 정보를 교환할 수 있고, 이 정보는 임의의 다른 유형의 소프트웨어 또는 임의의 다른 방식을 통해 전자 정보의 간단한 전달을 통해 교환될 수 있다.In contrast, the federation partner making up the federation can already have a trust relationship. This trust relationship may be organized for other purposes than for cooperation within the federation. This trust relationship can be established through a simple exchange of information, and in another way, the trust relationship can be established using other software applications within each computing environment but outside of federation considerations. For example, a federated partner may exchange public key / digital certificates and other trust related information that they wish to use for any transaction between them, which information may be via any other type of software or in any other way. It can be exchanged through a simple transfer of electronic information.

또한, 기존의 트러스트 관계는 이미 연합 내에서 상호 작용할 목적으로 형성될 수 있다. 바꾸어 말하면, 한 쌍의 비즈니스 파트너가 다수의 동시 연합 관계를 통해 협력할 수 있으면, 트러스트 관계는 미리 확립된 연합 관계를 위하여 이미 형성되어 있을 수 있다.In addition, existing trust relationships may already be established for the purpose of interacting within the federation. In other words, if a pair of business partners can collaborate through multiple concurrent federations, then a trust relationship may already be established for a pre-established federation.

임의의 경우, 두 파트너 사이에 기존 연합 관계가 있든 없든 간에, 새로운 연합 관계를 형성하거나 구성하기를 원하는 두 비즈니스 파트너 간의 하나 이상의 기존 트러스트 관계가 있을 수 있다. 하나 이상의 기존 트러스트 관계가 있으면, 트러스트 관계의 트러스트 관련 정보는 연합 관계 관리 콘솔 애플리케이션 내에 제시될 수 있는 단일 명명 트러스트 관계로서 논리적으로 패키징될 수 있고, 그렇다면, 관리 사용자는 그래픽 사용자 인터페이스 내의 기존의 정의된 트러스트 관계를 간단히 선택할 수 있다.In any case, there may be one or more existing trust relationships between two business partners who wish to form or form a new federation, whether or not there is an existing federation between the two partners. If there is more than one existing trust relationship, the trust-related information of the trust relationship can be logically packaged as a single named trust relationship that can be presented within the federated relationship management console application, and if so, the administrative user can define an existing defined user within the graphical user interface. You can simply choose a trust relationship.

다른 방법으로, 하나 이상의 기존 트러스트 관계에 대한 트러스트 관련 정보는 그래픽 사용자 인터페이스 내의 트러스트 관련 정보의 개별 데이터 항목으로서 관리 사용자에게 제시될 수 있다. 이 시나리오에서, 사용자는 새로운 트러스트 관계 내에 채용될 데이터 항목을 선택함으로써 새로운 트러스트 관계를 구성하거나 형성할 수 있다. 다수의 트러스트 관계를 갖는 다른 트러스트 관련 정보가 다를 수 있기 때문에, 예를 들어, 단일 디지털 인증서가 다수의 트러스트 관계 내에서 채용될 수 있다. 따라서, 동일한 디지털 인증서가 각각에서 채용되면서, 다수의 트러스트 관계가 고유하게 된다.Alternatively, trust related information for one or more existing trust relationships may be presented to the administrative user as a separate data item of trust related information in the graphical user interface. In this scenario, the user can construct or form a new trust relationship by selecting data items to be employed within the new trust relationship. For example, a single digital certificate may be employed within multiple trust relationships, because different trust related information with multiple trust relationships may be different. Thus, as the same digital certificate is employed in each, multiple trust relationships become unique.

다른 방법으로, 파트너는 기존의 트러스트 관계를 갖지 않을 수 있다. 이 시나리오에서, 관리 사용자는 파트너의 "셀프" 정보, 즉, 발신/소스 파트너에 대한 트러스트 정보를 입력 또는 선택하고, 이 정보는 디지털 인증서 등의 파트너에 따 른 정보일 수 있지만, 다양한 트러스트 관련 프로토콜 사양 내에서 지정될 수 있는 간단한 넌-파트너-특정 값에 의해 표현될 수 있는 트러스트 관계에 대한 바람직한 특성을 포함할 수 있다. 예를 들어, 관리 사용자는 파트너의 컴퓨팅 환경 내의 키스토어로부터 연합 관계 확립 콘솔 애플리케이션이 검색한 다수의 대칭 암호 키 쌍 중에서 선택할 수 있다. 또한, 사용자는 그래픽 사용자 내에서 체크 박스, 라디오 버튼, 메뉴 등을 통해 다양한 트러스트 관계 특징 파라미터를 선택할 수 있고, 여기서, 이들 트러스트 관계 특징 파라미터는 트러스트 관련 정보에 대하여 다른 프로세싱 옵션을 나타낸다.Alternatively, the partner may not have an existing trust relationship. In this scenario, the administrative user enters or selects the partner's "self" information, that is, trust information for the originating / source partner, which may be information based on the partner, such as a digital certificate, but with various trust related protocols. It can include desirable properties for trust relationships that can be represented by simple non-partner-specific values that can be specified within the specification. For example, an administrative user can select from a number of symmetric cryptographic key pairs retrieved by a federation establishment console application from a keystore in the partner's computing environment. In addition, the user may select various trust relationship feature parameters through checkboxes, radio buttons, menus, etc. within the graphical user, where these trust relationship feature parameters represent different processing options for trust related information.

트러스트 관계가 파트너 간의 상호 작용을 요구하면, 다양한 트러스트 관련 특징의 선택과 함께 파트너에 따른 트러스트 관련 정보의 선택은 협력/타겟 파트너로부터 발신/소스 파트너가 요구한 파트너에 따른 트러스트 관련 정보를 지시할 수 있다. 바꾸어 말하면, 파트너 사이에서 교환된 정보는 임의의 방식으로 대응해야 한다. 따라서, 관리 사용자의 선택은 협력/타겟 파트너로 익스포트되는 템플릿.구성 파일/파일들 내의 발신/소스 파트너의 파트너에 따른 트러스트 관련 정보를 포함시킨다. 또한, 관리 사용자의 선택은 발신/소스 파트너에 의해 협력/타겟 파트너로 익스포트되는 템플릿/구성 파일/파일들 내의 정보 요구 엘리먼트를 포함시킨다. 임의의 경우, 연합 기능은 임의의 트러스트 지원을 요구하지 않을 수 있고, 따라서, 트러스트 관계를 선택할 필요가 없다. 연합 관계가 트러스트 관계를 포함하는 것으로 정의되므로, 이 시나리오에서는, 연합 관계가 널(null) 트러스트 관계를 포함하는 것으로 기재될 수 있다.If a trust relationship requires interaction between partners, then the choice of trust-related information by the partner, along with the choice of various trust-related features, may direct trust-related information from the collaboration / target partner to the partner requested by the originating / source partner. have. In other words, the information exchanged between partners must correspond in any way. Thus, the selection of the administrative user includes trust related information according to the originating / source partner's partner in the template.configuration file / files exported to the collaboration / target partner. The choice of administrative user also includes the information request element in the template / configuration file / files exported by the originating / source partner to the collaboration / target partner. In any case, the federation function may not require any trust support, so there is no need to select a trust relationship. Since a federated relationship is defined as including a trust relationship, in this scenario, the federated relationship may be described as including a null trust relationship.

바람직하게, 소정의 기능이 트러스트 관련 프로세싱에 대하여 소정의 트러스트 관계, 즉, 소정의 옵션 선택과 좀 더 적절하게 결합될 수 있기 때문에, 트러스트 관계 및/또는 트러스트 관계 정보는 연합 기능이 선택된 후에 선택 또는 입력된다. 예를 들어, 특정한 토큰 유형은 토큰 유형의 인스턴스에 대하여 수행되어야 하는 암호화 또는 서명에 관한 요구사항을 가질 수 있다. Preferably, the trust relationship and / or trust relationship information may be selected or selected after the federation function is selected, since a given function may be more appropriately combined with a given trust relationship, i.e., with a given option selection, for trust related processing. Is entered. For example, a particular token type may have requirements regarding encryption or signatures that must be performed for instances of the token type.

연합 관계의 생성이 연합 파트너 "X"에서 개시된 후에, 연합 관계 확립 템플릿 파일이 동적으로 생성된다 (단계 1414). 템플릿 파일은 도 13c를 참조하여 상술한 바와 같이, 연합 파트너로부터 수집될 필요가 있는 데이터에 따라 구성된다. 그 후, 템플릿 파일은 연합 파트너 "Y"로 전송되고 (단계 1416), 연합 파트너 "Y"는 파트너에 따른 정보를 포함하도록 수신된 템플릿 파일을 변경하고 변경된 템플릿 파일을 연합 파트너 "X"로 반환한다. 변경된 템플릿 파일이 수신된 후(단계 1418), 요구된 파트너에 따른 정보가 추출되고 (단계 1420) 후속의 연합 트랜잭션 동안 연합 파트너 "X"에 저장되고 (단계 1422), 프로세스를 종료한다.After creation of the federation is initiated at federation partner "X", a federation establishment template file is dynamically generated (step 1414). The template file is constructed according to the data that needs to be collected from the federation partner, as described above with reference to FIG. 13C. The template file is then sent to federation partner "Y" (step 1416), and federation partner "Y" changes the received template file to include information according to the partner and returns the changed template file to federation partner "X". do. After the modified template file has been received (step 1418), the information according to the requested partner is extracted (step 1420) and stored in federation partner "X" during the subsequent federation transaction (step 1422) and the process ends.

템플릿 파일(또는 제2 파일 내)은 파트너 "Y"로 전송되는 파트너 "X"에 대한 파트너에 따른 정보를 포함할 수 있고, 연합 파트너 "X"에 대한 정보를 갖는 템플릿 파일이 연합 파트너 "Y"로 전송되면, 이 정보는 연합 파트너 "Y"의 컴퓨팅 환경으로 임포트되어 연합 파트너 "Y"에서 연합 관계를 구성하고, 파트너 "Y"의 관리 사용자가 연합 관계에 대한 정보를 수동으로 구성하지 않도록 연합 파트너 "Y"의 컴퓨팅 환경에서의 연합 파트너 "X"에 대한 정보의 임포트가 자동으로 수행될 수 있다.The template file (or within the second file) may contain information according to the partner for partner "X" sent to partner "Y", and the template file with information for federated partner "X" may be a federated partner "Y". When sent to ", this information is imported into the computing environment of federated partner" Y "to configure federation on federated partner" Y "and to prevent the administrative user of partner" Y "from manually configuring information about federated relationships. The import of information for federated partner "X" in the computing environment of federated partner "Y" may be performed automatically.

다른 실시예에서, 미리 생성된 트러스트 관계를 선택하는 대신, 도 13a에 도시된 연합 관계 관리 콘솔 애플리케이션과 함께 도 11에 도시된 트러스트 관계 관리 콘솔 애플리케이션 내의 기능을 사용하여 연합 관계가 형성되는 동안 트러스트 관계가 또한 형성될 수 있다. 다른 방법으로, 연합 관계 관리 콘솔 애플리케이션은 키스토어 등의 적절한 데이터 스토어로부터 트러스트 정보를 얻기 위한 또는 관리 사용자로부터 트러스트 정보를 입력하기 위한 기능을 포함할 수 있다. 이 경우, 관리 사용자는 다수의 개인 키 또는 다수의 인증서를 입력 또는 선택함으로써 정보를 입력하거나 선택하여 연합 관계가 기초하는 트러스트 관계를 형성한다. 관리 사용자의 기업, 예를 들어, 파트너 "X"는 연합 파트너에 전송되는 템플릿 파일 또는 수반하는 파일에 이 트러스트 정보, 예를 들어, 공중 키 인증서를 부가할 수 있다. 마찬가지로, 연합 파트너로부터 수신된 변경된 템플릿 파일은 연합 관계를 형성하기 위한 파트너에 따른 정보에 더하여 트러스트 관계를 형성하기 위한 파트너에 따른 정보를 가질 수 있다. 트러스트 관계 정보는 또한 연합 관계 정보와 함께 수신된 파일로부터 추출될 수 있고, 추출된 트러스트 관계 정보는 임의의 방식으로 연합 관계에 대한 구성 정보와 결합될 수 있다. 관리 사용자는 하나 이상의 다른 소스로부터 트러스트 관계 정보 및/또는 연합 관계 정보 모두 또는 나머지를 얻을 수 있고 그 후 이 정보를 연합 관계 관리 콘솔 애플리케이션을 통해 입력하여 원하는 트러스트 관계 또는 원하는 연합 관계를 구성한다.In another embodiment, instead of selecting a pre-created trust relationship, the trust relationship while a federation relationship is formed using the functionality in the trust relationship management console application shown in FIG. 11 in conjunction with the federation relationship management console application shown in FIG. 13A. Can also be formed. Alternatively, the federation management console application may include the ability to obtain trust information from an appropriate data store, such as a keystore, or to enter trust information from an administrative user. In this case, the administrative user enters or selects information by entering or selecting a plurality of private keys or a plurality of certificates to form a trust relationship on which the federation relationship is based. The enterprise of the administrative user, eg, partner "X", can add this trust information, eg, public key certificate, to a template file or accompanying file sent to the federated partner. Similarly, the modified template file received from the federation partner may have information according to the partner for establishing a trust relationship in addition to the information according to the partner for establishing a federated relationship. Trust relationship information may also be extracted from the file received with the federation relationship information, and the extracted trust relationship information may be combined with the configuration information for the federated relationship in any manner. The administrative user can obtain all or the remainder of the trust relationship information and / or federation relationship information from one or more other sources and then enter this information through the federation relationship console application to configure the desired trust relationship or desired federation relationship.

그러므로, 트러스트 관계는 2가지 페이즈로 형성된다. 제1 페이즈에서, 관리 사용자는 연합 파트너 "Y" 및/또는 다른 연합 파트너로 전송될 암호 및/또는 디지 털 서명에 의해 정보를 보호하는데 사용될 연합 파트너 "X"에 대한 모든 트러스트 정보, 예를 들어, 개인 키를 수집한다. 연합 파트너 "X"가 한 세트의 암호키만을 가지면, 연합 파트너 "X"에서 관리 사용자에 대한 트러스트 관계의 선택은 없지만, 관계 사용자가 새로운 트러스트 관계를 구성하도록 연합 관계를 구성할 때 관계 사용자가 새로운 키를 부가하는 옵션을 가질 수 있다.Therefore, the trust relationship is formed in two phases. In the first phase, the administrative user has all the trust information for the federated partner "X" that will be used to protect the information by a cryptographic and / or digital signature that will be sent to the federated partner "Y" and / or other federated partners, for example. , Collect the private key. If federated partner "X" has only one set of cryptographic keys, there is no choice of trust relationship for administrative users at federated partner "X", but when the federated user configures the federated relationship to form a new trust relationship, You may have the option of adding a key.

제2 페이즈에서, 연합 파트너 "Y"로부터 수신된 정보를 유효화하거나 검증하기 위하여 사용될 연합 파트너 "Y"에 대한 모든 트러스트 정보, 예를 들어, 공중키 및/또는 디지털 인증서가 수집된다. 연합 파트너 "X"가 연합 파트너 "Y"에 대한 정보를 이미 저장하고 있으면, 관리 사용자는 그 정보를 사용할 수 있고, 관리 콘솔 애플리케이션을 통해 트러스트 관계를 구성하는 동안 관리 사용자에게 암호 키 등의 리스트가 제시될 수 있다. 연합 파트너 "X"가 연합 파트너 "Y"에 대한 정보를 저장하고 있지 않으면, 파트너 "X"의 관리 사용자는 관리 콘솔 애플리케이션을 사용하여 런타임으로 새로운 키 등의 트러스트 정보를 추가하도록 선택할 수 있다. 다른 방법으로, 상술한 바와 같이, 연합 파트너 "X"의 관리 사용자는 파트너에 따른 구성 파일을 통해 연합 파트너 "Y"에 대한 트러스트 정보를 임포트하도록 선택할 수 있고, 그 후, 연합 파트너 "X"의 적절한 애플리케이션이 연합 파트너 "X"의 데이터스토어의 연합 파트너 "Y"에 대한 트러스트 정보를 자동으로 업데이트할 수 있어 두 연합 파트너 사이에 트러스트 관계를 확립한다.In the second phase, all trust information for the federation partner "Y" to be used to validate or verify the information received from the federation partner "Y", for example public key and / or digital certificate, is collected. If federated partner "X" already stores information about federated partner "Y", the administrative user can use the information, and the administrative user is presented with a list, such as a secret key, while configuring the trust relationship through the administrative console application. Can be presented. If federated partner "X" does not store information for federated partner "Y", the administrative user of partner "X" may choose to add trust information, such as new keys, at runtime using the administrative console application. Alternatively, as described above, an administrative user of federated partner "X" may choose to import trust information for federated partner "Y" via a configuration file according to the partner, and thereafter, The appropriate application can automatically update the trust information for federated partner "Y" on the datastore of federated partner "X" to establish a trust relationship between the two federated partners.

결론conclusion

본 발명의 이점은 상기에서 제공된 본 발명의 상세한 설명의 관점에서 자명 하다.The advantages of the present invention are apparent in view of the detailed description of the invention provided above.

본 발명은 바람직하게 연합 사용자 라이프사이클 관리 솔루션이 통합된 기존 환경에 영향을 준다. 연합 사용자 라이프사이클 관리 기능성 컴포넌트는 최종 사용자로부터의 요구에 응답하여 접점 기능성 컴포넌트에 의해 인보크된다. 연합 사용자 라이프사이클 관리 기능성 컴포넌트는 컴퓨팅 환경의 다른 부분과의 임의의 상호작용을 요구하지 않는다는 점에서 독립적이다. 요구된 프로토콜이 성공적으로 완료되면, 제어는 사용자의 요구가 본래 수신된 접점 기능성 컴포넌트로 반환된다. 그러므로, 기존의 환경은 연합 사용자 라이프사이클 관리 기능을 지원하는데 최소한의 변경을 필요로 한다. 예를 들어, 인보크될 연합 사용자 라이프사이클 관리 기능이 싱글-사인-온 요구이면, 이것은 인증되지 않은 사용자에 의해 보호 리소스에 대한 요구에 응답할 수 있고, 여기서 연합 사용자 라이프사이클 관리 싱글-사인-온 기능성이 정상 인증 프로세스 대신에 인보크된다. 본 발명에서, 바람직하게 사용자가 레가시 로그인 프로세스 대신에 연합 사용자 라이프사이클 기능성 컴포넌트로 재지정되도록 하는 간단한 구성 변경을 요구한다. The present invention preferably affects existing environments in which federated user lifecycle management solutions are integrated. The federated user lifecycle management functional component is invoked by the contact functional component in response to a request from an end user. The federated user lifecycle management functional component is independent in that it does not require any interaction with other parts of the computing environment. If the requested protocol completes successfully, control returns to the contact functional component from which the user's request was originally received. Therefore, existing environments require minimal changes to support federated user lifecycle management functions. For example, if the federated user lifecycle management function to be invoked is a single-sign-on request, it can respond to requests for protected resources by unauthorized users, where federated user lifecycle management single-sign- On functionality is invoked instead of the normal authentication process. In the present invention, it is desirable to require a simple configuration change that allows the user to be redirected to the federated user lifecycle functional component instead of the legacy login process.

전체 인프라스트럭쳐에 최소한의 변경을 부여하므로, 연합 사용자 라이프사이클 관리 애플리케이션은 새로운 프로토콜/표준을 지원하는데 용이하게 변경될 수 있다. 새로운 연합 사용자 라이프사이클 관리 기능을 지원하는데 요구되는 임의의 변경은 연합 사용자 라이프사이클 관리 애플리케이션 내에 배타적으로 배치되고, 이는 추가된 기능을 이해하기 위하여 연합 사용자 라이프사이클 관리 애플리케이션을 구성하는 것을 요구한다.By making minimal changes to the entire infrastructure, federated user lifecycle management applications can be easily changed to support new protocols / standards. Any changes required to support the new federated user lifecycle management functionality are deployed exclusively within the federated user lifecycle management application, which requires configuring the federated user lifecycle management application to understand the added functionality.

기존의 연합 사용자 라이프사이클 관리 기능을 계속 지원하면서 전체 인프라스트럭쳐가 새로운 연합 사용자 라이프사이클 관리 기능을 인보크할 있도록, 접점 서버에서 다른 연합 컴포넌트의 구성 변경을 최소화할 수 있다. 그러나, 연합 사용자 라이프사이클 관리 애플리케이션은, 연합 사용자 라이프사이클 관리 기능이 연합 환경의 다른 연합 컴포넌트와의 상호 작용을 요구하지 않는다는 점에서, 기능적으로 연합 컴포넌트의 나머지와 독립적이다. You can minimize the configuration changes of other federated components on the point-of-contact server so that the entire infrastructure can invoke the new federated user lifecycle management capabilities while continuing to support existing federated user lifecycle management capabilities. However, the federated user lifecycle management application is functionally independent of the rest of the federated component in that the federated user lifecycle management function does not require interaction with other federated components of the federated environment.

그러므로, 기존의 환경은 본 발명의 바람직한 실시예에 따라 구현될 때 연합 사용자 라이프사이클 관리 기능을 지원하는데 최소한의 변경을 필요로 한다. 또한, 새로운 기능의 추가를 포함하여 연합 사용자 라이프사이클 관리 기능에 대한 변경은 기존의 연합 환경에 최소한의 충돌을 일으킨다. 따라서, 새로운 싱글-사인-온 표준이 공개될 때, 이 표준에 대한 지원이 용이하게 추가된다. 본 발명의 이점 중에서, 트러스트 프록시는 동일한 트러스트 확립 기술을 사용하거나 동일한 트러스트 루트에 서명하지 않고 주어진 도메인의 기존의 보안 서비스가 다른 도메인과의 트러스트 관계를 확립하도록 한다. 그러므로, 본 발명의 연합 아키텍쳐는 바람직하게 엔티티의 느슨한 결합을 제공한다. 연합은 사용자가 싱글-사인-온 방식으로 주어진 연합 내의 다른 사이트를 횡단하도록 한다.Therefore, existing environments require minimal changes to support federated user lifecycle management functionality when implemented in accordance with preferred embodiments of the present invention. In addition, changes to federated user lifecycle management capabilities, including the addition of new features, cause minimal conflicts in existing federated environments. Thus, when a new single-sign-on standard is published, support for this standard is easily added. Among the advantages of the present invention, trust proxies allow existing security services in a given domain to establish trust relationships with other domains without using the same trust establishment techniques or signing the same trust root. Therefore, the federation architecture of the present invention preferably provides for loose coupling of entities. Federation allows users to traverse other sites within a given federation in a single-sign-on manner.

본 발명은 충분히 기능하는 데이터 프로세싱 시스템의 컨텍스트에서 기재되었지만, 분산을 수행하는데 실제로 사용되는 신호 베어링(bearing) 매체의 특정 유형에 관계없이 본 발명의 프로세스가 컴퓨터 판독가능 매체의 명령의 형태 및 다양한 다른 형태로 분산될 수 있다는 것은 본 기술에 숙련된 자에게 자명하다. 컴퓨터 판독가능 매체의 예는 EPROM, ROM, 테이프, 페이퍼, 플로피 디스크, 하드 디스크, RAM 및 CD-ROM 등의 매체 및 디지털 및 아날로그 통신 링크 등의 전송형 매체를 포함한다. Although the present invention has been described in the context of a fully functional data processing system, the process of the present invention may be modified in various forms and forms of instructions of a computer readable medium, regardless of the particular type of signal bearing medium actually used to perform the dispersion. It will be apparent to those skilled in the art that they can be dispersed in form. Examples of computer readable media include media such as EPROM, ROM, tape, paper, floppy disk, hard disk, RAM and CD-ROM, and transmission media such as digital and analog communication links.

요약summary

연합 환경 내에서 연합 서비스 제공자가 상호 작용하여 연합 동작을 개시하는 방법 및 시스템이 개시된다. 제1 서비스 제공자의 세션 관리 능력을 제공하는 접점 컴포넌트는 클라이언트로부터 요구를 수신한다. 요구가 클라이언트를 통한 재전송을 사용하여 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로 전송되고, 제1 서비스 제공자는 제2 서비스 제공자의 접점 컴포넌트와 상호 작용하여 제2 서비스 제공자의 연합 사용자 라이프사이클 관리 기능을 개시하고, 제2 서비스 제공자는 제2 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트의 어시스턴스에 참여한다. 연합 사용자 라이프사이클 관리 기능의 완료에 응답하여, 제1 서비스 제공자의 접점 서버는 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로부터 응답을 수신하고 본래의 요구가 더 프로세싱될 수 있다.A method and system are disclosed for interacting with a federated service provider within a federated environment to initiate federated operation. The contact component providing session management capabilities of the first service provider receives a request from a client. The request is sent to the federated user lifecycle management functional component of the first service provider using retransmission through the client, the first service provider interacting with the touchpoint component of the second service provider to interact with the federated user lifecycle of the second service provider. Initiating a management function, the second service provider participates in the assistance of the federated user lifecycle management functional component of the second service provider. In response to the completion of the federated user lifecycle management function, the point-of-contact server of the first service provider may receive a response from the federated user lifecycle management functional component of the first service provider and the original request may be further processed.

연합 환경 내에서 연합 도메인들이 상호 작용하는 방법 및 시스템이 개시된다. 연합 내의 도메인들은 다른 연합 도메인의 사용자에 대한 연합 동작을 개시할 수 있다. 도메인 내의 접점 서버는 도메인과 15 연방 사이의 트러스트 관계를 관리하기 위하여 도메인 내의 트러스트 프록시에 의지한다. 접점 서버는 도메인으로 향하는 입력 요구를 수신하고 제1 애플리케이션 서버 및 제2 애플리케이션 서버와 상 호 작용하고, 여기서, 제1 애플리케이션 서버는 제어 리소스로의 액세스에 대한 요구에 응답하고 제2 애플리케이션 서버(20)는 제2 애플리케이션 서버와 상호 작용하는 하나 이상의 플러그 모듈을 사용하여 구현되는 연합 사용자 라이프사이클 관리 기능로의 액세스에 대한 요구에 응답한다. A method and system are disclosed in which federated domains interact within a federated environment. Domains in a federation may initiate federation operations for users of other federated domains. The point-of-contact server in the domain relies on a trust proxy in the domain to manage the trust relationship between the domain and the 15 federales. The point of contact server receives the input request directed to the domain and interacts with the first application server and the second application server, where the first application server responds to the request for access to the control resource and the second application server 20 ) Responds to a request for access to a federated user lifecycle management function implemented using one or more plug-in modules that interact with a second application server.

방법은 일반적으로 원하는 결과를 유도하는 단계의 자기 지속 시퀀스로 간주된다. 이들 단계는 물리적 양의 물리적 처리를 요구한다. 통상, 반드시는 아니지만, 이들 양은 저장, 전송, 결합, 비교 및 처리될 수 있는 전기적 또는 자기적 신호의 형태를 취한다. 공통 사용의 이유로, 때때로 비트, 값, 파라미터, 항목, 엘리먼트, 오브젝트, 심볼, 문자, 텀(term), 번호 등의 신호를 참조하는 것이 편리하다. 그러나, 모든 텀 및 유사한 텀은 적절한 물리적 양과 결합되고 이들 양에 적용되는 편리한 라벨이다.The method is generally considered to be a self-sustaining sequence of steps leading to a desired result. These steps require physical treatment of physical quantities. Typically, but not necessarily, these quantities take the form of electrical or magnetic signals that can be stored, transmitted, combined, compared, and processed. For common use reasons, it is sometimes convenient to refer to signals such as bits, values, parameters, items, elements, objects, symbols, characters, terms, numbers, and the like. However, all terms and similar terms are convenient labels that are combined with and applied to the appropriate physical amounts.

본 발명의 설명은 설명을 목적으로 하는 것으로 개시된 실시예들에 제한되도록 의도된 것은 아니다. 많은 변형 및 변경이 가능함은 본 기술에 숙련된 자에게는 자명한 것이다. 다른 사용에 적합한 다양한 변경을 갖는 다양한 실시예를 구현하기 위하여 실시예들은 본 발명의 원리 및 실제 응용을 설명하고 본 기술에 숙련된 자에게 본 발명을 이해시키기 위한 것이다.The description of the present invention is for illustrative purposes and is not intended to be limited to the disclosed embodiments. Many modifications and variations are apparent to those skilled in the art. In order to implement various embodiments having various modifications suitable for different uses, the embodiments are intended to explain the principles and practical application of the present invention and to make the present invention understood by those skilled in the art.

Claims (70)

데이터 프로세싱 시스템 내에 연합 기능성(federated functionality)을 제공하기 위한 방법으로서, A method for providing federated functionality within a data processing system, the method comprising: 제1 서비스 제공자의 접점 기능성 컴포넌트(point-of-contact functional component)에서 클라이언트로부터의 제1 요구를 수신하는 단계로서, 상기 접점 기능성 컴포넌트는 상기 제1 서비스 제공자의 클라이언트들에 대해 상기 제1 서비스 제공자를 위한 세션 관리(session management)를 수행하고, 상기 제1 서비스 제공자는 연합 컴퓨팅 환경 내의 복수의 서비스 제공자들과 연관된 것인, 상기 제1 요구 수신 단계;Receiving a first request from a client at a point-of-contact functional component of a first service provider, the contact functional component configured for the clients of the first service provider; Performing session management for the first service provider, the first service provider being associated with a plurality of service providers in a federated computing environment; 상기 제1 요구의 후속 처리가 연합 사용자 라이프사이클 관리 기능의 인보크(invocation)를 요구한다는 판정에 응답하여, 상기 제1 서비스 제공자의 상기 접점 기능성 컴포넌트로부터 상기 제1 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트에게 상기 제1 요구로부터 도출된 정보를 포함하는 제2 요구를 전송하는 단계;In response to determining that subsequent processing of the first request requires invocation of a federated user lifecycle management function, federated user lifecycle management of the first service provider from the contact functional component of the first service provider. Sending a second request to the functional component, the second request including information derived from the first request; 상기 제1 서비스 제공자의 상기 연합 사용자 라이프사이클 관리 기능성 컴포넌트로부터, 상기 연합 컴퓨팅 환경 내의 복수의 서비스 제공자들 중 아이덴티티 제공자인 제2 서비스 제공자의 접점 기능성 컴포넌트에게 제3 요구를 송신하는 단계;Sending a third request from the federated user lifecycle management functional component of the first service provider to a contact functional component of a second service provider that is an identity provider of a plurality of service providers in the federated computing environment; 상기 제1 서비스 제공자의 상기 연합 사용자 라이프사이클 관리 기능성 컴포넌트에서 상기 제2 서비스 제공자의 연합 사용자 라이프사이클 관리 기능성 컴포넌트로부터의 응답을 수신하는 단계; 및Receiving a response from the federated user lifecycle management functional component of the second service provider at the federated user lifecycle management functional component of the first service provider; And 상기 제1 서비스 제공자의 상기 접점 기능성 컴포넌트가 상기 제1 요구의 처리를 완료하도록 하는 단계Causing the contact functionality component of the first service provider to complete processing of the first request. 를 포함하는 연합 기능성 제공 방법.Method for providing federation functionality comprising a. 제1항에 있어서, 상기 제1 서비스 제공자의 상기 연합 사용자 라이프사이클 관리 기능성 컴포넌트가 상기 응답을 수신하는 것에 응답하여, 상기 제1 서비스 제공자의 상기 연합 사용자 라이프사이클 관리 기능성 컴포넌트로부터 상기 제1 서비스 제공자의 상기 접점 기능성 컴포넌트에서 정보를 수신하는 단계를 더 포함하는 연합 기능성 제공 방법. The first service provider of claim 1, wherein in response to the federated user lifecycle management functional component of the first service provider receiving the response, the first service provider from the federated user lifecycle management functional component of the first service provider. Receiving information at the contact functionality component of the method of providing federated functionality. 제2항에 있어서, 사용자 세션(user session)을 확립하기 위해 상기 제1 응답에 따라 상기 접점 기능성 컴포넌트에서 상기 정보의 처리를 수행하는 단계를 더 포함하는 연합 기능성 제공 방법.3. The method of claim 2, further comprising performing processing of the information at the contact functional component in accordance with the first response to establish a user session. 제1항에 있어서, 상기 제2 요구를 상기 클라이언트를 통한 재전송(redirection)을 통해 상기 제1 서비스 제공자의 상기 접점 기능성 컴포넌트로부터 상기 제1 서비스 제공자의 상기 연합 사용자 라이프사이클 관리 기능성 컴포넌트 것인 연합 기능성 제공 방법.2. The federated functionality of claim 1 wherein the second request is through the redirection through the client through the contact functionality component of the first service provider from the federated user lifecycle management functionality component of the first service provider. How to Provide. 제1항에 있어서, 상기 접점 기능성 컴포넌트에서 상기 클라이언트를 위해 세션을 생성(build)하는 단계를 더 포함하는 연합 기능성 제공 방법.2. The method of claim 1, further comprising building a session for the client in the contact functionality component. 데이터 프로세싱 시스템 내에 연합 기능성을 제공하기 위한 장치로서, An apparatus for providing federated functionality within a data processing system, the apparatus comprising: 제1항 내지 제5항 중 어느 하나의 청구항에 따른 방법의 각 단계를 수행하는 각각의 수단을 구비한 연합 기능성을 제공하기 위한 장치.Apparatus for providing federated functionality with respective means for carrying out each step of the method according to claim 1. 제1항 내지 제5항 중 어느 하나의 청구항에 따른 방법의 각 단계를 컴퓨터상에서 구현하는 프로그램을 포함하는 컴퓨터 판독가능 기록매체.A computer-readable recording medium comprising a program for computer-implementing each step of a method according to any one of claims 1 to 5. 데이터 프로세싱 시스템으로서,A data processing system, 하나 이상의 플러그 가능한(pluggable) 모듈들을 연합 컴퓨팅 환경을 갖는 연합 사용자 라이프사이클 관리 기능성으로 구성하기 위한 연관 인터페이스를 갖는 관리 애플리케이션으로서, 각각의 플러그 가능한 모듈들은 그들과 연관된 연합 처리(transaction) 중에 사용될 하나 이상의 런타임 파라미터들의 세트를 갖는 것인, 상기 관리 애플리케이션;A management application having an associated interface for configuring one or more pluggable modules into federated user lifecycle management functionality having a federated computing environment, each pluggable module being used in one or more of the associated transactions associated with them. The management application having a set of runtime parameters; 상기 연합 컴퓨팅 환경 내의 복수의 도메인들과 연관되는 도메인을 향하는 입력 요구(incoming request)들을 수신하는 접점 서버;A point-of-contact server that receives incoming requests directed to a domain associated with a plurality of domains in the federated computing environment; 제어된 리소스(resource)에 대한 액세스 요구에 응답하기 위한 수단을 포함하는, 상기 접점 서버와 인터페이싱(interfacing)하는 제1 애플리케이션 서버; 및A first application server interfacing with the point of contact server comprising means for responding to a request for access to a controlled resource; And 연합 사용자 라이프사이클 관리 기능에 대한 액세스 요구에 응답하기 위한 수단을 포함하는, 상기 접점 서버와 인터페이싱하는 제2 애플리케이션 서버로서, 상기 연합 사용자 라이프사이클 관리 기능에 대한 액세스 요구에 응답하기 위한 수단은 상기 플러그 가능한 모듈들 중 하나와 그와 연관된 런타임 파라미터들을 인보크(invoke)하여 연합 처리 중에 연합 사용자 라이프사이클 관리 기능을 제공하는 것인, 상기 제2 애플리케이션 서버Means for responding to a request for access to a federated user lifecycle management function, the second application server interfacing with the point of contact server, wherein the means for responding to a request for access to the federated user lifecycle management function comprises: a plug; The second application server, invoking one of the possible modules and associated runtime parameters to provide federated user lifecycle management functionality during federation processing. 를 포함하는 데이터 프로세싱 시스템.Data processing system comprising a. 제8항에 있어서,The method of claim 8, 수신된 요구 메세지를 분석하는 수단;Means for analyzing a received request message; 상기 제1 애플리케이션 서버가, 제어된 리소스에 대한 액세스를 요구하는 상기 접점 서버에 의해 수신된 요구를 처리하도록 인보크하는 수단; 및Means for invoking the first application server to process a request received by the contact server requesting access to a controlled resource; And 상기 제2 애플리케이션 서버가, 연합 사용자 라이프사이클 관리 기능에 대한 액세스를 요구하는, 상기 접점 서버에 의해 수신된 요구를 처리하도록 인보크하는 수단Means for invoking the second application server to process a request received by the point-of-contact server requesting access to a federated user lifecycle management function. 을 포함하는 데이터 프로세싱 시스템.Data processing system comprising a. 제8항에 있어서, 트러스트 프록시(trust proxy)를 더 포함하고,The method of claim 8, further comprising a trust proxy, 상기 트러스트 프록시는 상기 도메인으로부터 전송된 보안 어써션(assertion)을 생성하고 상기 도메인에서 수신된 보안 어써션을 인증(validate)하는 것인 데이터 프로세싱 시스템.The trust proxy generates a security assertion sent from the domain and validates a security assertion received at the domain. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020077000414A 2004-07-21 2005-07-18 Method and apparatus for providing federated functionality within a data processing system KR100992016B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/896,316 US20060048216A1 (en) 2004-07-21 2004-07-21 Method and system for enabling federated user lifecycle management
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 (2)

Publication Number Publication Date
KR20070041504A KR20070041504A (en) 2007-04-18
KR100992016B1 true KR100992016B1 (en) 2010-11-05

Family

ID=35785590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077000414A KR100992016B1 (en) 2004-07-21 2005-07-18 Method and apparatus for providing federated functionality within a data processing system

Country Status (4)

Country Link
EP (1) EP1769616A2 (en)
KR (1) KR100992016B1 (en)
TW (1) TW200627272A (en)
WO (1) WO2006008290A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886156B2 (en) * 2006-09-18 2011-02-08 John Franco Franchi Secure universal transaction system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030163733A1 (en) * 2002-02-28 2003-08-28 Ericsson Telefon Ab L M System, method and apparatus for federated single sign-on services
US20030172172A1 (en) 2002-01-18 2003-09-11 De Bonet Jeremy S. Method and system of performing transactions using shared resources and different applications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184507A1 (en) * 2001-05-31 2002-12-05 Proact Technologies Corp. Centralized single sign-on method and system for a client-server environment
US20040002878A1 (en) * 2002-06-28 2004-01-01 International Business Machines Corporation Method and system for user-determined authentication in a federated environment
US7219154B2 (en) * 2002-12-31 2007-05-15 International Business Machines Corporation Method and system for consolidated sign-off in a heterogeneous federated environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172172A1 (en) 2002-01-18 2003-09-11 De Bonet Jeremy S. Method and system of performing transactions using shared resources and different applications
US20030163733A1 (en) * 2002-02-28 2003-08-28 Ericsson Telefon Ab L M System, method and apparatus for federated single sign-on services

Also Published As

Publication number Publication date
WO2006008290A2 (en) 2006-01-26
EP1769616A2 (en) 2007-04-04
WO2006008290A3 (en) 2006-07-13
KR20070041504A (en) 2007-04-18
TW200627272A (en) 2006-08-01

Similar Documents

Publication Publication Date Title
JP4832822B2 (en) Data processing systems, methods and computer programs (methods and systems that enable trusted infrastructure support for federated user lifecycle management)
US7698375B2 (en) Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
JP4988701B2 (en) Method, apparatus and computer program for runtime user account creation operation
JP4370258B2 (en) Method, data processing system, and computer program for managing user sessions (method and system for integrated signoff in a heterogeneous environment)
US8607322B2 (en) Method and system for federated provisioning
US7562382B2 (en) Specializing support for a federation relationship
US8554930B2 (en) Method and system for proof-of-possession operations associated with authentication assertions in a heterogeneous federated environment
US8042162B2 (en) Method and system for native authentication protocols in a heterogeneous federated environment
US8561161B2 (en) Method and system for authentication in a heterogeneous federated environment
US20060048216A1 (en) Method and system for enabling federated user lifecycle management
US20060021017A1 (en) Method and system for establishing federation relationships through imported configuration files
US20060218628A1 (en) Method and system for enhanced federated single logout
US20040128541A1 (en) Local architecture for federated heterogeneous system
WO2008003593A1 (en) Method and system for policy-based initiation of federation management
KR100992016B1 (en) Method and apparatus for providing federated functionality within a data processing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee