説明

認証仲介サーバ、プログラム、認証システム及び選択方法

【課題】 ユーザの状況、ユーザが利用するサービスの種類及びユーザの利便性を考慮して、認証サーバを動的に変更できるようにすること。
【解決手段】
端末装置1が、サービス提供サーバ2よりサービスの提供を受ける際に、認証仲介サーバ4は、端末装置1のユーザが予め設定しておいたプレゼンス情報、優先度、使用条件、サービス提供サーバ条件等の選択条件を満たす認証サーバ3の中から選択して、端末装置1のユーザが、選択された認証サーバ3で認証を受けるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置がサービス提供サーバからサービスの提供を受ける際に、端末装置のユーザが認証を受ける認証サーバを選択する技術に関する。
【背景技術】
【0002】
インターネットの普及により、動画又は音声の配信、Webアプリケーション又はWebサイトの公開等、多種多様なサービスがネットワークを介してユーザに提供されており、これらのサービスの提供を受ける際に、サービスの提供者がサービスを利用するユーザの認証を行う場合がある。
【0003】
そして、各々のサービス提供者が独自にユーザ認証方式を実装した場合、ユーザは各サービスを享受する度に、各々のサービス提供者が任意に選択した認証方式による認証を要求されることとなり、ユーザの利便性が損なわれ、また、ユーザは各サービスの利用に先立って、各々のサービス提供者等に自らの属性情報を登録しなければならず、属性情報が漏洩する可能性を高め、ユーザのプライバシ侵害につながるおそれもある。
【0004】
このような問題を解決するものとして、一度の認証操作で複数のサービス享受を可能とする、シングルサインオンと呼ばれる技術が知られている。例えば、非特許文献1及び非特許文献2に記載されたSAML(Security Assertion Markup Language)や、非特許文献3に記載されたOpenID Authenticationでは、サービス提供者(非特許文献1および非特許文献2ではService Providerと呼ばれ、また、非特許文献3ではRelying Partyとして参照される)が認証サーバ(非特許文献1および非特許文献2ではIdentity Providerと呼ばれ、また、非特許文献3ではOpenID Providerとして参照される)へユーザの認証を委託することで、ユーザがサービスを利用する度に認証操作を行わなければならないこと、および、ユーザの属性情報を各々のサービス提供者が保持すること、を防止している。
【0005】
【非特許文献1】OASIS、Assertions and Protocols for the OASIS Security Assertion Markup Language(SAML)V2.0、[平成20年8月20日検索]、インターネット<URL: http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf>
【非特許文献2】OASIS、Profiles for the OASIS Security Assertion Markup Language(SAML)V2.0、[平成20年8月20日検索]、インターネット<URL: http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf>
【非特許文献3】OpenID Authentication 2.0 − Final、[平成20年8月20日検索]、インターネット<URL: http://openid.net/specs/openid-authentication-2_0.html>
【発明の開示】
【発明が解決しようとする課題】
【0006】
上述した従来技術においては、ユーザが複数の認証方式を利用する場合に、以下のような問題が存在する。
【0007】
非特許文献1および非特許文献2に記載されるSAMLにおいては、基本的には、サービス提供者が信頼関係を結んでいる認証サーバとの間でしか、認証の委託が実行されない。信頼関係を結んでいる認証サーバが複数存在する場合には、Identity Provider Discovery Profileとして記載されている手段を用いて、ユーザが認証済みの認証サーバを動的に選択することは可能だが、ユーザの状況(例えばプレゼンス情報)やポリシを反映することができない、という問題がある。
【0008】
また、非特許文献3に記載されるOpenID Authenticationにおいては、ユーザがサービス提供サーバに対して、OpenIDと呼ばれるURLを提示することで、認証に利用される認証サーバを指定することが可能であるが、複数の認証サーバを使い分ける場合には、認証サーバの数だけOpenIDを用意する必要があり、ユーザの利便性を低下させる、という問題がある。
【0009】
そこで、本発明は、ユーザの状況、ユーザが利用するサービスの種類及びユーザの利便性を考慮して、認証サーバを動的に変更できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
以上の課題を解決するため、本発明は、ユーザが予め設定した選択条件を満たす認証サーバを選択する。
【0011】
例えば、本発明は、端末装置がサービス提供サーバからサービスの提供を受ける際に、前記端末装置のユーザが認証を受ける認証サーバを選択する認証仲介サーバであって、サービス提供サーバID、および、当該サービス提供サーバIDが認証に要求する要求条件、を特定するサービス提供サーバ要求情報を記憶する記憶部と、制御部と、を備え、前記制御部は、前記サービス提供サーバより、サービス提供サーバIDを特定した情報取得要求を取得すると、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求条件を前記サービス提供サーバ要求情報より取得し、取得した要求条件を満たす前記認証サーバを選択する処理と、選択した認証サーバを特定する情報を、前記サービス提供サーバに通知する処理と、を行うこと、を特徴とする。
【発明の効果】
【0012】
以上のように、本発明によれば、ユーザの状況、ユーザが利用するサービスの種類及びユーザの利便性を考慮して、認証サーバを動的に変更することができる。
【発明を実施するための最良の形態】
【0013】
以下の実施形態において使用しているドメイン名、URL、URI、IPアドレス等の情報は、説明のために用いる架空のものであり、実在のものとは無関係である。
【0014】
図1は、本発明の一実施形態である認証システム10の概略図である。
【0015】
図示するように、認証システム10は、端末装置1と、複数のサービス提供サーバ2A、2B、・・・(以下、各々を区別しない場合には、サービス提供サーバ2という)と、複数の認証サーバ3A、3B、・・・(以下、各々を区別しない場合には、認証サーバ3という)と、認証仲介サーバ4と、プレゼンスサーバ5と、を備える。そして、これらは、ネットワーク6を介して相互に情報を送受信することができるようにされている。
【0016】
図2は、端末装置1の一例を示す概略図である。図示するように、端末装置1は、記憶部101と、制御部105と、入力部115と、出力部116と、送受信部117と、音声入出力部118と、を備える。
【0017】
記憶部101は、セッション情報記憶領域102と、プレゼンス情報記憶領域103と、を備える。
【0018】
セッション情報記憶領域102には、ネットワーク6を介して他の装置との間で確立したセッションを特定するセッション情報が記憶される。ここで、本実施形態では、セッションは、装置間で行われる一連のデータ通信シーケンスをさすものとする。
【0019】
例えば、本実施形態においては、図3(セッション情報テーブル102aの概略図)に示すようなセッション情報テーブル102aがセッション情報記憶領域102に記憶される。
【0020】
セッション情報記憶テーブル102aは、接続先ID欄102bと、セッションID欄102cと、を有する。
【0021】
接続先ID欄102bには、接続先の装置を特定する情報が格納される。ここでは、接続先の装置を特定する情報として、各々の装置(サービス提供サーバ2又は認証サーバ3)を一意に識別するための識別情報であるサービス提供サーバID又は認証サーバIDが格納される。例えば、接続先の装置がWebサーバである場合、接続先ID欄の値として、http://www.hitachi.com/のようなURLを利用することができる。
【0022】
セッションID欄102cには、接続先ID欄102bで特定される装置との間のセッションを特定する情報が格納される。ここでは、セッションを特定する情報として、各々のセッションに一意となるように割り振られた識別情報であるセッションIDが格納される。例えば、接続先の装置がWebサーバである場合、セッションID欄の値としては、WebサーバからのHTTPレスポンス内でSet−Cookieヘッダの値として渡された文字列を格納することができる。
【0023】
図2に戻り、プレゼンス情報記憶領域103には、端末装置1を利用するユーザのプレゼンス情報が記憶される。
【0024】
例えば、本実施形態においては、プレゼンス情報として、端末装置1を利用するユーザが「自宅」にいるのか「職場」にいるのか、を特定する情報(予め入力部115を介しててユーザが入力しておけばよい)、および、端末装置1を利用するユーザが後述する音声入出力部118を介して「通話中」か否かを特定する情報(後述する音声通信部112で通話中か否かを特定すればよい)、とが記憶されているが、このような態様に限定されるわけではない。
【0025】
制御部105は、サービス利用部106と、サービス要求生成部107と、サービス通信部108と、認証処理部109と、セッション管理部110と、プレゼンス情報処理部111と、音声通信部112と、ユーザポリシ処理部113と、を有する。
【0026】
サービス利用部106は、入力部115及び出力部116を介してユーザに対してサービスを利用するための入出力インタフェースを提供し、必要な情報の入力を受け付ける処理を行う。
【0027】
サービス要求生成部107は、入力部115及び出力部116を介して、サービス利用部106が入力を受け付けた情報に基づいて、サービス提供サーバ2に対して、サービスを要求するためのメッセージ(サービス要求メッセージ)を生成する処理を行う。
【0028】
サービス通信部108は、送受信部117及びネットワーク6を介した情報の送受信処理を制御する。例えば、サービス通信部108としては、WebサイトやWebアプリケーションを利用するためのHTTP通信を可能とするプロトコルスタックなどが考えられる。
【0029】
また、サービス通信部108は、認証仲介サーバ4及びサービス提供サーバ2との間でやりとりするメッセージの転送処理を行う。
【0030】
認証処理部109は、認証サーバ3が実行する認証に際し、ユーザへの入出力要求及び認証に必要な情報の計算処理を行う。例えば、認証サーバ3が実行する認証方式がTLSクライアント認証であった場合、認証処理部109は、必要であれば出力部116を介して、ユーザへPIN(Personal Identification Number)の入力を要求し、スマートカード等の可搬性の記憶媒体又は記憶部101に記憶されたユーザの秘密鍵を取得し、認証サーバ3から送信されてきた情報と合わせて、本人性を証明するための情報を計算し、送受信部117を介して計算した情報を認証サーバ3へ送信する処理を行う。
【0031】
セッション管理部110は、端末装置1が他の装置との間で確立したセッションを管理する処理を行う。例えば、端末装置1がサービス提供サーバ2又は認証サーバ3との間でセッションを確立すると、セッション情報テーブル102aに新たなレコードを生成し、接続先の装置のIDとセッションIDとを生成した新たなレコードに格納し、確立されたセッションが終了する(切断される)と、当該セッションに対応するレコードを削除する。
【0032】
プレゼンス情報処理部111は、端末装置1のユーザのプレゼンス情報を管理する処理を行う。例えば、端末装置1のユーザより入力部115を介して、ユーザが「自宅」にいるのか、「職場」にいるのか、を特定する情報の入力を受け付け、入力された「自宅」又は「職場」を特定する情報を記憶部101のプレゼンス情報記憶領域103に記憶する処理を行う。
【0033】
また、プレゼンス情報処理部111は、後述する音声通信部112が音声通信を実行している場合には、端末装置1のユーザが音声通話を行っていることを特定する情報(「通話中」であることを特定する情報)を記憶部101のプレゼンス情報記憶領域103に記憶する。
【0034】
さらに、プレゼンス情報処理部111は、予め定められた時、または、プレゼンスサーバ2からの要求があったときに、送受信部117及びネットワーク6を介して、プレゼンス情報記憶領域103に記憶されているプレゼンス情報を送信する処理を制御する。
【0035】
音声通信部112は、SIP(Session Initiation Protocol)等に従った呼制御を行うとともに、RTP(Real Time Protocol)等に従った音声通信を制御する。
【0036】
ユーザポリシ処理部113は、端末装置1のユーザより、入力部115を介して、ユーザID、使用する認証サーバ3の認証サーバID、当該認証サーバ3の優先度、当該認証サーバ3を使用する際の使用条件(プレゼンス情報に対する条件)、当該認証サーバ3を使用するサービス提供サーバ2を特定する情報(サービス提供サーバID)、を特定するポリシ情報の入力を受け付ける。
【0037】
そして、ユーザポリシ処理部113は、入力を受け付けたポリシ情報を、送受信部117及びネットワーク6を介して、認証仲介サーバ4に送信する処理を行う。
【0038】
入力部115は、情報の入力を受け付ける。
【0039】
出力部116は、情報を出力する。
【0040】
送受信部117は、ネットワーク6を介した情報の送受信を行う。
【0041】
音声入出力部118は、音声の入力及び出力を行う。
【0042】
以上に記載した端末装置1は、例えば、図4(コンピュータ9の概略図)に示すような、CPU(Central Processing Unit)901と、メモリ902と、HDD(Hard Disk Drive)等の外部記憶装置903と、CD(Compact Disk)やDVD(Digital Versatile Disk)などの可搬性を有する記憶媒体904に対して情報を読み書きする読書装置905と、キーボードやマウス等の入力装置906と、ディスプレイなどの出力装置907と、通信ネットワークに接続するためのNIC(Network Interface Card)などの送受信装置908と、を備えた一般的なコンピュータ9にマイク及びスピーカを備えるハンドセット(図示せず)を利用可能に接続することで実現できる。
【0043】
例えば、記憶部101は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部105は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、入力部115は、CPU901が入力装置906を利用することで実現可能であり、出力部116は、CPU901が出力装置907を利用することで実現可能であり、送受信部117は、CPU901が送受信装置908を利用することで実現可能であり、音声入出力部118は、CPU901がハンドセット(図示せず)を利用することで実現可能である。
【0044】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0045】
図5は、サービス提供サーバ2の一例を示す概略図である。図示するように、サービス提供サーバ2は、記憶部201と、制御部204と、入力部211と、出力部212と、送受信部213と、を備える。
【0046】
記憶部201は、セッション情報記憶領域202を備える。
【0047】
セッション情報記憶領域202には、サービス提供サーバ2が、ネットワーク6を介して他の装置との間で確立したセッションを特定するセッション情報が記憶される。例えば、本実施形態においては、図6(セッション情報テーブル202aの概略図)に示すようなセッション情報テーブル202aがセッション情報記憶領域202に記憶される。
【0048】
セッション情報記憶テーブル202aは、接続先ID欄202bと、セッションID欄202cと、を有する。
【0049】
接続先ID欄202bには、接続先の装置を特定する情報が格納される。ここでは、接続先の装置を特定する情報として、各々の装置(端末装置1)に一意となるように割り振られた識別情報が格納される。例えば、接続先の装置が端末装置1である場合には、端末装置1を使用するユーザのユーザIDを利用することができる。
【0050】
セッションID欄202cには、接続先ID欄202bで特定される装置との間のセッションを特定する情報が格納される。ここでは、セッションを特定する情報として、各々のセッションを一意錦別するための識別情報であるセッションIDが格納される。例えば、接続先の装置がWebクライアントである場合、セッションID欄の値としては、当該WebクライアントからのHTTPリクエスト内でCookieヘッダの値として渡される文字列を格納することができる。
【0051】
図5に戻り、制御部204は、サービス提供部205と、セッション管理部206と、認証サーバ情報取得部207と、認証要求処理部208と、サービス通信部209と、を備える。
【0052】
サービス提供部205は、端末装置1から要求されたサービスを、端末装置1へ提供する処理を行う。
【0053】
セッション管理部206は、サービス提供サーバ2が他の装置との間で確立したセッションを管理する処理を行う。例えば、サービス提供サーバ2が端末装置1との間でセッションを確立すると、セッション情報テーブル202aに新たなレコードを生成し、接続先の装置のIDとセッションIDとを生成した新たなレコードに格納し、確立されたセッションが終了すると、当該セッションに対応するレコードを削除する。
【0054】
認証サーバ情報取得部207は、端末装置1から特定のサービスを要求された際に、当該端末装置1のユーザに対する認証を実行する認証サーバ3を特定する認証サーバ情報を、送受信部213及びネットワーク6を介して、認証仲介サーバ4から直接、もしくは端末装置1を介して間接的に、取得する処理を行う。
【0055】
例えば、認証仲介サーバ4が、非特許文献3に記載されるOpenID Authenticationのように、認証サーバ情報をXRDS文書で通知する場合、サービス提供サーバ2は、当該認証仲介サーバ4に対して、HTTPまたはHTTPSを用いて直接、認証サーバ情報を要求して、取得することができる。
【0056】
また、サービス提供サーバ2は、非特許文献2に記載されているIdentity Provider Discovery Profileに従い、HTTPリダイレクトを利用して、端末装置1を介して間接的に認証仲介サーバ4に認証サーバ情報を要求して、取得するようにしてもよい。
【0057】
認証要求処理部208は、認証仲介サーバ4から認証サーバ情報を受信した際に、送受信部213及びネットワーク6を介して、当該認証サーバ情報によって指定される認証サーバ3に対し、端末装置1を介して間接的に、ユーザの認証を要求する認証要求メッセージを送信する処理を行う。例えば、端末装置1と、サービス提供サーバ2と、認証サーバ3とが、HTTPまたはHTTPSを用いた通信が可能である場合には、HTTPリダイレクトを利用して、端末装置1を介して間接的に認証要求メッセージを送信することができる。
【0058】
サービス通信部209は、送受信部213及びネットワーク6を介して、端末装置1に対してサービスを提供するのに必要な情報を送受信する処理を行う。例えば、サービス通信部209としては、WebサイトやWebアプリケーションを利用するためのHTTP通信を可能とするプロトコルスタック等として構成することができる。
【0059】
入力部211は、情報の入力を受け付ける。
【0060】
出力部212は、情報を出力する。
【0061】
送受信部213は、ネットワーク6を介した情報の送受信を行う。
【0062】
以上に記載したサービス提供サーバ2は、例えば、図4に示すようなコンピュータ9により実現できる。
【0063】
例えば、記憶部201は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部204は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、入力部211は、CPU901が入力装置906を利用することで実現可能であり、出力部212は、CPU901が出力装置907を利用することで実現可能であり、送受信部213は、CPU901が送受信装置908を利用することで実現可能である。
【0064】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行される
ようにしてもよい。
【0065】
図7は、認証サーバ3の一例を示す概略図である。図示するように、認証サーバ3は、記憶部301と、制御部305と、入力部312と、出力部313と、送受信部314と、を備える。
【0066】
記憶部301は、セッション情報記憶領域302と、ユーザ属性情報記憶領域303と、を備える。
【0067】
セッション情報記憶領域302には、認証サーバ3が、ネットワーク6を介して他の装置との間で確立したセッションを特定するセッション情報が記憶される。例えば、本実施形態においては、図8(セッション情報テーブル302aの概略図)に示すようなセッション情報テーブル302aがセッション情報記憶領域302に記憶される。
【0068】
セッション情報記憶テーブル302aは、接続先ID欄302bと、セッションID欄302cと、を有する。
【0069】
接続先ID欄302bには、接続先の装置を特定する情報が格納される。ここでは、接続先の装置を特定する情報として、各々の装置(端末装置1)を一意に識別するための識別情報が格納される。例えば、接続先の装置が端末装置1である場合には、端末装置1を使用するユーザのユーザIDを利用することができる。
【0070】
セッションID欄302cには、接続先ID欄302bで特定される装置との間のセッションを特定する情報が格納される。ここでは、セッションを特定する情報として、各々のセッションに一意となるように割り振られた識別情報であるセッションIDが格納される。例えば、接続先の装置がWebクライアントである場合、セッションID欄の値としては、当該WebクライアントからのHTTPリクエスト内でCookieヘッダの値として渡される文字列を格納することができる。
【0071】
図7に戻り、ユーザ属性情報記憶領域303には、認証サーバ3が認証するユーザの属性を特定するユーザ属性情報が記憶される。例えば、本実施形態においては、図9(ユーザ属性情報テーブル303aの概略図)に示すようなユーザ属性情報テーブル303aがユーザ属性情報記憶領域303に記憶される。
【0072】
ユーザ属性情報テーブル303aは、ユーザID欄303bと、属性欄303cと、を有する。
【0073】
ユーザID欄303bには、端末装置1のユーザを特定する情報が格納される。ここでは、ユーザを特定する情報として、各々のユーザを一意に識別するための識別情報であるユーザIDが格納される。
【0074】
属性欄303cには、ユーザID欄303bで特定されるユーザの属性を特定する情報が格納される。ここでは、ユーザの属性を特定する情報として、例えば、ユーザの氏名、ユーザのメールアドレス、ユーザの住所、ユーザの電子証明書等を特定する情報のうち、認証サーバ3で行う認証方式に対応した情報が格納される。
【0075】
このユーザ属性情報は、サービス提供サーバ2からの要求を受け、ユーザの設定したポリシの範囲内でサービス提供サーバ2へ送信される。また、ユーザ属性記憶領域303には、認証に必要であれば、ユーザのパスワードを格納することもできる。
【0076】
制御部305は、認証要求処理部306と、認証実行部307と、認証結果生成部308と、セッション管理部309と、ユーザ属性管理部310と、を備える。
【0077】
認証要求処理部306は、サービス提供サーバ2から直接的に、または、端末装置1を介して間接的に、送信された認証要求メッセージを受信し、受信した認証要求メッセージに含まれるパラメータ(セッションID、ユーザID等)を取得する処理を行う。例えば、端末装置1と、サービス提供サーバ2と、認証サーバ3とが、HTTPまたはHTTPSを用いた通信が可能である場合には、認証サーバ3は、HTTPリダイレクトを利用して、サービス提供サーバ2から端末装置1を介して間接的に送信される認証要求メッセージを受信することができる。
【0078】
認証実行部307は、ユーザの認証に必要な処理を実行する。本実施形態においては、認証実行部307は、送受信部314及びネットワーク6を介して、端末装置1へ本人性を証明するための情報を要求する。例えば、認証サーバ3の実行する認証方式がTLSクライアント認証であった場合、認証実行部307は、端末装置1へ乱数列を送信し、当該端末装置1から返却された情報が、端末装置1の保有する秘密鍵で計算されたものであることを、ユーザ属性記憶領域303に格納された端末装置1の電子証明書を用いて検証することで、ユーザの認証を実行することができる。
【0079】
認証結果生成部308は、認証実行部307によって実行されたユーザ認証の結果を特定する認証結果情報を生成する。当該認証結果情報としては、例えば、非特許文献1に記載されるSAML Assertionと呼ばれるXML文書を利用することが可能である。
【0080】
セッション管理部309は、認証サーバ3が他の装置との間で確立したセッションを管理する処理を行う。例えば、認証サーバ3が端末装置1との間でセッションを確立すると、セッション情報テーブル302aに新たなレコードを生成し、接続先の装置のIDとセッションIDとを生成した新たなレコードに格納し、確立されたセッションが終了すると、当該セッションに対応するレコードを削除する。
【0081】
ユーザ属性管理部310は、端末装置1から要求を受け、ユーザ属性記憶領域303に記憶されているユーザ属性情報を作成、更新又は削除する処理を行う。
【0082】
また、ユーザ属性管理部310は、送受信部314及びネットワーク6を介して、サービス提供サーバ2から属性取得要求メッセージを受信すると、ユーザの設定したポリシの範囲内で、要求されたユーザ属性情報をサービス提供サーバ2へ送信する処理を行う。
【0083】
入力部312は、情報の入力を受け付ける。
【0084】
出力部313は、情報を出力する。
【0085】
送受信部314は、ネットワーク6を介した情報の送受信を行う。
【0086】
以上に記載した認証サーバ3は、例えば、図4に示すようなコンピュータ9により実現できる。
【0087】
例えば、記憶部301は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部305は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、入力部312は、CPU901が入力装置906を利用することで実現可能であり、出力部313は、CPU901が出力装置907を利用することで実現可能であり、送受信部314は、CPU901が送受信装置908を利用することで実現可能である。
【0088】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0089】
図10は、認証仲介サーバ4の構成の一例を示す概略図である。
【0090】
図示するように、認証仲介サーバ4は、記憶部401と、制御部411と、入力部418と、出力部419と、送受信部420と、を備える。
【0091】
記憶部401は、ユーザポリシ情報記憶領域402と、認証サーバ情報記憶領域403と、サービス提供サーバ要求情報記憶領域404と、認証レベル情報記憶領域405と、提供認証強度情報記憶領域406と、認証レベル定義情報記憶領域407と、ID情報記憶領域408と、属性情報記憶領域409と、を備える。
【0092】
ユーザポリシ情報記憶領域402には、ユーザ毎に、認証サーバ3を選択する選択指針を特定するユーザポリシ情報が格納される。例えば、本実施形態においては、図11(ユーザポリシ情報テーブル402aの概略図)に示すようなユーザポリシ情報テーブル402aがユーザポリシ情報記憶領域402に記憶される。
【0093】
ユーザポリシ情報テーブル402aは、ユーザID欄402bと、認証サーバID欄402cと、最終認証時刻欄402dと、優先度欄402eと、使用条件欄402fと、サービス提供サーバID条件欄402gと、を有する。
【0094】
ユーザID欄402bには、端末装置1のユーザを特定する情報が格納される。ここでは、ユーザを特定する情報として、各々のユーザに一意に割り当てられている識別情報であるユーザIDが格納される。
【0095】
ここで、一つのユーザIDには、一つ以上の認証サーバ関連情報がレコード(テーブルの行)の形で関連付けられる。認証サーバ関連情報は、認証サーバIDと、最終認証時刻と、優先度と、選択条件と、を有する。
【0096】
認証サーバID欄402cには、ユーザID欄402bで特定されるユーザを認証可能な認証サーバ3を特定する情報(ここでは、認証サーバID)が格納される。例えば、認証サーバ3がHTTPによる接続を受け入れる場合、認証サーバID欄402cの値として、http://www.hitachi.com/のようなURLを利用することができる。
【0097】
最終認証時刻欄402dには、ユーザID欄402bで特定されるユーザの認証に、認証サーバID欄402cで特定される認証サーバ3が、最後に選択された際の時刻を特定する情報(ここでは、年月日時間)が格納される。
【0098】
優先度欄402eには、ユーザID欄402bで特定されるユーザの認証に、認証サーバID欄402cで特定される認証サーバ3を選択する際の優先度を特定する情報が格納される。本実施形態においては、優先度欄402eに格納されている数値が小さいほど、選択する際の優先度(優先的に選択される度合い)が高くなるようにされているが、このような態様に限定されるわけではない。
【0099】
使用条件欄402fには、ユーザID欄402bで特定されるユーザの認証に、認証サーバID欄402cで特定される認証サーバ3を選択する際の条件を特定する情報が格納される。ここで、認証サーバ3を使用する際の条件を特定する情報として、例えば、ユーザのプレゼンス情報、ユーザが使用する端末装置1のプレゼンス情報、ユーザが使用する端末装置1の種類などを利用することができる。
【0100】
なお、使用条件欄402fに「*」の記号が格納されている場合には、認証サーバID欄402cで特定される認証サーバ3が使用される場合に満たすべき条件は存在しないこと(条件が課せられていないこと)を示すものとする。
【0101】
サービス提供サーバID条件欄402gには、ユーザID欄402bで特定されるユーザの認証に、認証サーバID欄402cで特定される認証サーバを選択するサービス提供サーバ2を特定する情報(ここでは、サービス提供サーバID)が格納される。例えば、ユーザID欄402bで特定されるユーザの認証に、認証サーバID欄402cで特定される認証サーバを使用するのは、サービス提供サーバID条件欄402gで特定されるサービス提供サーバ2より認証要求を受けた場合に、制限することができる。
【0102】
なお、サービス提供サーバID条件欄402gに「*」の記号が格納されている場合には、当該サービス提供サーバID条件欄が、全てのサービス提供サーバIDを含むこと(特定のサービス提供サーバ2に限定されないこと)を示すものとする。
【0103】
図10に戻り、認証サーバ情報記憶領域403には、認証仲介サーバ4がサービス提供サーバ2に対して紹介可能な認証サーバ3と、当該認証サーバ3が対応する認証方式と、当該認証サーバ3が保有するユーザの属性情報と、を特定する認証サーバ情報が記憶される。例えば、本実施形態においては、図12(認証サーバ情報テーブル403aの概略図)に示すような認証サーバ情報テーブル403aが認証サーバ情報記憶領域403に記憶される。
【0104】
認証サーバ情報テーブル403aは、認証サーバID欄403bと、対応認証方式欄403cと、保有属性情報欄403dと、を有する。
【0105】
認証サーバID欄403bには、認証サーバ3を特定する情報が格納される。ここでは、各々の認証サーバ3を一意に識別するための識別情報である認証サーバIDが格納される。
【0106】
一つの認証サーバIDには、一つ以上の対応認証方式と、一つ以上の保有属性情報が、レコード(テーブルの行)の形で関連付けられる。
【0107】
対応認証方式欄403cには、認証サーバID欄403bで特定される認証サーバ3によって実行可能な認証方式の種類を特定する情報が格納される。ここで、認証方式の種類を特定する情報として、各々の認証方式を一意に識別するための識別情報である認証方式名が格納される。
【0108】
保有属性情報欄403dには、認証サーバID欄403bによって特定される認証サーバ3が保有するユーザの属性情報の種類を特定する情報が格納される。ここで、ユーザ属性情報種類を特定する情報として、氏名、住所、メールアドレス、クレジットカード番号等のようなユーザ属性の名称が格納される。
【0109】
図10に戻り、サービス提供サーバ要求情報記憶領域404には、サービス提供サーバ2毎に、認証サーバ3を選択する選択指針を特定するサービス提供サーバ要求情報が記憶される。例えば、本実施形態においては、図13(サービス提供サーバ要求情報テーブル404aの概略図)に示すようなサービス提供サーバ要求情報テーブル404aがサービス提供サーバ要求情報記憶領域404に記憶される。
【0110】
サービス提供サーバ要求情報テーブル404aは、サービス提供サーバID欄404bと、連携認証サーバID欄404cと、要求認証レベル欄404dと、要求属性情報欄404eと、を有する。
【0111】
サービス提供サーバID欄404bには、サービス提供サーバ2を特定する情報が格納される。ここでは、サービス提供サーバ2を特定する情報として、各々のサービス提供サーバ2を一意に識別するための識別情報であるサービス提供サーバIDが格納される。
【0112】
一つのサービス提供サーバIDには、一つ以上の連携認証サーバIDと、一つ以上の要求認証方式と、一つ以上の要求属性情報と、が、レコード(テーブルの行)の形で関連付けられる。
【0113】
連携認証サーバID欄404cには、サービス提供サーバID欄404bで特定されるサービス提供サーバ2が、認証を委託するために事前に連携処理を行っている認証サーバ3を特定する情報が格納される。ここでは、認証サーバ3を特定する情報として、各々の認証サーバ3を一意に識別するための識別情報である認証サーバIDが格納される。なお、連携認証サーバID欄404cに「*」の記号が格納されている場合には、サービス提供サーバID欄404bで特定されるサービス提供サーバ2は、認証サーバ3との間で事前の連携処理を必要としないことを示す。
【0114】
要求認証レベル欄404dには、サービス提供サーバID欄404bで特定されるサービス提供サーバ2が、サービスを提供する際に要求する認証の安全性(強度)のレベル(要求認証レベル)を特定する情報が格納される。
【0115】
要求属性情報欄404eには、サービス提供サーバID欄404bで特定されるサービス提供サーバ2が、認証サーバ3に開示を要求するユーザの属性情報の種類を特定する情報が格納される。なお、要求属性情報欄404eに「*」の記号が格納されている場合には、サービス提供サーバID欄404bで特定されるサービス提供サーバ2は、認証サーバ3に対して特定の属性情報を要求しないことを示す。
【0116】
図10に戻り、認証レベル情報記憶領域405には、ユーザが受けた最新の認証レベル(現在認証レベル)を特定する認証レベル情報が格納される。例えば、本実施形態においては、図14(認証レベル情報テーブル405aの概略図)に示すような認証レベル情報テーブル405aが認証レベル情報記憶領域405に記憶される。
【0117】
認証レベル情報テーブル405aは、ユーザID欄405bと、現在認証レベル欄405cと、を有する。
【0118】
ユーザID欄405bには、ユーザを特定する情報が格納される。ここでは、各々のユーザを一意に識別するための識別情報であるユーザIDが格納される。
【0119】
現在認証レベル欄405cには、ユーザID欄405bで特定されるユーザが認証を受けた最新の認証レベル(現在受けている認証レベル)を特定する情報が格納される。
【0120】
図10に戻り、提供認証強度情報記憶領域406には、認証サーバ3で提供する認証方式と、当該認証方式の認証強度と、を特定する提供認証強度情報が記憶される。例えば、本実施形態においては、図15(提供認証強度情報テーブル406aの概略図)に示すような提供認証強度情報テーブル406aが提供認証強度情報記憶領域406に記憶される。
【0121】
提供認証強度情報テーブル406aは、認証サーバID欄406bと、提供認証方式欄406cと、認証強度欄406dと、提供URI欄406eと、を有する。
【0122】
認証サーバID欄406bには、認証サーバ3を特定する情報が格納される。ここでは、各々の認証サーバ3を一意に識別するための識別情報である認証サーバIDが格納される。
【0123】
提供認証方式欄406cには、認証サーバID欄406bで特定される認証サーバ3が提供する認証方式を特定する情報が格納される。
【0124】
認証強度欄406dには、認証サーバID欄406bで特定される認証サーバ3が、提供認証方式欄406cで特定される認証方式で行う認証の認証強度を特定する情報が格納される。ここで、本実施形態においては、認証強度欄406dに格納される数値が大きいほど、認証強度が高いこと(認証の安全性が高いこと)を示すものとする。
【0125】
提供URI欄406eには、認証サーバID欄406bで特定される認証サーバ3が、提供認証方式欄406cで特定される認証方式による認証を提供するURIを特定する情報が格納される。
【0126】
図10に戻り、認証レベル定義情報記憶領域407には、認証レベルの定義を特定する認証レベル定義情報が記憶される。例えば、本実施形態においては、図16(認証レベル定義情報テーブル407aの概略図)に示すような認証レベル定義情報テーブル407aが認証レベル定義情報記憶領域407aに記憶される。
【0127】
認証レベル定義情報テーブル407aは、認証レベル欄407bと、定義欄407cと、を有する。
【0128】
認証レベル欄407bには、認証レベルを特定する情報が格納される。
【0129】
定義欄407cには認証レベル欄407bで特定される認証レベルを満足するために実施する必要のある認証の方法を特定する情報が格納される。ここで、本実施形態においては、定義欄407cにおいて、認証強度と、認証の回数と、の組合せにより、各々認証レベルに応じた認証の方式を特定している。
【0130】
なお、本実施形態の認証レベル定義では、サービス提供者がある認証レベルを要求している場合、ユーザがそれよりも大きな数字の認証レベルを満足している場合には、要求認証レベルを満足する、と判定するようにしている。
【0131】
図10に戻り、ID情報記憶領域408には、ユーザが各々のサービス提供サーバ2で使用する固有のユーザIDを特定するID情報が記憶される。例えば、本実施形態においては、図17(ID情報テーブル408aの概略図)に示すようなID情報テーブル408aがID情報記憶領域408に記憶される。
【0132】
ID情報テーブル408aは、ユーザID欄408bと、サーバID欄408cと、サービス固有ユーザID欄408dと、を有する。
【0133】
ユーザID欄408bには、ユーザを特定する情報が格納される。ここでは、各々のユーザを一意に識別するための識別情報であるユーザIDが格納される。
【0134】
サーバID欄408cには、ユーザID欄408bで特定されるユーザがサービスの提供を受けるサービス提供サーバ2を特定する情報が格納される。ここでは、各々のサービス提供サーバ2を一意に識別するための識別情報であるサービス提供サーバIDが格納される。
【0135】
サービス固有ユーザID欄408dには、ユーザID欄408bで特定されるユーザが、サーバID欄408cで特定されるサービス提供サーバ2において使用している識別情報(サービス固有ユーザID)を特定する情報が格納される。
【0136】
図10に戻り、属性情報記憶領域409には、ユーザの属性を特定する属性情報が格納される。例えば、本実施形態においては、図18(属性情報テーブル409aの概略図)に示すような属性情報テーブル409aが属性情報記憶領域409に記憶される。
【0137】
属性情報テーブル409aは、ユーザID欄409bと、属性型欄409cと、属性値欄409dと、を有する。
【0138】
ユーザID欄409bには、ユーザを特定する情報が格納される。ここでは、各々のユーザを一意に識別するための識別情報であるユーザIDが格納される。
【0139】
属性型欄409cには、ユーザID欄409bで特定されるユーザの属性の種類を特定する情報が格納される。
【0140】
属性値欄409dには、ユーザID欄409bで特定されるユーザが、属性型欄409cで特定される属性の種類において使用する属性の値を特定する情報が格納される。
【0141】
図10に戻り、制御部411は、情報取得要求処理部412と、認証サーバ選択部413と、ユーザポリシ管理部414と、ユーザ情報取得部415と、アイデンティティ変換部416と、を有する。
【0142】
情報取得要求処理部412は、送受信部420及びネットワーク6を介して、サービス提供サーバ2から直接、もしくは端末装置1を介して間接的に、情報取得要求メッセージを受信すると、受信した情報取得要求メッセージに含まれるユーザID及びサービス提供サーバIDを取得し、認証サーバ選択部413に出力する。
【0143】
なお、受信した当該情報取得要求メッセージにユーザIDが含まれていない場合には、端末装置1に対して、送受信部420及びネットワーク6を介して、ユーザIDの入力を要求する応答メッセージ(例えばformタグを含むHTTPレスポンス)を返信し、ユーザIDを取得するようにすることも可能である。
【0144】
認証サーバ選択部413は、情報取得要求処理部412から、ユーザID及びサービス提供サーバIDを取得すると、記憶部401のユーザポリシ情報記憶領域402に記憶されているユーザポリシ情報と、認証サーバ情報記憶領域403に記憶されている認証サーバ情報と、サービス提供サーバ要求情報記憶領域404に記憶されているサービス提供サーバ要求情報と、から取得したユーザID及びサービス提供サーバIDに該当する情報を取得するとともに、後述するユーザ情報取得部415が取得したユーザのプレゼンス情報などを参照して、ユーザの認証に使用すべき認証サーバ3を選択する。
【0145】
また、認証サーバ選択部413は、選択した認証サーバ3を特定する認証サーバ情報を、サービス提供サーバ2に対して直接、もしくは端末装置1を介して間接的に送信する。例えば、非特許文献3に記載されるOpenID Authenticationのように、認証サーバ3の情報をXRDS文書として表現し、サービス提供サーバ2に送信することができる。また、非特許文献2に記載されているIdentity Provider Discovery Profileに従い、HTTPリダイレクトを利用して、端末装置1を介して間接的に認証サーバ情報をサービス提供サーバ2へ送信してもよい。
【0146】
ユーザポリシ管理部414は、送受信部420及びネットワーク6を介して、端末装置1からユーザID、当該ユーザIDによって特定されるユーザが使用する認証サーバ3の認証サーバID、当該認証サーバ3の優先度、当該認証サーバ3を選択する条件(使用条件、サービス提供サーバID条件)、を特定する情報を取得し、記憶部401のユーザポリシ情報記憶領域402に記憶されたユーザポリシ情報テーブル402aに対して、レコードを作成、更新、もしくは削除する。
【0147】
ユーザ情報取得部415は、送受信部420及びネットワーク6を介して、プレゼンスサーバ5に対してユーザIDを特定したプレゼンス情報取得要求を送信することで、プレゼンスサーバ5から、当該ユーザIDに対応するユーザのプレゼンス情報を取得する。また、ネットワーク6上に、プレゼンスに類するユーザの情報を管理するサーバが存在する場合には、当該サーバからユーザ情報を取得する。
【0148】
アイデンティティ変換部416は、ID情報記憶領域408に記憶されているID情報及び属性情報記憶領域409に記憶されている属性情報を管理する処理を行う。
【0149】
また、アイデンティティ変換部416は、サービス提供サーバ2が要求する要求属性情報を、属性情報記憶領域409から取得して、送受信部420及びネットワーク6を介して、直接、または、端末装置1を介して間接的に、サービス提供サーバ2に送信する処理を行う。
【0150】
入力部418は、情報の入力を受け付ける。
【0151】
出力部419は、情報を出力する。
【0152】
送受信部420は、ネットワーク6を介した情報の送受信を行う。
【0153】
以上に記載した認証仲介サーバ4は、例えば、図4に示すようなコンピュータ9により実現できる。
【0154】
例えば、記憶部401は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部411は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、入力部418は、CPU901が入力装置906を利用することで実現可能であり、出力部419は、CPU901が出力装置907を利用することで実現可能であり、送受信部420は、CPU901が送受信装置908を利用することで実現可能である。
【0155】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0156】
図19は、プレゼンスサーバ5の一例を示す概略図である。図示するように、プレゼンスサーバ5は、記憶部501と、制御部504と、入力部508と、出力部509と、送受信部510と、を備える。
【0157】
記憶部501は、プレゼンス情報記憶領域502を備える。
【0158】
プレゼンス情報記憶領域502には、端末装置1のユーザの状況を特定するプレゼンス情報が記憶される。例えば、本実施形態においては、図20(プレゼンス情報テーブル502aの概略図)に示すようなプレゼンス情報テーブル502aがプレゼンス情報記憶領域502に記憶される。
【0159】
プレゼンス情報テーブル502aは、ユーザID欄502bと、プレゼンス情報欄502cと、を有する。
【0160】
ユーザID欄502bには、ユーザを特定する情報が格納される。ここでは、各々のユーザを一意に識別するための識別情報であるユーザIDが格納される。
【0161】
プレゼンス情報欄502cには、ユーザID欄502bで特定されるユーザの状況(プレゼンス)を特定するプレゼンス情報が格納される。
【0162】
図19に戻り、制御部504は、情報取得要求処理部505と、情報更新要求処理部506と、を備える。
【0163】
情報取得要求処理部505は、送受信部510及びネットワーク6を介して、認証仲介サーバ4から情報取得要求メッセージを受信すると、取得した情報取得要求メッセージに含まれるユーザIDを取得し、当該ユーザIDをキーとしてプレゼンス情報記憶領域502に記憶されているプレゼンス情報を検索する。検索の結果、当該ユーザIDによって特定されるユーザのプレゼンス情報を取得すると、送受信部510及びネットワーク6を介して、情報取得要求メッセージを送信してきた認証仲介サーバ4に返信する。
【0164】
情報更新要求処理部506は、送受信部510及びネットワーク6を介して、端末装置1から情報更新要求メッセージを受信すると、受信した情報更新要求メッセージに含まれるユーザIDおよびプレゼンス情報を取得し、プレゼンス情報記憶領域502内の、当該ユーザIDに対応するレコードを作成もしくは更新する。
【0165】
入力部508は、情報の入力を受け付ける。
【0166】
出力部509は、情報を出力する。
【0167】
送受信部510は、ネットワーク6を介した情報の送受信を行う。
【0168】
以上に記載したプレゼンスサーバ5は、例えば、図4に示すようなコンピュータ9により実現できる。
【0169】
例えば、記憶部501は、CPU901がメモリ902又は外部記憶装置903を利用することにより実現可能であり、制御部504は、外部記憶装置903に記憶されている所定のプログラムをメモリ902にロードしてCPU901で実行することで実現可能であり、入力部508は、CPU901が入力装置906を利用することで実現可能であり、出力部509は、CPU901が出力装置907を利用することで実現可能であり、送受信部510は、CPU901が送受信装置908を利用することで実現可能である。
【0170】
この所定のプログラムは、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、外部記憶装置903にダウンロードされ、それから、メモリ902上にロードされてCPU901により実行されるようにしてもよい。また、読書装置905を介して記憶媒体904から、あるいは、送受信装置908を介してネットワークから、メモリ902上に直接ロードされ、CPU901により実行されるようにしてもよい。
【0171】
図21及び図22は、認証システム10で認証を行う際の処理の一例を示すシーケンスである。
【0172】
本シーケンスにおいては、ユーザID“user001”により識別されるユーザが、端末装置1を使用して、サービス提供サーバID“sp001”により識別されるサービス提供サーバ2Aと、サービス提供サーバID“sp002”により識別されるサービス提供サーバ2Bと、に対してサービスの提供を要求した場合における、各装置における処理を示す。なお、端末装置1とその他の装置との間でセッションは確立されていないことを前提とする。
【0173】
また、認証サーバ3Aは認証サーバID“idp001”により識別され、認証サーバ3Bは認証サーバID“idp002”によって識別されるものとする。
【0174】
さらに、“sp001”のサービス提供サーバIDで特定されるサービス提供サーバ2Aは、認証仲介サーバ4に対して認証サーバ3の取得(選択)を要求する際、端末装置1を介して間接的に要求メッセージを送信するものとし、一方、サービス提供サーバID“sp002”で特定されるサービス提供サーバ2Bは、認証仲介サーバ4に対して認証サーバ3の取得(選択)を要求する際、端末装置1を介さず、要求メッセージを直接送信するものとする。
【0175】
図21では、端末装置1のユーザが、サービスサーバ2Aからサービスの提供を受ける場合のシーケンスを示す。
【0176】
まず、端末装置1のユーザが、入力部115を介して、サービス提供サーバ2Aからサービスの提供を受けるためのサービス要求操作を実行した場合、端末装置1のサービス要求生成部107は、端末装置1のユーザのユーザID“user001”を特定したサービス要求メッセージを生成し、送受信部117及びネットワーク6を介して、生成したサービス要求メッセージをサービス提供サーバ2Aへ送信する(S10)。ここで、本実施形態においては、サービス要求メッセージは、HTTPのGETリクエストやPOSTリクエスト等を用いて記述されるが、このような態様に限定されるわけではない。
【0177】
サービス提供サーバ2Aでは、送受信部211及びネットワーク6を介してサービス要求メッセージを受信すると、サービス通信部209が、当該サービス要求メッセージにセッション情報が含まれているか否かを確認し(本シーケンスではセッション情報が含まれていないものとして説明する)、セッション情報が存在しないことが判明すると、認証サーバ情報取得部207が、ユーザID“user001”及びサービス提供サーバID“sp001”を特定した情報取得要求メッセージを生成し、送受信部213及びネットワーク6を介して、端末装置1を経由する形で、認証仲介サーバ4へ送信する(S11、S12)。
【0178】
認証仲介サーバ4は、送受信部412及びネットワーク6を介して情報取得要求メッセージを受信すると、情報取得要求処理部412が、受信した情報取得要求メッセージに含まれるユーザID及びサービス提供サーバIDを取得して、認証サーバの候補を選択する処理に移る。ここでは、ユーザIDとして“user001”が取得され、サービス提供サーバIDとして“sp001”が取得される。
【0179】
そして、ユーザ情報取得部415が、情報取得要求処理部412で取得したユーザIDを特定したプレゼンス情報取得要求メッセージを生成し、送受信部420及びネットワーク6を介して、生成したプレゼンス情報取得要求メッセージをプレゼンスサーバ5に送信する(S13)。
【0180】
このようなプレゼンス情報取得要求メッセージを受信したプレゼンスサーバ5では、情報取得要求処理部505が、受信したプレゼンス情報取得要求メッセージに含まれるユーザID(ここでは、“user001”)に対応するプレゼンス情報をプレゼンス情報記憶領域502から取得し、取得したプレゼンス情報を含む応答メッセージを認証仲介サーバ4に返信する(S14)。例えば、図20に示すプレゼンス情報テーブル502では、ユーザID“user001”に対応するプレゼンス情報として「自宅」を特定する情報が取得される。
【0181】
次に、認証サーバ選択部413が、認証サーバ3の選択処理を行う(S15)。
【0182】
例えば、まず、認証サーバ選択部413は、ユーザID“user001”をキーとして、ユーザポリシ情報記憶領域402に記憶されているユーザポリシ情報テーブル402aからポリシ情報(認証サーバID、最終認証時刻、優先度、使用条件、サービス提供サーバID条件)の集合(レコードの集合)を取得し、認証サーバ3の候補群として記憶部401に記憶する。例えば、図11に示すユーザポリシ情報テーブル402aでは、ユーザID“user001”に対応するユーザポリシ情報として、テーブル402aの上から4レコード(認証サーバID“idp001”、“idp002”、“idp003”、“idp004”に対応する4レコード)、が取得される。
【0183】
次に、認証サーバ選択部413は、サービス提供サーバID“sp001”をキーとして、サービス提供サーバ要求情報記憶領域404に記憶されているサービス提供サーバ要求情報テーブル404aからサービス提供サーバ要求情報(連携認証サーバID、要求認証レベル、要求属性情報)を取得する。例えば、図12に示すサービス提供サーバ要求情報テーブル404aでは、サービス提供サーバID“sp001”に対応するサービス提供サーバ要求情報として、最も上のレコードに格納されている連携認証サーバIDが「*」、要求認証レベルが「2」、要求属性情報が「メールアドレス」、となっている情報が取得される。
【0184】
続いて、認証サーバ選択部407は、不足している認証強度を判定する処理を行う。
【0185】
まず、認証サーバ選択部413は、認証レベル情報記憶領域405に記憶されている認証レベル情報テーブル405aより、ユーザID“user001”に対応する最新(現在)の認証レベルを取得する。ここでは、ユーザID“user001”で識別されるユーザはまだ認証を受けていないため、現在の認証レベルは「0」であるとする。
【0186】
上述のように、サービス提供サーバ要求情報テーブル404aから取得したサービス提供サーバ要求情報では、要求認証レベルが「2」であるため、認証サーバ選択部413は、認証強度が不足していると判定する。
【0187】
そして、認証サーバ選択部413は、認証レベル定義テーブル407aを参照して、ユーザID“user001”で識別されるユーザの現在の認証レベル「0」と、要求認証レベル「2」と、を比較して、要求認証レベル「2」を満足するために必要な認証強度を判定する。例えば、図16に示す認証レベル定義テーブル407aでは、認証レベル「0」は「認証を受けていない」状態であり、認証レベル「2」は「認証強度が2の認証方式で1回認証を受ける」状態であるため、不足している認証強度は「2」であり、この認証強度「2」の認証を一回行えば、要求認証レベル「2」を満足することができると判定する。
【0188】
続いて、認証サーバ選択部407は、認証サーバ3の候補を絞り込む処理を行う。
【0189】
まず、認証サーバ選択部407は、サービス提供サーバID“sp001”をキーとしてサービス提供サーバ要求情報テーブル404aから取得したサービス提供サーバ要求情報に含まれる連携認証サーバIDと一致する認証サーバIDを有するものを、記憶部401に記憶された認証サーバ3の候補群から選択する。ここではサービス提供サーバ“sp001”の連携認証サーバの値が「*」であるため、認証サーバ3の候補群内の全ての認証サーバ3が候補として残される。
【0190】
次に、認証サーバ選択部407は、認証サーバ3の候補群から、サービス提供サーバID条件の値が、情報取得要求メッセージの送信元であるサービス提供サーバ2のサービス提供サーバIDを含むものだけを選択し、それ以外のものを候補群から削除する。ここでは、情報取得要求メッセージの送信元であるサービス提供サーバのID“sp001”は各レコードのサービス提供サーバID条件に含まれるため、候補群内の全ての認証サーバ3が候補として残される。
【0191】
次に、認証サーバ選択部407は、認証サーバ情報記憶領域403に記憶されている認証サーバ情報テーブル403aから、認証サーバ3の候補群に残った認証サーバ3の認証サーバIDに対応する認証サーバ情報(要求認証レベル、保有属性情報)を取得し、記憶部401内の候補群の各々に追加する(各々に関連付ける)。
【0192】
次に、認証サーバ選択部407は、認証サーバ3の候補群内の認証サーバ3において、認証強度情報記憶領域406に記憶されている認証強度情報テーブル406aから、認証強度が上述のようにして判定した不足している認証強度と一致し、かつ、保有属性情報が要求属性情報と一致するものだけを選択する。
【0193】
ここでは、不足している認証強度が「2」で、要求属性情報として「メールアドレス」が指定されているため、認証強度情報テーブル406a及び認証サーバ情報テーブル403aにおいてこれらに適合するものとして、“idp001”及び“idp002”が候補群に残される。認証サーバ“idp004”については認証強度が「1」であるため、また、認証サーバ“idp003”については、保有属性情報が「クレジットカード番号」のみに限られ、要求属性情報「メールアドレス」を含まないため、それぞれ候補群から削除される。
【0194】
次に、認証サーバ選択部407は、候補群に残った認証サーバ3の内、使用条件の値がステップS14で取得したユーザのプレゼンス情報と一致するものだけを残し、一致しないものを候補群から削除する。ここでは、プレゼンス情報として「自宅」を特定する情報が得られているため、候補群の内、使用条件が「自宅」もしくは「*」(使用条件を指定していないことを示す)に一致する“idp001”と“idp002”が候補群に残される。
【0195】
次に、認証サーバ選択部407は、候補群の中で最も優先度が高い候補を残し、その他の候補を候補群から削除する。図11に示すユーザポリシ情報テーブル402aでは、これらの候補群“idp001”及び“idp002”はともに同じ優先度「10」をもつため、候補群の絞り込みは行われない。
【0196】
次に、認証サーバ選択部407は、候補群内で最終認証時刻が最も古い候補を選択する。図11に示すユーザポリシ情報テーブル402aでは、“idp001”の最終認証時刻が「2008−08−19T10:03:28」で、“idp002”の最終認証時刻が「2008−07−30T17:32:15」であるため、最終認証時刻の最も古いものとして、“idp002”が候補として選ばれる。
【0197】
この段階で候補として選択された認証サーバ3について、ユーザポリシ記憶領域402に記憶されているユーザポリシ情報テーブル402aの最終認証時刻欄402dの値を、現在の時刻で置き換える。ここでは、“idp002”の最終認証時刻欄が現在時刻(例えば、2008−08−22T16:50:36とする)で書き換えられる。
【0198】
以上で、ステップS15の認証サーバ3の選択処理が終了する。
【0199】
次に、認証サーバ選択部413は、候補として選択された認証サーバ3Bが提供する認証方式(認証強度の不足に対応するもの)の提供URIを提供認証強度情報記憶領域406に記憶されている提供認証強度情報テーブル406aの提供URI欄406eより取得して、取得した提供URIを特定する情報を含む応答メッセージ(情報取得要求メッセージに対する)を生成して、サービス提供サーバ2Aへ、端末装置1を介して間接的に送信する(S16、S17)。ここでは、認証サーバID“idp002”が提供する電子証明書型認証方式の提供URI“https://idp002/”が、端末装置1を介して間接的に、サービス提供サーバ2Aへ送信される。
【0200】
サービス提供サーバ2Aは、認証仲介サーバ4から情報取得メッセージに対する応答メッセージを受信すると、認証サーバ情報取得部207が、受信した応答メッセージから提供URIを取得して、認証要求処理部208が、提供URIに対して端末装置1を介して認証要求メッセージを送信する(S18、S19)。
【0201】
認証サーバ3Bは、認証実行部307が、ユーザが使用する端末装置1との間で認証処理を実行する(S20)。ここでは、図12の認証サーバ情報テーブル403aに示されるように、認証サーバID“idp002”で特定される認証サーバ3は電子証明書型認証方式にのみ対応しているため、認証実行部307は、送受信部314及びネットワーク6を介して、端末装置1に対してユーザの電子証明書を要求し、取得する。
【0202】
そして、認証実行部307は、取得した電子証明書の正当性を確認し(ここでは、電子証明書が正当なものであるとして説明する)、認証結果生成部308が、ユーザが認証に成功したことを示す認証結果メッセージを生成し、端末装置1を介して間接的に、サービス提供サーバ2Aに送信する(S21、S22)。
【0203】
サービス提供サーバ2Aでは、認証サーバ3Bより認証結果メッセージを受信すると、認証要求処理部208が、受信した認証結果メッセージより認証結果を特定する情報を取得し、認証結果の正当性を確認する(S23)。
【0204】
認証結果を検証した結果、ユーザの正当性が確認できると、認証サーバ情報取得部207が、前記提供URIが提供している認証方式での認証が成功したことを伝える情報取得要求メッセージを生成し、送受信部213及びネットワーク6を介して、端末装置1を経由する形で、認証仲介サーバ4へ送信する(S24、S25)。
【0205】
そして、認証仲介サーバ4では、送受信部420及びネットワーク6を介して情報取得要求メッセージを受信すると、情報取得要求処理部412が、受信した情報取得要求メッセージに含まれるユーザID及びサービス提供サーバIDを取得し、認証サーバの候補を選択する処理に移る(S26)。
【0206】
ここで、認証サーバ選択部413では、上述のステップS15において、ユーザID“user001”で識別されるユーザの現在認証レベルが「2」に更新された結果、追加的な認証は不要であると判定し、提供URIを含まず、ユーザID“user001”を含む応答メッセージを作成し、送受信部420及びネットワーク6を介して、端末装置1を経由する形で、サービス提供サーバ2Aへ送信する(S27、S28)。
【0207】
なお、ステップS27、S28で送信する応答メッセージには、ID情報記憶領域408に記憶されているID情報(サービス提供サーバ2Aに対するサービス固有ユーザID)と、属性情報記憶領域409に記憶されている属性情報(サービス提供サーバ2Aが要求する要求属性情報に対応するもの)を含める。
【0208】
サービス提供サーバ2Aでは、認証仲介サーバ4から応答メッセージを受信すると、認証要求処理部208が、当該応答メッセージからユーザIDを取得するとともに、セッション管理部206が新規にセッションIDを生成し、セッション情報記憶領域202に記憶されているセッション情報テーブル202aに当該ユーザIDと当該セッションIDの組を格納して、サービス提供部205が端末装置1に対して要求されたサービスを提供する(S29)。
【0209】
なお、サービス提供サーバ2Aでは、ステップS27、S28で送信されてきたID情報及び属性情報を、サービスを提供する際に使用することができる。例えば、サービス提供サーバ2Aで提供するサービスに必要なログイン処理や検証処理等にこれらの情報を使用したり、サービス提供サーバ2Aを介して購入した物品の支払いに属性情報に含まれるクレジットカード番号を用いたり、サービス提供サーバ2Aからの情報提供に属性情報に含まれるメールアドレスを使用したり、といった使用方法がある。
【0210】
次に、図22では、図21に示したシーケンスに引き続いて、端末装置1のユーザが、サービス提供サーバ2Bからサービスの提供を受ける場合のシーケンスを示す。
【0211】
まず、端末装置1のユーザが、端末装置1の入力部115を介して、サービス提供サーバ2Bからサービス提供を受けるためのサービス要求操作を実行した場合、端末装置1のサービス要求生成部107は、端末装置1のユーザのユーザID“user001”を特定したサービス要求メッセージを生成し、送受信部117及びネットワーク6を介して、生成したサービス要求メッセージをサービス提供サーバ2Bへ送信する(S30)。
【0212】
サービス提供サーバ2Bでは、送受信部213及びネットワーク6を介してサービス要求メッセージを受信すると、サービス通信部208が、受信したサービス要求メッセージにセッション情報が含まれるか否かを確認し(ここでは、セッション情報が含まれていないものとして説明を行う)、セッション情報が含まれていない場合には、認証サーバ情報取得部207が、ユーザID及びサービス提供サーバIDを特定した情報取得要求メッセージを生成し、送受信部213及びネットワーク6を介して、認証仲介サーバ4へ送信する(S31)。
【0213】
認証仲介サーバ4では、送受信部420及びネットワーク6を介して情報取得要求メッセージを受信すると、情報取得要求処理部412が、受信したメッセージに含まれるユーザID及びサービス提供サーバIDを取得し、認証サーバ3の候補を選択する処理に移る。ここでは、ユーザIDとして“user001”が取得され、サービス提供サーバIDとしては“sp002”が取得される。
【0214】
次に、ユーザ情報取得部415は、情報取得要求処理部412で取得したユーザIDを特定したプレゼンス情報取得要求メッセージを生成し、送受信部420及びネットワーク6を介して、生成したプレゼンス情報取得要求メッセージをプレゼンスサーバ5に送信する(S32)。
【0215】
このようなプレゼンス情報取得要求メッセージを受信したプレゼンスサーバ5では、情報取得要求処理部505が、受信したプレゼンス情報取得要求メッセージに含まれるユーザID(ここでは、“user001”)に対応するプレゼンス情報をプレゼンス情報記憶領域502から取得し、取得したプレゼンス情報を含む応答メッセージを認証仲介サーバ4に返信する(S33)。例えば、図20に示すプレゼンス情報テーブル502では、ユーザID“user001”に対応するプレゼンス情報として「自宅」を特定する情報が取得される。
【0216】
次に、認証サーバ選択部413が、認証サーバ3の選択処理を行う(S34)。
【0217】
例えば、まず、認証サーバ選択部413は、ユーザID“user001”をキーとして、ユーザポリシ情報記憶領域402に記憶されているユーザポリシ情報テーブル402aからポリシ情報(認証サーバID、最終認証時刻、優先度、使用条件、サービス提供サーバID条件)の集合(レコードの集合)を取得し、認証サーバ3の候補群として記憶部401に記憶する。例えば、図11に示すユーザポリシ情報テーブル402aでは、ユーザID“user001”に対応するユーザポリシ情報として、テーブル402aの上から4レコード(認証サーバID“idp001”、“idp002”、“idp003”、“idp004”に対応する4レコード)、が取得される。
【0218】
次に、認証サーバ選択部413は、サービス提供サーバID“sp002”をキーとして、サービス提供サーバ要求情報記憶領域404に記憶されているサービス提供サーバ要求情報テーブル404aからサービス提供サーバ要求情報(連携認証サーバID、要求認証レベル、要求属性情報)を取得する。例えば、図12に示すサービス提供サーバ要求情報テーブル404aでは、サービス提供サーバID“sp002”に対応するサービス提供サーバ要求情報として、上から二番目のレコードに格納されている連携認証サーバIDが「*」、要求認証レベルが「3」、要求属性情報が「*」、となっている情報が取得される。
【0219】
続いて、認証サーバ選択部407は、不足している認証強度を判定する処理を行う。
【0220】
まず、認証サーバ選択部413は、認証レベル情報記憶領域405に記憶されている認証レベル情報テーブル405aより、ユーザID“user001”に対応する最新(現在)の認証レベルを取得する。ここでは、ユーザID“user001”で識別されるユーザは図21で示す処理により、“idp002”の電子証明書型認証方式での認証を受けているため、現在の認証レベルは「2」であるとする。
【0221】
上述のように、サービス提供サーバ要求情報テーブル404aから取得したサービス提供サーバ要求情報では、要求認証レベルが「4」であるため、認証サーバ選択部413は、認証強度が不足していると判定する。
【0222】
そして、認証サーバ選択部413は、認証レベル定義テーブル407aを参照して、ユーザID“user001”で識別されるユーザの現在の認証レベル「2」と、要求認証レベル「4」と、を比較して、要求認証レベル「4」を満足するために必要な認証強度を判定する。例えば、図16に示す認証レベル定義テーブル407aでは、認証レベル「2」は「認証強度が2の認証方式で1回認証を受ける」状態であり、認証レベル「4」は「認証強度が1の認証方式と認証強度が2の認証方式でそれぞれ1回以上認証を受ける」状態であるため、不足している認証強度は「1」であり、この認証強度「1」の認証を一回行えば、要求認証レベル「4」を満足することができると判定する。
【0223】
続いて、認証サーバ選択部407は、認証サーバ3の候補を絞り込む処理を行う。
【0224】
まず、認証サーバ選択部407は、サービス提供サーバID“sp002”をキーとしてサービス提供サーバ要求情報テーブル404aから取得したサービス提供サーバ要求情報に含まれる連携認証サーバIDと一致する認証サーバIDを有するものを、記憶部401に記憶された認証サーバ3の候補群から選択する。ここではサービス提供サーバ“sp002”の連携認証サーバの値が「*」であるため、認証サーバ3の候補群内の全ての認証サーバ3が候補として残される。
【0225】
次に、認証サーバ選択部407は、認証サーバ3の候補群から、サービス提供サーバID条件の値が、情報取得要求メッセージの送信元であるサービス提供サーバ2のサービス提供サーバIDを含むものだけを選択し、それ以外のものを候補群から削除する。ここでは、情報取得要求メッセージの送信元であるサービス提供サーバのID“sp002”は“idp003”を除く各レコードのサービス提供サーバID条件に含まれるため、“idp001”と、“idp002”と、“idp004”と、が候補群に残される。これは、ユーザ“user001”が、サービス提供サーバ“sp002”のサービス利用に際しては、認証サーバ“idp003”の利用を望んでいないことを示している。
【0226】
次に、認証サーバ選択部407は、認証サーバ情報記憶領域403に記憶されている認証サーバ情報テーブル403aから、認証サーバ3の候補群に残った認証サーバ3の認証サーバIDに対応する認証サーバ情報(要求認証レベル、保有属性情報)を取得し、記憶部401内の候補群の各々に追加する(各々に関連付ける)。
【0227】
次に、認証サーバ選択部407は、認証サーバ3の候補群内の認証サーバ3において、認証強度情報記憶領域406に記憶されている認証強度情報テーブル406aから、認証強度が上述のようにして判定した不足している認証強度と一致し、かつ、保有属性情報が要求属性情報と一致するものだけを選択する。
【0228】
ここでは、不足している認証強度が「1」で、要求属性情報として「*」が指定されているため、認証強度情報テーブル406a及び認証サーバ情報テーブル403aにおいてこれらに適合するものとして、“idp001”及び“idp004”が候補群に残される。認証サーバ“idp002”については認証強度が「2」であるため、候補群から削除される。
【0229】
次に、認証サーバ選択部407は、候補群に残った認証サーバ3の内、使用条件の値がステップS33で取得したユーザのプレゼンス情報と一致するものだけを残し、一致しないものを候補群から削除する。ここでは、プレゼンス情報として「自宅」を特定する情報が得られているため、候補群の内、使用条件が「自宅」もしくは「*」(使用条件を指定していないことを示す)に一致する“idp001”が候補群に残される。
【0230】
次に、認証サーバ選択部407は、候補群の中で最も優先度が高い候補を残し、その他の候補を候補群から削除する。ここでは、候補が“idp001”のみのため、候補群の絞り込みは行われない。
【0231】
次に、認証サーバ選択部407は、候補群内で最終認証時刻が最も古い候補を選択する。ここでは、候補が“idp001”のみのため、候補群の絞り込みは行われない。
【0232】
この段階で候補として選択された認証サーバ3について、ユーザポリシ記憶領域402に記憶されているユーザポリシ情報テーブル402aの最終認証時刻欄402dの値を、現在の時刻で置き換える。ここでは、“idp001”の最終認証時刻欄が現在時刻で書き換えられる。
【0233】
以上で、ステップS15の認証サーバ3の選択処理が終了する。
【0234】
次に、認証サーバ選択部413は、候補として選択された認証サーバ3Aが提供する認証方式の提供URIを提供認証強度情報記憶領域406に記憶されている提供認証強度情報テーブル406aの提供URI欄406eより取得して、取得した提供URIを特定する情報を含む応答メッセージ(情報取得要求メッセージに対する)を生成して、サービス提供サーバ2Bへ送信する(S35)。ここでは、認証サーバID”idp001”が提供するID/PW認証方式の提供URI“https://idp001/passwd/”が、サービス提供サーバ2Bへ送信される。
【0235】
サービス提供サーバ2Bは、認証仲介サーバ4から情報取得メッセージに対する応答メッセージを受信すると、認証サーバ情報取得部207が、受信した応答メッセージから提供URIを取得して、認証要求処理部208が、提供URIに対して端末装置1を介して認証要求メッセージを送信する(S37、S38)。
【0236】
認証サーバ3Aは、認証実行部307が、ユーザが使用する端末装置1との間で認証処理を実行する(S38)。ここでは、認証実行部307は、送受信部314及びネットワーク6を介して、端末装置1に対してユーザID及びパスワードを要求し、取得する。
【0237】
そして、認証実行部307は、取得したユーザIDをキーとして、ユーザ属性情報記憶領域303に記憶されているユーザ属性情報テーブル303aを検索し、対応する属性欄303cに格納されているパスワードと、取得したパスワードと、が対応するか否かにより取得したユーザID及びパスワードの正当性を確認し(ここでは、ユーザID及びパスワードが正当なものであるとして説明する)、認証結果生成部308が、ユーザが認証に成功したことを示す認証結果メッセージを生成し、端末装置1を介して間接的に、サービス提供サーバ2Bに送信する(S39、S40)。
【0238】
サービス提供サーバ2Bでは、認証サーバ3Aより認証結果メッセージを受信すると、認証要求処理部208が、受信した認証結果メッセージより認証結果を特定する情報を取得し、認証結果の正当性を確認する(S41)。
【0239】
認証結果を検証した結果、ユーザの正当性が確認できると、認証サーバ情報取得部207が、前記提供URIが提供している認証方式での認証が成功したことを伝える情報取得要求メッセージを生成し、送受信部213及びネットワーク6を介して、認証仲介サーバ4へ送信する(S42)。
【0240】
そして、認証仲介サーバ4では、送受信部420及びネットワーク6を介して情報取得要求メッセージを受信すると、情報取得要求処理部412が、受信した情報取得要求メッセージに含まれるユーザID及びサービス提供サーバIDを取得し、認証サーバ3の候補を選択する処理に移る(S43)。
【0241】
ここで、認証サーバ選択部413では、上述のステップS15において、ユーザID“user001”で識別されるユーザの現在認証レベルが「4」に更新された結果、追加的な認証は不要であると判定し、提供URIを含まず、ユーザID“user001”を含む応答メッセージを作成し、送受信部420及びネットワーク6を介して、サービス提供サーバ2Bへ送信する(S44)。
【0242】
なお、ステップS44で送信する応答メッセージには、ID情報記憶領域408に記憶されているID情報(サービス提供サーバ2Bに対するサービス固有ユーザID)と、属性情報記憶領域409に記憶されている属性情報(サービス提供サーバ2Bが要求する要求属性情報に対応するもの)を含める。
【0243】
サービス提供サーバ2Bでは、認証仲介サーバ4から応答メッセージを受信すると、認証要求処理部208が、当該応答メッセージからユーザIDを取得するとともに、セッション管理部206が新規にセッションIDを生成し、セッション情報記憶領域202に記憶されているセッション情報テーブル202aに当該ユーザIDと当該セッションIDの組を格納して、サービス提供部205が端末装置1に対して要求されたサービスを提供する(S45)。
【0244】
なお、サービス提供サーバ2Bでは、ステップS44で送信されてきたID情報及び属性情報を、サービスを提供する際に使用することができる。
【0245】
図23は、サービス提供サーバ2の処理を示すフローチャートである。
【0246】
まず、サービス提供サーバ2のサービス通信部209が、送受信部213及びネットワーク6を介して、端末装置1からサービス要求メッセージを受信すると(S50でYes)、セッション管理部206が、受信したサービス要求メッセージにセッションIDが含まれるか否かを確認する(S51)。そして、セッションIDが含まれている場合には(S51でYes)ステップS52に進み、セッションIDが含まれていない場合には(S51でNo)ステップS53に進む。
【0247】
ステップS52では、セッション管理部205が、セッション情報記憶領域202に記憶されているセッション情報テーブル202aに、ステップS51で確認されたセッションIDに対応するレコードがあるか否かを確認する。このようなレコードがある場合には(S52でYes)ステップS65に進み、このようなレコードがない場合には(S52でNo)ステップS53に進む。
【0248】
ステップS65では、セッション管理部206は、取得されたセッションIDに対応するセッションが有効であると判断して、サービス提供部204が、サービス要求メッセージの送信元である端末装置1に対してサービスを提供する。
【0249】
一方、ステップS53では、セッション管理部206は、セッションが無効であると判断して、認証サーバ情報取得部207が、ステップS50で受信したサービス要求メッセージに含まれるユーザIDと、自装置のサービス提供サーバIDと、を特定した情報取得メッセージを作成する。
【0250】
そして、認証サーバ情報取得部207は、作成した情報取得メッセージを、認証仲介サーバ4へ送信し(S54)、応答を待ち受ける(S55)。
【0251】
認証仲介サーバ4から情報取得メッセージに対する応答を受信すると(S55でYes)、認証サーバ情報取得部207が、受信した応答メッセージに提供URIが含まれているか否かを確認する(S56)。そして、受信した応答メッセージに提供URIが含まれている場合には(S56でYes)ステップS57に進み、受信した応答メッセージに提供URIが含まれていない場合には(S56でNo)ステップS63に進む。
【0252】
ステップS57では、認証要求処理部208は、さらなる認証が必要であると判断して、ステップS56で確認された提供URIで特定される認証サーバ3に対して、端末装置1を介して認証要求メッセージを送信し(S57)、応答を待ち受ける(S58)。
【0253】
認証サーバ3から認証要求メッセージに対する応答メッセージを受信すると(S58でYes)、認証要求処理部208は、受信した応答メッセージから認証結果を特定する情報を取得し(S59)、認証結果の正当性を確認する(S60)。
【0254】
認証結果を検証した結果、ユーザの正当性を確認できた場合(S60のYes)には、ユーザの正当性が確認できたことを認証仲介サーバ4に通知するため、ステップS56で確認した提供URIと、認証成功を意味する情報と、ステップS59で取得した認証結果に含まれるユーザの属性情報と、を含む情報取得メッセージを作成し(ステップS61)、ステップS54に戻り、処理を繰り返す。
【0255】
一方、認証結果を検証した結果、ユーザの正当性が確認できなかった場合(S60でNo)、ユーザの正当性が確認できなかったことを認証仲介サーバ4に通知するため、ステップS56で確認した提供URIと、認証失敗を意味する情報と、を含む情報取得メッセージを作成し(S62)、ステップS54に戻り、処理を繰り返す。
【0256】
また、ステップS56で提供URIが含まれていない場合には、認証サーバ情報取得部207は、ステップS55で受信した応答メッセージがエラーメッセージであるか否かを確認する(S63)。ステップS55で受信した応答メッセージがエラーメッセージである場合には(S63でYes)、端末装置1にサービスを提供することなく処理を終了し、ステップS55で受信した応答メッセージがエラーメッセージではない場合には(S63でNo)、ステップS64に進む。
【0257】
ステップS64では、認証サーバ情報取得部207は、さらなる認証は不要であると判断して、認証要求処理部208が、情報取得メッセージに対する応答メッセージからサービス提供サーバ2におけるユーザの識別情報(サービス固有ユーザID)と、属性情報と、を取得するとともに、セッション管理部206が新規にセッションIDを生成し、セッション情報記憶領域202に記憶されているセッション情報テーブル202aに、当該識別情報(ユーザID)と、当該セッションIDと、の組を格納する。
【0258】
そして、サービス提供部205が端末装置1に対してサービスを提供する(S65)。ここで、サービス提供部205は、サービスを提供する際に、ステップS64において、取得したユーザの識別情報(サービス固有ユーザID)及び属性情報を使用してサービスを提供することができる。
【0259】
図24は、認証サーバ3の処理を示すフローチャートである。
【0260】
まず、認証サーバ3では、送受信部314及びネットワーク6を介してユーザ認証要求メッセージを受信すると(S70でYes)、セッション管理部308が、受信したユーザ認証要求メッセージにセッションIDが含まれるか否かを確認する(S71)。そして、セッションIDが含まれる場合には(ステップS71でYes)ステップS72に進み、セッションIDが含まれない場合には(ステップS71でNo)ステップS73に進む。
【0261】
ステップS72では、セッション管理部308は、セッション情報記憶領域302に記憶されているセッション情報テーブル302aに、ステップS71で確認されたセッションIDに対応するレコードがあるか否かを確認することで、セッションが有効か否かを判断する。
【0262】
そして、セッション管理部308は、ユーザ認証要求メッセージに含まれるセッションIDに関連付けられる接続先IDをセッション情報テーブル302aより取得できた場合には、セッションが有効であると判断し(S72でYes)ステップS76に進み、ユーザ認証要求メッセージに含まれるセッションIDに関連付けられる接続先IDをセッション情報テーブル302aより取得できなかった場合には、セッションが無効であると判断し(S72でNo)ステップS73に進む。
【0263】
ステップS73では、認証実行部307が、端末装置1に対して認証処理を実行する。例えば、認証実行部307は、端末装置1に対してユーザIDとパスワードの組を要求し、ユーザ属性情報記憶領域303に記憶されているユーザ属性情報テーブル303aに格納されたユーザID及びパスワードと比較することで、ユーザの本人性(正当性)を確認することができる。
【0264】
また、別の例として、認証実行部307は、端末装置1へ乱数列を送信し、当該端末装置1から返却された情報が、端末装置1の保有する秘密鍵で計算されたものであることを、ユーザ属性記憶領域303に格納された端末装置1の電子証明書(公開鍵)を用いて検証することで、ユーザ認証を実現してもよい。
【0265】
次に、認証実行部307は、ステップS73での認証処理で、認証が成功したか否かを確認する(S74)。そして、認証が成功した場合には(ステップS74でYes)ステップS75に進み、認証が失敗した場合には(ステップS74でNo)ステップS77に進む。
【0266】
ステップS75では、セッション管理部309が、新規にセッションIDを生成し、セッション情報記憶領域302に記憶されているセッション情報テーブル302aに、ステップS73の認証の結果得られたユーザIDと、生成したセッションIDと、の組を格納する(S75)。
【0267】
そして、ステップS76では、認証結果生成部308が、ユーザの認証が成功したことを示す認証結果メッセージを生成し、送受信部314及びネットワーク6を介して、生成した認証結果メッセージを、端末装置1を経由して間接的に、ユーザ認証要求メッセージの送信元であるサービス提供サーバ2へ送信する。ここで送信される認証結果メッセージには、セッションIDに関連付けられる接続先IDがユーザIDとして格納される。また、当該認証結果メッセージには、当該認証サーバ3で管理している、前記ユーザIDで識別されるユーザの属性情報が含まれる。
【0268】
一方、ステップS77では、認証結果生成部308が、ユーザ認証が失敗に終わったことを示す認証結果メッセージを生成し、送受信部314及びネットワーク6を介して、当該認証結果メッセージを、端末装置1を経由して間接的に、ユーザ認証要求メッセージの送信元であるサービス提供サーバ2へ送信する。
【0269】
上記の処理においては、認証を行う前(S73の前)か、もしくは認証結果を送信する前(S76の前)に、端末装置1に対して、サービス提供サーバ2へ認証結果を送信することを通知する旨を通知してもよい。
【0270】
図25は、端末装置1の処理を示すフローチャートである。
【0271】
まず、端末装置1のサービス利用部106が、入力部115を介して、ユーザからサービス提供サーバ2に対するサービスの利用要求を受け付けると(S80でYes)、サービス要求生成部107が、ユーザIDを特定したサービス要求メッセージを生成し、サービス通信部108が、送受信部117及びネットワーク6を介して、生成したサービス要求メッセージをサービス提供サーバ2へ送信し(S81)、応答を待ち受ける(S82)。ここで、サービス要求メッセージには、ユーザが利用を希望する認証仲介サーバ4のIDを含めても良い。
【0272】
サービス提供サーバ2から、サービス利用要求メッセージに対する応答メッセージを受信すると(S82でYes)、サービス通信部108は、当該応答メッセージの内容を確認し、当該応答メッセージが、認証仲介サーバ4に対して転送されるべき情報取得メッセージであるか否かを確認する(S83)。ここで、非特許文献2に記載されるSAML Web SSO Profileや、非特許文献3に記載されるOpenID Authenticationのように、端末装置1と、サービス提供サーバ2と、認証仲介サーバ4と、がHTTPまたはHTTPSを用いて通信可能である場合には、HTTPリダイレクトの機能を利用し、当該応答メッセージが情報取得メッセージであるかを判定することなく、応答メッセージ内のLocationヘッダで示されるURLへHTTPリクエストを送信するだけで良い。この場合、当該応答メッセージが情報取得メッセージであるか否かは、当該Locationヘッダで示されるURLが認証仲介サーバのURLに等しいか否か、と等価であると考えられる。
【0273】
そして、ステップS82で取得した応答メッセージが情報取得メッセージでなかった場合には(S83でNo)ステップS89に進む。一方、当該応答メッセージが情報取得メッセージであった場合には(S83のYes)、ステップS84に進む。
【0274】
ステップS84では、サービス通信部108は、当該応答メッセージ(情報取得メッセージ)を認証仲介サーバ4へ転送し(S84)、応答を待ち受ける(S85)。
【0275】
そして、サービス通信部108は、認証仲介サーバ4から応答メッセージを受信すると(S85でYes)、当該応答メッセージをサービス提供サーバへ転送する(S86)。
【0276】
そして、サービス通信部108は、ステップS86で転送した応答メッセージがエラーメッセージであった場合には(S87でYes)処理を終了し、エラーメッセージでなかった場合には(S87でNo)、ステップS86で転送したメッセージへの応答を待ち受ける(S88)。
【0277】
そして、サービス提供サーバ2から応答を受信すると(S88でYes)、ステップS89に進む。
【0278】
ステップS89では、サービス通信部108は、応答メッセージが認証サーバ3に対して転送されるべき認証要求メッセージであるか否かを確認する。ここで、非特許文献2に記載されるSAML Web SSO Profileや、非特許文献3に記載されるOpenID Authenticationのように、端末装置1と、サービス提供サーバ2と、認証サーバ3と、がHTTPまたはHTTPSを用いて通信可能である場合には、HTTPリダイレクトの機能を利用し、当該応答メッセージが認証要求メッセージであるかを判定することなく、応答メッセージ内のLocationヘッダで示されるURLへHTTPリクエストを送信するだけで良い。この場合、当該応答メッセージが認証要求メッセージであるか否かは、当該Locationヘッダで示されるURLが認証サーバのURLに等しいか否か、と等価であると考えられる。
【0279】
応答メッセージが認証要求メッセージでなかった場合には(S89でNo)、サービス提供サーバ2からのサービスを享受する(S90)。なお、サービス提供サーバ2からサービスの提供を受ける際に必要とされる情報(サービス固有ユーザIDや属性情報)は、認証仲介サーバ4に登録しておくことで、サービスの提供を受ける際に追加して取得を要求されることがないようにすることができる。
【0280】
一方、応答メッセージが認証要求メッセージであった場合には(S89でYes)当該応答メッセージ(認証要求メッセージ)を認証サーバ3へ転送する(S91)。
【0281】
そして、認証サーバ3から認証処理の実行を要求されると認証処理部109が、入力部115及び出力部116を適宜利用して、対応する認証処理を実行する(S92)。例えば、認証サーバ3からユーザIDとパスワードの組を要求された場合は、認証処理部109がユーザに対してユーザIDとパスワードの組を入力するよう要求し、取得したユーザIDとパスワードの組を、送受信部117及びネットワーク6を介して認証サーバ3へ送信する。
【0282】
そして、認証処理部109は、ステップS92での認証処理が成功したか否かを判断し(S93)、成功しなかった場合には(S93でNo)、すなわち、認証サーバ3に対してユーザの本人性を証明できなかった場合には、サービス利用部106が、出力部116にユーザに対して認証に失敗したことを示すエラーメッセージを表示し(S94)、サービスを享受することなく、処理を終了する。
【0283】
一方、認証処理に成功した場合には(S93でYes)、すなわち、認証サーバ3に対してユーザの本人性を証明できた場合には、セッション管理部110が、認証サーバ3から応答として返される認証結果メッセージに含まれるセッションIDを、認証サーバ3のIDと関連付け、セッション情報記憶領域102に記憶されているセッション情報テーブル102aに格納する(S95)。
【0284】
そして、認証処理部109は、認証サーバ3から応答として返された認証結果メッセージを、サービス提供サーバ2へ転送し(S96)、ステップS82に戻り、処理を繰り返す。
【0285】
図26は、認証仲介サーバ4の処理を示すフローチャートである。
【0286】
まず、認証仲介サーバ4が、送受信部420及びネットワーク6を介して情報取得要求メッセージを受信すると(S100でYes)、情報取得要求処理部412が、取得した情報取得要求メッセージに含まれるユーザID及びサービス提供サーバIDを取得する(S101)。ここで、ユーザIDについては、必ずしも情報取得要求メッセージのパラメータとして含まれている必要はなく、非特許文献3におけるOpenIDのように、当該メッセージを受信した認証仲介サーバのURLをユーザIDとして利用しても良いし、端末装置1に対して入力を要求しても良い。
【0287】
次に、ユーザ情報取得部415が、ステップS101で取得したユーザIDを特定したユーザ情報取得要求を、送受信部211及びネットワーク6を介して、プレゼンスサーバ5に送信することで、プレゼンスサーバ5より、当該ユーザIDで特定されるユーザのプレゼンス情報を取得する(S102)。なお、ネットワーク6上に、プレゼンスに類するユーザの情報を管理するサーバが存在する場合には、当該サーバからユーザ情報を取得するようにしてもよい。
【0288】
次に、認証サーバ選択部413が、ステップS101で取得したユーザIDをキーとして、ユーザポリシ情報記憶領域402に記憶されているユーザポリシ情報テーブル402aから、当該ユーザIDによって特定されるユーザのポリシ情報(認証サーバID、最終認証時刻、優先度、使用条件、サービス提供サーバID条件)のレコードの集合を取得し、当該ポリシ情報の集合を、認証サーバ3の候補群として記憶部401に記憶する(S103)。
【0289】
次に、認証サーバ選択部413は、ステップS101で取得したサービス提供サーバIDをキーとして、サービス提供サーバ要求情報記憶領域404に記憶されているサービス提供サーバ要求情報テーブル404aを検索し、当該サービス提供サーバIDによって特定されるサービス提供サーバ要求情報(連携認証サーバID、要求認証レベル、要求属性情報)のレコードを取得する(S104)。
【0290】
次に、認証サーバ選択部413は、ステップS100で受信した情報提供要求メッセージに提供URIが含まれているかどうかを確認する(S105)。そして、情報提供要求メッセージに提供URIが含まれている場合には(S105でYes)、ステップS106に進み、情報提供要求メッセージに提供URIが含まれていない場合には(S105でNo)、ステップS110に進む。
【0291】
ステップS106では、認証サーバ選択部413は、情報提供要求メッセージに認証成功を意味する情報が含まれているか否かを確認する。そして、情報提供要求メッセージに認証成功を意味する情報が含まれている場合には(ステップS106でYes)ステップ107に進み、情報提供要求メッセージに認証成功を意味する情報が含まれていない場合には(ステップS106でNo)ステップS109に進む。
【0292】
ステップS107では、認証サーバ選択部413は、認証レベル情報記憶領域405の認証レベル情報テーブル405aを更新する。すなわち、ステップS101で取得したユーザIDをキーとして認証レベル情報テーブル405aを検索し、当該ユーザIDによって特定されるレコードの認証レベルを取得し、ステップS105で確認した提供URIをキーとして提供認証強度情報記憶領域406に記憶されている提供認証強度情報テーブル406aから当該提供URIが提供している認証方式の認証強度を取得し、認証レベル定義情報記憶領域407に記憶されている認証レベル定義情報テーブル407aの定義を参照して新しい認証レベルを特定し、認証レベル情報テーブル405aのステップS101で取得したユーザIDに対応する認証レベル欄405cを更新する。
【0293】
次に、アイデンティティ変換部416が、属性情報記憶領域409に記憶されている属性情報テーブル409aを更新する(S108)。すなわち、ステップ100で取得した情報提供要求メッセージに含まれている属性値をステップS101で取得したユーザIDをキーとして属性情報テーブル409aを検索し、当該ユーザIDによって特定されるユーザの属性値として格納する。
【0294】
ステップS109では、認証サーバ選択部413は、ステップS103で記憶した認証サーバ3の候補群から、ステップ105で確認された提供URIに対応する認証サーバ3を削除する。
【0295】
ステップS110では、認証サーバ選択部413は、追加的な認証が必要か否かを判断する(S410)。まず、認証サーバ選択部413は、ステップS101で取得したユーザIDをキーとして認証レベル情報テーブル405aから当該ユーザIDによって特定されるユーザの現在認証レベルを取得する。次に、取得した現在認証レベルと、ステップS104で取得したサービス提供サーバ要求情報に含まれる要求認証レベルと、を比較し、認証強度が不足しているかどうかを確認する。
【0296】
ここで、認証強度が不足していない場合には、ステップS110において追加的な認証が必要ではないと判断し(ステップS110でNo)、ステップS111に進む。一方、認証強度が不足している場合には、ステップS110において追加的な認証が必要と判断し(ステップS110でYes)、ステップS112に進む。
【0297】
ステップS111では、アイデンティティ変換部416が、ステップS101で取得したユーザID及びサービス提供サーバIDをキーとしてID情報記憶領域408に記憶されているID情報テーブル408aを検索し、当該サービス提供サーバIDで特定されるサービス提供サーバ2において、当該ユーザIDで特定されるユーザが使用しているユーザの識別情報(サービス固有ユーザID)を取得する。そして、アイデンティティ変換部416は、S101で取得したサービス提供サーバIDをキーとしてサービス提供サーバ要求情報テーブル404aを検索し、当該サービス提供サーバIDで特定されるサービス提供サーバ2が必要とする要求属性情報を取得する。続いて、アイデンティティ変換部416は、取得した要求属性情報と、S101で取得したユーザIDと、をキーとして、属性情報テーブル409aを検索し、当該ユーザIDで特定されるユーザの属性情報を取得する。さらに、アイデンティティ変換部416は、取得したサービス固有ユーザ情報と、属性情報と、を含む情報取得応答メッセージを作成すると、認証サーバ選択部413がサービス提供サーバ2へ直接、もしくは端末装置1を介して間接的に情報取得応答メッセージを送信し、処理を終了する。
【0298】
一方、ステップS112では、認証サーバ選択部413は、認証サーバ3の候補群を絞り込む処理を行う。
【0299】
まず、認証サーバ選択部413は、ステップS103で記憶した認証サーバ3の候補群から、認証サーバIDが連携認証サーバID(ステップS104でサービス提供サーバ2の情報として取得したもの)と一致するものだけを残し、一致しないものを候補群から削除する。当該連携認証サーバIDの値が「*」であった場合には、候補群内の全ての認証サーバが候補として残される。
【0300】
続いて、認証サーバ選択部413は、認証サーバ3の候補群から、サービス提供サーバID条件の値が、情報取得要求メッセージの送信元であるサービス提供サーバ2のサービス提供サーバIDを含むものだけを選択し、それ以外のものを候補群から削除する。当該サービス提供サーバID条件の値が「*」であった場合には、候補群内の全ての認証サーバが候補として残される。
【0301】
さらに、認証サーバ選択部413は、認証サーバの候補群に残った候補のそれぞれについて、認証サーバ情報記憶領域403に記憶されている認証サーバ情報テーブル403aから、認証サーバ情報(対応認証方式、保有属性情報)を取得し、記憶部401内の候補群に追加する。
【0302】
そして、認証サーバ選択部413は、認証サーバ3の候補群に残った候補のそれぞれについて、記憶部401内の提供認証強度情報テーブル406aから、それぞれの候補に対応する認証強度、提供URIを取得し、記憶部401内の候補群に追加する。
【0303】
次に、認証サーバ選択部413は、候補群内の認証サーバ3の内、不足している認証強度(ステップS110で特定したもの)を提供する認証方式を含み、かつ保有属性情報が要求属性情報(ステップS104でサービス提供サーバ要求情報として取得したもの)を含むものだけを残し、一致しないものを候補群から削除する。同様に、要求属性情報の値が「*」であった場合には、保有属性情報の値は候補群の絞り込みに影響を与えない。
【0304】
次に、認証サーバ選択部413は、候補群内の認証サーバの内、使用条件の値が、ステップS102で取得したプレゼンス情報に合致するものだけを残し、そうでないものを候補群から削除する。当該使用条件の値が「*」であった場合には、候補群内の全ての認証サーバが候補として残される。
【0305】
そして、認証サーバ選択部413は、候補群内に認証サーバの候補が残されているか否かを確認する(S113)。そして、候補が残されていない場合には(ステップS112でNo)ステップS114に進み、候補が残されている場合には(ステップS112でYes)ステップS115に進む。
【0306】
ステップS114では、認証サーバ選択部413は、使用できる認証サーバ3が存在しなかったことを示すエラーメッセージをサービス提供サーバ2へ直接、もしくは端末装置1を介して間接的に送信し、処理を終了する。
【0307】
一方、ステップS115では、認証サーバ選択部413は、候補群内に残っている認証サーバ3の中で最も優先度が高い候補を選択する。
【0308】
次に、認証サーバ選択部413は、ステップS115で選択した認証サーバ3が複数あるか否かを確認し(S116)、複数ある場合には(ステップS116でYes)ステップS117に進み、複数ない場合には(ステップS116でNo)ステップS118に進む。
【0309】
ステップS117では、認証サーバ選択部413は、候補群内で最終認証時刻が最も古い候補を選択する。
【0310】
そして、ユーザポリシ管理部414は、選択された認証サーバ3について、ユーザポリシ情報記憶領域402に記憶されているユーザポリシ情報テーブル402aの最終認証時刻欄402dの値を、現在の時刻で置き換える(S118)。
【0311】
そして、認証サーバ選択部413は、候補として選択された認証サーバ3のIDを、サービス提供サーバへ直接、もしくは端末装置1を介して間接的に送信し(S119)、処理を終了する。
【0312】
以上に記載したように、本発明によれば、ユーザは端末装置1に同一のユーザIDを入力するだけで、ユーザのポリシと、サービス提供サーバ2の要求認証方式および要求属性情報と、ユーザのプレゼンス情報と、に基づいて、最適な認証サーバ3が動的に選択され、認証に利用される。
【0313】
また、最終的に認証サーバ3の候補を絞り込む際、認証サーバ3が最後に利用された時刻を元に絞り込みを行うため、同じ認証サーバ3が連続して使用される可能性が低減される。これにより、同一認証サーバ3を連続して使用する場合に比較して、認証サーバ3によるユーザのサービス利用履歴の追跡が困難となる。
【0314】
以上に記載した実施形態においては、図21のステップS15、図22のステップS34、および、図26のステップS112〜S117に記載されているように、認証サーバ3を選択する際に、サービス提供サーバ2が連携している認証サーバであること、ユーザが特定のサービス提供サーバ2で処理を受ける際に選択することを特定している認証サーバ3であること、サービス提供サーバ2が要求する認証レベルを満たすために必要な認証方式を提供している認証サーバ3であること、サービス提供サーバ2が要求するユーザの属性情報を保有する認証サーバ3であること、ユーザのプレゼンス情報で選択される認証サーバ3であること、ユーザが定める優先度の高いものから選択された認証サーバ3であること、最終認証時刻が古いものから選択された認証サーバ3であること、の条件を満たすように選択されるようになっているが、このような態様に限定されず、これらの条件のうちの少なくとも一つ以上、これらの条件のうちの任意の組合せ、を満たすものを選択するようにすることも可能である。
【0315】
以上に記載した実施形態においては、図14に示すように、認証レベル情報テーブル405aにおいて、ユーザIDと、当該ユーザIDで特定されるユーザが既に認証を受けた最新の認証レベル(現在認証レベル)と、特定する情報が格納されているが、このような態様に限定されず、例えば、当該ユーザIDで特定されるユーザが、現在認証レベルにおいて、認証を受けた認証方式の認証強度と、当該認証強度を有する認証方式による認証を受けた回数と、を特定する情報も格納するようにしてもよい。これらの情報を格納しておくことで、特定の認証強度を有する認証方式による認証を、特に三回以上受けなければならないような場合でも、強度不足を判定可能となる。
【0316】
以上に記載した実施形態においては、認証仲介サーバ4と、プレゼンスサーバ5と、が別々の装置として記載されているが、このような態様に限定されず、これらの装置が行っている処理を一つの装置にまとめることも可能である。
【図面の簡単な説明】
【0317】
【図1】認証システムの概略図。
【図2】端末装置の一例を示す概略図。
【図3】セッション情報テーブルの概略図。
【図4】コンピュータの概略図。
【図5】サービス提供サーバの一例を示す概略図。
【図6】セッション情報テーブルの概略図。
【図7】認証サーバの一例を示す概略図。
【図8】セッション情報テーブルの概略図。
【図9】ユーザ属性情報テーブルの概略図。
【図10】認証仲介サーバの構成の一例を示す概略図。
【図11】ユーザポリシ情報テーブルの概略図。
【図12】認証サーバ情報テーブルの概略図。
【図13】サービス提供サーバ要求情報テーブルの概略図。
【図14】認証レベル情報テーブルの概略図。
【図15】提供認証強度情報テーブルの概略図。
【図16】認証レベル定義情報テーブルの概略図。
【図17】ID情報テーブルの概略図。
【図18】属性情報テーブルの概略図。
【図19】プレゼンスサーバの構成の一例を示す概略図。
【図20】プレゼンス情報テーブルの概略図。
【図21】認証システムで認証を行う際の処理の一例を示すシーケンス。
【図22】認証システムで認証を行う際の処理の一例を示すシーケンス。
【図23】サービス提供サーバの処理を示すフローチャート。
【図24】認証サーバの処理を示すフローチャート。
【図25】端末装置の処理を示すフローチャート。
【図26】認証仲介サーバの処理を示すフローチャート。
【符号の説明】
【0318】
10 認証システム
1 端末装置
101 記憶部
105 制御部
2 サービス提供サーバ
201 記憶部
204 制御部
3 認証サーバ
301 記憶部
305 制御部
4 認証仲介サーバ
401 記憶部
402 ユーザポリシ情報記憶領域
403 認証サーバ情報記憶領域
404 サービス提供サーバ要求情報記憶領域
405 認証レベル情報記憶領域
406 提供認証強度情報記憶領域
407 認証レベル定義情報記憶領域
408 ID情報記憶領域
409 属性情報記憶領域
411 制御部
412 情報取得要求処理部
413 認証サーバ選択部
414 ユーザポリシ管理部
415 ユーザ情報取得部
416 アイデンティティ変換部
5 プレゼンスサーバ
501 記憶部
504 制御部

【特許請求の範囲】
【請求項1】
端末装置がサービス提供サーバからサービスの提供を受ける際に、前記端末装置のユーザが認証を受ける認証サーバを選択する認証仲介サーバであって、
サービス提供サーバID、および、当該サービス提供サーバIDが認証に要求する要求条件、を特定するサービス提供サーバ要求情報を記憶する記憶部と、制御部と、を備え、
前記制御部は、
前記サービス提供サーバより、サービス提供サーバIDを特定した情報取得要求を取得すると、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求条件を前記サービス提供サーバ要求情報より取得し、取得した要求条件を満たす前記認証サーバを選択する処理と、
選択した認証サーバを特定する情報を、前記サービス提供サーバに通知する処理と、を行うこと、
を特徴とする認証仲介サーバ。
【請求項2】
請求項1に記載の認証仲介サーバであって、
前記記憶部には、
ユーザID、および、当該ユーザIDで特定されるユーザが認証を受けた最新の認証レベルである現在認証レベル、を特定する認証レベル情報と、
認証サーバID、当該認証サーバIDで特定される認証サーバが提供する認証方式、および、当該認証方式の認証強度、を特定する提供認証強度情報と、
認証レベル、および、当該認証レベルで要求される認証強度、を特定する認証レベル定義情報と、が記憶されており、
前記要求条件には、前記サービス提供サーバが要求する認証レベルである要求認証レベルが含まれており、
前記情報取得要求には、ユーザIDが含まれており、
前記制御部は、
前記情報取得要求で特定されるユーザIDに対応する現在認証レベルを前記認証レベル情報から特定する処理と、
前記情報取得要求で特定されるサービス提供サーバIDに対応する要求認証レベルを前記要求条件から特定する処理と、
前記認証レベル情報から特定した現在認証レベルが、前記要求条件から特定した要求認証レベルに満たない場合には、前記認証レベル情報から特定した現在認証レベルに対応する認証強度と、前記要求条件から特定した要求認証レベルに対応する認証強度と、を前記認証レベル定義情報より特定し、前記要求条件から特定した要求認証レベルに対応する認証強度に対して、前記認証レベル情報から特定した現在認証レベルに対応する認証強度で不足する認証強度を特定する処理と、
前記不足する認証強度を満たす認証方式を提供する認証サーバの認証サーバIDを前記提供認証強度情報より特定する処理と、を行い、
前記制御部は、前記提供認証強度情報より特定された認証サーバIDで特定される前記認証サーバの中から、前記端末装置のユーザが認証を受ける認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項3】
請求項1に記載の認証仲介サーバであって、
前記記憶部には、
認証サーバID、および、当該認証サーバIDで特定される認証サーバが保有するユーザの属性情報である保有属性情報、を特定する認証サーバ情報、が記憶されており、
前記要求条件には、前記サービス提供サーバが要求する認証で使用するユーザの属性情報である要求属性情報が含まれており、
前記制御部は、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求属性情報を前記要求条件から特定し、前記要求条件から特定した要求属性情報を、前記保有属性情報に有する認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項4】
請求項1に記載の認証仲介サーバであって、
前記要求条件には、前記サービス提供サーバが連携している認証サーバを特定する連携認証サーバID情報が含まれており、
前記制御部は、前記情報取得要求で特定されるサービス提供サーバIDに対応する連携認証サーバID情報を前記要求条件から特定し、前記要求条件から特定した連携認証サーバID情報で特定される認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項5】
請求項1に記載の認証仲介サーバであって、
前記記憶部には、ユーザID、当該ユーザIDで特定されるユーザの認証を行うことのできる認証サーバ、当該認証サーバを最後に選択した日時、および、当該認証サーバを選択する条件、を特定するユーザポリシ情報が記憶されており、
前記情報取得要求には、ユーザIDが含まれており、
前記制御部は、
前記ユーザポリシ情報より、前記情報取得要求に含まれるユーザIDで特定されるユーザの認証を行うことのできる認証サーバであって、前記選択する条件を満たし、前記最後に選択した日時が最も古い認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項6】
請求項5に記載の認証仲介サーバであって、
前記選択する条件には、前記ユーザの状況を特定するプレゼンス情報が含まれており、
前記制御部は、前記情報取得要求で特定されるユーザIDに対応するプレゼンス情報を取得する処理を行い、取得したプレゼンス情報を前記選択する条件に含む認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項7】
請求項5に記載の認証仲介サーバであって、
前記選択する条件には、サービス提供サーバIDが含まれており、
前記情報取得要求には、前記端末装置からサービスの提供を要求されたサービス提供サーバIDが特定されており、
前記制御部は、前記情報取得要求で特定されるサービス提供サーバIDを前記選択する条件に含む認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項8】
請求項5に記載の認証仲介サーバであって、
前記ユーザポリシ情報には、前記認証サーバを選択する優先度を特定する情報が含まれており、
前記制御部は、前記優先度の高いものから前記認証サーバを選択すること、
を特徴とする認証仲介サーバ。
【請求項9】
コンピュータを、端末装置がサービス提供サーバからサービスの提供を受ける際に、前記端末装置のユーザが認証を受ける認証サーバを選択する認証仲介サーバとして機能させるプログラムであって、
前記コンピュータを、サービス提供サーバID、および、当該サービス提供サーバIDが認証に要求する要求条件、を特定するサービス提供サーバ要求情報を記憶する記憶手段、制御手段、として機能させ、
前記制御手段に、
前記サービス提供サーバより、サービス提供サーバIDを特定した情報取得要求を取得すると、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求条件を前記サービス提供サーバ要求情報より取得し、取得した要求条件を満たす前記認証サーバを選択する処理と、
選択した認証サーバを特定する情報を、前記サービス提供サーバに通知する処理と、を行わせること、
を特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムであって、
前記記憶手段には、
ユーザID、および、当該ユーザIDで特定されるユーザが認証を受けた最新の認証レベルである現在認証レベル、を特定する認証レベル情報と、
認証サーバID、当該認証サーバIDで特定される認証サーバが提供する認証方式、および、当該認証方式の認証強度、を特定する提供認証強度情報と、
認証レベル、および、当該認証レベルで要求される認証強度、を特定する認証レベル定義情報と、が記憶されており、
前記要求条件には、前記サービス提供サーバが要求する認証レベルである要求認証レベルが含まれており、
前記情報取得要求には、ユーザIDが含まれており、
前記制御手段に、
前記情報取得要求で特定されるユーザIDに対応する現在認証レベルを前記認証レベル情報から特定する処理と、
前記情報取得要求で特定されるサービス提供サーバIDに対応する要求認証レベルを前記要求条件から特定する処理と、
前記認証レベル情報から特定した現在認証レベルが、前記要求条件から特定した要求認証レベルに満たない場合には、前記認証レベル情報から特定した現在認証レベルに対応する認証強度と、前記要求条件から特定した要求認証レベルに対応する認証強度と、を前記認証レベル定義情報より特定し、前記要求条件から特定した要求認証レベルに対応する認証強度に対して、前記認証レベル情報から特定した現在認証レベルに対応する認証強度で不足する認証強度を特定する処理と、
前記不足する認証強度を満たす認証方式を提供する認証サーバの認証サーバIDを前記提供認証強度情報より特定する処理と、を行わせ、
前記制御手段に、前記提供認証強度情報より特定された認証サーバIDで特定される前記認証サーバの中から、前記端末装置のユーザが認証を受ける認証サーバを選択させること、
を特徴とするプログラム。
【請求項11】
請求項9に記載のプログラムであって、
前記記憶手段には、
認証サーバID、および、当該認証サーバIDで特定される認証サーバが保有するユーザの属性情報である保有属性情報、を特定する認証サーバ情報、が記憶されており、
前記要求条件には、前記サービス提供サーバが要求する認証で使用するユーザの属性情報である要求属性情報が含まれており、
前記制御手段に、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求属性情報を前記要求条件から特定し、前記要求条件から特定した要求属性情報を、前記保有属性情報に有する認証サーバを選択させること、
を特徴とするプログラム。
【請求項12】
請求項9に記載のプログラムであって、
前記要求条件には、前記サービス提供サーバが連携している認証サーバを特定する連携認証サーバID情報が含まれており、
前記制御手段に、前記情報取得要求で特定されるサービス提供サーバIDに対応する連携認証サーバID情報を前記要求条件から特定し、前記要求条件から特定した連携認証サーバID情報で特定される認証サーバを選択させること、
を特徴とするプログラム。
【請求項13】
請求項9に記載のプログラムであって、
前記記憶手段には、ユーザID、当該ユーザIDで特定されるユーザの認証を行うことのできる認証サーバ、当該認証サーバを最後に選択した日時、および、当該認証サーバを選択する条件、を特定するユーザポリシ情報が記憶されており、
前記情報取得要求には、ユーザIDが含まれており、
前記制御手段に、
前記ユーザポリシ情報より、前記情報取得要求に含まれるユーザIDで特定されるユーザの認証を行うことのできる認証サーバであって、前記選択する条件を満たし、前記最後に選択した日時が最も古い認証サーバを選択させること、
を特徴とするプログラム。
【請求項14】
請求項13に記載のプログラムであって、
前記選択する条件には、前記ユーザの状況を特定するプレゼンス情報が含まれており、
前記制御手段に、前記情報取得要求で特定されるユーザIDに対応するプレゼンス情報を取得する処理を行い、取得したプレゼンス情報を前記選択する条件に含む認証サーバを選択させること、
を特徴とするプログラム。
【請求項15】
請求項13に記載のプログラムであって、
前記選択する条件には、サービス提供サーバIDが含まれており、
前記情報取得要求には、前記端末装置からサービスの提供を要求されたサービス提供サーバIDが特定されており、
前記制御手段に、前記情報取得要求で特定されるサービス提供サーバIDを前記選択する条件に含む認証サーバを選択させること、
を特徴とするプログラム。
【請求項16】
請求項13に記載のプログラムであって、
前記ユーザポリシ情報には、前記認証サーバを選択する優先度を特定する情報が含まれており、
前記制御手段に、前記優先度の高いものから前記認証サーバを選択させること、
を特徴とするプログラム。
【請求項17】
端末装置と、当該端末装置にサービスを提供するサービス提供サーバと、当該端末装置が当該サービス提供サーバからサービスの提供を受ける際に当該端末装置のユーザが認証を受ける認証サーバと、当該認証サーバの選択を行う認証仲介サーバと、を備える認証システムであって、
前記認証仲介サーバは、
サービス提供サーバID、および、当該サービス提供サーバIDが認証に要求する要求条件、を特定するサービス提供サーバ要求情報を記憶する記憶部と、制御部と、を備え、
前記認証仲介サーバの制御部は、
前記サービス提供サーバより、サービス提供サーバIDを特定した情報取得要求を取得すると、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求条件を前記サービス提供サーバ要求情報より取得し、取得した要求条件を満たす前記認証サーバを選択する処理と、
選択した認証サーバを特定する情報を、前記サービス提供サーバに通知する処理と、を行うこと、
を特徴とする認証システム。
【請求項18】
サービス提供サーバID、および、当該サービス提供サーバIDが認証に要求する要求条件、を特定するサービス提供サーバ要求情報を記憶する記憶部と、制御部と、を備える認証仲介サーバにおいて、端末装置がサービス提供サーバからサービスの提供を受ける際に、前記端末装置のユーザが認証を受ける認証サーバを選択する選択方法であって、
前記制御部が、前記サービス提供サーバより、サービス提供サーバIDを特定した情報取得要求を取得すると、前記情報取得要求で特定されるサービス提供サーバIDに対応する要求条件を前記サービス提供サーバ要求情報より取得し、取得した要求条件を満たす前記認証サーバを選択する処理を行う過程と、
前記制御部が、選択した認証サーバを特定する情報を、前記サービス提供サーバに通知する処理を行う過程と、を有すること、
を特徴とする選択方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2010−128719(P2010−128719A)
【公開日】平成22年6月10日(2010.6.10)
【国際特許分類】
【出願番号】特願2008−301659(P2008−301659)
【出願日】平成20年11月26日(2008.11.26)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成19年度 独立行政法人情報通信研究機構 「次世代ネットワーク(NGN)基板技術の研究開発」委託研究、産業技術力強化法第19条の適用を受ける特許出願)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】