実施の形態1.
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明による認証連携システムの構成例を示すブロック図である。図1に示す認証連携システムは、認証装置1と、サービス提供装置2と、中継装置3と、端末装置4とを備える。認証装置1、サービス提供装置2、中継装置3および端末装置4は、ネットワーク500を介して接続され、相互に通信を行う。
本発明において、端末装置4は、中継装置3を介してサービス提供装置2にサービス要求メッセージを送信する。サービス要求メッセージは、サービスを要求した利用者を特定可能な情報を含む情報である。以下、サービスを要求した利用者を特定可能な情報が、端末装置4を特定可能な情報(以下、端末識別子と表記する。)である場合を例にして説明する。サービス要求メッセージを受信すると、サービス提供装置2は、中継装置3を介して、サービス要求を行った利用者についての認証要求メッセージを認証装置1に送信する。認証装置1は、利用者の認証が必要な場合には、中継装置3を介して端末装置4にクレデンシャル情報要求メッセージを送信してクレデンシャル情報を受信し、中継装置3を介してサービス提供装置2に認証応答メッセージを送信する。既に利用者を認証済みであって認証が不要な場合には、認証装置1は、端末装置4にクレデンシャル情報を要求することなく、認証応答メッセージを中継装置3を介してサービス提供装置2に送信する。サービス提供装置2は、認証応答メッセージを受信すると、中継装置3を介して端末装置4にサービス応答メッセージを送信する。
また、再度端末装置4が中継装置3を介して同じサービス提供装置2にサービス要求メッセージを送信すると、サービス提供装置2は、例えば、所定の期間内であれば、認証装置1に認証要求メッセージを送信することなく、端末装置4にサービス応答メッセージを送信する。
また、一連の処理において、中継装置3は、受信した情報を所定の変換規則に基づいて変換して、転送先の装置に送信する。例えば、中継装置3は、転送する情報のプロトコルを、転送元の装置が対応するプロトコルから転送先の装置が対応するプロトコルに変換して送信する。
認証装置1は、利用者を所定の認証方式によって認証する。認証装置1は、具体的には、ワークステーションやパーソナルコンピュータ等の情報処理装置によって実現される。認証装置1は、例えば、端末装置4の利用者を管理し、認証する事業者が運営するサーバ装置で実現される。
図2は、認証装置1の構成の一例を示すブロック図である。図2に示すように、認証装置1は、通信手段10と、認証情報発行手段11と、利用者認証手段12と、利用者情報管理手段13と、セッション情報管理手段14と、利用者情報格納部15と、セッション情報格納部16とを含む。
認証装置1の通信手段10がサービス提供装置2が送信した認証要求メッセージを受信すると、セッション情報管理手段14は、利用者の認証が必要か否かを判断する。セッション情報管理手段14が認証が必要であると判断した場合、利用者認証手段12は、端末装置4にクレデンシャル情報を要求する。
通信手段10がクレデンシャル情報を受信すると、利用者認証手段12は、利用者情報格納部15にあらかじめ記憶する利用者情報と、受信したクレデンシャル情報とに基づいて、利用者の認証を行う。利用者認証手段12は、例えば、利用者情報格納部15に受信したクレデンシャル情報を含む利用者情報が格納されている場合、クレデンシャル情報の送信者を利用者本人と認証する。利用者認証手段12が利用者を認証すると、認証情報発行手段11は、認証証明書を発行する。また、セッション情報管理手段14は、セッション識別子を発行し、認証証明書と対応付けてセッション情報としてセッション情報格納部16に記憶させる。以下、セッション情報管理手段14が発行するセッション識別子を認証セッション識別子と表記し、セッション情報格納部16が記憶するセッション情報を認証セッション情報と表記する場合がある。
利用者認証手段12は、認証証明書と認証セッション識別子とを含む認証応答メッセージをサービス提供装置2に送信する。一方、認証要求メッセージの受信時に、セッション情報管理手段14が認証不要と判断した場合、利用者認証手段12は、クレデンシャル情報を要求することなく、認証証明書を含む認証応答メッセージをサービス提供装置2に送信する。
「クレデンシャル情報」は、例えば、利用者の識別子やパスワードなどの、端末装置4の利用者を証明するための情報である。「利用者情報」は、利用者の氏名、年齢等の利用者の属性情報、及び、利用者を特徴付けたり、関連付けられる情報などであって、クレデンシャル情報を含む。「認証セッション識別子」は、認証装置1が利用者の認証を行い、認証についての認証装置1と端末装置4とのセッションが確立したことを示す情報である。
通信手段10は、所定の通信プロトコルにより、通信の宛先となる装置に応じて、通信を行う。通信手段10は、具体的には、プログラムに従って動作する情報処理端末のCPU及びネットワークインターフェース部によって実現される。
利用者認証手段12は、サービス提供装置2が送信した認証要求メッセージに応じて、端末装置4を利用する利用者を認証する手段である。利用者認証手段12は、利用者の認証が必要な場合には、利用者に対してクレデンシャル情報の提供を要求し、利用者の利用する端末装置4から送付される利用者のクレデンシャル情報の内容を検証して、利用者本人であることを認証する。
認証情報発行手段11は、利用者認証手段12によって利用者の認証が完了したことを証明するための認証証明書を発行する。具体的には、認証証明書は、利用者の認証方式、認証時刻、利用者の識別子、証明書の有効期限などの情報を含んでもよい。認証情報発行手段11は、発行する宛先に合わせて適切な情報を記載した認証証明書を発行する。例えば、発行する宛先によって、利用者の識別子を、認証装置1と宛先間で共通の識別子にしたり、プライバシーを保護するために匿名の識別子にしたりする。
利用者情報管理手段13は、利用者情報を利用者情報格納部15に格納して、利用者情報の新規登録、更新、削除などの管理を行う。利用者情報管理手段13は、あらかじめ利用者情報格納部15に利用者情報を記憶させる。
利用者情報格納部15は、利用者情報管理手段13からの登録、更新、削除要求に伴い、利用者情報を適切に格納する。利用者情報格納部15は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。
セッション情報管理手段14は、利用者認証手段12が利用者を認証した場合に、所定の期間中に有効な認証セッション識別子を発行し、セッション情報格納部16に記憶させる。セッション情報管理手段14は、例えば、認証セッション識別子の発行後、所定の期間が経過した場合や、利用者から明示的にセッションの終了要求を受けた際に、セッション情報格納部16から認証セッション識別子を削除するなどの処理を行う。
また、セッション情報管理手段14は、認証要求メッセージの受信時に、利用者の認証が必要か否かを判断する。有効な認証セッションの存在は、既に認証が完了していることを意味する。利用者から認証装置1へのアクセス時(すなわち、端末装置4からのサービス要求メッセージに応じて、サービス提供装置2が認証装置1に認証要求メッセージを送信した場合)に、セッション情報管理手段14は、受信した認証要求メッセージが認証セッション識別子を含むか否かを判断する。
認証セッション識別子を含むと判断した場合、セッション情報管理手段14は、受信した認証セッション識別子が示す認証セッションが有効であるか否かを、セッション情報格納部16が記憶する認証セッション情報に基づいて判断する。認証セッション情報は、例えば、認証セッション識別子の有効期間や、認証強度等を含む情報である。セッション情報管理手段14が、認証セッションが有効であり、かつ、再認証が不要と判断した場合、利用者認証手段12は、利用者にクレデンシャル情報を要求する処理を省略する。また、通信手段10は、認証応答メッセージをサービス提供装置2に送信する。
例えば、セッション情報管理手段14は、認証セッション情報が存在しても、有効期間を過ぎている場合には、再認証が必要と判断する。また、例えば、最初に認証したときの認証方法の認証強度が弱い場合(ID、パスワード等)であって、その後、利用制限が厳しいサービス(例えば、銀行口座からの口座引き落とし等)を利用する場合、先の認証結果では不十分であるため、認証強度が強い認証を追加で要求する。認証セッション情報は、認証セッション識別子の有効期間や、認証強度等に加えて、再認証が必要であるか否かを示すポリシを含む情報である。
セッション情報格納部16は、利用者の認証セッション識別子と認証証明書とを含む認証セッション情報を格納する。セッション情報格納部16は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。
図3は、サービス提供装置2の構成の一例を示すブロック図である。図3に示すように、サービス提供装置2は、通信手段20と、セッション情報管理手段21と、サービス提供手段22と、アクセス制御手段23と、セッション情報格納部24と、セキュリティポリシ格納部25とを含む。
サービス提供装置2の通信手段20が、端末装置4が送信したサービス要求メッセージを受信すると、セッション情報管理手段21は、サービスを要求した利用者を認証する必要があるか否かを判断する。認証が必要であると判断した場合、セッション情報管理手段21は、認証装置1に認証要求メッセージを送信する。
通信手段20が認証装置1からの認証応答メッセージを受信すると、アクセス制御手段23は、セキュリティポリシ格納部25が記憶するセキュリティポリシに基づいて、サービスを要求した利用者が、サービスを利用する権限を有するか否かを判断する。利用者が権限を有し、かつ認証応答メッセージに含まれる認証証明書が有効である場合、セッション情報管理手段21は、セッション識別子を発行し、セッション情報格納部24に記憶させる。以下、セッション情報管理手段21が発行するセッション識別子をサービスセッション識別子と表記し、セッション情報格納部24が記憶するセッション情報をサービスセッション情報と表記する場合がある。
セッション情報管理手段21は、サービスセッション識別子を含むサービス応答メッセージを端末装置4に送信する。一方、サービス要求メッセージの受信時に、セッション情報管理手段21が認証不要と判断した場合、認証要求メッセージを送信することなく、セッション情報管理手段21は、サービス応答メッセージを端末装置4に送信する。
通信手段20は、所定の通信プロトコルにより、通信の宛先となる装置に応じて通信を行う。通信手段20は、具体的には、プログラムに従って動作する情報処理端末のCPU及びネットワークインターフェース部によって実現される。
セッション情報管理手段21は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。セッション情報管理手段21は、サービス提供手段22が提供するサービスを利用者が受ける際のセッション情報を管理する機能を備える。
すなわち、セッション情報管理手段21は、サービス要求メッセージの受信時に、サービスを要求した利用者を認証する必要があるか否かを判断する。セッション情報管理手段21は、受信したサービス要求メッセージがサービスセッション識別子を含むと判断した場合、受信したサービスセッション識別子が有効であるか否かを、セッション情報格納部24が記憶するサービスセッション情報に基づいて判断する。サービスセッション情報は、例えば、サービスセッション識別子の有効期限や、認証強度等を含む情報である。
また、セッション情報管理手段21は、認証装置1から受信した認証応答が有効であって、利用者がアクセス権限を有する場合、セッション識別子を発行し、セッション情報としてセッション情報格納部24に記憶させる。以下、セッション情報管理手段21が発行するセッション識別子を、サービスセッション識別子と表記し、セッション情報格納部24が記憶するセッション情報を、サービスセッション情報と表記する場合がある。
サービス提供手段22は、具体的には、プログラムに従って動作する情報処理装置のCPUによって実現される。サービス提供手段22は、所定のサービスを、認証装置1とは異なる所定の通信プロトコルによって公開している。サービス提供手段22は、通信手段20およびネットワーク500を介して、端末装置4に対して各種サービスを提供する機能を備える。
アクセス制御手段23は、認証装置1から受信した利用者に関する認証応答メッセージを解析し、認証応答メッセージの解析結果と、セキュリティポリシ格納部25が管理するセキュリティポリシとに基づいて、サービス提供手段22がサービスへのアクセスを許可するか否かの認可判断を行う。
セキュリティポリシ格納部25は、サービス提供装置2のアクセス制御手段23が、利用者に所定のサービスの提供許可を与えるか否かを判断するためのポリシ情報を管理する。ポリシ情報は、具体的には、例えば、受信した認証証明書が有効である場合に利用者に対して所定のURLで公開するサービスへのアクセスを許可する、などのアクセス制御に関するポリシである。ポリシ情報は、所定の記述言語で記載される。
図4は、中継装置3の構成の一例を示すブロック図である。図4に示すように、中継装置3は、通信手段30と、データ変換手段31と、通信メッセージ解析作成手段32と、端末識別子管理手段33と、連携セッション情報管理手段34と、連携セッション情報格納部35と、端末識別子情報格納部36と、変換規則情報格納部37とを含む。
中継装置3の通信手段30が、転送する情報を受信すると、データ変換手段31は、受信した情報を、変換規則情報格納部37が記憶する変換規則に基づいて変換し、転送先の装置に送信する。例えば、データ変換手段31は、転送する情報のプロトコルを、転送元の装置が対応するプロトコルから転送先の装置が対応するプロトコルに変換する。
通信手段30が端末装置4からサービス要求メッセージを受信した場合、連携セッション情報管理手段34は、受信したサービス要求メッセージに含まれる端末識別子に対応するサービスセッション識別子が連携セッション情報格納部35に記憶されているか否かを判断する。端末識別子に対応するサービスセッション識別子が記憶されていない場合、通信メッセージ解析作成手段32は、サービス要求メッセージをサービス提供装置2に転送する。一方、端末識別子に対応するサービスセッション識別子が記憶されている場合、通信メッセージ解析作成手段32は、サービス要求メッセージにサービスセッション識別子を付与して、サービス提供装置2に転送する。
通信手段30がサービス提供装置2から認証要求メッセージを受信した場合、連携セッション情報管理手段34は、連携セッション情報格納部35において、サービス要求メッセージに含まれる端末識別子に対応する認証セッション識別子が連携セッション情報格納部35に記憶されているか否かを判断する。端末識別子に対応する認証セッション情報が記憶されていない場合、通信メッセージ解析作成手段32は、データ変換手段31が変換した認証要求メッセージを認証装置1に転送する。一方、端末識別子に対応する認証セッション識別子が記憶されている場合、通信メッセージ解析作成手段32は、データ変換手段31が変換した認証要求メッセージに認証セッション識別子を付与して、認証装置1に転送する。
通信手段30が認証装置1から認証応答メッセージを受信した場合、通信メッセージ解析作成手段32は、受信した認証応答メッセージに含まれる認証セッション識別子を抽出する。連携セッション情報管理手段34は、認証セッション識別子を、認証応答メッセージに対応するサービス要求メッセージを送信した端末の端末識別子に対応付けて、連携セッション情報として連携セッション情報格納部35に記憶させる。通信メッセージ解析作成手段32は、データ変換手段31が変換した認証応答メッセージをサービス提供装置2に転送する。
通信手段30がサービス提供装置2からサービス応答メッセージを受信した場合、通信メッセージ解析作成手段32は、受信したサービス応答メッセージに含まれるサービスセッション識別子を抽出する。連携セッション情報管理手段34は、サービスセッション識別子を、サービス応答メッセージに対応するサービス要求メッセージを送信した端末の端末識別子に対応付けて、連携セッション情報として連携セッション情報格納部35に記憶させる。通信メッセージ解析作成手段32は、サービス応答メッセージを端末装置4に転送する。
通信手段30は、認証装置1の通信手段10と、サービス提供手段2の通信手段20が利用する両方の通信プロトコルを利用して、通信の宛先となる装置に応じて通信する。すなわち、通信手段30は、認証装置1の通信手段10が従うプロトコルと、サービス提供手段2の通信手段20が従うプロトコルの両方のプロトコルに対応している。通信手段30は、具体的には、プログラムに従って動作する情報処理端末のCPU及びネットワークインターフェース部によって実現される。
データ変換手段31は、あるプロトコルで受信したメッセージデータを、異なるプロトコルの送信メッセージデータに変換する機能を有する。例えば、データ変換手段31は、認証装置1、サービス提供装置2および端末装置4の間で異なる通信プロトコルを用いている場合に、通信メッセージ解析作成手段32が解析した結果に基づいて、プロトコル間の違いを吸収するための処理を行う。中継装置3は、各通信メッセージに格納される各データを共通の形式で管理し、個々の通信プロトコルに依存した形式に変換する。
また、データ変換手段31は、各データの名前解決機能を有し、例えば、所定の装置名から適切なURLへの変換を行う。また、データ変換手段31は、メタ情報の検索機能を有し、例えば、所定の装置名の宛先に対応した通信プロトコルの取得を行う。
変換規則情報格納部37は、データ変換手段31が、データを変換する際に利用する変換規則情報を記憶する。変換規則情報は、例えば、各通信プロトコル毎の情報であって、セッション情報の形式、格納パラメータ、格納場所、データの変換方法、データの解決規則、各装置に関するメタ情報等を含む情報である。
通信メッセージ解析作成手段32は、通信手段30が受信した所定のメッセージの内容を解析する。通信メッセージ解析作成手段32は、受信メッセージの差出元や宛先、および受信メッセージの意図する内容を解析した上で、解析した内容に基づいて、通信プロトコルの変換が必要か否かを判断する。変換が必要な場合には、通信メッセージ解析作成手段32は、データ変換手段31にデータ変換の要求を行う。通信メッセージ解析作成手段32は、受信メッセージの解析結果を元に、受信メッセージをどの宛先に送付するかを決定し、しかるべき宛先を規定したメッセージを作成する。
また、通信メッセージ解析作成手段32は、認証装置1から認証応答メッセージを受信した場合に、認証セッション識別子を抽出する。通信メッセージ解析作成手段32は、サービス提供装置2からサービス応答メッセージを受信した場合に、サービスセッション識別子を抽出する。
端末識別子管理手段33は、通信手段30が受信した通信メッセージを送付した端末装置4に関する識別子情報(端末識別子)を抽出する手段である。ここで、端末装置4に関する識別子情報とは、端末装置4のIPアドレスや、端末装置4固有の識別子や、端末装置4の利用者の利用者識別子などである。端末識別子管理手段33は、端末装置4、認証装置1およびサービス提供装置2の間で中継する通信メッセージの識別子に基づいて、ある利用者に関連する一連のメッセージを関連付けて管理し、各メッセージの識別子から、端末識別子の情報を取得する。
すなわち、端末識別子管理手段33は、端末装置4がサービス提供装置2に送信するサービス要求メッセージを中継する際に、サービス要求メッセージに含まれる端末識別子を抽出し、当該サービス要求メッセージを特定可能な識別子に対応付けて端末識別子情報格納部36に記憶させる。端末識別子管理手段33は、サービス提供装置2から認証要求メッセージやサービス応答メッセージを受信した場合および認証装置1から認証応答メッセージを受信した場合に、それらのメッセージに対応するサービス要求メッセージを特定し、対応する端末識別子を抽出する。
連携セッション情報管理手段34は、通信メッセージ解析作成手段32が抽出した認証セッション情報およびサービスセッション情報を、連携セッション情報格納部35に記憶させる。連携セッション情報管理手段34は、例えば、連携セッション情報の新規登録、更新、削除等の処理を行う。
連携セッション情報格納部35は、通信メッセージ解析作成手段32が抽出した認証セッション情報およびサービスセッション情報を記憶する。連携セッション情報格納部35は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。
端末識別子情報格納部36は、端末識別子管理手段33が抽出した端末識別子情報を記憶する。端末識別子情報格納部36は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。
図5は、端末装置4の構成の一例を示すブロック図である。図5に示すように、端末装置4は、通信手段40と、認証処理手段41と、サービス要求手段42と、端末識別子管理手段43と、端末識別子格納部44とを含む。
通信手段40は、サービス提供装置2のサービス提供手段22が提供するサービスを利用するための所定の通信プロトコルに従って、通信を行う。通信手段40は、通信プロトコルを利用して、中継装置3を介して、認証装置1やサービス提供手段2と通信を行うことができる。通信手段40は、具体的には、プログラムに従って動作する情報処理端末のCPU及びネットワークインターフェース部によって実現される。
サービス要求手段42は、サービス提供装置2が提供するサービスを受けるために、サービス要求メッセージを送信し、その結果返信される情報(サービス応答メッセージ)を、通信手段40を介して受信する。また、サービス要求手段42は、サービス提供装置2から送信される情報(サービス応答メッセージ)を、端末装置4の利用者に対して表示し、利用者からの情報入力が可能な適切なインターフェース機能を備える。
認証処理手段41は、認証装置1からクレデンシャル要求を受信した場合に、例えば、利用者にクレデンシャル情報の入力を促すなどの処理を行い、クレデンシャル情報を認証装置1に送信する。
端末識別子管理手段43は、端末装置4に対して与えられる識別子であって、端末装置4あるいは端末装置4の利用者を特定可能な識別子である端末識別子を端末識別子格納部44に記憶させる。端末識別子は、具体的には、認証装置1を運営する事業者から与えられたり、ネットワークアクセス時に自動的に割り当てられて取得するIPアドレスや、端末装置4固有の識別子や、端末装置4の利用者の利用者識別子などである。
端末識別子格納部44は、端末装置4に割り当てられ、端末識別子管理手段43が管理する端末識別子を記憶する。端末識別子格納部44は、具体的には、磁気ディスク装置や光ディスク装置等の記憶装置によって実現される。
認証装置1、サービス提供装置2、中継装置3、端末装置4における各通信手段は、互いに通信する場合には、SSL(Secure Sockets Layer)、TLS(Transport Layer Security)、あるいはそれらに相当する、第三者との間で送受信するメッセージの傍受を防止する機構を備えている。また、各通信手段は、互いに送受信するメッセージの内容を所定の通信相手にのみ通知し、意図した通信相手に露呈することを防止するための暗号化機能を備えるとともに、受信した暗号化情報を解読するための複合化機能を備えている。さらに、各通信手段は、互いに送受信するメッセージの内容が、適切な装置によって作成され、改竄されていないことを証明するための署名機能と、その署名内容の検証機能を備えている。
次に、図6〜図14を参照して第1の実施の形態の動作について説明する。
まず、認証装置1の動作について説明する。図6は、認証装置1が実行する処理の一例を示す流れ図である。本実施の形態では、認証装置1の利用者認証手段12は、利用者を認証するサービスを公開し、他の装置からの認証要求を受信可能な状態にあるとする。以下、認証装置1が実行する処理の中で最も特徴的な処理として、サービス提供装置2からの認証要求を中継装置3を経由して受信した場合の処理について説明する。
認証装置1の通信手段10は、中継装置3から利用者の認証要求メッセージを受信する(ステップS101)。
セッション情報管理手段14は、認証要求メッセージに認証セッション識別子が含まれているか否かを判断する(ステップS102)。認証セッション識別子が含まれていなければ(No)、ステップS103に移行し、利用者の認証処理を行う。すなわち、利用者認証手段12は、利用者のクレデンシャル情報を要求するメッセージを中継装置3を介して端末装置4に送信し(ステップS103)、通信手段10は、端末装置4から中継装置3を介してクレデンシャル情報を受信する(ステップS104)。
利用者認証手段12は、受信したクレデンシャル情報を、利用者情報管理手段13が管理する利用者情報格納部15が記憶する利用者情報と照合することによって検証し、利用者の認証を行う(ステップS105)。セッション情報管理手段14は、利用者の認証の完了後、新たに認証セッション識別子を発行し(ステップS106)、認証した利用者(端末識別子)と関連付けて管理する。
一方、ステップS102において、認証セッション識別子が含まれていれば(Yes)、セッション情報管理手段14は、認証セッション識別子として管理されるセッションの詳細を確認し、セッションの有効性を調べる(ステップS109)。もし、調査したセッションの有効期間が過ぎているなどの理由で、セッションが無効であると判断されれば(No)、利用者認証手段12は、利用者の追加的な認証が必要となるため、ステップS103に移行し、利用者の認証処理を行う。一方、セッションが有効であると確認されれば(Yes)、利用者の認証処理を省略し、ステップS107に移行する。
有効なセッションが確立されると、認証情報発行手段11は、利用者の認証証明書情報を発行し(ステップS107)、認証要求に対する認証応答メッセージを作成する。利用者認証手段12は、通信手段10および中継装置3を介して、サービス提供装置2に認証応答メッセージを送信する(ステップS108)。認証装置1は、ステップS101に移行し、中継装置3からの認証要求を待機待ちの状態に戻る。
次に、サービス提供装置2の動作について説明する。図7は、サービス提供装置2が実行する処理の一例を示す流れ図である。本実施の形態では、サービス提供装置2のサービス提供手段22は、端末装置4を利用する利用者に対して、所定のサービスを公開しており、端末装置4からのサービスにアクセスするための要求を受信可能な状態にあるとする。以下、サービス提供装置2が実行する処理の中で最も特徴的な処理として、端末装置4からの認証要求を中継装置3を経由して受信した場合の処理について説明する。
サービス提供装置2の通信手段20は、中継装置3から利用者のサービスへのアクセス要求(サービス要求)メッセージを受信する(ステップS201)。セッション情報管理手段21は、受信したサービス要求メッセージにサービスセッション識別子が含まれているか否かを確認し(ステップS202)、サービスセッション識別子が含まれていれば(Yes)、サービスセッション識別子に対応するサービスセッション情報をセッション情報格納部24から抽出し、その有効性を確認する(ステップS203)。サービスセッション識別子が有効であれば(Yes)、サービス提供手段22は、ステップS211に移行し、サービス提供を継続し、サービス応答メッセージを送信する。ステップS203において、サービスセッション識別子が有効でないと判断した場合(No)、ステップS204の処理に移行する。
一方、ステップS202の処理で、サービスセッション識別子が含まれていなければ(No)、ステップS204に移行する。ステップS204において、セッション情報管理手段21は、利用者の認証を行うために、利用者認証の要求の旨を示す認証要求メッセージを作成する。ここで、サービス提供手段22は、認証要求メッセージの中に、利用者の認証を行うべき所定の認証装置1を示す情報を含めてもよい。通信手段20は、認証要求メッセージを中継装置3に送信し、中継装置3からの応答を待機する。
通信手段20は、中継装置3から、認証要求メッセージに対する認証応答メッセージを受信する(ステップS205)。アクセス制御手段23は、認証応答メッセージを解析し、認証応答メッセージから利用者に相当する認証証明書を取り出し、認証装置1による利用者の認証結果の適切性を解析する(ステップS206)。
認証応答メッセージ及び認証証明書の解析結果を基にして、アクセス制御手段23は、セキュリティポリシ格納部25に格納するセキュリティポリシを参照して、サービス提供手段22が提供するサービスに対してサービス要求をした利用者が、サービスを利用する権限を有するか否かを判断する(ステップS207)。
利用者の認証証明書の認証情報が無効であるか、あるいは、利用者にサービスに対するアクセス権限がなければ(No)、サービス提供手段22は、利用者にサービスに対するアクセス権限がない旨を示すエラーメッセージを作成し、通信手段20を通じて、中継装置3に送信する(ステップS208)。
一方、利用者の認証証明書の認証情報が有効であり、かつ、利用者にサービスに対するアクセス権限があれば(Yes)、セッション情報管理手段21は、利用者に対応する新たなセッションを作成し、そのセッションに対応するサービスセッション識別子を発行し(ステップS209)、セッション情報格納部24に記憶させる(ステップS210)。サービス提供手段22は、新たに発行したサービスセッション識別子を含むサービス応答メッセージを作成し、通信手段20は、中継装置3に対して送信する(ステップS211)。
次に、中継装置3の動作について説明する。図8は、中継装置3が実行する処理の一例を示す流れ図である。本実施の形態では、中継装置3は、認証装置1とサービス提供装置2と端末装置4との間の通信を中継するために、通信メッセージを送受信可能に各装置と接続されている。
通信手段30は、他の装置からの通信メッセージの待機待ち状態から、通信メッセージを受信する。メッセージ解析作成手段32は、通信メッセージに含まれる、通信内容、通信メッセージの送付元、意図された通信相手の宛先等の情報を取り出して解析し(ステップS301)、その解析内容に応じた処理を行う。
受信した通信メッセージが、端末装置4からサービス提供装置2に対するサービス要求である場合(ステップS310)、ステップS311のサービス要求・その他受信時処理を行う。図9は、サービス要求メッセージ受信時におけるステップS311の処理の例を示す流れ図である。
サービス要求・その他受信時処理において、通信メッセージ解析作成手段32は、受信したサービス要求メッセージ内に、認証装置1から要求されたクレデンシャルが含まれているか否かを確認し(ステップS312)、クレデンシャルが含まれていれば(Yes)、受信メッセージが認証装置1からのクレデンシャル要求に対するクレデンシャル応答を含むサービス要求であるとみなし、ステップS316に移行する。
ステップS316において、データ変換手段31は、サービス要求メッセージの通信プロトコルと、認証装置1への送信すべき応答メッセージの通信プロトコルとに基づいて、各通信プロトコルに対応する変換規則情報をデータ変換規則格納部37から抽出する。データ変換手段31は、抽出した変換規則情報に基づいて、クレデンシャル応答のメッセージにおいて指定された認証方式、認証アルゴリズム、ドメイン(Realm)、Nonce、認証装置1のIPアドレスなどの情報が適切に格納されるようにデータを変換する。
通信メッセージ解析作成手段32は、新たに再構成した認証装置1に対するクレデンシャル応答メッセージを作成する(ステップS317)。次に、図8を参照すると、通信手段30は、クレデンシャル応答メッセージを、認証装置1に対して送信し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
一方、ステップS312において、受信メッセージにクレデンシャルが含まれていなければ(No)、通信メッセージ解析作成手段32は、サービス要求をサービス提供装置2に転送するための中継処理を以下の通り行う。
すなわち、通信メッセージ解析作成手段32は、サービス要求メッセージにサービスセッション識別子が含まれているか否かを判断する(ステップS313)。サービスセッション識別子が含まれている場合(Yes)、ステップS316に移行する。
ステップS316において、データ変換手段31は、サービス要求メッセージの通信プロトコルと、認証装置1への送信すべき応答メッセージの通信プロトコルとに基づいて、送信先であるサービス提供装置2に応じて必要となるデータを変換する。
通信メッセージ解析作成手段32は、サービスセッション識別子や、サービス要求メッセージが中継装置3を通過したことを示す情報など、プロトコル依存の情報を追加して、新たにサービス提供装置2に対するサービス要求メッセージを作成する(ステップS317)。次に、図8を参照すると、通信手段30は、サービス要求メッセージをサービス提供装置2に対して送信し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
一方、ステップS313にて、サービス要求メッセージにサービスセッション識別子が含まれていない場合(No)、連携セッション情報管理手段34は、連携セッション情報格納部35を参照し、サービス要求を送信した端末装置4に関する連携セッション情報が既に登録されているか否かを判断する(ステップS314)。
ステップS314において、連携セッション情報がない場合(No)、セッション情報に関する処理は何も行わずに、ステップS316に移行する。一方、連携セッション情報がある場合(Yes)、連携セッション情報管理手段34は、連携セッション情報を取得し、端末装置4に関するサービスセッション識別子を取得する(ステップS315)。
そして、データ変換手段31は、サービス要求メッセージの通信プロトコルと、認証装置1への送信すべき応答メッセージの通信プロトコルとに基づいて、送信先であるサービス提供装置2に応じて必要となるデータを変換する(ステップS316)。
通信メッセージ解析作成手段32は、サービス要求メッセージに対して、サービスセッション識別子や、中継装置3を通過したことを示す情報など、プロトコル依存の情報を追加して、新たにサービス提供装置2に対するサービス要求メッセージを作成する(ステップS317)。次に、図8を参照すると、通信手段30は、サービス要求メッセージをサービス提供装置2に対して送信し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
通信メッセージが、サービス提供装置2から認証装置1への認証要求メッセージである場合(ステップS320)、ステップS321の認証要求受信時処理を行う。図10は、ステップS321の処理の例を示す流れ図である。
認証要求受信時処理において、端末識別子管理手段33は、認証要求メッセージに含まれる、認証要求メッセージを送付する引き金になった端末装置4のサービス要求メッセージの識別子をキーとして、端末装置4の端末識別子を、端末識別子情報格納部36から抽出する(ステップS322)。
通信メッセージ解析作成手段32は、認証要求メッセージに、認証要求メッセージを送付する宛先となる認証装置1を示す情報があるか否か確認する。認証装置1を示す情報があれば、認証装置1を示す情報を新たな送付先認証装置として抽出する。一方、認証装置1を示す情報がなければ、所定の認証装置の情報を新たな送付先認証装置として設定する(ステップS323)。
連携セッション情報管理手段34は、ステップS322で抽出した端末識別子をキーとして、連携セッション情報を連携セッション情報格納部35から取得し、連携セッション情報に含まれる、利用者の送付先認証装置1の認証セッション識別子を取得する(ステップS324)。
データ変換手段31は、認証要求メッセージのメッセージデータを、送付先認証装置1が通信する通信プロトコルに応じてデータ変換する(ステップS325)。通信メッセージ解析作成手段32は、データ変換された結果および認証セッション識別子を利用して、新しく認証要求メッセージを再構成する(ステップS326)。図8に示すように、通信メッセージ解析作成手段32は、生成した認証要求メッセージを送付先認証装置1に対して転送し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
受信した通信メッセージが、認証装置1から中継装置3を介した端末装置4へのクレデンシャル要求メッセージである場合(ステップS330)、ステップS331のクレデンシャル要求受信時処理を行う。図11は、ステップS331の処理の例を示す流れ図である。
クレデンシャル要求受信時処理において、通信メッセージ解析作成手段32は、クレデンシャル要求メッセージに含まれる認証方式、アルゴリズムなどユーザ認証に用いるための情報を取得する(ステップS332)。そして、データ変換手段31は、ユーザ認証に用いるための情報と、クレデンシャル要求メッセージの通信プロトコルと、クレデンシャル要求の宛先となる端末装置4への通信プロトコルとに基づいて、ユーザ認証に用いるための情報をデータ変換する(ステップS333)。また、通信メッセージ解析作成手段32は、端末装置4への新たなクレデンシャル要求メッセージを作成する(ステップS334)。次に、図8を参照すると、通信手段30は、クレデンシャル要求メッセージを端末装置4に対して転送し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
受信した通信メッセージが、サービス提供装置2から認証装置1への認証要求メッセージに対する、認証装置1からサービス提供装置2への認証応答メッセージである場合(ステップS340)、ステップS341の認証要求への応答受信時処理を行う。図12は、ステップS341の処理の例を示す流れ図である。
認証要求への応答受信時処理において、通信メッセージ解析作成管理手段32は、通信メッセージに含まれる認証セッション識別子情報を抽出する(ステップS342)。端末識別子管理手段33は、メッセージに含まれる、メッセージを送付する引き金となったサービス提供装置2からの認証要求メッセージの識別子を基にして、元々のサービス要求を行った端末装置4の端末識別子を取得する(ステップS343)。連携セッション情報管理手段34は、端末識別子に基づいて、認証セッション識別子を端末装置4に対応させて、連携セッション情報として連携セッション情報格納部35に格納する(ステップS344)。
データ変換手段31は、受信メッセージを、サービス提供装置2が通信する通信プロトコルに応じてデータ変換する(ステップS345)。連携セッション情報管理手段34は、サービス提供装置2から割り当てられた端末装置4に対するサービスセッション識別子を連携セッション情報から抽出する。通信メッセージ解析作成手段32は、データ変換された結果を利用して、新しく認証要求に対する認証応答メッセージを再構成し(ステップS346)、サービス提供装置2に対して転送し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
受信した通信メッセージが、端末装置4からサービス提供装置2へのサービス要求に対する、サービス提供装置2から端末装置4へのサービス応答メッセージである場合(ステップS350)、ステップS351のサービス応答受信時処理を行う。図13は、ステップS351の処理の例を示す流れ図である。
サービス応答受信時処理において、通信メッセージ解析作成手段32は、サービス応答メッセージにサービスセッション識別子が含まれているか確認する。含まれている場合において、通信メッセージ解析作成手段32はサービスセッション識別子を抽出する(ステップS352)。端末識別子管理手段33は、端末識別子の情報を取得する(ステップS353)。連携セッション情報管理手段34は、サービスセッション識別子と端末識別子とを関連付けて、連携セッション情報格納部35に格納する(ステップS354)。ここで、連携セッション情報管理手段34は、抽出したサービスセッション識別子と、あらかじめ連携セッション情報格納部35に格納されているサービスセッション識別子とを比較し、同一であれば何も処理をせず、一方、異なっていれば、上書きして更新する。次に、通信手段30は、サービス応答メッセージを端末装置4に対して転送し(ステップS302)、他の装置からの通信の待機待ち状態に移行する。
次に、図14を参照して、端末装置4の動作について説明する。図14は、端末装置4が実行する処理の一例を示す流れ図である。
端末装置4の利用者が、サービス提供装置2が提供するサービスに対してサービス要求を意味する入力を行うと(ステップS401)、端末識別子管理手段43は、端末識別子格納部44が記憶する端末識別子情報を抽出する(ステップS402)。サービス要求手段42は、サービスにアクセスするための、サービス要求メッセージを作成する(ステップS403)。通信手段40は、中継装置3に対してサービス要求メッセージを送信し(ステップS404)、中継装置3からの応答を待機する。
通信手段40は、中継装置3からのメッセージを受信し(ステップS405)、受信メッセージの内容を確認する(ステップS406)。受信メッセージが、認証装置1からのクレデンシャル情報の要求を意味するものであれば(クレデンシャル要求)、認証処理手段41は、利用者にクレデンシャル情報の入力を促すか、端末装置4があらかじめ記憶している利用者のクレデンシャル情報を自動的に入力するなどして、クレデンシャル情報を格納した応答メッセージを作成する。通信手段30は、応答メッセージを中継装置3に対して送信する(ステップS407)。
受信メッセージが、ステップS404におけるサービス要求に対するサービス応答であれば(サービス要求への応答)、端末装置4がクレデンシャル情報を送信することなく、利用者は、サービスを利用することができる(ステップS408)。
次に、本実施の形態の効果について説明する。本実施の形態では、認証装置1の通信手段10が従う通信プロトコルと、サービス提供装置2の通信手段20が従う通信プロトコルとが異なる場合においても、中継装置3がそれぞれのプロトコル間のメッセージの変換を行う。また、利用者に関する認証装置1と中継装置3との間のセッションを示す認証セッション識別子と、サービス提供装置2と中継装置3との間のセッションを示すサービスセッション識別子と、利用者の端末装置における端末識別子とを関連付けて管理する。したがって、利用者は、認証装置1への一度の認証だけで、異なるプロトコルによって公開される複数のサービスを利用可能となる。このため、利用者は、再認証を求められる機会が削減され、多様なサービスを認証処理によって途切れずに利用できるため、利便性が向上する。
また、本実施の形態では、中継装置を設置することによって、既存の認証装置、サービス提供装置および端末装置の通信プロトコルや基本機能を改造することなく、シングルサインオンを実現することができる。このため、サービス提供装置、認証装置、端末装置を異なるプロトコルに対応させるための実装コストや、そのためのテストや保守に伴うコストが不要となる。
また、特許文献1に記載された方式では、各サービスに対する利用者のクレデンシャル情報を中継装置に預ける。これに対して、本発明の実施の形態では、クレデンシャル情報を中継装置に預ける必要がない。このため、利用者にとってクレデンシャル情報を預ける手間が不要なだけでなく、預けることによる情報漏えいの危険がないため、セキュリティ上、安全なシステムを構築することができる。
また、本実施の形態では、端末装置は、サービス提供装置や認証装置から発行されるセッション識別子を管理する必要がない。このため、携帯電話やPDAのようなセッション識別子を管理しない端末装置においても、本認証連携システムを利用することが可能である。
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図15は、本発明による認証連携システムの第2の実施の形態を示すブロック図である。
図15に示す認証連携システムは、第1の実施の形態と同様に、認証装置601と、サービス提供装置602と、中継装置603と、端末装置604とを備える。認証装置601、サービス提供装置602、中継装置603および端末装置604は、それぞれネットワーク600を介して接続され、相互に通信を行う。
認証装置用プログラム611は、認証装置601に読み込まれる。認証装置601がコンピュータで実現される場合には、認証装置601に搭載されるCPUが、認証装置用プログラム611を実行することによって、認証装置601の動作の制御や、サービス提供装置602と中継装置603と端末装置604との通信が実現される。認証装置601は、認証装置用プログラム611を実行することにより、第1の実施の形態における認証装置1による処理と同一の処理を実行する。
サービス提供装置用プログラム612は、サービス提供装置602に読み込まれる。サービス提供装置602がコンピュータで実現される場合には、サービス提供装置602に搭載されるCPUが、サービス提供装置用プログラム612を実行することによって、サービス提供装置602の動作の制御や、認証装置601と中継装置603と端末装置604との通信が実現される。サービス提供装置602は、サービス提供装置用プログラム612を実行することにより、第1の実施の形態におけるサービス提供装置2による処理と同一の処理を実行する。
中継装置用プログラム613は、中継装置603に読み込まれる。中継装置603がコンピュータで実現される場合には、中継装置603に搭載されるCPUが、中継装置用プログラム613を実行することによって、中継装置603の動作の制御や、認証装置601とサービス提供装置602と端末装置604との通信が実現される。中継装置603は、中継装置用プログラム613を実行することにより、第1の実施の形態における中継装置3による処理と同一の処理を実行する。
端末装置用プログラム614は、端末装置604に読み込まれる。端末装置604がコンピュータで実現される場合には、端末装置604に搭載されるCPUが、端末装置用プログラム614を実行することによって、端末装置604の動作の制御や、認証装置601とサービス提供装置602と中継装置603との通信が実現される。端末装置604は、端末装置用プログラム614を実行することにより、第1の実施の形態における端末装置4による処理と同一の処理を実行する。
次に、本発明の第1の実施例を、図面を参照して説明する。かかる実施例は本発明の第1の実施の形態に対応するものである。
図16は、本発明による認証システムの実施例を説明するための説明図である。図16に示す認証システムは、認証装置1と、サービス提供装置2と、中継装置3と、端末装置4とを備える。認証装置1、サービス提供装置2、中継装置3および端末装置4は、それぞれ第1の実施の形態における機能を含む。
本実施例において、例えば、認証装置1は、通信プロトコルとしてHTTP(Hyper Text Transfer Protocol)を使用する通信手段20を含む(図2参照。)。
サービス提供装置2は、例えば、SIP(Session Initiation Protocol)通信可能な通信手段20を含む(図3参照。)。サービス提供手段22は、SIPでセッションを開始し、VoIP(Voice over IP)サービスを提供している。
端末装置4は、例えば、SIPのプロトコルに対応する通信手段40を含み(図4参照。)、VoIPサービスを受けることが可能な携帯電話機である。端末装置4は、端末装置4の端末識別子として、IP Addressを管理可能な端末識別子管理手段43を含む。
中継装置3は、HTTPとSIPの両方の通信を行うことが可能な通信手段30と、HTTPとSIPとを変換するデータ変換手段31とを備えている。
例えば、認証装置1を運営する通信事業者は、そのドメイン内において、中継装置3も有している。サービス提供装置2を用いてVoIPサービスを提供する事業者は、例えば、通信事業者と提携関係にあり、認証装置1で認証されれば、アクセス権限のある利用者に対してVoIPサービスを提供可能な仕組みとなっている。
利用者は、事前に認証装置1を運営する通信事業者に加入して、アカウントを保有している。また、利用者は、VoIPサービス提供事業者にも加入して、やはり、アカウントを保有している。利用者の通信事業者とVoIPサービス提供事業者における両アカウントは、通信事業者とVoIPサービス提供事業者において関連付けられて管理されている。当初は、利用者は、認証装置1及びサービス提供装置2のどちらにも認証されておらず、両方の装置には、利用者に関するセッションは確立していない。
利用者は、サービス提供装置2のVoIPサービスに対して、サービスアクセスを試みる。すなわち、利用者の端末装置4は、中継装置3に対して、SIPを利用してサービスアクセス要求(サービス要求)を行う(ステップS510)。端末装置4は、サービスアクセス要求に、端末識別子として端末装置4のIP Addressを格納して送付する。
図17は、ステップS510において端末装置4が中継装置3に送信するサービス要求メッセージの一例を示す説明図である。図17には、利用者Aliceが他の利用者Bobに対して端末装置4から電話をかけようとした際に、端末装置4が、Bobに対するアクセスをSIPのINVITE要求として実装した場合のサービス要求メッセージを例示する。
図18は、連携セッション情報格納部35が記憶する連携セッション情報の一例を示す説明図である。図18には、サービス要求を受信した際に連携セッション情報管理手段34が抽出した連携セッション情報の例を示す。ステップS510の時点では、中継装置3は、利用者に関する有効な認証セッション情報を確立していない。そのため、連携セッション情報管理手段34は、IP Addressに基づいて連携セッション情報格納部35が記憶する連携セッション情報(図18参照。)を抽出するものの、有効なセッション識別子を得られない。そこで、中継装置3は、受信したサービスアクセス要求を、SIPを利用してサービス提供装置2にそのまま転送する(ステップS511)。
図19は、ステップS511において中継装置3がサービス提供装置2に送信するサービス要求メッセージの一例を示す説明図である。図19に示すサービス要求メッセージは、図17に示すサービス要求メッセージが中継装置3を経由して転送されたことを示すヘッダ情報を含む。
サービスアクセス要求を受信したサービス提供装置2は、サービスアクセス要求に有効なサービスセッション識別子が含まれないと判断すると、認証装置1に対して利用者の認証要求を行うメッセージを中継装置3に送付する(ステップS512)。
図20は、ステップS512においてサービス提供装置2が中継装置3に送信する認証要求メッセージの一例を示す説明図である。図20には、SIPのリダイレクトメッセージのContact情報に認証装置1を示す情報を格納させることにより、認証要求すべき認証装置を中継装置3に指示する場合を例示する。なお、認証要求すべき認証装置を示す情報を、Contact情報に入れずに、中継装置3があらかじめ記憶しておいてもよい。
中継装置3は、受信したSIPの認証要求をHTTPに変換する。さらに、端末識別子(端末装置4のIP Address)に基づいて、認証装置1に対応する認証セッション識別子を検索し、存在しないことを確認する(ステップS513)。そして、中継装置3は、変換したHTTPによる認証要求メッセージを認証装置1に対して送信する(ステップS514)。
図21は、ステップS514において中継装置3が認証装置1に送信する認証要求メッセージの一例を示す説明図である。図21に例示する認証要求メッセージは、Liberty Alliance Projectが規定するID−FF(Identity Federation Framework)の認証要求に従ったものになっている。中継装置3は、ステップS512におけるSIPのリダイレクトメッセージのContact情報を宛先として、所定のメッセージを格納したHTTPの認証要求を構成している。
認証装置1は、受信したHTTPの認証要求を調べ、認証セッション識別子が含まれていないと判断すると、利用者のクレデンシャル情報を要求するメッセージを作成し、中継装置3に対して送信する(ステップS515)。
図22は、ステップS515において認証装置1が中継装置3に送信するクレデンシャル要求メッセージの一例を示す説明図である。図22には、利用者Aliceに対してクレデンシャル情報を要求する場合の一例を示す。図22に示すメッセージは、HTTPのDigest認証方式に従い、nonce情報を含むメッセージである。
中継装置3は、受信したクレデンシャル要求メッセージをSIPに変換して(ステップS516)、端末装置4に送信する(ステップS517)。
図23は、ステップS517において中継装置3が端末装置4に送信するクレデンシャル要求メッセージの一例を示す説明図である。図23には、利用者Aliceに対してクレデンシャル情報を要求する場合の一例を示す。図23に示すメッセージは、SIPのDigest認証方式に従うメッセージである。中継装置3は、ステップS515において認証装置1から受信したHTTPのDigest認証のメッセージをSIPに変換し、利用者に関する一連のメッセージを関連付けるメッセージの識別子であるCall−IDを付与する。
端末装置4は、クレデンシャル要求メッセージを受信し、利用者のクレデンシャル情報を含むクレデンシャル応答メッセージをSIPで中継装置3に送信する(ステップS518)。
図24は、ステップS518において端末装置4が中継装置3に送信する応答メッセージの一例を示す説明図である。図24には、応答メッセージが利用者Aliceのクレデンシャル情報を含む場合の一例を示す。図24に示すメッセージは、ステップS517で送信されたクレデンシャル要求メッセージに対する応答であり、Proxy−Authorizationのresponseに、暗号化されたクレデンシャル情報を含む。
中継装置3は、端末装置4が送信したクレデンシャル情報を含む応答メッセージを、SIPからHTTPに変換し(ステップS519)、認証装置1に送信する(ステップS520)。
図25は、ステップS520において中継装置3が認証装置1に送信する応答メッセージの一例を示す説明図である。図25には、応答メッセージが利用者Aliceのクレデンシャル情報を含む場合の一例を示す。図25に示すメッセージは、中継装置3が、ステップS518で受信したSIPのINVITEメッセージをHTTPのGETに変換したメッセージである。
認証装置1は、クレデンシャル情報を確認し、利用者の認証を行う。認証が完了すると、認証装置1は、認証結果を基に認証証明書を作成し、さらに、利用者に対応させて新たな認証セッションを発行する(ステップS521)。
認証装置1は、認証証明書と、認証セッションに相当する認証セッション識別子とを含む認証応答メッセージを作成し、HTTPで中継装置3に送信する(ステップS522)。
図26は、ステップS522において認証装置1が中継装置3に送信する認証応答メッセージの一例を示す説明図である。図26には、認証応答メッセージが利用者Aliceの認証証明書を含む場合の例を示す。図26に示すメッセージは、formのinputのvalueに、エンコードされたAliceの認証証明書を含み、Set−Cookieに、認証セッション識別子を含む。
中継装置3は、受信した認証応答メッセージに含まれる認証セッション識別子を抽出し、利用者の連携セッション情報として、新たに登録する(ステップS523)。図27は、連携セッション情報格納部35が記憶する連携セッション情報の一例を示す説明図である。図27には、認証応答メッセージを受信した際に連携セッション情報管理手段34が登録した連携セッション情報の例を示す。図27に示す例では、認証装置1から送信された認証セッション識別子(1234abcd)が、端末装置4のIP Addressと関連付けて登録されている。さらに、中継装置3は、受信したHTTPの認証応答メッセージをSIPに変換して、サービス提供装置2に対して転送する(ステップS524)。
図28は、ステップS524において中継装置3がサービス提供装置2に送信する認証応答メッセージの一例を示す説明図である。図28には、認証応答メッセージが利用者Aliceの認証証明書を含む場合の例を示す。図28には、SIPのメッセージが、ステップS522で送信された認証証明書(Assertion)を、MIMEの形式で含む場合を例示する。
サービス提供装置2は、受信した認証応答メッセージに含まれる認証証明書情報を抽出し、抽出した認証証明書に記載されている利用者を特定する。そして、特定した利用者に、サービスへのアクセス権限があるか否かを調べる。権限があれば、新たにサービス提供のためのサービスセッションを作成し、対応するサービスセッション識別子を含むサービス応答メッセージを作成して、中継装置3に送信する(ステップS525)。
中継装置3は、サービス要求に対するサービス応答メッセージに含まれるサービスセッション識別子情報を取得し、利用者に関する連携セッション情報として、新たに登録する(ステップS526)。図29は、連携セッション情報格納部35が記憶する連携セッション情報の一例を示す説明図である。図29には、ステップS526の時点で、連携セッション情報管理手段34が登録した連携セッション情報の例を示す。図29に示す例では、サービス提供装置2から送信されたサービスセッション識別子(aaabbb)が、端末装置4のIP Addressと関連付けて登録されている。さらに、中継装置3は、受信したサービス応答メッセージを、端末装置4に対して転送する(ステップS527)。
次に、その後、同じ利用者が、端末装置4を用いて、上記のVoIPサービス提供事業者が公開するVoIPサービスとは異なるが、同一のサービス提供装置2によって提供されるコンテンツサービスにアクセスする場合を、図30を参照して説明する。
図30は、本発明による認証システムの実施例を説明するための説明図である。図30に示す認証システムは、認証装置1と、サービス提供装置2と、中継装置3と、端末装置4とを備える。認証装置1、サービス提供装置2、中継装置3および端末装置4は、それぞれ第1の実施の形態における機能を含む。以下、利用者と各装置の設定は、上記の設定(図16参照。)と全く同じであるとする。図30に示す認証システムの状態は、図16に示す認証システムの状態を受け継いでいる。中継装置3は、図29に例示する連携セッション情報を保有している。
この状態から、利用者は、端末装置4から、コンテンツサービスへのアクセス要求(サービス要求)を行う(ステップS530)。
中継装置3は、アクセス要求を受信し、端末装置4の端末識別子を抽出し、端末識別子に対応する連携セッション情報を抽出する(ステップS531)。図29に示すように、連携セッション情報には、サービス提供装置2に対応するサービスセッション識別子が格納されている。中継装置3は、受信したサービス要求メッセージをプロトコル変換し、新規メッセージを作成し、サービスセッション識別子を付与した後、サービス提供装置2へ送信する(ステップS532)。
サービス提供装置2は、受信したサービス要求メッセージに含まれるサービスセッション識別子を参照し、利用者のセッションが有効に確立していることを確認する(ステップS533)。
さらに、サービス提供装置2は、利用者のコンテンツサービスへのアクセス権限を確認したうえで、サービスを提供する応答(サービス応答メッセージ)を、中継装置3に対して送信する(ステップS534)。
中継装置3は、受信したサービス応答メッセージに含まれるサービスセッション識別子が更新されていれば再度登録し(ステップS535)、端末装置4に転送する(ステップS536)。
以上に説明したように、ステップS530からステップS536の処理においては、利用者の追加的な認証手続きは発生しない。
次に、その後に利用者が、端末装置4を用いて、上記のVoIPサービス提供事業者とは異なるコンテンツ事業者がSIPで提供するコンテンツサービスに対してアクセスする場合を、図31を参照して説明する。
図31は、本発明による認証システムの実施例を説明するための説明図である。図31に示す認証システムは、認証装置1と、サービス提供装置302と、中継装置3と、端末装置4とを備える。認証装置1、サービス提供装置302、中継装置3および端末装置4は、それぞれ第1の実施の形態における機能を含む。
サービス提供装置302は、図16および図30に示すサービス提供装置2とは異なるサービス提供装置である。例えば、サービス提供装置2とサービス提供装置302とは、それぞれ、異なる事業者によって管理される。図31に示す認証システムにおいて、利用者、端末装置4、中継装置3および認証装置1は、図30に例示するものと同一であり、図30の状態を受け継いでいる。中継装置3は、図29に示す連携セッション情報を保有している。
利用者は、端末装置4を用いて、中継装置3に対してサービスアクセス要求を行う(ステップS540)。
中継装置3は、サービスアクセス要求を受信し、端末装置4に対応する連携セッション情報を抽出し、サービス提供装置302に対応するサービスセッション識別子がないと判断すると(ステップS541)、サービス提供装置302に対してサービスアクセス要求を転送する(ステップS542)。
サービス提供装置302は、受信メッセージにサービスセッション識別子が含まれないと判断すると、中継装置3に対して、認証装置1向けの認証要求メッセージを送信する(ステップS543)。
中継装置3は、端末装置4の端末識別子に基づいて、連携セッション情報を抽出し、利用者に関する認証セッションが確立していると判断すると、SIPからHTTPにデータ変換し、認証セッション識別子を格納した認証要求メッセージを作成して(ステップS544)、認証装置1に送信する(ステップS545)。
認証装置1は、認証要求メッセージに含まれる認証セッション識別子を抽出して有効なセッションであることを確認し(ステップS546)、認証証明書を作成して、中継装置3向けに認証要求に対する応答メッセージを送信する(ステップS547)。
中継装置3は、受信した認証応答メッセージに含まれる認証セッション識別子が更新されていないことを確認し(ステップS548)、HTTPからSIPへプロトコル変換した後、サービス提供装置302に対して、認証応答メッセージを送信する(ステップS549)。
サービス提供装置302は、利用者のアクセスに対する認可を行った後、新規にサービスセッションを作成して、サービスセッション識別子を発行し、サービス応答メッセージを中継装置3に対して送信する(ステップS550)。
中継装置3は、サービス応答メッセージを受信し、サービス提供装置302からのサービスセッション識別子を連携セッション情報に新規登録し(ステップS551)、サービス応答メッセージを端末装置4に転送する(ステップS552)。
以上、ステップS540からステップS552において、利用者がアクセスするサービス提供装置302が図16に示すサービス提供装置2と異なるものの、利用者は、既に認証装置1で認証を受け、認証セッションを確立している。そのため、認証装置1から利用者に対するクレデンシャル要求は発生せず、利用者にとっては、認証手続きなしで、サービス提供装置302にアクセスすることができる。
なお、本実施例では、認証装置がHTTPに対応し、サービス提供装置がSIPに対応する場合を例として設定したが、この組み合わせや、別のプロトコルであっても処理の流れは同様である。