(57)【要約】【課題】サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことが可能なシングルサインオン技術を提供する。【解決手段】ユーザ端末装置が、ユーザ識別子を含む第１認証要求情報をサービス提供装置に送信する。サービス提供装置は、第１データベースを検索し、第１認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する。サービス提供装置は、抽出された匿名識別子を含む第２認証要求情報を認証制御装置に送信する。次に、認証制御装置が、第２データベースを検索し、第２認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出する。認証制御装置は、抽出された宛先情報によって宛先が特定される認証装置に対し、第３認証要求情報を送信する。第３認証要求情報が送信された認証装置は、ユーザ端末装置を利用するユーザの認証処理を行う。【選択図】図２
2010140218.tif 000002
【特許請求の範囲】
【請求項１】
(A) ユーザ端末装置の送信部が、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第１認証要求情報をサービス提供装置に送信するステップと、
(B) 前記サービス提供装置の検索部が、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第１データベースを検索し、前記第１認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出するステップと、
(C) 前記サービス提供装置の送信部が、前記ステップ(B)で抽出された匿名識別子を含む第２認証要求情報を認証制御装置に送信するステップと、
(D) 前記認証制御装置の検索部が、前記第１データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第２データベースを検索し、前記第２認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するステップと、
(E) 前記認証制御装置の送信部が、前記ステップ(D)で抽出された宛先情報によって宛先が特定される認証装置に対し、第３認証要求情報を送信するステップと、
(F) 前記第３認証要求情報が送信された前記認証装置の認証処理部が、前記ユーザ端末装置を利用するユーザの認証処理を行うステップと、
を有するユーザ認証方法。
【請求項２】
請求項１のユーザ認証方法であって、
(G) 前記認証装置の署名生成部が、前記ステップ(F)で行われた認証処理の結果を示す情報に対して第１電子署名を生成するステップと、
(H) 前記認証装置の送信部が、前記ステップ(G)で生成された第１電子署名を含む第１応答情報を前記認証制御装置に送信するステップと、
(I) 前記認証制御装置の署名検証部が、前記第１応答情報が含む第１電子署名を検証し、その検証結果を示す情報に対して第２電子署名を生成するステップと、
(J) 前記認証制御装置の送信部が、前記ステップ(I)で生成された第２電子署名を含む第２応答情報を前記サービス提供装置に送信するステップと、
(K) 前記サービス提供装置の署名検証部が、前記第２応答情報が含む第２電子署名を検証するステップと、
をさらに有するユーザ認証方法。
【請求項３】
請求項１又は２のユーザ認証方法であって、
前記認証制御装置は、前記サービス提供装置及び前記認証装置以外からのアクセスを拒否する装置である、
ことを特徴とするユーザ認証方法。
【請求項４】
請求項１から３の何れかのユーザ認証方法であって、
前記ステップ(C)は、前記サービス提供装置の送信部が、前記サービス提供装置の記憶部に予め格納された前記認証制御装置の宛先情報を用い、前記第２認証要求情報を前記認証制御装置に送信するステップである、
ことを特徴とするユーザ認証方法。
【請求項５】
請求項１から４の何れかのユーザ認証方法であって、
前記第１データベースは、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、各ユーザ識別子に対応付けられた認証制御装置の宛先情報とを含むデータベースであり、
前記ステップ(B)は、前記第１データベースを検索し、前記第１認証要求情報が含むユーザ識別子に対応付けられた認証制御装置の宛先情報をさらに抽出するステップであり、
前記ステップ(C)は、前記サービス提供装置の送信部が、前記ステップ(B)で抽出された前記認証制御装置の宛先情報を用い、前記第２認証要求情報を前記認証制御装置に送信するステップである、
ことを特徴とするユーザ認証方法。
【請求項６】
ユーザ端末装置とサービス提供装置と認証制御装置と認証装置とを有し、
前記サービス提供装置は、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第１データベースを格納した第１記憶部を含み、
前記認証制御装置は、前記第１データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第２データベースを格納した第２記憶部を含み、
前記ユーザ端末装置は、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第１認証要求情報をサービス提供装置に送信する第１送信部を含み、
前記サービス提供装置は、前記第１データベースを検索し、前記第１認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する第１検索部と、前記第１検索部で抽出された匿名識別子を含む第２認証要求情報を認証制御装置に送信する第２送信部とを含み、
前記認証制御装置は、前記第２データベースを検索し、前記第２認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するの第２検索部と、前記第２検索部で抽出された宛先情報によって宛先が特定される認証装置に対し、第３認証要求情報を送信する第３送信部とを含み、
前記認証装置は、前記第３認証要求情報が送信されたことを契機として、前記ユーザ端末装置を利用するユーザの認証処理を行う認証処理部を含む、
ことを特徴とするユーザ認証システム。
【請求項７】
サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含むデータベースを格納した記憶部と、
ユーザ端末装置から送信された当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第１認証要求情報を受信する受信部と、
前記データベースを検索し、前記第１認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する検索部と、
前記検索部で抽出された匿名識別子を含む第２認証要求情報を認証制御装置に送信する送信部と、
を有するサービス提供装置。
【請求項８】
各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含むデータベースを格納した記憶部と、
サービス提供装置から送信された匿名識別子を含む第１認証要求情報を受信する受信部と、
前記認証制御装置は、前記データベースを検索し、前記第１認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出するの検索部と、
前記検索部で抽出された宛先情報によって宛先が特定される認証装置に対し、第２認証要求情報を送信する送信部と、
を有する認証制御装置。
【請求項９】
請求項７のサービス提供装置としてコンピュータを機能させるためのプログラム。
【請求項１０】
請求項８の認証制御装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ認証を行う技術分野に関し、特にシングルサインオン技術に関する。
【背景技術】
【０００２】
ユーザの認証が必要な複数のWebサイトを利用する場合、通常、ユーザはWebサイト毎に異なる認証情報（IDやパスワード等）をユーザ端末装置に入力し、認証を受けなければならない。しかし、これでは認証情報の管理や認証手続きが煩雑である。
【０００３】
このような問題を解決する従来技術にシングルサインオン(SSO：Single Sign-On)技術が存在する（例えば、非特許文献１、２参照）。この技術は、一度行われた認証の結果を複数のWebサイトへ引き継ぐことにより、Webサイト毎の認証処理を不要とする技術である。すなわち、シングルサインオン技術を用いたシステムの場合、ユーザは１度の認証を受けるだけで、複数のWebサイトを利用できる。
【０００４】
シングルサインオン技術を用いたシステムは、通常、ユーザが利用するユーザ端末装置と、ユーザ認証が為されたことを前提としてユーザ端末装置にサービス情報を提供する１以上のサービス提供装置と、サービス提供装置と別個に設けられたユーザ認証を行うための認証装置とを有する。ここで、シングルサインオン技術の一例であるリバティアライアンスやSAML(Security Assertion Markup Language)（例えば、非特許文献１参照）では、ネットワーク上に設けられたサーバ装置が各ユーザの認証を行う認証装置となる。また、認証処理をより強固なものとしたSASSO（例えば、非特許文献２参照）では、ユーザが所有する携帯電話等の端末装置が認証装置となる。
【０００５】
図１は、従来のシングルサインオンの処理手順を例示するためのシーケンス図である。この例では、まず、ユーザ端末装置がサービス提供装置にアクセスし、認証要求情報AUTREQを送信してユーザ認証を要求する。サービス提供装置は、リダイレクト機能を用いて認証装置の宛先（URL:Uniform Resource Locator等）を指定するとともに認証要求情報AUTREQをユーザ端末装置に送信する。ユーザ端末装置は、指定された宛先の認証装置にアクセスし、当該認証装置に認証要求情報AUTREQを送信する。認証要求情報AUTREQを受信した認証装置は、認証装置が管理するユーザの識別子ID(IDP)とそれに対応するパスワードPWDとの提示要求をユーザ端末装置に送信する。これに対して、ユーザ端末装置はゼロ知識証明等によって識別子ID(IDP)とパスワードPWDとを提示するための情報を認証装置に送信する。認証装置はこの情報を用いて認証処理を行い、その認証結果AUTRに電子署名を付した応答情報RESを生成する。認証装置は、リダイレクト機能を用いてサービス提供装置の宛先を指定するとともに応答情報RESをユーザ端末装置に送信する。ユーザ端末装置は、指定された宛先のサービス提供装置にアクセスし、応答情報RESとサービス提供装置が管理するユーザ識別子とを送信する。サービス提供装置は、応答情報RESを検証し、検証が合格であればサービス情報SVCをユーザ端末装置に送信し、検証が不合格であればエラー情報をユーザ端末装置に送信する。
【非特許文献１】“Liberty仕様チュートリアル”、[online]、[平成２０年１１月２６日検索]、インターネット＜http://www.projectliberty.net/jp/resources/LAP_DIDW_Oct_15_2003_jp.pdf＞
【非特許文献２】“NTT's SASSO Turns a Mobile Phone into a Personal Identity Provider”、[online]、[平成２０年１１月２６日検索]、インターネット＜http://www.projectliberty.org/liberty/content/download/3960/26523/file/NTT-SASSO%20liberty%20case%20study.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１に例示したように、従来のシングルサインオン技術では、いずれもユーザ端末装置が認証装置に直接アクセスして認証要求を行う。このようにユーザ装置が認証装置へ直接アクセスできる環境では、不正なユーザ装置が認証装置にアクセスし、DoS攻撃、コンピュータウイルスの送信、秘密情報の不正取得などの認証装置に対する何らかの攻撃を行う可能性がある。
【０００７】
また、サービス提供装置がリダイレクト機能などによって認証装置の宛先をユーザ端末装置に指定する方式の場合、少なくともサービス提供装置にも認証装置の宛先が開示される。その場合、不正なサービス提供装置やそこから認証装置の宛先を取得した装置が認証装置にアクセスし、認証装置に対する何らかの攻撃を行う可能性がある。或いは、認証装置の宛先を取得した不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対する不正行為（いわゆるフィッシング詐欺など）を行う可能性もある。また、ユーザ装置が認証装置の宛先を指定し、サービス提供装置が認証装置の宛先を管理しない方法の場合にも、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対する不正行為を行う可能性もある。
【０００８】
また、サービス提供装置が認証装置にアクセスする方式も想定できるが、この場合であっても各ユーザに対応する各認証装置を特定するために、サービス提供装置で管理されるユーザ識別子がユーザ端末装置以外の装置に開示される方式は個人情報保護の観点から好ましくない。
【０００９】
本発明はこのような点に鑑みてなされたものであり、サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことが可能なシングルサインオン技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明では、ユーザ端末装置が、当該ユーザ端末装置を利用するユーザのユーザ識別子を含む第１認証要求情報をサービス提供装置に送信する。サービス提供装置は、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子と、各ユーザ識別子に一対一で対応付けられた各匿名識別子と、を含む第１データベースを検索し、第１認証要求情報が含むユーザ識別子に対応付けられた匿名識別子を抽出する。サービス提供装置は、抽出された匿名識別子を含む第２認証要求情報を認証制御装置に送信する。次に、認証制御装置が、第１データベースが含む各匿名識別子と、各匿名識別子に対応付けられた認証装置の宛先情報と、を含む第２データベースを検索し、第２認証要求情報が含む匿名識別子に対応付けられた認証装置の宛先情報を抽出する。認証制御装置は、抽出された宛先情報によって宛先が特定される認証装置に対し、第３認証要求情報を送信する。第３認証要求情報が送信された認証装置は、ユーザ端末装置を利用するユーザの認証処理を行う。
【００１１】
本発明では、ユーザ端末装置が認証装置に直接アクセスするのではなく、ユーザ端末装置が第１認証要求情報をサービス提供装置に送信し、サービス提供装置が第２認証要求情報を認証制御装置に送信し、認証制御装置が第３認証要求情報を認証装置に送信することによって、認証装置に認証要求が行われる。この場合、ユーザ端末装置やサービス提供装置に認証装置の宛先を公開する必要がなく、不正なユーザ装置やサービス提供装置が認証装置にアクセスして攻撃を行うことを抑制できる。
【００１２】
また、本発明では、サービス提供装置に認証装置の宛先を公開する必要がないため、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対して不正行為を行うことも抑制できる。
【００１３】
また、本発明では、サービス提供装置は、ユーザ端末装置のユーザ識別子ではなく、第１データベースでユーザ識別子に対応付けられた匿名識別子を含む第２認証要求情報を認証制御装置に送信し、認証制御装置は、第２データベースで匿名識別子に対応付けられた認証装置の宛先情報を特定する。この場合、サービス提供装置はユーザ識別子を認証制御装置や認証装置に開示する必要がないため、ユーザの個人情報を保護できる。
【発明の効果】
【００１４】
以上のように本発明では、サービス提供装置や認証装置への不正行為の抑制とユーザの個人情報保護とを行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照して本発明の実施形態を説明する。
〔第１実施形態〕
まず、本発明の第１実施形態を説明する。
【００１６】
＜構成＞
図２は、第１実施形態のユーザ認証システム１の機能構成を例示したブロック図である。図３は、図２に例示したユーザ端末装置１０の機能構成を例示したブロック図である。図４は、図２に例示したサービス提供装置２０の機能構成を例示したブロック図である。図５は、図２に例示した認証制御装置３０の機能構成を例示したブロック図である。図６は、図２に例示した認証装置４０の機能構成を例示したブロック図である。
【００１７】
図２に例示するように、本形態のユーザ認証システム１は、ユーザ端末装置１０、サービス提供装置２０、認証制御装置３０、及び認証装置４０を有する。本形態のユーザ端末装置１０及び認証装置４０は、ユーザが所持する通信機能を備えた携帯電話やパーソナルコンピュータなどの端末装置を用いて構成される。また、ユーザ端末装置１０と認証装置４０とは、同一の筺体内に構成されてもよいし、別個の筺体にそれぞれ構成されてもよい。例えば、１つの携帯電話内にユーザ端末装置１０と認証装置４０とが構成されてもよいし、パーソナルコンピュータによってユーザ端末装置１０が構成され、携帯電話によって認証装置４０が構成されてもよい。一方、本形態のサービス提供装置２０及び認証制御装置３０は、例えば、特定の秘密情報を互いに漏洩させない旨のセキュリティポリシーが設定された通信機能を備えたサーバ装置である。また、本形態のサービス提供装置２０及び認証制御装置３０が、それぞれ別個の管理者によって管理される通信機能を備えたサーバ装置であってもよい。なお、説明の簡略化のため、図２では、ユーザ端末装置１０、サービス提供装置２０、認証制御装置３０、及び認証装置４０をそれぞれ１つずつ示すが、ユーザ端末装置１０、サービス提供装置２０、及び認証装置４０は、それぞれ複数設けられる。
【００１８】
［ユーザ端末装置］
図３に例示するように、本形態のユーザ端末装置１０は、記憶部１１、読み書き部１２ａ、認証要求生成部１２ｂ、通信処理部１２ｃ、受信部１３、送信部１４、制御部１５、一時記憶部１６、出力部１７、及び入力部１８を有する。記憶部１１や一時記憶部１６の例は、ＲＡＭ(random-access memory)や磁気記録媒体などであり、読み書き部１２の例は、記憶部１１や一時記憶部１６にデータを読み書きするハードウェアである。また、認証要求生成部１２ｂ、通信処理部１２ｃ、及び制御部１５の例は、ＣＰＵ(central processing unit)に所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部１３や送信部１４の例は、ＬＡＮカードや無線通信モジュールなどのハードウェアである。また、出力部１７の例は、液晶パネルやスピーカなどの出力ユーザインタフェースであり、入力部１８の例は、入力キーやタッチパネルやマイクロホンなどの入力ユーザインタフェースである。なお、ユーザ端末装置１０は、制御部１５の制御のもとで各演算を実行する。また、ユーザ端末装置１０の各演算部は必要に応じて処理結果であるデータを一時記憶部１６に格納し、一時記憶部１６に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【００１９】
［サービス提供装置］
図４に例示するように、本形態のサービス提供装置２０は、記憶部２１、読み書き部２２ａ、検索部２２ｂ、認証要求生成部２２ｃ、セッション管理部２２ｄ、通信処理部２２ｅ、署名検証部２２ｆ、受信部２３、送信部２４、制御部２５、及び一時記憶部２６を有する。記憶部２１や一時記憶部２６の例は、ＲＡＭや磁気記録媒体などであり、読み書き部２２の例は、記憶部２１や一時記憶部２６にデータを読み書きするハードウェアである。また、検索部２２ｂ、認証要求生成部２２ｃ、セッション管理部２２ｄ、通信処理部２２ｅ、署名検証部２２ｆ、及び制御部２５の例は、ＣＰＵに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部２３や送信部２４の例は、ＬＡＮカードや無線通信モジュールなどのハードウェアである。なお、サービス提供装置２０は、制御部２５の制御のもとで各演算を実行する。また、サービス提供装置２０の各演算部は必要に応じて処理結果であるデータを一時記憶部２６に格納し、一時記憶部２６に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【００２０】
［認証制御装置］
図５に例示するように、本形態の認証制御装置３０は、記憶部３１、読み書き部３２ａ、検索部３２ｂ、認証要求生成部３２ｃ、署名検証部３２ｄ、署名生成部３２ｅ、応答情報生成部３２ｆ、セッション管理部３２ｇ、通信処理部３２ｈ、フィルタリング処理部３２ｉ、受信部３３、送信部３４、制御部３５、及び一時記憶部３６を有する。記憶部３１や一時記憶部３６の例は、ＲＡＭや磁気記録媒体などであり、読み書き部３２ａの例は、記憶部３１や一時記憶部３６にデータを読み書きするハードウェアである。また、検索部３２ｂ、認証要求生成部３２ｃ、署名検証部３２ｄ、署名生成部３２ｅ、応答情報生成部３２ｆ、セッション管理部３２ｇ、通信処理部３２ｈ、フィルタリング処理部３２ｉ、及び制御部３５の例は、ＣＰＵに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部３３や送信部３４の例は、ＬＡＮカードや無線通信モジュールなどのハードウェアである。なお、認証制御装置３０は、制御部３５の制御のもとで各演算を実行する。また、認証制御装置３０の各演算部は必要に応じて処理結果であるデータを一時記憶部３６に格納し、一時記憶部３６に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【００２１】
［認証装置］
図６に例示するように、本形態の認証装置４０は、記憶部４１、読み書き部４２ａ、認証処理部４２ｂ、署名生成部４２ｃ、応答情報生成部４２ｄ、通信処理部４２ｅ、受信部４３、送信部４４、制御部４５、一時記憶部４６、出力部４７、及び入力部４８を有する。記憶部４１や一時記憶部４６の例は、ＲＡＭや磁気記録媒体などであり、読み書き部４２ａの例は、記憶部４１や一時記憶部４６にデータを読み書きするハードウェアである。また、認証処理部４２ｂ、署名生成部４２ｃ、応答情報生成部４２ｄ、通信処理部４２ｅ、及び制御部４５の例は、ＣＰＵに所定のプログラムが読み込まれて実行されることで構成される演算部である。また、受信部４３や送信部４４の例は、ＬＡＮカードや無線通信モジュールなどのハードウェアである。また、出力部４７の例は、液晶パネルやスピーカなどの出力ユーザインタフェースであり、入力部４８の例は、入力キー、タッチパネル、カメラ、マイクロホンなどの入力ユーザインタフェースである。なお、認証装置４０は、制御部４５の制御のもとで各演算を実行する。また、認証装置４０の各演算部は必要に応じて処理結果であるデータを一時記憶部４６に格納し、一時記憶部４６に格納されたデータは必要に応じて演算部に読み出されてその処理に利用される。
【００２２】
＜ユーザ認証方法＞
次に本形態のユーザ認証方法を説明する。
図７は、第１実施形態のユーザ認証方法を説明するためのシーケンス図である。また、図８〜図１１は、第１実施形態のユーザ認証方法を説明するためのフローチャートである。以下、これらの図に従って本形態のユーザ認証方法を説明する。
【００２３】
［前処理］
事前にサービス提供装置２０の各ユーザに対してそれぞれユーザ識別子ID(SP)が設定される。ユーザ識別子ID(SP)は、ユーザが選択した文字列やユーザが使用するユーザ端末装置１０のメールアドレスなどのようにユーザの個人情報を含む情報である。また、各ユーザ識別子と一対一対応する各匿名識別子ID(AN)が設定される。匿名識別子ID(AN)は、重複しないように割り当てられたランダム文字列などのようにユーザの個人情報を含まない情報である。また、各ユーザが認証装置として使用する認証装置４０が設定される。本形態の認証装置４０は、ユーザが所持する通信機能を備えた端末装置を用いて構成され、各ユーザ識別子ID(SP)は何れかの認証装置４０に対応する。
【００２４】
以上のように設定されたユーザ識別子ID(SP)は、それぞれのユーザに与えられる。また、設定された各ユーザ識別子ID(SP)と、各ユーザ識別子ID(SP)に一対一で対応付けられた各匿名識別子ID(AN)とを含む第１データベースが、サービス提供装置２０の記憶部２１に格納される。この第１データベースを用いることにより、各ユーザ識別子ID(SP)にそれぞれ対応する各匿名識別子ID(AN)を特定することができる。
【００２５】
また、第１データベースが含む各匿名識別子ID(AN)と、各匿名識別子ID(AN)に対応付けられた認証装置４０の宛先情報LOC(IDP)とを含む第２データベースが認証制御装置３０の記憶部３１に格納される。匿名識別子ID(AN)に対応付けられた宛先情報LOC(IDP)は、第１データベースで当該匿名識別子ID(AN)に対応付けられたユーザ識別子ID(SP)に対応するユーザが選択した認証装置４０の宛先情報LOC(IDP)である。言い換えると、匿名識別子ID(AN)に対応付けられた宛先情報LOC(IDP)は、当該匿名識別子ID(AN)に対応するユーザをユーザ認証する認証装置４０の宛先情報LOC(IDP)である。なお、或る装置の宛先情報とは、その装置のネットワーク上の場所を特定するためのロケーション情報であり、その具体例は、ＵＲＬ(Uniform Resource Locator)やメールアドレスなどである。
【００２６】
また、本形態では、認証制御装置３０に対してRSAなどの公開鍵暗号方式の秘密鍵SK(IDXP)と公開鍵PK(IDXP)との鍵ペアが設定される。また、各認証装置４０に対して公開鍵暗号方式の秘密鍵SK(IDP)と公開鍵PK(IDP)との鍵ペアがそれぞれ設定される。秘密鍵SK(IDXP)は証制御装置３０の記憶部３１に格納され、公開鍵PK(IDXP)は各サービス提供装置２０の記憶部２１に格納される。また、各認証装置４０の記憶部４１には、自らに設定された秘密鍵SK(IDP)が格納される。また、各公開鍵PK(IDP)は、それぞれ対応する認証装置４０の宛先情報LOC(IDP)に対応付けられて認証制御装置３０の記憶部３１に格納される。すなわち、本形態の第２データベースは、各匿名識別子ID(AN)と各認証装置４０の宛先情報LOC(IDP)と各公開鍵PK(IDP)とがユーザごとに対応付けられたものとなる。
【００２７】
また、ユーザ端末装置１０の記憶部１１には、ユーザ端末装置１０の宛先情報LOC(UT)とサービス提供装置２０の宛先情報LOC(SP)とが格納され、サービス提供装置２０の記憶部２１には、サービス提供装置２０の宛先情報LOC(SP)と認証制御装置３０の宛先情報LOC(IDXP)とが格納される。また、認証制御装置３０の記憶部３１には、認証制御装置３０へのアクセスが許可された各サービス提供装置２０及び各認証装置４０の各宛先情報LOC(SP)及びLOC(IDP)を含む許可テーブルが格納される。認証制御装置３０は、これらのアクセスを許可したサービス提供装置２０及び認証装置４０以外からのアクセスを拒否する構成とされる。
【００２８】
［認証処理］
サービス提供装置２０からのサービス情報の提供を受けようとするユーザは、ユーザ端末装置１０を用いてサービス提供装置２０に接続する。ユーザ端末装置１０に接続されたサービス提供装置２０のセッション管理部２２ｄは、そのセッションに対してセッション識別子SIDを生成する。生成されたセッション識別子SIDはユーザ端末装置１０に送信され、ユーザ端末装置１０の記憶部１１に格納される。なお、以下では、ユーザ端末装置１０に対して生成されたセッション識別子SIDをセッション識別子SIDUと表現する。
【００２９】
その後、ユーザ端末装置１０（図３）の入力部１８に、ユーザ端末装置１０を利用するユーザのユーザ識別子ID(SP)が入力され、読み書き部１２ａによって記憶部１１に格納される。なお、以下では、ユーザ端末装置１０を利用するユーザのユーザ識別子ID(SP)をユーザ識別子IDU(SP)と表現する。なお、ユーザ識別子IDU(SP)が既に記憶部１１に格納されているのであればユーザ識別子IDU(SP)の入力処理は不要である。次に、読み書き部１２ａが、記憶部１１から、ユーザ端末装置１０の宛先情報LOC(UT)と、サービス提供装置２０の宛先情報LOC(SP)と、ユーザ識別子IDU(SP)と、セッション識別子SIDUとを読み出す。そして、認証要求生成部１２ｂが、これらの情報を含む第１認証要求情報AUTREQ1=[送信先の宛先情報，送信元の宛先情報，ユーザ識別子，セッション識別子]=[LOC(SP), LOC(UT), IDU(SP), SIDU]を生成する（ステップＳ１１）。第１認証要求情報AUTREQ1は、通信処理部１２ｃに送られ、通信処理部１２ｃの制御のもと、送信部１４からサービス提供装置２０に送信される（ステップＳ１２）。
【００３０】
第１認証要求情報AUTREQ1は、サービス提供装置２０（図４）の受信部２３で受信され（ステップＳ１３）、読み書き部２２ａによって記憶部２１に格納される。次に、検索部２２ｂが、記憶部２１に格納された第１データベースを検索し、第１認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた匿名識別子ID(AN)を抽出する（ステップＳ１４）。なお、以下では、ユーザ識別子IDU(SP)に対応付けられた匿名識別子ID(AN)を匿名識別子IDU(AN)と表現する。また、読み書き部２２ａが、記憶部２１から認証制御装置３０の宛先情報LOC(IDXP)と、サービス提供装置２０の宛先情報LOC(SP)と、第１認証要求情報AUTREQ1が含むセッション識別子SIDUとを読み出す。認証要求生成部２２ｃは、検索部２２ｂが抽出したユーザ識別子IDU(SP)と、読み書き部２２ａが読み出した宛先情報LOC(IDXP)と、宛先情報LOC(SP)と、セッション識別子SIDUとを用い、これらを含む第２認証要求情報AUTREQ2=[送信先の宛先情報，送信元の宛先情報，匿名識別子，セッション識別子]=[LOC(IDXP), LOC(SP), IDU(AN), SIDU]を生成する（ステップＳ１５）。第２認証要求情報AUTREQ2は、通信処理部２２ｅに送られ、通信処理部２２ｅの制御のもと、送信部２４から認証制御装置３０に送信される（ステップＳ１６）。
【００３１】
第２認証要求情報AUTREQ2は、認証制御装置３０（図５）の受信部３３で受信され（ステップＳ１７）、フィルタリング処理部３２ｉに送られる。フィルタリング処理部３２ｉは、第２認証要求情報AUTREQ2の送信元の宛先情報LOC(SP)が、記憶部３１に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致するか否かを判定するフィルタリング処理を実行する（ステップＳ１８）。ここで、これらが一致しない場合には、フィルタリング処理部３２ｉが第２認証要求情報AUTREQ2を破棄してアクセスを拒否する（ステップＳ１９）。
【００３２】
一方、これらが一致した場合には、読み書き部３２ａが第２認証要求情報AUTREQ2を記憶部３１に格納する。次に、検索部３２ｂが、記憶部３１に格納された第２データベースを検索し、第２認証要求情報AUTREQ2が含む匿名識別子IDU(AN)に対応する認証装置４０の宛先情報LOC(IDP)を抽出する（ステップＳ２０）。なお、以下では、匿名識別子IDU(AN)に対応する認証装置４０の宛先情報LOC(IDP)をLOCU(IDP)と表現する。次に、読み書き部３２ａが、記憶部３１から、認証制御装置３０の宛先情報LOC(IDXP)と、第２認証要求情報AUTREQ2が含むセッション識別子SIDUとを読み出す。そして、認証要求生成部３２ｃが、検索部３２ｂで抽出された宛先情報LOCU(IDP)と、読み書き部３２ａで読み出された宛先情報LOC(IDXP)と、セッション識別子SIDUとを用い、これらを含む第３認証要求情報AUTREQ3=[送信先の宛先情報，送信元の宛先情報，セッション識別子]=[LOCU(IDP), LOC(IDXP), SIDU]を生成する（ステップＳ２１）
。第３認証要求情報AUTREQ3は、通信処理部３２ｈに送られ、通信処理部３２ｈの制御のもと、送信部３４から宛先情報LOCU(IDP)によって宛先が特定される認証装置４０に送信される（ステップＳ２２）。
【００３３】
第３認証要求情報AUTREQ3は、認証装置４０（図６）の受信部４３で受信され（ステップＳ２３）、読み書き部４２ａによって記憶部４１に格納される。これを契機として、認証処理部４２ｂがユーザ認証処理を行う（ステップＳ２４）。ユーザ認証処理には様々な方法を用いることができる。例えば、本形態の認証装置４０はユーザが所持する装置であるため、認証処理部４２ｂは出力部４７から「認証処理を実行しますか？」等の入力を要求する出力を行い、これに対して入力部４８から認証処理を実行する旨の入力があったことをもってユーザ認証を行うことができる。このようなユーザ認証方法は、出力部４７や入力部４８のユーザインタフェースを用いた情報の入出力を行うことができるのは、認証装置４０を所持する正当なユーザであると仮定したユーザ認証方法である。または、入力部４８からパスワードを入力させ、そのパスワードの認証を行ってユーザ認証を行う方法も可能である。その他、パスワードを音声入力させたり、画像を入力させたりしてユーザ認証を行ってもよい。認証処理部４２ｂから出力された認証結果AUTR1=[合格 or 不合格]は、読み書き部４２ａによって記憶部４１に格納される。
【００３４】
次に、読み書き部４２ａが、記憶部４１から秘密鍵SK(IDP)と認証結果AUTR1とを読み込み、署名生成部４２ｃが、秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)（「第１電子署名」に相当）を生成する（ステップＳ２５）。電子署名Sign(AUTR1)は公知の方法で生成されればよく、例えば、認証結果AUTR1のハッシュ値H(AUTR1)を秘密鍵SK(IDP)を用いて公開鍵暗号方式で暗号化した暗号文を電子署名Sign(AUTR1)とする。生成された電子署名Sign(AUTR1)は記憶部４１に格納される。次に、読み書き部４２ａが、記憶部４１から第３認証要求情報AUTREQ3が含む認証制御装置３０の宛先情報LOC(IDXP)と、認証装置４０の宛先情報LOCU(IDP)と、セッション識別子SIDUと、ステップＳ２４での認証結果AUTR1と、その電子署名Sign(AUTR1)とを読み出す。そして、応答情報生成部４２ｄが、これらを含む第１応答情報RES1=[送信先の宛先情報，送信元の宛先情報，認証結果，電子署名，セッション識別子]=[LOC(IDXP), LOCU(IDP), AUTR1, Sign(AUTR1), SIDU]を生成し（ステップＳ２６）、読み書き部４２ａがこれを記憶部４１に格納する。その後、第１応答情報RES1は、読み書き部４２ａによって読み出されて通信処理部４２ｅに送られ、通信処理部４２ｅの制御のもと、送信部４４から宛先情報LOC(IDXP)によって宛先が特定される認証制御装置３０に送信される（ステップＳ２７）。
【００３５】
第１応答情報RES1は、認証制御装置３０（図５）の受信部３３で受信され（ステップＳ２８）、フィルタリング処理部３２ｉに送られる。フィルタリング処理部３２ｉは、第１応答情報RES1の送信元の宛先情報LOCU(IDP)が、記憶部３１に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致するか否かを判定するフィルタリング処理を実行する（ステップＳ２９）。ここで、これらが一致しない場合には、フィルタリング処理部３２ｉが第１応答情報RES1を破棄してアクセスを拒否する（ステップＳ３０）。
【００３６】
一方、これらが一致した場合には、読み書き部３２ａが第１応答情報RES1を記憶部３１に格納する。次に、検索部３２ｂが、記憶部３１に格納された第２データベースを検索し、第１応答情報RES1が含む宛先情報LOCU(IDP)に対応付けられた公開鍵PK(IDP)を抽出する。なお、以下では、宛先情報LOCU(IDP)に対応付けられた公開鍵PK(IDP)を公開鍵PKU(IDP)と表現する。さらに、読み書き部３２ａが、記憶部３１に格納された第１応答情報RES1が含む認証結果AUTR1とその電子署名Sign(AUTR1)を読み出し、署名検証部３２ｄが、公開鍵PKU(IDP)と認証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う。なお、この検証は、認証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部３２ｄは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定し、それ以外の場合に不合格であると判定する。なお、電子署名Sign(AUTR1)がハッシュ値H(AUTR1)を秘密鍵SK(IDP)を用いて公開鍵暗号方式で暗号化した暗号文である場合、電子署名Sign(AUTR1)を公開鍵PKU(IDP)を用いて復号した復号結果と、認証結果AUTR1のハッシュ値H(AUTR1)とが等しい場合に電子署名Sign(AUTR1)が正当であると判定される。署名検証部３２ｄから出力された検証結果AUTR2は、読み書き部３２ａによって記憶部３１に格納される（ステップＳ３１）。
【００３７】
次に、読み書き部３２ａが、記憶部３１から秘密鍵SK(IDXP)と検証結果AUTR2=[合格 or 不合格]とを読み込み、署名生成部３２ｅが、秘密鍵SK(IDXP)を用いて検証結果AUTR2の電子署名Sign(AUTR2)（「第２電子署名」に相当）を生成し（ステップＳ３２）、読み書き部３２ａが、電子署名Sign(AUTR2)を記憶部３１に格納する。なお、電子署名Sign(AUTR2)は上述したような公知の方法で生成される。次に、検索部３２ｂが記憶部３１に格納された第２データベースを検索し、記憶部３１に格納された第１応答情報RES1が含む認証装置４０の宛先情報LOCU(IDP)に対応付けられた匿名識別子IDU(AK)を抽出する。さらに、セッション管理部３２ｇが、記憶部３１を探索し、第１応答情報RES1が含むセッション識別子SIDUを含む第２認証要求情報AUTREQ2を特定する。そして、読み書き部３２ａが、当該第２認証要求情報AUTREQ2が含むサービス提供装置２０の宛先情報LOC(SP)と、セッション識別子SIDUと、記憶部３１に格納された認証制御装置３０の宛先情報LOC(IDXP)と、検証結果AUTR2と、電子署名Sign(AUTR2)とを読み込む。応答情報生成部３２ｆは、それらの情報を含む第２応答情報RES2=[送信先の宛先情報，送信元の宛先情報，検証結果，電子署名，匿名識別子，セッション識別子]=[LOC(SP), LOC(IDXP), AUTR2, Sign(AUTR2), IDU(AN), SIDU]を生成し、第２応答情報RES2は、読み書き部３２ａによって記憶部３１に格納される。その後、第２応答情報RES2は、読み書き部３２ａによって記憶部３１から読み出されて通信処理部３２ｈに送られ、通信処理部３２ｈの制御のもと、送信部３４から宛先情報LOC(SP)によって宛先が特定されるサービス提供装置２０に送信される（ステップＳ３４）。
【００３８】
第２応答情報RES2は、サービス提供装置２０（図４）の受信部２３で受信される。読み書き部２２ａは、記憶部２１に格納された第１データベースを検索し、第２応答情報RES2が含む匿名識別子IDU(AN)に対応付けられたユーザ識別子IDU(SP)を特定し、それに第２応答情報RES2を対応付けて格納する（ステップＳ３５）。
【００３９】
次に、読み書き部２２ａが、記憶部２１に格納された認証制御装置３０の公開鍵PK(IDXP)と、第２応答情報RES2が含む検証結果AUTR2と電子署名Sign(AUTR2)とを読み出し、署名検証部２２ｆが、公開鍵PK(IDXP)と検証結果AUTR2とを用いて電子署名Sign(AUTR2)の検証を行う（ステップＳ３６）。なお、この検証は、検証結果AUTR2=[合格]であることと、電子署名Sign(AUTR2)が合格であることの検証である。すなわち、本形態の署名検証部２２ｆは、認証結果AUTR2=[合格]であり、なおかつ、電子署名Sign(AUTR2)が正当なものであると判定した場合に電子署名Sign(AUTR2)が合格であると判定して検証結果AUTR3=[合格]を出力し、それ以外の場合に不合格であると判定して検証結果AUTR3=[不合格]を出力する（ステップＳ３７）。ここで、署名検証部２２ｆの検証結果AUTR3=[合格]であった場合、読み書き部２２ａは、記憶部２１の第１データベースの匿名識別子IDU(AN)に対応付けられた第２応答情報RES2に検証結果AUTR3=[合格]を対応付けて格納する（ステップＳ３８）。一方、署名検証部２２ｆの検証結果AUTR3=[不合格]であった場合、読み書き部２２ａは、記憶部２１の第１データベースの匿名識別子IDU(AN)に対応付けられた第２応答情報RES2に検証結果AUTR3=[不合格]を対応付けて格納する（ステップＳ３９）。
【００４０】
その後、ユーザ端末装置１０（図３）の入力部１８からの更新入力等を契機とし、読み書き部１２ａが記憶部１１からユーザ端末装置１０の宛先情報LOC(UT)とサービス提供装置２０の宛先情報LOC(SP)とセッション識別子SIDUとを読み出し、通信処理部１２ｃが、これらを含む要求情報SVCREC=[送信先の宛先情報，送信元の宛先情報，セッション識別子]=[LOC(SP), LOC(UT), SIDU]を生成する。この要求情報SVCRECは、送信部１４からサービス提供装置２０に送信される（ステップＳ４０）。なお、ステップＳ３８，Ｓ３９の実施後、ステップＳ４０を動作させる手順の例は以下の通りである。
【００４１】
［方式１］
ステップＳ２７の処理の実行後（認証装置４０から認証制御装置３０への第１応答情報RES1送信後）に、認証装置４０の出力部４７から「認証装置での認証手続きが終了しましたので、ユーザ端末装置の画面の『更新』ボタンをクリックしてください」等のコメントを表示させる。これに対して、ユーザが認証装置４０の入力部４８から更新処理を行うための情報を入力する。その際、ステップＳ３８又はＳ３９の処理が実行されていた場合には、ステップＳ４０の処理が実行される。
【００４２】
［方式２］
ステップＳ２７の処理の実行後、ユーザ端末装置１０は、サービス提供装置２０に対し、定期的にユーザ認証が終了したか否かの問い合わせ情報を送信する。ユーザ認証が終了した場合、サービス提供装置２０は、この問い合わせ情報の応答としてサービス提供装置２０がステップＳ３８又はＳ３９の応答を返し、ステップＳ４０の処理が実行される。
【００４３】
［方式３］
サービス提供装置２０は、ユーザ端末装置１０に対し、ステップＳ３８又はＳ３９による検証結果を通知する機能を有する。ステップＳ３８又はＳ３９による通知後、ユーザ端末装置１０は画面を自動的に更新し、ステップＳ４０の処理が実行される。
【００４４】
要求情報SVCRECは、サービス提供装置２０（図４）の受信部２３で受信され、読み書き部２２ａによって記憶部２１に格納される（ステップＳ４１）。これを契機に検索部２２ｂが、記憶部２１に格納された第１データベースを検索し、要求情報SVCRECが含むセッション識別子SIDUを含む第２応答情報RES2に対応付けられた検証結果AUTR3が[合格]であるか否かを判定する（ステップＳ４２）。
【００４５】
ここで、AUTR3=[合格]であると判定された場合、読み書き部２２ａが記憶部２１から要求情報SVCRECが含むユーザ端末装置１０の宛先情報LOC(UT)とサービス提供装置２０の宛先情報LOC(SP)と、第１データベースで第２応答情報RES2に対応付けられたユーザ識別子IDU(SP)と、サービス情報SVCとを読み出す。そして、通信処理部２２ｅが、これらを含む第３応答情報RES3=[送信先の宛先情報，送信元の宛先情報，ユーザ識別子，サービス情報]=[LOC(UT), LOC(SP), IDU(SP), SVC]を生成し、送信部２４が第３応答情報RES3をユーザ端末装置１０に送信する（ステップＳ４３）。一方、AUTR3=[不合格]であると判定された場合、通信処理部２２ｅがエラーであることを示すエラー情報を生成し、送信部２４がエラー情報をユーザ端末装置１０に送信する（ステップＳ４４）。
【００４６】
ステップＳ４３又はＳ４４で送信された情報はユーザ端末装置１０の受信部１３で受信され、出力部１７から第３応答情報RES3が含むサービス情報SVCや、エラー情報が示すエラー表示が出力される（ステップＳ４５）。
【００４７】
＜本形態の特徴＞
以上のように、本形態では、ユーザ端末装置１０が認証装置４０に直接アクセスするのではなく、ユーザ端末装置１０が第１認証要求情報AUTREQ1をサービス提供装置２０に送信し、サービス提供装置２０が第２認証要求情報AUTREQ2を認証制御装置３０に送信し、認証制御装置３０が第３認証要求情報AUTREQ3を認証装置４０に送信することによって、認証装置４０に認証要求が行われる。この場合、認証装置４０の宛先を認証制御装置３０以外に公開する必要がなく、不正なユーザ端末装置やサービス提供装置が認証装置４０にアクセスして攻撃を行うことを抑制できる。
【００４８】
また、本形態では、サービス提供装置２０に認証装置の宛先を公開する必要がないため、不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置に対して不正行為を行うことも抑制できる。
【００４９】
また、本形態では、サービス提供装置２０は、ユーザ端末装置１０のユーザ識別子IDU(SP)ではなく、第１データベースでユーザ識別子IDU(SP)に対応付けられた匿名識別子IDU(AN)を含む第２認証要求情報AUTREQ2を認証制御装置３０に送信し、認証制御装置３０は、第２データベースで匿名識別子IDU(AN)に対応付けられた認証装置４０の宛先情報を特定する。この場合、サービス提供装置２０はユーザ識別子IDU(SP)を認証制御装置３０や認証装置４０に開示する必要がないため、ユーザの個人情報を保護できる。
【００５０】
また、サービス提供装置２０は第１データベースを検索し、第１認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応する匿名識別子IDU(AN)を抽出する。ここで、第１認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応する匿名識別子IDU(AN)が存在しない場合に処理を終了させる構成とすれば、攻撃者がランダムな第１認証要求情報をサービス提供装置２０に大量に送信するような攻撃を遮断し、その攻撃の影響が認証制御装置３０や認証装置４０に及ぶことを抑制できる。
【００５１】
また、本形態では、認証装置４０が、認証処理の結果を示す情報AUTR1に対して電子署名Sign(AUTR1)を生成し、電子署名Sign(AUTR1)を含む第１応答情報RES1を認証制御装置３０に送信する。そして、認証制御装置３０が、第１応答情報RES1が含む電子署名Sign(AUTR1)を検証し、その検証結果を示す情報AUTR2に対して電子署名Sign(AUTR2)を生成し、電子署名Sign(AUTR2)を含む第２応答情報RES2をサービス提供装置２０に送信する。そして、サービス提供装置２０が、第２応答情報RES2が含む電子署名Sign(AUTR2)を検証する。この場合、サービス提供装置２０は、認証装置４０の電子署名Sign(AUTR1)ではなく、認証制御装置３０電子署名Sign(AUTR2)によってユーザ認証結果を知ることができる。そのため、サービス提供装置２０に認証装置４０の電子署名Sign(AUTR1)を送信する必要はない。認証装置４０の電子署名Sign(AUTR1)は、認証装置４０を特定する情報となるため、認証装置４０の電子署名Sign(AUTR1)をサービス提供装置２０に送信しないことは、認証装置４０の情報をサービス提供装置２０に漏洩しない点で好ましい。
【００５２】
また、本形態の認証制御装置３０は、アクセスが許可されたサービス提供装置及び認証装置以外からのアクセスを拒否する装置である。これにより、攻撃者の装置が認証制御装置３０にアクセスして行う攻撃を防止できる。
【００５３】
また、本形態では、サービス提供装置２０の記憶部２１に予め認証制御装置３０の宛先情報LOC(IDXP)を格納しておき、サービス提供装置２０が、その宛先情報LOC(IDXP)を用い、第２認証要求情報AUTREQ2を認証制御装置３０に送信することとした。そのため、予め認証制御装置３０の宛先情報LOC(IDXP)が格納されていない不正なサービス提供装置が正当なサービス提供装置に成りすまし、ユーザ端末装置１０に対して不正行為（フィッシング詐欺など）を行うことを抑制できる。
【００５４】
〔第１実施形態の変形例１〕
次に、第１実施形態の変形例１を説明する。上述した第１実施形態では、認証装置４０で生成された認証結果AUTR1の電子署名Sign(AUTR1)を認証制御装置３０で検証し、認証制御装置３０がその検証結果AUTR2の電子署名Sign(AUTR2)を生成し、サービス提供装置２０が電子署名Sign(AUTR2)を検証することでサービス提供装置２０がユーザ認証の合否を判定した。しかし、変形例１では、サービス提供装置２０が、認証装置４０で生成された認証結果AUTR1の電子署名Sign(AUTR1)を検証することでユーザ認証の合否を判定する。以下では、第１実施形態の相違点を中心に説明する。
【００５５】
図１２は、第１実施形態の変形例１におけるユーザ認証システム１００の機能構成を例示したブロック図である。
【００５６】
ユーザ認証システム１００のユーザ認証システム１からの相違点は、認証制御装置３０が認証制御装置１３０に置換された点である。また、認証制御装置１３０は、認証制御装置３０から署名生成部３２ｅを取り除いた構成である。
【００５７】
図１３は、第１実施形態の変形例１のユーザ認証方法を説明するためのシーケンス図である。また、図１４及び図１５は、第１実施形態の変形例１のユーザ認証方法を説明するためのフローチャートである。以下、これらの図に従って本形態のユーザ認証方法を説明する。
【００５８】
この変形例では、前処理において、サービス提供装置２０が各ユーザにそれぞれ対応する認証装置４０の各公開鍵PK(IDP)を特定できるようにしておく。例えば、サービス提供装置２０の記憶部２１に格納された第１データベースに、各ユーザ識別子ID(SP)に対応する認証装置４０の公開鍵PK(IDP)を対応付けておく。
【００５９】
ユーザ認証処理では、まず、第１実施形態のステップＳ１１〜Ｓ３０で説明した処理が実行され、ステップＳ２９の判定で、第１応答情報RES1の送信元の宛先情報LOCU(IDP)が記憶部３１に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致と判定された場合、認証制御装置１３０の読み書き部３２ａが第１応答情報RES1を記憶部３１に格納する。
【００６０】
次に、検索部３２ｂが、記憶部３１に格納された第２データベースを検索し、第１応答情報RES1が含む宛先情報LOCU(IDP)に対応付けられた公開鍵PKU(IDP)を抽出する。さらに、読み書き部３２ａが、記憶部３１に格納された第１応答情報RES1が含む認証結果AUTR1とその電子署名Sign(AUTR1)を読み出し、署名検証部３２ｄが、公開鍵PKU(IDP)と認証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う（ステップＳ１３１）。なお、この検証は、認証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部３２ｄは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定し、それ以外の場合に不合格であると判定する。ここで、電子署名Sign(AUTR1)が不合格であった場合には、フィルタリング処理部３２ｉが第１応答情報RES1を破棄してアクセスを拒否する（ステップＳ３０）。一方、電子署名Sign(AUTR1)が合格であった場合には、以下のステップＳ１３３の処理が実行される。なお、ステップＳ１３１の検証処理を実行せず、ステップＳ２９の判定で、第１応答情報RES1の送信元の宛先情報LOCU(IDP)が記憶部３１に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致と判定された場合に以下のステップＳ１３３の処理が実行されてもよい。
【００６１】
ステップＳ１３３では、検索部３２ｂが記憶部３１に格納された第２データベースを検索し、記憶部３１に格納された第１応答情報RES1が含む認証装置４０の宛先情報LOCU(IDP)に対応付けられた匿名識別子IDU(AK)を抽出する。さらに、セッション管理部３２ｇが、記憶部３１を探索し、第１応答情報RES1が含むセッション識別子SIDUを含む第２認証要求情報AUTREQ2を特定する。そして、読み書き部３２ａが、当該第２認証要求情報AUTREQ2が含むサービス提供装置２０の宛先情報LOC(SP)と、セッション識別子SIDUと、記憶部３１に格納された認証制御装置３０の宛先情報LOC(IDXP)と、検証結果AUTR1と、電子署名Sign(AUTR1)とを読み込む。応答情報生成部３２ｆは、それらの情報を含む第２応答情報RES11=[送信先の宛先情報，送信元の宛先情報，検証結果，電子署名，匿名識別子，セッション識別子]=[LOC(SP), LOC(IDXP), AUTR1, Sign(AUTR1), IDU(AN), SIDU]を生成し、第２応答情報RES11は、読み書き部３２ａによって記憶部３１に格納される。その後、第２応答情報RES11は、読み書き部３２ａによって記憶部３１から読み出されて通信処理部３２ｈに送られ、通信処理部３２ｈの制御のもと、送信部３４から宛先情報LOC(SP)によって宛先が特定されるサービス提供装置２０に送信される（ステップＳ１３４）。
【００６２】
第２応答情報RES11は、サービス提供装置２０（図４）の受信部２３で受信される。読み書き部２２ａは、記憶部２１に格納された第１データベースを検索し、第２応答情報RES11が含む匿名識別子IDU(AN)に対応付けられたユーザ識別子IDU(SP)を特定し、それに第２応答情報RES11を対応付けて格納する（ステップＳ１３５）。
【００６３】
次に、検索部２２ｂが、記憶部２１に格納された第１データベースを検索し、ユーザ識別子IDU(SP)に対応付けられた認証装置４０の公開鍵PKU(IDP)を抽出し、読み書き部２２ａが、第２応答情報RES11が含む検証結果AUTR1と電子署名Sign(AUTR1)とを読み出し、署名検証部２２ｆが、公開鍵PKU(IDP)と検証結果AUTR1とを用いて電子署名Sign(AUTR1)の検証を行う（ステップＳ１３６）。なお、この検証は、検証結果AUTR1=[合格]であることと、電子署名Sign(AUTR1)が合格であることの検証である。すなわち、本形態の署名検証部２２ｆは、認証結果AUTR1=[合格]であり、なおかつ、電子署名Sign(AUTR1)が正当なものであると判定した場合に電子署名Sign(AUTR1)が合格であると判定して検証結果AUTR3=[合格]を出力し、それ以外の場合に不合格であると判定して検証結果AUTR3=[不合格]を出力する（ステップＳ１３７）。その後、第１実施形態で説明したステップＳ３８〜Ｓ４５の処理が実行される。
【００６４】
〔第１実施形態の変形例２〕
次に、第１実施形態の変形例２を説明する。第１実施形態では、サービス提供装置２０の記憶部２１に１つの認証制御装置３０の宛先情報LOC(IDXP)を格納しておき、サービス提供装置２０は宛先情報LOC(IDXP)によって宛先が特定される認証制御装置３０にアクセスする構成であった。しかし、第１実施形態の変形例２では、第１データベースを、サービス提供対象の各ユーザをそれぞれ識別する各ユーザ識別子ID(SP)と、各ユーザ識別子ID(SP)に一対一で対応付けられた各匿名識別子ID(AN)と、各ユーザ識別子ID(SP)に対応付けられた認証制御装置３０の宛先情報LOC(IDXP)とを含むデータベースとする。そして、サービス提供装置２０は、第１データベースを検索し、第１認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた認証制御装置３０の宛先情報LOC(IDXP)（ユーザ識別子IDU(SP)に対応付けられた宛先情報LOC(IDXP)をLOCU(IDXP)と表現する）をさらに抽出し、宛先情報LOCU(IDXP)を用い、第２認証要求情報AUTREQ2を宛先情報LOCU(IDXP)で宛先が特定される認証制御装置３０に送信する。これにより、ユーザごとに認証制御装置を相違させることができるため、たとえ、何れかのユーザに対応する認証制御装置が攻撃者に漏洩したとしても、他のユーザに対応する認証制御装置の宛先は攻撃者に知られない。これにより、攻撃者が正当なサービス提供装置に成りすまして行うフィッシング詐欺のような不正行為をより効果的に防止できる。以下では、第１実施形態との相違点を中心に説明する。
【００６５】
図１６は、第１実施形態の変形例２におけるサービス提供装置２２０の機能構成を例示したブロック図である。
【００６６】
この変形例の第１実施形態との構成上の相違点は、サービス提供装置２０がサービス提供装置２２０に置換される点である。また、図１６に例示するように、サービス提供装置２０とサービス提供装置２２０からの相違点は、記憶部２１に格納される第１データベースのデータ構成が異なる点と、検索部２２ｂが検索部２２２ｂに置換される点である。図１６に示すように、この変形例の第１データベースは、各ユーザ識別子ID(SP)に対し、さらに、各ユーザ識別子ID(SP)にそれぞれ対応する各認証制御装置３０の宛先情報LOC(IDXP)が対応付けられている。
【００６７】
図１７は、第１実施形態の変形例２のユーザ認証方法を説明するためのフローチャートである。
【００６８】
このユーザ認証処理では、まず、第１実施形態のステップＳ１１〜Ｓ１３の処理が実行される。次に、検索部２２２ｂが、記憶部２１に格納された第１データベースを検索し、第１認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられた匿名識別子IDU(AN)と、認証制御装置３０の宛先情報LOCU(IDXP)とを抽出する（ステップＳ２１４）。また、読み書き部２２ａが、記憶部２１からサービス提供装置２０の宛先情報LOC(SP)と、第１認証要求情報AUTREQ1が含むセッション識別子SIDUとを読み出す。認証要求生成部２２ｃは、検索部２２ｂが抽出したユーザ識別子IDU(SP)及び宛先情報LOCU(IDXP)と、読み書き部２２ａが読み出した宛先情報LOC(SP)と、セッション識別子SIDUとを用い、これらを含む第２認証要求情報AUTREQ2=[送信先の宛先情報，送信元の宛先情報，匿名識別子，セッション識別子]=[LOCU(IDXP), LOC(SP), IDU(AN), SIDU]を生成する（ステップＳ２１５）。その後、第１実施形態で説明したステップＳ１６〜Ｓ４５の処理が実行される。
【００６９】
〔第１実施形態の変形例３〕
第１実施形態では、認証装置４０での認証結果AUTR1が合格であるか不合格であるかに拘わらず、認証装置４０が秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)を生成し、それを含む第１応答情報RES1を認証制御装置３０に送信することとした。しかし、認証装置４０での認証結果AUTR1が合格である場合にのみ、認証装置４０が秘密鍵SK(IDP)を用いて認証結果AUTR1の電子署名Sign(AUTR1)を生成し、それを含む第１応答情報RES1を認証制御装置３０に送信し、認証装置４０での認証結果AUTR1が不合格である場合にはエラー情報を認証制御装置３０に送信する構成としてもよい。この場合、認証制御装置３０は、電子署名Sign(AUTR1)が正当であるか否かを検証するだけでユーザ認証が合格であったか否かを確認できる。同様に、認証制御装置３０での検証結果AUTR2が合格である場合にのみ、認証制御装置３０が秘密鍵SK(IDXP)を用いて認証結果AUTR2の電子署名Sign(AUTR2)を生成し、それを含む第２応答情報RES2をサービス提供装置２０に送信し、認証制御装置３０での検証結果AUTR2が不合格である場合にはエラー情報をサービス提供装置２０に送信する構成としてもよい。この場合、サービス提供装置２０は、電子署名Sign(AUTR2)が正当であるか否かを検証するだけでユーザ認証が合格であったか否かを確認できる。
【００７０】
〔第２実施形態〕
次に、本発明の第２実施形態を説明する。本形態は第１実施形態の変形例であり、ネットワーク上に設けられたサーバ装置を用いて認証装置が構成され、各ユーザがユーザインタフェースを用いた直接認証装置に対する情報の入出力を行うことができない形態である。以下では、第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【００７１】
＜構成＞
図１８は、第２実施形態のユーザ認証システム３００の機能構成を例示したブロック図である。また、図１９は、図１８に例示した認証制御装置３３０の機能構成を例示したブロック図であり、図２０は、図１８に例示した認証装置３４０の機能構成を例示したブロック図である。
【００７２】
図１８に例示するように、第２実施形態のユーザ認証システム３００は、第１実施形態のユーザ認証システム１の認証制御装置３０を認証制御装置３３０に置換し、認証装置４０を認証装置３４０に置換したものである。また、図１９に例示するように、本形態の認証制御装置３３０は、第１実施形態の認証制御装置３０の検索部３２ｂが検索部３３２ｂに置換され、第２データベースのデータ構成を変更したものである。なお、本形態の第２データベースは、第１データベースが含む各匿名識別子ID(AN)と、各匿名識別子ID(AN)に対応付けられた認証装置の宛先情報LOC(IDP)と、各匿名識別子ID(AN)に対応付けられたユーザごとの認証用識別子ID(IDP)とが対応付けられたものとなる。また、図２０に例示するように、本形態の認証装置３４０は、第１実施形態の認証装置４０の認証処理部４２ｂが認証処理部３４２ｂに置換され、記憶部４１にユーザごとの認証用識別子ID(IDP)とパスワードPWDとが対応付けられて格納されたものである。
【００７３】
図２１は、第２実施形態のユーザ認証方法を説明するためのフローチャートである。
【００７４】
本形態のユーザ認証処理では、まず、第１実施形態で説明したステップＳ１１〜Ｓ１９の処理を実行し、ステップＳ１８で第２認証要求情報AUTREQ2の送信元の宛先情報LOC(SP)が、記憶部３１に格納された許可テーブルの要素[LOC(SP), LOC(IDP)]と一致すると判定された場合、読み書き部３２ａが第２認証要求情報AUTREQ2を記憶部３１に格納する。そして、検索部３３２ｂが、記憶部３１に格納された第２データベースを検索し、第２認証要求情報AUTREQ2が含む匿名識別子IDU(AN)に対応する認証装置４０の宛先情報LOC(IDP)と認証用識別子ID(IDP)とを抽出する（ステップＳ３２０）。なお、以下では、匿名識別子IDU(AN)に対応する識別子ID(IDP)をIDU(IDP)と表現する。次に、読み書き部３２ａが、記憶部３１から、認証制御装置３０の宛先情報LOC(IDXP)と、第２認証要求情報AUTREQ2が含むセッション識別子SIDUとを読み出す。そして、認証要求生成部３２ｃが、検索部３３２ｂで抽出された宛先情報LOCU(IDP)と認証用識別子ID(IDP)と、読み書き部３２ａで読み出された宛先情報LOC(IDXP)と、セッション識別子SIDUとを用い、これらを含む第３認証要求情報AUTREQ3=[送信先の宛先情報，送信元の宛先情報，認証用識別子，セッション識別子]=[LOCU(IDP), LOC(IDXP), IDU(IDP), SIDU]を生成する（ステップＳ３２１）。その後、第１実施形態のステップＳ２３〜Ｓ４５と同様の処理が実行される。ただし、本形態のステップＳ２４において認証装置３４０で行われる認証処理は、第３認証要求情報AUTREQ3が送信された認証装置３４０の認証処理部３４２ｂが、第３認証要求情報AUTREQ3が含む認証用識別子IDU(IDP)を用い、ユーザ端末装置１０を利用するユーザの認証処理を行う処理となる。例えば、ステップＳ２４において認証装置３４０が、ユーザ端末装置１０にゼロ知識証明等によってパスワードPWDに対応する情報を送信させ、認証処理部３４２ｂが、第３認証要求情報AUTREQ3が含む認証用識別子IDU(IDP)に対応するPWDを記憶部４１から抽出し、ユーザ端末装置１０から送信されたパスワードPWDに対応する情報が正しいか否かを検証する。
【００７５】
〔第２実施形態の変形例１〕
次に、第２実施形態の変形例１を説明する。第２実施形態の変形例１では、ユーザ端末装置がサービス提供装置との間で簡易なパスワード認証を行い、そのパスワード認証が合格であった場合にのみ認証装置での強固な認証処理が実行される。これにより、不正なユーザ端末装置がランダム文字列などの不正な情報をサービス提供装置及び認証制御装置を経由して認証装置４０に送りつける不正行為を防止できる。
【００７６】
図２２は、第２実施形態の変形例１におけるユーザ端末装置４１０の機能構成を例示したブロック図である。また、図２３は、第２実施形態の変形例１におけるサービス提供装置４２０の機能構成を例示したブロック図である。
【００７７】
本変形例のユーザ認証システムは、第１実施形態のユーザ認証システム１のユーザ端末装置１０がユーザ端末装置４１０に置換され、サービス提供装置２０がサービス提供装置４２０に置換されたものである。図２２に例示するように、ユーザ端末装置４１０は、第１，２実施形態のサービス提供装置の認証要求生成部１２ｂを認証要求生成部４１２ｂに置換したものである。また、
図２３に例示するように、サービス提供装置４２０は、第１データベースにおいて各ユーザ識別子ID(SP)に各ユーザに設定されたパスワードが対応付けられる点、及び、パスワード認証部４２２ｇを備える点で第１，２実施形態のサービス提供装置と相違する。
【００７８】
図２４は、第２実施形態の変形例１のユーザ認証方法を説明するためのフローチャートである。
【００７９】
本変形例のユーザ認証処理では、まず、ユーザ端末装置４１０（図２２）の入力部１８に、ユーザ端末装置４１０を利用するユーザのユーザ識別子ID(SP)とパスワードPWDが入力され、読み書き部１２ａによって記憶部１１に格納される。次に、読み書き部１２ａが、記憶部１１から、ユーザ端末装置４１０の宛先情報LOC(UT)と、サービス提供装置４２０の宛先情報LOC(SP)と、パスワードPWDと、ユーザ識別子IDU(SP)と、セッション識別子SIDUとを読み出す。そして、認証要求生成部４１２ｂが、これらの情報を含む第１認証要求情報AUTREQ1=[送信先の宛先情報，送信元の宛先情報，パスワード，ユーザ識別子，セッション識別子]=[LOC(SP), LOC(UT), PWD, IDU(SP), SIDU]を生成する（ステップＳ４１１）。その後、第１実施形態で説明したステップＳ１２，Ｓ１３の処理が実行された後、サービス提供装置４２０（図２３）のパスワード認証部４２２ｇが、記憶部２１に格納された第１データベースを検索し、第１認証要求情報AUTREQ1が含むユーザ識別子IDU(SP)に対応付けられたパスワードPWDと、第１認証要求情報AUTREQ1が含むパスワードPWDとが一致するか否かを判定する（ステップＳ４１４）。ここで、これらが一致しなかった場合、送信部２４からエラー情報がユーザ端末装置４１０に送信される（ステップＳ４５）。一方、これらが一致した場合には、第１実施形態で説明したステップＳ１４〜Ｓ４５の処理が実行される。なお、ステップＳ４１４のパスワード認証処理を、ゼロ知識証明を利用して行うこととし、第１認証要求情報AUTREQ1がパスワードPWD自身を含まない構成であってもよい。
【００８０】
〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第１実施形態で説明した変形例を第２実施形態に組み合わせてもよい。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、各装置間で送受信される情報の構成やセッション管理の方法などに関し、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００８１】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００８２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００８３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００８４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８５】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００８６】
本発明の利用分野としては、例えば、オンラインバンクやオンラインショップ等に利用されるシングルサインオンシステムを例示できる。
【図面の簡単な説明】
【００８７】
【図１】従来のシングルサインオンの処理手順を例示するためのシーケンス図。
【図２】第１実施形態のユーザ認証システムの機能構成を例示したブロック図。
【図３】図２に例示したユーザ端末装置の機能構成を例示したブロック図。
【図４】図２に例示したサービス提供装置の機能構成を例示したブロック図。
【図５】図２に例示した認証制御装置の機能構成を例示したブロック図。
【図６】図２に例示した認証装置の機能構成を例示したブロック図。
【図７】第１実施形態のユーザ認証方法を説明するためのシーケンス図。
【図８】第１実施形態のユーザ認証方法を説明するためのフローチャート。
【図９】第１実施形態のユーザ認証方法を説明するためのフローチャート。
【図１０】第１実施形態のユーザ認証方法を説明するためのフローチャート。
【図１１】第１実施形態のユーザ認証方法を説明するためのフローチャート。
【図１２】第１実施形態の変形例１におけるユーザ認証システムの機能構成を例示したブロック図。
【図１３】第１実施形態の変形例１のユーザ認証方法を説明するためのシーケンス図。
【図１４】第１実施形態の変形例１のユーザ認証方法を説明するためのフローチャート。
【図１５】第１実施形態の変形例１のユーザ認証方法を説明するためのフローチャート。
【図１６】第１実施形態の変形例２におけるサービス提供装置の機能構成を例示したブロック図。
【図１７】第１実施形態の変形例２のユーザ認証方法を説明するためのフローチャート。
【図１８】第２実施形態のユーザ認証システムの機能構成を例示したブロック図。
【図１９】図１８に例示した認証制御装置の機能構成を例示したブロック図。
【図２０】図１８に例示した認証装置の機能構成を例示したブロック図。
【図２１】第２実施形態のユーザ認証方法を説明するためのフローチャート。
【図２２】第２実施形態の変形例１におけるユーザ端末装置の機能構成を例示したブロック図。
【図２３】第２実施形態の変形例１におけるサービス提供装置の機能構成を例示したブロック図。
【図２４】第２実施形態の変形例１のユーザ認証方法を説明するためのフローチャート。
【符号の説明】
【００８８】
１，１００，３００  ユーザ認証システム
【図１】
2010140218.tif 000003
【図２】
2010140218.tif 000004
【図３】
2010140218.tif 000005
【図４】
2010140218.tif 000006
【図５】
2010140218.tif 000007
【図６】
2010140218.tif 000008
【図７】
2010140218.tif 000009
【図８】
2010140218.tif 000010
【図９】
2010140218.tif 000011
【図１０】
2010140218.tif 000012
【図１１】
2010140218.tif 000013
【図１２】
2010140218.tif 000014
【図１３】
2010140218.tif 000015
【図１４】
2010140218.tif 000016
【図１５】
2010140218.tif 000017
【図１６】
2010140218.tif 000018
【図１７】
2010140218.tif 000019
【図１８】
2010140218.tif 000020
【図１９】
2010140218.tif 000021
【図２０】
2010140218.tif 000022
【図２１】
2010140218.tif 000023
【図２２】
2010140218.tif 000024
【図２３】
2010140218.tif 000025
【図２４】
2010140218.tif 000026