JP5357246B2 - 統合認証のためのシステム、方法およびプログラム製品 - Google Patents

統合認証のためのシステム、方法およびプログラム製品 Download PDF

Info

Publication number
JP5357246B2
JP5357246B2 JP2011507862A JP2011507862A JP5357246B2 JP 5357246 B2 JP5357246 B2 JP 5357246B2 JP 2011507862 A JP2011507862 A JP 2011507862A JP 2011507862 A JP2011507862 A JP 2011507862A JP 5357246 B2 JP5357246 B2 JP 5357246B2
Authority
JP
Japan
Prior art keywords
computer
application
user
session
response
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.)
Active
Application number
JP2011507862A
Other languages
English (en)
Other versions
JP2011522307A (ja
Inventor
ドレア、ヤセール
カラマラス、クリストファー
マルソラティ、マウロ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011522307A publication Critical patent/JP2011522307A/ja
Application granted granted Critical
Publication of JP5357246B2 publication Critical patent/JP5357246B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1012Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to domains
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

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

Description

本発明は、全般的に、コンピュータ・プログラムに対するユーザ認証に関し、特に、1つ以上のアプリケーション・サーバにある1つ以上のアプリケーションに対する、クライアント・コンピュータのユーザの統合認証(consolidated authentication)に関する。
機密性の高いアプリケーション、または機密性の高いデータを管理するアプリケーションが、アプリケーションまたはそのデータに対するユーザ・アクセスを承諾する前にユーザ認証を要求することは一般的である。認証は、権限のないユーザまたは未知のユーザが、アプリケーションの恩恵を受けること、アプリケーションを攻撃すること、またはアプリケーションにより管理されているデータに攻撃をすること、もしくはそれを利用することを防ぐ。認証は通常、ユーザ識別子(userID:user identifier)に対する有効なパスワードを要求する。
ユーザ認証を行うウェブ・アプリケーションに関して、「セッション・クッキー」を生成し、セッション・クッキーを記録し、セッション・クッキーを、それが記憶されるユーザのコンピュータのウェブ・ブラウザへ送信することは周知のことであった。セッション・クッキーは、セッションおよびそのセッションが有効であるアプリケーションの識別子を含む。ウェブ・ブラウザは、セッション・クッキーを、後続のリクエストとともにウェブ・アプリケーションへ送信して、同セッションにおいてユーザが既にウェブ・アプリケーションに対し認証済みであることをウェブ・アプリケーションに通知する。セッション・クッキーが、そのセッションを確立した同じアプリケーションに対するリクエストとともに送信されれば、アプリケーションは、そのセッションを認識し、そのユーザの認証情報を再びリクエストすることはない。ウェブ・ブラウザはさらに、このセッション・クッキーを、別のウェブ・アプリケーションに対する後からのリクエストとともに送信することもできる。しかし、この別のウェブ・アプリケーションは、そのセッションのいかなるレコードも有しないため、この別のウェブ・アプリケーションと最新のセッションを確立するようユーザの認証情報をリクエストする。ウェブ・ブラウザが、リクエストとともにいかなるセッション・クッキーも含めていなければ、その結果、この別のウェブ・アプリケーションは、この別のウェブ・アプリケーションと最新のセッションを確立するようユーザの認証情報をリクエストする。セッション・クッキーは、セッションの終わりに有効期限が切れ、そのセッションおよびセッション・クッキーを確立したアプリケーションは、セッションの識別子を削除または無効化する。
一部の企業は、複数の内部および外部ウェブサイトを有し、複数のウェブ・サーバが種々のアプリケーションを実行している。セッションの始まりに、ユーザがアクセスしたい企業内の各アプリケーションに対して別々に自分のuserIDおよびパスワードを与えるようユーザに要求することは周知のことであった。そのようなシナリオでは、各アプリケーションは、userIDと、パスワードとの有効な組み合わせのリストを保持すること、または中央ディレクトリの当該リストにアクセスして、有効な組み合わせのリストと、リクエスタによって提示された組み合わせとを比較することができる。このシナリオでは、ユーザは、すべてのアプリケーションにアクセスするためにユーザ認証を行う必要はない。
既知のシングル・サインオン(single sign−on)技術は、IBM(R)Tivoli(R)Access ManagerプロキシまたはCA eTrust(R)SiteMinder(R)プロキシなどのプロキシ・サーバを使用する。(IBMおよびTivoliは、米国、その他の国々、または両方におけるInternational Business Machines Corporationの商標である。)プロキシ・サーバは、ユーザ・コンピュータと、同じ企業の1つ以上のウェブ・サーバに常駐する関連アプリケーションすべてとの間に置かれる。プロキシ・サーバによるリクエストがあると、各ユーザは、プロキシ・サーバとのセッションごとに1度、認証情報をプロキシ・サーバに提供する。同じ認証情報、つまりuserIDおよびパスワードが、プロキシ・サーバとの同一ユーザ・セッションの間、すべての関連アプリケーションのユーザ・リクエストすべてに有効となる。その結果、プロキシ・サーバが、関連アプリケーションに対する認証を管理する。ユーザは、関連アプリケーションにアクセスしてそれを使用するためのリクエストをすべて、プロキシ・サーバを介して行う。したがって、ユーザが、プロキシ・サーバとの同一セッションの間に、関連アプリケーションのいずれかに対するアクセスをリクエストすると、プロキシ・サーバはユーザの認証情報(userIDおよびパスワード)を当該アプリケーションに与える。プロキシ・サーバはさらに、プロキシ・サーバとの同一セッションの間、ユーザによる、アプリケーションに対する後続のリクエストをすべて中継する。前述のシングル・サインオン技術は、ユーザの認証負担を軽減するが、すべてのユーザのワークステーションと、すべてのアプリケーション・サーバとの間にプロキシ・サーバが置かれることを要求する。プロキシ・サーバは、大量のユーザ・リクエストおよびアプリケーション・レスポンスを処理しなければならない。プロキシ・サーバは、「トランスペアレント」であることもあり(「リバース」プロキシ・サーバと呼ばれることもある)、その場合、ユーザおよびクライアント・コンピュータはプロキシ・サーバを認識する必要がない。トランスペアレント・プロキシ・サーバの場合、クライアント・コンピュータは、リクエストをウェブ・アプリケーション・サーバにアドレス指定する。しかし、ドメイン名サーバが、ユーザ・リクエストがウェブ・アプリケーション・サーバではなくプロキシ・サーバへ直接行くように、そのユーザ・リクエストに関してプロキシ・サーバのアドレスを代用する。プロキシ・サーバが「可視」であれば(「フォワード」プロキシ・サーバと呼ばれることもある)、クライアント・コンピュータは、プロキシ・サーバを「認識」しており、ウェブ・アプリケーション・リクエストを、ウェブ・アプリケーション・サーバではなくプロキシ・サーバへ直接アドレス指定するよう再設定される。
IBM Tivoli Federated Identity Managerソフトウェアは、異なる複数ドメインが、1つまたは多数のアイデンティティ・プロバイダからのアイデンティティ情報を共有できるようにする。そのようなアイデンティティ連合戦略(identity federation strategies)は、IBM Tivoli Access Managerなどの既存のシングル・サインオン・ドメインに、サービスとアイデンティティ・プロバイダとの間の信頼確立を統合すること、ならびに追加のハードウェアおよびソフトウェア・コンポーネントが既存のアプリケーション・ホスティング環境に統合されることを要求する。このシナリオでは、クライアント・リクエストのフローは、プロキシがクライアントのアイデンティティを認証して、リクエスト内のコンテンツに対するアクセスを許可する方法を除けば、上述のIBM Tivoli Access Managerソリューションと同じであると考えられる。上記のシナリオでは、プロキシがユーザを認証して特定のリクエストに関しリソースに対する許可を得るが、これはすべてローカルIBM Tivoli Access Managerドメインのスコープ(scope)内である。IBM Federated Identity Managerアーキテクチャでは、アプリケーションが存在するIBM Tivoli Access Managerドメインのプロキシ・コンポーネントが、その同じドメイン内かまたは別のIBM Tivoli Access Managerドメイン内のいずれかにある集中アイデンティティ・プロバイダ(centralized identity provider)と通信することになる。これによって、異なる複数のIBM Tivoli Access Managerドメインが、すべて集中アイデンティティ・プロバイダに対し認証を行う一方で、アプリケーション・サービス・プロバイダとして機能を果たせるようになる。
ミラー(Miller)らの米国特許出願公開第2003/0105981号は、関連アプリケーション間でのセッション情報の共有を開示している。この技術によれば、ユーザが最初に1つのアプリケーションに対してユーザ認証を行うと、その1つの(認証する)アプリケーションは、ユーザが関連アプリケーションに対するアクセスを試行する前に、認証情報およびセッション情報を関連アプリケーション(同じまたは別のウェブ・サーバにある)に送信する。この1つの(認証する)アプリケーションは、さらに、ユーザのウェブ・ブラウザにセッション・クッキーを送信する。セッション・クッキーは、このセッションを確認できる、セッション識別子と、アプリケーションの識別とを含む。ユーザが他の関連アプリケーションのうちの1つに対するアクセスを試行すると、ウェブ・ブラウザは、このセッション・クッキーを提供し、該他の関連アプリケーションは、セッション・クッキーを、該1つの(認証する)アプリケーションを用いて検証する。そのセッションが有効であれば、その結果、該他の関連アプリケーションは、それ自体に対するユーザ・アクセスを、ユーザからの認証情報をリクエストすることなく承諾する。セッション情報の共有は、シングル・サインオンには効果的であるが、該1つの認証するアプリケーションは、ユーザが1度もアクセスしないかもしれない関連アプリケーションに認証情報を送信する。
米国特許出願公開第2003/0105981号
本発明の好適な実施形態は、関連アプリケーションに対する効果的なシングル・サインオン技術を提供する。
本発明の好適な実施形態は、既存のアプリケーションにいかなる変更を加えることもなく当該アプリケーションに適用可能な、効果的なシングル・サインオン技術を提供する。
本発明の好適な実施形態は、前述のタイプのプロキシ・サーバを必要とすることなく、関連アプリケーションに対する効果的なシングル・サインオン技術を提供する。
本発明は、第1のコンピュータのユーザの認証を、第2のコンピュータにあるアプリケーションに対して行うコンピュータ・システム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラムに属する。第1のコンピュータは、アプリケーションにアクセスするために、第2のコンピュータへリクエストを送信する。それに応答して、第2のコンピュータは、ユーザがアプリケーションに対してまだ認証されていないと判断する。それに応答して、第2のコンピュータは、リクエストを第3のコンピュータへリダイレクトする。それに応答して、第3のコンピュータは、ユーザが第3のコンピュータに対して認証されていると判断する。それに応答して、第3のコンピュータは、アプリケーションに対してユーザ認証を行う。それに応答して、第2のコンピュータは、アプリケーションと、ユーザとの間のセッションのセッション・キーを第3のコンピュータに返送する。セッションは、第2のコンピュータまたはアプリケーションのスコープを有するが、ドメインのスコープは有しない。第2のアプリケーションに対してユーザが認証されること、およびユーザと、第2のコンピュータまたはアプリケーションとの間のセッションのセッション・キーが、第3のコンピュータによって第2のコンピュータから受信されることに応答して、第3のコンピュータは、ドメインのスコープを備える別のセッション・キーを生成し、ドメイン・スコープ・セッション・キー(domain scope session key)を第1のコンピュータへ送信する。第1のコンピュータは、このドメイン・スコープ・セッション・キーとともに、別のリクエストをアプリケーションに送信する。それに応答して、アプリケーションは、ユーザと、アプリケーションとの間の有効なセッションを、ドメイン・スコープ・セッション・キーに基づき認識し、該別のリクエストに応じて第1のコンピュータに応答する。ドメインは、同じエンティティによって所有されているか、もしくは動作させられているか、または同じドメイン名ユニフォーム・リソース・ロケータ(URL:Uniform Resource Locator)コンポーネントを有する、第2のコンピュータ内のアプリケーションを含む複数アプリケーションのグループであるか、または第2のコンピュータを含む複数コンピュータのグループである。
以下、本発明の実施形態について、単なる例として添付の図面を参照して記載する。
本発明の好適な実施形態による、ユーザのコンピュータ内にシングル・サインオン・プログラムを含む分散コンピュータ・システムのブロック図である。 図1のシングル・サインオン・プログラムのフローチャートを構成する。 図1のシングル・サインオン・プログラムのフローチャートを構成する。
以下、各図面を参照して本発明について詳しく記載する。図1は、図2および3と併せて読まれるべきであり、本発明の好適な実施形態による分散コンピュータ・システムを図示している。分散コンピュータ・システムは、シングル・サインオン・サーバ30と、複数のウェブ・アプリケーション・サーバ40、60および80とを含み、これはすべてクライアント・コンピュータ20にインターネットなどのネットワーク90を介して相互接続されている。典型的なシナリオでは、クライアント・コンピュータ20のユーザ15が、ウェブ・アプリケーション・サーバ40、60および80上にそれぞれあるアプリケーション49、69および89(ウェブ・アプリケーションなど)に対するアクセスを試行し、当該アプリケーションは、アクセスの前にユーザ認証を要求する。
クライアント・コンピュータ20は、共通バス25上の周知の中央処理ユニット(CPU:Central Processing Unit)21、オペレーティング・システム22、ランダム・アクセス・メモリ(RAM:Random Access Memory)23、および読み取り専用メモリ(ROM:Read Only Memory)24と、記憶装置26と、伝送制御プロトコル/インターネット・プロトコル(TCP/IP:Transmission Control Protocol/)アダプタ・カード27と、モニタ28とを含む。クライアント・コンピュータ20は、周知のウェブ・ブラウザ29も含む。
ウェブ・サーバ40は、共通バス45上の周知のCPU41、オペレーティング・システム42、RAM43およびROM44と、記憶装置46と、TCP/IPアダプタ・カード47とを含む。
ウェブ・サーバ60は、共通バス65上の周知のCPU61、オペレーティング・システム62、RAM63およびROM64と、記憶装置66と、TCP/IPアダプタ・カード67とを含む。
ウェブ・サーバ80は、共通バス85上の周知のCPU81、オペレーティング・システム82、RAM83およびROM84と、記憶装置86と、TCP/IPアダプタ・カード87とを含む。
シングル・サインオン・サーバ30は、共通バス35上の周知のCPU31、オペレーティング・システム32、RAM33、およびROM34と、記憶装置36と、TCP/IPアダプタ・カード37とを含む。シングル・サインオン・サーバ30は、本発明の好適な実施形態によるシングル・サインオン(ログイン)プログラム38も含む。(あるいは、シングル・サインオン・サーバ・プログラム38は、別個のサーバ30ではなく、ウェブ・アプリケーション・サーバ40、60または80のうちの1つにインストールすることができる。)ユーザ15は、ウェブ・アプリケーション49、69または89のいずれかに対してシングル・サインオン・アクセスを得る前に、シングル・サインオン・サーバ・プログラム38に登録し、すなわち、userIDとパスワードとの有効な組み合わせを提供する(ステップ200)。これは、ユーザが任意のウェブ・アプリケーションに対するアクセスを試行する前に生じるか、または、下記で説明する通り初めてウェブ・アプリケーションにアクセスするプロセスの一部として生じるとよい。この登録に応答して、シングル・サインオン・プログラム38は、ユーザ15とシングル・サインオン・プログラム38との間のセッションを表すセッション識別子(ID:identifier)およびセッション・クッキーを生成する(ドメイン・スコープなし)(ステップ204)。シングル・サインオン・プログラム38は、さらに、ウェブ・ブラウザ29においてシングル・サインオン・プログラム38とのセッション用に設定されるべき、対応するセッション・クッキー(ドメイン・スコープなし)を、ウェブ・ブラウザ29へ送信する(ステップ208)。以下にさらに詳しく説明するように、このセッション・クッキーは、ユーザ15がウェブ・アプリケーション49、69または89のうちのいずれかに対するアクセスを試行するときに、シングル・サインオン認証プロセスに関与することになる。
1つの動作モード中、ユーザ15は、ウェブ・ブラウザ29を呼び出し、ウェブ・アプリケーション・サーバ40上のアプリケーション49にアクセスするリクエストなど、ウェブ・アプリケーション・サーバ上の指名されるアプリケーションに対するアクセスのリクエストを行う(ステップ212)。ウェブ・ブラウザ29は、リクエストをウェブ・アプリケーション・サーバ40内のウェブ・アプリケーション49へ、ネットワーク90を介して周知の方法で転送する。例えば、クライアント・コンピュータ20のウェブ・ブラウザ29または図示されていないゲートウェイ・サーバが、図示されていないドメイン名サーバに、ウェブ・アプリケーションのURLに基づき、ウェブ・アプリケーション49のIPアドレスに関して問い合わせを行い、続いて、URLを備えたリクエストをウェブ・アプリケーション49のIPアドレスへ送信する。ウェブ・ブラウザ29が、このユーザに関しアクティブなセッション・クッキーを有すれば(リクエスト対象のアプリケーション49またはその他任意のアプリケーションとのセッションに関して)、ウェブ・ブラウザ29は、ウェブ・アプリケーション・サーバ40へ送信されるアクセス・リクエストとともに、アプリケーション49に対してセッション・クッキーを含める。そのようなセッション・クッキーは、ユーザ15が参加者である現在アクティブなセッションの識別子、およびセッションの有効性のスコープを含む。例えば、セッションのスコープは、ユーザ15とのセッションをもともと確立してアプリケーション・セッション・クッキーを定義したウェブ・アプリケーションのURLである。セッション・クッキーが、ウェブ・アプリケーション49に対し有効であれば(判定ブロック216ではいの分岐)、ウェブ・アプリケーション49は、ユーザまたはウェブ・ブラウザ29のさらなる認証をリクエストすることなくリクエストに応じる(ステップ220)。しかし、ウェブ・ブラウザ29がユーザ・アクセス・リクエストとともに送信するアプリケーション・セッション・クッキーを有しないか、またはユーザ・アクセス・リクエストとともに提供されたアプリケーション・セッション・クッキーが、リクエスト対象のウェブ・アプリケーション49とのユーザのアクティブなセッションを特定しない場合(判定216でいいえの分岐)、リクエスト対象のウェブ・アプリケーション49は、セッション・クッキーを含むユーザ・アクセス・リクエストを、サーバ30上のシングル・サインオン・プログラム38へリダイレクトする(ステップ224)。アプリケーション49はさらに、「リダイレクト」メッセージをウェブ・ブラウザ29へ送信して、アプリケーション49へ送信されたユーザ・アクセス・リクエストが、シングル・サインオン・プログラム38(URLまたはプログラム38により特定される)へリダイレクトされたことをウェブ・ブラウザ29に通知し、その結果ウェブ・ブラウザ29は、まだ登録していなければシングル・サインオン・プログラム38で認証を行うことになり、または既に登録していれば、ウェブ・アプリケーション49とのセッションのセッション・クッキーをシングル・サインオン・プログラム38から受け取るべきである(ステップ224)。リダイレクト・メッセージに応答して、ウェブ・ブラウザ29は、サーバ30上のシングル・サインオン・プログラム38に対する認証リクエストを開始する(ステップ228)。ウェブ・ブラウザ29が、シングル・サインオン・プログラム38に関してユーザ15のセッション・クッキーを有すれば、ウェブ・ブラウザ29は、認証リクエストとともに、シングル・サインオン・プログラム38に関するセッション・クッキーを送信する。ウェブ・ブラウザ29からの認証リクエスト、およびアプリケーション49からのセッション・クッキーがあればそのセッション・クッキー、およびウェブ・ブラウザ29からのセッション・クッキーがあればそのセッション・クッキーに応答して、シングル・サインオン・プログラム38は、アプリケーション49またはウェブ・ブラウザ29から受信されたセッション・クッキーにおいて指定されているセッションに関して、シングル・サインオン・プログラム38が、ユーザ15の認証のレコードをデータベース39内に有するかどうかを判断する(ステップ232)。
シングル・サインオン・プログラム38が、ユーザ15の有効なuserIDおよびパスワードのレコードを(データベース39内に)有すれば(シングル・サインオン・プログラム38に対するユーザ15の以前の登録に基づく)(判定232ではいの分岐)、シングル・サインオン・プログラム38は、ユーザ15のuserIDおよびパスワード(またはその他の認証クレデンシャル(authentication credentials))をアプリケーション49へ転送することによって、アプリケーション49に対するユーザ15の認証を行う(ステップ236)。アプリケーション49が、userIDおよびパスワードが真にユーザ15のものであると判断すれば、アプリケーション49は、ユーザ15とのセッションのセッション・クッキーを生成して、セッション・クッキーをシングル・サインオン・プログラム38に返送する(ステップ240)。アプリケーション49によって提供されるこのセッション・クッキーは、アプリケーション49が存在するドメインのサフィックスとしてアプリケーション49を特定する。アプリケーション49はさらに、セッション・クッキー内に含まれているセッション識別と、セッションが確立されたuserID(ユーザ15の)とを記録する。リクエスト対象のアプリケーション49によって生成されるセッション・クッキーは、典型的には、ユーザ15とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション49を、ホスト名およびURLで指定する。
シングル・サインオン・プログラム38が、ユーザ15の認証のレコードを(データベース39内に)有しなければ(すなわち、ユーザ15が、シングル・サインオン・プログラム38に以前に登録されていない)(ステップ232でいいえの分岐)、シングル・サインオン・プログラム38は、ウェブ・ブラウザ29を介して、ユーザ15にユーザ15のuserIDに対応するパスワードについて問い合わせを行い、ユーザ15は、そのパスワードを登録プロセスにおいてシングル・サインオン・プログラム38に与える(ステップ234)。(ユーザに対して行われるユーザのパスワードについてのこの問い合わせは、シングル・サインオン・プログラム38によってウェブ・ブラウザ29へ送信されるハイパー・テキスト・マークアップ言語(HTML:HyperText Markup Language)情報によって定義することができる。)ユーザ15によってシングル・サインオン・プログラム38に与えられた登録情報(userIDおよびパスワードを含む)に応答して、シングル・サインオン・プログラム38は、アプリケーション49に対してユーザ15の認証を試行する(ステップ236)。認証が成功すれば、リクエスト対象のアプリケーション49は、アプリケーション49の有効なセッション・クッキーを生成する(ステップ240)。アプリケーション49はさらに、セッション・クッキーに含まれているセッション識別と、セッションが確立されたuserID(またはユーザ15)とを記録し、セッション・クッキー(ドメインスコープなし)をシングル・サインオン・プログラム38へ送信する(ステップ242)。リクエスト対象のアプリケーション49によって生成されるセッション・クッキーは、典型的には、ユーザ15とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション49を、ホスト名およびURLで指定する。
いずれの場合も、セッション・クッキーをアプリケーション49から受信するのに応答して、シングル・サインオン・プログラム38は、アプリケーション49から受信されたセッション・クッキーのスコープを変更し、リクエスト対象のアプリケーション49のホスト・サーバ40内のすべてのアプリケーション、ならびにほかの「関連」ホスト・サーバすべてにあるすべてのアプリケーションにスコープが効力を持つようにする(ステップ244)。例えば、同じインターネット・ドメイン内に存在するすべてのホスト・サーバ(または同じ企業により所有されているすべてのホスト・サーバ)が「関連」していると見なされてもよい。例えば、アプリケーション49は、URL「www−1.ABC.com/XYZ」を有し、アプリケーション69は、URL「www−1.ABC.com/RST」を有し、アプリケーション89は、URL「www−2.ABC.com/MNO」を有する。さらに例として、アプリケーション38は、URL「www−1.ABC.com/GHK」を有する。したがって、すべてのプログラム38、49、69および89は、同じインターネット・ドメイン「ABC.com」に存在する。この例では、シングル・サインオン・プログラム38は、同じインターネット・ドメイン内のすべてのアプリケーションに対して効力を持つようにセッション・クッキーを変更する。リクエスト対象のアプリケーション49が、URL「www−1.ABC.com/XYZ」(この中で「www−1.ABC.com」はホスト・サーバを特定し、「ABC」はドメインを示し、「XYZ」はアプリケーション49を特定する)を有するこの例では、シングル・サインオン・プログラム38は、同じインターネット・ドメイン「ABC.com」内のすべてのホスト・サーバ上のすべてのアプリケーションに対して効力を持つようにセッション・クッキーのスコープを変更する。その結果として、シングル・サインオン・プログラム38は、ユーザ15に対して、セッション・スコープ「ABC」または「ABC.com」を備えるセッション・クッキーを生成し、これは、同じインターネット・ドメインABC.com内のすべてのアプリケーションに対して効力を持つ。次に、シングル・サインオン・プログラム38は、ドメイン・スコープ(ABC.com)セッション・クッキーをウェブ・ブラウザ29に返送する。シングル・サインオン・アプリケーション38は、アプリケーション49と同じドメイン「ABC.com」に存在することから、ウェブ・ブラウザ29は、シングル・サインオン・プログラム38から、アプリケーション49とのセッションを確立するための当該セッション・クッキーを受け取る。ウェブ・ブラウザ29は、このドメイン・スコープ・セッション・クッキーを用いてアプリケーション49にアクセスすることができ、ユーザ15がアプリケーション49に対してユーザ認証を行う必要はない。
前述の通り、シングル・サインオン・プログラム38に対する以前のユーザ15の登録に応答して、シングル・サインオン・プログラム38は、ユーザ15と、シングル・サインオン・プログラム38との間のセッションを表す別のセッションIDおよびセッション・クッキーも生成した(ドメイン・スコープなし)。シングル・サインオン・プログラム38は、さらに、対応するセッション・クッキー(ドメイン・スコープなし)を、ウェブ・ブラウザ29において設定されるようウェブ・ブラウザ29へ送信した。ウェブ・アプリケーション49にアクセスするためのユーザのリクエスト、およびウェブ・アプリケーション49からシングル・サインオン・プログラム38へのリダイレクトに従ってドメイン・スコープ・セッション・クッキーが後から生成されるのに応答して、シングル・サインオン・プログラム38は、ユーザ15と、シングル・サインオン・プログラム38との間のセッション(ドメイン・スコープなし)に相関する、ユーザ15と、アプリケーション49との間のドメイン・スコープ・セッションのセッションIDを記憶する。シングル・サインオン・プログラム38はさらに、対応するドメイン・スコープ・セッション・クッキーをウェブ・ブラウザ29へ送信し(ステップ244)、アプリケーション49とのセッションのために、ウェブ・ブラウザ29にてこのドメイン・スコープ・セッション・クッキーを設定するよう、ウェブ・ブラウザ29に指示する。ウェブ・ブラウザ29は、シングル・サインオン・プログラム38とのセッション用に、ドメイン・スコープのないセッション・クッキーの設定を保持する。
次に、ユーザ15は、アプリケーション49を使用するために、アプリケーション49に対して後続のリクエストを行い、ウェブ・ブラウザ29は、そのようなリクエストそれぞれに対して、ドメイン「ABC.com」を備える(ドメイン・スコープ)セッション・クッキーを提供する(ステップ248)。ドメイン「www−1.ABC.com」を備えるセッション・クッキーを含む当該の各使用リクエストが受信されると、アプリケーション49は、(ドメイン・スコープ)セッション・クッキーが、アプリケーション49とユーザ15との間のセッションを適切に特定することを確認する。その結果として、ドメイン・スコープ・セッション・クッキーはアプリケーション49に対して有効であり、アプリケーション49はセッションIDのレコードを有することから(セッションIDはドメイン・スコープに対して作成されたものではないが)、アプリケーション49は、この後続のリクエストをシングル・サインオン・プログラム38にリダイレクトすることなく、かつユーザ15からの再認証をリクエストすることなく、この後続のリクエストを処理する。こうしたリクエストの処理に従って、リクエスト対象のアプリケーション49は、HTMLまたはその他のレスポンスをクライアント・コンピュータ20に提供するとよい。リクエスト対象のアプリケーション49が、さらなるHTMLを提供すれば、ユーザはそのHTMLを使用して後続のリクエストを行い、ドメイン・スコープ・セッション・クッキーを用いてアプリケーション49を使用することができる。
ユーザ15が、後にアプリケーション69に対するアクセスを試行する場合、ユーザ15は、「ABC.com」のドメイン・スコープを備えるセッション・キーをアプリケーション69へ送信する(シングル・サインオン・プログラム38に関するドメイン・スコープなしのセッション・キーとともに)。アプリケーション69は、ユーザと、リクエスト対象のアプリケーション69とのアクティブ・セッションのレコードを有しないことから、アプリケーション49に対する以前のアクセス・リクエストに従ってシングル・サインオン・プログラム38により最近ウェブ・ブラウザ29に与えられたドメイン・スコープ・セッション・クッキーは、このセッションを特定しない。その結果として、リクエスト対象のアプリケーション69は、ドメイン・スコープ・セッション・クッキー(およびドメイン・スコープなしのセッション・クッキー)を含む最新のユーザ・アクセス・リクエストを、サーバ30上のシングル・サインオン・プログラム38へリダイレクトする。アプリケーション69は、さらに、「リダイレクト」メッセージをウェブ・ブラウザ29へ送信して、ウェブ・ブラウザ29に、アプリケーション69へ送信されたユーザ・アクセス・リクエストが、シングル・サインオン・プログラム38(URLまたはプログラム38によって特定される)へリダイレクトされたことを通知する。リダイレクト・メッセージに応答して、ウェブ・ブラウザ29は、サーバ30上のプログラム38に対するシングル・サインオンの認証リクエストを開始する。ブラウザ29が、以前の成功した登録試行から、シングル・サインオン・プログラム38に関するユーザ15のセッション・クッキーを有すれば、ウェブ・ブラウザ29は、認証リクエストとともに、シングル・サインオン・プログラム38に関するセッション・クッキーを送信する。認証リクエスト、およびアプリケーション69からのセッション・クッキーがあればそのセッション・クッキー、およびウェブ・ブラウザ29からのセッション・クッキーがあればそのセッション・クッキーに応答して、シングル・サインオン・プログラム38は、受信されるいずれかのシングル・サインオン・セッション・クッキーにおいて指定されているセッションに関して、シングル・サインオン・プログラム38がユーザ15の認証のレコードをデータベース39内に有するかどうかを判断する。
シングル・サインオン・プログラム38が、ユーザ15の有効なuserIDおよびパスワードのレコードを(データベース39内に)有すれば(シングル・サインオン・プログラム38に対するユーザ15の以前の登録に基づく)、シングル・サインオン・プログラム38は、ユーザ15のuserIDおよびパスワード(またはその他の認証クレデンシャル)をアプリケーション69へ転送することによって、アプリケーション69に対するユーザ15の認証を行う。この例では、シングル・サインオン・プログラム38は、ユーザ15のシングル・サインオン・プログラム38に対する以前の登録に基づき、ユーザ15の有効なuserIDおよびパスワードのレコードを有する。アプリケーション69が、userIDおよびパスワードが真にユーザ15のものであると判断すれば、アプリケーション69は、ユーザ15とのセッションのセッション・クッキー(セッション・スコープなし)を生成して、セッション・クッキー(セッション・スコープなし)をシングル・サインオン・プログラム38へ返送する。アプリケーション69は、さらに、セッション・クッキー内に含まれているセッション識別と、セッションが確立されたuserID(またはユーザ15)とを記録する。リクエスト対象のアプリケーション69によって生成されるセッション・クッキーは、典型的には、ユーザ15とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション69を、ホスト名およびURLによって指定する。アプリケーション69によって提供されるこのセッション・クッキーは、アプリケーション69が存在するドメインのサフィックスとしてアプリケーション69を特定する。
シングル・サインオン・プログラム38が、ユーザ15の認証のレコードを(レコード・データベース39内に)有しなければ、シングル・サインオン・プログラム38は、ウェブ・ブラウザ29を介して、ユーザ15にユーザ15のuserIDに対応するパスワードについて問い合わせを行い、ユーザ15は、そのパスワードを登録プロセスにおいてシングル・サインオン・プログラム38に与える。(ユーザに対して行われるユーザのパスワードについてのこの問い合わせは、シングル・サインオン・プログラム38によってウェブ・ブラウザ29へ送信されるHTMLによって定義することができる。)ユーザ15によってシングル・サインオン・プログラム38に与えられた登録情報(userIDおよびパスワードを含む)に応答して、シングル・サインオン・プログラム38は、アプリケーション69に対してユーザ15の認証を試行する。認証が成功すれば、リクエスト対象のアプリケーション69は、アプリケーション69の有効なセッション・クッキー(セッション・スコープなし)を生成して、そのセッション・クッキーをシングル・サインオン・プログラム38へ送信する。アプリケーション69は、さらに、セッション・クッキーに含まれているセッション識別と、セッションが確立されたuserID(またはユーザ15)とを記録する。リクエスト対象のアプリケーション69によって生成されるセッション・クッキーは、典型的には、ユーザ15とのセッションが有効である単一のアプリケーション、すなわちリクエスト対象のアプリケーション69を、ホスト名およびURLで指定する。
いずれの場合も、セッション・クッキーをアプリケーション69から受信するのに応答して、シングル・サインオン・プログラム38は、アプリケーション69から受信されたセッション・クッキーのスコープを変更し、リクエスト対象のアプリケーション69のホスト・サーバ40内のすべてのアプリケーション、ならびにほかの「関連」ホスト・サーバすべてにあるすべてのアプリケーションにスコープが効力を持つようにする。例えば、上記で説明したように、同じインターネット・ドメインに存在するすべてのホスト・サーバ(または同じ企業により所有されているすべてのホスト・サーバ)が「関連」していると見なされてもよい。リクエスト対象のアプリケーション69が、URL「www−1.ABC.com/RST」(この中で、「www−1.ABC.com」はホスト・サーバを特定し、「ABC」はドメインを示し、「RST」はアプリケーション69を特定する)を有する前述の例では、シングル・サインオン・プログラム38は、同じインターネット・ドメイン「ABC.com」内のすべてのホスト・サーバ上のすべてのアプリケーションに対して効力を持つようにセッション・クッキーのスコープを変更する。その結果として、シングル・サインオン・プログラム38は、ユーザ15に対して、セッション・スコープ「ABC」または「ABC.com」を備えるセッション・クッキーを生成し、これは、同じインターネット・ドメインABC.comのすべてのアプリケーションに対して効力を持つ。次に、シングル・サインオン・プログラム38は、ドメイン・スコープ(ABC.com)セッション・クッキーをウェブ・ブラウザ29に返送する。シングル・サインオン・アプリケーション38は、アプリケーション69と同じドメイン「ABC.com」に存在することから、ウェブ・ブラウザ29は、シングル・サインオン・プログラム38から、アプリケーション69とのセッションを確立するための当該セッション・クッキーを受け取る。ウェブ・ブラウザ29は、このドメイン・スコープ・セッション・クッキーを用いてアプリケーション69にアクセスすることができ、ユーザ15がアプリケーション69に対してユーザ認証を行う必要はない。
後に、ユーザ15がアプリケーション89へのアクセスを試行すれば、上記でユーザ15のアプリケーション69に対するアクセス試行について説明したように、認証が進行する。
したがって、本発明の好適な実施形態では、ユーザは、複数の関連アプリケーションにシングル・ユーザ・サインオンによってアクセスすることができる。ユーザは、後にアクセスされる関連アプリケーションにアクセスするためにユーザ認証を行う必要がない。(ウェブ・ブラウザ29が、各アプリケーション49、69および89それぞれに対して認証を実行する。)すべてのリクエストに関して、クライアント・コンピュータ20と、各アプリケーション・サーバ40、60、および80との間にプロキシ・サーバが置かれることはない。シングル・サインオン・サーバは、初期の認証にのみ関係する。ユーザは、関連アプリケーションに対する後のアクセスが認証を要求することを知る必要もない。ユーザは、シングル・サインオン・プログラム38を認識している必要はなく、ウェブ・ブラウザ29は、シングル・サインオン・プログラム38からの認証をリクエストするよう設定される必要はない。ユーザ15が、アプリケーション・サーバに対するアクセスをリクエストしない場合には、そのアプリケーション・サーバには認証情報の負荷がかからずに済む。さらに、アプリケーションは、その認証されていないリクエストを、ウェブ・ブラウザ29へ返すのではなく、シングル・サインオン・サービスへリダイレクトするよう再設定されさえすればよい。
前述の事項に基づき、本発明によるシングル・サインオンのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラムを開示した。当業者であれば当然のことであるが、多数の変更および置き換えが行われ得る。例えば、必要に応じて、シングル・サインオン・プログラム38は、別個のサーバ30ではなくウェブ・アプリケーション・サーバ40、60または80のうちの1つに存在することができる。したがって、本発明は限定ではなく例として開示されたものである。

Claims (14)

  1. 第1のコンピュータのユーザの認証を、第2のコンピュータにある第1のアプリケーションに対して行う方法であって、前記方法は、
    前記第1のコンピュータが、前記第1のアプリケーションにアクセスするために、前記第2のコンピュータへリクエストを送信するステップと、それに応答して、前記第2のコンピュータが、前記ユーザは、前記第1のアプリケーションに対してまだ認証されていないと判断するステップと、それに応答して、前記第2のコンピュータが、前記リクエストを第3のコンピュータへリダイレクトするステップと、それに応答して、前記第3のコンピュータが、前記ユーザは前記第3のコンピュータに対して認証されていると判断するステップと、それに応答して、前記第3のコンピュータが、前記第1のアプリケーションに対して前記ユーザの認証を行うステップと、それに応答して、前記第2のコンピュータが、前記第1のアプリケーションと、前記ユーザとの間のセッションのセッション・キーを前記第3のコンピュータへ返送するステップであって、前記セッションは、前記第2のコンピュータまたは前記第1のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記返送するステップと、
    前記第1のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第2のコンピュータまたは前記第1のアプリケーションとの間のセッションの前記セッション・キーが、前記第3のコンピュータによって前記第2のコンピュータから受信されることに応答して、前記第3のコンピュータが、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーを、前記第1のコンピュータへ送信するステップと、
    前記第1のコンピュータが、別のリクエストを前記ドメイン・スコープ・セッション・キーとともに前記第1のアプリケーションへ送信するステップと、それに応答して、前記第1のアプリケーションが、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第1のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第1のコンピュータに応答するステップと、
    を含む方法であって、
    前記ドメインは、前記第2のコンピュータ内の前記第1のアプリケーションを含む複数アプリケーションのグループ、または前記第2のコンピュータを含む複数コンピュータのグループであり、これらは、同じエンティティによって所有されているか、もしくは動作させられているか、または同じドメイン名URLコンポーネントを有する、方法。
  2. 前記ユーザが、userIDと、パスワードとの有効な組み合わせを与えることによって、前記第3のコンピュータに登録するステップをさらに含む、請求項1に記載の方法。
  3. 以下の後続ステップ:
    前記第1のコンピュータが、前記ドメイン内の第4のコンピュータ内の第2のアプリケーションにアクセスするために、前記第4のコンピュータへ第3のリクエストを送信するステップと、それに応答して、前記第4のコンピュータが、前記ユーザは、前記第2のアプリケーションに対してまだ認証されていないと判断するステップと、それに応答して、前記第4のコンピュータが、前記第3のリクエストを前記第3のコンピュータへリダイレクトするステップと、それに応答して、前記第3のコンピュータが、前記ユーザは前記第3のコンピュータに対して認証されていると判断するステップと、それに応答して、前記第3のコンピュータが、前記第2のアプリケーションに対して前記ユーザの認証を行うステップと、それに応答して、前記第4のコンピュータが、前記第2のアプリケーションと、前記ユーザとの間のセッションのセッション・キーを前記第3のコンピュータへ返送するステップであって、前記セッションは、前記第4のコンピュータまたは前記第2のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記返送するステップと、
    前記第2のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第4のコンピュータまたは前記第2のアプリケーションとの間のセッションの前記セッション・キーが、前記第3のコンピュータによって前記第4のコンピュータから受信されることに応答して、前記第3のコンピュータが、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーを前記第1のコンピュータへ送信するステップと、
    前記第1のコンピュータが、別のリクエストを前記ドメイン・スコープ・セッション・キーとともに前記第2のアプリケーションへ送信するステップと、それに応答して、前記第2のアプリケーションが、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第2のアプリケーションとの間の有効なセッションを認識して、前記第2のアプリケーションに対して送信された前記別のリクエストに応じて前記第1のコンピュータに応答するステップと、
    をさらに含む、請求項1または2のいずれかに記載の方法。
  4. 第1のコンピュータのユーザの認証を、第2のコンピュータにある第1のアプリケーションに対して行うためのコンピュータ・プログラムであって、前記コンピュータ・プログラムは、
    前記第2のコンピュータにおいて実行される第1のプログラム命令であって、前記第1のアプリケーションにアクセスするための前記第1のコンピュータからのリクエストに応答して、前記ユーザが前記第1のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記リクエストを第3のコンピュータへリダイレクトする、前記第1のプログラム命令と、
    前記第3のコンピュータにおいて実行される第2のプログラム命令であって、前記第2のコンピュータから前記リダイレクトされたリクエストに応答して、前記ユーザが、前記第3のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第1のアプリケーションに対して前記ユーザの認証を行う、前記第2のプログラム命令と、
    前記第2のコンピュータにおいて実行される第3のプログラム命令であって、前記ユーザの前記認証が前記第3のコンピュータによって行われるのに応答して、前記第1のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第3のコンピュータへの返送を開始する、前記第3のプログラム命令であって、前記セッションは、前記第2のコンピュータまたは前記第1のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記第3のプログラム命令と、
    前記第3のコンピュータにおいて実行される第4のプログラム命令であって、前記第1のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第2のコンピュータまたは前記第1のアプリケーションとの間のセッションの前記セッション・キーが、前記第3のコンピュータによって前記第2のコンピュータから受信されることに応答して、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第1のコンピュータへの送信を開始する、前記第4のプログラム命令と、
    前記第2のコンピュータにおいて実行される第5のプログラム命令であって、前記第1のアプリケーションにアクセスするための、前記第1のコンピュータからの前記ドメイン・スコープ・セッション・キーを含んだ別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第1のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第1のアプリケーションによる前記第1のコンピュータへの応答を開始する、前記第5のプログラム命令と、
    を含み、
    前記ドメインは、前記第2のコンピュータ内の前記第1のアプリケーションを含む複数アプリケーションのグループ、または前記第2のコンピュータを含む複数コンピュータのグループ、あるいはその両方であり、これらは、同じエンティティにより所有されているか、もしくは動作させられているか、または同じドメイン名URLコンポーネントを有している、
    コンピュータ・プログラム。
  5. 前記第3のコンピュータにおいて実行される第7のプログラム命令であって、前記ユーザが、userIDと、パスワードとの有効な組み合わせを与えることによって前記第3のコンピュータに登録できるようにする、前記第7のプログラム命令であって、前記第7のプログラム命令をさらに含む、請求項4に記載のコンピュータ・プログラム。
  6. 前記コンピュータ・プログラムは、
    前記ドメイン内の第4のコンピュータにおいて実行される第7のプログラム命令であって、前記第1のコンピュータから、前記第4のコンピュータ内の第2のアプリケーションにアクセスするための第3のリクエストを受信し、それに応答して、前記ユーザが、前記第2のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記第3のリクエストを前記第3のコンピュータへリダイレクトする、前記第7のプログラム命令
    をさらに含み、
    前記第2のプログラム命令は、前記リダイレクトされた第3のリクエストに応答して、前記ユーザが、前記第3のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第2のアプリケーションに対して前記ユーザの認証を行い、
    前記コンピュータ・プログラムは、
    前記第4のコンピュータにおいて実行される第8のプログラム命令であって、前記ユーザの前記認証が前記第3のコンピュータによって行われるのに応答して、前記第2のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第3のコンピュータへの返送を開始する、前記第8のプログラム命令であって、前記セッションは、前記第4のコンピュータまたは前記第2のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記第8のプログラム命令
    をさらに含み、
    前記第4のプログラム命令は、前記第2のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第4のコンピュータまたは前記第2のアプリケーションとの間のセッションの前記セッション・キーが、前記第3のコンピュータによって前記第4のコンピュータから受信されることに応答して、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第1のコンピュータへの送信を開始し、
    前記第7のプログラム命令は、前記第1のコンピュータによる、前記ドメイン・スコープ・セッション・キーを用いて前記第2のアプリケーションにアクセスするための別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第2のアプリケーションとの間の有効なセッションを認識し、前記第2のアプリケーションへ送信された前記別のリクエストに応じて前記第1のコンピュータに応答する、
    請求項4に記載のコンピュータ・プログラム。
  7. 前記第7および第8のプログラム命令は、前記第2のアプリケーションの一部である、請求項6に記載のコンピュータ・プログラム。
  8. 前記第1、第3、および第5のプログラム命令は、前記第1のアプリケーションの一部である、請求項4〜7のいずれかに記載のコンピュータ・プログラム。
  9. 第1のコンピュータのユーザの認証を、第2のコンピュータにある第1のアプリケーションに対して行うコンピュータ・システムであって、前記コンピュータ・システムは、
    第1の中央処理ユニットを備えた前記第2のコンピュータと、
    第2の中央処理ユニットを備えた第3のコンピュータと、
    前記第1の中央処理ユニットによって実行されるよう前記第2のコンピュータに記憶されている第1のプログラム命令であって、前記第1のアプリケーションにアクセスするための前記第1のコンピュータからのリクエストに応答して、前記ユーザが前記第1のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記リクエストを第3のコンピュータへリダイレクトする、前記第1のプログラム命令と、
    前記第2の中央処理ユニットによって実行されるよう前記第3のコンピュータに記憶されている第2のプログラム命令であって、前記第3のコンピュータから前記リダイレクトされたリクエストに応答して、前記ユーザが、前記第3のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第1のアプリケーションに対して前記ユーザの認証を行う、前記第2のプログラム命令と、
    前記第1の中央処理ユニットによって実行されるよう前記第2のコンピュータに記憶されている第3のプログラム命令であって、前記ユーザの前記認証が前記第3のコンピュータによって行われるのに応答して、前記第1のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第3のコンピュータへの返送を開始する、前記第3のプログラム命令であって、前記セッションは、前記第2のコンピュータまたは前記第1のアプリケーションのスコープを有するが、ドメインのスコープは有しない、前記第3のプログラム命令と、
    前記第2の中央処理ユニットによって実行されるよう前記第3のコンピュータに記憶されている第4のプログラム命令であって、前記第1のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第2のコンピュータまたは前記第1のアプリケーションとの間のセッションの前記セッション・キーが、前記第3のコンピュータによって前記第2のコンピュータから受信されることに応答して、前記ドメインのスコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第1のコンピュータへの送信を開始する、前記第4のプログラム命令と、
    前記第1の中央処理ユニットによって実行されるよう前記第2のコンピュータに記憶されている第5のプログラム命令であって、前記第1のアプリケーションにアクセスするための、前記第1のコンピュータからの前記ドメイン・スコープ・セッション・キーを含んだ別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第1のアプリケーションとの間の有効なセッションを認識し、前記別のリクエストに応じて前記第1のアプリケーションによる前記第1のコンピュータへの応答を開始する、前記第5のプログラム命令と、
    を含み、
    前記ドメインは、前記第2のコンピュータ内の前記第1のアプリケーションを含む複数アプリケーションのグループ、または前記第2のコンピュータを含む複数コンピュータのグループ、あるいはその両方であり、これらは、同じエンティティにより所有されているか、もしくは動作させられているか、または同じドメイン名URLコンポーネントを有する、コンピュータ・システム。
  10. 前記第2の中央処理ユニットによって実行されるよう、前記第3のコンピュータに記憶されている第7のプログラム命令であって、前記ユーザが、userIDと、パスワードとの有効な組み合わせを与えることによって前記第3のコンピュータに登録できるようにする、前記第7のプログラム命令をさらに含む、請求項9に記載のコンピュータ・システム。
  11. 前記コンピュータ・システムは、
    前記ドメイン内にあり、第3の中央処理ユニットを備える第4のコンピュータと、
    前記第3の中央処理ユニットによって実行されるよう前記第4のコンピュータに記憶されている第7のプログラム命令であって、前記第1のコンピュータから、前記第4のコンピュータ内の第2のアプリケーションにアクセスするための第3のリクエストを受信し、それに応答して、前記ユーザが、前記第2のアプリケーションに対して認証されているかどうかを判断し、認証されていなければ、前記第3のリクエストを前記第3のコンピュータへリダイレクトする、前記第7のプログラム命令と、
    をさらに含み、
    前記第2のプログラム命令は、前記リダイレクトされた第3のリクエストに応答して、前記ユーザが、前記第3のコンピュータに対して認証されているかどうかを判断し、認証されていれば、前記第2のアプリケーションに対して前記ユーザの認証を行い、
    前記コンピュータ・システムは、
    前記第3の中央処理ユニットによって実行されるよう前記第4のコンピュータに記憶されている第8のプログラム命令であって、前記ユーザの前記認証が前記第3のコンピュータによって行われるのに応答して、前記第2のアプリケーションと、前記ユーザとの間のセッションのセッション・キーの、前記第3のコンピュータへの返送を開始する、前記第8のプログラム命令であって、前記セッションは、前記第4のコンピュータまたは前記第2のアプリケーションのスコープを有するが、前記ドメインのスコープは有しない、前記第8のプログラム命令
    をさらに含み、
    前記第4のプログラム命令は、前記第2のアプリケーションに対して前記ユーザが前記認証されること、および前記ユーザと、前記第4のコンピュータまたは前記第2のアプリケーションとの間のセッションの前記セッション・キーが、前記第3のコンピュータによって前記第4のコンピュータから受信されることに応答して、前記ドメイン・スコープを備える別のセッション・キーを生成して、前記ドメイン・スコープ・セッション・キーの前記第1のコンピュータへの送信を開始し、
    前記第7のプログラム命令は、前記第1のコンピュータによる、前記ドメイン・スコープ・セッション・キーを用いて前記第2のアプリケーションにアクセスするための別のリクエストに応答して、前記ドメイン・スコープ・セッション・キーに基づき、前記ユーザと、前記第2のアプリケーションとの間の有効なセッションを認識し、前記第2のアプリケーションへ送信された前記別のリクエストに応じて前記第1のコンピュータに応答する、
    請求項9に記載のコンピュータ・システム。
  12. 前記第7および第8のプログラム命令は、前記第2のアプリケーションの一部である、請求項11に記載のコンピュータ・システム。
  13. 前記第1、第3、および第5のプログラム命令は、前記第1のアプリケーションの一部である、請求項9〜12のいずれかに記載のコンピュータ・システム。
  14. 請求項1〜3のいずれかに記載の方法の各ステップを実行するためのコンピュータ実装可能命令を含むコンピュータ・プログラム。
JP2011507862A 2008-05-07 2009-04-21 統合認証のためのシステム、方法およびプログラム製品 Active JP5357246B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/116,616 2008-05-07
US12/116,616 US8219802B2 (en) 2008-05-07 2008-05-07 System, method and program product for consolidated authentication
PCT/EP2009/054732 WO2009135754A1 (en) 2008-05-07 2009-04-21 System, method and program product for consolidated authentication

Publications (2)

Publication Number Publication Date
JP2011522307A JP2011522307A (ja) 2011-07-28
JP5357246B2 true JP5357246B2 (ja) 2013-12-04

Family

ID=40934091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011507862A Active JP5357246B2 (ja) 2008-05-07 2009-04-21 統合認証のためのシステム、方法およびプログラム製品

Country Status (5)

Country Link
US (4) US8219802B2 (ja)
EP (1) EP2232401B1 (ja)
JP (1) JP5357246B2 (ja)
KR (1) KR101475983B1 (ja)
WO (1) WO2009135754A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831508B1 (en) 2000-06-23 2010-11-09 Jpmorgan Chase Bank, N.A. System and method for implementing a consolidated application process
US8219802B2 (en) 2008-05-07 2012-07-10 International Business Machines Corporation System, method and program product for consolidated authentication
US20100100926A1 (en) * 2008-10-16 2010-04-22 Carl Binding Interactive selection of identity informatoin satisfying policy constraints
US20100228811A1 (en) * 2009-03-09 2010-09-09 Disney Enterprises, Inc. System and method for managing data transfer
US8782391B2 (en) 2009-06-10 2014-07-15 Visa International Service Association Service activation using algorithmically defined key
US8543676B2 (en) * 2009-06-16 2013-09-24 International Business Machines Corporation Delegated resource use in a content based routing environment
CN101998360B (zh) * 2009-08-11 2015-05-20 中兴通讯股份有限公司 建立身份管理信任的方法及身份提供方和业务提供方
JP4856225B2 (ja) * 2009-09-15 2012-01-18 株式会社沖データ 画像データ生成装置
US9672335B2 (en) * 2009-12-17 2017-06-06 Laird H Shuart Cognitive-based logon process for computing device
US9965613B2 (en) * 2010-12-03 2018-05-08 Salesforce.Com, Inc. Method and system for user session discovery
US8984616B2 (en) 2010-12-08 2015-03-17 International Business Machines Corporation Efficient routing for reverse proxies and content-based routers
CN103548307B (zh) * 2010-12-30 2018-05-29 皮尔爱普有限公司 通过计算机网络传输数据的方法和系统
US20130060657A1 (en) * 2011-04-04 2013-03-07 Parago, Inc. Hosting E-Commerce Based on Cloud Computing
US8423650B2 (en) 2011-06-30 2013-04-16 International Business Machines Corporation Transferring session data between network applications
US8448233B2 (en) * 2011-08-25 2013-05-21 Imperva, Inc. Dealing with web attacks using cryptographically signed HTTP cookies
TWI569614B (zh) * 2011-08-30 2017-02-01 萬國商業機器公司 處理網路通訊之會話的方法、資訊設備、與電腦可讀媒體
JP6006533B2 (ja) * 2012-05-25 2016-10-12 キヤノン株式会社 認可サーバー及びクライアント装置、サーバー連携システム、トークン管理方法
US9268931B2 (en) * 2012-06-12 2016-02-23 Microsoft Technology Licensing, Llc Gate keeper cookie
JP5962354B2 (ja) 2012-09-06 2016-08-03 株式会社リコー 情報処理装置、プログラム及びシステム
US9344426B2 (en) * 2013-05-14 2016-05-17 Citrix Systems, Inc. Accessing enterprise resources while providing denial-of-service attack protection
US9553867B2 (en) 2013-08-01 2017-01-24 Bitglass, Inc. Secure application access system
US10122714B2 (en) * 2013-08-01 2018-11-06 Bitglass, Inc. Secure user credential access system
US20150363687A1 (en) * 2014-06-13 2015-12-17 International Business Machines Corporation Managing software bundling using an artificial neural network
JP6449993B2 (ja) * 2015-04-15 2019-01-09 株式会社日立システムズ シングルサインオンシステムおよびシングルサインオン方法
US9225711B1 (en) * 2015-05-14 2015-12-29 Fmr Llc Transferring an authenticated session between security contexts
JP6719875B2 (ja) * 2015-09-01 2020-07-08 キヤノン株式会社 認証サーバ、認証方法およびプログラム
US10356112B2 (en) * 2016-03-10 2019-07-16 Huawei Technologies Co., Ltd. Method of mitigating cookie-injection and cookie-replaying attacks
EP3644569B1 (en) * 2017-07-13 2021-09-29 Huawei Technologies Co., Ltd. Method and terminal for controlling trusted application access
US11640482B2 (en) 2020-06-02 2023-05-02 The Toronto-Dominion Bank System and method for providing trusted links between applications
US20220210145A1 (en) * 2020-12-30 2022-06-30 Open Text Holdings, Inc. Systems and methods for identity and access management with extended trust

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6892307B1 (en) 1999-08-05 2005-05-10 Sun Microsystems, Inc. Single sign-on framework with trust-level mapping to authentication requirements
US7194764B2 (en) 2000-07-10 2007-03-20 Oracle International Corporation User authentication
JP3918434B2 (ja) * 2001-01-05 2007-05-23 セイコーエプソン株式会社 情報処理装置
JP2002236662A (ja) * 2001-02-08 2002-08-23 Nec Corp 情報処理システム及び認証サーバプログラム
US20020156905A1 (en) 2001-02-21 2002-10-24 Boris Weissman System for logging on to servers through a portal computer
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
JP3606520B2 (ja) * 2001-12-05 2005-01-05 沖電気工業株式会社 システムlsiのテストパターン作成方法,システムlsiのテストパターン作成装置,及びシステムlsiのテスト方法
US7496953B2 (en) 2003-04-29 2009-02-24 International Business Machines Corporation Single sign-on method for web-based applications
EP2184934B1 (en) * 2003-12-29 2012-12-05 Telefonaktiebolaget L M Ericsson (PUBL) Method and apparatuses for single sign-on access to a service network through an access network
US20060048216A1 (en) 2004-07-21 2006-03-02 International Business Machines Corporation Method and system for enabling federated user lifecycle management
US7562224B2 (en) * 2005-04-04 2009-07-14 Cisco Technology, Inc. System and method for multi-session establishment for a single device
US7540022B2 (en) * 2005-06-30 2009-05-26 Nokia Corporation Using one-time passwords with single sign-on authentication
GB2434947B (en) * 2006-02-02 2011-01-26 Identum Ltd Electronic data communication system
JP2007293760A (ja) * 2006-04-27 2007-11-08 Hitachi Ltd 個別認証を用いたシングルサインオン連携方法およびシステム
US20100242102A1 (en) * 2006-06-27 2010-09-23 Microsoft Corporation Biometric credential verification framework
CN101946536B (zh) * 2008-02-15 2015-07-15 艾利森电话股份有限公司 演进网络中的应用特定的主密钥选择
US8219802B2 (en) 2008-05-07 2012-07-10 International Business Machines Corporation System, method and program product for consolidated authentication

Also Published As

Publication number Publication date
EP2232401B1 (en) 2018-03-07
US20120291141A1 (en) 2012-11-15
US20160191500A1 (en) 2016-06-30
US8880872B2 (en) 2014-11-04
KR101475983B1 (ko) 2014-12-23
JP2011522307A (ja) 2011-07-28
US9319399B2 (en) 2016-04-19
US20150020184A1 (en) 2015-01-15
US8219802B2 (en) 2012-07-10
US9762568B2 (en) 2017-09-12
WO2009135754A1 (en) 2009-11-12
KR20110009129A (ko) 2011-01-27
US20090282239A1 (en) 2009-11-12
EP2232401A1 (en) 2010-09-29

Similar Documents

Publication Publication Date Title
JP5357246B2 (ja) 統合認証のためのシステム、方法およびプログラム製品
US9143502B2 (en) Method and system for secure binding register name identifier profile
US7350229B1 (en) Authentication and authorization mapping for a computer network
JP4782986B2 (ja) パブリックキー暗号法を用いたインターネット上でのシングルサインオン
KR100800339B1 (ko) 제휴 환경에서 사용자에 의해 결정된 인증 및 단일 사인온을 위한 방법 및 시스템
EP2338262B1 (en) Service provider access
US9413750B2 (en) Facilitating single sign-on (SSO) across multiple browser instance
US7860883B2 (en) Method and system for distributed retrieval of data objects within multi-protocol profiles in federated environments
JP5030967B2 (ja) 認証方法を拡張するための方法及びシステム
CN112995219B (zh) 一种单点登录方法、装置、设备及存储介质
JPH11212912A (ja) セッション管理システム及び管理方法
WO2016166856A1 (ja) シングルサインオンシステムおよびシングルサインオン方法
JP2002334056A (ja) ログイン代行システム及びログイン代行方法
US20100031332A1 (en) Secure access
JP2000106552A (ja) 認証方法
JP2005529392A (ja) 階層的分散アイデンティティ管理
JP3528065B2 (ja) コンピュータネットワーク上の対話継承型アクセス制御方法
KR20060067732A (ko) 연동 아이덴터티를 이용한 단일 인증 서비스에서의 서비스로그아웃 시스템 및 방법
WO2012028168A1 (en) Identity gateway
JP2005293088A (ja) 認証システム及び認証方法
Hollenbeck RFC 9560 Federated Authentication for the Registration Data Access Protocol (RDAP) Using OpenID Connect

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130703

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: 20130806

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130829

R150 Certificate of patent or registration of utility model

Ref document number: 5357246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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