JP4370258B2 - ユーザ・セッションを管理するための方法、データ処理システム、およびコンピュータ・プログラム(異機種連携環境における統合サインオフのための方法およびシステム) - Google Patents

ユーザ・セッションを管理するための方法、データ処理システム、およびコンピュータ・プログラム(異機種連携環境における統合サインオフのための方法およびシステム) Download PDF

Info

Publication number
JP4370258B2
JP4370258B2 JP2004563201A JP2004563201A JP4370258B2 JP 4370258 B2 JP4370258 B2 JP 4370258B2 JP 2004563201 A JP2004563201 A JP 2004563201A JP 2004563201 A JP2004563201 A JP 2004563201A JP 4370258 B2 JP4370258 B2 JP 4370258B2
Authority
JP
Japan
Prior art keywords
domain
user
trust
logoff
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2004563201A
Other languages
English (en)
Other versions
JP2006512648A5 (ja
JP2006512648A (ja
Inventor
ブレークリー、ジョージ、アールIii
ヒントン、ヘザー、エム
ナダリン、アンソニー、ジェイ
ウェスリー、アジャム、エー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006512648A publication Critical patent/JP2006512648A/ja
Publication of JP2006512648A5 publication Critical patent/JP2006512648A5/ja
Application granted granted Critical
Publication of JP4370258B2 publication Critical patent/JP4370258B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Description

本発明は、改良されたデータ処理システムに関し、特に、マルチコンピュータ・データ転送のための方法および装置に関する。より詳細には、本発明は、ネットワーク・コンピュータ・システムを対象とする。
関連出願の相互参照
本出願は、本願譲受人による以下の出願に関連するものである。
出願日未定で、「Efficient browser-based identity management providing personalcontrol and anonymity」という発明の名称の米国特許出願(代理人整理番号CH920020006)
2002年xx月xx日に出願され、「Method and System for Proof-of-Possession Operations Associated withAuthentication Assertions in a Heterogeneous Federated Environment」という発明の名称の米国特許出願(代理人整理番号AUS920020410US1)
2002年xx月xx日に出願され、「Local Architecture for Federated Heterogeneous System」という発明の名称の米国特許出願(代理人整理番号AUS920020411US1)
2002年xx月xx日に出願され、「Method and System for Attribute Exchange in a HeterogeneousFederated Environment」という発明の名称の米国特許出願(代理人整理番号AUS920020412US1)
2002年xx月xx日に出願され、「Method and System for Authentication in a Heterogeneous FederatedEnvironment」という発明の名称の米国特許出願(代理人整理番号AUS920020413US1)
2002年xx月xx日に出願され、「Method and System for Native Authentication Protocols in aHeterogeneous Federated Environment」という発明の名称の米国特許出願(代理人整理番号AUS920020486US1)
企業は一般に、インターネットを含む様々なネットワーク全体にわたってユーザ・フレンドリに保護リソースへのセキュア・アクセスを許可ユーザに提供することを所望する。セキュア認証メカニズムを提供することは保護リソースへの無許可アクセスのリスクを低減するが、同じ認証メカニズムが保護リソースとのユーザ対話にとってバリアになる場合もある。ユーザは一般に、これらのアプリケーションをサポートする特定の各システムを保護する認証バリアを度外視して、あるアプリケーションとの対話から他のアプリケーションにジャンプする能力を所望する。
ユーザはより洗練されているので、ユーザの負担が削減されるようにコンピュータ・システムがそのアクションを調整することを期待する。このようなタイプの期待は認証プロセスにも適用される。ユーザが何らかのコンピュータ・システムによって認証されると、その認証は、そのユーザにとってほとんど見えない様々なコンピュータ・アーキテクチャ境界を度外視して、そのユーザの作業セッション全体にわたってまたは少なくとも特定の期間の間、有効でなければならないと、ユーザが想定する可能性がある。企業は一般に、ユーザをなだめるためだけでなく、ユーザ効率が従業員の生産性に関連するか顧客満足度に関連するかにかかわらず、ユーザ効率を高めるためにも、その配置システムの動作特性においてこのような期待を達成しようとする。
より具体的には、共通ブラウザによりアクセス可能なWebベース・ユーザ・インターフェースを多くのアプリケーションが有する現行コンピューティング環境により、ユーザは、ユーザ・フレンドリ度がより高いことと、あるWebベース・アプリケーションから他のWebベース・アプリケーションへの移動に対するバリアが低いかまたは少ないことを期待する。これに関連して、ユーザは、特定の各ドメインを保護する認証バリアを度外視して、あるインターネット・ドメイン上のアプリケーションとの対話から他のドメイン上の他のアプリケーションにジャンプする能力を期待するようになる。しかし、多くのシステムが使いやすいWebベース・インターフェースによりセキュア認証を提供する場合でも、ユーザは依然として、1組のドメインの全域でユーザ・アクセスを妨害する複数の認証プロセスを考慮に入れざるを得ない可能性がある。所与の時間フレーム内にユーザを複数の認証プロセスにかけることは、ユーザの効率に著しく影響する可能性がある。
ユーザおよびコンピュータ・システム管理者の認証負担を低減するために、様々な技法が使用されてきた。これらの技法は、ユーザがサインオン操作を完了した後、すなわち、認証された後に、そのユーザはその後、他の認証操作を実行する必要がないという共通目的があるので、一般に「シングル・サインオン」(SSO:single-sign-on)プロセスと記述される。このため、目標は、ユーザが特定のユーザ・セッション中に1つの認証プロセスのみ完了することを要求されるであろうということである。
このようなシングル・サインオン・ソリューションは、所与の企業内で実現したときは上首尾であった。しかし、より多くの企業がインターネットによって接続されたe−commerceマーケットプレイスまたはその他のコラボレーション努力に参加するにつれて、複数の認証プロセスまたはシステムによって提起されるバリアはますます一般的なものになっている。企業間の以前のシングル・サインオン・ソリューションは、参加企業間の事業協定が事前に確立されている同種環境に限られていた。これらの事業協定は、部分的に、信頼を確立し、企業間で情報を安全に転送する方法を制限し定義するために使用される。また、これらの事業協定は、ある企業から他の企業にユーザID(identity)を変換またはマッピングする方法ならびに参加企業間でユーザの保証人となるために使用される情報を転送する方法に関するルールに関する技術協定も含む。
換言すれば、以前のシングル・サインオン・ソリューションは、ある企業が事前交渉または事前構成された協定に基づいて異なる企業によって生成された認証アサーション(そのアサーションで提供されるユーザIDとともに)を信頼できるようにするものである。それぞれの別個の企業は、e−commerceマーケットプレイス内の企業など、同様の協定を取り交わした他の企業によって理解されうる認証アサーションを作成し解釈する方法を把握している。これらのシステム間にはユーザIDをマッピングするために企業が把握している決定的関係が存在するので、これらの同種環境は緊密に結合される。シングル・サインオン環境を確立するために事業協定が使用されるので、この緊密結合は可能である。参加企業はこれらの以前のシングル・サインオン・ソリューションを使用することにより同種環境内で協働することができるが、複数の同種環境、たとえば、相互接続e−commerceマーケットプレイスを相互接続する必要性または要望を考慮すると、これらの環境は限定的なものである。
加えて、ユーザがシステムに対して自分のIDを証明するために認証操作を完了するという要件は、システムを保護することの一部にすぎない。このプロセスの同様に重要な部分は、セキュア・セッションを終了するためにユーザがログオフ操作を完了するという要件であり、それにより、他のユーザが有効なセッションを流用するかまたは悪意をもって有効なセッションに干渉するのを防止する。
出願日未定(filed (TBD))で、「Efficientbrowser-based identity management providing personal control and anonymity」という発明の名称の米国特許出願(代理人整理番号CH920020006) 2002年xx月xx日に出願され、「Method and System for Proof-of-Possession Operations Associated withAuthentication Assertions in a Heterogeneous Federated Environment」という発明の名称の米国特許出願(代理人整理番号AUS920020410US1) 2002年xx月xx日に出願され、「Local Architecture for Federated Heterogeneous System」という発明の名称の米国特許出願(代理人整理番号AUS920020411US1) 2002年xx月xx日に出願され、「Method and System for Attribute Exchange in a HeterogeneousFederated Environment」という発明の名称の米国特許出願(代理人整理番号AUS920020412US1) 2002年xx月xx日に出願され、「Method and System for Authentication in a Heterogeneous FederatedEnvironment」という発明の名称の米国特許出願(代理人整理番号AUS920020413US1) 2002年xx月xx日に出願され、「Method and System for Native Authentication Protocols in aHeterogeneous Federated Environment」という発明の名称の米国特許出願(代理人整理番号AUS920020486US1) 1993年9月発行のInternet Engineering Task Force (IETF) Request for Comments (RFC)1510に掲載されたKohl他による「TheKerberos Network Authentication Service (V5)」 2002年5月31日発行のCommittee Specification 01に掲載された「Assertions and Protocol for the OASIS Security Assertion MarkupLanguage (SAML)」
したがって、参加企業間の所定の事業および技術変換協定がない場合に企業がユーザに対して同様のシングル・サインオンおよび同様のシングル・サインオフ(single-sign-off)経験を提供できる方法およびシステムを備えることは有利なことになるであろう。
連携(federated)ドメインが連携環境内で対話する方法、装置、システム、およびコンピュータ・プログラムが提示される。あるフェデレーション(federation)内のドメインは、他の連携ドメインのユーザに関する連携シングル・サインオン操作を開始することができる。あるドメイン内の窓口(point-of-contact)サーバは、そのドメインとフェデレーションとの間の信頼関係を管理するためにそのドメイン内のトラスト・プロキシ(trust proxy)を当てにする。トラスト・プロキシは、必要に応じて他の連携ドメインからのアサーションを解釈する。トラスト・プロキシは1つまたは複数のトラスト・ブローカ(trust broker)との信頼関係を有することができ、トラスト・プロキシはアサーションを解釈する際の支援のためにトラスト・ブローカを当てにすることができる。他の連携ドメインにおいてユーザのために連携シングル・サインオン操作を開始したドメインからログオフすることをそのユーザが要求すると、そのドメインは、それらの他の連携ドメインにおいてログオフ操作を要求することにより、統合ログオフ操作を開始し、これは、連携シングル・サインオン操作を開始したドメインに対してカスケード方式でログオフ操作を開始することもできる。また、あるドメインが特定の用途のためにログオフ・イベントに加入できる、パブリッシュ・サブスクライブ・モデル(publish-and-subscribe model)もサポートされる。
本発明に特有と思われる新規の特徴は特許請求の範囲に示されている。本発明そのもの、その他の目的、およびその利点は、添付図面に併せて読んだときに以下に示す詳細な説明を参照することにより最も良く理解されるであろう。
一般に、本発明を含むかまたは本発明に関する可能性のある装置は多様なデータ処理技術を含む。したがって、本発明をより詳細に説明する前に、背景として、分散データ処理システム内のハードウェアおよびソフトウェア・コンポーネントの典型的な編成について説明する。
次に添付図面を参照すると、図1は、そのそれぞれが本発明を実現可能な複数データ処理システムの典型的なネットワークを描写している。分散データ処理システム100はネットワーク101を含み、そのネットワークは、分散データ処理システム100内で一緒に接続された様々な装置およびコンピュータ間の通信リンクを提供するために使用できるメディアである。ネットワーク101は、ワイヤもしくは光ファイバ・ケーブルなどの永続接続または電話もしくはワイヤレス通信により行われる一時接続を含むことができる。描写した例では、サーバ102およびサーバ103は、ストレージ・ユニット104とともにネットワーク101に接続されている。加えて、クライアント105〜107もネットワーク101に接続されている。クライアント105〜107およびサーバ102〜103は、メインフレーム、パーソナル・コンピュータ、携帯情報端末(PDA:personal digital assistant)などの多様なコンピューティング・デバイスによって表すことができる。分散データ処理システム100は、図示されていない追加のサーバ、クライアント、ルータ、その他の装置、およびピアツーピア・アーキテクチャを含むことができる。
描写した例では、分散データ処理システム100は、LDAP(軽量ディレクトリ・アクセス・プロトコル(Lightweight Directory Access Protocol))、TCP/IP(伝送制御プロトコル/インターネット・プロトコル(Transport Control Protocol/Internet Protocol))、HTTP(ハイパーテキスト転送プロトコル(HyperText Transport Protocol))などの様々なプロトコルを使用して互いに通信するネットワークおよびゲートウェイの世界的な集合を表すネットワーク101とともにインターネットを含むことができる。当然のことながら、分散データ処理システム100は、たとえば、イントラネット、ローカル・エリア・ネットワーク(LAN:local area network)、または広域ネットワーク(WAN:wide area network)などのいくつかの異なるタイプのネットワークも含むことができる。たとえば、サーバ102はクライアント109およびネットワーク110を直接サポートし、そのネットワークはワイヤレス通信リンクを組み込んでいる。ネットワーク対応電話(network-enabled phone)111はワイヤレス・リンク112によりネットワーク110に接続し、PDA113はワイヤレス・リンク114によりネットワーク110に接続する。電話111およびPDA113は、いわゆるパーソナル・エリア・ネットワークまたはパーソナル・アドホック・ネットワーク(personal ad-hoc network)を作成するために、Bluetooth(商標)ワイヤレス技術などの適切な技術を使用して、ワイヤレス・リンク115を越えて両者間でデータを直接転送することもできる。同様に、PDA113は、ワイヤレス通信リンク116を介してPDA107にデータを転送することができる。
本発明は、様々なハードウェア・プラットフォームおよびソフトウェア環境で実現することができるであろう。図1は、本発明に関するアーキテクチャ制限としてのものではなく、異機種コンピューティング環境の一例としてのものである。
次に図2を参照すると、同図は、本発明を実現可能な、図1に示したものなどのデータ処理システムの典型的なコンピュータ・アーキテクチャを描写している。データ処理システム120は、内部システム・バス123に接続された1つまたは複数の中央演算処理装置(CPU:central processing unit)122を含み、その内部システム・バス123は、ランダム・アクセス・メモリ(RAM:random access memory)124、読取り専用メモリ126、および入出力アダプタ128を相互接続し、その入出力アダプタ128は、プリンタ130、ディスク・ユニット132、またはオーディオ出力システムなどの図示していないその他の装置などの様々な入出力装置をサポートする。また、システム・バス123は、通信リンク136へのアクセスを可能にする通信アダプタ134も接続する。ユーザ・インターフェース・アダプタ148は、キーボード140とマウス142、またはタッチ・スクリーン、スタイラス、マイクロホンなどの図示していないその他の装置などの様々なユーザ装置を接続する。ディスプレイ・アダプタ144はシステム・バス123をディスプレイ装置146に接続する。
当業者であれば、図2のハードウェアはシステム実現例に応じて様々になる可能性があることが分かるであろう。たとえば、システムは、Intel(商標)のPentium(商標)ベースのプロセッサおよびデジタル・シグナル・プロセッサ(DSP)などの1つまたは複数のプロセッサと、1つまたは複数のタイプの揮発性および不揮発性メモリとを有する可能性がある。図2に描写したハードウェアに加えてまたはその代わりに、その他の周辺装置を使用することもできる。描写した例は、本発明に関するアーキテクチャ制限を示すためのものではない。
様々なハードウェア・プラットフォームで実現できることに加えて、本発明は、様々なソフトウェア環境で実現することができる。各データ処理システム内のプログラム実行を制御するために、典型的なオペレーティング・システムを使用することができる。たとえば、ある装置はUnix(商標)オペレーティング・システムを実行することができ、他の装置は単純なJava(商標)ランタイム環境を含む。代表的なコンピュータ・プラットフォームはブラウザを含むことができ、そのブラウザは、グラフィック・ファイル、ワード・プロセッシング・ファイル、拡張可能マークアップ言語(XML:Extensible Markup Language)、ハイパーテキスト・マークアップ言語(HTML:Hypertext Markup Language)、ハンドヘルド・デバイス・マークアップ言語(HDML:Handheld Device Markup Language)、ワイヤレス・マークアップ言語(WML:Wireless Markup Language)、および様々なその他のフォーマットおよびタイプのファイルなど、様々なフォーマットのハイパーテキスト・ドキュメントにアクセスするための周知のソフトウェア・アプリケーションである。また、図1に示した分散データ処理システムは、様々なピアツーピア・サブネットおよびピアツーピア・サービスを完全にサポートできるものとして企図されていることにも留意されたい。
次に図3を参照すると、データ・フロー・ダイアグラムは、クライアントがサーバ側の保護リソースにアクセスしようと試みるときに使用できる典型的な認証プロセスを示している。図示した通り、クライアント・ワークステーション150側のユーザは、クライアント・ワークステーション上で実行されるユーザのWebブラウザにより、コンピュータ・ネットワークを越えてサーバ151上の保護リソースにアクセスしようとする。保護リソースは、認証許可ユーザのみによってアクセス可能なユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)、またはより一般的には、ユニフォーム・リソース・アイデンティファイア(URL:Uniform Resource Identifier)によって識別される。コンピュータ・ネットワークは、図1または図2に示した通り、インターネット、イントラネット、またはその他のネットワークにすることができ、サーバは、Webアプリケーション・サーバ(WAS:Web Application Server)、サーバ・アプリケーション、サーブレット・プロセスなどにすることができる。
プロセスは、ユーザが「ibm.com」というドメイン内のWebページなどの保護リソースを要求したときに開始される(ステップ152)。Webブラウザ(または関連アプリケーションもしくはアプレット)は、「ibm.com」というドメインをホストとして処理するWebサーバに送信されるHTTP要求メッセージを生成する(ステップ153)。サーバは、それがクライアントに関するアクティブ・セッションを持っていないと判断し(ステップ154)、したがって、サーバは、何らかのタイプの認証質問(authentication challenge)をクライアントに送信することにより(ステップ155)、認証プロセスを実行するようユーザに要求する。認証質問は、ハイパーテキスト・マークアップ言語(HTML)形式などの様々なフォーマットにすることができる。次にユーザは、ユーザIDおよび関連パスワードなどの要求された情報または必要な情報を提供する(ステップ156)か、またはクライアントは特定の情報を自動的に返す場合もある。
認証応答情報はサーバに送信され(ステップ157)、その時点でサーバは、たとえば、前にサブミットされた登録情報を検索し、提示された認証情報とユーザの保管情報とを突き合わせることにより、ユーザまたはクライアントを認証する(ステップ158)。認証が成功したと想定して、認証ユーザまたはクライアントに関するアクティブ・セッションが確立される。
次にサーバは、要求されたWebページを検索し、HTTP応答メッセージをクライアントに送信する(ステップ159)。その時点でユーザは、ハイパーテキスト・リンクをクリックすることによりブラウザ内で「ibm.com」内の他のページを要求することができ(ステップ160)、ブラウザは他のHTTP要求をサーバに送信する(ステップ161)。その時点でサーバは、ユーザがアクティブ・セッションを持っていることを認識し(ステップ162)、サーバは他のHTTP応答メッセージで要求されたWebページをクライアントに返送する(ステップ163)。図3は典型的な従来技術のプロセスを描写しているが、アクティブ・セッションを備えたユーザを識別するためにCookieを使用することなど、他の代替セッション状態管理技法を描写することもでき、認証を証明するために使用されるのと同じCookieを使用することを含む可能性もあることに留意されたい。
次に図4を参照すると、ネットワーク・ダイアグラムは、本発明を実現可能な典型的なWebベース環境を示している。この環境では、クライアント171側のブラウザ170のユーザは、DNSドメイン173内のWebアプリケーション・サーバ172上またはDNSドメイン175内のWebアプリケーション・サーバ174上の保護リソースにアクセスすることを所望する。
図3に示したものと同様に、ユーザは多くのドメインのうちの1つで保護リソースを要求することができる。特定のドメインにおいて単一サーバのみを示す図3とは対照的に、図4の各ドメインは複数のサーバを有する。特に、各ドメインは関連認証サーバ176および177を有することができる。
この例では、クライアント171がドメイン173で保護リソースに関する要求を発行した後、Webアプリケーション・サーバ172は、それがクライアント171に関するアクティブ・セッションを持っていないと判断し、認証サーバ176がクライアント171との適切な認証操作を実行することを要求する。認証サーバ176は、認証操作の結果をWebアプリケーション・サーバ172に伝達する。ユーザ(またはユーザに代わってブラウザ170またはクライアント171)が正常に認証された場合、Webアプリケーション・サーバ172は、クライアント171に関するセッションを確立し、要求された保護リソースを返す。概して、ユーザが認証サーバによって認証されると、Cookieを設定し、それをブラウザ内のCookieキャッシュに保管することができる。図4は単に、特に認証操作を実行するために、あるドメインの処理リソースを複数サーバ間で共用できる方法の一例に過ぎない。
同様に、クライアント171がドメイン175で保護リソースに関する要求を発行した後、認証サーバ177はクライアント171との適切な認証操作を実行し、その後、Webアプリケーション・サーバ174は、クライアント171に関するセッションを確立し、要求された保護リソースを返す。
このため、図4は、クライアント171が異なるドメインにおける複数の並行セッションを持つことができるが、それらの並行セッションを確立するために複数の認証操作を完了する必要があることを示している。
次に図5を参照すると、ブロック図は、ユーザからの複数の認証操作を必要とする可能性のある典型的なオンライン・トランザクションの一例を描写している。もう一度、図3および図4を参照すると、ユーザは、図3に示した通り、被制御リソースにアクセスする前に認証操作を完了する必要がある可能性がある。図3に示していないが、ユーザを認証するために必要なユーザ情報を検索し使用するために、サーバ151上に認証マネージャを配置することができる。図4に示した通り、ユーザは異なるドメイン173および175内で複数の現行セッションを持っている可能性があり、それらは図4に示されていないが、各ドメインは、認証サーバの代わりにまたはそれに加えて認証マネージャを使用することができる。同様に、図5は1組のドメインも描写しており、そのそれぞれは何らかのタイプの認証マネージャをサポートする。図5は、各ドメインに関する認証操作を完了することをユーザに要求する複数のドメインにアクセスするときにユーザが経験する可能性のある障害のいくつかを示している。
ユーザ190はISPドメイン191で登録することができ、そのドメイン191は、ドメイン191に関するトランザクションを完了するためにユーザ190を認証する認証マネージャ192をサポートすることができる。ISPドメイン191は、インターネット接続サービス、Eメール・サービス、およびおそらくその他のe−commerceサービスを提供するインターネット・サービス・プロバイダ(ISP:Internet Service Provider)にすることができる。代わって、ISPドメイン191は、ユーザ190によって頻繁にアクセスされるインターネット・ポータルにすることもできる。
同様に、ドメイン193、195、および197は、典型的なWebサービス・プロバイダを表している。行政ドメイン193は、様々な行政関連トランザクションを完了するためにユーザを認証する認証マネージャ194をサポートする。銀行用ドメイン195は、オンライン銀行とのトランザクションを完了するためにユーザを認証する認証マネージャ196をサポートする。e−commerceドメイン197は、オンライン購入を完了するためにユーザを認証する認証マネージャ198をサポートする。
上記の通り、異なるドメインでリソースにアクセスすることにより、ユーザがインターネットまたはワールド・ワイド・ウェブ内のあるドメインから他のドメインに移動しようと試みる場合、ユーザは、複数のユーザ認証要求または要件にかけられる可能性があり、それは1組のドメインの全域でユーザの進行を著しく遅らせる可能性がある。例示的な環境として図5を使用すると、ユーザ190は、少なくとも18歳であり、有効な運転免許証、有効なクレジット・カード、および米国銀行預金口座を有するユーザに制限されているオンライン・サービスをユーザが購入しようと試みているe−commerceドメイン197との複雑なオンライン・トランザクションに関係する可能性がある。このオンライン・トランザクションは、ドメイン191、193、195、および197を伴う可能性がある。
概して、ユーザは、典型的なオンライン・トランザクションに参加する各ドメイン内のIDを維持していない可能性がある。この例では、ユーザ190は、そのユーザのISPに自分のIDを登録している可能性があるが、オンライン・トランザクションを完了するためには、ユーザは、ドメイン193、195、および197に対する認証も受ける必要がある可能性がある。それぞれのドメインがそのユーザに関するIDを維持していない場合、そのユーザのオンライン・トランザクションは失敗する可能性がある。ユーザが各ドメインによって認証される場合でも、そのユーザのトランザクションを完了するために異なるドメインがそれらの間で情報を転送できることは保証されていない。図5に示したユーザ190の場合、シングル・サインオンのために、ユーザ190が第1のWebサイト、たとえば、ISP191に対する認証を受け、次にドメイン193、195、および197などの他のWebサービス・プロバイダに認証トークンを転送できるようにする従来技術の環境はまったく存在しない。
何らかの現行技術に関する前述の簡単な説明を考慮すると、残りの図面の説明は、本発明が機能しうる連携コンピュータ環境に関するものである。しかし、本発明をより詳細に論ずる前に、いくつかの用語について紹介する。
用語
「エンティティ」または「パーティ」という用語は一般に、ある組織、個人、またはシステムに代わって機能する組織、個人、または他のシステムを指す。「ドメイン」という用語はネットワーク環境内の追加の特性を意味するが、「エンティティ」、「パーティ」、および「ドメイン」という用語は区別なく使用することができる。たとえば、「ドメイン」という用語は、DNS(ドメイン・ネーム・システム)ドメイン、またはより一般的に、外部エンティティにとって論理装置として現れる様々なデバイスおよびアプリケーションを含むデータ処理システムも指すことができる。
「要求」および「応答」という用語は、メッセージ、通信プロトコル情報、またはその他の関連情報など、特定の操作に関係する情報の転送に適切なデータ・フォーマットを含むものと理解しなければならない。保護リソースは、それに関するアクセスが制御または制限されるリソース(アプリケーション、オブジェクト、ドキュメント、ページ、ファイル、実行可能コード、またはその他の計算リソース、通信タイプのリソースなど)である。
トークンは、正常動作の直接的証拠を提供し、操作を実行するエンティティによって生成され、たとえば、認証トークンは正常認証操作後に生成される。Kerberosトークンは、本発明で使用可能な認証トークンの一例である。Kerberosに関する詳細は、1993年9月発行のInternet Engineering Task Force (IETF) Request for Comments (RFC)1510に掲載されたKohl他による「TheKerberos Network Authentication Service (V5)」で見つけることができる。
アサーションは、何らかのアクションの間接的証拠を提供する。アサーションは、ID、認証、属性、許可決定、その他の情報あるいは操作またはその両方の間接的証拠を提供することができる。認証アサーションは、認証サービスではないが、認証サービスを聴取したエンティティによる認証の間接的証拠を提供する。
セキュリティ・アサーション・マークアップ言語(SAML:Security Assertion Markup Language)アサーションは、本発明内で使用可能なアサーション・フォーマットの一例である。SAMLは、非営利グローバル・コンソーシアムであるOrganization for the Advancement of Structured Information Standards(OASIS)によって公布されたものである。SAMLは、2002年5月31日発行のCommittee Specification 01に掲載された「Assertions and Protocol for the OASIS Security Assertion MarkupLanguage (SAML)」に記載されている。
セキュリティ・アサーション・マークアップ言語(SAML)は、セキュリティ情報を交換するためのXMLベースのフレームワークである。このセキュリティ情報はサブジェクトに関するアサーションの形で表され、サブジェクトは何らかのセキュリティ・ドメイン内のIDを有するエンティティ(人またはコンピュータのいずれか)である。サブジェクトの典型的な例は、特定のインターネットDNSドメイン内の自分のEメール・アドレスによって識別される人である。アサーションは、サブジェクトによって実行される認証行為、サブジェクトの属性、およびサブジェクトが特定のリソースにアクセスできるかどうかに関する許可決定に関する情報を搬送することができる。アサーションは、XML構成体として表され、ネストされた構造を有し、それにより、単一アサーションは認証、許可、および属性に関する数種類の内部ステートメントを含む可能性がある。認証ステートメントを含むアサーションは単に前に発生した認証の行為を記述するに過ぎないことに留意されたい。アサーションは、SAML機関、すなわち、認証機関、属性機関、およびポリシー決定点(policy decision point)によって発行される。SAMLは、それによりクライアントがSAML機関からアサーションを要求し、SAML機関からの応答を取得できるプロトコルを定義する。このプロトコルは、XMLベースの要求および応答メッセージ・フォーマットからなり、多種多様な基礎となる通信およびトランスポート・プロトコルにバインドすることができ、現在、SAMLはHTTPによるSOAPへのバインディングを定義する。SAML機関は、その応答を作成する際に、外部ポリシー・ストアや、要求において入力として受信したアサーションなどの様々な情報ソースを使用することができる。したがって、クライアントは常にアサーションを消費するが、SAML機関はアサーションの作成者と消費者のいずれにもなりうる。
SAML規格では、アサーションは発行者によって作成された1つまたは複数のステートメントを提供する情報のパッケージであることを示している。SAMLにより、発行者は、指定のサブジェクトが特定の時期に特定の手段によって認証されたという認証、指定のサブジェクトが指定のリソースにアクセスできるようにするための要求が認可または拒否されたという許可、および指定のサブジェクトが提供された属性に関連付けられる属性という3種類のアサーション・ステートメントを作成することができる。以下に詳述する通り、必要なときに、様々なアサーション・フォーマットを他のアサーション・フォーマットに変換することができる。
認証は、ユーザによってまたはユーザに代わって提供される1組の信用証明情報(credential)の妥当性を検査するプロセスである。認証は、ユーザが把握しているもの、ユーザが持っているもの、またはユーザが何者であるか、すなわち、ユーザに関する何らかの物理的特性を検証することによって実施される。ユーザが把握しているものとしては、ユーザのパスワードなど、または特定のユーザにのみ把握されているものを検証することにより、ユーザの暗号鍵などの共有秘密鍵(shared secret)を含むことができる。ユーザが
持っているものとしては、スマートカードまたはハードウェア・トークンを含むことができる。ユーザに関する何らかの物理的特性としては、指紋または網膜マップなどのバイオメトリック入力を含むことができるであろう。
認証信用証明情報は、様々な認証プロトコルで使用される1組の質問/応答情報である。たとえば、ユーザ名とパスワードの組合せは、最も普通の形式の認証信用証明情報である。他の形式の認証信用証明情報としては、様々な形式の質問/応答情報、公開鍵インフラストラクチャ(PKI:Public Key Infrastructure)証明書、スマートカード、バイオメトリクスなどを含むことができる。認証信用証明情報は認証アサーションとは差異化され、すなわち、認証信用証明情報は認証サーバまたはサービスとの認証プロトコル・シーケンスの一部としてユーザによって提示されるものであり、認証アサーションはユーザの認証信用証明情報の正常な提示および妥当性検査に関するステートメントであって、その後、必要なときにエンティティ間で転送されるものである。
従来技術のシングル・サインオン・ソリューションの区別
上記の通り、従来技術のシングル・サインオン・ソリューションは、参加企業間で事業協定が事前確立されている同種環境に制限されている。これらの事業協定は、信頼を確立し、企業間の安全な情報転送を定義する。また、これらの事業協定は、ある企業から他の企業にユーザIDを変換またはマッピングする方法ならびに参加企業間でユーザの保証人となるために使用される情報を転送する方法に関するルールに関する技術協定も含む。
換言すれば、以前のシングル・サインオン・ソリューションは、ある企業が事前交渉または事前構成された協定に基づいて異なる企業によって生成された認証アサーション(そのアサーションで提供されるユーザIDとともに)を信頼できるようにするものである。それぞれの別個の企業は、e−commerceマーケットプレイス内の企業など、同様の協定を取り交わした他の企業によって理解されうる認証アサーションを作成し解釈する方法を把握している。これらのシステム間にはユーザIDをマッピングするために企業が把握している決定的関係が存在するので、これらの同種環境は緊密に結合される。シングル・サインオン環境を確立するために事業協定が使用されるので、この緊密結合は可能である。
本発明のフェデレーション・モデル
ワールド・ワイド・ウェブに関連して、ユーザは、特定の各ドメイン間の情報バリアを最小限に考慮して、あるインターネット・ドメイン上のアプリケーションとの対話から他のドメイン上の他のアプリケーションにジャンプする能力を期待するようになる。ユーザは、単一トランザクションの場合に複数のドメインに対する認証を受けなければならないことによって引き起こされる欲求不満を望まない。換言すれば、ユーザは複数組織が相互運用することを期待するが、ユーザは一般に複数ドメインがユーザのプライバシを尊重することを希望する。加えて、ユーザは、私有情報を永続的に保管するドメインを制限する方を好む可能性がある。このようなユーザの期待は、多くの企業および組織が競合する認証技法を公布している、急速進化中の異機種環境に存在する。
従来技術のシステムとは対照的に、本発明は、特定の企業間の特定の事前確立された事業および技術協定がない場合に企業がユーザに対してシングル・サインオン経験を提供できるようにするためのフェデレーション・モデルを提供する。換言すれば、本発明は、連携異機種環境をサポートする。本発明の目的の一例として、もう一度、図5を参照すると、ユーザ190は、ドメイン191に対する認証を受け、トランザクションに関係する可能性のある各ダウンストリーム・ドメインに対し適切なアサーションをドメイン191から提供してもらうことができる。これらのダウンストリーム・ドメインは、ドメイン191と他のダウンストリーム・ドメインとの間に事前確立されたアサーション・フォーマットがまったくない場合でも、認証アサーションあるいはその他のタイプのアサーションまたはその両方を理解し信頼できることが必要である。アサーションを認識することに加えて、ダウンストリーム・ドメインは、事前確立されたIDマッピング関係がまったくない場合でも、アサーション内に含まれるIDを、特定のドメイン内のユーザ190を表すIDに変換できることが必要である。
本発明は、連携環境を対象とする。一般に、企業は、独自のユーザ・レジストリを有し、独自のユーザ・セットとの関係を維持する。各企業は概して、これらのユーザを認証する独自の手段を有する。しかし、本発明の連携方式により、複数の企業は、ある企業が企業フェデレーションに参加することによりその企業のユーザが1組の企業との関係を強化できるように、集合的に協働することができる。ユーザは、各企業との直接的関係を有する場合と同様に、連携した企業のうちのいずれかの企業側のリソースへのアクセスが許可される可能性がある。ユーザは、関心のある各事業に登録する必要はなく、自分自身を識別し認証することを絶えず要求されるわけではない。このため、この連携環境内では、認証方式により、情報技術において急速進化中の異機種環境内のシングル・サインオン経験が可能になる。
本発明では、フェデレーションは、シングル・サインオンの使いやすい経験をユーザに提供するために協働する、企業、組織、団体などの1組の別個のエンティティである。本発明では、連携環境は、2つの企業がユーザに関するどの情報をどのように転送するかを定義する直接的で事前確立された関係を有する必要がないという点で、典型的なシングル・サインオン環境とは異なる。連携環境内のエンティティは、ユーザを認証すること、他のエンティティによって提示される認証アサーション、たとえば、認証トークンを受諾すること、ならびに保証対象のユーザ(vouched-for user)のIDをローカル・エンティティ内で理解されるものに変換する何らかの形式の変換を提供することを扱うサービスを提供する。
フェデレーションは、サービス・プロバイダの管理負担を緩和する。サービス・プロバイダは、全体としてフェデレーションに関するその信頼関係を当てにすることができ、ユーザの認証ホーム・ドメインによって実施される認証を当てにすることができるので、ユーザ・パスワード情報などの認証情報を管理する必要がない。
また、本発明は、疎結合の認証サービス、ユーザ登録サービス、ユーザ・プロファイル管理サービス、あるいは許可サービスまたはこれらのサービスの組合せがセキュリティ・ドメインの全域でコラボレーションする基礎を確立する連携ID管理システムにも関係する。連携ID管理により、まったく異なる複数のセキュリティ・ドメインに常駐するサービスは、これらのまったく異なる複数ドメインにおいて基礎となるセキュリティ・メカニズムおよびオペレーティング・システム・プラットフォームに相違点が存在する可能性がある場合でも、安全に相互運用しコラボレーションすることができる。ユーザがフェデレーションへの参加を確立すると、シングル・サインオン経験が確立される。
ホーム・ドメイン、発行側パーティ(issuing party)、および依存側パーティ(relyingparty)
以下により詳細に説明する通り、本発明は、ユーザにとって重大な利点をもたらすものである。本発明により、ユーザは、以下でユーザのホーム・ドメインまたは認証ホーム・ドメインとも呼ばれる第1のエンティティで認証を受けることができる。この第1のエンティティは、第2のエンティティで使用するためにユーザに関する認証アサーションを発行する発行側パーティとして動作することができる。次にユーザは、第2のエンティティで明示的に再認証を受ける必要なしに、第1のエンティティによって発行された認証アサーションを提示することにより、依存側パーティと呼ばれる第2の別個のエンティティで保護リソースにアクセスすることができる。発行側パーティから依存側パーティに渡される情報はアサーションの形になっており、このアサーションは、種々のタイプの情報をステートメントの形で含むことができる。たとえば、あるアサーションは、あるユーザの認証済みIDに関するステートメントである場合もあれば、特定のユーザに関連するユーザ属性情報に関するステートメントである場合もある。
次に図6を参照すると、ブロック図は、第1の連携した企業に対してユーザによって開始され、それに応答して、連携環境内のダウンストリーム・エンティティでアクションを呼び出すトランザクションに関する連携環境の用語を描写している。図6は、所与の連携操作に関するフェデレーション内のエンティティの視点(perspective)に応じて用語が異なる可能性があることを示している。ユーザ202は、企業204の保護リソースに関する要求によりトランザクションを開始する。ユーザ202が企業204によってすでに認証されている場合、企業204は、この連携セッション用のユーザのホーム・ドメインになる。このトランザクションが企業206による何らかのタイプの操作を必要とし、企業204が企業206にアサーションを転送すると想定すると、企業204はその特定の操作に関する発行側ドメインになり、企業206はその操作に関する依存側ドメインになる。このトランザクションが他の操作を必要とし、企業206が企業208にアサーションを転送すると想定すると、企業206は要求された操作に関する発行側ドメインになり、企業208はその操作に関する依存側ドメインになる。
本発明の連携環境では、ユーザが認証を受けるドメインは、ユーザの(認証)ホーム・ドメインと呼ばれる。ホーム・ドメインは認証信用証明情報を維持する。ホーム・ドメインは、ユーザの雇用主、ユーザのISP、またはその他の何らかのサービス・プロバイダである可能性がある。ユーザの認証信用証明情報を生成し妥当性検査する能力を有する企業が複数存在する可能性があるので、ユーザのホーム・ドメインとして動作できる企業が連携環境内に複数存在する可能性があることは起こり得ることである。
認証の視点によると、認証アサーションに関する発行側パーティは通常、ユーザの認証ホーム・ドメインである。ユーザのホーム・ドメインは、そのユーザに関する個人情報またはプロファイル情報を維持する場合もあれば、維持しない場合もある。このため、個人的に識別可能な情報、パーソナライゼーション情報、またはその他のユーザ属性を伴う属性の視点によると、属性アサーションに関する発行側パーティは、そのユーザの認証ホーム・ドメインである場合もあれば、そうではない場合もある。混乱を回避するため、属性ホーム・ドメインおよび認証ホーム・ドメインについて別々の用語を使用することができるが、以下の「ホーム・ドメイン」という用語は、認証ホーム・ドメインを指すものと解釈することができる。
しかし、所与の連携セッションの範囲内では、通常、ユーザのホーム・ドメインとして動作するドメインは1つだけである。ユーザがこのドメインに対して認証を受けると、そのフェデレーション内の他のすべてのドメインまたは企業は、そのセッションの期間中、依存側パーティとして扱われる。
既存の非連携アーキテクチャに及ぼす影響を最小限にしながら、既存のシステムに追加可能な連携インフラストラクチャを本発明が提供することを考慮すると、ユーザのホーム・ドメインにおける認証は、ホーム・ドメインも連携環境に参加可能であることによって変更されることはない。換言すれば、本発明により実現される連携環境にホーム・ドメインを統合できる場合でも、ユーザは、ユーザのホーム・ドメインで認証操作を実行しながら、同じエンドユーザ経験を持たなければならない。しかし、所与の企業のユーザのすべてが必ずしも連携環境に参加するわけではないことに留意されたい。
その上、ユーザ登録、たとえば、ユーザ・アカウントの確立は、ホーム・ドメインも連携環境に参加可能であることによって変更されることはない。ユーザは、連携環境とは無関係の登録プロセスによりドメインでアカウントを確立する。換言すれば、ホーム・ドメインにおけるユーザ・アカウントの確立は、フェデレーションの全域で有効なアカウント情報、たとえば、ID変換情報の確立を含まない。ユーザを認証できる単一連携ドメインが存在する場合、すなわち、ユーザが登録したフェデレーション内のドメインが1つだけである場合、このドメインは常にユーザのホーム・ドメインとして動作することになり、連携環境全体にわたってユーザの移動を指図することができる。
ユーザが1つの連携環境内で可能なホーム・ドメインを複数持っている場合、ユーザは2つ以上のエントリ・ポイントを介してそのフェデレーションに入ることができる。換言すれば、ユーザは複数のドメインでアカウントを持つことができ、これらのドメインは必ずしも他のドメインまたは他のドメインにおけるユーザのIDに関する情報を持っているわけではない。
ユーザが認証を受けるドメインはホーム・ドメインと呼ばれるが、発行側ドメインは、他のドメイン、すなわち、依存側ドメインによる使用のためにアサーションを発行するフェデレーション・エンティティである。発行側ドメインは、通常、ユーザのホーム・ドメインであるが、必ずそうであるわけではない。このため、通常、発行側パーティが、前述の通り、典型的な認証プロトコルによりすでにユーザを認証していることが実情になるであろう。しかし、発行側が前に依存側パーティとして動作しており、それにより、異なる発行側パーティからアサーションを受信したことは起こり得ることである。換言すれば、ユーザが開始したトランザクションは連携環境内の一連の企業によりカスケードすることができるので、受信側パーティは、その後、ダウンストリーム・トランザクションに関する発行側パーティとして動作することができる。一般に、ユーザに代わって認証アサーションを発行する能力を有するドメインは発行側ドメインとして動作することができる。
依存側ドメインは、発行側パーティからアサーションを受信するドメインである。依存側パーティは、ユーザに代わるサード・パーティ、すなわち、発行側ドメインによって発行されるアサーションを受諾し、信頼し、理解することができる。一般に、適切な認証機関を使用して認証アサーションを解釈することは依存側パーティの義務である。加えて、依存側パーティが特定のユーザを認証できる、すなわち、ユーザのホーム・ドメインとして動作できることは起こり得ることであるが、依存側パーティが従来の方法により特定のユーザを認証できない可能性があることも起こり得ることである。このため、依存側パーティは、ユーザによって提示される認証アサーションを当てにするドメインまたは企業であって、ユーザとの対話式セッションの一部としてユーザの認証信用証明情報の入力をユーザに促す代わりに、ユーザにシングル・サインオン経験を提供するドメインまたは企業である。
連携アーキテクチャ――レガシー・システム用の連携フロントエンド
次に図7を参照すると、ブロック図は、本発明の一実施形態により本発明の連携アーキテクチャ・コンポーネントのいくつかと所与のドメインにある既存のシステムとの統合を描写している。連携環境は、ユーザに様々なサービスを提供する連携エンティティを含む。ユーザ212は、ブラウザ・アプリケーション216および他の様々なクライアント・アプリケーション218をサポートできるクライアント装置214と対話する。ユーザ212は、クライアント装置214、ブラウザ216、またはユーザとその他の装置およびサービスとのインターフェースとして動作する任意の他のソフトウェアとは別個のものである。場合によっては、以下の説明により、クライアント・アプリケーション内で明示的に動作するユーザと、ユーザに代わって動作するクライアント・アプリケーションとを区別することができる。しかし、一般に、リクエスタは、クライアントベースのアプリケーション、ブラウザ、SOAPクライアントなど、ユーザに代わって動作するものと想定できる仲介者である。
ブラウザ・アプリケーション216は、HTTP通信コンポーネント220およびマークアップ言語(ML)インタープリタ222などの多くのモジュールを有する典型的なブラウザにすることができる。また、ブラウザ・アプリケーション216は、Webサービス・クライアント224あるいはダウンロード可能アプレットまたはその両方などのプラグインもサポートすることができ、そのアプレットは仮想計算機ランタイム環境を必要とする場合もあれば必要としない場合もある。Webサービス・クライアント224は、シンプル・オブジェクト・アクセス・プロトコル(SOAP:Simple Object Access Protocol)を使用することができ、これは非集中分散環境における構造化および型付き情報の交換を定義するための軽量プロトコルである。SOAPは、メッセージ内に何が含まれているかならびにそれをどのように処理するかを記述するためのフレームワークを定義するエンベロープと、アプリケーション定義のデータ型のインスタンスを表すための1組のエンコード・ルールと、リモート・プロシージャ・コールおよび応答を表すための規則という3つの部分からなるXMLベースのプロトコルである。ユーザ212は、ブラウザ・アプリケーション216を使用してWebベース・サービスにアクセスすることができるが、ユーザ212は、クライアント装置214上の他のWebサービス・クライアントによりWebサービスにアクセスすることもできる。以下の図に示した本発明の例のいくつかは、連携環境内のエンティティ間で情報を交換するために、ユーザのブラウザによるHTTPリダイレクトを使用する。しかし、本発明は、様々な通信プロトコルにより実施することができ、HTTPベースの通信に制限されるものではないことに留意されたい。たとえば、連携環境内のエンティティは、必要なときに直接通信することができ、ユーザのブラウザによりメッセージをリダイレクトする必要はない。
本発明は、連携環境に必要なコンポーネントを既存のシステムと統合できるように実現することができる。図7は、既存のシステムへのフロントエンドとしてこれらのコンポーネントを実現するための一実施形態を描写している。連携ドメインにある既存のコンポーネントは、図8に示したものと同様に認証サービス・ランタイム(ASR:authentication service runtime)サーバ232を含む、レガシー・アプリケーションまたはバックエンド処理コンポーネント230と見なすことができる。ASRサーバ232は、そのドメインがアプリケーション・サーバ234へのアクセスを制御するときにユーザの認証を担当し、そのアプリケーション・サーバ234は保護リソースを生成するか、検索するか、またはその他の方法で処理するものと見なすことができる。このドメインは引き続きレガシー・ユーザ登録アプリケーション236を使用して、アプリケーション・サーバ234へのアクセスについてユーザを登録することができる。登録済みユーザを認証するために必要な情報は、レガシー・ユーザ・レジストリ238に保管される。
連携環境に加入後、そのドメインは、連携コンポーネントの介入なしに機能し続けることができる。換言すれば、そのドメインは、窓口サーバまたはこの窓口サーバ機能を実現するその他のコンポーネントを通過せずに、ユーザが特定のアプリケーション・サーバまたは他の保護リソースに直接アクセスし続けることができるように構成することができ、このようにシステムにアクセスするユーザは、典型的な認証フローおよび典型的なアクセスを経験することになるであろう。しかし、このようにする際に、レガシー・システムに直接アクセスするユーザは、そのドメインの窓口サーバに知られている連携セッションを確立できないであろう。
そのドメインのレガシー機能は、連携フロントエンド処理240の使用により連携環境に統合することができ、その連携フロントエンド処理240は窓口サーバ242とトラスト・プロキシ・サーバ244(またはより単純にトラスト・プロキシ244)とを含み、そのトラスト・プロキシ・サーバ244自体はセキュリティ・トークン・サービス(STS:Security Token Service)245を含み、これらのすべてについては図8に関し以下により詳細に説明する。フェデレーション構成アプリケーション246により、管理ユーザは、連携フロントエンド・コンポーネントが連携インターフェース・ユニット248によりレガシー・バックエンド・コンポーネントとのインターフェースを取れるようにその連携フロントエンド・コンポーネントを構成することができる。
所与の企業におけるレガシーまたは既存の認証サービスは、ユーザ名/パスワードまたはスマートカード・トークンベースの情報など、様々な周知の認証方法またはトークンを使用することができる。しかし、本発明では、窓口サーバの使用により、レガシー認証サービスの機能を連携環境で使用することができる。ユーザは、窓口サーバを通過せずにレガシー認証サーバに直接アクセスし続けることができるが、このようにシステムにアクセスするユーザは典型的な認証フローおよび典型的なアクセスを経験することになり、レガシー認証システムに直接アクセスするユーザは、本発明によりIDの証明として連携認証アサーションを生成できないであろう。連携フロントエンドの役割の1つは、窓口サーバで受信した連携認証トークンを、レガシー認証システムによって理解されるフォーマットに変換することである。このため、窓口サーバを介して連携環境にアクセスするユーザは必ずしも、レガシー認証サービスに対する再認証を受ける必要はなくなるであろう。好ましくは、ユーザは、ユーザが認証ダイアログに従事している場合と同様にそれが現れるように、窓口サーバとトラスト・プロキシとの組合せによって、レガシー認証サービスに対して認証されることになるであろう。
連携アーキテクチャ――窓口サーバ、トラスト・プロキシ、およびトラスト・ブローカ
次に図8を参照すると、ブロック図は、本発明の一実現例による連携アーキテクチャを描写している。連携環境は、ユーザに様々なサービスを提供する連携した企業または同様のエンティティを含む。ユーザは、クライアント装置上のアプリケーションにより、企業250などの様々なエンティティにあるリソースにアクセスしようと試みることができる。企業250の窓口(POC)サーバ252など、各連携した企業の窓口サーバは、そのユーザの連携環境へのエントリ・ポイントである。窓口サーバはフェデレーションの要件の多くを処理するので、窓口サーバは既存の非連携アーキテクチャ内の既存のコンポーネント、たとえば、レガシー・システムへの影響を最小限にする。窓口サーバは、セッション管理、プロトコル変換を可能にし、おそらく、認証アサーション変換を開始する。たとえば、窓口サーバは、HTTPまたはHTTPSメッセージをSOAPに変換することができ、またその逆も変換することができる。以下により詳細に説明するように、窓口サーバは、トラスト・プロキシを呼び出して認証アサーションを変換するために使用することもでき、たとえば、発行側パーティから受信したSAMLトークンは受信側パーティによって理解されるKerberosトークンに変換することができる。
企業250のトラスト・プロキシ(TP)254などのトラスト・プロキシまたはトラスト・プロキシ・サーバは、フェデレーション内の2つのエンティティ間の信頼関係を確立し維持する。トラスト・プロキシは一般に、発行側パーティによって使用されるフォーマットから受信側パーティによって理解されるフォーマットへの認証トークン・フォーマット変換(そのように構成されている場合、セキュリティ・トークン・サービスによる、セキュリティ・トークン・サービスについては以下に詳述する)を処理する能力を有する。
全体的に、窓口サーバとトラスト・プロキシの使用は、連携アーキテクチャの実現が既存の非連携システム・セットに及ぼす影響を最小限にする。このため、本発明の連携アーキテクチャは、そのエンティティが企業であるか、ドメインであるか、その他の論理エンティティまたは物理エンティティであるかにかかわらず、連携エンティティ当たり少なくとも1つの窓口サーバと少なくとも1つのトラスト・プロキシの実現を必要とする。しかし、本発明の連携アーキテクチャは必ずしも、既存の非連携システム・セットに対する変更を必要としない。好ましくは、所与の連携エンティティについて単一のトラスト・プロキシが存在するが、可用性のために複数のトラスト・プロキシが存在する可能性もあり、あるいは連携エンティティ内のより小さい様々なエンティティ、たとえば、企業内の個別の子会社のために、複数のトラスト・プロキシが存在する可能性もある。単一トラスト・プロキシは複数のフェデレーション内の信頼関係を管理することができるので、このシナリオは必ずしも複数のトラスト・プロキシを必要としないであろうが、所与のエンティティが2つ以上のフェデレーションに属すことができることは起こり得ることである。
トラスト・プロキシの役割の1つは、他のドメインあるいはそのドメイン内のトラスト・プロキシまたはその両方によって必要なトークン・タイプを決定することである。トラスト・プロキシは、発行側パーティによって使用されるフォーマットから受信側パーティによって理解されるフォーマットへの認証トークン・フォーマット変換を処理する能力を有する。また、トラスト・プロキシ254は、企業250に関して行われる任意のユーザID変換または属性変換も担当する。しかし、トラスト・プロキシは、以下に詳述する通り、支援のためにトラスト・ブローカを呼び出すことができる。ID変換は、発行側パーティに知られているユーザIDおよび属性を受信側パーティにとって意味のあるものにマッピングする必要がある場合がある。この変換は、発行側ドメインのトラスト・プロキシまたは受信側ドメインのトラスト・プロキシのいずれかによって呼び出すことができる。
トラスト・プロキシ254は、セキュリティ・トークン・サービス(STS)コンポーネント255として示される内部化コンポーネント(internalized component)を含むことができ、そのコンポーネントはトークン変換を可能にし、認証サービス・ランタイム(ASR)256を呼び出してトークンを妥当性検査し生成することになる。セキュリティ・トークン・サービスは、トラスト・プロキシが必要とするトークン発行および妥当性検査サービスを提供する。したがって、セキュリティ・トークン・サービスは、既存の認証サービス・ランタイムへのインターフェースを含むか、またはそのサージス自体に認証サービス・ランタイムを組み込む。トラスト・プロキシ内に内部化されるのではなく、セキュリティ・トークン・サービス・コンポーネントは、たとえば、トラスト・プロキシによって呼び出されるスタンドアロン・コンポーネントとして実現することもでき、あるいは、たとえば、アプリケーション・サーバの一部として、トランザクション・サーバ内に内部化することもできる。
たとえば、STSコンポーネントは、Kerberosトークンを発行するための要求を受信することができる。そこからトークンが作成されるユーザの認証情報の一部として、要求は、ユーザ名とパスワードを含むバイナリ・トークンを含むことができる。STSコンポーネントは、たとえば、LDAPランタイム(典型的な認証)に照らし合わせてユーザ名およびパスワードを妥当性検査することになり、Kerberos KDC(鍵配布センタ:Key Distribution Center)を呼び出して、このユーザに関するKerberosチケットを生成することになる。このトークンは、企業内で使用するためにトラスト・プロキシに返されるが、この使用は、フェデレーション内の他のドメインに転送するためにトークンを外部化することを含む可能性がある。
図4に関して説明したものと同様に、ユーザは、企業250および企業260の両方など、連携環境内の複数企業のリソースにアクセスすることを所望する可能性がある。企業250に関して上述したものと同様に、企業260は、窓口サーバ262と、トラスト・プロキシ264と、セキュリティ・トークン・サービス265と、認証サービス・ランタイム266とを有する。ユーザは各企業との個別のトランザクションを直接開始することができるが、ユーザは、連携環境全体にわたってカスケードする企業250とのトランザクションを開始することができる。ユーザがトランザクションを開始したときにユーザがその必要性を認識していなかった可能性がある場合でも、企業250は、特定のトランザクションを完了するために、企業260などの連携環境内の他の複数の企業とのコラボレーションを必要とする場合がある。企業260はダウンストリーム・ドメインとして関係することになり、本発明により、企業250は、ユーザのトランザクションを促進するために必要であれば、連携アサーションを企業260に提示することができる。
関連窓口サーバによって受信された認証トークンを解釈する方法あるいは所与のユーザIDおよび属性を変換する方法またはその両方をトラスト・プロキシが把握していないということが実情である場合もある。この場合、トラスト・プロキシは、トラスト・ブローカ268などのトラスト・ブローカ・コンポーネントで機能を呼び出すことを選択することができる。トラスト・ブローカは、個々のトラスト・プロキシとの関係を維持し、それにより、トラスト・プロキシ間の推移的な信頼関係を提供する。トラスト・ブローカを使用すると、企業250および260などの連携環境内の各エンティティは、連携環境内の各ドメインとの複数の個別信頼関係を確立するのではなく、トラスト・ブローカとの信頼関係を確立することができる。たとえば、企業260が企業250のユーザによって開始されたトランザクションについてダウンストリーム・ドメインとして関係することになったときに、企業250のトラスト・プロキシ254は、必要な場合にトラスト・ブローカ268で支援を呼び出すことにより、企業260のトラスト・プロキシ264がトラスト・プロキシ254からのアサーションを理解できることを確信することができる。図8は、単一トラスト・ブローカを備えた連携環境を描写しているが、連携環境は複数のトラスト・ブローカを有することができる。
図8は窓口サーバ252、トラスト・プロキシ254、セキュリティ・トークン・サービス・コンポーネント255、および認証サービス・ランタイム256を別個のエンティティとして描写しているが、これらのコンポーネントを個別のデバイスとして実現する必要はないことに留意されたい。たとえば、これらの個別のコンポーネントの機能を、単一物理装置上のアプリケーションとして実現するかまたは単一アプリケーションに結合することは可能である。加えて、図8は、1つの企業のための単一窓口サーバ、単一トラスト・プロキシ、および単一セキュリティ・トークン・サーバを描写しているが、代替構成は、各企業用の複数の窓口サーバ、複数のトラスト・プロキシ、および複数のセキュリティ・トークン・サーバを含むことができる。窓口サーバ、トラスト・プロキシ、セキュリティ・トークン・サービス、およびその他の連携エンティティは、ソフトウェア・アプリケーション、オブジェクト、モジュール、ソフトウェア・ライブラリなどの様々な形で実現することができる。
トラスト・プロキシ/STSは、ユーザ名とパスワードの組合せおよびKerberosチケットなどの伝統的な信用証明情報を含む多種多様な認証信用証明情報ならびにサード・パーティによって生成される認証トークンを含む連携認証トークン・フォーマットを受諾し妥当性検査することができる。トラスト・プロキシ/STSは、他の場所で認証の証明として認証トークンの受諾を可能にすることができる。認証トークンは、発行側パーティによって生成され、ユーザがその発行側パーティに対してすでに認証を受けていることを示すために使用される。発行側パーティは、ユーザの認証済みIDをアサートする手段として、認証トークンを生成する。
セキュリティ・トークン・サービスは、必要に応じて、認証サービス・ランタイムを呼び出す。認証サービス・ランタイムは、ユーザを認証できる認証サービスをサポートする。認証サービスは、認証応答を介して認証試行の成功または失敗の表示を提供する認証機関として動作する。トラスト・プロキシ/STSは、認証サービス、たとえば、既存のレガシー・インフラストラクチャと対話する必要がないWebサービスの真新しいインストールが存在するというシナリオを内部化することができる。そうではない場合、STSコンポーネントは、認証トークンの妥当性検査のために外部認証サービスを呼び出すことになる。たとえば、STSコンポーネントは、ユーザ名/パスワードを含むバイナリ・トークンを「アンパック」し、次にLDAPサービスを使用してユーザ・レジストリにアクセスし、提示された信用証明情報の妥当性を検査することができるであろう。
アプリケーション・サーバなどの他のコンポーネントによって使用される場合、STSコンポーネントは、レガシー認証システムへのシングル・サインオンに必要なトークンを生成するために使用することができる。このため、STSコンポーネントは、内部目的のために、すなわち、1つの企業内で、ならびに外部目的のために、すなわち、1つのフェデレーション内の複数企業の全域で、トークン変換に使用することができる。内部目的の一例として、Webアプリケーション・サーバは、IBM CICS(顧客情報管理システム:Customer Information Control System)トランザクション・ゲートウェイを介してメインフレームとのインターフェースを取ることができ、CICSは、企業レベルのオンライン・トランザクション管理および接続性を主幹業務アプリケーションに提供するアプリケーション・サーバおよびコネクタのファミリである。Webアプリケーション・サーバは、Kerberosチケット(Webアプリケーション・サーバによって内部で使用されるもの)を、CICSトランザクション・ゲートウェイが要求するIBM RACF(商標)パスチケットに変換するために、STSコンポーネントを呼び出すことができる。
図8に示したエンティティは、上記で紹介した用語、たとえば、「発行側パーティ」および「依存側パーティ」を使用して説明することができる。信頼関係を確立し維持することの一部として、発行側パーティのトラスト・プロキシは、依存側パーティのトラスト・プロキシによってどのトークン・タイプが要求/受諾されるかを決定することができる。したがって、トラスト・プロキシは、セキュリティ・トークン・サービスからトークン・サービスを呼び出すときに、この情報を使用する。発行側ドメインのトラスト・プロキシが依存側パーティに関する認証アサーションを生成することを要求された場合、そのトラスト・プロキシは、必要なトークン・タイプを決定し、セキュリティ・トークン・サービスから適切なトークンを要求する。
依存側ドメインのトラスト・プロキシが発行側パーティから認証アサーションを受信すると、そのトラスト・プロキシは、どのタイプのアサーションをそれが予想していたか、ならびに依存側ドメイン内の内部使用のためにどのタイプのアサーションを必要としているかを把握する。したがって、依存側ドメインのトラスト・プロキシは、受信した認証アサーション内のトークンに基づいて、セキュリティ・トークン・サービスが必要な内部使用トークンを生成することを要求する。
トラスト・プロキシとトラスト・ブローカはどちらも、発行側パーティから受信したアサーションを、依存側パーティによって理解されるフォーマットに変換する能力を有する。トラスト・ブローカは、それとの直接的信頼関係が存在するトラスト・プロキシのそれぞれに関するアサーション・フォーマット(複数も可)を解釈する能力を有し、それにより、トラスト・ブローカが発行側パーティと依存側パーティとの間のアサーション変換を行えるようにする。この変換は、その局所的トラスト・プロキシによりいずれかのパーティによって要求することができる。したがって、発行側パーティのトラスト・プロキシは、それが依存側パーティに送信される前にアサーションの変換を要求することができる。同様に、依存側パーティのトラスト・プロキシは、発行側パーティから受信されたアサーションの変換を要求することができる。
アサーション変換は、ユーザID変換、認証アサーション変換、属性アサーション変換、またはその他の形式のアサーション変換を含む。上記のポイントを繰り返すと、アサーション変換は、フェデレーション内の連携コンポーネント、すなわち、トラスト・プロキシとトラスト・ブローカによって処理される。トラスト・プロキシは、発行側ドメインまたは依存側ドメインのいずれかで、この変換をローカルで実行する場合もあれば、トラスト・ブローカから支援を呼び出す場合もある。
発行側パーティと依存側パーティがすでにトラスト・ブローカとの個別信頼関係を有すると想定すると、トラスト・ブローカは、必要であれば発行側パーティと依存側パーティとの間の新しい信頼関係を動的に作成する、すなわち、ブローカリングすることができる。トラスト・ブローカによって提供される初期信頼関係ブローカリング操作の後、発行側パーティと依存側パーティは、将来の変換要件のためにトラスト・ブローカを呼び出す必要がないように、その関係を直接維持することができる。認証トークンの変換は、発行側パーティのトラスト・プロキシ、依存側パーティのトラスト・プロキシ、およびトラスト・ブローカという考えられる3つの箇所で起こる可能性があることに留意されたい。好ましくは、発行側パーティのトラスト・プロキシは、依存側パーティに送信するためにトラスト・ブローカによって理解される認証アサーションを生成する。次に依存側パーティは、トラスト・ブローカからのこのトークンを依存側パーティによって認識可能なフォーマットに変換することを要求する。トークン変換は、認証アサーションの伝送前に、伝送後に、または伝送前と伝送後の両方で行うことができる。
連携アーキテクチャ内の信頼関係
本発明により実現される連携環境内には、企業トラスト・ドメインとフェデレーション・トラスト・ドメインという、管理しなければならない2つのタイプの「トラスト・ドメイン」が存在する。この2つのタイプのトラスト・ドメイン間の相違点は、部分的に、トラスト・ドメインとの信頼関係を支配する事業協定と、信頼を確立するために使用される技術とに基づいている。企業トラスト・ドメインは、その企業によって管理されるコンポーネントを含み、そのトラスト・ドメイン内のすべてのコンポーネントは互いに信頼する。一般に、たとえば、コンポーネント間で相互に認証されたSSLセッションを要求することにより、配置された技術が1つの企業内で固有の信頼関係を作り出すので、1つの企業内で信頼を確立するために必要な事業協定はまったく存在しない。図7を参照すると、レガシー・アプリケーションおよびバックエンド処理システムは企業トラスト・ドメインを表すことができる。
フェデレーション・トラスト・ドメインは企業境界を越えるものであり、ある視点によると、フェデレーション・トラスト・ドメインは、別個の企業トラスト・ドメイン間の信頼関係を表すことができる。フェデレーション・トラスト・ドメインは、企業境界の全域でトラスト・プロキシにより確立される。連携信頼関係は、それによりトラスト・プロキシ間に初期信頼が確立される、ある種のブートストラッピング・プロセスを必要とする。このブートストラップ・プロセスの一部は、予想あるいは許可またはその両方のトークン・タイプとID変換を定義するルールならびに共有秘密鍵の確立を含むことができる。一般に、このブートストラッピング・プロセスは、ある企業のフェデレーションへの参加を支配する事業協定の確立と、この参加に関連する責任も含むので、このプロセスはアウト・オブ・バンドで実現される。
連携ビジネス・モデルには信頼を確立するためのメカニズムがいくつか存在する。フェデレーション・モデルでは、参加者間で転送されるアサーション(トークンおよび属性情報を含む)が有効であるという、あるレベルの保証を提供するために、ビジネス上の理由でフェデレーション参加者間の信頼の基本概念が必要である。信頼関係がまったくない場合、依存側ドメインは発行側ドメインから受信したアサーションに依存することができず、発行側パーティから受信した任意の情報を解釈する方法を決定するために依存側ドメインがそれを使用することができない。
たとえば、大企業は、数千のグローバル・カスタマ(global customer)をリンクしたいと希望する可能性があり、その企業は従来技術のソリューションを使用できるであろう。第1の例として、その企業は、相互信頼を確立するために商用証明局からのデジタル証明書を使用することをグローバル・カスタマに要求できるであろう。商用証明局は、その企業のサーバがそれぞれのグローバル・カスタマに位置するサーバを信頼できるようにする。第2の例として、その企業はKerberosを使用してサード・パーティの信頼を実現でき、その企業とそのグローバル・カスタマは共有秘密鍵ベースの信頼を実現するトラステッド・サード・パーティKerberosドメイン・サービスを実現できるであろう。第3の例として、その企業は、そのグローバル・カスタマのサーバによって相互に信頼される独自のセキュリティ・メッセージ・トークンにより専用方式を確立できるであろう。
その企業が少数のグローバル・カスタマとの信頼関係を管理する必要がある場合、上記の手法のいずれか1つが受入れ可能である可能性があるが、数百または数千の潜在的なフェデレーションのパートナが存在する場合には、これは管理不能になる可能性がある。たとえば、企業がより小規模なパートナに専用方式の実現を強制することは可能である場合もあるが、企業がより大規模なパートナに多くの要件を賦課できるようになることはありそうもないことである。
本発明では、企業は、トラスト・プロキシと、おそらくトラスト・ブローカにより確立され維持された信頼関係を使用することになる。本発明の連携アーキテクチャの利点の1つは、ある企業およびその潜在的なフェデレーションのパートナの現行インフラストラクチャ以上の追加要件を賦課しないことである。
しかし、本発明は、フェデレーションへの参加に必要な事業および責任協定を確立するために必要な予備作業から企業およびその潜在的なフェデレーションのパートナを救済するものではない。加えて、参加者は信頼関係の技術的ブートストラッピングを無視することができない。本発明はこのブートストラッピングを柔軟なものにすることができ、たとえば、第1のフェデレーションのパートナは特定の情報でKerberosチケットを発行することができ、第2のフェデレーションのパートナは特定の情報でSAML認証アサーションを発行することができる。
本発明では、2つのトラスト・プロキシ間で事前確立された関係に基づいて発行側パーティから受信されるトークンを妥当性検査し変換するセキュリティ・トークン・サービスを含むことができるフェデレーション・トラスト・プロキシにより信頼関係が管理される。連携企業が他の連携企業との信頼関係(およびトークン変換)を確立することが実現可能ではない状況では、トラスト・ブローカを呼び出すことができる。しかし、連携企業は依然として、トラスト・ブローカとの関係を確立しなければならない。
次に図9を参照すると、ブロック図は、本発明によりトラスト・プロキシとトラスト・ブローカとを使用する連携ドメイン間の例示的な1組の信頼関係を描写している。図8はトラスト・ブローカを紹介したが、図9は本発明の連携アーキテクチャ内の推移的な信頼関係の重要性を示している。
連携ドメイン271〜273はトラスト・プロキシ274〜276をそれぞれ組み込んでいる。トラスト・プロキシ274はトラスト・プロキシ275との直接的信頼関係277を有する。トラスト・ブローカ280はトラスト・プロキシ275との直接的信頼関係278を有し、トラスト・ブローカ280はトラスト・プロキシ279との直接的信頼関係279を有する。トラスト・ブローカ280は、フェデレーション参加者に代わって、他のフェデレーションのパートナとの推移的な信頼関係に基づいて信頼関係を確立するために使用される。推移的な信頼関係の原理により、トラスト・プロキシ275およびトラスト・プロキシ276はトラスト・ブローカ280を介して信頼関係281をブローカリングしてもらうことができる。トラスト・プロキシ275または276はいずれも、もう一方のアサーションを変換または妥当性検査する方法を把握している必要はなく、有効であり、信頼され、もう一方のトラスト・プロキシで理解されるものにアサーションを変換するために、トラスト・ブローカを呼び出すことができる。
連携した企業間の信頼関係に関する契約上の義務および責任を指定する事業協定は、ebXML(XMLを使用する電子ビジネス)規格の使用によりXMLで表すことができる。たとえば、直接的信頼関係はebXMLドキュメントで表すことができ、直接的信頼関係を共用する各連携ドメインはebXMLドキュメントとして表された契約書のコピーを有することになるであろう。フェデレーション内の様々なエンティティに関する動作特性は、ebXML振り付け(choreography)内に指定し、ebXMLレジストリ内で公開することができ、たとえば、トラスト・プロキシまたはトラスト・ブローカを操作するために、特定のフェデレーションに参加することを希望する任意の企業は、そのフェデレーション内のすべてのトラスト・プロキシまたはトラスト・ブローカについてその特定のフェデレーションによって指定された公開要件に適合する必要があるであろう。セキュリティ・トークン・サービスは、他のドメインからのトークンを変換する方法に関する操作上の詳細について、これらのebXMLドキュメントを構文解析できるであろう。しかし、フェデレーション内の信頼関係が実現される方法に関する詳細を指定するために、本発明により他の規格およびメカニズムを使用できることに留意されたい。
連携アーキテクチャ内のアサーション処理
上記の通り、フェデレーション内のユーザの経験は、部分的に、複数ドメインの全域で転送される、ユーザに関するかまたはそのユーザのためのアサーションによって支配される。アサーションは、ユーザの認証状況に関する情報、属性情報、およびその他の情報を提供する。認証アサーションを使用すると、ユーザが、アクセスしたサイトごとに再認証を受ける必要性を除去することができる。連携環境内には、発行側パーティから依存側パーティへのアサーションを取得するために、プッシュ・モデル(push model)とプル・モデル(pullmodel)という2つのモデルが存在する。プッシュ・モデルでは、ユーザのアサーションはユーザの要求とともに発行側パーティに移動する。プル・モデルでは、ユーザの要求はいかなる情報もなしで依存側パーティで受信され、次に依存側パーティは発行側パーティから関連アサーションまたは必要なアサーションを要求する。
連携環境内でアサーションを使用するためのこれらのモデルを考慮して、次に本発明の説明では、本発明の連携環境内でアサーションを作成し使用するための1組のプロセスを記述する1組の図面を参照する。図10は、連携環境内でアサーションを作成するための発行側ドメインにおける汎用プロセスを描写しており、図11は、アサーションを「取り壊す」ため、すなわち、その情報を抽出し分析することにより、アサーションをその本質的情報まで削減するための依存側ドメインにおける汎用プロセスを描写している。図12および図13は、アサーションが発行側ドメイン内で生成され、次にユーザの要求とともに依存側ドメインに転送される、プッシュ・モデルの2つの変形を描写することにより、図10に示した汎用プロセスに関するより詳細なプロセスを示している。図14は、要求側ユーザから依存側ドメインによって受信されたリソース要求を満足しようと試みながら、依存側ドメインが発行側ドメインからユーザに関して必要なアサーションを要求するプル・モデルを描写している。
次に図10を参照すると、フローチャートは、連携環境内でアサーションを作成するための発行側ドメインにおける汎用プロセスを描写している。このプロセスは、発行側ドメインの窓口サーバがアサーションのためにトリガされたときに始まる(ステップ302)。窓口サーバは、依存側ドメインから所与のユーザ用の特定のアサーションに関する要求を受信する場合もあれば、アサーションを必要とする既知の依存側ドメインに対する発信要求をインターセプトする場合もあり、これらのシナリオについてはそれぞれ図12および13に関して以下により詳細に説明する。アサーションのためにトリガされたことに応答して、発行側ドメインの窓口サーバは発行側ドメインのトラスト・プロキシからアサーションを要求し(ステップ304)、発行側ドメインのトラスト・プロキシがアサーションを生成し(ステップ306)、発行側ドメインのトラスト・プロキシは、必要であれば、必要なアサーションを生成するためにトラスト・ブローカから支援を要求することができる。アサーションを生成した後、発行側ドメインのトラスト・プロキシは発行側ドメインの窓口サーバにアサーションを返し(ステップ308)、次に発行側ドメインの窓口サーバが適切な方法で、たとえば、発信HTTPまたはSOAPメッセージにアサーションを挿入することにより、出力データストリームにアサーションを注入し(ステップ310)、それにより、プロセスを完了する。
図10は、「ローカル・ウォレット」の使用なしに発行側ドメインでアサーションを作成するためのプロセスを描写している。しかし、本発明はローカル・ウォレット機能の組込みを可能にするものである。一般に、ローカル・ウォレットは、トランザクションを容易にするためにユーザ属性情報またはその他の情報に関するセキュア・データ・ストアとして動作可能なクライアント側のコードであり、このクライアント側のコードはアサーション転送のプッシュ・モデルあるいはプル・モデルまたはその両方に参加することもできる。ローカル・ウォレットが積極的にプロトコルに参加すると、それは、アサーションを生成し、それをプロトコル・フローに挿入するという点で窓口サーバ機能の機能サブセットを実現する。ローカル・ウォレットを使用することにより、ローカル・ウォレットが、窓口サーバとトラスト・プロキシとの間で行われるトラストベースの対話を実現できるわけではない。追加の信頼関係が必要な場合、窓口サーバを呼び出さなければならない。
次に図11を参照すると、フローチャートは、アサーションを取り壊すための依存側ドメインにおける汎用プロセスを描写している。このプロセスは、依存側ドメインの窓口サーバが関連アサーションとともにメッセージを受信したときに始まり(ステップ322)、その後、依存側ドメインの窓口サーバはアサーションを抽出し、依存側ドメインのトラスト・プロキシにアサーションを転送する(ステップ324)。依存側ドメインのトラスト・プロキシは、発行側ドメインから受信したトークンを含む情報をアサーションから抽出し(ステップ326)、依存側ドメインのトラスト・プロキシは、セキュリティ・トークン・サービスを呼び出してこのトークンの妥当性を検査することになり、適切であれば、そのユーザに関してローカルで有効なトークンを返す(ステップ328)。
ステップ326の一部として、トラスト・プロキシは、アサーションのソース、すなわち、発行側パーティを決定することになる。トラスト・プロキシがこの発行側ドメインから受信したトラストアサーションを理解できる場合、トラスト・プロキシはステップ328を内部で実行することになる。トラスト・プロキシが発行側ドメインから受信したアサーションを理解/信頼できない場合、トラスト・プロキシはトラスト・ブローカからの支援を呼び出すことができる。アサーションの妥当性を検査できない場合、適切なエラー応答を生成することになるであろう。
アサーションの妥当性が検査されたと想定すると、依存側ドメインのトラスト・プロキシは、そのユーザについて必要なローカル情報を構築する(ステップ330)。たとえば、ローカル情報は、バックエンド・レガシー・アプリケーションによって必要とされる認証信用証明情報を含むことができる。依存側ドメインのトラスト・プロキシは、必要な情報を依存側ドメインの窓口サーバに返し(ステップ332)、その窓口サーバがそのユーザのためのローカル・セッションを構築する。
窓口サーバがそのユーザのためのセッションを構築した後、そのユーザは認証ユーザとして現れる。窓口サーバは、ログアウトまたはタイムアウト・イベントが開始されるまでユーザがそのドメインとの間で行っている任意のトランザクションをさらに支配するために、このセッション情報を使用することができる。窓口サーバがそのユーザに関する認証済みIDを有していることを考慮すると、窓口サーバは、この特定のユーザのIDとこの特定のユーザに関連する任意の許可ポリシーに基づいて、必要であれば、この要求に関する許可を入手することができる。次に窓口サーバは、要求されたバックエンド・アプリケーションまたはサービスに任意の関連情報とともにユーザの要求を転送し(ステップ334)、それにより、プロセスを完了する。
窓口サーバとトラスト・プロキシとの間で転送されるデータ項目およびそのデータ項目のフォーマットは様々になる可能性があることに留意されたい。メッセージからアサーションを抽出し、アサーションのみをトラスト・プロキシに転送するのではなく、窓口サーバは、メッセージ全体をトラスト・プロキシに転送することができる。たとえば、トラスト・プロキシにおける処理は、SOAPメッセージ関するシグニチャ妥当性検査のようなステップを含むことができ、これはSOAPエンベロープ全体を必要とするであろう。
次に図12を参照すると、フローチャートは、発行側ドメインにおけるユーザ・アクションに応答して発行側ドメインから依存側ドメインにアサーションをプッシュするための特定のプロセスを描写している。このプロセスは、ユーザが発行側ドメイン内のWebページまたは同様のリソースから依存側ドメインへのリンクにアクセスしたときに始まり(ステップ342)、それにより、特定のアサーションを構築するために何らかの形のCGI(コモン・ゲートウェイ・インターフェース)タイプの処理を呼び出す。依存側ドメインによるアサーションの必要性を認識する発行側ドメインの能力は、本発明の連携インフラストラクチャが実現される既存のレガシー・システムとの緊密統合を示している。また、これは、発行側パーティが必要なアサーションを構築するためにトラスト・プロキシを呼び出す必要がないような、発行側パーティと依存側パーティとの緊密結合も示しており、この緊密結合は、適切に確立された信頼関係を有する特定のタイプの連携エンティティ間では適切なものである可能性がある。
発行側ドメインにおけるバックエンド処理は、必要なアサーションを構築するために呼び出され(ステップ344)、これは、ローカル・トラスト・プロキシにおける呼出し機能を含む可能性がある。次に、必要なアサーションを含む、依存側ドメインへのユーザの要求が構築され(ステップ346)、発行側ドメインはユーザの要求とともにアサーションを依存側ドメインに転送し(ステップ348)、それにより、プロセスを完了する。依存側ドメインが要求とそれに関連するアサーションを受信すると、依存側ドメインは図11に示したようにアサーションの妥当性を検査することになるであろう。
次に図13を参照すると、フローチャートは、依存側ドメインに対する発信要求を積極的にインターセプトする発行側ドメインに応答して発行側ドメインから依存側ドメインにアサーションをプッシュするための特定のプロセスを描写している。このプロセスは、ユーザが依存側ドメインにおける保護リソースを要求したときに始まる(ステップ352)。窓口サーバは、たとえば、所定のユニフォーム・リソース・アイデンティファイア(URI)、特定のタイプのメッセージ、特定のタイプのメッセージ・コンテンツについて発信メッセージをフィルタリングすることによるか、またはその他の何らかの方法で、発信要求をインターセプトする(ステップ354)。次に発行側ドメインの窓口サーバは、発行側ドメインのトラスト・プロキシから適切なアサーションの生成を要求し(ステップ356)、そのトラスト・プロキシは必要であればトラスト・ブローカからの支援によりアサーションを生成する(ステップ358)。次に発行側ドメインは、生成したアサーションとともにユーザの要求を依存側パーティに転送し(ステップ360)、それにより、プロセスを完了する。依存側ドメインが要求とそれに関連するアサーションを受信すると、依存側ドメインは図11に示したようにアサーションを妥当性検査することになるであろう。
次に図14を参照すると、フローチャートは、要求側ユーザから依存側ドメインによって受信されたリソース要求を満足しようと試みながら、依存側ドメインが発行側ドメインからユーザに関して必要なアサーションを要求するプル・モデルを描写している。このプロセスは、依存側ドメインが保護リソースに関するユーザ要求を受信したときに始まる(ステップ372)。図12または図13に示した例とは対照的に、図14に示した例は、ユーザに関する必要なアサーションがない場合に依存側ドメインで受信されるユーザの要求に関連する処理を記述している。この場合、発行側ドメインは、ユーザの要求に必要なアサーションを挿入するためにユーザの要求をインターセプトするかまたはその他の方法で処理する能力を持っていない。たとえば、ユーザは、発信要求が発行側ドメインの窓口サーバによってインターセプトされないように、ユニフォーム・リソース・ロケータ(URL)を入力したかまたはリソースへのブックマーク付き参照を使用した可能性がある。このため、依存側ドメインは発行側ドメインからアサーションを要求する。
次に依存側ドメインは、ユーザのホーム・ドメイン、すなわち、関連発行側ドメインを決定する(ステップ374)。HTTPベースの実現例では、ユーザは、すでに依存側ドメインとの関係を事前設定しており、その結果、ユーザのクライアント装置で依存側ドメインによって永続Cookieが設定された可能性がある。この永続Cookieは、ユーザのホーム・ドメイン、すなわち、発行側ドメインのIDを含むことになるであろう。ユーザが何らかの方法でWebサービス・クライアントを操作するSOAPベースの実現例では、依存側ドメインにおけるWebサービスは、トークン要件を含む、WSDL(Webサービス記述言語:Web Services Description Language)によるサービス要件を公示したと考えられる。次にこれは、必要なトークン・タイプを提供するためにユーザのWebサービス・クライアント/SOAP実現例を必要とするであろう。この要件が達成されなかった場合、Webサービスは技術的にエラーを返すことになるであろう。場合によっては、これは、その要求を適切なトークンで繰り返すことができるように、認証情報を入力するようユーザのWebサービス・クライアントに促すことができるエラー・コードを返す可能性がある。
依存側ドメインの窓口サーバは、依存側ドメインのトラスト・プロキシによりアサーション要求を開始し(ステップ376)、それは発行側ドメインのトラスト・プロキシからユーザに関するアサーションを要求する(ステップ378)。この実施形態がHTTPベースの通信を使用している場合、依存側ドメインのトラスト・プロキシから発行側ドメインのトラスト・プロキシへのアサーション要求は、ユーザのブラウザ・アプリケーションによるリダイレクトを介して依存側ドメインの窓口サーバによって発行側ドメインの窓口サーバに伝送することができ、その窓口サーバはアサーション要求を発行側ドメインのトラスト・プロキシに転送する。
この実施形態がSOAPベースの実現例を使用している場合、依存側パーティは、ユーザのWebサービス・クライアントにエラー・コードを返すことができる。このエラー・コードにより、Webサービス・クライアントによって認証情報を入力するようユーザに促すことができる。次にWebサービス・クライアントは、要求されたトークンを生成することになるであろう。依存側ドメインのトラスト・プロキシがUDDI(ユニバーサル記述、ディスカバリ、および統合:Universal Description, Discovery, and Integration)レジストリで公示され、ユーザのWebサービス・クライアントがトラスト・プロキシを見つけられるようにしている場合、ユーザのWebサービス・クライアントはトラスト・プロキシを直接呼び出すことができるであろう。一般に、このシナリオは内部ユーザについてのみ有効であり、その場合、トラスト・プロキシがインターネット上の公用UDDIで公示されるかまたはフェデレーション外で一般にアクセス可能になることはありそうもないので、トラスト・プロキシは企業内の専用UDDIで公示されている。
発行側ドメインのトラスト・プロキシは、アサーション要求が受信された方法をミラーリングする方法で、要求されたアサーションを生成し(ステップ380)、それを返す(ステップ382)。依存側ドメインのトラスト・プロキシが要求されたアサーションを受信した後(ステップ384)、依存側ドメインのトラスト・プロキシはアサーションから情報を抽出し(ステップ386)、アサーションを解釈するかあるいは妥当性検査するかまたはその両方を行い(ステップ388)、トラスト・プロキシはアサーションの変換のために必要であれば、トラスト・ブローカからの支援を呼び出すことができる。そのアサーションの妥当性を検査できない場合、適切なエラー応答が生成されることになるであろう。アサーションの妥当性が検査されると想定すると、依存側ドメインのトラスト・プロキシは、保護リソースに関するユーザの要求を達成しようと試みるバックエンド・サービスによる使用に必要な適切なフォーマットでローカル情報を構築する(ステップ390)。たとえば、ローカル情報は、バックエンド・レガシー・アプリケーションによって要求される認証信用証明情報を含むことができる。依存側ドメインのトラスト・プロキシは、必要な情報を依存側ドメインの窓口サーバに返し(ステップ392)、次にそれはユーザに関するローカル・セッションを構築し、関連情報とともにユーザの要求を要求されたバックエンド・アプリケーションまたはサービスに転送し(ステップ394)、それにより、プロセスを完了する。
連携アーキテクチャ内のシングル・サインオン
図6〜図9の説明は本発明による連携データ処理環境内のエンティティの動作特性に焦点を合わせているが、図10〜図14の説明はこれらのエンティティ間で行われるプロセスのいくつかに焦点を合わせている。これらの説明とは対照的に、ユーザにシングル・サインオン経験を提供しながら、ユーザに関するトランザクションを完了するという目標に焦点を合わせる本発明の説明のために、図15を参照する。
換言すれば、以下の説明は、ユーザがユーザのセッション内でシングル・サインオン経験を持つことができる方法に関して本発明の概略視点に焦点を合わせているが、すでに前述したエンティティおよびプロセスについて論ずるものである。セッションは、初期ユーザ認証、すなわち、ログオンから(これを含む)ログアウトまでの1組のトランザクションとして定義することができる。セッション内のユーザのアクションは、部分的に、そのセッションに関してユーザに付与された権限によって支配されることになる。フェデレーション内のユーザは、そのセッション中にアクセスしたフェデレーションのパートナにかかわらず、ユーザが単一認証操作を完了し、そのセッションの期間の間、この認証操作で十分であるシングル・サインオン経験を持つことを期待する。
ユーザのセッション中に、ユーザは、多くの連携ドメインにアクセスして、そのドメインによって提供されるWebサービスを使用することができる。ドメインは、UDDIおよびWSDLなどの標準規格を使用して、そのドメインが提供するサービスの記述を公開することができ、そのいずれも共通データ・フォーマットとしてXMLを使用する。ユーザは、同じくこれらの標準規格に準拠するアプリケーションにより、使用可能なサービスおよびサービス・プロバイダを見つける。SOAPは、XMLで表された要求および応答を伝達するためのパラダイムを提供する。連携環境内のエンティティは、とりわけ、これらの規格を使用することができる。
シングル・サインオン経験を容易にするために、連携環境をサポートするWebサービスは、ユーザの認証の証明を提供するためにサード・パーティによって生成された認証アサーションまたはセキュリティ・トークンの使用もサポートすることになる。このアサーションは、そのユーザ用のIDとともに、発行側パーティに対するユーザの認証の成功を示すある種の証拠を含むことになる。したがって、ユーザは、あるフェデレーションのパートナに対し、伝統的な認証信用証明情報、たとえば、ユーザ名およびパスワードを提示し、異なるフェデレーションのパートナに対し、認証/発行側パーティによって生成されたSAML認証アサーションを提供することができる。
Webサービス環境内の認証は、企業が許可クライアントにアクセスを制限できるように、Webサービス要求の請求されたIDを検証する行為である。Webサービスを要求するかまたは呼び出すユーザは、ほとんど常に認証され、したがって、本発明の連携環境内の認証の必要性はユーザ認証のためのWebサービスの現行要件とは少しも異ならないものである。また、連携環境により、Webサービスまたはその他のアプリケーションはWebサービスを要求することができ、これらのWebサービスも認証されることになるであろう。
連携セッションに参加していないユーザの認証は、本発明の連携アーキテクチャによる影響を受けない。たとえば、特定のドメインの非連携リソースにアクセスするためにHTTP/Sによる用紙ベースの認証メカニズムで認証を受ける既存のユーザは、連携環境に関するそのドメインのサポートを導入することによって影響されない。認証は、部分的に、窓口サーバによって処理され、次にその窓口サーバが個別のトラスト・プロキシ・コンポーネントを呼び出すことができる。窓口サーバの使用は、既存のドメインのインフラストラクチャに対する影響を最小限にする。たとえば、窓口サーバは、そのドメインのバックエンドまたはレガシー・アプリケーションおよびシステムによって処理されるすべての非連携要求を通過するように構成することができる。
窓口サーバは、基本認証、用紙ベースの認証、またはその他の何らかの認証方法などのHTTPベースの認証方法を呼び出すことを選択することができる。また、窓口サーバは、SAML認証アサーションなど、認証の証明としてユーザによって提示されたアサーションを認識することにより、連携トラスト・ドメインもサポートし、そのアサーションは企業トラスト・ドメイン間を越えている。窓口サーバはトラスト・プロキシを呼び出すことができ、次にそのトラスト・プロキシは認証信用証明情報/セキュリティ・トークンの妥当性検査のためにそのセキュリティ・トークン・サービスを呼び出すことができる。
Webサービスまたはその他のアプリケーションの認証は、ユーザの認証と同じプロセスを有する。Webサービスからの要求は、認証アサーションを含むセキュリティ・トークンを伝達し、このセキュリティ・トークンはユーザによって提示されるトークンと同じようにトラスト・プロキシ/セキュリティ・トークン・サービスによって妥当性検査されることになるであろう。WebサービスはUDDIで公示された要求されたサービスによってどの認証アサーション/セキュリティ・トークンが要求されているかをすでに発見していると考えられるので、Webサービスからの要求は必ずそれとともにこのトークンを伝達しなければならない。
次に図15を参照すると、ブロック図は、連携シングル・サインオン操作をサポートする連携環境を描写している。ユーザ400は、クライアント装置およびブラウザなどの適切なクライアント・アプリケーションにより、企業/ドメイン410によって提供されるWebサービスにアクセスすることを所望し、その企業/ドメインは、連携環境内の連携ドメインとして動作するデータ処理システムをサポートする。ドメイン410は窓口サーバ412およびトラスト・プロキシ414をサポートし、同様に、ドメイン420は窓口サーバ422およびトラスト・プロキシ424をサポートし、ドメイン430は窓口サーバ432およびトラスト・プロキシ434をサポートする。トラスト・プロキシは、上述の通り、支援のためにトラスト・ブローカ450を当てにする。追加のドメインおよびトラスト・プロキシも連携環境に参加することができる。図15は、ドメイン410とドメイン420との間の連携シングル・サインオン操作を記述しており、同様の操作はドメイン410とドメイン430との間でも行うことができる。
ユーザはドメイン410に関する認証操作を完了し、この認証操作は窓口サーバ412によって処理される。たとえば、アクセス制御またはパーソナライゼーションのために、認証済みIDを必要とする何らかのリソースへのアクセスをユーザが要求すると、認証操作がトリガされる。窓口サーバ412は、レガシー認証サービスを呼び出す場合もあれば、トラスト・プロキシ414を呼び出してユーザが提示した認証信用証明情報の妥当性を検査する場合もある。ドメイン410は、ユーザの連携セッションの期間中、ユーザのホーム・ドメインになる。
その後のある時点で、ユーザは、同じく連携ドメインをサポートする企業420などのフェデレーションパートナにおいてトランザクションを開始し、それにより、連携シングル・サインオン操作をトリガする。たとえば、ユーザがドメイン420で新しいトランザクションを開始する場合もあれば、ユーザの元のトランザクションが他のドメインにおける1つまたは複数の追加トランザクションにカスケードする場合もある。もう1つの例として、ユーザは、たとえば、ドメイン410内でホストとして処理されるWebページ上の特殊リンクを選択するか、またはドメイン410内でホストとして処理されるがドメイン420内でホストとして処理されるリソースを表示するポータル・ページを要求することにより、窓口サーバ412を介してドメイン420内のリソースへの連携シングル・サインオン操作を呼び出すこともできる。窓口サーバ412は、ドメイン420によって理解または信頼されるようにフォーマットされた、そのユーザ用のフェデレーションシングル・サインオン・トークンを生成するために、トラスト・プロキシ414に要求を送信する。トラスト・プロキシ414はこのトークンを窓口サーバ412に返し、その窓口サーバ412はこのトークンをドメイン内の窓口サーバ422に送信する。ドメイン410は、依存側パーティとして動作するドメイン420のユーザのための発行側パーティとして動作する。ユーザのトークンはユーザの要求とともにドメイン420に転送されると考えられ、このトークンはユーザのブラウザによるHTTPリダイレクトを使用して送信される場合もあれば、トラスト・プロキシ414によって供給されるトークンで識別されるユーザに代わって(HTTPまたはHTTPによるSOAPにより)窓口サーバ422の要求を直接呼び出すことにより送信される場合もある。
窓口サーバ422は、フェデレーション・シングル・サインオン・トークンとともにその要求を受信し、トラスト・プロキシ424を呼び出す。トラスト・プロキシ424は、フェデレーションシングル・サインオン・トークンを受信し、そのトークンの妥当性を検査し、そのトークンが有効で信頼されているものと想定して、ユーザのためにローカルで有効なトークンを生成する。トラスト・プロキシ424はローカルで有効なトークンを窓口サーバ422に返し、その窓口サーバはドメイン420内でそのユーザに関するセッションを確立する。必要であれば、窓口サーバ422は、他の連携したパートナにおいて連携シングル・サインオンを開始することができる。
ドメイン420におけるトークンの妥当性検査は、おそらく、セキュリティ・トークン・サービスからの支援により、トラスト・プロキシ424によって処理される。ドメイン410によって提示されたトークンのタイプに応じて、セキュリティ・トークン・サービスは、ドメイン420のユーザ・レジストリにアクセスする必要がある場合もある。たとえば、ドメイン420は、ドメイン420のユーザ・レジストリに照らし合わせて妥当性検査すべき、ユーザの名前とパスワードを含むバイナリ・セキュリティ・トークンを提供することができる。このため、この例では、企業は単に、連携したパートナからのセキュリティ・トークンの妥当性を検査するだけである。ドメイン410と420との信頼関係は、ユーザに代わってドメイン410によって提示されたセキュリティ・トークンをドメイン420が理解し信頼できることを保証する。
連携シングル・サインオンは、ユーザに代わって依存側ドメインに提示されるセキュリティ・トークンの妥当性検査のみならず、セキュリティ・トークンに含まれる情報に基づいて依存側ドメインにおいてローカルで有効なユーザIDを決定することも必要とする。このような関係を確立するために必要な直接的信頼関係と事業協定の結果の1つとして、少なくとも1つのパーティ、発行側ドメインあるいは依存側ドメインのいずれか一方またはその両方は、発行側ドメインによって提供された情報を依存側ドメインで有効なIDに変換する方法を把握することになる。上記の簡単な例では、発行側ドメイン、すなわち、ドメイン410が依存側ドメイン、すなわち、ドメイン420にドメイン420で有効なユーザIDを提供できるものと想定されていた。そのシナリオでは、依存側ドメインは、IDマッピング機能を呼び出す必要はなかった。ドメイン420におけるトラスト・プロキシ424は、このユーザの「保証人となる」、ユーザ用のセキュリティ・トークンを生成することになる。受諾されるトークンのタイプ、トークン上で必要なシグニチャ、およびその他の要件はいずれも、フェデレーションの事業協定の一部として事前確立される。ID変換を支配するルールおよびアルゴリズムも、フェデレーションの事業協定の一部として事前確立される。2つの参加者間の直接的信頼関係の場合、ID変換アルゴリズムは、その2つのパーティについて確立されていることになり、フェデレーション内の他のどのパーティにも関連しない可能性がある。
しかし、ドメイン410用のローカルIDからドメイン420用のローカルIDにユーザをマッピングする方法を発行側ドメインが把握することが常に実情であるわけではない。場合によっては、このマッピングを実行する方法を把握しているのは依存側ドメインである可能性があり、さらに他の場合には、いずれのパーティもこの変換を実行する方法を把握しなくなり、その場合、サード・パーティのトラスト・ブローカを呼び出す必要がある可能性もある。換言すれば、ブローカリングされた信頼関係の場合、発行側ドメインと依存側ドメインは互いに直接的信頼関係を持っていない。しかし、それらのドメインは、トラスト・ブローカ450などのトラスト・ブローカとの直接的信頼関係を持つことになる。IDマッピング・ルールおよびアルゴリズムは、この関係の一部として確立されたものになり、トラスト・ブローカはこの情報を使用して、ブローカリングされた信頼関係に必要なID変換を支援することになる。
ドメイン420は、窓口サーバ422においてドメイン410によって発行されたトークンを受信し、その窓口サーバはトラスト・プロキシ424を呼び出して、トークンの妥当性を検査し、IDマッピングを実行する。この場合、トラスト・プロキシ424はドメイン410用のローカルIDからドメイン420用のローカルIDにユーザをマッピングすることができないので、トラスト・プロキシ424はトラスト・ブローカ450を呼び出し、そのトラスト・ブローカがトークンの妥当性を検査し、IDマッピングを実行する。そのユーザ用のローカルIDを入手した後、トラスト・プロキシ424は、おそらくそのセキュリティ・トークン・サービスにより、ドメイン420においてバックエンド・アプリケーションによって要求される任意のローカル・トークンを生成することができ、たとえば、窓口サーバからアプリケーション・サーバへのシングル・サインオンを容易にするためにKerberosトークンが要求される可能性がある。必要であれば、ローカルで有効なトークンを入手した後、窓口サーバはそのユーザ用のローカル・セッションを構築することができる。また、窓口サーバは、ユーザ要求の粗雑な許可を処理し、ドメイン420内の適切なアプリケーション・サーバに許可された要求を転送することになる。
連携アーキテクチャ内の統合ログオフ
上述の連携環境では、ユーザの認証情報は複数ドメインおよび異機種環境の全域で渡される。ユーザはホーム・ドメインを有し、これはユーザの認証信用証明情報の妥当性を検査するドメインである。次にこのホーム・ドメインは、依存側パーティによって異なるドメイン内で信頼し使用することができるユーザに関するアサーションを発行するために発行側パーティとして動作することができる。このアサーションは、発行側パーティから依存側パーティに転送されると、ユーザ介入なしに実行され、まったく異なる複数ドメインの全域でシングル・サインオン経験をユーザに提供する。
しかし、ユーザがシステムに対して自分のIDを証明するために認証操作、すなわち、ログオンまたはログイン操作を完了するという要件は、システムを保護することの一部にすぎない。このプロセスの同様に重要な部分は、セキュア・セッションを終了するためにユーザがログオフ操作、すなわち、サインオフまたはサインアウト操作を完了するという要件であり、それにより、他のユーザが有効なセッションを流用するかまたは悪意をもって有効なセッションに干渉するのを防止する。
ログオフ操作に関する困難な問題の1つは、ユーザがどこでログオフすることを決定するかを予測できないことである。換言すれば、ユーザは連携シングル・サインオン・セッション内の多くのドメインと対話することができ、ユーザがログオフすることを決定したときにユーザがどのドメインと対話しているかを予測することは不可能である。一例として、ユーザはユーザのホーム・ドメインからログオフすることを決定する可能性がある。しかし、ホーム・ドメインが他のドメインでシングル・サインオン操作を実行し、その後、それらの依存側ドメインの1つが発行側ドメインとして動作するように、ユーザがトランザクションを呼び出した場合、ユーザのホーム・ドメインはこれらのドメインを認識しなくなり、ユーザに代わってこれらのドメインでログオフ・アクションを呼び出すことができない。
本発明は、連携環境内の統合ログオフ操作に関する様々な手法を提示する。本発明は統合ログオフ操作に関する2通りの一般的な手法に従うものであり、一方はHTTPに基づき、もう一方はSOAPに基づくものである。HTTP手法は、ユーザのブラウザによるHTTPリダイレクトを使用する「フロントエンド」方式で、またはユーザのブラウザを呼び出さずに連携ドメイン内の窓口サーバにログオフ通知が直接送信される「バックチャネル」方式で実行することができる。
SOAP手法は、ユーザまたはユーザのSOAPクライアントを呼び出さずにフェデレーションのコンポーネント間で直接通信が行われる「バックチャネル」方式で実行される。また、SOAP手法はパブリッシュ・サブスクライブ・モデルを使用することもでき、これは、発生する可能性のあるログオフ・イベントに依存側ドメインが加入できるようにするものである。次にユーザのホーム・ドメインはユーザに関するログオフ・イベントを発行することになり、このイベントはこのようなログオフ・イベントに加入したすべてのドメインによって受信される。次に依存側ドメインは、そのログオフ・イベントが特定のユーザに関連するかどうかを決定することができ、関連する場合、依存側ドメインはユーザのログオフまたはセッション・パージ(session purge)を実施する。このログオフに関する「最適化」手法は、依存側ドメインがより細かい細分性のログオフ・イベント、すなわち、特定のユーザに固有のログオフ・イベントに加入できるようにすることであり、したがって、依存側ドメインはすべてのログオフ・イベントを聴取する必要はなく、その特定のユーザに関するログオフ・イベントのみ聴取する必要がある。統合ログオフ操作に関するいくつかの好ましい実施形態については、残りの図面に関連して以下に説明する。
次に図16を参照すると、フローチャートは、HTTPリダイレクトにより連携ドメイン間で統合ログオフ操作を実行するためのプロセスを描写している。図16に示した統合ログオフ操作は、たとえば、Webページ上のログオフ・ボタンを選択することにより、ユーザがログオフ・プロセスを呼び出したときまたはユーザがログオフ・リソースにアクセスしたときに、ユーザのホーム・ドメインで始まり(ステップ502)、代わって、非アクティブ・タイムアウト(inactivity timeout)などの様々な理由からホーム・ドメインによってログオフ操作を開始することもできるであろう。
ホーム・ドメインは1組の他の連携ドメインのための発行側ドメインとして動作していた可能性があり、このため、ホーム・ドメインはこのプロセス内では発行側ドメインと呼ばれる場合もある。発行側ドメインは、それがユーザに関する連携シングル・サインオン操作中に認証アサーションを送信した依存側ドメインのリストを取得する(ステップ504)。発行側ドメインはリストから次の依存側ドメインを識別し(ステップ506)、発行側ドメインの窓口サーバは、識別された依存側ドメインのユーザに関するログオフ要求メッセージを生成する(発行側ドメインのトラスト・プロキシからの支援による)(ステップ508)。発行側ドメインの窓口サーバは、ユーザのブラウザ・アプリケーションによるHTTPリダイレクトを介して識別された依存側ドメインの窓口サーバにログオフ要求を送信する(ステップ510)。発行側ドメインの窓口サーバは、その後、ユーザのブラウザ・アプリケーションによるHTTPリダイレクトを介して識別された依存側ドメインの窓口サーバからログオフ状況メッセージを受信し、保管する(ステップ512)。
依存側ドメインのリスト内に他の依存側ドメインが存在するかどうかに関する決定が行われ(ステップ514)、存在する場合、プロセスはステップ506に分岐して戻り、他のログオフ要求を生成する。そうではない場合、発行側ドメインは発行側ドメインのユーザをログオフする(ステップ516)。次に発行側ドメインの窓口サーバは、ログオフ状況メッセージを構築し、それをユーザに送信し(ステップ518)、これでログオフ・プロセスを終了する。
上記の通り、ホーム・ドメインはある依存側ドメインのための発行側ドメインとして動作することができ、その依存側ドメイン自体は他のダウンストリーム・ドメインのための発行側ドメインとして動作することができる。このため、依存側ドメインがログオフ要求を取得すると、そのドメインは図16に示したプロセスを実行することができる。その時点で依存側ドメインは、ステップ504〜516に関する発行側ドメインと見なすことができる。しかし、そのプロセスは上記とは異なる開始および終了を行うことになるであろう。そのログオフ・プロセスを開始するために、依存側ドメインは発行側ドメインからログオフ要求メッセージを受信する(ステップ520)。そのログオフ・プロセスを終了するために、依存側ドメインはログオフ応答メッセージを生成し、それがログオフ要求メッセージを受信した発行側ドメインにそのログオフ応答メッセージを返す(ステップ522)。
代替実施形態では、発行側ドメインの窓口サーバは、そのユーザに関するログオフ要求とともに依存側ドメインの窓口サーバにHTTPメッセージを直接送信することができる。これは、依存側ドメインの窓口サーバがこの要求を受信し、その要求に含まれるユーザIDを有効なユーザ・セッションにマッピングできることを必要とするが、ユーザが依存側ドメイン、たとえば、ログオフ要求に付随するHTTP Cookieと対話するときにユーザのセッション情報はユーザ「とともに」移動するので、これは前のケースでは「透過的に」処理されている。ユーザのセッションを識別するために使用されるクライアント側のCookieなど、クライアント側のセッション技法が使用されている場合、この代替シナリオはユーザを完全にログアウトしない。ユーザのセッションはサーバ側で終了されることになり、ユーザが次にサーバにアクセスしようと試みたときに(そのクライアント側のセッション・トークンが自動的に期限切れになっていないと想定する)、サーバはこのトークンを明示的に期限切れにする必要があるであろう。たとえば、サーバ側にマッチング・セッション(matching session)がまったくないクライアント側のセッションCookieをサーバが受信すると、サーバはエラーで応答し、無効になるようにそのCookieをリセットすることにもなるであろう。いずれの場合も、発行側ドメインの窓口サーバに返される状況メッセージはステップ522に関して記載したものと同じであり、ユーザに返される状況ページはステップ518に関して記載したものと同じである。
他の代替実施形態では、ログオフ要求操作はHTTPによるSOAPを使用する。このシナリオでは、発行側ドメインの窓口サーバから依存側ドメインの窓口サーバへの要求は、HTTPによるSOAPを使用し、ユーザのブラウザによるリダイレクトを呼び出さない。しかし、発行側ドメインの窓口サーバから受信したログオフ要求およびセキュリティ・トークンを依存側ドメインの窓口サーバのユーザに関する適切なセッション情報と突き合わせるために、依存側ドメインの窓口サーバによって、より多くの処理が行われるものと考えられる。ログオフ状況メッセージおよび応答は図16に記載したものと同様のものになるであろう。
次に図17を参照すると、フローチャートは、SOAPバックチャネル方法を使用して連携ドメイン間で統合ログオフ操作を実行するためのプロセスを描写している。図17に示した統合ログオフ操作は、たとえば、Webページ上のログオフ・ボタンを選択することにより、ユーザがログオフ・プロセスを呼び出したときまたはユーザがログオフ・リソースにアクセスしたときに、ユーザのホーム・ドメインで始まり(ステップ602)、代わって、非アクティブ・タイムアウトなどの様々な理由からホーム・ドメインによってログオフ操作を開始することもできるであろう。ホーム・ドメインは1組の他の連携ドメインのための発行側ドメインとして動作していた可能性があり、このため、ホーム・ドメインはこのプロセス内では発行側ドメインと呼ばれる場合もある。
発行側ドメインの窓口サーバは、発行側ドメインのトラスト・プロキシにログオフ試行を通知する(ステップ604)。トラスト・プロキシは、それがユーザのセッション中にこの特定のユーザのために連携シングル・サインオン・トークンを構築したすべてのドメインの記録を維持している。発行側ドメインのトラスト・プロキシは、それがユーザに関する連携シングル・サインオン操作中に認証アサーションを送信した依存側ドメインのリストを取得する(ステップ606)。発行側ドメインのトラスト・プロキシはリストから次の依存側ドメインを識別し(ステップ608)、発行側ドメインのトラスト・プロキシ・サーバは、識別された依存側ドメインのユーザに関するログオフ要求メッセージを生成する(ステップ610)。次に発行側ドメインのトラスト・プロキシは、識別された依存側ドメインのトラスト・プロキシにログオフ要求を送信する(ステップ612)。発行側ドメインのトラスト・プロキシは、その後、識別された依存側ドメインのトラスト・プロキシからログオフ状況メッセージを受信し、保管する(ステップ614)。
依存側ドメインのリスト内に他の依存側ドメインが存在するかどうかに関する決定が行われ(ステップ616)、存在する場合、プロセスはステップ608に分岐して戻り、他のログオフ要求を生成する。そうではない場合、発行側ドメインのトラスト・プロキシは発行側ドメインのユーザをログオフする(ステップ618)。次に発行側ドメインのトラスト・プロキシは、ログオフ状況メッセージを構築し、それを窓口サーバを介してユーザに送信し(ステップ620)、これでログオフ・プロセスを終了する。ユーザ・セッション管理を実行するサーバに応じて、トラスト・プロキシは、ローカル・ユーザ・トークンを構築し、ユーザのセッションを終了するためにそのユーザ用の窓口サーバでログオフ・プロセスを開始する必要がある場合があることに留意されたい。
上記の通り、ホーム・ドメインはある依存側ドメインのための発行側ドメインとして動作することができ、その依存側ドメイン自体は他のダウンストリーム・ドメインのための発行側ドメインとして動作することができる。このため、依存側ドメインがログオフ要求を取得すると、そのドメインは図17に示したプロセスを実行することができる。その時点で依存側ドメインは、ステップ604〜618に関する発行側ドメインと見なすことができる。しかし、そのプロセスは上記とは異なる開始および終了を行うことになるであろう。そのログオフ・プロセスを開始するために、依存側ドメインは発行側ドメインからログオフ要求メッセージを受信する(ステップ622)。そのログオフ・プロセスを終了するために、依存側ドメインはログオフ応答メッセージを生成し、それがログオフ要求メッセージを受信した発行側ドメインにそのログオフ応答メッセージを返す(ステップ624)。ログオフ状況メッセージおよび応答は図17に記載したものと同様のものになるであろう。
また、SOAP手法はパブリッシュ・サブスクライブ・モデルを使用することもできる。本発明では、ログオフ・イベントが発生したことをそれに通知するために、ユーザが前にログオンしたすべてのサーバに対してログオフ・イベント・ハンドラが通信できるようにするために、パブリッシュサブスクライブ技術を使用する。上述の手法とは対照的に、パブリッシュ・サブスクライブ・モデルでは、ユーザがログオンしたすべてのシステムの記録またはこのようなすべてのシステムと通信するための方法を有する単一エンティティが存在する。
典型的なパブリッシュサブスクライブ環境では、パブリッシャ(publisher)とサブスクライバ(subscriber)との関係は一般に長期間のものであり、所与の「クラス」のすべてのイベント、たとえば、すべてのログオフ・イベントまたはすべてのログオン・イベントに適用される。本発明では、一時的でコンテキスト固有のサブスクライバ関係の概念について説明する。連携環境の動的性質のため、スケーラブル・トポロジ(scalable topology)は、一時的でコンテキスト固有のイベントと、長期間の関係の両方をサポートする。
本発明では、Webサービスは、すべてのログオン通知などの特定のタイプのイベントに加入することができ、その後、Webサービスは、任意のログオン・セッションが終了した時期を決定するために、すべてのログオフ・イベントに加入することが必要になるであろう。このため、ログオフ・イベントの特定のサブセットにのみ関心がある場合でも、Webサービスはすべてのログオフ・イベントに加入することになるが、どのログオン・イベントが興味の対象になるかを前もって予測することは不可能であるので、これは、Webサービスがすべてのログオン・イベントに加入しなければならない場合のログオン・イベントに匹敵するものである。
加えて、本発明では、Webサービスがコンテキスト固有のイベントに加入する能力を有するように、パブリッシュ・サブスクライブ・ルールを改良することができる。したがって、シナリオの一例では、サブジェクト・ユーザ(subject user)が認証されたことが特定のWebサービスに通知されることになるであろう。このログイン・イベントを反映するようにその状態を更新することをWebサービスが選択した場合、Webサービスは、ユーザがログオフしたかどうかを決定するためにログオフ・イベントへの加入に興味を持つことになるであろう。すべてのログオフ・イベントに加入するようWebサービスに強制するのではなく、本発明は、Webサービスがコンテキスト固有のイベントに加入できるようにするものであり、すなわち、すべてのログオフ・イベントの改良により、サブジェクト・ユーザがイベントをログオフできるようにするものである。この状況では、Webサービス、すなわち、依存側パーティと、発行側ドメインのトラスト・プロキシ、すなわち、パブリッシング・パーティ(publishing party)とのサブスクライバ関係は、一時的なものであり、すなわち、サブジェクト・ユーザの認証済みセッションの期間中のものである。
要約すると、発行側ドメインはパブリッシャとして動作し、依存側ドメインはサブスクライバとして動作し、これにより、依存側ドメインは、発行側ドメインで発生する可能性のあるログオフ・イベントに加入することができる。ユーザのホーム・ドメインはユーザに関するログオフ・イベントを発行することになり、このイベントはこのようなログオフ・イベントに加入したすべてのドメインによって受信されることになる。次に依存側ドメインは、そのログオフ・イベントが特定のユーザに関連するかどうかを決定することができ、関連する場合、依存側ドメインはユーザのログオフまたはセッション・パージを実施する。このログオフに関する最適化手法は、依存側ドメインがより細かい細分性のログオフ・イベント、すなわち、特定のユーザに固有のログオフ・イベントに加入できるようにすることであり、したがって、依存側ドメインはすべてのログオフ・イベントを聴取する必要はなく、その特定のユーザに関するログオフ・イベントのみ聴取する必要がある。
次に図18〜19を参照すると、1対のフローチャートは、パブリッシュ・サブスクライブ・モデルを使用するSOAP手法により連携ドメイン間で統合ログオフ操作を実行するための1対のプロセスを描写している。図18および図19に示したプロセスでは、依存側ドメインのユーザに代わって連携シングル・サインオン操作がすでに完了しており、依存側ドメインがそのユーザに関するログオフ・イベントに加入していると想定する。たとえば、依存側ドメインの窓口サーバは、依存側ドメインにおける着信要求とともに、発行側ドメインの窓口サーバから認証アサーションを受信する。依存側ドメインで発生すると考えられる処理の一部として、依存側ドメインのトラスト・プロキシはそのユーザに関するログオフ・イベントに加入することになるであろう。図11のステップ332を参照すると、依存側ドメインのトラスト・プロキシが発行側ドメインからのアサーションを妥当性検査した後、トラスト・プロキシは加入操作を開始することになるが、ログオフ・イベントに含まれていると考えられるIDは発行側ドメインによって発行されたIDであるので、トラスト・プロキシは、依存側ドメイン内でローカルで有効なIDではなく、発行側ドメインから受信したユーザIDを使用することになるであろう。
図18に示したプロセスは発行側ドメインで行われ、図19に示したプロセスは依存側ドメインで行われる。次に図18を参照すると、プロセスは、ユーザのホーム・ドメインなどの発行側ドメインでユーザがログオフ・イベントを開始することから始まる(ステップ702)。発行側ドメインの窓口サーバは発行側ドメインのトラスト・プロキシに通知し(ステップ704)、そのトラスト・プロキシは、発行側ドメインにおけるユーザのセッション中にそのユーザのために発行されたすべてのトークンを決定する(ステップ706)。各発行済みトークンごとに、発行側ドメインのトラスト・プロキシは、発行済みトークンのそれぞれに関するログオフ通知とともにSOAP発行メッセージを生成し(ステップ708)、プロセスは完了する。
次に図19を参照すると、プロセスは、依存側ドメインのトラスト・プロキシがユーザに関するログオフ・メッセージを受信することから始まる(ステップ712)。依存側ドメインのトラスト・プロキシは、ログオフ・メッセージ内の受信トークンに基づいて、そのユーザに関する局所的セキュリティ・トークンを作成する(ステップ714)。次に依存側ドメインのトラスト・プロキシは、依存側ドメインの窓口サーバから、ユーザに代わってログオフ操作を開始し(ステップ716)、プロセスは完了する。代わって、依存側ドメインのトラスト・プロキシがセッション管理を実行する場合、依存側ドメインのトラスト・プロキシは、適切な方法でユーザのセッションを終了することにより、ログオフ操作を完了することになるであろう。
もう一度、図15を参照すると、ユーザが統合ログオフ操作を実行する方法を説明するために連携環境の一例が使用されている。上記の図15の記述は、ユーザ400がドメイン420および430でセッションを確立するために連携シングル・サインオン操作を完了する方法を説明しており、その例では、ドメイン410はホーム・ドメインとして動作し、ドメイン420および430は依存側ドメインとして動作する。以下の例は図15の記述の終了から継続し、換言すれば、以下の例では、ユーザが連携シングル・サインオン操作をすでに完了しており、統合ログオフ操作の完了に取りかかっているものと想定する。
このシナリオでは、ユーザのブラウザがWebサービス対応ではなく、すなわち、Webサービス・クライアントとして動作しないものと想定することができる。これは、ユーザがHTTPを使用してフェデレーションにアクセスすることを示している。フェデレーションのコンポーネントは、SOAPまたはHTTPによるSOAPを使用して通信することができる。窓口サーバとトラスト・プロキシとの通信は内部のものにすることができ、すなわち、APIを使用するかまたはSOAPによるものにすることができる。
以下のシナリオは、図16に示したプロセスに従うものである。ユーザ400はドメイン410からログアウトする。窓口サーバ412は、ユーザ400に代わってそれが連携シングル・サインオン・トークンを送信したすべてのドメインのリストを維持する。ドメイン410でユーザのセッションを終了する前に、窓口サーバ412は、ドメイン420のユーザに関するログオフ要求を作成する。このように実行するために、窓口サーバ412は、ドメイン420で有効なユーザ400に関するセキュリティ・トークンをトラスト・プロキシ414から要求する。窓口サーバ412は、414から受信したトークンを含み、ドメイン420でユーザ400をログオフするための要求を構築し、このトークンは、ログアウト要求をユーザにマッピングするために使用することができる。このバインディングは窓口サーバ422とのユーザのセッションの一部にもなるので、これはHTTPシナリオではあまり重要ではないが、要求をユーザにバインドすることを可能にするので、これはSOAPシナリオではより重要なものである。
窓口サーバ412は、ユーザのブラウザを介してドメイン420内の窓口サーバ422にこの要求をリダイレクトする。窓口サーバ422は、要求を受信し、ドメイン420内のユーザに関するログオフを呼び出そうと試みる。その結果は、成功(ユーザが認証されており、この時点でログオフされ、すべてのセッション情報が削除される)または失敗(ユーザが有効なセッションを持っていなかった)またはエラー(ユーザがセッションを持っているが、おそらく、ログオフを完了できない)になる。窓口サーバ422は、ユーザのブラウザによるHTTPリダイレクトを介して窓口サーバ412に状況メッセージを返す。次に窓口サーバ412は、ドメイン430のユーザに関するログオフ要求を構築する。窓口サーバ412は、ユーザのブラウザを介してドメイン430内の窓口サーバ432にこの要求をリダイレクトする。窓口サーバ432は、要求を受信し、ドメイン430内のユーザに関するログオフを呼び出そうと試み、その結果は、成功、失敗、またはエラーになる。窓口サーバ432は、ユーザのブラウザによるHTTPリダイレクトを介して窓口サーバ412に状況メッセージを返す。
ユーザのホーム・ドメインにおける窓口サーバ412は、ユーザのブラウザに返されるログオフ状況メッセージを構築する。ドメイン420とドメイン430の両方が成功状況標識(successful status indicator)を返す場合、窓口サーバ412は、ドメイン410内のユーザに関するログオフを実行し、図20に示したメッセージを返す。連携ドメインのうちの1つまたは複数が成功状況標識を返さない場合、一実施形態では、窓口サーバ412は、ドメイン410のユーザに関するログオフを実行しない。その代わりに、窓口サーバ412は、図21に示したメッセージを返す。
次に図20〜21を参照すると、フェデレーション内の統合ログオフ操作からの状況メッセージを含むグラフィカル・ユーザ・インターフェース(GUI:graphical user interface)ウィンドウが示されている。図20を参照すると、ウィンドウ800は、成功した統合ログオフ操作の結果を示している。この例では、成功した統合ログオフ操作に参加していたすべてのドメインの名前802が示されている。
図21を参照すると、ウィンドウ810は、各連携ドメインに関する統合ログオフ操作の状況を示している。名前812は、ユーザが正常にログアウトされたドメインを示している。名前814は、ユーザがアクティブ・セッションを持っていなかったドメインを示しており、たとえば、ホーム・ドメインはあるドメインのユーザに関する連携シングル・サインオン操作を実行した可能性があるが、ユーザがその後、そのドメインから直接ログアウトしたかまたは非アクティブのためにログアウトされており、それにより、ホーム・ドメインを離れているが、ユーザが依然としてそのドメインでアクティブ・セッションを持っていると考えられるという間違った表示が行われる。名前816は、ログアウト操作中にエラーが発生したドメインを示している。
統合ログオフ操作の状況を検討した後、統合ログオフ操作の終了に関して何が行われるかをユーザが選択できるように、いくつかのオプションがユーザに提供される。この例では、ユーザは、ユーザがホーム・ドメインからログオフを続行したいことを示すオプション818を選択することができる。また、ユーザは、統合ログオフ操作中にエラーが発生したドメインに移行するためにオプション820を選択することもできる。
もう一度、図15を参照すると、ユーザが図17に示したプロセスにより統合ログオフ操作を実行する方法を説明するために連携環境の一例が使用されている。ユーザ400は、窓口サーバ412に(または、トラスト・プロキシ414が、ユーザがユーザの状態情報を伝えるかまたは維持するコンポーネントである場合、そのトラスト・プロキシに直接)ログオフ要求を送信する。窓口サーバ412は、ログオフ要求を構築し、そのユーザに関するセキュリティ・トークンをトラスト・プロキシ414から要求し、そのトラスト・プロキシは、それがこのセッションでこのユーザに関する連携シングル・サインオン・トークンを構築したすべてのドメインに関するある種の記録を維持する。トラスト・プロキシ414は、これらのドメインのそれぞれでユーザに関するログオフ要求を構築し、ドメイン420内のトラスト・プロキシ424およびドメイン430内のトラスト・プロキシ434にこの要求を転送する。受信側のトラスト・プロキシ、たとえば、トラスト・プロキシ424は、ログオフ要求を受信し、ユーザ・トークンを検証し、ローカル・ユーザ・トークンを構築し、そのユーザに関する窓口サーバ422でログオフ要求を開始する(または、どのコンポーネントがセッション管理を実行するかに応じて、トラスト・プロキシ424でユーザのセッションを終了する)。
もう一度、図15を参照すると、ユーザが図18〜19に示したプロセスにより統合ログオフ操作を実行する方法を説明するために連携環境の一例が使用されている。このシナリオでは、窓口サーバ422(またはトラスト・プロキシ424)がドメイン410からユーザ400に関するログオン要求を受信すると、トラスト・プロキシ424は「ログオフ・イベントへの加入」/「ユーザ400に関するログオフ・イベントへの加入」を開始する。ユーザがドメイン410でログオフ・イベントを開始すると、窓口サーバ412はトラスト・プロキシ414に送信するためのログオフ通知を構築し、そのトラスト・プロキシは、このセッション中にそのユーザに関してそれが発行したすべてのトークンを決定し、発行済みトークンのそれぞれに関するログオフ通知とともにSOAP発行メッセージを構築する。
たとえば、連携シングル・サインオン操作中に窓口サーバ422で受信されたトークンは「トークンA」と呼ぶことができ、他の連携シングル・サインオン操作中に窓口サーバ432で受信されたトークンは「トークンB」と呼ぶことができる。トラスト・プロキシ414は、ログオフ・イベントおよび「トークンA」を有するSOAP発行メッセージと、ログオフ・イベントおよび「トークンB」を有するSOAP発行メッセージを構築する。トラスト・プロキシ424は、「トークンA」に関連するSOAPログオフ・メッセージに加入したことになり、したがって、第1のメッセージを受信する。トラスト・プロキシ434は、「トークンB」に関連するSOAPログオフ・メッセージに加入したことになり、したがって、第2のメッセージを受信する。
トラスト・プロキシ424がログオフ・メッセージを受信すると、それは、受信したトークンに基づいてそのユーザに関するローカル・セキュリティ・トークンを作成する。次にトラスト・プロキシ424は、ユーザに代わって窓口サーバ422からログオフを要求する(または、セッションがトラスト・プロキシで維持されている場合、そのユーザに関してローカルで維持されているセッションからログオフしようと試みる)。
上記で提供されている本発明の詳細な説明を考慮すると、本発明の利点は明らかであるはずである。従来技術のソリューションは、ドメイン・セキュリティ・サービスを階層として編成し、それにより、ドメインは堅い信頼関係と本質的に互換性のある技術を有する必要がある。その他の手法は、認証アサーションに均一フォーマットを賦課するかまたは認証アサーションの転送を可能にせず、ときには、それからローカル・アサーションが構築される認証済みIDを転送する。
本発明の利点の中で、トラスト・プロキシは、所与のドメイン内の既存のセキュリティ・サービスが、同じトラスト・ルートに加入するかまたは同じ信頼確立技術を使用する必要なしに、他のドメインとの信頼関係を確立できるようにするものである。このため、本発明の連携アーキテクチャは、エンティティの疎結合を提供する。ホーム・ドメインは認証を管理し、各ドメインはそれ自体の登録済みユーザのみの認証を管理する。各ドメインは、ユーザIDおよび属性に関する任意の他のドメインのステートメントを自由に受諾、拒否、または変更することができる。依存側ドメインは、IDおよび属性に関する発行側ドメイン(最終的に、ホーム・ドメイン)のアサーションを当てにするが、各ドメインは任意の認証プロトコルを実現することができ、そのドメインがフェデレーションに参加するために前にサポートされていないプロトコルを実現するよう所与のドメイン内のアプリケーションを変更する必要はない。フェデレーションは特定のトラスト・モデルを必要とせず、1組のエンティティは、参加エンティティがすでに確立している可能性のあるトラスト・モデルに適合するフェデレーションを形成することができる。アサーション変換は、トラスト・プロキシあるいはトラスト・ブローカまたはその両方でのみ行われ、フェデレーションのアーキテクチャは、既存のレガシー・システムに対する最小限の影響で実現可能なフロントエンド・インフラストラクチャとして動作する。
フェデレーションにより、ユーザは、シングル・サインオン方式で所与のフェデレーション内の種々のサイトをシームレスにトラバースすることができる。フェデレーション参加者間で信頼関係が確立されているので、ある参加者はあるユーザを認証し、その後、そのユーザのための発行側パーティとして動作することができる。他のフェデレーションのパートナは依存側パーティになり、それにより、そのパートナは、ユーザの直接的関与なしに発行側パーティによってユーザに関して提供される情報を当てにする。ユーザがあるドメインからログオフすることを所望し、そのドメインがそのユーザのための発行側ドメインとして動作していた場合、そのユーザに関するアクティブ・連携シングル・サインオン・セッションを持っているすべてのドメインにログオフ操作が通知され、このようなすべてのドメインが依存側ドメイン内のユーザのセッションを終了できるように、発行側ドメインは任意の依存側ドメインで統合ログオフ操作を開始する。
完全に機能するデータ処理システムに関連して本発明を説明してきたが、当業者であれば、配布を実行するために実際に使用される特定のタイプの信号運搬メディアにかかわらず、本発明のプロセスがコンピュータ可読メディア内の命令の形および様々なその他の形で配布可能であることが分かることは、留意すべき重要なことである。コンピュータ可読メディアの例としては、EPROM、ROM、テープ、紙、フレキシブル・ディスク、ハードディスク・ドライブ、RAM、およびCD−ROMなどのメディア、ならびにデジタルおよびアナログ通信リンクなどの伝送タイプのメディアを含む。
1つの方法は一般に、所望の結果に至る首尾一貫したステップのシーケンスであると考えられている。これらのステップは、物理量の物理的操作を必要とする。必ずではないが、通常、これらの量は、保管、転送、結合、比較、およびその他の操作が可能な電気信号または磁気信号の形を取る。時には、主に一般的使用の理由で、これらの信号をビット、値、パラメータ、項目、エレメント、オブジェクト、記号、文字、項、数などと呼ぶと便利である。しかし、これらの用語および同様の用語はいずれも適切な物理量に関連付けられるものであり、単にこれらの量に適用された便利なラベルにすぎないことに留意されたい。
本発明の説明は、例示のために提示されたものであり、網羅的なものまたは開示された実施形態に限定されるものではない。当業者には、多くの変更および変形が明らかになるであろう。実施形態は、本発明の原理およびその実際的な適用例を説明し、他の企図された使用法に適している可能性がある様々な変更を含む様々な実施形態を実現するために他の当業者が本発明を理解できるようにするために選択されたものである。
そのそれぞれが本発明を実現可能な複数データ処理システムの典型的なネットワークを示す図である。 本発明を実現可能なデータ処理システム内で使用できる典型的なコンピュータ・アーキテクチャを示す図である。 クライアントがサーバ側の保護リソースにアクセスしようと試みるときに使用できる典型的な認証プロセスを示すデータ・フロー・ダイアグラムである。 本発明を実現可能な典型的なWebベース環境を示すネットワーク・ダイアグラムを示す図である。 ユーザからの複数の認証操作を必要とする可能性のある典型的なオンライン・トランザクションの一例を示すブロック図である。 第1の連携企業に対してユーザによって開始され、それに応答して、連携環境内のダウンストリーム・エンティティでアクションを呼び出すトランザクションに関する連携環境の用語を示すブロック図である。 本発明の一実施形態により本発明の連携アーキテクチャ・コンポーネントのいくつかと所与のドメインにある既存のシステムとの統合を示すブロック図である。 本発明の一実現例による連携アーキテクチャを示すブロック図である。 本発明によりトラスト・プロキシとトラスト・ブローカとを使用する連携ドメイン間の例示的な1組の信頼関係を示すブロック図である。 連携環境内でアサーションを作成するための発行側ドメインにおける汎用プロセスを示すフローチャートである。 アサーションを取り壊すための依存側ドメインにおける汎用プロセスを示すフローチャートである。 発行側ドメインにおけるユーザ・アクションに応答して発行側ドメインから依存側ドメインにアサーションをプッシュするための特定のプロセスを示すフローチャートである。 依存側ドメインに対する発信要求を積極的にインターセプトする発行側ドメインに応答して発行側ドメインから依存側ドメインにアサーションをプッシュするための特定のプロセスを示すフローチャートである。 要求側ユーザから依存側ドメインによって受信されたリソース要求を満足しようと試みながら、依存側ドメインが発行側ドメインからユーザに関して必要なアサーションを要求するプル・モデルを示すフローチャートである。 連携シングル・サインオン操作をサポートする連携環境を示すブロック図である。 HTTPリダイレクトを介して連携ドメイン間で統合ログオフ操作を実行するためのプロセスを示すフローチャートである。 SOAPバックチャネル方法を使用して連携ドメイン間で統合ログオフ操作を実行するためのプロセスを示すフローチャートである。 パブリッシュ・サブスクライブ・モデルを使用するSOAP手法により連携ドメイン間で統合ログオフ操作を実行するためのプロセスを示すフローチャートである。 パブリッシュ・サブスクライブ・モデルを使用するSOAP手法により連携ドメイン間で統合ログオフ操作を実行するためのプロセスを示すフローチャートである。 フェデレーション内の統合ログオフ操作からの状況メッセージを含むグラフィカル・ユーザ・インターフェース(GUI)ウィンドウを描写する図である。 フェデレーション内の統合ログオフ操作からの状況メッセージを含むグラフィカル・ユーザ・インターフェース(GUI)ウィンドウを描写する図である。

Claims (13)

  1. 複数のドメインを含む分散データ処理システム内でユーザ・セッションを管理するための方法であって、
    第1のドメイン内のシステムが、当該システム上でユーザをログオフすることを決定したことに応答して、認証アサーションを発行することにより、前記第1のドメインが前記ユーザについてのログオン操作を開始したドメインのリストを入手するステップと、
    前記第1のドメイン内のシステム前記リスト内の各々のドメインにつき、前記ユーザについてのログオフ要求メッセージを生成するステップであって、ログオフ要求メッセージは前記ユーザについての認証アサーションを有する、ステップと、
    前記第1のドメイン内のシステムが、前記リスト内の各々のドメインにログオフ要求メッセージを送信するステップと、を有する方法。
  2. 前記第1のドメイン内のシステム、ログオフ操作を開始するために前記ユーザによって操作されるクライアントから要求を受信するステップと、
    前記第1のドメイン内のシステムが、前記ユーザからの前記要求に基づいて前記ユーザをログオフすることを決定するステップと、をさらに有する、請求項1に記載の方法。
  3. 前記第1のドメイン内のシステム、前記ユーザに関するログオフ操作を開始するために第2のドメイン内のシステムからログオフ要求メッセージを受信するステップと、
    前記第1のドメイン内のシステムが、前記第2のドメイン内のシステムからの前記要求に基づいて前記ユーザをログオフすることを決定するステップと、をさらに有する、請求項1に記載の方法。
  4. ログオフ要求メッセージがSOAP(シンプル・オブジェクト・アクセス・プロトコル)発行メッセージである、請求項に記載の方法。
  5. 前記第1のドメイン内のシステムがログオフ・イベントに加入している、請求項に記載の方法。
  6. 前記第1のドメイン内のシステムが、前記ユーザ向けのログオフ・イベントに加入している、請求項に記載の方法。
  7. ログオフ要求メッセージが、連携ドメイン内の窓口サーバによって生成される、請求項1に記載の方法。
  8. ログオフ要求メッセージが、連携ドメイン内のトラスト・プロキシ・サーバによって生成される、請求項1に記載の方法。
  9. 前記第1のドメイン内の窓口サーバログオフ要求メッセージから認証アサーションを抽出するステップと、
    前記第1のドメイン内の窓口サーバが前記第1のドメイン内のトラスト・プロキシに、前記抽出した認証アサーションを転送するステップと、をさらに有する、請求項1に記載の方法。
  10. 前記トラスト・プロキシが、前記抽出した認証アサーションの妥当性を検査したことに応答して、前記第1のドメイン内で有効なローカル・セキュリティ・トークンを前記窓口サーバに返すステップをさらに有する、請求項に記載の方法。
  11. 前記トラスト・プロキシが、前記抽出した認証アサーションの妥当性を検査することができないという決定に応答して、前記抽出した認証アサーションの妥当性を検査するようトラスト・ブローカに要求するステップをさらに有する、請求項10に記載の方法。
  12. 複数のドメインを含む分散データ処理システムにおいて、第1のドメインでユーザ・セッションを管理するためのデータ処理システムであって、
    第1のドメイン内のシステム上でユーザをログオフすることを決定したことに応答して、認証アサーションを発行することにより、前記第1のドメインが前記ユーザについてのログオン操作を開始したドメインのリストを入手するための手段と、
    前記第1のドメイン内のシステムで、前記リスト内の各々のドメインにつき、前記ユーザについてのログオフ要求メッセージを生成するための手段であって、ログオフ要求メッセージは前記ユーザについての認証アサーションを有する、手段と、
    前記リスト内の各々のドメインにログオフ要求メッセージを送信するための手段と、を有する、データ処理システム。
  13. 複数のドメインを含む分散データ処理システムにおいて、第1のドメイン内のデータ処理システム内でユーザ・セッションを管理するためのコンピュータ可読メディア内のコンピュータ・プログラムであって、前記データ処理システムを、
    第1のドメイン内のシステム上でユーザをログオフすることを決定したことに応答して、認証アサーションを発行することにより、前記第1のドメインが前記ユーザについてのログオン操作を開始したドメインのリストを入手するための手段と、
    前記第1のドメイン内のシステムで、前記リスト内の各々のドメインにつき、前記ユーザについてのログオフ要求メッセージを生成するための手段であって、ログオフ要求メッセージは前記ユーザについての認証アサーションを有する、手段と、
    前記リスト内の各々のドメインにログオフ要求メッセージを送信するための手段、として機能させるためのコンピュータ・プログラム。
JP2004563201A 2002-12-31 2003-11-27 ユーザ・セッションを管理するための方法、データ処理システム、およびコンピュータ・プログラム(異機種連携環境における統合サインオフのための方法およびシステム) Expired - Lifetime JP4370258B2 (ja)

Applications Claiming Priority (2)

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

Publications (3)

Publication Number Publication Date
JP2006512648A JP2006512648A (ja) 2006-04-13
JP2006512648A5 JP2006512648A5 (ja) 2006-11-30
JP4370258B2 true JP4370258B2 (ja) 2009-11-25

Family

ID=32655024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004563201A Expired - Lifetime JP4370258B2 (ja) 2002-12-31 2003-11-27 ユーザ・セッションを管理するための方法、データ処理システム、およびコンピュータ・プログラム(異機種連携環境における統合サインオフのための方法およびシステム)

Country Status (9)

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

Families Citing this family (140)

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

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56110163A (en) * 1980-02-06 1981-09-01 Hitachi Ltd Logout system
IT1177378B (it) * 1984-12-11 1987-08-26 Anic Spa Vettore plasmidico psm112 ad espressione in bacillus subtilis
US5586260A (en) 1993-02-12 1996-12-17 Digital Equipment Corporation Method and apparatus for authenticating a client to a server in computer systems which support different security mechanisms
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
US5708780A (en) 1995-06-07 1998-01-13 Open Market, Inc. Internet server access control and monitoring systems
US5684950A (en) * 1996-09-23 1997-11-04 Lockheed Martin Corporation Method and system for authenticating users to multiple computer servers via a single sign-on
US5884312A (en) * 1997-02-28 1999-03-16 Electronic Data Systems Corporation System and method for securely accessing information from disparate data sources through a network
US6178505B1 (en) * 1997-03-10 2001-01-23 Internet Dynamics, Inc. Secure delivery of information in a network
US5968126A (en) * 1997-04-02 1999-10-19 Switchsoft Systems, Inc. User-based binding of network stations to broadcast domains
US6070244A (en) * 1997-11-10 2000-05-30 The Chase Manhattan Bank Computer network security management system
WO1999044132A1 (en) * 1998-02-26 1999-09-02 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
DE60031755T2 (de) * 1999-09-24 2007-09-06 Citicorp Development Center, Inc., Los Angeles Verfahren und Vorrichtung für authentifizierten Zugang zu einer Mehrzahl von Netzbetreibern durch eine einzige Anmeldung
KR20010105705A (ko) * 2000-05-17 2001-11-29 정문술 다중 인터넷 서비스에 대한 통합 사용자 관리환경 제공방법 및 이를 위한 시스템
US7103666B2 (en) * 2001-01-12 2006-09-05 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application operation and interoperability
GB2396037B (en) * 2001-05-29 2005-08-24 Xenobit Corp Method and system for logging into and providing access to a computer system via a communications network
US20030158945A1 (en) * 2002-02-19 2003-08-21 Taiwan Semiconductor Manufacturing Co., Ltd. Single sign on computer system and method of use

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4370258B2 (ja) ユーザ・セッションを管理するための方法、データ処理システム、およびコンピュータ・プログラム(異機種連携環境における統合サインオフのための方法およびシステム)
JP4726492B2 (ja) 異機種フェデレーテッド環境におけるネイティブ認証プロトコルのための方法およびシステム
US8554930B2 (en) Method and system for proof-of-possession operations associated with authentication assertions in a heterogeneous federated environment
US8561161B2 (en) Method and system for authentication in a heterogeneous federated environment
US8607322B2 (en) Method and system for federated provisioning
JP4988701B2 (ja) ランタイム・ユーザ・アカウント作成オペレーションのための方法、装置、およびコンピュータ・プログラム
US7698375B2 (en) Method and system for pluggability of federation protocol runtimes for federated user lifecycle management
US8181225B2 (en) Specializing support for a federation relationship
JP4832822B2 (ja) データ処理システム、方法およびコンピュータ・プログラム(連合ユーザ・ライフサイクル管理用の信頼インフラストラクチャ・サポートを可能にする方法およびシステム)
US20040128541A1 (en) Local architecture for federated heterogeneous system
US20060218628A1 (en) Method and system for enhanced federated single logout
US20060048216A1 (en) Method and system for enabling federated user lifecycle management
US20060021017A1 (en) Method and system for establishing federation relationships through imported configuration files
KR100992016B1 (ko) 데이터 프로세싱 시스템 내에 연합 기능성을 제공하는 방법및 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061012

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090724

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090831

R150 Certificate of patent or registration of utility model

Ref document number: 4370258

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term