ID連携システム
【課題】
本発明では、サービス提供サーバが持つユーザIDと認証サーバが持つ認証情報を連携させ、サービス提供事業者の負荷を軽減させ、且つ利用者の利便性も向上させることを課題としている。
【解決手段】
サービス提供サーバを利用したサービス利用の際に使用する認証情報の登録を以下のとおり行う。サービス提供サーバは、利用者からのサービス利用の際の認証手段を含む登録要求を受信し、当該受信に応じて利用者識別情報を生成し、予め認証手段毎に設定されている認証サーバに利用者識別情報を含む認証情報登録要求を送信する。そして、当該認証サーバでは、認証情報登録要求の受信に応じて、利用者識別情報と当該認証サーバの認証手段に応じた認証情報を対応付けて登録し、その旨をサービス提供サーバに送信する。さらに、サービス提供サーバにおいて、利用者識別情報と、認証サーバを特定する情報を対応付けて記憶する。そして、このように登録された認証情報を利用して認証処理を実行する。
本発明では、サービス提供サーバが持つユーザIDと認証サーバが持つ認証情報を連携させ、サービス提供事業者の負荷を軽減させ、且つ利用者の利便性も向上させることを課題としている。
【解決手段】
サービス提供サーバを利用したサービス利用の際に使用する認証情報の登録を以下のとおり行う。サービス提供サーバは、利用者からのサービス利用の際の認証手段を含む登録要求を受信し、当該受信に応じて利用者識別情報を生成し、予め認証手段毎に設定されている認証サーバに利用者識別情報を含む認証情報登録要求を送信する。そして、当該認証サーバでは、認証情報登録要求の受信に応じて、利用者識別情報と当該認証サーバの認証手段に応じた認証情報を対応付けて登録し、その旨をサービス提供サーバに送信する。さらに、サービス提供サーバにおいて、利用者識別情報と、認証サーバを特定する情報を対応付けて記憶する。そして、このように登録された認証情報を利用して認証処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のWebシステムが個々に保持する利用者を識別、管理するID情報を異なる複数のシステム(例えば、サービス提供サーバ、認証サーバ)間で連携させるID連携技術に関する。
【背景技術】
【0002】
近年、高速通信環境(インフラ)の充実と、情報端末の高度化に伴い、Webサービスの多様化、サービス提供者、利用者の拡大が著しい。こうしたなか、シングルサインオンシステムやOpenIDシステム、SAMLシステムなど、Webサービスにおける利用者及びサービス提供者の認証に関する処理の効率化を目的とした仕組みが考案され、様々なサービスで採用されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−310512 号公報
【特許文献2】特開2003−242414 号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
認証を必要とするWebサービスシステムは、認証機能をサービス提供事業者で実装するケースと、OpenIDのように、サービスを提供するシステムと認証機能を提供するシステムが独立し、サービス提供事業者が認証機能提供事業者の認証機能を利用するケースがある。認証機能をサービス提供事業者で実装するケースでは、サービスの主体であるサービス提供とは別に認証機能の作りこみが必要となる。サービス提供事業者が認証機能提供事業者の認証機能を利用するケースにおいては、サービスを提供するシステムと認証機能を提供するシステムの連結部の実装が必要となる。さらに、サービスを提供するシステムは、認証機能提供事業者の認証以外に、独自に認証機能や認証情報を保持している場合が多い。これは、多くの場合、認証手段をサービスを利用する利用者に選択させているため、認証機能提供事業者の認証を利用しない利用者も存在するためである。そのため、サービス提供者は、独自の認証機能、認証機能提供事業者の認証機能との連携機能、独自の認証情報、独自の認証情報と認証機能提供事業者の認証情報との関連付け情報を保持する必要があり、運用(管理)の負荷が大きい。
【課題を解決するための手段】
【0005】
本発明では、課題に対し、サービス提供サーバが持つユーザIDと認証サーバが持つ認証情報を連携させ、サービス提供事業者の負荷を軽減させ、且つ利用者の利便性も向上させることを1つの目的としている。このために、本発明では、サービス提供サーバを利用したサービス利用の際に使用する認証情報の登録を以下のとおり行う。サービス提供サーバは、利用者からのサービス利用の際の認証手段を含む登録要求を受信し、当該受信に応じて利用者識別情報を生成し、予め認証手段毎に設定されている認証サーバに利用者識別情報を含む認証情報登録要求を送信する。そして、当該認証サーバでは、認証情報登録要求の受信に応じて、利用者識別情報と当該認証サーバの認証手段に応じた認証情報を対応付けて登録し、その旨をサービス提供サーバに送信する。さらに、サービス提供サーバにおいて、利用者識別情報と、認証サーバを特定する情報を対応付けて記憶する。
【0006】
ここで、本発明には、このように登録された認証情報を利用してサービス利用の際の認証を行うことも含まれる。すなわち、サービス提供サーバは、利用者から利用者識別情報を含むサービス要求を受信し、この利用者識別情報に対応する認証サーバを特定する。そして、利用者に対して認証情報の入力要求を提示する。そして、サービス提供サーバは、入力要求に従って入力された認証情報と利用者識別情報を含む認証要求を、認証サーバに送信し、認証サーバにて本内容に従って認証処理を実行する。
【0007】
本発明には、以下の態様も含まれる。サービス提供サーバには、利用者のユーザIDと利用者自身が選択・登録する認証サーバのURL、認証サーバの登録状態を保持させる。サービス提供サーバは、利用者からのアクセスに伴い、利用者自身が登録した認証サーバへクライアント(利用者の端末)を誘導し、認証サーバとユーザ間で認証情報の登録、認証処理を実行する。認証サーバでは、サービス提供サーバを特定できる一意な情報と、サービス提供サーバで利用されるユーザIDの2つの情報を主キーとしたテーブルを持ち、そこに認証サーバにおけるユーザIDと認証情報を登録する(サービス提供サーバのIDと認証サーバの認証情報の関連付け)。認証結果は、正当性を確保する手段を用いて作成され、クライアントを経由してサービス提供サーバに送付される。サービス提供サーバは、認証結果の正当性を検定可能な手段を持ち、それにより検定処理を行ったうえで、サービスを提供する。
【発明の効果】
【0008】
本発明によれば、よりサービス提供業者もしくはサービス提供サーバの認証の負荷を低減することが可能になる。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態のサービス提供サーバ装置と認証サーバ装置が独立したWeb上のサービス提供システムのシステム構成図である。
【図2】本発明の一実施形態のサービス提供サーバ装置の構成を示すブロック図である。
【図3】本発明の一実施形態の認証サーバ装置の構成を示すブロック図である。
【図4】本発明の一実施形態のユーザアカウント情報テーブルの一例を示すデータテーブル図である。
【図5】本発明の一実施形態の認証サーバ情報テーブルの一例を示すデータテーブル図である。
【図6】本発明の一実施形態の認証アカウント情報テーブルの一例を示すデータテーブル図である。
【図7】本発明の一実施形態の公開鍵ペア情報テーブルの一例を表すデータテーブル図である。
【図8】本発明の一実施形態のサービス提供サーバ装置へのサービス提供要求からサービス提供までのシーケンス図である。
【図9】本発明の一実施形態の既認証ユーザのサービス提供サーバ装置へのサービス提供要求からサービス提供までのシーケンス図である。
【図10(a)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウント登録処理及び、認証結果検定処理を示すフロー図(その1)である。
【図10(b)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウント登録処理及び、認証結果検定処理を示すフロー図(その2)である。
【図11(a)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウントと、認証サーバ装置のユーザアカウントの連携処理及び、認証処理を示すフロー図(その1)である。
【図11(b)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウントと、認証サーバ装置のユーザアカウントの連携処理及び、認証処理を示すフロー図(その2)である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について添付図面を参照しながら、詳細に説明する。
図1は、本実施形態のサービス提供サーバ装置と認証サーバ装置を有するWeb上のサービス提供システムの詳細なシステム構成図の一例である。本実施形態のサービス提供システムは、クライアント装置100(PC−a101、PC‐b102、モバイル情報端末103)と、サービス提供サーバ装置110(サービス提供サーバ装置−a111、サービス提供サーバ装置−b112、サービス提供サーバ装置−c113)と、認証サーバ装置120(認証サーバ装置−a、認証サーバ装置−b)、インターネット130を備える。本実施形態では、クライアント装置(PC‐b102)には、認証デバイス104が接続されている例を示す。
【0011】
クライアント装置100(PC−a101、PC‐b102、モバイル情報端末103)は、PCやモバイル情報端末と記述しているが、サーバ装置やワークステーション装置、携帯電話やスマートフォン、PDA、組み込み機器でも記録媒体に格納しているOSやアプリケーションをメモリとCPU上で実行する情報機器であれば特に限定しない。また、本実施形態では、クライアント装置としてPC−a101、PC‐b102、モバイル情報端末103を備える場合を例に挙げて説明する。
【0012】
PC−a101は、利用者の指示に従って演算を行い、必要に応じてデバイスを利用し、演算結果を利用者に提示する情報処理装置である。PC−a101は、インターネット130に図示しないネットワークインタフェースを介して接続している。PC−a101は、図示しないハードディスクドライブもしくはフラッシュメモリなどのストレージやメモリ及びCPUを備え、利用者の指示などに従ってプログラムに応じた演算を行う。演算結果は、PC−a101に接続されている図示しないディスプレイに表示される。利用者からの指示は図示しないキーボードやマウスといったユーザインタフェースを介して、PC−a101に送信される。本実施形態ではPC‐b102は、認証デバイス104を備える。認証デバイス104は、指静脈認証装置や指紋認証装置などの生体認証装置や、電子証明書、その公開鍵ペアをセキュアに保管するためのICカードやUSBトークンが考えられるが、これらに限定しない。認証デバイス104はPC‐b102と図示しないデバイス接続用のインタフェースで接続されている。デバイス接続用のインタフェースは、例えば、ユニバーサルシリアルデバイス(USB)、ワイヤレスUSB、近距離無線通信インターフェース、赤外線通信インタフェース、シリアルポートインタフェース、パラレルポートインタフェースといったデバイスをPCに接続するためのインタフェースが考えられる。以後、特にクライアント装置としてPC−a101、PC‐b102、モバイル情報端末103を区別する必要が無い場合は、PC−a101を代表として説明する。
【0013】
次に、クライアント装置100がインターネット130を介して接続するサービス提供サーバ装置110について説明する。
【0014】
本実施形態では、クライアント装置100がインターネット130を介して接続するサービス提供サーバ装置としてサービス提供サーバ−a111、サービス提供サーバ−b112、サービス提供サーバ−c113を備える場合を例に挙げて説明する。各サービス提供サーバ装置は、これに限定しない。
【0015】
サービス提供サーバ−a111は、クライアント装置100からの要求に従って演算を行い、演算結果をクライアント装置100に提示する情報処理装置である。クライアント装置100からの要求や演算結果はインターネット130を介して行われるが、これに限定しない。サービス提供サーバ−a111は、図示しないハードディスクドライブやフラッシュメモリなどのストレージやメモリ及びCPUを備え、利用者の指示に従って演算を行う。以後、特にサービス提供サーバ−a111、サービス提供サーバ−b112、サービス提供サーバ−c113を区別する必要が無い場合は、サービス提供サーバ−a111を代表として説明する。
【0016】
次に、クライアント装置100がインターネット130を介して接続する認証サーバ121について説明する。
【0017】
本実施形態では、クライアント装置100がインターネット130を介して接続する認証サーバ装置として認証サーバa−121、認証サーバb−122を備える場合を例に挙げて説明する。各認証サーバ装置は、これに限定しない。
【0018】
認証サーバ−a121は、クライアント装置100からの要求に従って演算を行い、演算結果をクライアント装置100に提示する情報処理装置である。クライアント装置100からの要求や演算結果はインターネット130を介して行われるが、これに限定しない。認証サーバ−a121は、図示しないハードディスクドライブやフラッシュメモリなどのストレージやメモリ及びCPUを備え、利用者の指示に従って演算を行う。以後、特に認証サーバ−a121、認証サーバ−b122を区別する必要が無い場合は、認証サーバ−a121を代表として説明する。なお、以上の各装置においては、プログラムに従ってCPUの如き演算装置が、後述する処理を実行する。
【0019】
図2は、サービス提供サーバ装置110の構成を示すブロック図の一例である。本図に示すように、サービス提供サーバ装置110は、通信部201、通信制御部202、制御部203、サービス提供部204、ユーザアカウント制御部205、認証結果検定部206、記憶部207を備える。通信部201は、通信用経路のポートである。通信部201は、インターネット130を介して接続するクライアント装置100(PC−a101)の間でデータの送受信を行うポートである場合を例に挙げて説明を行う。通信制御部202は、通信部201からのデータを受信、解析し、制御部203へ送信する手段と、制御部203からのデータを受信、解析し、通信部201へ送信する手段を備えた部位である。制御部203は各部位(通信制御部202、サービス提供部204、ユーザアカウント制御部205)からのデータや要求を受信、解析し、制御部203に相互に接続された各部位(通信制御部202、サービス提供部204、ユーザアカウント制御部205)へ送信する(要求する)手段を備えた部位である。サービス提供部204は、制御部203からのサービス提供要求に従い、サービスを制御部203に送信する手段を備えた部位である。ユーザアカウント制御部205は、制御部203からのデータや要求に従い、ユーザアカウント情報を管理し、認証結果検定部206や記憶部207へデータ送信や要求を行う手段を備えた部位である。
【0020】
また、ユーザアカウント制御部205は、認証結果検定部206や記憶部207からデータを受信し、制御部203へ送信する手段も備えた部位である。認証結果検定部206は、ユーザアカウント制御部205からの認証結果検定要求を受信し、認証結果や認証結果に付随する署名データの解析処理を行い、認証結果検定の結果をユーザアカウント制御部205に送信する手段を備えた部位である。記憶部207は、ユーザアカウント情報を格納する手段を備えた部位であり、ユーザアカウント制御部205の要求に従い、ユーザアカウント情報をユーザアカウント制御部205へ送信する手段も備えている。
【0021】
図3は、認証サーバ装置120の構成を示すブロック図の一例である。本図に示すように、認証サーバ装置120は、通信部301、通信制御部302、制御部303、ID連携部304、ユーザ認証部305、署名部306、時間管理部307、記憶部308を備える。通信部301は、通信用経路のポートである。通信部301は、インターネット130を介して接続するクライアント装置100(PC−a101)の間でデータの送受信を行うポートである場合を例に挙げて説明を行う。通信制御部302は、通信部301からのデータを受信、解析し、制御部303へ送信する手段と、制御部303からのデータを受信、解析し、通信部301へ送信する手段を備えた部位である。
【0022】
制御部303は各部位(通信制御部302、ID連携部304、時間管理部307)からのデータや要求を受信、解析し、制御部303に相互に接続された各部位(通信制御部302、ID連携部304、時間管理部307)へ送信する(要求する)手段を備えた部位である。ID連携部304は、制御部303からのデータや要求に従い、認証情報を管理し、ユーザ認証部305や署名部306、記憶部308へデータ送信や要求を行う手段を備えた部位である。また、ID連携部304は、ユーザ認証部305や署名部306、記憶部308からデータを受信し、制御部303へ送信する手段も備えた部位である。ユーザ認証部305は、ID連携部304からのデータや要求を受信し、認証処理を行う手段を備えた部位であり、認証結果をID連携部304に送信する手段も備えている。本実施形態では、認証手段にID/Password認証を行う例で説明しているが、認証手段は、これに限定しない。署名部306は、ID連携部304からのデータや要求に従い、署名作成を行う手段を備えた部位であり、作成した署名をID連携部304へ送信する手段も備えている。記憶部308は、認証情報を格納、管理(登録や削除)する手段を備えた部位であり、ID連携部304の要求に従い、認証情報をID連携部304へ送信する手段も備えている。なお、上述した各手段については、プログラムに従った演算装置での処理として、すなわちソフトウエアとして実現することが可能である。
【0023】
次に、サービス提供サーバ装置110が保持するユーザアカウント情報テーブル400、認証サーバ情報テーブル500について説明する。
【0024】
ユーザアカウント情報テーブル400は、サービス提供サーバ装置110(サービス提供サーバ−a111)に登録しているユーザのアカウント情報を管理するテーブルであり、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に、サービス提供サーバ110がユーザを特定する情報として登録される。
【0025】
図4に、ユーザアカウント情報テーブル400の一例を示す。本図に示すようにユーザアカウント情報テーブル400には、UserIDレコード401、Auth−SrvIDレコード402、Auth−Statusレコード403、Auth−dateレコード404、ageレコードが記録される。ユーザアカウント情報テーブル400は、これらに限定せず、その他のレコードが記録されても良い。
【0026】
UserIDレコード401は、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を初めて要求する際に、ユーザ入力によって登録される情報であり、サービス提供サーバ(サービス提供サーバ−a111や、サービス提供サーバ−b112)毎にユーザ情報を一意に特定する情報である。
【0027】
Auth−SrvIDレコード402は、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される、ユーザが利用する認証サーバ装置120を一意に特定する情報である。また、Auth−SrvIDレコード402をキーとして、認証サーバ情報テーブル500から、特定の認証サーバ装置情報を抽出することができる。本実施形態では、Auth−SrvIDレコード402の登録は初回のサービス利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0028】
Auth−Statusレコード403は、UserIDレコード401で特定するユーザの認証サーバ登録状態を判別するための情報であり、「Success」、「Fail」の値が設定される。Auth−Statusレコード403は、認証サーバ120からクライアント装置100を経由して受信した認証結果が真であり、且つ、認証結果の正当性が証明された場合(署名検定が真の場合)に、「Success」の値が設定される。
【0029】
Auth−dateレコード404は、サービス提供サーバ装置110が認証結果を検定した日付と時間の情報である。サービス提供サーバ装置110が認証結果検定処理を行った際に、設定される。
【0030】
認証サーバ情報テーブル500は、ユーザが利用する認証サーバ装置120の所在や認証手段、認証サーバの正当性を確認するための情報など、各認証サーバ装置固有の情報を管理するテーブルである。本テーブルは、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に、ユーザが利用する認証サーバを特定する情報として登録される。
【0031】
図5に、認証サーバ情報テーブル500の一例を示す。本図に示すように認証サーバ情報テーブルには、Auth−SrvIDレコード501、Auth−methodレコード502、Auth−URLレコード503、PublicKeyレコード504が記録されている。認証サーバ情報テーブル500のレコードは、これらに限定せず、その他のレコードが記録されていても良い。
【0032】
Auth−SrvIDレコード501は、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される、ユーザが利用する認証サーバ装置120を一意に特定する情報である。本実施形態では、Auth−SrvIDレコード501の登録は初回のサービス利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0033】
Auth−methodレコード502は、Auth−SrvIDレコード501で特定される認証サーバの認証手段を示す情報である。クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される。本実施形態では、Auth−methodレコード502の登録は初回のサービス利用する際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。さらに、本実施形態では、認証手段は、ID/Password認証を行う例で説明しているが、これに限定しない。すなわち、ICカード認証や生体認証なども含まれる。
【0034】
Auth−URLレコード503、Auth−SrvIDレコード501で特定される認証サーバの所在(URL)を示す情報である。クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される。本実施形態では、Auth−URLレコード503の登録は初回のサービス利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0035】
PublicKeyレコード504は、Auth−SrvIDレコード501で特定される認証サーバの公開鍵情報である。クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に、登録される。
【0036】
次に認証サーバ装置120が保持する、認証アカウント情報テーブル600、公開鍵ペア情報テーブル700について説明する。
【0037】
認証アカウント情報テーブル600は、各ユーザの認証情報を管理するテーブルであり、サービス提供サーバ装置110のユーザアカウント情報テーブル400に登録されている、サービス提供サーバ装置110を利用するユーザを一意に特定する情報(UserID401)と認証サーバ装置120を利用するユーザの認証情報を一意に特定する情報を関連付けるテーブルである。
【0038】
図6に、認証アカウント情報テーブル600の一例を示す。本図に示すように認証アカウント情報テーブル600には、User−AuthIDレコード601、User−AuthInfレコード602、Auth−Flagレコード603、ServiceURL−aレコード604、ServiceUser−ID−aレコード605、ServiceURL−bレコード606、ServiceUser−ID−bレコード607、Timeレコード608が記録される。認証アカウント情報テーブル600のレコードは、これらに限定せず、その他のレコードが記録されていても良い。
【0039】
User−AuthIDレコード601は、認証サーバ装置120(認証サーバ−a121)の認証機能を利用する際に登録される、ユーザを一意に特定する情報である。本実施形態では、User−AuthIDレコード601の登録は初回の認証機能利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0040】
User−AuthInfレコード602は、User−AuthIDレコード601の正当な利用者であることを示す情報である。本実施形態では、User−AuthInfレコード602には、Passwordを登録する例で説明しているが、これに限定しない。例えば、生体認証情報の生体パターンなどでも良い。
【0041】
Auth−Flagレコード603は、認証の有無を示す情報であり、認証済みの場合は、「1」が設定されており、認証が済でない場合は、「0」が設定される。
【0042】
ServiceURL−aレコード604は、サービス提供サーバ装置110の所在(URL)を示す情報である。
【0043】
ServiceUser−ID−aレコード605は、サービス提供サーバ装置110のユーザを一意に特定する情報である。また、User−AuthIDレコード601に紐つく、ServiceUserURL及び、ServiceUser−IDは、複数存在してもよい。本実施形態では、User−AuthIDレコード601に紐つく、ServiceUserURL及び、ServiceUser−IDは、ServiceUserURL−aレコード604、ServiceUser−ID−aレコード605、ServiceUserURL−bレコード606、ServiceUser−ID−bレコード607とする例で説明しているが、さらに複数あっても良い。
【0044】
Timeレコード608は、認証処理結果が真の場合の日付と時間を示す情報である。
【0045】
公開鍵ペア情報テーブル700は、各認証サーバ装置120(認証サーバ−a21、認証サーバ−b122)が保持する公開鍵ペアの情報を保持するテーブルである。
【0046】
図7に、公開鍵ペア情報テーブル700の一例を示す。本図に示すように公開鍵ペア情報テーブル700には、Auth−SrvIDレコード701、PublicKeyレコード702、SecretKeyレコード703が記録される。
【0047】
Auth−SrvIDレコード701は、認証サーバ装置120を一意に特定する情報である。
【0048】
PublicKeyレコード702は、Auth−SrvIDレコード701で特定される認証サーバ装置の公開鍵情報であり、一意な情報である。
【0049】
SecretKeyレコード703は、Auth−SrvIDレコード701で特定される認証サーバ装置の公開鍵情報(PublicKeyレコード702)とペアとなる秘密鍵情報であり、一意な情報である。
【0050】
次に、図8〜11のシーケンス図及びフロー図に基づいて、図1及び図2、図3の動作を説明する。
【0051】
図8は、クライアント装置100からサービス提供サーバ装置110へのサービス提供要求し、サービス提供までのシーケンス処理を表している。
【0052】
まず、クライアント装置100から、サービス提供サーバ装置110にアクセス要求(ステップ801)があると、サービス提供サーバ装置110は、クライアント装置100に対してUserID401要求(ステップ802)を行う。クライアント装置100は、ユーザから、サービス提供サーバ装置110のUserID401要求に対するUserID401の入力を受け付け(ステップ803)、UserID401をサービス提供サーバ装置110に送付する(ステップ804)。本実施形態では、ユーザがクライアント装置100に接続されている図示しないユーザインタフェースを介して入力するが、これに限定しない。サービス提供サーバ装置110は、取得したUserID401をサービス提供サーバ装置110が制御可能なデータベースを利用して、照合する(ステップ805)。サービス提供サーバ110は、照合したUserID401に関連付けられている認証サーバ装置120のURLをクライアント装置100に送付する(ステップ806)。本実施形態では、UserID401に関連付けられている認証サーバ装置120の所在を判明するためにURLを用いているが、IPアドレスなど認証サーバ装置120の所在を一意に示す情報であれば、これに限定しない。クライアント装置100は、サービス提供サーバ装置110より取得した認証サーバ装置120のURLを利用して、認証サーバ装置120にアクセスする(ステップ807)。本実施形態では、サービス提供サーバ装置120はHTTPメッセージのメッセージヘッダに認証サーバ装置120のURLを格納して送付し、クライアント装置100は、HTTPプロトコルのリダイレクト処理により認証サーバ装置120へアクセスする例を示している。クライアント装置100からアクセスを受けた認証サーバ装置120は、認証情報要求をクライアント装置100に送る(ステップ808)。
【0053】
クライアント装置100は、ユーザからクライアント装置100が取得した認証情報要求に対する認証サーバ装置120の認証情報の入力を受け付け(ステップ809)、これをこの認証情報を認証サーバ装置120に送付する(ステップ810)。本実施形態では、認証情報をID(User−AuthID601)、パスワード(User−AuthInf602)としているが、生体情報など認証サーバ装置120がユーザの正当性を確認することのできる情報であれば、これに限定しない。認証サーバ装置120は、取得した認証情報を認証サーバ装置120が制御可能なデータベースを利用して、認証し、ユーザの正当性が確認された場合、認証結果に対して、認証サーバ装置120の秘密鍵を利用して署名処理を行う。(ステップ811)。また、認証後、Auth−Flag603を更新する。認証サーバ装置120は、認証結果と署名処理情報、サービス提供サーバ110のURLを、クライアント装置100に送付する(ステップ812)。クライアント装置100は、認証結果と署名処理情報をサービス提供サーバ110に送付する(ステップ813)。
【0054】
本実施形態では、このときのサービス提供サーバ装置110へのアクセスは、認証サーバ装置120から取得したサービス提供サーバ装置110のURLをHTTPプロトコルのリダイレクト処理で行う例を示す。サービス提供サーバ装置110は、取得した署名情報を認証サーバ装置120の公開鍵を利用して検定し、認証結果の確認を行う(ステップ814)。署名の検定及び認証結果からユーザの正当性を確認できた場合、サービス提供サーバ装置110は、クライアント装置100に対して、サービスを提供する(ステップ815)。また、ユーザの正当性が確認された時点で、そのUserID401に関連づくAuth−Status403をSuccessにする。
【0055】
図9は、サービス提供サーバ装置110(サービス提供サーバ−a111)に対して、一度、認証サーバ装置120で、正当性が確認されたユーザ(クライアント装置100)から、サービス提供装置110(サービス提供サーバ−b112)へ、サービス提供要求、サービス提供までのシーケンス処理を表している。
【0056】
まず、クライアント装置100から、サービス提供サーバ装置110(サービス提供サーバ−b112)にアクセス要求(ステップ901)があると、サービス提供サーバ装置110(サービス提供サーバ−b112)は、クライアント装置100に対してUserID401要求(ステップ902)を行う。クライアント装置100は、ユーザからサービス提供サーバ装置110のUserID401要求に対するUserID401の入力を受け付け(ステップ903)し、UserID401をサービス提供サーバ装置110(サービス提供サーバ−b112)に送付する(ステップ904)。本実施形態では、ユーザがクライアント装置100に接続されている図示しないユーザインタフェースを介して入力するが、これに限定しない。サービス提供サーバ装置110(サービス提供サーバ−b112)は、取得したUserID401をサービス提供サーバ装置110(サービス提供サーバ−b112)が制御可能なデータベースを利用して、照合する(ステップ905)。サービス提供サーバ装置110(サービス提供サーバ−b112)は、照合したUserID401に関連付けられている認証サーバ装置120のURLをクライアント装置100に送付する(ステップ906)。
【0057】
本実施形態では、UserID401に関連付けられている認証サーバ装置120の所在を判明するためにURLを用いているが、IPアドレスなど認証サーバ装置120の所在を一意に示す情報であれば、これに限定しない。クライアント装置100は、サービス提供サーバ装置110より取得した認証サーバ装置120のURLを利用して、認証サーバ装置120にアクセスする(ステップ907)。本実施例では、サービス提供サーバ装置110(サービス提供サーバ−b112)はHTTPメッセージのメッセージヘッダに認証サーバ装置120のURLを格納して送付し、クライアント装置100は、HTTPプロトコルのリダイレクト処理により認証サーバ装置120へアクセスする例を示している。クライアント装置100からアクセスを受けた認証サーバ装置120は、ServiceURL604(または、606)とServiceUser−ID605(または、607)に関連づいたUser−ID601を検索し、これが存在した場合、さらに、Auth−Flag603とTime608から認証状態を確認し(ステップ908)、既にユーザの正当性が確認済みの場合、認証結果に署名処理を施し(ステップ909)、認証結果と、署名情報とサービス提供サーバ装置110(サービス提供サーバ−b112)のURLをクライアント装置100に送付する(ステップ910)。クライアント装置100は、認証結果と署名処理情報をサービス提供サーバ110(サービス提供サーバ−b112)に送付する(ステップ911)。
【0058】
本実施形態では、このときのサービス提供サーバ装置110(サービス提供サーバ−b112)へのアクセスは、認証サーバ装置120から取得したサービス提供サーバ装置110(サービス提供サーバ−b112)のURLをHTTPプロトコルのリダイレクト処理で行う例を示す。サービス提供サーバ装置110(サービス提供サーバ−b112)は、取得した署名情報を認証サーバ装置120の公開鍵を利用して検定し、認証結果の確認を行う(ステップ912)。署名の検定及び認証結果からユーザの正当性を確認できた場合、サービス提供サーバ装置110(サービス提供サーバ−b112)は、クライアント装置100に対して、サービスを提供する(ステップ913)。また、ユーザの正当性が確認された時点で、そのUserID401に関連づくAuth−Status403をSuccessににする。
【0059】
図10(a)、図10(b)は、サービス提供サーバ装置110を構成する各部(通信部201、通信制御部202、制御部203、サービス提供部204、ユーザアカウント制御部205、認証結果検定部206、記憶部209)にて実行されるユーザアカウント登録処理及び、認証結果検定処理を示すフロー図である。
【0060】
まず、サービス提供サーバ装置110は、クライアント装置100からのアクセス要求を通信部201で受信(HTTPメッセージ受信)した場合に、処理が開始される(ステップ1001、ステップ1002)。受信したHTTPメッセージは通信制御部202で分析(HTTPメッセージ解析)し、HTTPメッセージのヘッダとボディの値を確認する(ステップ1003)。HTTPメッセージのヘッダ、ボディに値がセットされていない場合は、認証サーバ装置120からのリダイレクトによるアクセスでは無いと判断し、ユーザIDの登録を確認する処理の開始命令を制御部203からユーザアカウント制御部205に出す(ステップ1004)。また、HTTPメッセージのヘッダ、ボディに値がセットされている場合は、認証結果がセットされていると判断し、認証結果検定処理の開始命令を制御部203からユーザアカウント制御部205に出す(ステップ1004)。
【0061】
ユーザアカウント制御部205が、ユーザIDの登録確認処理の開始命令を受けた場合、ユーザID入力画面を出力する(ステップ1005)。ユーザからの入力を受け付け、クライアント装置100は、ユーザIDをサービス提供サーバ装置110に送付する。さらに、ユーザが新規にユーザID登録を希望する場合は、その希望に対応する入力を受け付けて、クライアント装置100は新規登録要求情報も送付する(ステップ1006)。サービス提供サーバ装置110の新規登録要求情報の取得方法及び、データフォーマットは限定しない。クライアント装置100からユーザIDを取得したサービス提供サーバ装置110のユーザアカウント制御部205は、新規登録要求が無い場合は、取得したユーザIDをキーとして記憶部207に格納されているユーザID(UserID401)の検索(照合)を実施する(ステップ1007)。ユーザIDが既に登録されている場合(ステップ1008)は、制御部203で、User−ID401に紐ついているAuth−SrvID402とAuth−URL503を利用して、認証サーバ装置120への認証要求を作成する(HTTPメッセージ作成)(ステップ1013)。ユーザIDが登録されていない場合(ステップ1008)は、ユーザID入力画面を出力する。本実施形態では、HTTPメッセージのヘッダのLocationパラメータに認証サーバ装置120のURL(Auth−URL503)をセットし、ボディにサービス提供サーバ装置110のURL、User−ID(User−ID401)をセットして認証要求を作成する例を示すが、これに限定しない。
【0062】
制御部203では、作成したHTTPメッセージ(認証要求)を通信制御部202に送信し、通信部201を介してHTTPメッセージをクライアント装置100に送信して、終了する。(ステップ1014、ステップ1015)。また、ユーザアカウント制御部205は、新規登録要求を取得した場合は、記憶部207に対してユーザアカウント登録処理を開始する(ステップ1009)。この場合、ユーザから認証サーバ装置120を一意に特定する情報(Auth−SrvID402、Auth−URL502)、認証サーバ装置120の公開鍵情報(PublicKey502)を取得して、ユーザアカウント登録を行う。ユーザアカウント制御部205は、ユーザIDの重複、データフォーマットなどの登録データの確認(ステップ1010)を行い、入力内容に誤りがあるかを判断する(ステップ1011)。誤りが無い場合は、ユーザアカウントを登録する(ステップ1012)。誤りがある場合は、再度ユーザアカウント登録処理(ステップ1009)を行う。
【0063】
クライアント装置100から取得したHTTPメッセージのヘッダ、ボディに値がセットされている場合(ステップ1004)は、セットされている値の会席を行い、認証結果検定処理を認証結果検定部206で実施する。本実施例では、HTTPメッセージのヘッダ、ボディにセットされている情報として、サービス提供サーバ装置110のユーザIDと認証サーバ装置120の秘密鍵で暗号化された認証結果、署名情報を想定して記載するが、これに限定しない。認証結果検定部206では、ユーザIDに登録されているAuth−SrvIDの公開鍵で、署名情報を復号化し、さらに、認証結果も認証サーバ装置120の公開鍵で復号化して、復号化した署名情報と照合させる(ステップ1016)。復号化が成功し、照合結果が真の場合、改ざんされていないと判断する(ステップ1017)。認証結果検定部206は、認証結果の正当性を検定する手段を持つ部であり、本実施例ではPKIを利用した方法で示しているがこれに限定しない。さらに、認証結果が真の場合(ステップ1018)は、Auth−Status403をSuccessに更新する(ステップ1019)。Auth−Status403の更新後、制御部203からサービス提供部204にサービス提供開始命令が出され、サービス提供(のための情報処理)を行い、終了する(ステップ1020、ステップ1023)。また、認証結果が改ざんされていた場合や、認証結果が真でない場合は、Auth−Status403をFailにして(ステップ1021)、エラー出力を行い、終了する(ステップ1022、ステップ1023)。
【0064】
図11(a)、図11(b)は、認証サーバ装置120を構成する各部(通信部301、通信制御部302、制御部303、認証情報制御304、ユーザ認証部305、署名部306、時間管理部307、記録部308)にて実行される認証情報登録処理及び、ユーザの正当性を確認する認証処理を示すフロー図である
まず、認証サーバ装置120は、クライアント装置100からのアクセス要求(サービス提供サーバ装置110からのリダイレクト)を通信部301で受信(HTTPメッセージ受信)した場合に、処理が開始される(ステップ1101、ステップ1102)。受信したHTTPメッセージは通信制御部302で分析(HTTPメッセージ解析)し、HTTPメッセージのメッセージのフォーマットを確認し、メッセージを制御部303を介してID連携部304に渡す(ステップ1103)。本実施例では認証サーバ装置120が受信するHTTPメッセージは、サービス提供サーバ装置110のURL、サービス提供サーバ装置のUser−IDが含まれている例で示すが、これに限定しない。ID連携部304は、取得したサービス提供サーバ装置の110のURLとUser−IDをキーとして、User−AuthIDの検索命令を記憶部308に出す(ステップ1104)。記録部308にUser−AuthIDが登録されている場合(ステップ1105)、ユーザ認証部305は、記憶部308からAuth−timeを取得し、現時刻と比較する。Auth−timeと24時間以上の差がある場合(ステップ1107)は、Auth−Flagを0に更新する(ステップ1108)。Auth−Flagが0で無い場合は、パスワード入力画面を作成し、ユーザ認証部305から制御部303にパスワード入力画面の出力要求を出し(ステップ1114)。これによりユーザにパスワード入力を促すことが可能になる。ユーザが入力したパスワードを取得した認証制御部304は、パスワードと認証要求をユーザ認証部305に送付する。ユーザ認証部は、ユーザ認証処理を実行(ステップ1115)し、認証結果を作成する(ステップ1116)。本実施例では、認証情報にパスワードを利用する例を示しているが、これに限定しない。また、Auth−Flagが1の場合は、認証制御部304は、ユーザ認証部305に結果が真となる認証結果の作成命令を出す(ステップ1117)。Auth−timeは、最後に認証が成功したときの時刻であり、現時刻と比較する際は、時間管理部307から現時刻を取得して行う。予め設定された24時間以内に認証が成功している場合(Auth−Flagを0に更新しない)は、認証部305で実行する認証処理を簡略する。本実施例では認証処理を簡略化するための指標としてAuth−timeと24時間という制限を利用した例を示しているが、指標はこれに限定しない。
【0065】
認証結果が真の場合(ステップ1118)は、ID連携部304は、Auth−Flagを1に、且つ、Auth−timeを現在の時刻に更新する(ステップ1119)。次にID連携部304は、認証結果を署名部306に送付し、署名データの作成命令を出す(ステップ1120)。署名部306は、取得した認証結果を認証サーバ装置120の秘密鍵で暗号化し、署名データを作成して、ID連携部304に送付する。署名部306は、認証結果の正当性を証明する手段を持ち、本実施例ではPKIを利用した方法で示しているがこれに限定しない。ID連携部304は、署名部306から取得した暗号化された認証結果と署名データを制御部303に送付し、サービス提供サーバ装置110に送付するHTTPメッセージの作成を要求する。制御部303では、HTTPメッセージのヘッダのLocationパラメータにサービス提供サーバ装置110のURLをセットし、ボディにサービス提供サーバ装置110のユーザID、認証結果、署名データをセットする例を示すが、セットする情報はこれに限定しない。このようにして制御部303は、HTTPメッセージを作成する(ステップ1121)。制御部303では、作成したHTTPメッセージを通信制御部302に送信し(ステップ1122)、通信部301を介してHTTPメッセージをクライアント装置100に送信して、終了する。(ステップ1112、ステップ1123)。
【0066】
また、記録部308にUser−AuthID601が登録されていない場合(ステップ1105)、ユーザ認証部305は、認証情報登録処理を開始する。この場合、ユーザ認証部305は、制御部303に認証情報登録画面を出力要求(ステップ1109)を出して、ユーザから認証サーバ装置120のUserID(USer−AuthID601)とパスワード(User−AuthInf602)を取得する。ユーザ認証部305は、データフォーマットなどの登録データの確認する(ステップ1110)。登録データに誤りがないかを判断し(ステップ1111)、登録データに誤りが無い場合は、認証情報を記憶部308に登録する(ステップ1112)。この際に、取得したUSer−AuthID601とUser−AuthInf602が既に別のServiceURL604とServiceUser−ID605に登録済みの場合は、そのUSer−AuthID601とUser−AuthInf602が有効なServiceURL606とServiceUser−ID607として、追加登録する。認証情報の登録が完了した後は、ID連携部304は、再度、取得したサービス提供サーバ装置の110のURLとUser−IDをキーとして、User−AuthIDの検索命令を記憶部308に出す(ステップ1104)
以上、本実施形態によれば、サービス提供者が開発(実装)する独自の認証機能、認証機能提供事業者の認証機能との連携機能や、独自の認証情報、独自の認証情報と認証機能提供事業者の認証情報との関連付け情報を保持・管理の負荷を軽減できる共に、ユーザの認証情報管理負荷も軽減できる。
【0067】
これにより、サービスを提供する事業者は、認証機能に依存せずサービス主体を充実させることができる。認証機能を提供する事業者もサービス提供システムとの連携や制限に依存することなく、複数のサービス提供事業者に対し、認証機能(認証機能のパッケージ化)を提供することができる。さらに、ユーザもサービスに依存せずに、自身で認証手段を選択(IDパスワード、生体認証、ワンタイムパスワードなど)、利用できるため認証情報の管理負荷を抑え、利便性の向上に繋がる。
【符号の説明】
【0068】
100:クライアント装置
101:PC
102:PC
103:モバイル情報端末
104:認証デバイス
110:サービス提供サーバ装置
111:Webサーバ
112:Webサーバ
113:Webサーバ
120:認証サーバ装置
121:認証サーバ
122:認証サーバ
130:インターネット
201:通信部
202:通信制御部
203:制御部
204:サービス提供部
205:ユーザアカウント制御部
206:認証結果検定部
207:記憶部
301:通信部
302:通信制御部
303:制御部
304:ID連携部
305:ユーザ認証部
306:署名部
307:時間管理部
308:記憶部
【技術分野】
【0001】
本発明は、複数のWebシステムが個々に保持する利用者を識別、管理するID情報を異なる複数のシステム(例えば、サービス提供サーバ、認証サーバ)間で連携させるID連携技術に関する。
【背景技術】
【0002】
近年、高速通信環境(インフラ)の充実と、情報端末の高度化に伴い、Webサービスの多様化、サービス提供者、利用者の拡大が著しい。こうしたなか、シングルサインオンシステムやOpenIDシステム、SAMLシステムなど、Webサービスにおける利用者及びサービス提供者の認証に関する処理の効率化を目的とした仕組みが考案され、様々なサービスで採用されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−310512 号公報
【特許文献2】特開2003−242414 号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
認証を必要とするWebサービスシステムは、認証機能をサービス提供事業者で実装するケースと、OpenIDのように、サービスを提供するシステムと認証機能を提供するシステムが独立し、サービス提供事業者が認証機能提供事業者の認証機能を利用するケースがある。認証機能をサービス提供事業者で実装するケースでは、サービスの主体であるサービス提供とは別に認証機能の作りこみが必要となる。サービス提供事業者が認証機能提供事業者の認証機能を利用するケースにおいては、サービスを提供するシステムと認証機能を提供するシステムの連結部の実装が必要となる。さらに、サービスを提供するシステムは、認証機能提供事業者の認証以外に、独自に認証機能や認証情報を保持している場合が多い。これは、多くの場合、認証手段をサービスを利用する利用者に選択させているため、認証機能提供事業者の認証を利用しない利用者も存在するためである。そのため、サービス提供者は、独自の認証機能、認証機能提供事業者の認証機能との連携機能、独自の認証情報、独自の認証情報と認証機能提供事業者の認証情報との関連付け情報を保持する必要があり、運用(管理)の負荷が大きい。
【課題を解決するための手段】
【0005】
本発明では、課題に対し、サービス提供サーバが持つユーザIDと認証サーバが持つ認証情報を連携させ、サービス提供事業者の負荷を軽減させ、且つ利用者の利便性も向上させることを1つの目的としている。このために、本発明では、サービス提供サーバを利用したサービス利用の際に使用する認証情報の登録を以下のとおり行う。サービス提供サーバは、利用者からのサービス利用の際の認証手段を含む登録要求を受信し、当該受信に応じて利用者識別情報を生成し、予め認証手段毎に設定されている認証サーバに利用者識別情報を含む認証情報登録要求を送信する。そして、当該認証サーバでは、認証情報登録要求の受信に応じて、利用者識別情報と当該認証サーバの認証手段に応じた認証情報を対応付けて登録し、その旨をサービス提供サーバに送信する。さらに、サービス提供サーバにおいて、利用者識別情報と、認証サーバを特定する情報を対応付けて記憶する。
【0006】
ここで、本発明には、このように登録された認証情報を利用してサービス利用の際の認証を行うことも含まれる。すなわち、サービス提供サーバは、利用者から利用者識別情報を含むサービス要求を受信し、この利用者識別情報に対応する認証サーバを特定する。そして、利用者に対して認証情報の入力要求を提示する。そして、サービス提供サーバは、入力要求に従って入力された認証情報と利用者識別情報を含む認証要求を、認証サーバに送信し、認証サーバにて本内容に従って認証処理を実行する。
【0007】
本発明には、以下の態様も含まれる。サービス提供サーバには、利用者のユーザIDと利用者自身が選択・登録する認証サーバのURL、認証サーバの登録状態を保持させる。サービス提供サーバは、利用者からのアクセスに伴い、利用者自身が登録した認証サーバへクライアント(利用者の端末)を誘導し、認証サーバとユーザ間で認証情報の登録、認証処理を実行する。認証サーバでは、サービス提供サーバを特定できる一意な情報と、サービス提供サーバで利用されるユーザIDの2つの情報を主キーとしたテーブルを持ち、そこに認証サーバにおけるユーザIDと認証情報を登録する(サービス提供サーバのIDと認証サーバの認証情報の関連付け)。認証結果は、正当性を確保する手段を用いて作成され、クライアントを経由してサービス提供サーバに送付される。サービス提供サーバは、認証結果の正当性を検定可能な手段を持ち、それにより検定処理を行ったうえで、サービスを提供する。
【発明の効果】
【0008】
本発明によれば、よりサービス提供業者もしくはサービス提供サーバの認証の負荷を低減することが可能になる。
【図面の簡単な説明】
【0009】
【図1】本発明の一実施形態のサービス提供サーバ装置と認証サーバ装置が独立したWeb上のサービス提供システムのシステム構成図である。
【図2】本発明の一実施形態のサービス提供サーバ装置の構成を示すブロック図である。
【図3】本発明の一実施形態の認証サーバ装置の構成を示すブロック図である。
【図4】本発明の一実施形態のユーザアカウント情報テーブルの一例を示すデータテーブル図である。
【図5】本発明の一実施形態の認証サーバ情報テーブルの一例を示すデータテーブル図である。
【図6】本発明の一実施形態の認証アカウント情報テーブルの一例を示すデータテーブル図である。
【図7】本発明の一実施形態の公開鍵ペア情報テーブルの一例を表すデータテーブル図である。
【図8】本発明の一実施形態のサービス提供サーバ装置へのサービス提供要求からサービス提供までのシーケンス図である。
【図9】本発明の一実施形態の既認証ユーザのサービス提供サーバ装置へのサービス提供要求からサービス提供までのシーケンス図である。
【図10(a)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウント登録処理及び、認証結果検定処理を示すフロー図(その1)である。
【図10(b)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウント登録処理及び、認証結果検定処理を示すフロー図(その2)である。
【図11(a)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウントと、認証サーバ装置のユーザアカウントの連携処理及び、認証処理を示すフロー図(その1)である。
【図11(b)】本発明の一実施形態のサービス提供サーバ装置のユーザアカウントと、認証サーバ装置のユーザアカウントの連携処理及び、認証処理を示すフロー図(その2)である。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について添付図面を参照しながら、詳細に説明する。
図1は、本実施形態のサービス提供サーバ装置と認証サーバ装置を有するWeb上のサービス提供システムの詳細なシステム構成図の一例である。本実施形態のサービス提供システムは、クライアント装置100(PC−a101、PC‐b102、モバイル情報端末103)と、サービス提供サーバ装置110(サービス提供サーバ装置−a111、サービス提供サーバ装置−b112、サービス提供サーバ装置−c113)と、認証サーバ装置120(認証サーバ装置−a、認証サーバ装置−b)、インターネット130を備える。本実施形態では、クライアント装置(PC‐b102)には、認証デバイス104が接続されている例を示す。
【0011】
クライアント装置100(PC−a101、PC‐b102、モバイル情報端末103)は、PCやモバイル情報端末と記述しているが、サーバ装置やワークステーション装置、携帯電話やスマートフォン、PDA、組み込み機器でも記録媒体に格納しているOSやアプリケーションをメモリとCPU上で実行する情報機器であれば特に限定しない。また、本実施形態では、クライアント装置としてPC−a101、PC‐b102、モバイル情報端末103を備える場合を例に挙げて説明する。
【0012】
PC−a101は、利用者の指示に従って演算を行い、必要に応じてデバイスを利用し、演算結果を利用者に提示する情報処理装置である。PC−a101は、インターネット130に図示しないネットワークインタフェースを介して接続している。PC−a101は、図示しないハードディスクドライブもしくはフラッシュメモリなどのストレージやメモリ及びCPUを備え、利用者の指示などに従ってプログラムに応じた演算を行う。演算結果は、PC−a101に接続されている図示しないディスプレイに表示される。利用者からの指示は図示しないキーボードやマウスといったユーザインタフェースを介して、PC−a101に送信される。本実施形態ではPC‐b102は、認証デバイス104を備える。認証デバイス104は、指静脈認証装置や指紋認証装置などの生体認証装置や、電子証明書、その公開鍵ペアをセキュアに保管するためのICカードやUSBトークンが考えられるが、これらに限定しない。認証デバイス104はPC‐b102と図示しないデバイス接続用のインタフェースで接続されている。デバイス接続用のインタフェースは、例えば、ユニバーサルシリアルデバイス(USB)、ワイヤレスUSB、近距離無線通信インターフェース、赤外線通信インタフェース、シリアルポートインタフェース、パラレルポートインタフェースといったデバイスをPCに接続するためのインタフェースが考えられる。以後、特にクライアント装置としてPC−a101、PC‐b102、モバイル情報端末103を区別する必要が無い場合は、PC−a101を代表として説明する。
【0013】
次に、クライアント装置100がインターネット130を介して接続するサービス提供サーバ装置110について説明する。
【0014】
本実施形態では、クライアント装置100がインターネット130を介して接続するサービス提供サーバ装置としてサービス提供サーバ−a111、サービス提供サーバ−b112、サービス提供サーバ−c113を備える場合を例に挙げて説明する。各サービス提供サーバ装置は、これに限定しない。
【0015】
サービス提供サーバ−a111は、クライアント装置100からの要求に従って演算を行い、演算結果をクライアント装置100に提示する情報処理装置である。クライアント装置100からの要求や演算結果はインターネット130を介して行われるが、これに限定しない。サービス提供サーバ−a111は、図示しないハードディスクドライブやフラッシュメモリなどのストレージやメモリ及びCPUを備え、利用者の指示に従って演算を行う。以後、特にサービス提供サーバ−a111、サービス提供サーバ−b112、サービス提供サーバ−c113を区別する必要が無い場合は、サービス提供サーバ−a111を代表として説明する。
【0016】
次に、クライアント装置100がインターネット130を介して接続する認証サーバ121について説明する。
【0017】
本実施形態では、クライアント装置100がインターネット130を介して接続する認証サーバ装置として認証サーバa−121、認証サーバb−122を備える場合を例に挙げて説明する。各認証サーバ装置は、これに限定しない。
【0018】
認証サーバ−a121は、クライアント装置100からの要求に従って演算を行い、演算結果をクライアント装置100に提示する情報処理装置である。クライアント装置100からの要求や演算結果はインターネット130を介して行われるが、これに限定しない。認証サーバ−a121は、図示しないハードディスクドライブやフラッシュメモリなどのストレージやメモリ及びCPUを備え、利用者の指示に従って演算を行う。以後、特に認証サーバ−a121、認証サーバ−b122を区別する必要が無い場合は、認証サーバ−a121を代表として説明する。なお、以上の各装置においては、プログラムに従ってCPUの如き演算装置が、後述する処理を実行する。
【0019】
図2は、サービス提供サーバ装置110の構成を示すブロック図の一例である。本図に示すように、サービス提供サーバ装置110は、通信部201、通信制御部202、制御部203、サービス提供部204、ユーザアカウント制御部205、認証結果検定部206、記憶部207を備える。通信部201は、通信用経路のポートである。通信部201は、インターネット130を介して接続するクライアント装置100(PC−a101)の間でデータの送受信を行うポートである場合を例に挙げて説明を行う。通信制御部202は、通信部201からのデータを受信、解析し、制御部203へ送信する手段と、制御部203からのデータを受信、解析し、通信部201へ送信する手段を備えた部位である。制御部203は各部位(通信制御部202、サービス提供部204、ユーザアカウント制御部205)からのデータや要求を受信、解析し、制御部203に相互に接続された各部位(通信制御部202、サービス提供部204、ユーザアカウント制御部205)へ送信する(要求する)手段を備えた部位である。サービス提供部204は、制御部203からのサービス提供要求に従い、サービスを制御部203に送信する手段を備えた部位である。ユーザアカウント制御部205は、制御部203からのデータや要求に従い、ユーザアカウント情報を管理し、認証結果検定部206や記憶部207へデータ送信や要求を行う手段を備えた部位である。
【0020】
また、ユーザアカウント制御部205は、認証結果検定部206や記憶部207からデータを受信し、制御部203へ送信する手段も備えた部位である。認証結果検定部206は、ユーザアカウント制御部205からの認証結果検定要求を受信し、認証結果や認証結果に付随する署名データの解析処理を行い、認証結果検定の結果をユーザアカウント制御部205に送信する手段を備えた部位である。記憶部207は、ユーザアカウント情報を格納する手段を備えた部位であり、ユーザアカウント制御部205の要求に従い、ユーザアカウント情報をユーザアカウント制御部205へ送信する手段も備えている。
【0021】
図3は、認証サーバ装置120の構成を示すブロック図の一例である。本図に示すように、認証サーバ装置120は、通信部301、通信制御部302、制御部303、ID連携部304、ユーザ認証部305、署名部306、時間管理部307、記憶部308を備える。通信部301は、通信用経路のポートである。通信部301は、インターネット130を介して接続するクライアント装置100(PC−a101)の間でデータの送受信を行うポートである場合を例に挙げて説明を行う。通信制御部302は、通信部301からのデータを受信、解析し、制御部303へ送信する手段と、制御部303からのデータを受信、解析し、通信部301へ送信する手段を備えた部位である。
【0022】
制御部303は各部位(通信制御部302、ID連携部304、時間管理部307)からのデータや要求を受信、解析し、制御部303に相互に接続された各部位(通信制御部302、ID連携部304、時間管理部307)へ送信する(要求する)手段を備えた部位である。ID連携部304は、制御部303からのデータや要求に従い、認証情報を管理し、ユーザ認証部305や署名部306、記憶部308へデータ送信や要求を行う手段を備えた部位である。また、ID連携部304は、ユーザ認証部305や署名部306、記憶部308からデータを受信し、制御部303へ送信する手段も備えた部位である。ユーザ認証部305は、ID連携部304からのデータや要求を受信し、認証処理を行う手段を備えた部位であり、認証結果をID連携部304に送信する手段も備えている。本実施形態では、認証手段にID/Password認証を行う例で説明しているが、認証手段は、これに限定しない。署名部306は、ID連携部304からのデータや要求に従い、署名作成を行う手段を備えた部位であり、作成した署名をID連携部304へ送信する手段も備えている。記憶部308は、認証情報を格納、管理(登録や削除)する手段を備えた部位であり、ID連携部304の要求に従い、認証情報をID連携部304へ送信する手段も備えている。なお、上述した各手段については、プログラムに従った演算装置での処理として、すなわちソフトウエアとして実現することが可能である。
【0023】
次に、サービス提供サーバ装置110が保持するユーザアカウント情報テーブル400、認証サーバ情報テーブル500について説明する。
【0024】
ユーザアカウント情報テーブル400は、サービス提供サーバ装置110(サービス提供サーバ−a111)に登録しているユーザのアカウント情報を管理するテーブルであり、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に、サービス提供サーバ110がユーザを特定する情報として登録される。
【0025】
図4に、ユーザアカウント情報テーブル400の一例を示す。本図に示すようにユーザアカウント情報テーブル400には、UserIDレコード401、Auth−SrvIDレコード402、Auth−Statusレコード403、Auth−dateレコード404、ageレコードが記録される。ユーザアカウント情報テーブル400は、これらに限定せず、その他のレコードが記録されても良い。
【0026】
UserIDレコード401は、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を初めて要求する際に、ユーザ入力によって登録される情報であり、サービス提供サーバ(サービス提供サーバ−a111や、サービス提供サーバ−b112)毎にユーザ情報を一意に特定する情報である。
【0027】
Auth−SrvIDレコード402は、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される、ユーザが利用する認証サーバ装置120を一意に特定する情報である。また、Auth−SrvIDレコード402をキーとして、認証サーバ情報テーブル500から、特定の認証サーバ装置情報を抽出することができる。本実施形態では、Auth−SrvIDレコード402の登録は初回のサービス利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0028】
Auth−Statusレコード403は、UserIDレコード401で特定するユーザの認証サーバ登録状態を判別するための情報であり、「Success」、「Fail」の値が設定される。Auth−Statusレコード403は、認証サーバ120からクライアント装置100を経由して受信した認証結果が真であり、且つ、認証結果の正当性が証明された場合(署名検定が真の場合)に、「Success」の値が設定される。
【0029】
Auth−dateレコード404は、サービス提供サーバ装置110が認証結果を検定した日付と時間の情報である。サービス提供サーバ装置110が認証結果検定処理を行った際に、設定される。
【0030】
認証サーバ情報テーブル500は、ユーザが利用する認証サーバ装置120の所在や認証手段、認証サーバの正当性を確認するための情報など、各認証サーバ装置固有の情報を管理するテーブルである。本テーブルは、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に、ユーザが利用する認証サーバを特定する情報として登録される。
【0031】
図5に、認証サーバ情報テーブル500の一例を示す。本図に示すように認証サーバ情報テーブルには、Auth−SrvIDレコード501、Auth−methodレコード502、Auth−URLレコード503、PublicKeyレコード504が記録されている。認証サーバ情報テーブル500のレコードは、これらに限定せず、その他のレコードが記録されていても良い。
【0032】
Auth−SrvIDレコード501は、クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される、ユーザが利用する認証サーバ装置120を一意に特定する情報である。本実施形態では、Auth−SrvIDレコード501の登録は初回のサービス利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0033】
Auth−methodレコード502は、Auth−SrvIDレコード501で特定される認証サーバの認証手段を示す情報である。クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される。本実施形態では、Auth−methodレコード502の登録は初回のサービス利用する際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。さらに、本実施形態では、認証手段は、ID/Password認証を行う例で説明しているが、これに限定しない。すなわち、ICカード認証や生体認証なども含まれる。
【0034】
Auth−URLレコード503、Auth−SrvIDレコード501で特定される認証サーバの所在(URL)を示す情報である。クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に登録される。本実施形態では、Auth−URLレコード503の登録は初回のサービス利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0035】
PublicKeyレコード504は、Auth−SrvIDレコード501で特定される認証サーバの公開鍵情報である。クライアント装置100(PC−a101)がサービス提供サーバ装置110(サービス提供サーバ−a111)のサービス利用を要求する際に、登録される。
【0036】
次に認証サーバ装置120が保持する、認証アカウント情報テーブル600、公開鍵ペア情報テーブル700について説明する。
【0037】
認証アカウント情報テーブル600は、各ユーザの認証情報を管理するテーブルであり、サービス提供サーバ装置110のユーザアカウント情報テーブル400に登録されている、サービス提供サーバ装置110を利用するユーザを一意に特定する情報(UserID401)と認証サーバ装置120を利用するユーザの認証情報を一意に特定する情報を関連付けるテーブルである。
【0038】
図6に、認証アカウント情報テーブル600の一例を示す。本図に示すように認証アカウント情報テーブル600には、User−AuthIDレコード601、User−AuthInfレコード602、Auth−Flagレコード603、ServiceURL−aレコード604、ServiceUser−ID−aレコード605、ServiceURL−bレコード606、ServiceUser−ID−bレコード607、Timeレコード608が記録される。認証アカウント情報テーブル600のレコードは、これらに限定せず、その他のレコードが記録されていても良い。
【0039】
User−AuthIDレコード601は、認証サーバ装置120(認証サーバ−a121)の認証機能を利用する際に登録される、ユーザを一意に特定する情報である。本実施形態では、User−AuthIDレコード601の登録は初回の認証機能利用の際にユーザ入力によって登録する例で説明しているが、登録のタイミング、登録者は、これに限定しない。
【0040】
User−AuthInfレコード602は、User−AuthIDレコード601の正当な利用者であることを示す情報である。本実施形態では、User−AuthInfレコード602には、Passwordを登録する例で説明しているが、これに限定しない。例えば、生体認証情報の生体パターンなどでも良い。
【0041】
Auth−Flagレコード603は、認証の有無を示す情報であり、認証済みの場合は、「1」が設定されており、認証が済でない場合は、「0」が設定される。
【0042】
ServiceURL−aレコード604は、サービス提供サーバ装置110の所在(URL)を示す情報である。
【0043】
ServiceUser−ID−aレコード605は、サービス提供サーバ装置110のユーザを一意に特定する情報である。また、User−AuthIDレコード601に紐つく、ServiceUserURL及び、ServiceUser−IDは、複数存在してもよい。本実施形態では、User−AuthIDレコード601に紐つく、ServiceUserURL及び、ServiceUser−IDは、ServiceUserURL−aレコード604、ServiceUser−ID−aレコード605、ServiceUserURL−bレコード606、ServiceUser−ID−bレコード607とする例で説明しているが、さらに複数あっても良い。
【0044】
Timeレコード608は、認証処理結果が真の場合の日付と時間を示す情報である。
【0045】
公開鍵ペア情報テーブル700は、各認証サーバ装置120(認証サーバ−a21、認証サーバ−b122)が保持する公開鍵ペアの情報を保持するテーブルである。
【0046】
図7に、公開鍵ペア情報テーブル700の一例を示す。本図に示すように公開鍵ペア情報テーブル700には、Auth−SrvIDレコード701、PublicKeyレコード702、SecretKeyレコード703が記録される。
【0047】
Auth−SrvIDレコード701は、認証サーバ装置120を一意に特定する情報である。
【0048】
PublicKeyレコード702は、Auth−SrvIDレコード701で特定される認証サーバ装置の公開鍵情報であり、一意な情報である。
【0049】
SecretKeyレコード703は、Auth−SrvIDレコード701で特定される認証サーバ装置の公開鍵情報(PublicKeyレコード702)とペアとなる秘密鍵情報であり、一意な情報である。
【0050】
次に、図8〜11のシーケンス図及びフロー図に基づいて、図1及び図2、図3の動作を説明する。
【0051】
図8は、クライアント装置100からサービス提供サーバ装置110へのサービス提供要求し、サービス提供までのシーケンス処理を表している。
【0052】
まず、クライアント装置100から、サービス提供サーバ装置110にアクセス要求(ステップ801)があると、サービス提供サーバ装置110は、クライアント装置100に対してUserID401要求(ステップ802)を行う。クライアント装置100は、ユーザから、サービス提供サーバ装置110のUserID401要求に対するUserID401の入力を受け付け(ステップ803)、UserID401をサービス提供サーバ装置110に送付する(ステップ804)。本実施形態では、ユーザがクライアント装置100に接続されている図示しないユーザインタフェースを介して入力するが、これに限定しない。サービス提供サーバ装置110は、取得したUserID401をサービス提供サーバ装置110が制御可能なデータベースを利用して、照合する(ステップ805)。サービス提供サーバ110は、照合したUserID401に関連付けられている認証サーバ装置120のURLをクライアント装置100に送付する(ステップ806)。本実施形態では、UserID401に関連付けられている認証サーバ装置120の所在を判明するためにURLを用いているが、IPアドレスなど認証サーバ装置120の所在を一意に示す情報であれば、これに限定しない。クライアント装置100は、サービス提供サーバ装置110より取得した認証サーバ装置120のURLを利用して、認証サーバ装置120にアクセスする(ステップ807)。本実施形態では、サービス提供サーバ装置120はHTTPメッセージのメッセージヘッダに認証サーバ装置120のURLを格納して送付し、クライアント装置100は、HTTPプロトコルのリダイレクト処理により認証サーバ装置120へアクセスする例を示している。クライアント装置100からアクセスを受けた認証サーバ装置120は、認証情報要求をクライアント装置100に送る(ステップ808)。
【0053】
クライアント装置100は、ユーザからクライアント装置100が取得した認証情報要求に対する認証サーバ装置120の認証情報の入力を受け付け(ステップ809)、これをこの認証情報を認証サーバ装置120に送付する(ステップ810)。本実施形態では、認証情報をID(User−AuthID601)、パスワード(User−AuthInf602)としているが、生体情報など認証サーバ装置120がユーザの正当性を確認することのできる情報であれば、これに限定しない。認証サーバ装置120は、取得した認証情報を認証サーバ装置120が制御可能なデータベースを利用して、認証し、ユーザの正当性が確認された場合、認証結果に対して、認証サーバ装置120の秘密鍵を利用して署名処理を行う。(ステップ811)。また、認証後、Auth−Flag603を更新する。認証サーバ装置120は、認証結果と署名処理情報、サービス提供サーバ110のURLを、クライアント装置100に送付する(ステップ812)。クライアント装置100は、認証結果と署名処理情報をサービス提供サーバ110に送付する(ステップ813)。
【0054】
本実施形態では、このときのサービス提供サーバ装置110へのアクセスは、認証サーバ装置120から取得したサービス提供サーバ装置110のURLをHTTPプロトコルのリダイレクト処理で行う例を示す。サービス提供サーバ装置110は、取得した署名情報を認証サーバ装置120の公開鍵を利用して検定し、認証結果の確認を行う(ステップ814)。署名の検定及び認証結果からユーザの正当性を確認できた場合、サービス提供サーバ装置110は、クライアント装置100に対して、サービスを提供する(ステップ815)。また、ユーザの正当性が確認された時点で、そのUserID401に関連づくAuth−Status403をSuccessにする。
【0055】
図9は、サービス提供サーバ装置110(サービス提供サーバ−a111)に対して、一度、認証サーバ装置120で、正当性が確認されたユーザ(クライアント装置100)から、サービス提供装置110(サービス提供サーバ−b112)へ、サービス提供要求、サービス提供までのシーケンス処理を表している。
【0056】
まず、クライアント装置100から、サービス提供サーバ装置110(サービス提供サーバ−b112)にアクセス要求(ステップ901)があると、サービス提供サーバ装置110(サービス提供サーバ−b112)は、クライアント装置100に対してUserID401要求(ステップ902)を行う。クライアント装置100は、ユーザからサービス提供サーバ装置110のUserID401要求に対するUserID401の入力を受け付け(ステップ903)し、UserID401をサービス提供サーバ装置110(サービス提供サーバ−b112)に送付する(ステップ904)。本実施形態では、ユーザがクライアント装置100に接続されている図示しないユーザインタフェースを介して入力するが、これに限定しない。サービス提供サーバ装置110(サービス提供サーバ−b112)は、取得したUserID401をサービス提供サーバ装置110(サービス提供サーバ−b112)が制御可能なデータベースを利用して、照合する(ステップ905)。サービス提供サーバ装置110(サービス提供サーバ−b112)は、照合したUserID401に関連付けられている認証サーバ装置120のURLをクライアント装置100に送付する(ステップ906)。
【0057】
本実施形態では、UserID401に関連付けられている認証サーバ装置120の所在を判明するためにURLを用いているが、IPアドレスなど認証サーバ装置120の所在を一意に示す情報であれば、これに限定しない。クライアント装置100は、サービス提供サーバ装置110より取得した認証サーバ装置120のURLを利用して、認証サーバ装置120にアクセスする(ステップ907)。本実施例では、サービス提供サーバ装置110(サービス提供サーバ−b112)はHTTPメッセージのメッセージヘッダに認証サーバ装置120のURLを格納して送付し、クライアント装置100は、HTTPプロトコルのリダイレクト処理により認証サーバ装置120へアクセスする例を示している。クライアント装置100からアクセスを受けた認証サーバ装置120は、ServiceURL604(または、606)とServiceUser−ID605(または、607)に関連づいたUser−ID601を検索し、これが存在した場合、さらに、Auth−Flag603とTime608から認証状態を確認し(ステップ908)、既にユーザの正当性が確認済みの場合、認証結果に署名処理を施し(ステップ909)、認証結果と、署名情報とサービス提供サーバ装置110(サービス提供サーバ−b112)のURLをクライアント装置100に送付する(ステップ910)。クライアント装置100は、認証結果と署名処理情報をサービス提供サーバ110(サービス提供サーバ−b112)に送付する(ステップ911)。
【0058】
本実施形態では、このときのサービス提供サーバ装置110(サービス提供サーバ−b112)へのアクセスは、認証サーバ装置120から取得したサービス提供サーバ装置110(サービス提供サーバ−b112)のURLをHTTPプロトコルのリダイレクト処理で行う例を示す。サービス提供サーバ装置110(サービス提供サーバ−b112)は、取得した署名情報を認証サーバ装置120の公開鍵を利用して検定し、認証結果の確認を行う(ステップ912)。署名の検定及び認証結果からユーザの正当性を確認できた場合、サービス提供サーバ装置110(サービス提供サーバ−b112)は、クライアント装置100に対して、サービスを提供する(ステップ913)。また、ユーザの正当性が確認された時点で、そのUserID401に関連づくAuth−Status403をSuccessににする。
【0059】
図10(a)、図10(b)は、サービス提供サーバ装置110を構成する各部(通信部201、通信制御部202、制御部203、サービス提供部204、ユーザアカウント制御部205、認証結果検定部206、記憶部209)にて実行されるユーザアカウント登録処理及び、認証結果検定処理を示すフロー図である。
【0060】
まず、サービス提供サーバ装置110は、クライアント装置100からのアクセス要求を通信部201で受信(HTTPメッセージ受信)した場合に、処理が開始される(ステップ1001、ステップ1002)。受信したHTTPメッセージは通信制御部202で分析(HTTPメッセージ解析)し、HTTPメッセージのヘッダとボディの値を確認する(ステップ1003)。HTTPメッセージのヘッダ、ボディに値がセットされていない場合は、認証サーバ装置120からのリダイレクトによるアクセスでは無いと判断し、ユーザIDの登録を確認する処理の開始命令を制御部203からユーザアカウント制御部205に出す(ステップ1004)。また、HTTPメッセージのヘッダ、ボディに値がセットされている場合は、認証結果がセットされていると判断し、認証結果検定処理の開始命令を制御部203からユーザアカウント制御部205に出す(ステップ1004)。
【0061】
ユーザアカウント制御部205が、ユーザIDの登録確認処理の開始命令を受けた場合、ユーザID入力画面を出力する(ステップ1005)。ユーザからの入力を受け付け、クライアント装置100は、ユーザIDをサービス提供サーバ装置110に送付する。さらに、ユーザが新規にユーザID登録を希望する場合は、その希望に対応する入力を受け付けて、クライアント装置100は新規登録要求情報も送付する(ステップ1006)。サービス提供サーバ装置110の新規登録要求情報の取得方法及び、データフォーマットは限定しない。クライアント装置100からユーザIDを取得したサービス提供サーバ装置110のユーザアカウント制御部205は、新規登録要求が無い場合は、取得したユーザIDをキーとして記憶部207に格納されているユーザID(UserID401)の検索(照合)を実施する(ステップ1007)。ユーザIDが既に登録されている場合(ステップ1008)は、制御部203で、User−ID401に紐ついているAuth−SrvID402とAuth−URL503を利用して、認証サーバ装置120への認証要求を作成する(HTTPメッセージ作成)(ステップ1013)。ユーザIDが登録されていない場合(ステップ1008)は、ユーザID入力画面を出力する。本実施形態では、HTTPメッセージのヘッダのLocationパラメータに認証サーバ装置120のURL(Auth−URL503)をセットし、ボディにサービス提供サーバ装置110のURL、User−ID(User−ID401)をセットして認証要求を作成する例を示すが、これに限定しない。
【0062】
制御部203では、作成したHTTPメッセージ(認証要求)を通信制御部202に送信し、通信部201を介してHTTPメッセージをクライアント装置100に送信して、終了する。(ステップ1014、ステップ1015)。また、ユーザアカウント制御部205は、新規登録要求を取得した場合は、記憶部207に対してユーザアカウント登録処理を開始する(ステップ1009)。この場合、ユーザから認証サーバ装置120を一意に特定する情報(Auth−SrvID402、Auth−URL502)、認証サーバ装置120の公開鍵情報(PublicKey502)を取得して、ユーザアカウント登録を行う。ユーザアカウント制御部205は、ユーザIDの重複、データフォーマットなどの登録データの確認(ステップ1010)を行い、入力内容に誤りがあるかを判断する(ステップ1011)。誤りが無い場合は、ユーザアカウントを登録する(ステップ1012)。誤りがある場合は、再度ユーザアカウント登録処理(ステップ1009)を行う。
【0063】
クライアント装置100から取得したHTTPメッセージのヘッダ、ボディに値がセットされている場合(ステップ1004)は、セットされている値の会席を行い、認証結果検定処理を認証結果検定部206で実施する。本実施例では、HTTPメッセージのヘッダ、ボディにセットされている情報として、サービス提供サーバ装置110のユーザIDと認証サーバ装置120の秘密鍵で暗号化された認証結果、署名情報を想定して記載するが、これに限定しない。認証結果検定部206では、ユーザIDに登録されているAuth−SrvIDの公開鍵で、署名情報を復号化し、さらに、認証結果も認証サーバ装置120の公開鍵で復号化して、復号化した署名情報と照合させる(ステップ1016)。復号化が成功し、照合結果が真の場合、改ざんされていないと判断する(ステップ1017)。認証結果検定部206は、認証結果の正当性を検定する手段を持つ部であり、本実施例ではPKIを利用した方法で示しているがこれに限定しない。さらに、認証結果が真の場合(ステップ1018)は、Auth−Status403をSuccessに更新する(ステップ1019)。Auth−Status403の更新後、制御部203からサービス提供部204にサービス提供開始命令が出され、サービス提供(のための情報処理)を行い、終了する(ステップ1020、ステップ1023)。また、認証結果が改ざんされていた場合や、認証結果が真でない場合は、Auth−Status403をFailにして(ステップ1021)、エラー出力を行い、終了する(ステップ1022、ステップ1023)。
【0064】
図11(a)、図11(b)は、認証サーバ装置120を構成する各部(通信部301、通信制御部302、制御部303、認証情報制御304、ユーザ認証部305、署名部306、時間管理部307、記録部308)にて実行される認証情報登録処理及び、ユーザの正当性を確認する認証処理を示すフロー図である
まず、認証サーバ装置120は、クライアント装置100からのアクセス要求(サービス提供サーバ装置110からのリダイレクト)を通信部301で受信(HTTPメッセージ受信)した場合に、処理が開始される(ステップ1101、ステップ1102)。受信したHTTPメッセージは通信制御部302で分析(HTTPメッセージ解析)し、HTTPメッセージのメッセージのフォーマットを確認し、メッセージを制御部303を介してID連携部304に渡す(ステップ1103)。本実施例では認証サーバ装置120が受信するHTTPメッセージは、サービス提供サーバ装置110のURL、サービス提供サーバ装置のUser−IDが含まれている例で示すが、これに限定しない。ID連携部304は、取得したサービス提供サーバ装置の110のURLとUser−IDをキーとして、User−AuthIDの検索命令を記憶部308に出す(ステップ1104)。記録部308にUser−AuthIDが登録されている場合(ステップ1105)、ユーザ認証部305は、記憶部308からAuth−timeを取得し、現時刻と比較する。Auth−timeと24時間以上の差がある場合(ステップ1107)は、Auth−Flagを0に更新する(ステップ1108)。Auth−Flagが0で無い場合は、パスワード入力画面を作成し、ユーザ認証部305から制御部303にパスワード入力画面の出力要求を出し(ステップ1114)。これによりユーザにパスワード入力を促すことが可能になる。ユーザが入力したパスワードを取得した認証制御部304は、パスワードと認証要求をユーザ認証部305に送付する。ユーザ認証部は、ユーザ認証処理を実行(ステップ1115)し、認証結果を作成する(ステップ1116)。本実施例では、認証情報にパスワードを利用する例を示しているが、これに限定しない。また、Auth−Flagが1の場合は、認証制御部304は、ユーザ認証部305に結果が真となる認証結果の作成命令を出す(ステップ1117)。Auth−timeは、最後に認証が成功したときの時刻であり、現時刻と比較する際は、時間管理部307から現時刻を取得して行う。予め設定された24時間以内に認証が成功している場合(Auth−Flagを0に更新しない)は、認証部305で実行する認証処理を簡略する。本実施例では認証処理を簡略化するための指標としてAuth−timeと24時間という制限を利用した例を示しているが、指標はこれに限定しない。
【0065】
認証結果が真の場合(ステップ1118)は、ID連携部304は、Auth−Flagを1に、且つ、Auth−timeを現在の時刻に更新する(ステップ1119)。次にID連携部304は、認証結果を署名部306に送付し、署名データの作成命令を出す(ステップ1120)。署名部306は、取得した認証結果を認証サーバ装置120の秘密鍵で暗号化し、署名データを作成して、ID連携部304に送付する。署名部306は、認証結果の正当性を証明する手段を持ち、本実施例ではPKIを利用した方法で示しているがこれに限定しない。ID連携部304は、署名部306から取得した暗号化された認証結果と署名データを制御部303に送付し、サービス提供サーバ装置110に送付するHTTPメッセージの作成を要求する。制御部303では、HTTPメッセージのヘッダのLocationパラメータにサービス提供サーバ装置110のURLをセットし、ボディにサービス提供サーバ装置110のユーザID、認証結果、署名データをセットする例を示すが、セットする情報はこれに限定しない。このようにして制御部303は、HTTPメッセージを作成する(ステップ1121)。制御部303では、作成したHTTPメッセージを通信制御部302に送信し(ステップ1122)、通信部301を介してHTTPメッセージをクライアント装置100に送信して、終了する。(ステップ1112、ステップ1123)。
【0066】
また、記録部308にUser−AuthID601が登録されていない場合(ステップ1105)、ユーザ認証部305は、認証情報登録処理を開始する。この場合、ユーザ認証部305は、制御部303に認証情報登録画面を出力要求(ステップ1109)を出して、ユーザから認証サーバ装置120のUserID(USer−AuthID601)とパスワード(User−AuthInf602)を取得する。ユーザ認証部305は、データフォーマットなどの登録データの確認する(ステップ1110)。登録データに誤りがないかを判断し(ステップ1111)、登録データに誤りが無い場合は、認証情報を記憶部308に登録する(ステップ1112)。この際に、取得したUSer−AuthID601とUser−AuthInf602が既に別のServiceURL604とServiceUser−ID605に登録済みの場合は、そのUSer−AuthID601とUser−AuthInf602が有効なServiceURL606とServiceUser−ID607として、追加登録する。認証情報の登録が完了した後は、ID連携部304は、再度、取得したサービス提供サーバ装置の110のURLとUser−IDをキーとして、User−AuthIDの検索命令を記憶部308に出す(ステップ1104)
以上、本実施形態によれば、サービス提供者が開発(実装)する独自の認証機能、認証機能提供事業者の認証機能との連携機能や、独自の認証情報、独自の認証情報と認証機能提供事業者の認証情報との関連付け情報を保持・管理の負荷を軽減できる共に、ユーザの認証情報管理負荷も軽減できる。
【0067】
これにより、サービスを提供する事業者は、認証機能に依存せずサービス主体を充実させることができる。認証機能を提供する事業者もサービス提供システムとの連携や制限に依存することなく、複数のサービス提供事業者に対し、認証機能(認証機能のパッケージ化)を提供することができる。さらに、ユーザもサービスに依存せずに、自身で認証手段を選択(IDパスワード、生体認証、ワンタイムパスワードなど)、利用できるため認証情報の管理負荷を抑え、利便性の向上に繋がる。
【符号の説明】
【0068】
100:クライアント装置
101:PC
102:PC
103:モバイル情報端末
104:認証デバイス
110:サービス提供サーバ装置
111:Webサーバ
112:Webサーバ
113:Webサーバ
120:認証サーバ装置
121:認証サーバ
122:認証サーバ
130:インターネット
201:通信部
202:通信制御部
203:制御部
204:サービス提供部
205:ユーザアカウント制御部
206:認証結果検定部
207:記憶部
301:通信部
302:通信制御部
303:制御部
304:ID連携部
305:ユーザ認証部
306:署名部
307:時間管理部
308:記憶部
【特許請求の範囲】
【請求項1】
サービスを利用する利用者の端末装置と接続され、前記サービスを提供するための情報処理を実行するサービス提供サーバと、前記利用者の認証を行う認証サーバとが互いに接続されたID連携システムにおいて、
前記サービス提供サーバが、前記端末装置から、前記利用者からの前記サービス利用の際の認証手段を含む登録要求を受信し、
前記サービス提供サーバが、前記登録要求の受信に応じて、前記利用者を識別する利用者識別情報を生成し、予め認証手段毎に設定されている認証サーバに利用者識別情報を含む認証情報登録要求を送信し、
前記認証サーバが、前記認証情報登録要求の受信に応じて、利用者識別情報と当該認証サーバの認証手段に応じた認証情報を対応付けて登録し、当該登録したことを示す情報を前記サービス提供サーバに送信することを特徴とするID連携システム。
【請求項2】
請求項1に記載のID連携システムにおいて、
前記サービス提供サーバが、前記利用者識別情報と、前記認証サーバを特定する情報を対応付けて記憶することを特徴とするID連携システム。
【請求項3】
請求項1または2のいずれかに記載のID連携システムにおいて、
前記サービス提供サーバが、前記端末装置から、前記利用者からの入力に応じた当該利用者識別情報を含むサービス要求を送信し、
前記サービス提供サーバが、当該利用者識別情報に対応する認証サーバを特定し、前記端末装置に、前記認証情報の入力要求を送信し、
前記サービス提供サーバが、前記端末装置から、前記入力要求に従って入力された認証情報および利用者識別情報を含む認証要求を受信し、
前記サービス提供サーバは、前記認証要求を対応する前記認証サーバに送信し、
前記認証サーバが、前記認証要求に従って認証処理を実行することを特徴とするID連携システム。
【請求項1】
サービスを利用する利用者の端末装置と接続され、前記サービスを提供するための情報処理を実行するサービス提供サーバと、前記利用者の認証を行う認証サーバとが互いに接続されたID連携システムにおいて、
前記サービス提供サーバが、前記端末装置から、前記利用者からの前記サービス利用の際の認証手段を含む登録要求を受信し、
前記サービス提供サーバが、前記登録要求の受信に応じて、前記利用者を識別する利用者識別情報を生成し、予め認証手段毎に設定されている認証サーバに利用者識別情報を含む認証情報登録要求を送信し、
前記認証サーバが、前記認証情報登録要求の受信に応じて、利用者識別情報と当該認証サーバの認証手段に応じた認証情報を対応付けて登録し、当該登録したことを示す情報を前記サービス提供サーバに送信することを特徴とするID連携システム。
【請求項2】
請求項1に記載のID連携システムにおいて、
前記サービス提供サーバが、前記利用者識別情報と、前記認証サーバを特定する情報を対応付けて記憶することを特徴とするID連携システム。
【請求項3】
請求項1または2のいずれかに記載のID連携システムにおいて、
前記サービス提供サーバが、前記端末装置から、前記利用者からの入力に応じた当該利用者識別情報を含むサービス要求を送信し、
前記サービス提供サーバが、当該利用者識別情報に対応する認証サーバを特定し、前記端末装置に、前記認証情報の入力要求を送信し、
前記サービス提供サーバが、前記端末装置から、前記入力要求に従って入力された認証情報および利用者識別情報を含む認証要求を受信し、
前記サービス提供サーバは、前記認証要求を対応する前記認証サーバに送信し、
前記認証サーバが、前記認証要求に従って認証処理を実行することを特徴とするID連携システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10(a)】
【図10(b)】
【図11(a)】
【図11(b)】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10(a)】
【図10(b)】
【図11(a)】
【図11(b)】
【公開番号】特開2011−221729(P2011−221729A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−89133(P2010−89133)
【出願日】平成22年4月8日(2010.4.8)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年4月8日(2010.4.8)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]