ユーザ認証方法、ユーザ認証システム、サービス提供装置、及び認証制御装置
【課題】サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことが可能なシングルサインオン技術を提供する。
【解決手段】ユーザ端末装置が、ユーザ識別子を含む第1認証要求情報をサービス提供装置に送信する。サービス提供装置は、第1データベースを検索し、第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する。サービス提供装置は、抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する。次に、認証制御装置が、第2データベースを検索し、第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出する。認証制御装置は、抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信する。第3認証要求情報が送信された認証装置は、ユーザ端末装置を利用するユーザの認証処理を行う。
【解決手段】ユーザ端末装置が、ユーザ識別子を含む第1認証要求情報をサービス提供装置に送信する。サービス提供装置は、第1データベースを検索し、第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する。サービス提供装置は、抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する。次に、認証制御装置が、第2データベースを検索し、第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出する。認証制御装置は、抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信する。第3認証要求情報が送信された認証装置は、ユーザ端末装置を利用するユーザの認証処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ認証を行う技術分野に関し、特にシングルサインオン技術に関する。
【背景技術】
【0002】
ユーザの認証が必要な複数のWebサイトを利用する場合、通常、ユーザはWebサイト毎に異なる認証情報(IDやパスワード等)をユーザ端末装置に入力し、認証を受けなければならない。しかし、これでは認証情報の管理や認証手続きが煩雑である。
【0003】
このような問題を解決する従来技術にシングルサインオン(SSO:Single Sign-On)技術が存在する(例えば、非特許文献1、2参照)。この技術は、一度行われた認証の結果を複数のWebサイトへ引き継ぐことにより、Webサイト毎の認証処理を不要とする技術である。すなわち、シングルサインオン技術を用いたシステムの場合、ユーザは1度の認証を受けるだけで、複数のWebサイトを利用できる。
【0004】
シングルサインオン技術を用いたシステムは、通常、ユーザが利用するユーザ端末装置と、ユーザ認証が為されたことを前提としてユーザ端末装置にサービス情報を提供する1以上のサービス提供装置と、サービス提供装置と別個に設けられたユーザ認証を行うための認証装置とを有する。ここで、シングルサインオン技術の一例であるリバティアライアンスやSAML(Security Assertion Markup Language)(例えば、非特許文献1参照)では、ネットワーク上に設けられたサーバ装置が各ユーザの認証を行う認証装置となる。また、認証処理をより強固なものとしたSASSO(例えば、非特許文献2参照)では、ユーザが所有する携帯電話等の端末装置が認証装置となる。
【0005】
図1は、従来のシングルサインオンの処理手順を例示するためのシーケンス図である。この例では、まず、ユーザ端末装置がサービス提供装置にアクセスし、認証要求情報AUTREQを送信してユーザ認証を要求する。サービス提供装置は、リダイレクト機能を用いて認証装置の宛先(URL:Uniform Resource Locator等)を指定するとともに認証要求情報AUTREQをユーザ端末装置に送信する。ユーザ端末装置は、指定された宛先の認証装置にアクセスし、当該認証装置に認証要求情報AUTREQを送信する。認証要求情報AUTREQを受信した認証装置は、認証装置が管理するユーザの識別子ID(IDP)とそれに対応するパスワードPWDとの提示要求をユーザ端末装置に送信する。これに対して、ユーザ端末装置はゼロ知識証明等によって識別子ID(IDP)とパスワードPWDとを提示するための情報を認証装置に送信する。認証装置はこの情報を用いて認証処理を行い、その認証結果AUTRに電子署名を付した応答情報RESを生成する。認証装置は、リダイレクト機能を用いてサービス提供装置の宛先を指定するとともに応答情報RESをユーザ端末装置に送信する。ユーザ端末装置は、指定された宛先のサービス提供装置にアクセスし、応答情報RESとサービス提供装置が管理するユーザ識別子とを送信する。サービス提供装置は、応答情報RESを検証し、検証が合格であればサービス情報SVCをユーザ端末装置に送信し、検証が不合格であればエラー情報をユーザ端末装置に送信する。
【非特許文献1】“Liberty仕様チュートリアル”、[online]、[平成20年11月26日検索]、インターネット<http://www.projectliberty.net/jp/resources/LAP_DIDW_Oct_15_2003_jp.pdf>
【非特許文献2】“NTT's SASSO Turns a Mobile Phone into a Personal Identity Provider”、[online]、[平成20年11月26日検索]、インターネット<http://www.projectliberty.org/liberty/content/download/3960/26523/file/NTT-SASSO%20liberty%20case%20study.pdf>
【発明の開示】
【発明が解決しようとする課題】
【0006】
図1に例示したように、従来のシングルサインオン技術では、いずれもユーザ端末装置が認証装置に直接アクセスして認証要求を行う。このようにユーザ装置が認証装置へ直接アクセスできる環境では、不正なユーザ装置が認証装置にアクセスし、DoS攻撃、コンピュータウイルスの送信、秘密情報の不正取得などの認証装置に対する何らかの攻撃を行う可能性がある。
【0007】
また、サービス提供装置がリダイレクト機能などによって認証装置の宛先をユーザ端末装置に指定する方式の場合、少なくともサービス提供装置にも認証装置の宛先が開示される。その場合、不正なサービス提供装置やそこから認証装置の宛先を取得した装置が認証装置にアクセスし、認証装置に対する何らかの攻撃を行う可能性がある。或いは、認証装置の宛先を取得した不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対する不正行為(いわゆるフィッシング詐欺など)を行う可能性もある。また、ユーザ装置が認証装置の宛先を指定し、サービス提供装置が認証装置の宛先を管理しない方法の場合にも、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対する不正行為を行う可能性もある。
【0008】
また、サービス提供装置が認証装置にアクセスする方式も想定できるが、この場合であっても各ユーザに対応する各認証装置を特定するために、サービス提供装置で管理されるユーザ識別子がユーザ端末装置以外の装置に開示される方式は個人情報保護の観点から好ましくない。
【0009】
本発明はこのような点に鑑みてなされたものであり、サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことが可能なシングルサインオン技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明では、ユーザ端末装置が、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報をサービス提供装置に送信する。サービス提供装置は、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第1データベースを検索し、第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する。サービス提供装置は、抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する。次に、認証制御装置が、第1データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第2データベースを検索し、第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出する。認証制御装置は、抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信する。第3認証要求情報が送信された認証装置は、ユーザ端末装置を利用するユーザの認証処理を行う。
【0011】
本発明では、ユーザ端末装置が認証装置に直接アクセスするのではなく、ユーザ端末装置が第1認証要求情報をサービス提供装置に送信し、サービス提供装置が第2認証要求情報を認証制御装置に送信し、認証制御装置が第3認証要求情報を認証装置に送信することによって、認証装置に認証要求が行われる。この場合、ユーザ端末装置やサービス提供装置に認証装置の宛先を公開する必要がなく、不正なユーザ装置やサービス提供装置が認証装置にアクセスして攻撃を行うことを抑制できる。
【0012】
また、本発明では、サービス提供装置に認証装置の宛先を公開する必要がないため、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対して不正行為を行うことも抑制できる。
【0013】
また、本発明では、サービス提供装置は、ユーザ端末装置のユーザ識別子ではなく、第1データベースでユーザ識別子に対応付けられた匿名識別子を含む第2認証要求情報を認証制御装置に送信し、認証制御装置は、第2データベースで匿名識別子に対応付けられた認証装置の宛先情報を特定する。この場合、サービス提供装置はユーザ識別子を認証制御装置や認証装置に開示する必要がないため、ユーザの個人情報を保護できる。
【発明の効果】
【0014】
以上のように本発明では、サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。
〔第1実施形態〕
まず、本発明の第1実施形態を説明する。
【0016】
<構成>
図2は、第1実施形態のユーザ認証システム1の機能構成を例示したブロック図である。図3は、図2に例示したユーザ端末装置10の機能構成を例示したブロック図である。図4は、図2に例示したサービス提供装置20の機能構成を例示したブロック図である。図5は、図2に例示した認証制御装置30の機能構成を例示したブロック図である。図6は、図2に例示した認証装置40の機能構成を例示したブロック図である。
【0017】
図2に例示するように、本形態のユーザ認証システム1は、ユーザ端末装置10、サービス提供装置20、認証制御装置30、及び認証装置40を有する。本形態のユーザ端末装置10及び認証装置40は、ユーザが所持する通信機能を備えた携帯電話やパーソナルコンピュータなどの端末装置を用いて構成される。また、ユーザ端末装置10と認証装置40とは、同一の筺体内に構成されてもよいし、別個の筺体にそれぞれ構成されてもよい。例えば、1つの携帯電話内にユーザ端末装置10と認証装置40とが構成されてもよいし、パーソナルコンピュータによってユーザ端末装置10が構成され、携帯電話によって認証装置40が構成されてもよい。一方、本形態のサービス提供装置20及び認証制御装置30は、例えば、特定の秘密情報を互いに漏洩させない旨のセキュリティポリシーが設定された通信機能を備えたサーバ装置である。また、本形態のサービス提供装置20及び認証制御装置30が、それぞれ別個の管理者によって管理される通信機能を備えたサーバ装置であってもよい。なお、説明の簡略化のため、図2では、ユーザ端末装置10、サービス提供装置20、認証制御装置30、及び認証装置40をそれぞれ1つずつ示すが、ユーザ端末装置10、サービス提供装置20、及び認証装置40は、それぞれ複数設けられる。
【0018】
[ユーザ端末装置]
図3に例示するように、本形態のユーザ端末装置10は、記憶部11、読み書き部12a、認証要求生成部12b、通信処理部12c、受信部13、送信部14、制御部15、一時記憶部16、出力部17、及び入力部18を有する。記憶部11や一時記憶部16の例は、RAM(random-access memory)や磁気記録媒体などであり、読み書き部12の例は、記憶部11や一時記憶部16にデータを読み書きするハードウェアである。また、認証要求生成部12b、通信処理部12c、及び制御部15の例は、CPU(central processing unit)に所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部13や送信部14の例は、LANカードや無線通信モジュールなどのハードウェアである。また、出力部17の例は、液晶パネルやスピーカなどの出力ユーザインタフェースであり、入力部18の例は、入力キーやタッチパネルやマイクロホンなどの入力ユーザインタフェースである。なお、ユーザ端末装置10は、制御部15の制御のもとで各演算を実行する。また、ユーザ端末装置10の各演算部は必要に応じて処理結果であるデータを一時記憶部16に格納し、一時記憶部16に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0019】
[サービス提供装置]
図4に例示するように、本形態のサービス提供装置20は、記憶部21、読み書き部22a、検索部22b、認証要求生成部22c、セッション管理部22d、通信処理部22e、署名検証部22f、受信部23、送信部24、制御部25、及び一時記憶部26を有する。記憶部21や一時記憶部26の例は、RAMや磁気記録媒体などであり、読み書き部22の例は、記憶部21や一時記憶部26にデータを読み書きするハードウェアである。また、検索部22b、認証要求生成部22c、セッション管理部22d、通信処理部22e、署名検証部22f、及び制御部25の例は、CPUに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部23や送信部24の例は、LANカードや無線通信モジュールなどのハードウェアである。なお、サービス提供装置20は、制御部25の制御のもとで各演算を実行する。また、サービス提供装置20の各演算部は必要に応じて処理結果であるデータを一時記憶部26に格納し、一時記憶部26に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0020】
[認証制御装置]
図5に例示するように、本形態の認証制御装置30は、記憶部31、読み書き部32a、検索部32b、認証要求生成部32c、署名検証部32d、署名生成部32e、応答情報生成部32f、セッション管理部32g、通信処理部32h、フィルタリング処理部32i、受信部33、送信部34、制御部35、及び一時記憶部36を有する。記憶部31や一時記憶部36の例は、RAMや磁気記録媒体などであり、読み書き部32aの例は、記憶部31や一時記憶部36にデータを読み書きするハードウェアである。また、検索部32b、認証要求生成部32c、署名検証部32d、署名生成部32e、応答情報生成部32f、セッション管理部32g、通信処理部32h、フィルタリング処理部32i、及び制御部35の例は、CPUに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部33や送信部34の例は、LANカードや無線通信モジュールなどのハードウェアである。なお、認証制御装置30は、制御部35の制御のもとで各演算を実行する。また、認証制御装置30の各演算部は必要に応じて処理結果であるデータを一時記憶部36に格納し、一時記憶部36に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0021】
[認証装置]
図6に例示するように、本形態の認証装置40は、記憶部41、読み書き部42a、認証処理部42b、署名生成部42c、応答情報生成部42d、通信処理部42e、受信部43、送信部44、制御部45、一時記憶部46、出力部47、及び入力部48を有する。記憶部41や一時記憶部46の例は、RAMや磁気記録媒体などであり、読み書き部42aの例は、記憶部41や一時記憶部46にデータを読み書きするハードウェアである。また、認証処理部42b、署名生成部42c、応答情報生成部42d、通信処理部42e、及び制御部45の例は、CPUに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部43や送信部44の例は、LANカードや無線通信モジュールなどのハードウェアである。また、出力部47の例は、液晶パネルやスピーカなどの出力ユーザインタフェースであり、入力部48の例は、入力キー、タッチパネル、カメラ、マイクロホンなどの入力ユーザインタフェースである。なお、認証装置40は、制御部45の制御のもとで各演算を実行する。また、認証装置40の各演算部は必要に応じて処理結果であるデータを一時記憶部46に格納し、一時記憶部46に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0022】
<ユーザ認証方法>
次に本形態のユーザ認証方法を説明する。
図7は、第1実施形態のユーザ認証方法を説明するためのシーケンス図である。また、図8〜図11は、第1実施形態のユーザ認証方法を説明するためのフローチャートである。以下、これらの図に従って本形態のユーザ認証方法を説明する。
【0023】
[前処理]
事前にサービス提供装置20の各ユーザに対してそれぞれユーザ識別子ID(SP)が設定される。ユーザ識別子ID(SP)は、ユーザが選択した文字列やユーザが使用するユーザ端末装置10のメールアドレスなどのようにユーザの個人情報を含む情報である。また、各ユーザ識別子と一対一対応する各匿名識別子ID(AN)が設定される。匿名識別子ID(AN)は、重複しないように割り当てられたランダム文字列などのようにユーザの個人情報を含まない情報である。また、各ユーザが認証装置として使用する認証装置40が設定される。本形態の認証装置40は、ユーザが所持する通信機能を備えた端末装置を用いて構成され、各ユーザ識別子ID(SP)は何れかの認証装置40に対応する。
【0024】
以上のように設定されたユーザ識別子ID(SP)は、それぞれのユーザに与えられる。また、設定された各ユーザ識別子ID(SP)と、各ユーザ識別子ID(SP)に一対一で対応付けられた各匿名識別子ID(AN)とを含む第1データベースが、サービス提供装置20の記憶部21に格納される。この第1データベースを用いることにより、各ユーザ識別子ID(SP)にそれぞれ対応する各匿名識別子ID(AN)を特定することができる。
【0025】
また、第1データベースが含む各匿名識別子ID(AN)と、各匿名識別子ID(AN)に対応付けられた認証装置40の宛先情報LOC(IDP)とを含む第2データベースが認証制御装置30の記憶部31に格納される。匿名識別子ID(AN)に対応付けられた宛先情報LOC(IDP)は、第1データベースで当該匿名識別子ID(AN)に対応付けられたユーザ識別子ID(SP)に対応するユーザが選択した認証装置40の宛先情報LOC(IDP)である。言い換えると、匿名識別子ID(AN)に対応付けられた宛先情報LOC(IDP)は、当該匿名識別子ID(AN)に対応するユーザをユーザ認証する認証装置40の宛先情報LOC(IDP)である。なお、或る装置の宛先情報とは、その装置のネットワーク上の場所を特定するためのロケーション情報であり、その具体例は、URL(Uniform Resource Locator)やメールアドレスなどである。
【0026】
また、本形態では、認証制御装置30に対してRSAなどの公開鍵暗号方式の秘密鍵SK(IDXP)と公開鍵PK(IDXP)との鍵ペアが設定される。また、各認証装置40に対して公開鍵暗号方式の秘密鍵SK(IDP)と公開鍵PK(IDP)との鍵ペアがそれぞれ設定される。秘密鍵SK(IDXP)は証制御装置30の記憶部31に格納され、公開鍵PK(IDXP)は各サービス提供装置20の記憶部21に格納される。また、各認証装置40の記憶部41には、自らに設定された秘密鍵SK(IDP)が格納される。また、各公開鍵PK(IDP)は、それぞれ対応する認証装置40の宛先情報LOC(IDP)に対応付けられて認証制御装置30の記憶部31に格納される。すなわち、本形態の第2データベースは、各匿名識別子ID(AN)と各認証装置40の宛先情報LOC(IDP)と各公開鍵PK(IDP)とがユーザごとに対応付けられたものとなる。
【0027】
また、ユーザ端末装置10の記憶部11には、ユーザ端末装置10の宛先情報LOC(UT)とサービス提供装置20の宛先情報LOC(SP)とが格納され、サービス提供装置20の記憶部21には、サービス提供装置20の宛先情報LOC(SP)と認証制御装置30の宛先情報LOC(IDXP)とが格納される。また、認証制御装置30の記憶部31には、認証制御装置30へのアクセスが許可された各サービス提供装置20及び各認証装置40の各宛先情報LOC(SP)及びLOC(IDP)を含む許可テーブルが格納される。認証制御装置30は、これらのアクセスを許可したサービス提供装置20及び認証装置40以外からのアクセスを拒否する構成とされる。
【0028】
[認証処理]
サービス提供装置20からのサービス情報の提供を受けようとするユーザは、ユーザ端末装置10を用いてサービス提供装置20に接続する。ユーザ端末装置10に接続されたサービス提供装置20のセッション管理部22dは、そのセッションに対してセッション識別子SIDを生成する。生成されたセッション識別子SIDはユーザ端末装置10に送信され、ユーザ端末装置10の記憶部11に格納される。なお、以下では、ユーザ端末装置10に対して生成されたセッション識別子SIDをセッション識別子SIDUと表現する。
【0029】
その後、ユーザ端末装置10(図3)の入力部18に、ユーザ端末装置10を利用するユーザのユーザ識別子ID(SP)が入力され、読み書き部12aによって記憶部11に格納される。なお、以下では、ユーザ端末装置10を利用するユーザのユーザ識別子ID(SP)をユーザ識別子IDU(SP)と表現する。なお、ユーザ識別子IDU(SP)が既に記憶部11に格納されているのであればユーザ識別子IDU(SP)の入力処理は不要である。次に、読み書き部12aが、記憶部11から、ユーザ端末装置10の宛先情報LOC(UT)と、サービス提供装置20の宛先情報LOC(SP)と、ユーザ識別子IDU(SP)と、セッション識別子SIDUとを読み出す。そして、認証要求生成部12bが、これらの情報を含む第1認証要求情報AUTREQ1=[送信先の宛先情報,送信元の宛先情報,ユーザ識別子,セッション識別子]=[LOC(SP), LOC(UT), IDU(SP), SIDU]を生成する(ステップS11)。第1認証要求情報AUTREQ1は、通信処理部12cに送られ、通信処理部12cの制御のもと、送信部14からサービス提供装置20に送信される(ステップS12)。
【0030】
第1認証要求情報AUTREQ1は、サービス提供装置20(図4)の受信部23で受信され(ステップS13)、読み書き部22aによって記憶部21に格納される。次に、検索部22bが、記憶部21に格納された第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた匿名識別子ID(AN)を抽出する(ステップS14)。なお、以下では、ユーザ識別子IDU(SP)に対応付けられた匿名識別子ID(AN)を匿名識別子IDU(AN)と表現する。また、読み書き部22aが、記憶部21から認証制御装置30の宛先情報LOC(IDXP)と、サービス提供装置20の宛先情報LOC(SP)と、第1認証要求情報AUTREQ1が含むセッション識別子SIDUとを読み出す。認証要求生成部22cは、検索部22bが抽出したユーザ識別子IDU(SP)と、読み書き部22aが読み出した宛先情報LOC(IDXP)と、宛先情報LOC(SP)と、セッション識別子SIDUとを用い、これらを含む第2認証要求情報AUTREQ2=[送信先の宛先情報,送信元の宛先情報,匿名識別子,セッション識別子]=[LOC(IDXP), LOC(SP), IDU(AN), SIDU]を生成する(ステップS15)。第2認証要求情報AUTREQ2は、通信処理部22eに送られ、通信処理部22eの制御のもと、送信部24から認証制御装置30に送信される(ステップS16)。
【0031】
第2認証要求情報AUTREQ2は、認証制御装置30(図5)の受信部33で受信され(ステップS17)、フィルタリング処理部32iに送られる。フィルタリング処理部32iは、第2認証要求情報AUTREQ2の送信元の宛先情報LOC(SP)が、記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致するか否かを判定するフィルタリング処理を実行する(ステップS18)。ここで、これらが一致しない場合には、フィルタリング処理部32iが第2認証要求情報AUTREQ2を破棄してアクセスを拒否する(ステップS19)。
【0032】
一方、これらが一致した場合には、読み書き部32aが第2認証要求情報AUTREQ2を記憶部31に格納する。次に、検索部32bが、記憶部31に格納された第2データベースを検索し、第2認証要求情報AUTREQ2が含む匿名識別子IDU(AN)に対応する認証装置40の宛先情報LOC(IDP)を抽出する(ステップS20)。なお、以下では、匿名識別子IDU(AN)に対応する認証装置40の宛先情報LOC(IDP)をLOCU(IDP)と表現する。次に、読み書き部32aが、記憶部31から、認証制御装置30の宛先情報LOC(IDXP)と、第2認証要求情報AUTREQ2が含むセッション識別子SIDUとを読み出す。そして、認証要求生成部32cが、検索部32bで抽出された宛先情報LOCU(IDP)と、読み書き部32aで読み出された宛先情報LOC(IDXP)と、セッション識別子SIDUとを用い、これらを含む第3認証要求情報AUTREQ3=[送信先の宛先情報,送信元の宛先情報,セッション識別子]=[LOCU(IDP), LOC(IDXP), SIDU]を生成する(ステップS21)
。第3認証要求情報AUTREQ3は、通信処理部32hに送られ、通信処理部32hの制御のもと、送信部34から宛先情報LOCU(IDP)によって宛先が特定される認証装置40に送信される(ステップS22)。
【0033】
第3認証要求情報AUTREQ3は、認証装置40(図6)の受信部43で受信され(ステップS23)、読み書き部42aによって記憶部41に格納される。これを契機として、認証処理部42bがユーザ認証処理を行う(ステップS24)。ユーザ認証処理には様々な方法を用いることができる。例えば、本形態の認証装置40はユーザが所持する装置であるため、認証処理部42bは出力部47から「認証処理を実行しますか?」等の入力を要求する出力を行い、これに対して入力部48から認証処理を実行する旨の入力があったことをもってユーザ認証を行うことができる。このようなユーザ認証方法は、出力部47や入力部48のユーザインタフェースを用いた情報の入出力を行うことができるのは、認証装置40を所持する正当なユーザであると仮定したユーザ認証方法である。または、入力部48からパスワードを入力させ、そのパスワードの認証を行ってユーザ認証を行う方法も可能である。その他、パスワードを音声入力させたり、画像を入力させたりしてユーザ認証を行ってもよい。認証処理部42bから出力された認証結果AUTR1=[合格 or 不合格]は、読み書き部42aによって記憶部41に格納される。
【0034】
次に、読み書き部42aが、記憶部41から秘密鍵SK(IDP)と認証結果AUTR1とを読み込み、署名生成部42cが、秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)(「第1電子署名」に相当)を生成する(ステップS25)。電子署名Sign(AUTR1)は公知の方法で生成されればよく、例えば、認証結果AUTR1のハッシュ値H(AUTR1)を秘密鍵SK(IDP)を用いて公開鍵暗号方式で暗号化した暗号文を電子署名Sign(AUTR1)とする。生成された電子署名Sign(AUTR1)は記憶部41に格納される。次に、読み書き部42aが、記憶部41から第3認証要求情報AUTREQ3が含む認証制御装置30の宛先情報LOC(IDXP)と、認証装置40の宛先情報LOCU(IDP)と、セッション識別子SIDUと、ステップS24での認証結果AUTR1と、その電子署名Sign(AUTR1)とを読み出す。そして、応答情報生成部42dが、これらを含む第1応答情報RES1=[送信先の宛先情報,送信元の宛先情報,認証結果,電子署名,セッション識別子]=[LOC(IDXP), LOCU(IDP), AUTR1, Sign(AUTR1), SIDU]を生成し(ステップS26)、読み書き部42aがこれを記憶部41に格納する。その後、第1応答情報RES1は、読み書き部42aによって読み出されて通信処理部42eに送られ、通信処理部42eの制御のもと、送信部44から宛先情報LOC(IDXP)によって宛先が特定される認証制御装置30に送信される(ステップS27)。
【0035】
第1応答情報RES1は、認証制御装置30(図5)の受信部33で受信され(ステップS28)、フィルタリング処理部32iに送られる。フィルタリング処理部32iは、第1応答情報RES1の送信元の宛先情報LOCU(IDP)が、記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致するか否かを判定するフィルタリング処理を実行する(ステップS29)。ここで、これらが一致しない場合には、フィルタリング処理部32iが第1応答情報RES1を破棄してアクセスを拒否する(ステップS30)。
【0036】
一方、これらが一致した場合には、読み書き部32aが第1応答情報RES1を記憶部31に格納する。次に、検索部32bが、記憶部31に格納された第2データベースを検索し、第1応答情報RES1が含む宛先情報LOCU(IDP)に対応付けられた公開鍵PK(IDP)を抽出する。なお、以下では、宛先情報LOCU(IDP)に対応付けられた公開鍵PK(IDP)を公開鍵PKU(IDP)と表現する。さらに、読み書き部32aが、記憶部31に格納された第1応答情報RES1が含む認証結果AUTR1とその電子署名Sign(AUTR1)を読み出し、署名検証部32dが、公開鍵PKU(IDP)と認証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う。なお、この検証は、認証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部32dは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定し、それ以外の場合に不合格であると判定する。なお、電子署名Sign(AUTR1)がハッシュ値H(AUTR1)を秘密鍵SK(IDP)を用いて公開鍵暗号方式で暗号化した暗号文である場合、電子署名Sign(AUTR1)を公開鍵PKU(IDP)を用いて復号した復号結果と、認証結果AUTR1のハッシュ値H(AUTR1)とが等しい場合に電子署名Sign(AUTR1)が正当であると判定される。署名検証部32dから出力された検証結果AUTR2は、読み書き部32aによって記憶部31に格納される(ステップS31)。
【0037】
次に、読み書き部32aが、記憶部31から秘密鍵SK(IDXP)と検証結果AUTR2=[合格 or 不合格]とを読み込み、署名生成部32eが、秘密鍵SK(IDXP)を用いて検証結果AUTR2の電子署名Sign(AUTR2)(「第2電子署名」に相当)を生成し(ステップS32)、読み書き部32aが、電子署名Sign(AUTR2)を記憶部31に格納する。なお、電子署名Sign(AUTR2)は上述したような公知の方法で生成される。次に、検索部32bが記憶部31に格納された第2データベースを検索し、記憶部31に格納された第1応答情報RES1が含む認証装置40の宛先情報LOCU(IDP)に対応付けられた匿名識別子IDU(AK)を抽出する。さらに、セッション管理部32gが、記憶部31を探索し、第1応答情報RES1が含むセッション識別子SIDUを含む第2認証要求情報AUTREQ2を特定する。そして、読み書き部32aが、当該第2認証要求情報AUTREQ2が含むサービス提供装置20の宛先情報LOC(SP)と、セッション識別子SIDUと、記憶部31に格納された認証制御装置30の宛先情報LOC(IDXP)と、検証結果AUTR2と、電子署名Sign(AUTR2)とを読み込む。応答情報生成部32fは、それらの情報を含む第2応答情報RES2=[送信先の宛先情報,送信元の宛先情報,検証結果,電子署名,匿名識別子,セッション識別子]=[LOC(SP), LOC(IDXP), AUTR2, Sign(AUTR2), IDU(AN), SIDU]を生成し、第2応答情報RES2は、読み書き部32aによって記憶部31に格納される。その後、第2応答情報RES2は、読み書き部32aによって記憶部31から読み出されて通信処理部32hに送られ、通信処理部32hの制御のもと、送信部34から宛先情報LOC(SP)によって宛先が特定されるサービス提供装置20に送信される(ステップS34)。
【0038】
第2応答情報RES2は、サービス提供装置20(図4)の受信部23で受信される。読み書き部22aは、記憶部21に格納された第1データベースを検索し、第2応答情報RES2が含む匿名識別子IDU(AN)に対応付けられたユーザ識別子IDU(SP)を特定し、それに第2応答情報RES2を対応付けて格納する(ステップS35)。
【0039】
次に、読み書き部22aが、記憶部21に格納された認証制御装置30の公開鍵PK(IDXP)と、第2応答情報RES2が含む検証結果AUTR2と電子署名Sign(AUTR2)とを読み出し、署名検証部22fが、公開鍵PK(IDXP)と検証結果AUTR2とを用いて電子署名Sign(AUTR2)の検証を行う(ステップS36)。なお、この検証は、検証結果AUTR2=[合格]であることと、電子署名Sign(AUTR2)が合格であることの検証である。すなわち、本形態の署名検証部22fは、認証結果AUTR2=[合格]であり、なおかつ、電子署名Sign(AUTR2)が正当なものであると判定した場合に電子署名Sign(AUTR2)が合格であると判定して検証結果AUTR3=[合格]を出力し、それ以外の場合に不合格であると判定して検証結果AUTR3=[不合格]を出力する(ステップS37)。ここで、署名検証部22fの検証結果AUTR3=[合格]であった場合、読み書き部22aは、記憶部21の第1データベースの匿名識別子IDU(AN)に対応付けられた第2応答情報RES2に検証結果AUTR3=[合格]を対応付けて格納する(ステップS38)。一方、署名検証部22fの検証結果AUTR3=[不合格]であった場合、読み書き部22aは、記憶部21の第1データベースの匿名識別子IDU(AN)に対応付けられた第2応答情報RES2に検証結果AUTR3=[不合格]を対応付けて格納する(ステップS39)。
【0040】
その後、ユーザ端末装置10(図3)の入力部18からの更新入力等を契機とし、読み書き部12aが記憶部11からユーザ端末装置10の宛先情報LOC(UT)とサービス提供装置20の宛先情報LOC(SP)とセッション識別子SIDUとを読み出し、通信処理部12cが、これらを含む要求情報SVCREC=[送信先の宛先情報,送信元の宛先情報,セッション識別子]=[LOC(SP), LOC(UT), SIDU]を生成する。この要求情報SVCRECは、送信部14からサービス提供装置20に送信される(ステップS40)。なお、ステップS38,S39の実施後、ステップS40を動作させる手順の例は以下の通りである。
【0041】
[方式1]
ステップS27の処理の実行後(認証装置40から認証制御装置30への第1応答情報RES1送信後)に、認証装置40の出力部47から「認証装置での認証手続きが終了しましたので、ユーザ端末装置の画面の『更新』ボタンをクリックしてください」等のコメントを表示させる。これに対して、ユーザが認証装置40の入力部48から更新処理を行うための情報を入力する。その際、ステップS38又はS39の処理が実行されていた場合には、ステップS40の処理が実行される。
【0042】
[方式2]
ステップS27の処理の実行後、ユーザ端末装置10は、サービス提供装置20に対し、定期的にユーザ認証が終了したか否かの問い合わせ情報を送信する。ユーザ認証が終了した場合、サービス提供装置20は、この問い合わせ情報の応答としてサービス提供装置20がステップS38又はS39の応答を返し、ステップS40の処理が実行される。
【0043】
[方式3]
サービス提供装置20は、ユーザ端末装置10に対し、ステップS38又はS39による検証結果を通知する機能を有する。ステップS38又はS39による通知後、ユーザ端末装置10は画面を自動的に更新し、ステップS40の処理が実行される。
【0044】
要求情報SVCRECは、サービス提供装置20(図4)の受信部23で受信され、読み書き部22aによって記憶部21に格納される(ステップS41)。これを契機に検索部22bが、記憶部21に格納された第1データベースを検索し、要求情報SVCRECが含むセッション識別子SIDUを含む第2応答情報RES2に対応付けられた検証結果AUTR3が[合格]であるか否かを判定する(ステップS42)。
【0045】
ここで、AUTR3=[合格]であると判定された場合、読み書き部22aが記憶部21から要求情報SVCRECが含むユーザ端末装置10の宛先情報LOC(UT)とサービス提供装置20の宛先情報LOC(SP)と、第1データベースで第2応答情報RES2に対応付けられたユーザ識別子IDU(SP)と、サービス情報SVCとを読み出す。そして、通信処理部22eが、これらを含む第3応答情報RES3=[送信先の宛先情報,送信元の宛先情報,ユーザ識別子,サービス情報]=[LOC(UT), LOC(SP), IDU(SP), SVC]を生成し、送信部24が第3応答情報RES3をユーザ端末装置10に送信する(ステップS43)。一方、AUTR3=[不合格]であると判定された場合、通信処理部22eがエラーであることを示すエラー情報を生成し、送信部24がエラー情報をユーザ端末装置10に送信する(ステップS44)。
【0046】
ステップS43又はS44で送信された情報はユーザ端末装置10の受信部13で受信され、出力部17から第3応答情報RES3が含むサービス情報SVCや、エラー情報が示すエラー表示が出力される(ステップS45)。
【0047】
<本形態の特徴>
以上のように、本形態では、ユーザ端末装置10が認証装置40に直接アクセスするのではなく、ユーザ端末装置10が第1認証要求情報AUTREQ1をサービス提供装置20に送信し、サービス提供装置20が第2認証要求情報AUTREQ2を認証制御装置30に送信し、認証制御装置30が第3認証要求情報AUTREQ3を認証装置40に送信することによって、認証装置40に認証要求が行われる。この場合、認証装置40の宛先を認証制御装置30以外に公開する必要がなく、不正なユーザ端末装置やサービス提供装置が認証装置40にアクセスして攻撃を行うことを抑制できる。
【0048】
また、本形態では、サービス提供装置20に認証装置の宛先を公開する必要がないため、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対して不正行為を行うことも抑制できる。
【0049】
また、本形態では、サービス提供装置20は、ユーザ端末装置10のユーザ識別子IDU(SP)ではなく、第1データベースでユーザ識別子IDU(SP)に対応付けられた匿名識別子IDU(AN)を含む第2認証要求情報AUTREQ2を認証制御装置30に送信し、認証制御装置30は、第2データベースで匿名識別子IDU(AN)に対応付けられた認証装置40の宛先情報を特定する。この場合、サービス提供装置20はユーザ識別子IDU(SP)を認証制御装置30や認証装置40に開示する必要がないため、ユーザの個人情報を保護できる。
【0050】
また、サービス提供装置20は第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応する匿名識別子IDU(AN)を抽出する。ここで、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応する匿名識別子IDU(AN)が存在しない場合に処理を終了させる構成とすれば、攻撃者がランダムな第1認証要求情報をサービス提供装置20に大量に送信するような攻撃を遮断し、その攻撃の影響が認証制御装置30や認証装置40に及ぶことを抑制できる。
【0051】
また、本形態では、認証装置40が、認証処理の結果を示す情報AUTR1に対して電子署名Sign(AUTR1)を生成し、電子署名Sign(AUTR1)を含む第1応答情報RES1を認証制御装置30に送信する。そして、認証制御装置30が、第1応答情報RES1が含む電子署名Sign(AUTR1)を検証し、その検証結果を示す情報AUTR2に対して電子署名Sign(AUTR2)を生成し、電子署名Sign(AUTR2)を含む第2応答情報RES2をサービス提供装置20に送信する。そして、サービス提供装置20が、第2応答情報RES2が含む電子署名Sign(AUTR2)を検証する。この場合、サービス提供装置20は、認証装置40の電子署名Sign(AUTR1)ではなく、認証制御装置30電子署名Sign(AUTR2)によってユーザ認証結果を知ることができる。そのため、サービス提供装置20に認証装置40の電子署名Sign(AUTR1)を送信する必要はない。認証装置40の電子署名Sign(AUTR1)は、認証装置40を特定する情報となるため、認証装置40の電子署名Sign(AUTR1)をサービス提供装置20に送信しないことは、認証装置40の情報をサービス提供装置20に漏洩しない点で好ましい。
【0052】
また、本形態の認証制御装置30は、アクセスが許可されたサービス提供装置及び認証装置以外からのアクセスを拒否する装置である。これにより、攻撃者の装置が認証制御装置30にアクセスして行う攻撃を防止できる。
【0053】
また、本形態では、サービス提供装置20の記憶部21に予め認証制御装置30の宛先情報LOC(IDXP)を格納しておき、サービス提供装置20が、その宛先情報LOC(IDXP)を用い、第2認証要求情報AUTREQ2を認証制御装置30に送信することとした。そのため、予め認証制御装置30の宛先情報LOC(IDXP)が格納されていない不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置10に対して不正行為(フィッシング詐欺など)を行うことを抑制できる。
【0054】
〔第1実施形態の変形例1〕
次に、第1実施形態の変形例1を説明する。上述した第1実施形態では、認証装置40で生成された認証結果AUTR1の電子署名Sign(AUTR1)を認証制御装置30で検証し、認証制御装置30がその検証結果AUTR2の電子署名Sign(AUTR2)を生成し、サービス提供装置20が電子署名Sign(AUTR2)を検証することでサービス提供装置20がユーザ認証の合否を判定した。しかし、変形例1では、サービス提供装置20が、認証装置40で生成された認証結果AUTR1の電子署名Sign(AUTR1)を検証することでユーザ認証の合否を判定する。以下では、第1実施形態の相違点を中心に説明する。
【0055】
図12は、第1実施形態の変形例1におけるユーザ認証システム100の機能構成を例示したブロック図である。
【0056】
ユーザ認証システム100のユーザ認証システム1からの相違点は、認証制御装置30が認証制御装置130に置換された点である。また、認証制御装置130は、認証制御装置30から署名生成部32eを取り除いた構成である。
【0057】
図13は、第1実施形態の変形例1のユーザ認証方法を説明するためのシーケンス図である。また、図14及び図15は、第1実施形態の変形例1のユーザ認証方法を説明するためのフローチャートである。以下、これらの図に従って本形態のユーザ認証方法を説明する。
【0058】
この変形例では、前処理において、サービス提供装置20が各ユーザにそれぞれ対応する認証装置40の各公開鍵PK(IDP)を特定できるようにしておく。例えば、サービス提供装置20の記憶部21に格納された第1データベースに、各ユーザ識別子ID(SP)に対応する認証装置40の公開鍵PK(IDP)を対応付けておく。
【0059】
ユーザ認証処理では、まず、第1実施形態のステップS11〜S30で説明した処理が実行され、ステップS29の判定で、第1応答情報RES1の送信元の宛先情報LOCU(IDP)が記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致と判定された場合、認証制御装置130の読み書き部32aが第1応答情報RES1を記憶部31に格納する。
【0060】
次に、検索部32bが、記憶部31に格納された第2データベースを検索し、第1応答情報RES1が含む宛先情報LOCU(IDP)に対応付けられた公開鍵PKU(IDP)を抽出する。さらに、読み書き部32aが、記憶部31に格納された第1応答情報RES1が含む認証結果AUTR1とその電子署名Sign(AUTR1)を読み出し、署名検証部32dが、公開鍵PKU(IDP)と認証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う(ステップS131)。なお、この検証は、認証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部32dは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定し、それ以外の場合に不合格であると判定する。ここで、電子署名Sign(AUTR1)が不合格であった場合には、フィルタリング処理部32iが第1応答情報RES1を破棄してアクセスを拒否する(ステップS30)。一方、電子署名Sign(AUTR1)が合格であった場合には、以下のステップS133の処理が実行される。なお、ステップS131の検証処理を実行せず、ステップS29の判定で、第1応答情報RES1の送信元の宛先情報LOCU(IDP)が記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致と判定された場合に以下のステップS133の処理が実行されてもよい。
【0061】
ステップS133では、検索部32bが記憶部31に格納された第2データベースを検索し、記憶部31に格納された第1応答情報RES1が含む認証装置40の宛先情報LOCU(IDP)に対応付けられた匿名識別子IDU(AK)を抽出する。さらに、セッション管理部32gが、記憶部31を探索し、第1応答情報RES1が含むセッション識別子SIDUを含む第2認証要求情報AUTREQ2を特定する。そして、読み書き部32aが、当該第2認証要求情報AUTREQ2が含むサービス提供装置20の宛先情報LOC(SP)と、セッション識別子SIDUと、記憶部31に格納された認証制御装置30の宛先情報LOC(IDXP)と、検証結果AUTR1と、電子署名Sign(AUTR1)とを読み込む。応答情報生成部32fは、それらの情報を含む第2応答情報RES11=[送信先の宛先情報,送信元の宛先情報,検証結果,電子署名,匿名識別子,セッション識別子]=[LOC(SP), LOC(IDXP), AUTR1, Sign(AUTR1), IDU(AN), SIDU]を生成し、第2応答情報RES11は、読み書き部32aによって記憶部31に格納される。その後、第2応答情報RES11は、読み書き部32aによって記憶部31から読み出されて通信処理部32hに送られ、通信処理部32hの制御のもと、送信部34から宛先情報LOC(SP)によって宛先が特定されるサービス提供装置20に送信される(ステップS134)。
【0062】
第2応答情報RES11は、サービス提供装置20(図4)の受信部23で受信される。読み書き部22aは、記憶部21に格納された第1データベースを検索し、第2応答情報RES11が含む匿名識別子IDU(AN)に対応付けられたユーザ識別子IDU(SP)を特定し、それに第2応答情報RES11を対応付けて格納する(ステップS135)。
【0063】
次に、検索部22bが、記憶部21に格納された第1データベースを検索し、ユーザ識別子IDU(SP)に対応付けられた認証装置40の公開鍵PKU(IDP)を抽出し、読み書き部22aが、第2応答情報RES11が含む検証結果AUTR1と電子署名Sign(AUTR1)とを読み出し、署名検証部22fが、公開鍵PKU(IDP)と検証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う(ステップS136)。なお、この検証は、検証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部22fは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定して検証結果AUTR3=[合格]を出力し、それ以外の場合に不合格であると判定して検証結果AUTR3=[不合格]を出力する(ステップS137)。その後、第1実施形態で説明したステップS38〜S45の処理が実行される。
【0064】
〔第1実施形態の変形例2〕
次に、第1実施形態の変形例2を説明する。第1実施形態では、サービス提供装置20の記憶部21に1つの認証制御装置30の宛先情報LOC(IDXP)を格納しておき、サービス提供装置20は宛先情報LOC(IDXP)によって宛先が特定される認証制御装置30にアクセスする構成であった。しかし、第1実施形態の変形例2では、第1データベースを、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子ID(SP)と、各ユーザ識別子ID(SP)に一対一で対応付けられた各匿名識別子ID(AN)と、各ユーザ識別子ID(SP)に対応付けられた認証制御装置30の宛先情報LOC(IDXP)とを含むデータベースとする。そして、サービス提供装置20は、第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた認証制御装置30の宛先情報LOC(IDXP)(ユーザ識別子IDU(SP)に対応付けられた宛先情報LOC(IDXP)をLOCU(IDXP)と表現する)をさらに抽出し、宛先情報LOCU(IDXP)を用い、第2認証要求情報AUTREQ2を宛先情報LOCU(IDXP)で宛先が特定される認証制御装置30に送信する。これにより、ユーザごとに認証制御装置を相違させることができるため、たとえ、何れかのユーザに対応する認証制御装置が攻撃者に漏洩したとしても、他のユーザに対応する認証制御装置の宛先は攻撃者に知られない。これにより、攻撃者が正当なサービス提供装置に成りすまして行うフィッシング詐欺のような不正行為をより効果的に防止できる。以下では、第1実施形態との相違点を中心に説明する。
【0065】
図16は、第1実施形態の変形例2におけるサービス提供装置220の機能構成を例示したブロック図である。
【0066】
この変形例の第1実施形態との構成上の相違点は、サービス提供装置20がサービス提供装置220に置換される点である。また、図16に例示するように、サービス提供装置20とサービス提供装置220からの相違点は、記憶部21に格納される第1データベースのデータ構成が異なる点と、検索部22bが検索部222bに置換される点である。図16に示すように、この変形例の第1データベースは、各ユーザ識別子ID(SP)に対し、さらに、各ユーザ識別子ID(SP)にそれぞれ対応する各認証制御装置30の宛先情報LOC(IDXP)が対応付けられている。
【0067】
図17は、第1実施形態の変形例2のユーザ認証方法を説明するためのフローチャートである。
【0068】
このユーザ認証処理では、まず、第1実施形態のステップS11〜S13の処理が実行される。次に、検索部222bが、記憶部21に格納された第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた匿名識別子IDU(AN)と、認証制御装置30の宛先情報LOCU(IDXP)とを抽出する(ステップS214)。また、読み書き部22aが、記憶部21からサービス提供装置20の宛先情報LOC(SP)と、第1認証要求情報AUTREQ1が含むセッション識別子SIDUとを読み出す。認証要求生成部22cは、検索部22bが抽出したユーザ識別子IDU(SP)及び宛先情報LOCU(IDXP)と、読み書き部22aが読み出した宛先情報LOC(SP)と、セッション識別子SIDUとを用い、これらを含む第2認証要求情報AUTREQ2=[送信先の宛先情報,送信元の宛先情報,匿名識別子,セッション識別子]=[LOCU(IDXP), LOC(SP), IDU(AN), SIDU]を生成する(ステップS215)。その後、第1実施形態で説明したステップS16〜S45の処理が実行される。
【0069】
〔第1実施形態の変形例3〕
第1実施形態では、認証装置40での認証結果AUTR1が合格であるか不合格であるかに拘わらず、認証装置40が秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)を生成し、それを含む第1応答情報RES1を認証制御装置30に送信することとした。しかし、認証装置40での認証結果AUTR1が合格である場合にのみ、認証装置40が秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)を生成し、それを含む第1応答情報RES1を認証制御装置30に送信し、認証装置40での認証結果AUTR1が不合格である場合にはエラー情報を認証制御装置30に送信する構成としてもよい。この場合、認証制御装置30は、電子署名Sign(AUTR1)が正当であるか否かを検証するだけでユーザ認証が合格であったか否かを確認できる。同様に、認証制御装置30での検証結果AUTR2が合格である場合にのみ、認証制御装置30が秘密鍵SK(IDXP)を用いて認証結果AUTR2の電子署名Sign(AUTR2)を生成し、それを含む第2応答情報RES2をサービス提供装置20に送信し、認証制御装置30での検証結果AUTR2が不合格である場合にはエラー情報をサービス提供装置20に送信する構成としてもよい。この場合、サービス提供装置20は、電子署名Sign(AUTR2)が正当であるか否かを検証するだけでユーザ認証が合格であったか否かを確認できる。
【0070】
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。本形態は第1実施形態の変形例であり、ネットワーク上に設けられたサーバ装置を用いて認証装置が構成され、各ユーザがユーザインタフェースを用いた直接認証装置に対する情報の入出力を行うことができない形態である。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
【0071】
<構成>
図18は、第2実施形態のユーザ認証システム300の機能構成を例示したブロック図である。また、図19は、図18に例示した認証制御装置330の機能構成を例示したブロック図であり、図20は、図18に例示した認証装置340の機能構成を例示したブロック図である。
【0072】
図18に例示するように、第2実施形態のユーザ認証システム300は、第1実施形態のユーザ認証システム1の認証制御装置30を認証制御装置330に置換し、認証装置40を認証装置340に置換したものである。また、図19に例示するように、本形態の認証制御装置330は、第1実施形態の認証制御装置30の検索部32bが検索部332bに置換され、第2データベースのデータ構成を変更したものである。なお、本形態の第2データベースは、第1データベースが含む各匿名識別子ID(AN)と、各匿名識別子ID(AN)に対応付けられた認証装置の宛先情報LOC(IDP)と、各匿名識別子ID(AN)に対応付けられたユーザごとの認証用識別子ID(IDP)とが対応付けられたものとなる。また、図20に例示するように、本形態の認証装置340は、第1実施形態の認証装置40の認証処理部42bが認証処理部342bに置換され、記憶部41にユーザごとの認証用識別子ID(IDP)とパスワードPWDとが対応付けられて格納されたものである。
【0073】
図21は、第2実施形態のユーザ認証方法を説明するためのフローチャートである。
【0074】
本形態のユーザ認証処理では、まず、第1実施形態で説明したステップS11〜S19の処理を実行し、ステップS18で第2認証要求情報AUTREQ2の送信元の宛先情報LOC(SP)が、記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致すると判定された場合、読み書き部32aが第2認証要求情報AUTREQ2を記憶部31に格納する。そして、検索部332bが、記憶部31に格納された第2データベースを検索し、第2認証要求情報AUTREQ2が含む匿名識別子IDU(AN)に対応する認証装置40の宛先情報LOC(IDP)と認証用識別子ID(IDP)とを抽出する(ステップS320)。なお、以下では、匿名識別子IDU(AN)に対応する識別子ID(IDP)をIDU(IDP)と表現する。次に、読み書き部32aが、記憶部31から、認証制御装置30の宛先情報LOC(IDXP)と、第2認証要求情報AUTREQ2が含むセッション識別子SIDUとを読み出す。そして、認証要求生成部32cが、検索部332bで抽出された宛先情報LOCU(IDP)と認証用識別子ID(IDP)と、読み書き部32aで読み出された宛先情報LOC(IDXP)と、セッション識別子SIDUとを用い、これらを含む第3認証要求情報AUTREQ3=[送信先の宛先情報,送信元の宛先情報,認証用識別子,セッション識別子]=[LOCU(IDP), LOC(IDXP), IDU(IDP), SIDU]を生成する(ステップS321)。その後、第1実施形態のステップS23〜S45と同様の処理が実行される。ただし、本形態のステップS24において認証装置340で行われる認証処理は、第3認証要求情報AUTREQ3が送信された認証装置340の認証処理部342bが、第3認証要求情報AUTREQ3が含む認証用識別子IDU(IDP)を用い、ユーザ端末装置10を利用するユーザの認証処理を行う処理となる。例えば、ステップS24において認証装置340が、ユーザ端末装置10にゼロ知識証明等によってパスワードPWDに対応する情報を送信させ、認証処理部342bが、第3認証要求情報AUTREQ3が含む認証用識別子IDU(IDP)に対応するPWDを記憶部41から抽出し、ユーザ端末装置10から送信されたパスワードPWDに対応する情報が正しいか否かを検証する。
【0075】
〔第2実施形態の変形例1〕
次に、第2実施形態の変形例1を説明する。第2実施形態の変形例1では、ユーザ端末装置がサービス提供装置との間で簡易なパスワード認証を行い、そのパスワード認証が合格であった場合にのみ認証装置での強固な認証処理が実行される。これにより、不正なユーザ端末装置がランダム文字列などの不正な情報をサービス提供装置及び認証制御装置を経由して認証装置40に送りつける不正行為を防止できる。
【0076】
図22は、第2実施形態の変形例1におけるユーザ端末装置410の機能構成を例示したブロック図である。また、図23は、第2実施形態の変形例1におけるサービス提供装置420の機能構成を例示したブロック図である。
【0077】
本変形例のユーザ認証システムは、第1実施形態のユーザ認証システム1のユーザ端末装置10がユーザ端末装置410に置換され、サービス提供装置20がサービス提供装置420に置換されたものである。図22に例示するように、ユーザ端末装置410は、第1,2実施形態のサービス提供装置の認証要求生成部12bを認証要求生成部412bに置換したものである。また、
図23に例示するように、サービス提供装置420は、第1データベースにおいて各ユーザ識別子ID(SP)に各ユーザに設定されたパスワードが対応付けられる点、及び、パスワード認証部422gを備える点で第1,2実施形態のサービス提供装置と相違する。
【0078】
図24は、第2実施形態の変形例1のユーザ認証方法を説明するためのフローチャートである。
【0079】
本変形例のユーザ認証処理では、まず、ユーザ端末装置410(図22)の入力部18に、ユーザ端末装置410を利用するユーザのユーザ識別子ID(SP)とパスワードPWDが入力され、読み書き部12aによって記憶部11に格納される。次に、読み書き部12aが、記憶部11から、ユーザ端末装置410の宛先情報LOC(UT)と、サービス提供装置420の宛先情報LOC(SP)と、パスワードPWDと、ユーザ識別子IDU(SP)と、セッション識別子SIDUとを読み出す。そして、認証要求生成部412bが、これらの情報を含む第1認証要求情報AUTREQ1=[送信先の宛先情報,送信元の宛先情報,パスワード,ユーザ識別子,セッション識別子]=[LOC(SP), LOC(UT), PWD, IDU(SP), SIDU]を生成する(ステップS411)。その後、第1実施形態で説明したステップS12,S13の処理が実行された後、サービス提供装置420(図23)のパスワード認証部422gが、記憶部21に格納された第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられたパスワードPWDと、第1認証要求情報AUTREQ1が含むパスワードPWDとが一致するか否かを判定する(ステップS414)。ここで、これらが一致しなかった場合、送信部24からエラー情報がユーザ端末装置410に送信される(ステップS45)。一方、これらが一致した場合には、第1実施形態で説明したステップS14〜S45の処理が実行される。なお、ステップS414のパスワード認証処理を、ゼロ知識証明を利用して行うこととし、第1認証要求情報AUTREQ1がパスワードPWD自身を含まない構成であってもよい。
【0080】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第1実施形態で説明した変形例を第2実施形態に組み合わせてもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、各装置間で送受信される情報の構成やセッション管理の方法などに関し、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0081】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0082】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0083】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0084】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0085】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0086】
本発明の利用分野としては、例えば、オンラインバンクやオンラインショップ等に利用されるシングルサインオンシステムを例示できる。
【図面の簡単な説明】
【0087】
【図1】従来のシングルサインオンの処理手順を例示するためのシーケンス図。
【図2】第1実施形態のユーザ認証システムの機能構成を例示したブロック図。
【図3】図2に例示したユーザ端末装置の機能構成を例示したブロック図。
【図4】図2に例示したサービス提供装置の機能構成を例示したブロック図。
【図5】図2に例示した認証制御装置の機能構成を例示したブロック図。
【図6】図2に例示した認証装置の機能構成を例示したブロック図。
【図7】第1実施形態のユーザ認証方法を説明するためのシーケンス図。
【図8】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図9】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図10】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図11】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図12】第1実施形態の変形例1におけるユーザ認証システムの機能構成を例示したブロック図。
【図13】第1実施形態の変形例1のユーザ認証方法を説明するためのシーケンス図。
【図14】第1実施形態の変形例1のユーザ認証方法を説明するためのフローチャート。
【図15】第1実施形態の変形例1のユーザ認証方法を説明するためのフローチャート。
【図16】第1実施形態の変形例2におけるサービス提供装置の機能構成を例示したブロック図。
【図17】第1実施形態の変形例2のユーザ認証方法を説明するためのフローチャート。
【図18】第2実施形態のユーザ認証システムの機能構成を例示したブロック図。
【図19】図18に例示した認証制御装置の機能構成を例示したブロック図。
【図20】図18に例示した認証装置の機能構成を例示したブロック図。
【図21】第2実施形態のユーザ認証方法を説明するためのフローチャート。
【図22】第2実施形態の変形例1におけるユーザ端末装置の機能構成を例示したブロック図。
【図23】第2実施形態の変形例1におけるサービス提供装置の機能構成を例示したブロック図。
【図24】第2実施形態の変形例1のユーザ認証方法を説明するためのフローチャート。
【符号の説明】
【0088】
1,100,300 ユーザ認証システム
【技術分野】
【0001】
本発明は、ユーザ認証を行う技術分野に関し、特にシングルサインオン技術に関する。
【背景技術】
【0002】
ユーザの認証が必要な複数のWebサイトを利用する場合、通常、ユーザはWebサイト毎に異なる認証情報(IDやパスワード等)をユーザ端末装置に入力し、認証を受けなければならない。しかし、これでは認証情報の管理や認証手続きが煩雑である。
【0003】
このような問題を解決する従来技術にシングルサインオン(SSO:Single Sign-On)技術が存在する(例えば、非特許文献1、2参照)。この技術は、一度行われた認証の結果を複数のWebサイトへ引き継ぐことにより、Webサイト毎の認証処理を不要とする技術である。すなわち、シングルサインオン技術を用いたシステムの場合、ユーザは1度の認証を受けるだけで、複数のWebサイトを利用できる。
【0004】
シングルサインオン技術を用いたシステムは、通常、ユーザが利用するユーザ端末装置と、ユーザ認証が為されたことを前提としてユーザ端末装置にサービス情報を提供する1以上のサービス提供装置と、サービス提供装置と別個に設けられたユーザ認証を行うための認証装置とを有する。ここで、シングルサインオン技術の一例であるリバティアライアンスやSAML(Security Assertion Markup Language)(例えば、非特許文献1参照)では、ネットワーク上に設けられたサーバ装置が各ユーザの認証を行う認証装置となる。また、認証処理をより強固なものとしたSASSO(例えば、非特許文献2参照)では、ユーザが所有する携帯電話等の端末装置が認証装置となる。
【0005】
図1は、従来のシングルサインオンの処理手順を例示するためのシーケンス図である。この例では、まず、ユーザ端末装置がサービス提供装置にアクセスし、認証要求情報AUTREQを送信してユーザ認証を要求する。サービス提供装置は、リダイレクト機能を用いて認証装置の宛先(URL:Uniform Resource Locator等)を指定するとともに認証要求情報AUTREQをユーザ端末装置に送信する。ユーザ端末装置は、指定された宛先の認証装置にアクセスし、当該認証装置に認証要求情報AUTREQを送信する。認証要求情報AUTREQを受信した認証装置は、認証装置が管理するユーザの識別子ID(IDP)とそれに対応するパスワードPWDとの提示要求をユーザ端末装置に送信する。これに対して、ユーザ端末装置はゼロ知識証明等によって識別子ID(IDP)とパスワードPWDとを提示するための情報を認証装置に送信する。認証装置はこの情報を用いて認証処理を行い、その認証結果AUTRに電子署名を付した応答情報RESを生成する。認証装置は、リダイレクト機能を用いてサービス提供装置の宛先を指定するとともに応答情報RESをユーザ端末装置に送信する。ユーザ端末装置は、指定された宛先のサービス提供装置にアクセスし、応答情報RESとサービス提供装置が管理するユーザ識別子とを送信する。サービス提供装置は、応答情報RESを検証し、検証が合格であればサービス情報SVCをユーザ端末装置に送信し、検証が不合格であればエラー情報をユーザ端末装置に送信する。
【非特許文献1】“Liberty仕様チュートリアル”、[online]、[平成20年11月26日検索]、インターネット<http://www.projectliberty.net/jp/resources/LAP_DIDW_Oct_15_2003_jp.pdf>
【非特許文献2】“NTT's SASSO Turns a Mobile Phone into a Personal Identity Provider”、[online]、[平成20年11月26日検索]、インターネット<http://www.projectliberty.org/liberty/content/download/3960/26523/file/NTT-SASSO%20liberty%20case%20study.pdf>
【発明の開示】
【発明が解決しようとする課題】
【0006】
図1に例示したように、従来のシングルサインオン技術では、いずれもユーザ端末装置が認証装置に直接アクセスして認証要求を行う。このようにユーザ装置が認証装置へ直接アクセスできる環境では、不正なユーザ装置が認証装置にアクセスし、DoS攻撃、コンピュータウイルスの送信、秘密情報の不正取得などの認証装置に対する何らかの攻撃を行う可能性がある。
【0007】
また、サービス提供装置がリダイレクト機能などによって認証装置の宛先をユーザ端末装置に指定する方式の場合、少なくともサービス提供装置にも認証装置の宛先が開示される。その場合、不正なサービス提供装置やそこから認証装置の宛先を取得した装置が認証装置にアクセスし、認証装置に対する何らかの攻撃を行う可能性がある。或いは、認証装置の宛先を取得した不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対する不正行為(いわゆるフィッシング詐欺など)を行う可能性もある。また、ユーザ装置が認証装置の宛先を指定し、サービス提供装置が認証装置の宛先を管理しない方法の場合にも、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対する不正行為を行う可能性もある。
【0008】
また、サービス提供装置が認証装置にアクセスする方式も想定できるが、この場合であっても各ユーザに対応する各認証装置を特定するために、サービス提供装置で管理されるユーザ識別子がユーザ端末装置以外の装置に開示される方式は個人情報保護の観点から好ましくない。
【0009】
本発明はこのような点に鑑みてなされたものであり、サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことが可能なシングルサインオン技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明では、ユーザ端末装置が、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報をサービス提供装置に送信する。サービス提供装置は、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第1データベースを検索し、第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する。サービス提供装置は、抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する。次に、認証制御装置が、第1データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第2データベースを検索し、第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出する。認証制御装置は、抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信する。第3認証要求情報が送信された認証装置は、ユーザ端末装置を利用するユーザの認証処理を行う。
【0011】
本発明では、ユーザ端末装置が認証装置に直接アクセスするのではなく、ユーザ端末装置が第1認証要求情報をサービス提供装置に送信し、サービス提供装置が第2認証要求情報を認証制御装置に送信し、認証制御装置が第3認証要求情報を認証装置に送信することによって、認証装置に認証要求が行われる。この場合、ユーザ端末装置やサービス提供装置に認証装置の宛先を公開する必要がなく、不正なユーザ装置やサービス提供装置が認証装置にアクセスして攻撃を行うことを抑制できる。
【0012】
また、本発明では、サービス提供装置に認証装置の宛先を公開する必要がないため、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対して不正行為を行うことも抑制できる。
【0013】
また、本発明では、サービス提供装置は、ユーザ端末装置のユーザ識別子ではなく、第1データベースでユーザ識別子に対応付けられた匿名識別子を含む第2認証要求情報を認証制御装置に送信し、認証制御装置は、第2データベースで匿名識別子に対応付けられた認証装置の宛先情報を特定する。この場合、サービス提供装置はユーザ識別子を認証制御装置や認証装置に開示する必要がないため、ユーザの個人情報を保護できる。
【発明の効果】
【0014】
以上のように本発明では、サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。
〔第1実施形態〕
まず、本発明の第1実施形態を説明する。
【0016】
<構成>
図2は、第1実施形態のユーザ認証システム1の機能構成を例示したブロック図である。図3は、図2に例示したユーザ端末装置10の機能構成を例示したブロック図である。図4は、図2に例示したサービス提供装置20の機能構成を例示したブロック図である。図5は、図2に例示した認証制御装置30の機能構成を例示したブロック図である。図6は、図2に例示した認証装置40の機能構成を例示したブロック図である。
【0017】
図2に例示するように、本形態のユーザ認証システム1は、ユーザ端末装置10、サービス提供装置20、認証制御装置30、及び認証装置40を有する。本形態のユーザ端末装置10及び認証装置40は、ユーザが所持する通信機能を備えた携帯電話やパーソナルコンピュータなどの端末装置を用いて構成される。また、ユーザ端末装置10と認証装置40とは、同一の筺体内に構成されてもよいし、別個の筺体にそれぞれ構成されてもよい。例えば、1つの携帯電話内にユーザ端末装置10と認証装置40とが構成されてもよいし、パーソナルコンピュータによってユーザ端末装置10が構成され、携帯電話によって認証装置40が構成されてもよい。一方、本形態のサービス提供装置20及び認証制御装置30は、例えば、特定の秘密情報を互いに漏洩させない旨のセキュリティポリシーが設定された通信機能を備えたサーバ装置である。また、本形態のサービス提供装置20及び認証制御装置30が、それぞれ別個の管理者によって管理される通信機能を備えたサーバ装置であってもよい。なお、説明の簡略化のため、図2では、ユーザ端末装置10、サービス提供装置20、認証制御装置30、及び認証装置40をそれぞれ1つずつ示すが、ユーザ端末装置10、サービス提供装置20、及び認証装置40は、それぞれ複数設けられる。
【0018】
[ユーザ端末装置]
図3に例示するように、本形態のユーザ端末装置10は、記憶部11、読み書き部12a、認証要求生成部12b、通信処理部12c、受信部13、送信部14、制御部15、一時記憶部16、出力部17、及び入力部18を有する。記憶部11や一時記憶部16の例は、RAM(random-access memory)や磁気記録媒体などであり、読み書き部12の例は、記憶部11や一時記憶部16にデータを読み書きするハードウェアである。また、認証要求生成部12b、通信処理部12c、及び制御部15の例は、CPU(central processing unit)に所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部13や送信部14の例は、LANカードや無線通信モジュールなどのハードウェアである。また、出力部17の例は、液晶パネルやスピーカなどの出力ユーザインタフェースであり、入力部18の例は、入力キーやタッチパネルやマイクロホンなどの入力ユーザインタフェースである。なお、ユーザ端末装置10は、制御部15の制御のもとで各演算を実行する。また、ユーザ端末装置10の各演算部は必要に応じて処理結果であるデータを一時記憶部16に格納し、一時記憶部16に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0019】
[サービス提供装置]
図4に例示するように、本形態のサービス提供装置20は、記憶部21、読み書き部22a、検索部22b、認証要求生成部22c、セッション管理部22d、通信処理部22e、署名検証部22f、受信部23、送信部24、制御部25、及び一時記憶部26を有する。記憶部21や一時記憶部26の例は、RAMや磁気記録媒体などであり、読み書き部22の例は、記憶部21や一時記憶部26にデータを読み書きするハードウェアである。また、検索部22b、認証要求生成部22c、セッション管理部22d、通信処理部22e、署名検証部22f、及び制御部25の例は、CPUに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部23や送信部24の例は、LANカードや無線通信モジュールなどのハードウェアである。なお、サービス提供装置20は、制御部25の制御のもとで各演算を実行する。また、サービス提供装置20の各演算部は必要に応じて処理結果であるデータを一時記憶部26に格納し、一時記憶部26に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0020】
[認証制御装置]
図5に例示するように、本形態の認証制御装置30は、記憶部31、読み書き部32a、検索部32b、認証要求生成部32c、署名検証部32d、署名生成部32e、応答情報生成部32f、セッション管理部32g、通信処理部32h、フィルタリング処理部32i、受信部33、送信部34、制御部35、及び一時記憶部36を有する。記憶部31や一時記憶部36の例は、RAMや磁気記録媒体などであり、読み書き部32aの例は、記憶部31や一時記憶部36にデータを読み書きするハードウェアである。また、検索部32b、認証要求生成部32c、署名検証部32d、署名生成部32e、応答情報生成部32f、セッション管理部32g、通信処理部32h、フィルタリング処理部32i、及び制御部35の例は、CPUに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部33や送信部34の例は、LANカードや無線通信モジュールなどのハードウェアである。なお、認証制御装置30は、制御部35の制御のもとで各演算を実行する。また、認証制御装置30の各演算部は必要に応じて処理結果であるデータを一時記憶部36に格納し、一時記憶部36に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0021】
[認証装置]
図6に例示するように、本形態の認証装置40は、記憶部41、読み書き部42a、認証処理部42b、署名生成部42c、応答情報生成部42d、通信処理部42e、受信部43、送信部44、制御部45、一時記憶部46、出力部47、及び入力部48を有する。記憶部41や一時記憶部46の例は、RAMや磁気記録媒体などであり、読み書き部42aの例は、記憶部41や一時記憶部46にデータを読み書きするハードウェアである。また、認証処理部42b、署名生成部42c、応答情報生成部42d、通信処理部42e、及び制御部45の例は、CPUに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部43や送信部44の例は、LANカードや無線通信モジュールなどのハードウェアである。また、出力部47の例は、液晶パネルやスピーカなどの出力ユーザインタフェースであり、入力部48の例は、入力キー、タッチパネル、カメラ、マイクロホンなどの入力ユーザインタフェースである。なお、認証装置40は、制御部45の制御のもとで各演算を実行する。また、認証装置40の各演算部は必要に応じて処理結果であるデータを一時記憶部46に格納し、一時記憶部46に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【0022】
<ユーザ認証方法>
次に本形態のユーザ認証方法を説明する。
図7は、第1実施形態のユーザ認証方法を説明するためのシーケンス図である。また、図8〜図11は、第1実施形態のユーザ認証方法を説明するためのフローチャートである。以下、これらの図に従って本形態のユーザ認証方法を説明する。
【0023】
[前処理]
事前にサービス提供装置20の各ユーザに対してそれぞれユーザ識別子ID(SP)が設定される。ユーザ識別子ID(SP)は、ユーザが選択した文字列やユーザが使用するユーザ端末装置10のメールアドレスなどのようにユーザの個人情報を含む情報である。また、各ユーザ識別子と一対一対応する各匿名識別子ID(AN)が設定される。匿名識別子ID(AN)は、重複しないように割り当てられたランダム文字列などのようにユーザの個人情報を含まない情報である。また、各ユーザが認証装置として使用する認証装置40が設定される。本形態の認証装置40は、ユーザが所持する通信機能を備えた端末装置を用いて構成され、各ユーザ識別子ID(SP)は何れかの認証装置40に対応する。
【0024】
以上のように設定されたユーザ識別子ID(SP)は、それぞれのユーザに与えられる。また、設定された各ユーザ識別子ID(SP)と、各ユーザ識別子ID(SP)に一対一で対応付けられた各匿名識別子ID(AN)とを含む第1データベースが、サービス提供装置20の記憶部21に格納される。この第1データベースを用いることにより、各ユーザ識別子ID(SP)にそれぞれ対応する各匿名識別子ID(AN)を特定することができる。
【0025】
また、第1データベースが含む各匿名識別子ID(AN)と、各匿名識別子ID(AN)に対応付けられた認証装置40の宛先情報LOC(IDP)とを含む第2データベースが認証制御装置30の記憶部31に格納される。匿名識別子ID(AN)に対応付けられた宛先情報LOC(IDP)は、第1データベースで当該匿名識別子ID(AN)に対応付けられたユーザ識別子ID(SP)に対応するユーザが選択した認証装置40の宛先情報LOC(IDP)である。言い換えると、匿名識別子ID(AN)に対応付けられた宛先情報LOC(IDP)は、当該匿名識別子ID(AN)に対応するユーザをユーザ認証する認証装置40の宛先情報LOC(IDP)である。なお、或る装置の宛先情報とは、その装置のネットワーク上の場所を特定するためのロケーション情報であり、その具体例は、URL(Uniform Resource Locator)やメールアドレスなどである。
【0026】
また、本形態では、認証制御装置30に対してRSAなどの公開鍵暗号方式の秘密鍵SK(IDXP)と公開鍵PK(IDXP)との鍵ペアが設定される。また、各認証装置40に対して公開鍵暗号方式の秘密鍵SK(IDP)と公開鍵PK(IDP)との鍵ペアがそれぞれ設定される。秘密鍵SK(IDXP)は証制御装置30の記憶部31に格納され、公開鍵PK(IDXP)は各サービス提供装置20の記憶部21に格納される。また、各認証装置40の記憶部41には、自らに設定された秘密鍵SK(IDP)が格納される。また、各公開鍵PK(IDP)は、それぞれ対応する認証装置40の宛先情報LOC(IDP)に対応付けられて認証制御装置30の記憶部31に格納される。すなわち、本形態の第2データベースは、各匿名識別子ID(AN)と各認証装置40の宛先情報LOC(IDP)と各公開鍵PK(IDP)とがユーザごとに対応付けられたものとなる。
【0027】
また、ユーザ端末装置10の記憶部11には、ユーザ端末装置10の宛先情報LOC(UT)とサービス提供装置20の宛先情報LOC(SP)とが格納され、サービス提供装置20の記憶部21には、サービス提供装置20の宛先情報LOC(SP)と認証制御装置30の宛先情報LOC(IDXP)とが格納される。また、認証制御装置30の記憶部31には、認証制御装置30へのアクセスが許可された各サービス提供装置20及び各認証装置40の各宛先情報LOC(SP)及びLOC(IDP)を含む許可テーブルが格納される。認証制御装置30は、これらのアクセスを許可したサービス提供装置20及び認証装置40以外からのアクセスを拒否する構成とされる。
【0028】
[認証処理]
サービス提供装置20からのサービス情報の提供を受けようとするユーザは、ユーザ端末装置10を用いてサービス提供装置20に接続する。ユーザ端末装置10に接続されたサービス提供装置20のセッション管理部22dは、そのセッションに対してセッション識別子SIDを生成する。生成されたセッション識別子SIDはユーザ端末装置10に送信され、ユーザ端末装置10の記憶部11に格納される。なお、以下では、ユーザ端末装置10に対して生成されたセッション識別子SIDをセッション識別子SIDUと表現する。
【0029】
その後、ユーザ端末装置10(図3)の入力部18に、ユーザ端末装置10を利用するユーザのユーザ識別子ID(SP)が入力され、読み書き部12aによって記憶部11に格納される。なお、以下では、ユーザ端末装置10を利用するユーザのユーザ識別子ID(SP)をユーザ識別子IDU(SP)と表現する。なお、ユーザ識別子IDU(SP)が既に記憶部11に格納されているのであればユーザ識別子IDU(SP)の入力処理は不要である。次に、読み書き部12aが、記憶部11から、ユーザ端末装置10の宛先情報LOC(UT)と、サービス提供装置20の宛先情報LOC(SP)と、ユーザ識別子IDU(SP)と、セッション識別子SIDUとを読み出す。そして、認証要求生成部12bが、これらの情報を含む第1認証要求情報AUTREQ1=[送信先の宛先情報,送信元の宛先情報,ユーザ識別子,セッション識別子]=[LOC(SP), LOC(UT), IDU(SP), SIDU]を生成する(ステップS11)。第1認証要求情報AUTREQ1は、通信処理部12cに送られ、通信処理部12cの制御のもと、送信部14からサービス提供装置20に送信される(ステップS12)。
【0030】
第1認証要求情報AUTREQ1は、サービス提供装置20(図4)の受信部23で受信され(ステップS13)、読み書き部22aによって記憶部21に格納される。次に、検索部22bが、記憶部21に格納された第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた匿名識別子ID(AN)を抽出する(ステップS14)。なお、以下では、ユーザ識別子IDU(SP)に対応付けられた匿名識別子ID(AN)を匿名識別子IDU(AN)と表現する。また、読み書き部22aが、記憶部21から認証制御装置30の宛先情報LOC(IDXP)と、サービス提供装置20の宛先情報LOC(SP)と、第1認証要求情報AUTREQ1が含むセッション識別子SIDUとを読み出す。認証要求生成部22cは、検索部22bが抽出したユーザ識別子IDU(SP)と、読み書き部22aが読み出した宛先情報LOC(IDXP)と、宛先情報LOC(SP)と、セッション識別子SIDUとを用い、これらを含む第2認証要求情報AUTREQ2=[送信先の宛先情報,送信元の宛先情報,匿名識別子,セッション識別子]=[LOC(IDXP), LOC(SP), IDU(AN), SIDU]を生成する(ステップS15)。第2認証要求情報AUTREQ2は、通信処理部22eに送られ、通信処理部22eの制御のもと、送信部24から認証制御装置30に送信される(ステップS16)。
【0031】
第2認証要求情報AUTREQ2は、認証制御装置30(図5)の受信部33で受信され(ステップS17)、フィルタリング処理部32iに送られる。フィルタリング処理部32iは、第2認証要求情報AUTREQ2の送信元の宛先情報LOC(SP)が、記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致するか否かを判定するフィルタリング処理を実行する(ステップS18)。ここで、これらが一致しない場合には、フィルタリング処理部32iが第2認証要求情報AUTREQ2を破棄してアクセスを拒否する(ステップS19)。
【0032】
一方、これらが一致した場合には、読み書き部32aが第2認証要求情報AUTREQ2を記憶部31に格納する。次に、検索部32bが、記憶部31に格納された第2データベースを検索し、第2認証要求情報AUTREQ2が含む匿名識別子IDU(AN)に対応する認証装置40の宛先情報LOC(IDP)を抽出する(ステップS20)。なお、以下では、匿名識別子IDU(AN)に対応する認証装置40の宛先情報LOC(IDP)をLOCU(IDP)と表現する。次に、読み書き部32aが、記憶部31から、認証制御装置30の宛先情報LOC(IDXP)と、第2認証要求情報AUTREQ2が含むセッション識別子SIDUとを読み出す。そして、認証要求生成部32cが、検索部32bで抽出された宛先情報LOCU(IDP)と、読み書き部32aで読み出された宛先情報LOC(IDXP)と、セッション識別子SIDUとを用い、これらを含む第3認証要求情報AUTREQ3=[送信先の宛先情報,送信元の宛先情報,セッション識別子]=[LOCU(IDP), LOC(IDXP), SIDU]を生成する(ステップS21)
。第3認証要求情報AUTREQ3は、通信処理部32hに送られ、通信処理部32hの制御のもと、送信部34から宛先情報LOCU(IDP)によって宛先が特定される認証装置40に送信される(ステップS22)。
【0033】
第3認証要求情報AUTREQ3は、認証装置40(図6)の受信部43で受信され(ステップS23)、読み書き部42aによって記憶部41に格納される。これを契機として、認証処理部42bがユーザ認証処理を行う(ステップS24)。ユーザ認証処理には様々な方法を用いることができる。例えば、本形態の認証装置40はユーザが所持する装置であるため、認証処理部42bは出力部47から「認証処理を実行しますか?」等の入力を要求する出力を行い、これに対して入力部48から認証処理を実行する旨の入力があったことをもってユーザ認証を行うことができる。このようなユーザ認証方法は、出力部47や入力部48のユーザインタフェースを用いた情報の入出力を行うことができるのは、認証装置40を所持する正当なユーザであると仮定したユーザ認証方法である。または、入力部48からパスワードを入力させ、そのパスワードの認証を行ってユーザ認証を行う方法も可能である。その他、パスワードを音声入力させたり、画像を入力させたりしてユーザ認証を行ってもよい。認証処理部42bから出力された認証結果AUTR1=[合格 or 不合格]は、読み書き部42aによって記憶部41に格納される。
【0034】
次に、読み書き部42aが、記憶部41から秘密鍵SK(IDP)と認証結果AUTR1とを読み込み、署名生成部42cが、秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)(「第1電子署名」に相当)を生成する(ステップS25)。電子署名Sign(AUTR1)は公知の方法で生成されればよく、例えば、認証結果AUTR1のハッシュ値H(AUTR1)を秘密鍵SK(IDP)を用いて公開鍵暗号方式で暗号化した暗号文を電子署名Sign(AUTR1)とする。生成された電子署名Sign(AUTR1)は記憶部41に格納される。次に、読み書き部42aが、記憶部41から第3認証要求情報AUTREQ3が含む認証制御装置30の宛先情報LOC(IDXP)と、認証装置40の宛先情報LOCU(IDP)と、セッション識別子SIDUと、ステップS24での認証結果AUTR1と、その電子署名Sign(AUTR1)とを読み出す。そして、応答情報生成部42dが、これらを含む第1応答情報RES1=[送信先の宛先情報,送信元の宛先情報,認証結果,電子署名,セッション識別子]=[LOC(IDXP), LOCU(IDP), AUTR1, Sign(AUTR1), SIDU]を生成し(ステップS26)、読み書き部42aがこれを記憶部41に格納する。その後、第1応答情報RES1は、読み書き部42aによって読み出されて通信処理部42eに送られ、通信処理部42eの制御のもと、送信部44から宛先情報LOC(IDXP)によって宛先が特定される認証制御装置30に送信される(ステップS27)。
【0035】
第1応答情報RES1は、認証制御装置30(図5)の受信部33で受信され(ステップS28)、フィルタリング処理部32iに送られる。フィルタリング処理部32iは、第1応答情報RES1の送信元の宛先情報LOCU(IDP)が、記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致するか否かを判定するフィルタリング処理を実行する(ステップS29)。ここで、これらが一致しない場合には、フィルタリング処理部32iが第1応答情報RES1を破棄してアクセスを拒否する(ステップS30)。
【0036】
一方、これらが一致した場合には、読み書き部32aが第1応答情報RES1を記憶部31に格納する。次に、検索部32bが、記憶部31に格納された第2データベースを検索し、第1応答情報RES1が含む宛先情報LOCU(IDP)に対応付けられた公開鍵PK(IDP)を抽出する。なお、以下では、宛先情報LOCU(IDP)に対応付けられた公開鍵PK(IDP)を公開鍵PKU(IDP)と表現する。さらに、読み書き部32aが、記憶部31に格納された第1応答情報RES1が含む認証結果AUTR1とその電子署名Sign(AUTR1)を読み出し、署名検証部32dが、公開鍵PKU(IDP)と認証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う。なお、この検証は、認証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部32dは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定し、それ以外の場合に不合格であると判定する。なお、電子署名Sign(AUTR1)がハッシュ値H(AUTR1)を秘密鍵SK(IDP)を用いて公開鍵暗号方式で暗号化した暗号文である場合、電子署名Sign(AUTR1)を公開鍵PKU(IDP)を用いて復号した復号結果と、認証結果AUTR1のハッシュ値H(AUTR1)とが等しい場合に電子署名Sign(AUTR1)が正当であると判定される。署名検証部32dから出力された検証結果AUTR2は、読み書き部32aによって記憶部31に格納される(ステップS31)。
【0037】
次に、読み書き部32aが、記憶部31から秘密鍵SK(IDXP)と検証結果AUTR2=[合格 or 不合格]とを読み込み、署名生成部32eが、秘密鍵SK(IDXP)を用いて検証結果AUTR2の電子署名Sign(AUTR2)(「第2電子署名」に相当)を生成し(ステップS32)、読み書き部32aが、電子署名Sign(AUTR2)を記憶部31に格納する。なお、電子署名Sign(AUTR2)は上述したような公知の方法で生成される。次に、検索部32bが記憶部31に格納された第2データベースを検索し、記憶部31に格納された第1応答情報RES1が含む認証装置40の宛先情報LOCU(IDP)に対応付けられた匿名識別子IDU(AK)を抽出する。さらに、セッション管理部32gが、記憶部31を探索し、第1応答情報RES1が含むセッション識別子SIDUを含む第2認証要求情報AUTREQ2を特定する。そして、読み書き部32aが、当該第2認証要求情報AUTREQ2が含むサービス提供装置20の宛先情報LOC(SP)と、セッション識別子SIDUと、記憶部31に格納された認証制御装置30の宛先情報LOC(IDXP)と、検証結果AUTR2と、電子署名Sign(AUTR2)とを読み込む。応答情報生成部32fは、それらの情報を含む第2応答情報RES2=[送信先の宛先情報,送信元の宛先情報,検証結果,電子署名,匿名識別子,セッション識別子]=[LOC(SP), LOC(IDXP), AUTR2, Sign(AUTR2), IDU(AN), SIDU]を生成し、第2応答情報RES2は、読み書き部32aによって記憶部31に格納される。その後、第2応答情報RES2は、読み書き部32aによって記憶部31から読み出されて通信処理部32hに送られ、通信処理部32hの制御のもと、送信部34から宛先情報LOC(SP)によって宛先が特定されるサービス提供装置20に送信される(ステップS34)。
【0038】
第2応答情報RES2は、サービス提供装置20(図4)の受信部23で受信される。読み書き部22aは、記憶部21に格納された第1データベースを検索し、第2応答情報RES2が含む匿名識別子IDU(AN)に対応付けられたユーザ識別子IDU(SP)を特定し、それに第2応答情報RES2を対応付けて格納する(ステップS35)。
【0039】
次に、読み書き部22aが、記憶部21に格納された認証制御装置30の公開鍵PK(IDXP)と、第2応答情報RES2が含む検証結果AUTR2と電子署名Sign(AUTR2)とを読み出し、署名検証部22fが、公開鍵PK(IDXP)と検証結果AUTR2とを用いて電子署名Sign(AUTR2)の検証を行う(ステップS36)。なお、この検証は、検証結果AUTR2=[合格]であることと、電子署名Sign(AUTR2)が合格であることの検証である。すなわち、本形態の署名検証部22fは、認証結果AUTR2=[合格]であり、なおかつ、電子署名Sign(AUTR2)が正当なものであると判定した場合に電子署名Sign(AUTR2)が合格であると判定して検証結果AUTR3=[合格]を出力し、それ以外の場合に不合格であると判定して検証結果AUTR3=[不合格]を出力する(ステップS37)。ここで、署名検証部22fの検証結果AUTR3=[合格]であった場合、読み書き部22aは、記憶部21の第1データベースの匿名識別子IDU(AN)に対応付けられた第2応答情報RES2に検証結果AUTR3=[合格]を対応付けて格納する(ステップS38)。一方、署名検証部22fの検証結果AUTR3=[不合格]であった場合、読み書き部22aは、記憶部21の第1データベースの匿名識別子IDU(AN)に対応付けられた第2応答情報RES2に検証結果AUTR3=[不合格]を対応付けて格納する(ステップS39)。
【0040】
その後、ユーザ端末装置10(図3)の入力部18からの更新入力等を契機とし、読み書き部12aが記憶部11からユーザ端末装置10の宛先情報LOC(UT)とサービス提供装置20の宛先情報LOC(SP)とセッション識別子SIDUとを読み出し、通信処理部12cが、これらを含む要求情報SVCREC=[送信先の宛先情報,送信元の宛先情報,セッション識別子]=[LOC(SP), LOC(UT), SIDU]を生成する。この要求情報SVCRECは、送信部14からサービス提供装置20に送信される(ステップS40)。なお、ステップS38,S39の実施後、ステップS40を動作させる手順の例は以下の通りである。
【0041】
[方式1]
ステップS27の処理の実行後(認証装置40から認証制御装置30への第1応答情報RES1送信後)に、認証装置40の出力部47から「認証装置での認証手続きが終了しましたので、ユーザ端末装置の画面の『更新』ボタンをクリックしてください」等のコメントを表示させる。これに対して、ユーザが認証装置40の入力部48から更新処理を行うための情報を入力する。その際、ステップS38又はS39の処理が実行されていた場合には、ステップS40の処理が実行される。
【0042】
[方式2]
ステップS27の処理の実行後、ユーザ端末装置10は、サービス提供装置20に対し、定期的にユーザ認証が終了したか否かの問い合わせ情報を送信する。ユーザ認証が終了した場合、サービス提供装置20は、この問い合わせ情報の応答としてサービス提供装置20がステップS38又はS39の応答を返し、ステップS40の処理が実行される。
【0043】
[方式3]
サービス提供装置20は、ユーザ端末装置10に対し、ステップS38又はS39による検証結果を通知する機能を有する。ステップS38又はS39による通知後、ユーザ端末装置10は画面を自動的に更新し、ステップS40の処理が実行される。
【0044】
要求情報SVCRECは、サービス提供装置20(図4)の受信部23で受信され、読み書き部22aによって記憶部21に格納される(ステップS41)。これを契機に検索部22bが、記憶部21に格納された第1データベースを検索し、要求情報SVCRECが含むセッション識別子SIDUを含む第2応答情報RES2に対応付けられた検証結果AUTR3が[合格]であるか否かを判定する(ステップS42)。
【0045】
ここで、AUTR3=[合格]であると判定された場合、読み書き部22aが記憶部21から要求情報SVCRECが含むユーザ端末装置10の宛先情報LOC(UT)とサービス提供装置20の宛先情報LOC(SP)と、第1データベースで第2応答情報RES2に対応付けられたユーザ識別子IDU(SP)と、サービス情報SVCとを読み出す。そして、通信処理部22eが、これらを含む第3応答情報RES3=[送信先の宛先情報,送信元の宛先情報,ユーザ識別子,サービス情報]=[LOC(UT), LOC(SP), IDU(SP), SVC]を生成し、送信部24が第3応答情報RES3をユーザ端末装置10に送信する(ステップS43)。一方、AUTR3=[不合格]であると判定された場合、通信処理部22eがエラーであることを示すエラー情報を生成し、送信部24がエラー情報をユーザ端末装置10に送信する(ステップS44)。
【0046】
ステップS43又はS44で送信された情報はユーザ端末装置10の受信部13で受信され、出力部17から第3応答情報RES3が含むサービス情報SVCや、エラー情報が示すエラー表示が出力される(ステップS45)。
【0047】
<本形態の特徴>
以上のように、本形態では、ユーザ端末装置10が認証装置40に直接アクセスするのではなく、ユーザ端末装置10が第1認証要求情報AUTREQ1をサービス提供装置20に送信し、サービス提供装置20が第2認証要求情報AUTREQ2を認証制御装置30に送信し、認証制御装置30が第3認証要求情報AUTREQ3を認証装置40に送信することによって、認証装置40に認証要求が行われる。この場合、認証装置40の宛先を認証制御装置30以外に公開する必要がなく、不正なユーザ端末装置やサービス提供装置が認証装置40にアクセスして攻撃を行うことを抑制できる。
【0048】
また、本形態では、サービス提供装置20に認証装置の宛先を公開する必要がないため、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対して不正行為を行うことも抑制できる。
【0049】
また、本形態では、サービス提供装置20は、ユーザ端末装置10のユーザ識別子IDU(SP)ではなく、第1データベースでユーザ識別子IDU(SP)に対応付けられた匿名識別子IDU(AN)を含む第2認証要求情報AUTREQ2を認証制御装置30に送信し、認証制御装置30は、第2データベースで匿名識別子IDU(AN)に対応付けられた認証装置40の宛先情報を特定する。この場合、サービス提供装置20はユーザ識別子IDU(SP)を認証制御装置30や認証装置40に開示する必要がないため、ユーザの個人情報を保護できる。
【0050】
また、サービス提供装置20は第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応する匿名識別子IDU(AN)を抽出する。ここで、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応する匿名識別子IDU(AN)が存在しない場合に処理を終了させる構成とすれば、攻撃者がランダムな第1認証要求情報をサービス提供装置20に大量に送信するような攻撃を遮断し、その攻撃の影響が認証制御装置30や認証装置40に及ぶことを抑制できる。
【0051】
また、本形態では、認証装置40が、認証処理の結果を示す情報AUTR1に対して電子署名Sign(AUTR1)を生成し、電子署名Sign(AUTR1)を含む第1応答情報RES1を認証制御装置30に送信する。そして、認証制御装置30が、第1応答情報RES1が含む電子署名Sign(AUTR1)を検証し、その検証結果を示す情報AUTR2に対して電子署名Sign(AUTR2)を生成し、電子署名Sign(AUTR2)を含む第2応答情報RES2をサービス提供装置20に送信する。そして、サービス提供装置20が、第2応答情報RES2が含む電子署名Sign(AUTR2)を検証する。この場合、サービス提供装置20は、認証装置40の電子署名Sign(AUTR1)ではなく、認証制御装置30電子署名Sign(AUTR2)によってユーザ認証結果を知ることができる。そのため、サービス提供装置20に認証装置40の電子署名Sign(AUTR1)を送信する必要はない。認証装置40の電子署名Sign(AUTR1)は、認証装置40を特定する情報となるため、認証装置40の電子署名Sign(AUTR1)をサービス提供装置20に送信しないことは、認証装置40の情報をサービス提供装置20に漏洩しない点で好ましい。
【0052】
また、本形態の認証制御装置30は、アクセスが許可されたサービス提供装置及び認証装置以外からのアクセスを拒否する装置である。これにより、攻撃者の装置が認証制御装置30にアクセスして行う攻撃を防止できる。
【0053】
また、本形態では、サービス提供装置20の記憶部21に予め認証制御装置30の宛先情報LOC(IDXP)を格納しておき、サービス提供装置20が、その宛先情報LOC(IDXP)を用い、第2認証要求情報AUTREQ2を認証制御装置30に送信することとした。そのため、予め認証制御装置30の宛先情報LOC(IDXP)が格納されていない不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置10に対して不正行為(フィッシング詐欺など)を行うことを抑制できる。
【0054】
〔第1実施形態の変形例1〕
次に、第1実施形態の変形例1を説明する。上述した第1実施形態では、認証装置40で生成された認証結果AUTR1の電子署名Sign(AUTR1)を認証制御装置30で検証し、認証制御装置30がその検証結果AUTR2の電子署名Sign(AUTR2)を生成し、サービス提供装置20が電子署名Sign(AUTR2)を検証することでサービス提供装置20がユーザ認証の合否を判定した。しかし、変形例1では、サービス提供装置20が、認証装置40で生成された認証結果AUTR1の電子署名Sign(AUTR1)を検証することでユーザ認証の合否を判定する。以下では、第1実施形態の相違点を中心に説明する。
【0055】
図12は、第1実施形態の変形例1におけるユーザ認証システム100の機能構成を例示したブロック図である。
【0056】
ユーザ認証システム100のユーザ認証システム1からの相違点は、認証制御装置30が認証制御装置130に置換された点である。また、認証制御装置130は、認証制御装置30から署名生成部32eを取り除いた構成である。
【0057】
図13は、第1実施形態の変形例1のユーザ認証方法を説明するためのシーケンス図である。また、図14及び図15は、第1実施形態の変形例1のユーザ認証方法を説明するためのフローチャートである。以下、これらの図に従って本形態のユーザ認証方法を説明する。
【0058】
この変形例では、前処理において、サービス提供装置20が各ユーザにそれぞれ対応する認証装置40の各公開鍵PK(IDP)を特定できるようにしておく。例えば、サービス提供装置20の記憶部21に格納された第1データベースに、各ユーザ識別子ID(SP)に対応する認証装置40の公開鍵PK(IDP)を対応付けておく。
【0059】
ユーザ認証処理では、まず、第1実施形態のステップS11〜S30で説明した処理が実行され、ステップS29の判定で、第1応答情報RES1の送信元の宛先情報LOCU(IDP)が記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致と判定された場合、認証制御装置130の読み書き部32aが第1応答情報RES1を記憶部31に格納する。
【0060】
次に、検索部32bが、記憶部31に格納された第2データベースを検索し、第1応答情報RES1が含む宛先情報LOCU(IDP)に対応付けられた公開鍵PKU(IDP)を抽出する。さらに、読み書き部32aが、記憶部31に格納された第1応答情報RES1が含む認証結果AUTR1とその電子署名Sign(AUTR1)を読み出し、署名検証部32dが、公開鍵PKU(IDP)と認証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う(ステップS131)。なお、この検証は、認証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部32dは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定し、それ以外の場合に不合格であると判定する。ここで、電子署名Sign(AUTR1)が不合格であった場合には、フィルタリング処理部32iが第1応答情報RES1を破棄してアクセスを拒否する(ステップS30)。一方、電子署名Sign(AUTR1)が合格であった場合には、以下のステップS133の処理が実行される。なお、ステップS131の検証処理を実行せず、ステップS29の判定で、第1応答情報RES1の送信元の宛先情報LOCU(IDP)が記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致と判定された場合に以下のステップS133の処理が実行されてもよい。
【0061】
ステップS133では、検索部32bが記憶部31に格納された第2データベースを検索し、記憶部31に格納された第1応答情報RES1が含む認証装置40の宛先情報LOCU(IDP)に対応付けられた匿名識別子IDU(AK)を抽出する。さらに、セッション管理部32gが、記憶部31を探索し、第1応答情報RES1が含むセッション識別子SIDUを含む第2認証要求情報AUTREQ2を特定する。そして、読み書き部32aが、当該第2認証要求情報AUTREQ2が含むサービス提供装置20の宛先情報LOC(SP)と、セッション識別子SIDUと、記憶部31に格納された認証制御装置30の宛先情報LOC(IDXP)と、検証結果AUTR1と、電子署名Sign(AUTR1)とを読み込む。応答情報生成部32fは、それらの情報を含む第2応答情報RES11=[送信先の宛先情報,送信元の宛先情報,検証結果,電子署名,匿名識別子,セッション識別子]=[LOC(SP), LOC(IDXP), AUTR1, Sign(AUTR1), IDU(AN), SIDU]を生成し、第2応答情報RES11は、読み書き部32aによって記憶部31に格納される。その後、第2応答情報RES11は、読み書き部32aによって記憶部31から読み出されて通信処理部32hに送られ、通信処理部32hの制御のもと、送信部34から宛先情報LOC(SP)によって宛先が特定されるサービス提供装置20に送信される(ステップS134)。
【0062】
第2応答情報RES11は、サービス提供装置20(図4)の受信部23で受信される。読み書き部22aは、記憶部21に格納された第1データベースを検索し、第2応答情報RES11が含む匿名識別子IDU(AN)に対応付けられたユーザ識別子IDU(SP)を特定し、それに第2応答情報RES11を対応付けて格納する(ステップS135)。
【0063】
次に、検索部22bが、記憶部21に格納された第1データベースを検索し、ユーザ識別子IDU(SP)に対応付けられた認証装置40の公開鍵PKU(IDP)を抽出し、読み書き部22aが、第2応答情報RES11が含む検証結果AUTR1と電子署名Sign(AUTR1)とを読み出し、署名検証部22fが、公開鍵PKU(IDP)と検証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う(ステップS136)。なお、この検証は、検証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部22fは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定して検証結果AUTR3=[合格]を出力し、それ以外の場合に不合格であると判定して検証結果AUTR3=[不合格]を出力する(ステップS137)。その後、第1実施形態で説明したステップS38〜S45の処理が実行される。
【0064】
〔第1実施形態の変形例2〕
次に、第1実施形態の変形例2を説明する。第1実施形態では、サービス提供装置20の記憶部21に1つの認証制御装置30の宛先情報LOC(IDXP)を格納しておき、サービス提供装置20は宛先情報LOC(IDXP)によって宛先が特定される認証制御装置30にアクセスする構成であった。しかし、第1実施形態の変形例2では、第1データベースを、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子ID(SP)と、各ユーザ識別子ID(SP)に一対一で対応付けられた各匿名識別子ID(AN)と、各ユーザ識別子ID(SP)に対応付けられた認証制御装置30の宛先情報LOC(IDXP)とを含むデータベースとする。そして、サービス提供装置20は、第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた認証制御装置30の宛先情報LOC(IDXP)(ユーザ識別子IDU(SP)に対応付けられた宛先情報LOC(IDXP)をLOCU(IDXP)と表現する)をさらに抽出し、宛先情報LOCU(IDXP)を用い、第2認証要求情報AUTREQ2を宛先情報LOCU(IDXP)で宛先が特定される認証制御装置30に送信する。これにより、ユーザごとに認証制御装置を相違させることができるため、たとえ、何れかのユーザに対応する認証制御装置が攻撃者に漏洩したとしても、他のユーザに対応する認証制御装置の宛先は攻撃者に知られない。これにより、攻撃者が正当なサービス提供装置に成りすまして行うフィッシング詐欺のような不正行為をより効果的に防止できる。以下では、第1実施形態との相違点を中心に説明する。
【0065】
図16は、第1実施形態の変形例2におけるサービス提供装置220の機能構成を例示したブロック図である。
【0066】
この変形例の第1実施形態との構成上の相違点は、サービス提供装置20がサービス提供装置220に置換される点である。また、図16に例示するように、サービス提供装置20とサービス提供装置220からの相違点は、記憶部21に格納される第1データベースのデータ構成が異なる点と、検索部22bが検索部222bに置換される点である。図16に示すように、この変形例の第1データベースは、各ユーザ識別子ID(SP)に対し、さらに、各ユーザ識別子ID(SP)にそれぞれ対応する各認証制御装置30の宛先情報LOC(IDXP)が対応付けられている。
【0067】
図17は、第1実施形態の変形例2のユーザ認証方法を説明するためのフローチャートである。
【0068】
このユーザ認証処理では、まず、第1実施形態のステップS11〜S13の処理が実行される。次に、検索部222bが、記憶部21に格納された第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた匿名識別子IDU(AN)と、認証制御装置30の宛先情報LOCU(IDXP)とを抽出する(ステップS214)。また、読み書き部22aが、記憶部21からサービス提供装置20の宛先情報LOC(SP)と、第1認証要求情報AUTREQ1が含むセッション識別子SIDUとを読み出す。認証要求生成部22cは、検索部22bが抽出したユーザ識別子IDU(SP)及び宛先情報LOCU(IDXP)と、読み書き部22aが読み出した宛先情報LOC(SP)と、セッション識別子SIDUとを用い、これらを含む第2認証要求情報AUTREQ2=[送信先の宛先情報,送信元の宛先情報,匿名識別子,セッション識別子]=[LOCU(IDXP), LOC(SP), IDU(AN), SIDU]を生成する(ステップS215)。その後、第1実施形態で説明したステップS16〜S45の処理が実行される。
【0069】
〔第1実施形態の変形例3〕
第1実施形態では、認証装置40での認証結果AUTR1が合格であるか不合格であるかに拘わらず、認証装置40が秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)を生成し、それを含む第1応答情報RES1を認証制御装置30に送信することとした。しかし、認証装置40での認証結果AUTR1が合格である場合にのみ、認証装置40が秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)を生成し、それを含む第1応答情報RES1を認証制御装置30に送信し、認証装置40での認証結果AUTR1が不合格である場合にはエラー情報を認証制御装置30に送信する構成としてもよい。この場合、認証制御装置30は、電子署名Sign(AUTR1)が正当であるか否かを検証するだけでユーザ認証が合格であったか否かを確認できる。同様に、認証制御装置30での検証結果AUTR2が合格である場合にのみ、認証制御装置30が秘密鍵SK(IDXP)を用いて認証結果AUTR2の電子署名Sign(AUTR2)を生成し、それを含む第2応答情報RES2をサービス提供装置20に送信し、認証制御装置30での検証結果AUTR2が不合格である場合にはエラー情報をサービス提供装置20に送信する構成としてもよい。この場合、サービス提供装置20は、電子署名Sign(AUTR2)が正当であるか否かを検証するだけでユーザ認証が合格であったか否かを確認できる。
【0070】
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。本形態は第1実施形態の変形例であり、ネットワーク上に設けられたサーバ装置を用いて認証装置が構成され、各ユーザがユーザインタフェースを用いた直接認証装置に対する情報の入出力を行うことができない形態である。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
【0071】
<構成>
図18は、第2実施形態のユーザ認証システム300の機能構成を例示したブロック図である。また、図19は、図18に例示した認証制御装置330の機能構成を例示したブロック図であり、図20は、図18に例示した認証装置340の機能構成を例示したブロック図である。
【0072】
図18に例示するように、第2実施形態のユーザ認証システム300は、第1実施形態のユーザ認証システム1の認証制御装置30を認証制御装置330に置換し、認証装置40を認証装置340に置換したものである。また、図19に例示するように、本形態の認証制御装置330は、第1実施形態の認証制御装置30の検索部32bが検索部332bに置換され、第2データベースのデータ構成を変更したものである。なお、本形態の第2データベースは、第1データベースが含む各匿名識別子ID(AN)と、各匿名識別子ID(AN)に対応付けられた認証装置の宛先情報LOC(IDP)と、各匿名識別子ID(AN)に対応付けられたユーザごとの認証用識別子ID(IDP)とが対応付けられたものとなる。また、図20に例示するように、本形態の認証装置340は、第1実施形態の認証装置40の認証処理部42bが認証処理部342bに置換され、記憶部41にユーザごとの認証用識別子ID(IDP)とパスワードPWDとが対応付けられて格納されたものである。
【0073】
図21は、第2実施形態のユーザ認証方法を説明するためのフローチャートである。
【0074】
本形態のユーザ認証処理では、まず、第1実施形態で説明したステップS11〜S19の処理を実行し、ステップS18で第2認証要求情報AUTREQ2の送信元の宛先情報LOC(SP)が、記憶部31に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致すると判定された場合、読み書き部32aが第2認証要求情報AUTREQ2を記憶部31に格納する。そして、検索部332bが、記憶部31に格納された第2データベースを検索し、第2認証要求情報AUTREQ2が含む匿名識別子IDU(AN)に対応する認証装置40の宛先情報LOC(IDP)と認証用識別子ID(IDP)とを抽出する(ステップS320)。なお、以下では、匿名識別子IDU(AN)に対応する識別子ID(IDP)をIDU(IDP)と表現する。次に、読み書き部32aが、記憶部31から、認証制御装置30の宛先情報LOC(IDXP)と、第2認証要求情報AUTREQ2が含むセッション識別子SIDUとを読み出す。そして、認証要求生成部32cが、検索部332bで抽出された宛先情報LOCU(IDP)と認証用識別子ID(IDP)と、読み書き部32aで読み出された宛先情報LOC(IDXP)と、セッション識別子SIDUとを用い、これらを含む第3認証要求情報AUTREQ3=[送信先の宛先情報,送信元の宛先情報,認証用識別子,セッション識別子]=[LOCU(IDP), LOC(IDXP), IDU(IDP), SIDU]を生成する(ステップS321)。その後、第1実施形態のステップS23〜S45と同様の処理が実行される。ただし、本形態のステップS24において認証装置340で行われる認証処理は、第3認証要求情報AUTREQ3が送信された認証装置340の認証処理部342bが、第3認証要求情報AUTREQ3が含む認証用識別子IDU(IDP)を用い、ユーザ端末装置10を利用するユーザの認証処理を行う処理となる。例えば、ステップS24において認証装置340が、ユーザ端末装置10にゼロ知識証明等によってパスワードPWDに対応する情報を送信させ、認証処理部342bが、第3認証要求情報AUTREQ3が含む認証用識別子IDU(IDP)に対応するPWDを記憶部41から抽出し、ユーザ端末装置10から送信されたパスワードPWDに対応する情報が正しいか否かを検証する。
【0075】
〔第2実施形態の変形例1〕
次に、第2実施形態の変形例1を説明する。第2実施形態の変形例1では、ユーザ端末装置がサービス提供装置との間で簡易なパスワード認証を行い、そのパスワード認証が合格であった場合にのみ認証装置での強固な認証処理が実行される。これにより、不正なユーザ端末装置がランダム文字列などの不正な情報をサービス提供装置及び認証制御装置を経由して認証装置40に送りつける不正行為を防止できる。
【0076】
図22は、第2実施形態の変形例1におけるユーザ端末装置410の機能構成を例示したブロック図である。また、図23は、第2実施形態の変形例1におけるサービス提供装置420の機能構成を例示したブロック図である。
【0077】
本変形例のユーザ認証システムは、第1実施形態のユーザ認証システム1のユーザ端末装置10がユーザ端末装置410に置換され、サービス提供装置20がサービス提供装置420に置換されたものである。図22に例示するように、ユーザ端末装置410は、第1,2実施形態のサービス提供装置の認証要求生成部12bを認証要求生成部412bに置換したものである。また、
図23に例示するように、サービス提供装置420は、第1データベースにおいて各ユーザ識別子ID(SP)に各ユーザに設定されたパスワードが対応付けられる点、及び、パスワード認証部422gを備える点で第1,2実施形態のサービス提供装置と相違する。
【0078】
図24は、第2実施形態の変形例1のユーザ認証方法を説明するためのフローチャートである。
【0079】
本変形例のユーザ認証処理では、まず、ユーザ端末装置410(図22)の入力部18に、ユーザ端末装置410を利用するユーザのユーザ識別子ID(SP)とパスワードPWDが入力され、読み書き部12aによって記憶部11に格納される。次に、読み書き部12aが、記憶部11から、ユーザ端末装置410の宛先情報LOC(UT)と、サービス提供装置420の宛先情報LOC(SP)と、パスワードPWDと、ユーザ識別子IDU(SP)と、セッション識別子SIDUとを読み出す。そして、認証要求生成部412bが、これらの情報を含む第1認証要求情報AUTREQ1=[送信先の宛先情報,送信元の宛先情報,パスワード,ユーザ識別子,セッション識別子]=[LOC(SP), LOC(UT), PWD, IDU(SP), SIDU]を生成する(ステップS411)。その後、第1実施形態で説明したステップS12,S13の処理が実行された後、サービス提供装置420(図23)のパスワード認証部422gが、記憶部21に格納された第1データベースを検索し、第1認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられたパスワードPWDと、第1認証要求情報AUTREQ1が含むパスワードPWDとが一致するか否かを判定する(ステップS414)。ここで、これらが一致しなかった場合、送信部24からエラー情報がユーザ端末装置410に送信される(ステップS45)。一方、これらが一致した場合には、第1実施形態で説明したステップS14〜S45の処理が実行される。なお、ステップS414のパスワード認証処理を、ゼロ知識証明を利用して行うこととし、第1認証要求情報AUTREQ1がパスワードPWD自身を含まない構成であってもよい。
【0080】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第1実施形態で説明した変形例を第2実施形態に組み合わせてもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、各装置間で送受信される情報の構成やセッション管理の方法などに関し、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0081】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0082】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0083】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0084】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0085】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0086】
本発明の利用分野としては、例えば、オンラインバンクやオンラインショップ等に利用されるシングルサインオンシステムを例示できる。
【図面の簡単な説明】
【0087】
【図1】従来のシングルサインオンの処理手順を例示するためのシーケンス図。
【図2】第1実施形態のユーザ認証システムの機能構成を例示したブロック図。
【図3】図2に例示したユーザ端末装置の機能構成を例示したブロック図。
【図4】図2に例示したサービス提供装置の機能構成を例示したブロック図。
【図5】図2に例示した認証制御装置の機能構成を例示したブロック図。
【図6】図2に例示した認証装置の機能構成を例示したブロック図。
【図7】第1実施形態のユーザ認証方法を説明するためのシーケンス図。
【図8】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図9】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図10】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図11】第1実施形態のユーザ認証方法を説明するためのフローチャート。
【図12】第1実施形態の変形例1におけるユーザ認証システムの機能構成を例示したブロック図。
【図13】第1実施形態の変形例1のユーザ認証方法を説明するためのシーケンス図。
【図14】第1実施形態の変形例1のユーザ認証方法を説明するためのフローチャート。
【図15】第1実施形態の変形例1のユーザ認証方法を説明するためのフローチャート。
【図16】第1実施形態の変形例2におけるサービス提供装置の機能構成を例示したブロック図。
【図17】第1実施形態の変形例2のユーザ認証方法を説明するためのフローチャート。
【図18】第2実施形態のユーザ認証システムの機能構成を例示したブロック図。
【図19】図18に例示した認証制御装置の機能構成を例示したブロック図。
【図20】図18に例示した認証装置の機能構成を例示したブロック図。
【図21】第2実施形態のユーザ認証方法を説明するためのフローチャート。
【図22】第2実施形態の変形例1におけるユーザ端末装置の機能構成を例示したブロック図。
【図23】第2実施形態の変形例1におけるサービス提供装置の機能構成を例示したブロック図。
【図24】第2実施形態の変形例1のユーザ認証方法を説明するためのフローチャート。
【符号の説明】
【0088】
1,100,300 ユーザ認証システム
【特許請求の範囲】
【請求項1】
(A) ユーザ端末装置の送信部が、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報をサービス提供装置に送信するステップと、
(B) 前記サービス提供装置の検索部が、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第1データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出するステップと、
(C) 前記サービス提供装置の送信部が、前記ステップ(B)で抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信するステップと、
(D) 前記認証制御装置の検索部が、前記第1データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第2データベースを検索し、前記第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するステップと、
(E) 前記認証制御装置の送信部が、前記ステップ(D)で抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信するステップと、
(F) 前記第3認証要求情報が送信された前記認証装置の認証処理部が、前記ユーザ端末装置を利用するユーザの認証処理を行うステップと、
を有するユーザ認証方法。
【請求項2】
請求項1のユーザ認証方法であって、
(G) 前記認証装置の署名生成部が、前記ステップ(F)で行われた認証処理の結果を示す情報に対して第1電子署名を生成するステップと、
(H) 前記認証装置の送信部が、前記ステップ(G)で生成された第1電子署名を含む第1応答情報を前記認証制御装置に送信するステップと、
(I) 前記認証制御装置の署名検証部が、前記第1応答情報が含む第1電子署名を検証し、その検証結果を示す情報に対して第2電子署名を生成するステップと、
(J) 前記認証制御装置の送信部が、前記ステップ(I)で生成された第2電子署名を含む第2応答情報を前記サービス提供装置に送信するステップと、
(K) 前記サービス提供装置の署名検証部が、前記第2応答情報が含む第2電子署名を検証するステップと、
をさらに有するユーザ認証方法。
【請求項3】
請求項1又は2のユーザ認証方法であって、
前記認証制御装置は、前記サービス提供装置及び前記認証装置以外からのアクセスを拒否する装置である、
ことを特徴とするユーザ認証方法。
【請求項4】
請求項1から3の何れかのユーザ認証方法であって、
前記ステップ(C)は、前記サービス提供装置の送信部が、前記サービス提供装置の記憶部に予め格納された前記認証制御装置の宛先情報を用い、前記第2認証要求情報を前記認証制御装置に送信するステップである、
ことを特徴とするユーザ認証方法。
【請求項5】
請求項1から4の何れかのユーザ認証方法であって、
前記第1データベースは、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、各ユーザ識別子に対応付けられた認証制御装置の宛先情報とを含むデータベースであり、
前記ステップ(B)は、前記第1データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた認証制御装置の宛先情報をさらに抽出するステップであり、
前記ステップ(C)は、前記サービス提供装置の送信部が、前記ステップ(B)で抽出された前記認証制御装置の宛先情報を用い、前記第2認証要求情報を前記認証制御装置に送信するステップである、
ことを特徴とするユーザ認証方法。
【請求項6】
ユーザ端末装置とサービス提供装置と認証制御装置と認証装置とを有し、
前記サービス提供装置は、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第1データベースを格納した第1記憶部を含み、
前記認証制御装置は、前記第1データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第2データベースを格納した第2記憶部を含み、
前記ユーザ端末装置は、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報をサービス提供装置に送信する第1送信部を含み、
前記サービス提供装置は、前記第1データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する第1検索部と、前記第1検索部で抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する第2送信部とを含み、
前記認証制御装置は、前記第2データベースを検索し、前記第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するの第2検索部と、前記第2検索部で抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信する第3送信部とを含み、
前記認証装置は、前記第3認証要求情報が送信されたことを契機として、前記ユーザ端末装置を利用するユーザの認証処理を行う認証処理部を含む、
ことを特徴とするユーザ認証システム。
【請求項7】
サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含むデータベースを格納した記憶部と、
ユーザ端末装置から送信された当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報を受信する受信部と、
前記データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する検索部と、
前記検索部で抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する送信部と、
を有するサービス提供装置。
【請求項8】
各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含むデータベースを格納した記憶部と、
サービス提供装置から送信された匿名識別子を含む第1認証要求情報を受信する受信部と、
前記認証制御装置は、前記データベースを検索し、前記第1認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するの検索部と、
前記検索部で抽出された宛先情報によって宛先が特定される認証装置に対し、第2認証要求情報を送信する送信部と、
を有する認証制御装置。
【請求項9】
請求項7のサービス提供装置としてコンピュータを機能させるためのプログラム。
【請求項10】
請求項8の認証制御装置としてコンピュータを機能させるためのプログラム。
【請求項1】
(A) ユーザ端末装置の送信部が、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報をサービス提供装置に送信するステップと、
(B) 前記サービス提供装置の検索部が、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第1データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出するステップと、
(C) 前記サービス提供装置の送信部が、前記ステップ(B)で抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信するステップと、
(D) 前記認証制御装置の検索部が、前記第1データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第2データベースを検索し、前記第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するステップと、
(E) 前記認証制御装置の送信部が、前記ステップ(D)で抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信するステップと、
(F) 前記第3認証要求情報が送信された前記認証装置の認証処理部が、前記ユーザ端末装置を利用するユーザの認証処理を行うステップと、
を有するユーザ認証方法。
【請求項2】
請求項1のユーザ認証方法であって、
(G) 前記認証装置の署名生成部が、前記ステップ(F)で行われた認証処理の結果を示す情報に対して第1電子署名を生成するステップと、
(H) 前記認証装置の送信部が、前記ステップ(G)で生成された第1電子署名を含む第1応答情報を前記認証制御装置に送信するステップと、
(I) 前記認証制御装置の署名検証部が、前記第1応答情報が含む第1電子署名を検証し、その検証結果を示す情報に対して第2電子署名を生成するステップと、
(J) 前記認証制御装置の送信部が、前記ステップ(I)で生成された第2電子署名を含む第2応答情報を前記サービス提供装置に送信するステップと、
(K) 前記サービス提供装置の署名検証部が、前記第2応答情報が含む第2電子署名を検証するステップと、
をさらに有するユーザ認証方法。
【請求項3】
請求項1又は2のユーザ認証方法であって、
前記認証制御装置は、前記サービス提供装置及び前記認証装置以外からのアクセスを拒否する装置である、
ことを特徴とするユーザ認証方法。
【請求項4】
請求項1から3の何れかのユーザ認証方法であって、
前記ステップ(C)は、前記サービス提供装置の送信部が、前記サービス提供装置の記憶部に予め格納された前記認証制御装置の宛先情報を用い、前記第2認証要求情報を前記認証制御装置に送信するステップである、
ことを特徴とするユーザ認証方法。
【請求項5】
請求項1から4の何れかのユーザ認証方法であって、
前記第1データベースは、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、各ユーザ識別子に対応付けられた認証制御装置の宛先情報とを含むデータベースであり、
前記ステップ(B)は、前記第1データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた認証制御装置の宛先情報をさらに抽出するステップであり、
前記ステップ(C)は、前記サービス提供装置の送信部が、前記ステップ(B)で抽出された前記認証制御装置の宛先情報を用い、前記第2認証要求情報を前記認証制御装置に送信するステップである、
ことを特徴とするユーザ認証方法。
【請求項6】
ユーザ端末装置とサービス提供装置と認証制御装置と認証装置とを有し、
前記サービス提供装置は、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第1データベースを格納した第1記憶部を含み、
前記認証制御装置は、前記第1データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第2データベースを格納した第2記憶部を含み、
前記ユーザ端末装置は、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報をサービス提供装置に送信する第1送信部を含み、
前記サービス提供装置は、前記第1データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する第1検索部と、前記第1検索部で抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する第2送信部とを含み、
前記認証制御装置は、前記第2データベースを検索し、前記第2認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するの第2検索部と、前記第2検索部で抽出された宛先情報によって宛先が特定される認証装置に対し、第3認証要求情報を送信する第3送信部とを含み、
前記認証装置は、前記第3認証要求情報が送信されたことを契機として、前記ユーザ端末装置を利用するユーザの認証処理を行う認証処理部を含む、
ことを特徴とするユーザ認証システム。
【請求項7】
サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含むデータベースを格納した記憶部と、
ユーザ端末装置から送信された当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第1認証要求情報を受信する受信部と、
前記データベースを検索し、前記第1認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する検索部と、
前記検索部で抽出された匿名識別子を含む第2認証要求情報を認証制御装置に送信する送信部と、
を有するサービス提供装置。
【請求項8】
各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含むデータベースを格納した記憶部と、
サービス提供装置から送信された匿名識別子を含む第1認証要求情報を受信する受信部と、
前記認証制御装置は、前記データベースを検索し、前記第1認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するの検索部と、
前記検索部で抽出された宛先情報によって宛先が特定される認証装置に対し、第2認証要求情報を送信する送信部と、
を有する認証制御装置。
【請求項9】
請求項7のサービス提供装置としてコンピュータを機能させるためのプログラム。
【請求項10】
請求項8の認証制御装置としてコンピュータを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2010−140218(P2010−140218A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−315280(P2008−315280)
【出願日】平成20年12月11日(2008.12.11)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願日】平成20年12月11日(2008.12.11)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]