ユーザ認証方法、ユーザ認証装置、プログラム及び記録媒体
【課題】認証情報が第三者に盗聴される危険性を物理的に防止できるシングルサインオン技術を提供する。
【解決手段】ユーザ認証装置20のユーザインタフェースである入力部21が、認証情報の入力を受け付ける。ユーザ認証装置の認証処理部22は、この認証情報を用い、別の筺体に構成されたユーザ装置10を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する。ユーザ認証装置20の送信部23はこの認証結果情報を送信し、この認証結果情報は、目的サーバ装置30の受信部31に受信される。そして、認証結果情報を受信した目的サーバ装置の許可部32は、目的サーバ装置とユーザ装置との間でのサービス情報の通信を許可する。
【解決手段】ユーザ認証装置20のユーザインタフェースである入力部21が、認証情報の入力を受け付ける。ユーザ認証装置の認証処理部22は、この認証情報を用い、別の筺体に構成されたユーザ装置10を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する。ユーザ認証装置20の送信部23はこの認証結果情報を送信し、この認証結果情報は、目的サーバ装置30の受信部31に受信される。そして、認証結果情報を受信した目的サーバ装置の許可部32は、目的サーバ装置とユーザ装置との間でのサービス情報の通信を許可する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザ認証を行うユーザ認証技術に関し、特にシングルサインオン技術に関する。
【背景技術】
【0002】
ユーザの認証が必要な複数のWebサイトを利用する場合、通常、ユーザはWebサイト毎に異なる認証情報(IDやパスワード等)を端末装置等に入力し、認証を受けなければならない。しかし、これでは認証情報の管理や認証手続きが煩雑である。
【0003】
このような問題を解決する従来技術にシングルサインオン(SSO:Single Sign-On)技術が存在する。この技術は、一度行われた認証の結果を複数のWebサイトへ引き継ぐことにより、Webサイト毎の認証処理を不要とする技術である。すなわち、シングルサインオン技術を用いたシステムの場合、ユーザは1度の認証を受けるだけで、複数のWebサイトを利用できる。
【0004】
このようなシングルサインオン技術をSAML(Security Assertion Markup Language)(例えば、非特許文献1参照)によって実現した場合の処理手順は、例えば、以下のようになる。
【0005】
1.ユーザ装置がネットワークを通じて認証サーバ装置にアクセスし、認証情報を認証サーバ装置に示し、認証サーバ装置の認証を受ける。
2.ユーザ装置がネットワークを通じてサービス提供用の目的サーバ装置にアクセスする。
3.目的サーバ装置がネットワークを通じて認証サーバ装置にアクセスし、認証サーバ装置から認証結果を取得する。
4.その後、ユーザ装置はネットワークを通じて目的サーバ装置を利用できる。
【非特許文献1】OASIS(Organization for the Advancement of Structured Information Standards)、“Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML)”、[online]、平成14年5月31日、[平成19年6月5日検索]、インターネット〈URL:http://www.oasis-open.org/committees/security/#documents〉
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、従来のSAMLを用いたシングルサインオンモデルでは、認証情報が第三者に盗聴される危険性がある。
【0007】
すなわち、上述のように従来のSAMLに基づくシングルサインオン技術では、まず、ユーザ装置がネットワークを通じて認証サーバ装置にアクセスし、認証情報を認証サーバ装置に提示しなければならない。ところが、インターネット等の安全ではないネットワークの場合、ユーザ装置がネットワークを通じて認証サーバ装置に認証情報を提示する際、その認証情報が第三者に盗聴されてしまう可能性がある。また、このような盗聴を防止するために暗号技術を用いることもできるが、暗号化処理のための煩雑な処理が必要となる。また、量子コンピュータの実現や新たなアルゴリズムの開発等により暗号の安全性が低下することも想定できる。このような問題は、SAMLに基づくシングルサインオン技術に限定されるものではなく、ユーザ装置がネットワークを通じて認証サーバ装置にアクセスし、認証情報を認証サーバ装置に提示しなければならないシングルサインオン技術に共通するものである。
【0008】
本発明はこのような点に鑑みてなされたものであり、認証情報が第三者に盗聴される危険性を物理的に防止できるシングルサインオン技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明では、ユーザ認証装置のユーザインタフェースである入力部が、認証情報の入力を受け付ける。ユーザ認証装置の認証処理部は、この認証情報を用い、別の筺体に構成されたユーザ装置を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する。ユーザ認証装置の送信部はこの認証結果情報を送信し、この認証結果情報は、目的サーバ装置の受信部に受信される。そして、認証結果情報を受信した目的サーバ装置の許可部は、目的サーバ装置とユーザ装置との間でのサービス情報の通信を許可する。
【発明の効果】
【0010】
本発明により、認証情報が第三者に盗聴される危険性を物理的に防止できるシングルサインオン技術を実現できる。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0012】
〔基本原理〕
<基本構成>
まず、本発明の基本構成を例示する。
図1は、本発明の基本構成を具備するユーザ認証システム1の構成を例示した概念図である。図1の例のユーザ認証システム1は、ネットワーク40を介して通信可能に接続されたユーザ装置10とユーザ認証装置20と目的サーバ装置30とを具備する。ここで、ユーザ装置10は、ユーザがサービス情報の提供を受けるための装置である。また、ユーザ認証装置20は、ユーザ装置10と別の筺体に構成され、ユーザ装置10を利用するユーザのユーザ認証を行う装置であり、ユーザインタフェースである入力部21と認証処理部22と送信部23とを具備する。また、目的サーバ装置30は、ユーザ装置10にサービス情報を提供する装置である。
【0013】
<基本処理>
次に、本発明の基本処理を例示する。
まず、ユーザ認証装置20のユーザインタフェースである入力部21に、認証情報が入力される(認証情報入力過程)。次に、ユーザ認証装置20の認証処理部22が、この認証情報を用い、別の筺体に構成されたユーザ装置10を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する(認証結果情報生成過程)。次に、ユーザ認証装置20の送信部23が、認証結果情報を送信する(認証結果情報送信過程)。当該認証結果情報は、ネットワーク40を通じて目的サーバ装置30に送信され、目的サーバ装置30の受信部31に受信される(認証結果情報受信過程)。その後、この認証結果情報を受信した目的サーバ装置30の許可部32が、目的サーバ装置30とユーザ装置10との間でのサービス情報通信を許可し(許可過程)、ネットワーク40を通じ、ユーザ装置10に対してサービス情報を提供する。
【0014】
<基本的な特徴>
以上のように、ユーザは、ユーザ認証装置20のユーザインタフェースである入力部21に対して認証情報を入力し、ユーザ認証装置20は、この認証情報を用い、別の筺体に構成されたユーザ装置10を使用するユーザの認証処理を行う。この場合、認証情報はネットワーク40を経由することなく認証処理に利用される。そのため、認証情報がネットワーク40上の第三者に盗聴されることはない。
【0015】
また、ユーザ認証装置20で行われた認証処理の結果を示す認証結果情報が目的サーバ装置30に送られ、認証結果情報が送られた目的サーバ装置30は、目的サーバ装置30とユーザ装置10との間でのサービス情報の通信を許可する。この方式の場合、複数の目的サーバ装置に対するユーザの認証処理をユーザ認証装置が代行できる。その結果、シングルサインオン機能を実現できる。
【0016】
さらに、ユーザ認証装置20は、ユーザ装置10と別の筺体に構成されている。そのため、ユーザ認証装置20を所持するユーザは、任意の装置をユーザ装置10として利用することができる。
【0017】
〔第1実施形態〕
次に、本発明の第1実施形態について説明する。
【0018】
<構成>
図2は、第1実施形態のユーザ認証システム100の全体構成を例示した概念図である。また、図3は、ユーザ装置110の詳細構成を例示したブロック図である。また、図4は、ユーザ認証装置120の詳細構成を例示したブロック図であり、図5は、ユーザ認証装置120の具体例を示す外観図である。また、図6は、目的サーバ装置130の詳細構成を例示したブロック図である。
【0019】
図2に例示するように、本形態のユーザ認証システム100は、ネットワーク140を通じて通信可能に構成されたユーザ装置110とユーザ認証装置120と目的サーバ装置130とを有する。なお、図2では、1つずつのユーザ装置110とユーザ認証装置120と目的サーバ装置130のみを図示するが、ユーザ装置110とユーザ認証装置120と目的サーバ装置130の少なくとも1つが、2個以上存在する構成であってもよい。
【0020】
図3に例示するように、この例のユーザ装置110は、入力部111と出力部112と送信部113と受信部114と通信処理部115と記憶部116とユーザ装置110全体を制御する制御部117とを有する。なお、この例のユーザ装置110は、キーボードや入力キーやマウスやタッチパネルなどの入力装置、ディスプレイやスピーカ等の出力装置、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等から構成される公知のコンピュータに所定のプログラム(OS〔Operating System〕やWebブラウザ等のアプリケーションプログラム等)が読み込まれ、CPUがこれらのプログラムを実行することにより構成される。また、ユーザ装置110を構成する公知のコンピュータとしては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)端末装置、携帯電話端末装置等を例示できる。
【0021】
図4に例示するように、この例のユーザ認証装置120は、入力部121と出力部122と送信部123と受信部124と通信処理部125と認証処理部126と署名生成部127と記憶部128とユーザ認証装置120全体を制御する制御部129とを有する。なお、入力部121と出力部122は、それぞれユーザインタフェースである。すなわち、入力部121は、ユーザが入力した情報を、ネットワークを介することなく、ユーザ認証装置120に伝達する構成部である。また、出力部122は、ユーザ認証装置120が、ネットワークを介することなく、情報をユーザに出力する構成部である。また、この例のユーザ認証装置120は、キーボードや入力キーやマウスやタッチパネルなどの入力装置、ディスプレイやスピーカやバイブレーション装置等の出力装置、CPU、RAM、ROM等から構成される公知のコンピュータに所定のプログラムが読み込まれ、CPUが当該プログラムを実行することにより構成される。このようなユーザ認証装置120を構成する公知のコンピュータとしては、例えば、パーソナルコンピュータ、PDA端末装置、携帯電話端末装置等を例示できる。しかし、本形態では、一例として、移動体通信端末装置である携帯電話端末装置を用い、ユーザ認証装置120を構成する例を示す。この場合、入力キーが入力部121に相当し、液晶画面が出力部122に相当する(図5)。
【0022】
図6に例示するように、この例の目的サーバ装置130は、受信部131と送信部132と通信処理部133と認証結果検証部134と許可部135と記憶部136と目的サーバ装置130全体を制御する制御部137とを有する。なお、この例の目的サーバ装置130は、CPU、RAM、ROM等から構成される公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。また、目的サーバ装置130を構成する公知のコンピュータとしては、例えば、サーバマシン等を例示できる。
【0023】
なお、ユーザ装置110とユーザ認証装置120と目的サーバ装置130とは、別筺体に構成された装置であり、相互に物理的に分離されている。
【0024】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
まず、ユーザ認証処理の前処理として、ユーザ認証装置120の記憶部128に第1秘密鍵が安全に格納され、目的サーバ装置130の記憶部136に第1公開鍵が格納される。ここで、第1秘密鍵と第1公開鍵は、RSA等の公開鍵暗号方式の非対称鍵ペアである。このような前処理を前提にユーザ認証処理が行われる。
【0025】
図7,8は、第1実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、これらの図に従い、第1実施形態のユーザ認証処理を説明する。
【0026】
まず、ユーザ装置110がネットワーク140を通じて目的サーバ装置130にアクセスし、ログイン要求を目的サーバ装置130に送信する。すると、目的サーバ装置130(図6)の通信処理部133は、アドレス入力指示情報を送信部132に出力し、送信部132は、ネットワーク140を通じ、アドレス入力指示情報をユーザ装置110に送信する。ユーザ装置110(図3)の受信部114は、このアドレス入力指示情報を受信し、通信処理部115は、このアドレス入力指示情報を出力部112に送り、出力部112は、このアドレス入力指示情報を出力する(ステップS1)。
【0027】
なお、「アドレス入力指示情報」とは、ユーザ認証装置120のアドレス情報(宛先情報)であるユーザ認証装置アドレス情報の入力を、ユーザに促す指示情報である。アドレス入力指示情報は、例えば、ユーザ装置110の出力部112であるディスプレイにポップアップウインドウとして表示される。図9(a)は、ポップアップウインドウ200として表示されたアドレス入力指示情報を例示した図である。この例のアドレス入力指示情報は、「お客様のMobile IdPのURLを入力してください。」とのメッセージと、ユーザ認証装置アドレス情報の入力欄201と、「OK」及び「キャンセル」のボタン表示部202,203とを有する画像である。
【0028】
出力されたアドレス入力指示情報を知覚したユーザは、ユーザ装置110(図3)の入力部111へユーザ認証装置アドレス情報を入力する(ステップS2)。例えば、図9(a)の例の場合、ユーザは、入力部111を用い、ポップアップウインドウ200の入力欄201に自らが使用可能なユーザ認証装置120のユーザ認証装置アドレス情報を入力し、「OK」のボタン表示部202をオン操作(クリック等)する。
【0029】
入力されたユーザ認証装置アドレス情報は、一旦、記憶部116に格納される。通信処理部115は、記憶部116からユーザ認証装置アドレス情報を読み出し、これを、サービス要求情報(サービス要求内容を含む)とユーザ装置110のアドレス情報(宛先情報)であるユーザ装置アドレス情報と共に、送信部113に送る。送信部113は、サービス要求情報とユーザ認証装置アドレス情報とユーザ装置アドレス情報とを、ネットワーク140経由で、目的サーバ装置130に送信する(ステップS3)。この送信は、例えば、HTTP要求として行う。
【0030】
これらの情報は目的サーバ装置130(図6)の受信部131で受信され(ステップS4)、通信処理部133に送られる。通信処理部133は、送られたユーザ認証装置アドレス情報とユーザ装置アドレス情報を、記憶部136に格納する。また、通信処理部133は、当該サービス要求情報に対応するセッション情報を生成し(ステップS5)、そのセッション情報を当該サービス要求情報に対応付けて記憶部136に格納する。
【0031】
次に、通信処理部133は、ユーザ認証装置アドレス情報とセッション情報とユーザ装置アドレス情報を記憶部136から読み出す。そして、通信処理部133は、これらを、認証要求情報(例えば「authnReq」コマンド)と目的サーバ装置130のアドレス情報(宛先情報)である目的サーバ装置アドレス情報とともに、送信部132に送る。送信部132は、認証要求情報とユーザ認証装置アドレス情報と目的サーバ装置アドレス情報とセッション情報とを、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置110に、ネットワーク140経由で送信する(ステップS6)。具体的には、送信部132は、例えば、認証要求情報と目的サーバ装置アドレス情報とセッション情報とを含む情報を、ユーザ認証装置アドレス情報が示すアドレスをリダイレクト先に指定したHTTPリダイレクト応答としてユーザ装置110に送信する。
【0032】
これらの情報は、ユーザ装置110(図3)の受信部114で受信され(ステップS7)、通信処理部115によって記憶部116に一旦格納される。そして、通信処理部115は、自らのユーザ装置アドレス情報と、記憶部116から読み込んだ認証要求情報と目的サーバ装置アドレス情報とセッション情報とを、記憶部116から読み込んだユーザ認証装置アドレス情報によって宛先が特定されるユーザ認証装置120に送信する(ステップS8)。この送信は、例えば、HTTPリダイレクトとして行われる。
【0033】
認証要求情報と目的サーバ装置アドレス情報とセッション情報とユーザ装置アドレス情報とは、ユーザ認証装置120(図4)の受信部124で受信される(ステップS9)。受信された目的サーバ装置アドレス情報とセッション情報とユーザ装置アドレス情報とは、通信処理部125によって記憶部128に格納される。また、これをトリガに、認証処理部126がユーザインタフェースである出力部122から入力指示情報を出力する(ステップS10)。
【0034】
なお、「入力指示情報」とは、ユーザ認証に必要な「認証情報」の入力をユーザに促す指示情報である。本形態の例では、ユーザの認証を行うか否かの選択情報の入力を指示する情報を「入力指示情報」として出力する。なお、入力指示情報は、画像、動画、音声、バイブレーション等どのようなものであってもよい。図9(b)は、出力部122から出力された入力指示情報の例示である。この例の入力指示情報は、「認証結果を送ってもよろしいですか?」とのメッセージと、「はい」及び「いいえ」のボタン表示部211,212とを有する画像210である。
【0035】
出力された入力指示情報を知覚したユーザは、ユーザインタフェースであるユーザ認証装置120の入力部121へ認証情報を入力する(ステップS11/認証情報入力過程)。本形態の例の「認証情報」は、ユーザの認証を行うか否かの選択情報である。例えば、入力指示情報が図9(b)に例示した画像210であった場合、ユーザは、入力部121を用い、「はい」のボタン表示部211又は「いいえ」のボタン表示部212を選択する。
【0036】
入力部121に入力された認証情報は、認証処理部126に送られる。本形態の認証処理部126は、認証情報が「ユーザの認証を行う旨の選択情報」であることを条件に、ユーザの認証が成功である旨の認証結果情報を生成し、当該認証結果情報を記憶部128に格納する(ステップS12/認証結果情報生成過程)。これは、ユーザがユーザ認証装置120の入力部121に情報を入力できる環境にいる(例えば、当該ユーザがユーザ認証装置120を所持している)ということを根拠に、当該ユーザが正当なユーザであることを認証していることになる。
【0037】
次に、署名生成部127が、記憶部128から第1秘密鍵と認証結果情報とを読み込み、認証結果情報を含む情報を、公開鍵暗号方式により第1秘密鍵を用いて暗号化した署名情報を生成し、当該署名情報を記憶部128に格納する(ステップS13/署名情報生成過程)。その後、通信処理部125が、記憶部128からユーザ装置アドレス情報と認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とを読み込み、これらを送信部123に送る。送信部123は、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とを、ネットワーク140を通じ、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置110に送信する(ステップS14/証結果情報送信過程)。具体的には、例えば、認証結果情報と署名情報とセッション情報とが目的サーバ装置アドレス情報を宛先としてPOSTされるためのFORMタグを、HTTP応答に含める。図10は、このようなHTTP応答の記述を例示した図である。図10の例では、FORMタグの要素として、POST先である目的サーバ装置アドレス情報221と認証結果情報(署名情報含む)222とセッション情報223と認証結果情報224とが記述されている。その他、HTTP応答の要素をデータ圧縮したり、Base64等でテキストエンコーディングしたりしてもよい。なお、図10の例の認証結果情報(署名情報含む)222は、認証結果情報及びそれに対する署名情報をBase64エンコードした例である。
【0038】
送信された認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とは、ユーザ装置110(図3)の受信部114で受信される(ステップS15)。そして、これらの情報は、通信処理部115によって記憶部116に格納される。また、通信処理部115が、記憶部116から、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とを読み込み、送信部113が、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置130に、認証結果情報と署名情報とセッション情報とを送信する(ステップS16)。具体的には、送信部113は、例えば、図10に例示したHTTP応答のFORMをPOSTする。
【0039】
認証結果情報と署名情報とセッション情報とは、目的サーバ装置130(図6)の受信部131で受信され(ステップS17/認証結果情報受信過程)、通信処理部133がこれらを記憶部136に格納する。
【0040】
次に、認証結果検証部134が、記憶部136から第1公開鍵と認証結果情報と署名情報とを読み込み、第1公開鍵を用いて署名情報を復号し、復号結果と認証結果情報とを比較する。認証結果検証部134は、この比較によって署名情報を検証して認証結果情報の正当性を判定し、その判定結果を出力する(ステップS18/認証結果検証過程)。この判定結果は許可部135に入力される。ここで、この判定結果が、認証結果情報が正当でない旨の判定結果(検証不合格)であった場合(ステップS19)、許可部135はユーザ装置110のログインを拒否する(ステップS20)。一方、この判定結果が、認証結果情報が正当である旨の判定結果(検証合格)であった場合(ステップS19)、許可部135はユーザ装置110のログインを許可し(ステップS21/許可過程)、目的サーバ装置130とユーザ装置110との間でのサービス情報の通信を許可する。
【0041】
サービス情報の通信が許可された場合、通信処理部133は、記憶部136から、ユーザ装置アドレス情報と、セッション情報に対応付けられているサービス要求情報とを読み込む。そして、通信処理部133は、当該サービス要求情報によって特定されるサービス要求に対応するサービス情報を特定する。送信部132は、特定されたサービス情報を、当該ユーザ装置アドレス情報によって特定されるユーザ装置110に、ネットワーク140経由で送信する(ステップS22)。
【0042】
<本形態の特徴>
本形態の場合、ユーザは、ネットワーク140を利用することなく、ユーザ認識処理に必要な認証情報をユーザ認証装置120に提示できる。そのため、認証情報がネットワーク140上の第三者に盗聴されることはない。
【0043】
また、ユーザ認証処理をユーザ認証装置120が行い、その認証結果を目的サーバ装置330が利用することでシングルサインオン機能を実現できる。
【0044】
さらに、ユーザ認証装置120は、ユーザ装置110と別の筺体に構成されている。そのため、ユーザ認証装置120を所持するユーザは、任意の装置をユーザ装置110として利用することができる。
【0045】
また、本形態では、ユーザがユーザ認証装置120のユーザインタフェースを介して入力指示情報の知覚と認証情報の入力ができることを根拠に、ユーザの正当性を確認できる。そのため、パスワード等の煩雑な個人認証処理を行うことなく、ユーザの正当性を確認できる(図9等参照)。
【0046】
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。
本形態は、第1実施形態の変形例であり、信用できる証明書発行サーバ装置が、目的サーバ装置毎の公開鍵証明書を発行し、ユーザ認証装置がその公開鍵証明書に対応する秘密鍵を用いて認証結果情報の署名情報を生成する点に特徴がある(権限委譲方式)。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
【0047】
<構成>
図11は、第2実施形態のユーザ認証システム300の全体構成を例示した概念図である。また、図12は、ユーザ装置310の詳細構成を例示したブロック図である。また、図13は、ユーザ認証装置320の詳細構成を例示したブロック図である。また、図14は、目的サーバ装置330の詳細構成を例示したブロック図である。また、図15は、証明書発行サーバ装置340の詳細構成を例示したブロック図である。なお、これらの図において第1実施形態の構成と共通する部分については、第1実施形態と同じ符号を付し、説明を簡略化する。
【0048】
図11に例示するように、本形態のユーザ認証システム300は、ネットワーク140を通じて通信可能に構成されたユーザ装置310とユーザ認証装置320と目的サーバ装置330と証明書発行サーバ装置340とを有する。なお、図11では、1つの目的サーバ装置330のみを示すが、実際は複数の目的サーバ装置がネットワーク140に通信可能に接続されている。また、図11では、1つずつのユーザ装置310とユーザ認証装置320と目的サーバ装置330のみを図示するが、ユーザ装置310とユーザ認証装置320と目的サーバ装置330の少なくとも1つが、2個以上存在する構成であってもよい。
【0049】
図12に例示するように、この例のユーザ装置310は、入力部111と出力部112と送信部113と受信部114と通信処理部315と記憶部116とユーザ装置110全体を制御する制御部117とを有する。なお、この例のユーザ装置310も、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。
【0050】
図13に例示するように、この例のユーザ認証装置320は、入力部121と出力部122と送信部123と受信部124と通信処理部325と認証処理部126と署名生成部127と記憶部128とユーザ認証装置120全体を制御する制御部129と鍵ペア生成部321を有する。なお、入力部121と出力部122は、それぞれユーザインタフェースである。また、この例のユーザ認証装置320も、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。本形態では、一例として移動体通信端末装置を用いてユーザ認証装置320を構成する。
【0051】
図14に例示するように、この例の目的サーバ装置330は、受信部131と送信部132と通信処理部333と認証結果検証部134と許可部135と記憶部136と目的サーバ装置330全体を制御する制御部137と公開鍵証明書検証部331とを有する。なお、この例の目的サーバ装置330も、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。
【0052】
図15に例示するように、この例の証明書発行サーバ装置340は、受信部341と送信部342と通信処理部343と公開鍵証明書生成部344と記憶部345と証明書発行サーバ装置340全体を制御する制御部346とを有する。なお、証明書発行サーバ装置340は、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。証明書発行サーバ装置340を構成する公知のコンピュータとしては、例えば、サーバマシン等を例示できる。また、証明書発行サーバ装置340は、信頼できる認証機関が管理・運営する。
【0053】
なお、ユーザ装置310とユーザ認証装置320と目的サーバ装置330と証明書発行サーバ装置340とは、別筺体に構成された装置であり、相互に物理的に分離されている。
【0054】
<公開鍵証明書格納処理>
次に、証明書発行サーバ装置340が目的サーバ装置毎の公開鍵証明書を発行し、当該公開鍵証明書をユーザ装置310に格納するまでの処理(公開鍵証明書格納処理)を説明する。
【0055】
本形態の公開鍵証明書格納処理の前処理として、証明書発行サーバ装置340には、予めユーザ認証装置320が登録されているものとする。また、ユーザ認証装置320の記憶部128には、ユーザを識別するユーザ識別子とサービス提供を受けようとする目的サーバ装置330を識別する目的サーバ装置識別子とが格納されているものとする。さらに、証明書発行サーバ装置340の記憶部345には、公開鍵暗号方式の第2秘密鍵が安全に格納されているものとする。また、この第2秘密鍵に対応する第2公開鍵は目的サーバ装置330の記憶部136に格納されているものとする。本形態の公開鍵証明書格納処理は、このような前提のもと実行される。
【0056】
図16は、第2実施形態の公開鍵証明書格納処理を説明するためのシーケンス図である。以下、この図を用いて本形態の公開鍵証明書格納処理を説明する。
【0057】
まず、例えば、ユーザ認証装置320のアプリケーションソフトウェアを起動させたこと等を契機に、ユーザ認証装置320が証明書発行サーバ装置340に対してIDやパスワード等の認証情報を送信し、証明書発行サーバ装置340でユーザ認証装置320が認証される(ステップS101)。
【0058】
次に、ユーザ認証装置320(図13)の鍵ペア生成部321が、公開鍵暗号方式の非対称鍵ペアである第1公開鍵と第1秘密鍵とを生成し、それらを記憶部128に格納する(ステップS102)。次に、通信処理部325が、記憶部128から第1公開鍵と目的サーバ装置識別子とユーザ識別子とを読み込み、これらの情報を含む証明書発行要求情報を生成する。証明書発行要求情報とユーザ認証装置320のユーザ認証装置アドレス情報とは、送信部132に送られ、そこからネットワーク140を通じて証明書発行サーバ装置340に送信される(ステップS103)。
【0059】
そして、これらの証明書発行要求情報とユーザ認証装置アドレス情報とは、証明書発行サーバ装置340(図15)の受信部341で受信され(ステップS104)、通信処理部343によって記憶部345に格納される。また、これを契機として、公開鍵証明書生成部344が、記憶部345から、第2秘密鍵と、証明書発行要求情報が具備する第1公開鍵と目的サーバ装置識別子とユーザ識別子とを読み込む。そして、公開鍵証明書生成部344は、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む情報を、公開鍵暗号方式により第2秘密鍵を用いて暗号化した暗号文と、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む、目的サーバ装置毎の公開鍵証明書を生成し、記憶部345に格納する(ステップS105)。次に、通信処理部343が記憶部345からユーザ認証装置アドレス情報と公開鍵証明書とを読み込み、これらを送信部342に送る。送信部342は、ユーザ認証装置アドレス情報によって宛先が特定されるユーザ認証装置320に、ネットワーク140経由で、公開鍵証明書を送信する(ステップS106)。この公開鍵証明書は、ユーザ認証装置320(図13)の受信部124で受信され(ステップS107)、通信処理部325は、この公開鍵証明書を記憶部128に格納する。
【0060】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
図17は、第2実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図を用いて第2実施形態のユーザ認証処理を説明する。
【0061】
まず、ユーザ装置310とユーザ認証装置320と目的サーバ装置330とが、第1実施形態のステップS1〜S13の処理を実行する。ステップS13の処理の後、ユーザ認証装置320(図13)の通信処理部325が、記憶部128から、ユーザ装置アドレス情報と認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とを読み込み、これらを送信部123に送る。送信部123は、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とを、ネットワーク140を通じ、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置310に送信する(ステップS114)。具体的には、例えば、認証結果情報と署名情報とセッション情報とが目的サーバ装置アドレス情報を宛先としてPOSTされるためのFORMタグを、HTTP応答に含める。具体的には、例えば、認証結果情報と署名情報とセッション情報とが目的サーバ装置アドレス情報を宛先としてPOSTされるためのFORMタグを、HTTP応答に含める。図18は、このようなHTTP応答の記述を例示した図である。図18の例では、FORMタグの要素として、POST先である目的サーバ装置アドレス情報221と認証結果情報(署名情報含む)222とセッション情報223と公開鍵証明書225とが記述されている。その他、HTTP応答の要素をデータ圧縮したり、Base64等でテキストエンコーディングしたりしてもよい。
【0062】
送信された認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とは、ユーザ装置310(図12)の受信部114で受信され(ステップS115)、これらの情報は、通信処理部315によって記憶部116に格納される。そして、通信処理部315が、記憶部116から、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とを読み込み、送信部113が、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置330に、認証結果情報と署名情報とセッション情報と公開鍵証明書とを送信する(ステップS116)。具体的には、送信部113は、例えば、図18のHTTP応答のFORMをPOSTする。
【0063】
認証結果情報と署名情報とセッション情報と公開鍵証明書とは、目的サーバ装置330(図14)の受信部131で受信され(ステップS117)、通信処理部333がこれらを記憶部136に格納する。
【0064】
次に、公開鍵証明書検証部331が、記憶部136から公開鍵証明書と第2公開鍵とを読み込む。そして、公開鍵証明書検証部331は、当該第2公開鍵を用いて公開鍵証明書を検証し、当該公開鍵証明書が正当であるか否かを判定し、その判定結果を出力する(ステップS118)。この判定結果は許可部135に入力される。ここで、公開鍵証明書が正当でないとの判定結果が出力された場合(ステップS119)、許可部135はログインを拒否する(ステップS120)。
【0065】
一方、公開鍵証明書が正当であると判定された場合(ステップS119)、次に、認証結果検証部134が、記憶部136から、認証結果情報と署名情報と公開鍵証明書が具備する第1公開鍵とを読み込み、当該第1公開鍵を用いて署名情報を検証して認証結果情報の正当性を判定し、その判定結果を出力する(ステップS121)。この判定結果は許可部135に入力される。ここで、この判定結果が、認証結果情報が正当でない旨の判定結果(検証不合格)であった場合(ステップS122)、許可部135はユーザ装置110のログインを拒否する(ステップS123)。一方、この判定結果が、認証結果情報が正当である旨の判定結果(検証合格)であった場合(ステップS122)、許可部135はユーザ装置110のログインを許可し(ステップS124)、目的サーバ装置130とユーザ装置110との間でのサービス情報の通信を許可する。
【0066】
サービス情報の通信が許可された場合、通信処理部133は、記憶部136から、ユーザ装置アドレス情報と、セッション情報に対応付けられているサービス要求情報とを読み込む。そして、通信処理部133は、当該サービス要求情報によって特定されるサービス要求に対応するサービス情報を特定し、送信部132が、当該サービス情報を、当該ユーザ装置アドレス情報によって特定されるユーザ装置310に対し、ネットワーク140を通じて送信する(ステップS125)。
【0067】
<本形態の特徴>
以上のように、本形態では、証明書発行サーバ装置340が、目的サーバ装置毎の公開鍵証明書を発行し、ユーザ認証装置320は、認証結果情報とその署名情報とその署名情報の生成に用いた公開鍵証明書を、目的サーバ装置330に送信する。そのため、ユーザ認証装置320の紛失・機種変更等により、新たなユーザ認証装置320を使用しなければならない状況となっても、ユーザは、証明書発行サーバ装置340との間の処理(S101〜S107)を行うだけで、複数の目的サーバ装置に対するサインオンが可能となる。
【0068】
また、本形態の公開鍵証明書は、目的サーバ装置330の目的サーバ装置識別子と第1公開鍵とを含む情報を証明書発行サーバ装置の第2秘密鍵を用いて暗号化した暗号文と、当該第1公開鍵とを有する、目的サーバ装置毎の公開鍵証明書である。そして、各目的サーバ装置は、自らの目的サーバ装置識別子を用いて公開鍵証明書の検証を行う。つまり、本形態の公開鍵証明書は、特定の目的サーバ装置でのみ検証合格となる。これにより、盗聴された公開鍵証明書が複数の目的サーバ装置に対して悪用されるリスクを低減できる。
【0069】
〔第3実施形態〕
次に、第3実施形態について説明する。本形態は第2実施形態の変形例である。第2実施形態との相違点は、公開鍵証明書格納処理をユーザ認証処理の途中で実行する点のみである。以下では、第2実施形態との相違点のみを説明する。
【0070】
<構成>
第2実施形態と同様である。ここでは説明を省略する。
【0071】
<ユーザ認証処理>
図19は、第3実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図に従い、本形態のユーザ認証処理を説明する。
【0072】
まず、ユーザ装置310とユーザ認証装置320と目的サーバ装置330とが、第1実施形態のステップS1〜S9の処理を実行する。その後、ユーザ認証装置320の署名生成部127が、記憶部128に利用可能な公開鍵証明書が存在するか否かを判断する(ステップS131)。ここで、記憶部128に利用可能な公開鍵証明書が存在していなかった場合、ユーザ認証装置320と証明書発行サーバ装置340とが第2実施形態のステップS101〜S107の処理を実行する。一方、記憶部128に利用可能な公開鍵証明書が存在していた場合、ユーザ装置310とユーザ認証装置320と目的サーバ装置330とが、第1実施形態のステップS10〜S13及び第2実施形態のステップS114〜S125の処理を実行する。
【0073】
〔第4実施形態〕
次に、本発明の第4実施形態について説明する。
通常、携帯電話端末装置は、HTTP要求をネットワーク上の装置に送信し、その装置からHTTP応答を受信する機能を具備しているが、ネットワーク上の装置から送信されたHTTP要求に対し、HTTP応答を返す機能を具備していない。そのため、通常の携帯電話端末装置によって第1〜第3実施形態のユーザ認証装置を構成する場合、ユーザ装置とユーザ認証装置との間の通信方法を工夫する必要がある。
【0074】
本形態では、中継サーバ装置を設けることによってこの問題を解決する(中継サーバ方式)。なお、この中継サーバ方式は、第1〜第3実施形態の何れにも適用可能であるが、以下では一例として第1実施形態に中継サーバ方式を適用した例を示す。
【0075】
<構成>
図20は、第4実施形態のユーザ認証システム500の全体構成を例示した概念図である。また、図21は、ユーザ装置510の詳細構成を例示したブロック図である。また、図22は、ユーザ認証装置520の詳細構成を例示したブロック図である。また、図23は、中継サーバ装置550の詳細構成を例示したブロック図である。なお、これらの図において、上述の各実施形態と共通する部分については、上述の各実施形態と同じ符号を用いて説明を省略する。
【0076】
図20に示すように、本形態のユーザ認証システム500は、ネットワーク140を通じて通信可能に接続されたユーザ装置510とユーザ認証装置520と目的サーバ装置130と中継サーバ装置550とを有する。
【0077】
図21に示すように、第4実施形態のユーザ装置510と第1実施形態のユーザ装置110との相違点は、通信処理部115が通信処理部515に置換される点である。また、図22に示すように、第4実施形態のユーザ認証装置520と第1実施形態のユーザ認証装置120との相違点は、通信処理部125が通信処理部525に置換される点である。なお、本形態のユーザ認証装置520は、携帯電話端末装置等によって構成され、HTTP要求をネットワーク上の装置に送信し、その装置からHTTP応答を受信する機能を具備しているが、ネットワーク上の装置から送信されたHTTP要求に対し、HTTP応答を返す機能を具備していない。
【0078】
図23に示すように、この例の中継サーバ装置550は、受信部551と送信部552と通信処理部553と記憶部554と中継サーバ装置550全体を制御する制御部555とを有する。なお、この例の中継サーバ装置550は、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。また、中継サーバ装置550を構成する公知のコンピュータとしては、例えば、サーバマシン等を例示できる。
【0079】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
まず、ユーザ認証処理の前処理として、ユーザ認証装置120の記憶部128に第1秘密鍵が安全に格納され、目的サーバ装置130の記憶部136に第1公開鍵が格納される。また、ユーザ認証装置520の記憶部128にユーザ装置510のユーザ装置アドレス情報が格納される。
【0080】
図24,25は、第4実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、これらの図に従い、第4実施形態のユーザ認証処理を説明する。
【0081】
まず、例えば、ユーザ認証装置520(図22)の起動等を契機とし、通信処理部525がユーザ認証装置520の識別子であるユーザ認証装置識別子と、ユーザ認証装置520のユーザ認証装置アドレスとを送信部123に送る。送信部123は、ネットワーク140を介し、それらの情報をHTTP要求として中継サーバ装置550に送信する(ステップS201)。なお、ユーザ認証装置識別子としては、例えば、ユーザ認証装置520のメールアドレスや電話番号等を例示できる。
【0082】
中継サーバ装置550の受信部551はそのHTTP要求を受信し、通信処理部553に送る(ステップS202)。通信処理部553は、ユーザ装置510に対してポート番号を割り当て(ステップS203)、当該ポート番号とユーザ認証装置識別子とユーザ認証装置アドレスとを、相互に対応付けて記憶部554に格納する(ステップS204)。
【0083】
その後、第1実施形態と同様に、ユーザ装置510がネットワーク140を通じて目的サーバ装置130にアクセスし、ユーザ装置510の出力部112が、目的サーバ装置130から送信された情報を元にアドレス入力指示情報を出力する(ステップS205)。出力されたアドレス入力指示情報を知覚したユーザは、ユーザ装置510(図21)の入力部111へユーザ認証装置アドレス情報を入力する(ステップS206)。なお、本形態のユーザ認証装置アドレス情報は、中継サーバ装置550のアドレス情報(宛先情報)である中継サーバ装置アドレス情報と、ユーザ認証装置520のユーザ認証装置識別子とを具備する。
【0084】
入力されたユーザ認証装置アドレス情報(中継サーバ装置アドレス情報+ユーザ認証装置識別子)は、一旦、記憶部116に格納される。通信処理部515は、記憶部116からユーザ認証装置アドレス情報を読み出し、これをサービス要求情報(サービス要求内容を含む)とユーザ装置510のアドレス情報(宛先情報)であるユーザ装置アドレス情報と共に、送信部113に送る。送信部113は、サービス要求情報とユーザ認証装置アドレス情報とユーザ装置アドレス情報とを、ネットワーク140を通じて目的サーバ装置130に送信する(ステップS207)。この送信は、HTTP要求として行う。
【0085】
これらの情報は、第1実施形態のステップS4,S5と同様に、目的サーバ装置130で受信され(ステップS208)、セッション情報が生成・格納され(ステップS209)る。その後、目的サーバ装置130は、認証要求情報と目的サーバ装置アドレス情報とユーザ認証装置アドレス情報とセッション情報とをHTTP応答としてユーザ装置510に返信する(ステップS210)。これらの情報は、ユーザ装置510(図21)の受信部114で受信され(ステップS211)、通信処理部515によって記憶部116に一旦格納される。
【0086】
そして、通信処理部515は、自らのユーザ装置アドレス情報と、記憶部116から読み込んだ認証要求情報と目的サーバ装置アドレス情報とセッション情報とユーザ認証装置アドレス情報のユーザ認証装置識別子とを、ユーザ認証装置アドレス情報の中継サーバ装置アドレス情報によって宛先が特定される中継サーバ装置550に送信する(ステップS212)。この送信は、例えば、HTTP要求として行う。
【0087】
送信されたこれらの情報は、中継サーバ装置550(図23)の受信部551で受信され(ステップS213)、通信処理部553に送られる。通信処理部553は、送られた認証要求情報と目的サーバ装置アドレス情報とセッション情報とを、記憶部554に、一旦格納する。また、通信処理部553は、送られたユーザ認証装置識別子に関連付けられているポート番号を記憶部554から検索し、当該ポート番号に対応するユーザ認証装置識別子とユーザ認証装置アドレスとを記憶部554から読み込む(ステップS214)。さらに、通信処理部553は、認証要求情報と目的サーバ装置アドレス情報とセッション情報とを記憶部554から読み込む。そして、送信部552が、ステップS201のHTTP要求のHTTP応答として、認証要求情報と目的サーバ装置アドレス情報とセッション情報とを、ユーザ認証装置アドレスで宛先が特定されるユーザ認証装置520に送信する(ステップS215)。
【0088】
このHTTP応答は、ユーザ認証装置520(図22)の受信部124で受信され通信処理部525に送られる(ステップS216)。その後、ユーザ装置510とユーザ認証装置520と目的サーバ装置130とが、第1実施形態のステップS10〜S22の処理を実行する。また、中継サーバ装置550(図23)が、記憶部554から、相互に対応付けられたユーザ認証装置識別子とユーザ認証装置アドレスとポート番号とを削除する(ステップS217)。
【0089】
<本形態の特徴>
以上のように、本形態では、ユーザ装置510とユーザ認証装置520との通信を、中継サーバ装置550を経由して行うこととした。そのため、ユーザ認証装置520が、携帯電話端末装置にように、HTTP要求をネットワーク上の装置に送信し、その装置からHTTP応答を受信する機能を具備しているが、ネットワーク上の装置から送信されたHTTP要求に対し、HTTP応答を返す機能を具備していない場合であっても、ユーザ装置510がユーザ認証装置520に対して認証要求を行い、ユーザ認証装置520から認証結果情報を取得することができる。
【0090】
〔第5実施形態〕
次に、本発明の第5実施形態を説明する。
これまでの実施形態では、ユーザがユーザ認証装置アドレス情報をユーザ装置に入力する必要がある(ステップS2等参照)。しかし、ユーザがユーザ認証装置の何らかの宛先情報を知っているが、それがユーザ認証装置アドレス情報ではない場合がある。例えば、ユーザが、ユーザ認証装置の電子メールアドレスを知っているが、動的に割り当てられるユーザ認証装置のIPアドレスを知らず、ユーザ認証装置アドレス情報が、IPアドレスである場合等である。
【0091】
本形態では、ユーザ認証装置にユーザ認証装置アドレス情報を送信させ(宛先情報送信過程)、ユーザ装置がそのユーザ認証装置アドレス情報を受信する(宛先情報受信過程)。そして、ユーザ装置が、このユーザ認証装置アドレス情報によって宛先を指定し、認証要求情報をユーザ認証装置に送信する。これにより、ユーザがユーザ認証装置アドレス情報を知らなくても、ユーザ装置はユーザ認証装置に認証処理をさせることができる。
【0092】
このような方式は上述の各実施形態に適用可能である。しかし、以下では、一例として第1実施形態にこの方式を適用した場合を説明する。
【0093】
<構成>
本形態のユーザ認証システムは、第1実施形態のユーザ装置110をユーザ装置610に置換し、ユーザ認証装置120をユーザ認証装置620に置換し、目的サーバ装置130を目的サーバ装置630に置換した構成である。
【0094】
図26は、第5実施形態のユーザ装置610の詳細構成を例示したブロック図である。また、図27は、ユーザ認証装置620の詳細構成を例示したブロック図である。また、図28は、目的サーバ装置630の詳細構成を例示したブロック図である。
【0095】
図26に示すように、本形態のユーザ装置610は、第1実施形態のユーザ装置110の通信処理部115を通信処理部615に置換したものである。また、図27に示すように、本形態のユーザ認証装置620は、第1実施形態のユーザ認証装置120の通信処理部125を通信処理部625に置換したものである。また、図28に示すように、本形態の目的サーバ装置630は、第1実施形態の目的サーバ装置130の通信処理部133を通信処理部633に置換したものである。
【0096】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
【0097】
図29は、第5実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図に従い、第5実施形態のユーザ認証処理を説明する。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する部分について説明を省略する。
【0098】
まず、第1実施形態と同様に、ユーザ装置610がネットワーク140を通じて目的サーバ装置630にアクセスし、ユーザ装置610の出力部112が、目的サーバ装置630から送信された情報を元にアドレス入力指示情報を出力する(ステップS301)。ただし、本形態のアドレス入力指示情報は、ユーザ認証装置の電子メールアドレス(以下「ユーザ認証装置電子メールアドレス情報」という)の入力を指示する情報である。なお、本形態のユーザ認証装置アドレス情報は、ユーザ認証装置電子メールアドレス情報と異なる宛先情報である。例えば、URLアドレスやIPアドレス等が本形態のユーザ認証装置アドレス情報である。
【0099】
出力されたアドレス入力指示情報を知覚したユーザは、ユーザ装置610(図26)の入力部111へユーザ認証装置電子メールアドレス情報を入力する(ステップS302)。入力されたユーザ認証装置電子メールアドレス情報は、一旦、記憶部116に格納される。通信処理部515は、記憶部116からユーザ認証装置電子メールアドレス情報を読み出し、これをサービス要求情報(サービス要求内容を含む)とユーザ装置610のアドレス情報(宛先情報)であるユーザ装置アドレス情報と共に、送信部113に送る。送信部113は、サービス要求情報とユーザ認証装置電子メールアドレス情報とユーザ装置アドレス情報とを、ネットワーク140を通じて目的サーバ装置630に送信する(ステップS303)。この送信は、例えば、HTTP要求として行う。
【0100】
これらの情報は目的サーバ装置630(図28)の受信部131で受信され(ステップS304)、通信処理部133に送られる。通信処理部133は、ユーザ認証装置電子メールアドレス情報とユーザ装置アドレス情報を記憶部136に格納する。また、通信処理部133は、当該サービス要求情報に対応するセッション情報を生成し(ステップS305)、そのセッション情報を当該サービス要求情報に対応付けて記憶部136に格納する。
【0101】
次に、通信処理部133は、記憶部136から、ユーザ認証装置電子メールアドレス情報と目的サーバ装置アドレス情報とセッション情報とを読み込む。そして、通信処理部133は、目的サーバ装置アドレス情報とセッション情報とを内容に含み、ユーザ認証装置電子メールアドレス情報を宛先とした電子メールを生成する。この電子メールは、送信部132から送信される(ステップS306)。
【0102】
当該目的サーバ装置アドレス情報とセッション情報とを内容に含む電子メールは、ネットワーク140を通じ、ユーザ認証装置620の受信部124に受信され(ステップS307)、さらに通信処理部625から記憶部128に格納される。次に、通信処理部625が記憶部128から目的サーバ装置アドレス情報とセッション情報とを読み込み、当該目的サーバ装置アドレス情報とセッション情報と自らのユーザ認証装置アドレス情報とを送信部123に送る。送信部123は、ネットワーク140を通じ、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置630に対し、ユーザ認証装置アドレス情報とセッション情報とを送信する(ステップS308)。これらの情報は、目的サーバ装置630(図28)の受信部131で受信され、通信処理部633によって記憶部136に格納される。
【0103】
その後、第1実施形態のステップS6〜S22と同じ処理(ユーザ認証装置による認証処理等)を実行する。
【0104】
<本形態の特徴>
本形態では、ユーザがユーザ認証装置の電子メールアドレス情報を知っているが、それがユーザ認証装置アドレス情報ではない場合であっても、ユーザ装置はユーザ認証装置に認証処理をさせることができる。
【0105】
〔第6実施形態〕
次に、本発明の第6実施形態を説明する。
第5実施形態と同様、本形態も、ユーザ認証装置にユーザ認証装置アドレス情報を送信させ(宛先情報送信過程)、ユーザ装置がそのユーザ認証装置アドレス情報を受信し(宛先情報受信過程)、ユーザ装置が、このユーザ認証装置アドレス情報によって宛先を指定し、認証要求情報をユーザ認証装置に送信する形態である。しかし、第6実施形態は、ユーザ装置から出力された情報(QRコード等の二次元バーコード等)をユーザ認証装置に読み取らせることにより、ユーザがユーザ認証装置の宛先情報を全く知らない場合でも適用可能な形態である。なお、本形態の方式も上述の各実施形態に適用可能である。しかし、以下では、一例として第1実施形態に本形態の方式を適用した場合を説明する。
【0106】
<構成>
本形態のユーザ認証システムは、第1実施形態のユーザ装置110をーザ装置710に置換し、ユーザ認証装置120をユーザ認証装置720に置換し、目的サーバ装置130を目的サーバ装置730に置換した構成である。
【0107】
図30は、第6実施形態のユーザ装置710の詳細構成を例示したブロック図である。また、図31は、ユーザ認証装置720の詳細構成を例示したブロック図である。また、図32は、目的サーバ装置730の詳細構成を例示したブロック図である。
【0108】
図30に示すように、本形態のユーザ装置710は、第1実施形態のユーザ装置110の通信処理部115を通信処理部715に置換したものである。また、図31に示すように、本形態のユーザ認証装置720は、第1実施形態のユーザ認証装置120の通信処理部125を通信処理部725に置換し、カメラ等の画像入力部721を追加したものである。また、図32に示すように、本形態の目的サーバ装置730は、第1実施形態の目的サーバ装置130の通信処理部133を通信処理部733に置換したものである。
【0109】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
【0110】
図33は、第6実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図に従い、第6実施形態のユーザ認証処理を説明する。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する部分については説明を省略する。
【0111】
まず、ユーザ装置710(図30)の通信処理部715が、送信部113にサービス要求情報とユーザ装置アドレス情報とを送り、送信部113がこれらをネットワーク140経由で目的サーバ装置730に送信する(ステップS401)。
【0112】
これらの情報は、目的サーバ装置730(図32)の受信部131で受信され(ステップS402)、通信処理部133に送られ、一旦記憶部136に格納される。また、通信処理部133は、送られたサービス要求情報に対応するセッション情報を生成し(ステップS403)、そのセッション情報を当該サービス要求情報に対応付けて記憶部136に格納する。
【0113】
次に、通信処理部133は、セッション情報を記憶部136から読み出し、これと自らの目的サーバ装置アドレス情報とを含んだQRコード情報を生成する。また、通信処理部133は、ユーザ装置アドレス情報を記憶部136から読み出し、これとQRコード情報とを送信部132に送る。送信部132は、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置710に対し、ネットワーク140を通じてQRコードを送信する(ステップS404)。
【0114】
QRコードは、ユーザ装置710の受信部114で受信され(ステップS405)、さらに通信処理部715から出力部112に送られる。出力部112は、このQRコード情報が示すQRコードを表示する(ステップS406)。
【0115】
表示されたQRコードは、ユーザ認証装置720(図31)の画像入力部721によって読み取られ、このQRコードによって特定されるセッション情報と目的サーバ装置アドレス情報とは通信処理部725に送られる(ステップS407)。通信処理部725は、これらを、一旦、記憶部128に格納する。
【0116】
次に、通信処理部725は、記憶部128からセッション情報と目的サーバ装置アドレス情報とを読み込み、自らのユーザ認証装置アドレスとセッション情報とを、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置730に送信される(ステップS408)。送信されたユーザ認証装置アドレスとセッション情報とは、目的サーバ装置730(図32)の受信部131で受信され、通信処理部733によって記憶部136に格納される。
【0117】
その後、第1実施形態のステップS6〜S22と同じ処理(ユーザ認証装置による認証処理等)を実行する。
【0118】
<本形態の特徴>
本形態では、ユーザがユーザ認証装置の宛先情報を全く知らない場合であっても、ユーザ装置はユーザ認証装置に認証処理をさせることができる。
【0119】
〔その他の通信方法〕
以下に、第4〜第6実施形態以外のユーザ装置とユーザ認証装置との通信方法を例示する。
図34は、ユーザ装置110とユーザ認証装置120とがローカルに接続され、ユーザ装置110と目的サーバ装置130とがグローバルなネットワーク840を通じて接続される例を示した概念図である。このような構成であってもよい。なお、ユーザ装置110とユーザ認証装置120とのローカルな接続方法としては、例えば、USB(Universal Serial Bus)ケーブルによる接続や電磁波通信接続(Felica等)や赤外線通信接続やPAN(Personal Area Network)接続等を例示できる。
【0120】
また、DNSサーバ装置をネットワーク上に配置し、DynamicDNS方式(標準技術)によりユーザ認証装置のIPアドレスをユーザ認証装置アドレス情報(URL等)に対応付け、ユーザ装置とユーザ認証装置との通信を行ってもよい。
【0121】
さらに、第6実施形態の変形例としてQRコードの代りにユーザが認識可能なコード番号を用い、ユーザ装置がユーザ認証装置にQRコードを読み取らせる代わりにユーザ装置から出力されたコード番号をユーザがユーザ認証装置に入力する構成としてもよい。
【0122】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では認証結果情報に署名情報を付する構成であったが、認証結果情報に署名情報を付さない構成であってもよい。
【0123】
また、実施形態2では、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む情報を、公開鍵暗号方式により第2秘密鍵を用いて暗号化した暗号文と、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む公開鍵証明書を生成した。しかし、ユーザ識別子を用いることなく公開鍵証明書を生成してもよいし、ユーザ識別子の代わりに又はユーザ識別子に加え、その他の情報を用いて公開鍵証明書を生成してもよい。
【0124】
また、実施形態2では、目的サーバ装置が、目的サーバ装置が具備する第2公開鍵と、公開鍵証明書が具備する暗号文、第1公開鍵、目的サーバ装置識別子及びユーザ識別子とを用い、公開鍵証明書の検証を行った。しかし、目的サーバ装置が、目的サーバ装置が具備する第2公開鍵及び目的サーバ装置識別子と、公開鍵証明書が具備する暗号文と第1公開鍵とユーザ識別子とを用い、公開鍵証明書の検証を行ってもよい。この場合、公開鍵証明書が目的サーバ装置識別子を具備する必要がなくなる。
【0125】
また、上述の各実施形態では、ユーザ認証装置に入力され、認証処理に利用される認証情報として「ユーザの認証を行うか否かの選択情報」を例示した。しかし、パスワードや生態認証情報等を認証情報としてもよいし、それらと「ユーザの認証を行うか否かの選択情報」とを組み合わせたものを認証情報としてもよい。この場合、ユーザ認証装置は、各認証情報に対応する認証処理を実行する。
【0126】
また、上述した各実施形態を組み合わせた形態で本発明が実施されてもよい。
【0127】
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0128】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0129】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0130】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0131】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0132】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0133】
本発明の利用分野としては、例えば、インターネットバンキングやインターネット取引等の安全性が高い認証技術を必要とする分野でのシングルサインオンシステムを例示できる。
【図面の簡単な説明】
【0134】
【図1】図1は、本発明の基本構成を具備するユーザ認証システムの構成を例示した概念図である。
【図2】図2は、第1実施形態のユーザ認証システムの全体構成を例示した概念図である。
【図3】図3は、第1実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図4】図4は、第1実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図5】図5は、第1実施形態のユーザ認証装置の具体例を示す外観図である。
【図6】図6は、第1実施形態の目的サーバ装置の詳細構成を例示したブロック図である。
【図7】図7は、第1実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図8】図8は、第1実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図9】図9(a)は、ポップアップウインドウとして表示されたアドレス入力指示情報を例示した図である。図9(b)は、ユーザインタフェースである出力部から出力された入力指示情報の例示である。
【図10】図10は、HTTP応答の記述を例示した図である。
【図11】図11は、第2実施形態のユーザ認証システムの全体構成を例示した概念図である。
【図12】図12は、第2実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図13】図13は、ユーザ認証装置の詳細構成を例示したブロック図である。
【図14】図14は、目的サーバ装置の詳細構成を例示したブロック図である。
【図15】図15は、証明書発行サーバ装置の詳細構成を例示したブロック図である。
【図16】図16は、第2実施形態の公開鍵証明書格納処理を説明するためのシーケンス図である。
【図17】図17は、第2実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図18】図18は、HTTP応答の記述を例示した図である。
【図19】図19は、第3実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図20】図20は、第4実施形態のユーザ認証システムの全体構成を例示した概念図である。
【図21】図21は、第4実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図22】図22は、第4実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図23】図23は、第4実施形態の中継サーバ装置の詳細構成を例示したブロック図である。
【図24】図24は、第4実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図25】図25は、第4実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図26】図26は、第5実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図27】図27は、第5実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図28】図28は、第5実施形態の目的サーバ装置の詳細構成を例示したブロック図である。
【図29】図29は、第5実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図30】図30は、第6実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図31】図31は、第6実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図32】図32は、第6実施形態の目的サーバ装置の詳細構成を例示したブロック図である。
【図33】図33は、第6実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図34】図34は、ユーザ装置とユーザ認証装置とがローカルに接続され、ユーザ装置と目的サーバ装置とがグローバルなネットワークを通じて接続される例を示した概念図である。
【符号の説明】
【0135】
1,100,300,500,800 ユーザ認証システム
10,110,310,510,610,710 ユーザ装置
20,120,320,520,620,720 ユーザ認証装置
30,130,330,630 目的サーバ装置
【技術分野】
【0001】
本発明は、ユーザ認証を行うユーザ認証技術に関し、特にシングルサインオン技術に関する。
【背景技術】
【0002】
ユーザの認証が必要な複数のWebサイトを利用する場合、通常、ユーザはWebサイト毎に異なる認証情報(IDやパスワード等)を端末装置等に入力し、認証を受けなければならない。しかし、これでは認証情報の管理や認証手続きが煩雑である。
【0003】
このような問題を解決する従来技術にシングルサインオン(SSO:Single Sign-On)技術が存在する。この技術は、一度行われた認証の結果を複数のWebサイトへ引き継ぐことにより、Webサイト毎の認証処理を不要とする技術である。すなわち、シングルサインオン技術を用いたシステムの場合、ユーザは1度の認証を受けるだけで、複数のWebサイトを利用できる。
【0004】
このようなシングルサインオン技術をSAML(Security Assertion Markup Language)(例えば、非特許文献1参照)によって実現した場合の処理手順は、例えば、以下のようになる。
【0005】
1.ユーザ装置がネットワークを通じて認証サーバ装置にアクセスし、認証情報を認証サーバ装置に示し、認証サーバ装置の認証を受ける。
2.ユーザ装置がネットワークを通じてサービス提供用の目的サーバ装置にアクセスする。
3.目的サーバ装置がネットワークを通じて認証サーバ装置にアクセスし、認証サーバ装置から認証結果を取得する。
4.その後、ユーザ装置はネットワークを通じて目的サーバ装置を利用できる。
【非特許文献1】OASIS(Organization for the Advancement of Structured Information Standards)、“Assertions and Protocol for the OASIS Security Assertion Markup Language (SAML)”、[online]、平成14年5月31日、[平成19年6月5日検索]、インターネット〈URL:http://www.oasis-open.org/committees/security/#documents〉
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、従来のSAMLを用いたシングルサインオンモデルでは、認証情報が第三者に盗聴される危険性がある。
【0007】
すなわち、上述のように従来のSAMLに基づくシングルサインオン技術では、まず、ユーザ装置がネットワークを通じて認証サーバ装置にアクセスし、認証情報を認証サーバ装置に提示しなければならない。ところが、インターネット等の安全ではないネットワークの場合、ユーザ装置がネットワークを通じて認証サーバ装置に認証情報を提示する際、その認証情報が第三者に盗聴されてしまう可能性がある。また、このような盗聴を防止するために暗号技術を用いることもできるが、暗号化処理のための煩雑な処理が必要となる。また、量子コンピュータの実現や新たなアルゴリズムの開発等により暗号の安全性が低下することも想定できる。このような問題は、SAMLに基づくシングルサインオン技術に限定されるものではなく、ユーザ装置がネットワークを通じて認証サーバ装置にアクセスし、認証情報を認証サーバ装置に提示しなければならないシングルサインオン技術に共通するものである。
【0008】
本発明はこのような点に鑑みてなされたものであり、認証情報が第三者に盗聴される危険性を物理的に防止できるシングルサインオン技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明では、ユーザ認証装置のユーザインタフェースである入力部が、認証情報の入力を受け付ける。ユーザ認証装置の認証処理部は、この認証情報を用い、別の筺体に構成されたユーザ装置を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する。ユーザ認証装置の送信部はこの認証結果情報を送信し、この認証結果情報は、目的サーバ装置の受信部に受信される。そして、認証結果情報を受信した目的サーバ装置の許可部は、目的サーバ装置とユーザ装置との間でのサービス情報の通信を許可する。
【発明の効果】
【0010】
本発明により、認証情報が第三者に盗聴される危険性を物理的に防止できるシングルサインオン技術を実現できる。
【発明を実施するための最良の形態】
【0011】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【0012】
〔基本原理〕
<基本構成>
まず、本発明の基本構成を例示する。
図1は、本発明の基本構成を具備するユーザ認証システム1の構成を例示した概念図である。図1の例のユーザ認証システム1は、ネットワーク40を介して通信可能に接続されたユーザ装置10とユーザ認証装置20と目的サーバ装置30とを具備する。ここで、ユーザ装置10は、ユーザがサービス情報の提供を受けるための装置である。また、ユーザ認証装置20は、ユーザ装置10と別の筺体に構成され、ユーザ装置10を利用するユーザのユーザ認証を行う装置であり、ユーザインタフェースである入力部21と認証処理部22と送信部23とを具備する。また、目的サーバ装置30は、ユーザ装置10にサービス情報を提供する装置である。
【0013】
<基本処理>
次に、本発明の基本処理を例示する。
まず、ユーザ認証装置20のユーザインタフェースである入力部21に、認証情報が入力される(認証情報入力過程)。次に、ユーザ認証装置20の認証処理部22が、この認証情報を用い、別の筺体に構成されたユーザ装置10を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する(認証結果情報生成過程)。次に、ユーザ認証装置20の送信部23が、認証結果情報を送信する(認証結果情報送信過程)。当該認証結果情報は、ネットワーク40を通じて目的サーバ装置30に送信され、目的サーバ装置30の受信部31に受信される(認証結果情報受信過程)。その後、この認証結果情報を受信した目的サーバ装置30の許可部32が、目的サーバ装置30とユーザ装置10との間でのサービス情報通信を許可し(許可過程)、ネットワーク40を通じ、ユーザ装置10に対してサービス情報を提供する。
【0014】
<基本的な特徴>
以上のように、ユーザは、ユーザ認証装置20のユーザインタフェースである入力部21に対して認証情報を入力し、ユーザ認証装置20は、この認証情報を用い、別の筺体に構成されたユーザ装置10を使用するユーザの認証処理を行う。この場合、認証情報はネットワーク40を経由することなく認証処理に利用される。そのため、認証情報がネットワーク40上の第三者に盗聴されることはない。
【0015】
また、ユーザ認証装置20で行われた認証処理の結果を示す認証結果情報が目的サーバ装置30に送られ、認証結果情報が送られた目的サーバ装置30は、目的サーバ装置30とユーザ装置10との間でのサービス情報の通信を許可する。この方式の場合、複数の目的サーバ装置に対するユーザの認証処理をユーザ認証装置が代行できる。その結果、シングルサインオン機能を実現できる。
【0016】
さらに、ユーザ認証装置20は、ユーザ装置10と別の筺体に構成されている。そのため、ユーザ認証装置20を所持するユーザは、任意の装置をユーザ装置10として利用することができる。
【0017】
〔第1実施形態〕
次に、本発明の第1実施形態について説明する。
【0018】
<構成>
図2は、第1実施形態のユーザ認証システム100の全体構成を例示した概念図である。また、図3は、ユーザ装置110の詳細構成を例示したブロック図である。また、図4は、ユーザ認証装置120の詳細構成を例示したブロック図であり、図5は、ユーザ認証装置120の具体例を示す外観図である。また、図6は、目的サーバ装置130の詳細構成を例示したブロック図である。
【0019】
図2に例示するように、本形態のユーザ認証システム100は、ネットワーク140を通じて通信可能に構成されたユーザ装置110とユーザ認証装置120と目的サーバ装置130とを有する。なお、図2では、1つずつのユーザ装置110とユーザ認証装置120と目的サーバ装置130のみを図示するが、ユーザ装置110とユーザ認証装置120と目的サーバ装置130の少なくとも1つが、2個以上存在する構成であってもよい。
【0020】
図3に例示するように、この例のユーザ装置110は、入力部111と出力部112と送信部113と受信部114と通信処理部115と記憶部116とユーザ装置110全体を制御する制御部117とを有する。なお、この例のユーザ装置110は、キーボードや入力キーやマウスやタッチパネルなどの入力装置、ディスプレイやスピーカ等の出力装置、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等から構成される公知のコンピュータに所定のプログラム(OS〔Operating System〕やWebブラウザ等のアプリケーションプログラム等)が読み込まれ、CPUがこれらのプログラムを実行することにより構成される。また、ユーザ装置110を構成する公知のコンピュータとしては、例えば、パーソナルコンピュータ、PDA(Personal Digital Assistant)端末装置、携帯電話端末装置等を例示できる。
【0021】
図4に例示するように、この例のユーザ認証装置120は、入力部121と出力部122と送信部123と受信部124と通信処理部125と認証処理部126と署名生成部127と記憶部128とユーザ認証装置120全体を制御する制御部129とを有する。なお、入力部121と出力部122は、それぞれユーザインタフェースである。すなわち、入力部121は、ユーザが入力した情報を、ネットワークを介することなく、ユーザ認証装置120に伝達する構成部である。また、出力部122は、ユーザ認証装置120が、ネットワークを介することなく、情報をユーザに出力する構成部である。また、この例のユーザ認証装置120は、キーボードや入力キーやマウスやタッチパネルなどの入力装置、ディスプレイやスピーカやバイブレーション装置等の出力装置、CPU、RAM、ROM等から構成される公知のコンピュータに所定のプログラムが読み込まれ、CPUが当該プログラムを実行することにより構成される。このようなユーザ認証装置120を構成する公知のコンピュータとしては、例えば、パーソナルコンピュータ、PDA端末装置、携帯電話端末装置等を例示できる。しかし、本形態では、一例として、移動体通信端末装置である携帯電話端末装置を用い、ユーザ認証装置120を構成する例を示す。この場合、入力キーが入力部121に相当し、液晶画面が出力部122に相当する(図5)。
【0022】
図6に例示するように、この例の目的サーバ装置130は、受信部131と送信部132と通信処理部133と認証結果検証部134と許可部135と記憶部136と目的サーバ装置130全体を制御する制御部137とを有する。なお、この例の目的サーバ装置130は、CPU、RAM、ROM等から構成される公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。また、目的サーバ装置130を構成する公知のコンピュータとしては、例えば、サーバマシン等を例示できる。
【0023】
なお、ユーザ装置110とユーザ認証装置120と目的サーバ装置130とは、別筺体に構成された装置であり、相互に物理的に分離されている。
【0024】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
まず、ユーザ認証処理の前処理として、ユーザ認証装置120の記憶部128に第1秘密鍵が安全に格納され、目的サーバ装置130の記憶部136に第1公開鍵が格納される。ここで、第1秘密鍵と第1公開鍵は、RSA等の公開鍵暗号方式の非対称鍵ペアである。このような前処理を前提にユーザ認証処理が行われる。
【0025】
図7,8は、第1実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、これらの図に従い、第1実施形態のユーザ認証処理を説明する。
【0026】
まず、ユーザ装置110がネットワーク140を通じて目的サーバ装置130にアクセスし、ログイン要求を目的サーバ装置130に送信する。すると、目的サーバ装置130(図6)の通信処理部133は、アドレス入力指示情報を送信部132に出力し、送信部132は、ネットワーク140を通じ、アドレス入力指示情報をユーザ装置110に送信する。ユーザ装置110(図3)の受信部114は、このアドレス入力指示情報を受信し、通信処理部115は、このアドレス入力指示情報を出力部112に送り、出力部112は、このアドレス入力指示情報を出力する(ステップS1)。
【0027】
なお、「アドレス入力指示情報」とは、ユーザ認証装置120のアドレス情報(宛先情報)であるユーザ認証装置アドレス情報の入力を、ユーザに促す指示情報である。アドレス入力指示情報は、例えば、ユーザ装置110の出力部112であるディスプレイにポップアップウインドウとして表示される。図9(a)は、ポップアップウインドウ200として表示されたアドレス入力指示情報を例示した図である。この例のアドレス入力指示情報は、「お客様のMobile IdPのURLを入力してください。」とのメッセージと、ユーザ認証装置アドレス情報の入力欄201と、「OK」及び「キャンセル」のボタン表示部202,203とを有する画像である。
【0028】
出力されたアドレス入力指示情報を知覚したユーザは、ユーザ装置110(図3)の入力部111へユーザ認証装置アドレス情報を入力する(ステップS2)。例えば、図9(a)の例の場合、ユーザは、入力部111を用い、ポップアップウインドウ200の入力欄201に自らが使用可能なユーザ認証装置120のユーザ認証装置アドレス情報を入力し、「OK」のボタン表示部202をオン操作(クリック等)する。
【0029】
入力されたユーザ認証装置アドレス情報は、一旦、記憶部116に格納される。通信処理部115は、記憶部116からユーザ認証装置アドレス情報を読み出し、これを、サービス要求情報(サービス要求内容を含む)とユーザ装置110のアドレス情報(宛先情報)であるユーザ装置アドレス情報と共に、送信部113に送る。送信部113は、サービス要求情報とユーザ認証装置アドレス情報とユーザ装置アドレス情報とを、ネットワーク140経由で、目的サーバ装置130に送信する(ステップS3)。この送信は、例えば、HTTP要求として行う。
【0030】
これらの情報は目的サーバ装置130(図6)の受信部131で受信され(ステップS4)、通信処理部133に送られる。通信処理部133は、送られたユーザ認証装置アドレス情報とユーザ装置アドレス情報を、記憶部136に格納する。また、通信処理部133は、当該サービス要求情報に対応するセッション情報を生成し(ステップS5)、そのセッション情報を当該サービス要求情報に対応付けて記憶部136に格納する。
【0031】
次に、通信処理部133は、ユーザ認証装置アドレス情報とセッション情報とユーザ装置アドレス情報を記憶部136から読み出す。そして、通信処理部133は、これらを、認証要求情報(例えば「authnReq」コマンド)と目的サーバ装置130のアドレス情報(宛先情報)である目的サーバ装置アドレス情報とともに、送信部132に送る。送信部132は、認証要求情報とユーザ認証装置アドレス情報と目的サーバ装置アドレス情報とセッション情報とを、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置110に、ネットワーク140経由で送信する(ステップS6)。具体的には、送信部132は、例えば、認証要求情報と目的サーバ装置アドレス情報とセッション情報とを含む情報を、ユーザ認証装置アドレス情報が示すアドレスをリダイレクト先に指定したHTTPリダイレクト応答としてユーザ装置110に送信する。
【0032】
これらの情報は、ユーザ装置110(図3)の受信部114で受信され(ステップS7)、通信処理部115によって記憶部116に一旦格納される。そして、通信処理部115は、自らのユーザ装置アドレス情報と、記憶部116から読み込んだ認証要求情報と目的サーバ装置アドレス情報とセッション情報とを、記憶部116から読み込んだユーザ認証装置アドレス情報によって宛先が特定されるユーザ認証装置120に送信する(ステップS8)。この送信は、例えば、HTTPリダイレクトとして行われる。
【0033】
認証要求情報と目的サーバ装置アドレス情報とセッション情報とユーザ装置アドレス情報とは、ユーザ認証装置120(図4)の受信部124で受信される(ステップS9)。受信された目的サーバ装置アドレス情報とセッション情報とユーザ装置アドレス情報とは、通信処理部125によって記憶部128に格納される。また、これをトリガに、認証処理部126がユーザインタフェースである出力部122から入力指示情報を出力する(ステップS10)。
【0034】
なお、「入力指示情報」とは、ユーザ認証に必要な「認証情報」の入力をユーザに促す指示情報である。本形態の例では、ユーザの認証を行うか否かの選択情報の入力を指示する情報を「入力指示情報」として出力する。なお、入力指示情報は、画像、動画、音声、バイブレーション等どのようなものであってもよい。図9(b)は、出力部122から出力された入力指示情報の例示である。この例の入力指示情報は、「認証結果を送ってもよろしいですか?」とのメッセージと、「はい」及び「いいえ」のボタン表示部211,212とを有する画像210である。
【0035】
出力された入力指示情報を知覚したユーザは、ユーザインタフェースであるユーザ認証装置120の入力部121へ認証情報を入力する(ステップS11/認証情報入力過程)。本形態の例の「認証情報」は、ユーザの認証を行うか否かの選択情報である。例えば、入力指示情報が図9(b)に例示した画像210であった場合、ユーザは、入力部121を用い、「はい」のボタン表示部211又は「いいえ」のボタン表示部212を選択する。
【0036】
入力部121に入力された認証情報は、認証処理部126に送られる。本形態の認証処理部126は、認証情報が「ユーザの認証を行う旨の選択情報」であることを条件に、ユーザの認証が成功である旨の認証結果情報を生成し、当該認証結果情報を記憶部128に格納する(ステップS12/認証結果情報生成過程)。これは、ユーザがユーザ認証装置120の入力部121に情報を入力できる環境にいる(例えば、当該ユーザがユーザ認証装置120を所持している)ということを根拠に、当該ユーザが正当なユーザであることを認証していることになる。
【0037】
次に、署名生成部127が、記憶部128から第1秘密鍵と認証結果情報とを読み込み、認証結果情報を含む情報を、公開鍵暗号方式により第1秘密鍵を用いて暗号化した署名情報を生成し、当該署名情報を記憶部128に格納する(ステップS13/署名情報生成過程)。その後、通信処理部125が、記憶部128からユーザ装置アドレス情報と認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とを読み込み、これらを送信部123に送る。送信部123は、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とを、ネットワーク140を通じ、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置110に送信する(ステップS14/証結果情報送信過程)。具体的には、例えば、認証結果情報と署名情報とセッション情報とが目的サーバ装置アドレス情報を宛先としてPOSTされるためのFORMタグを、HTTP応答に含める。図10は、このようなHTTP応答の記述を例示した図である。図10の例では、FORMタグの要素として、POST先である目的サーバ装置アドレス情報221と認証結果情報(署名情報含む)222とセッション情報223と認証結果情報224とが記述されている。その他、HTTP応答の要素をデータ圧縮したり、Base64等でテキストエンコーディングしたりしてもよい。なお、図10の例の認証結果情報(署名情報含む)222は、認証結果情報及びそれに対する署名情報をBase64エンコードした例である。
【0038】
送信された認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とは、ユーザ装置110(図3)の受信部114で受信される(ステップS15)。そして、これらの情報は、通信処理部115によって記憶部116に格納される。また、通信処理部115が、記憶部116から、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報とを読み込み、送信部113が、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置130に、認証結果情報と署名情報とセッション情報とを送信する(ステップS16)。具体的には、送信部113は、例えば、図10に例示したHTTP応答のFORMをPOSTする。
【0039】
認証結果情報と署名情報とセッション情報とは、目的サーバ装置130(図6)の受信部131で受信され(ステップS17/認証結果情報受信過程)、通信処理部133がこれらを記憶部136に格納する。
【0040】
次に、認証結果検証部134が、記憶部136から第1公開鍵と認証結果情報と署名情報とを読み込み、第1公開鍵を用いて署名情報を復号し、復号結果と認証結果情報とを比較する。認証結果検証部134は、この比較によって署名情報を検証して認証結果情報の正当性を判定し、その判定結果を出力する(ステップS18/認証結果検証過程)。この判定結果は許可部135に入力される。ここで、この判定結果が、認証結果情報が正当でない旨の判定結果(検証不合格)であった場合(ステップS19)、許可部135はユーザ装置110のログインを拒否する(ステップS20)。一方、この判定結果が、認証結果情報が正当である旨の判定結果(検証合格)であった場合(ステップS19)、許可部135はユーザ装置110のログインを許可し(ステップS21/許可過程)、目的サーバ装置130とユーザ装置110との間でのサービス情報の通信を許可する。
【0041】
サービス情報の通信が許可された場合、通信処理部133は、記憶部136から、ユーザ装置アドレス情報と、セッション情報に対応付けられているサービス要求情報とを読み込む。そして、通信処理部133は、当該サービス要求情報によって特定されるサービス要求に対応するサービス情報を特定する。送信部132は、特定されたサービス情報を、当該ユーザ装置アドレス情報によって特定されるユーザ装置110に、ネットワーク140経由で送信する(ステップS22)。
【0042】
<本形態の特徴>
本形態の場合、ユーザは、ネットワーク140を利用することなく、ユーザ認識処理に必要な認証情報をユーザ認証装置120に提示できる。そのため、認証情報がネットワーク140上の第三者に盗聴されることはない。
【0043】
また、ユーザ認証処理をユーザ認証装置120が行い、その認証結果を目的サーバ装置330が利用することでシングルサインオン機能を実現できる。
【0044】
さらに、ユーザ認証装置120は、ユーザ装置110と別の筺体に構成されている。そのため、ユーザ認証装置120を所持するユーザは、任意の装置をユーザ装置110として利用することができる。
【0045】
また、本形態では、ユーザがユーザ認証装置120のユーザインタフェースを介して入力指示情報の知覚と認証情報の入力ができることを根拠に、ユーザの正当性を確認できる。そのため、パスワード等の煩雑な個人認証処理を行うことなく、ユーザの正当性を確認できる(図9等参照)。
【0046】
〔第2実施形態〕
次に、本発明の第2実施形態を説明する。
本形態は、第1実施形態の変形例であり、信用できる証明書発行サーバ装置が、目的サーバ装置毎の公開鍵証明書を発行し、ユーザ認証装置がその公開鍵証明書に対応する秘密鍵を用いて認証結果情報の署名情報を生成する点に特徴がある(権限委譲方式)。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
【0047】
<構成>
図11は、第2実施形態のユーザ認証システム300の全体構成を例示した概念図である。また、図12は、ユーザ装置310の詳細構成を例示したブロック図である。また、図13は、ユーザ認証装置320の詳細構成を例示したブロック図である。また、図14は、目的サーバ装置330の詳細構成を例示したブロック図である。また、図15は、証明書発行サーバ装置340の詳細構成を例示したブロック図である。なお、これらの図において第1実施形態の構成と共通する部分については、第1実施形態と同じ符号を付し、説明を簡略化する。
【0048】
図11に例示するように、本形態のユーザ認証システム300は、ネットワーク140を通じて通信可能に構成されたユーザ装置310とユーザ認証装置320と目的サーバ装置330と証明書発行サーバ装置340とを有する。なお、図11では、1つの目的サーバ装置330のみを示すが、実際は複数の目的サーバ装置がネットワーク140に通信可能に接続されている。また、図11では、1つずつのユーザ装置310とユーザ認証装置320と目的サーバ装置330のみを図示するが、ユーザ装置310とユーザ認証装置320と目的サーバ装置330の少なくとも1つが、2個以上存在する構成であってもよい。
【0049】
図12に例示するように、この例のユーザ装置310は、入力部111と出力部112と送信部113と受信部114と通信処理部315と記憶部116とユーザ装置110全体を制御する制御部117とを有する。なお、この例のユーザ装置310も、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。
【0050】
図13に例示するように、この例のユーザ認証装置320は、入力部121と出力部122と送信部123と受信部124と通信処理部325と認証処理部126と署名生成部127と記憶部128とユーザ認証装置120全体を制御する制御部129と鍵ペア生成部321を有する。なお、入力部121と出力部122は、それぞれユーザインタフェースである。また、この例のユーザ認証装置320も、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。本形態では、一例として移動体通信端末装置を用いてユーザ認証装置320を構成する。
【0051】
図14に例示するように、この例の目的サーバ装置330は、受信部131と送信部132と通信処理部333と認証結果検証部134と許可部135と記憶部136と目的サーバ装置330全体を制御する制御部137と公開鍵証明書検証部331とを有する。なお、この例の目的サーバ装置330も、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。
【0052】
図15に例示するように、この例の証明書発行サーバ装置340は、受信部341と送信部342と通信処理部343と公開鍵証明書生成部344と記憶部345と証明書発行サーバ装置340全体を制御する制御部346とを有する。なお、証明書発行サーバ装置340は、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。証明書発行サーバ装置340を構成する公知のコンピュータとしては、例えば、サーバマシン等を例示できる。また、証明書発行サーバ装置340は、信頼できる認証機関が管理・運営する。
【0053】
なお、ユーザ装置310とユーザ認証装置320と目的サーバ装置330と証明書発行サーバ装置340とは、別筺体に構成された装置であり、相互に物理的に分離されている。
【0054】
<公開鍵証明書格納処理>
次に、証明書発行サーバ装置340が目的サーバ装置毎の公開鍵証明書を発行し、当該公開鍵証明書をユーザ装置310に格納するまでの処理(公開鍵証明書格納処理)を説明する。
【0055】
本形態の公開鍵証明書格納処理の前処理として、証明書発行サーバ装置340には、予めユーザ認証装置320が登録されているものとする。また、ユーザ認証装置320の記憶部128には、ユーザを識別するユーザ識別子とサービス提供を受けようとする目的サーバ装置330を識別する目的サーバ装置識別子とが格納されているものとする。さらに、証明書発行サーバ装置340の記憶部345には、公開鍵暗号方式の第2秘密鍵が安全に格納されているものとする。また、この第2秘密鍵に対応する第2公開鍵は目的サーバ装置330の記憶部136に格納されているものとする。本形態の公開鍵証明書格納処理は、このような前提のもと実行される。
【0056】
図16は、第2実施形態の公開鍵証明書格納処理を説明するためのシーケンス図である。以下、この図を用いて本形態の公開鍵証明書格納処理を説明する。
【0057】
まず、例えば、ユーザ認証装置320のアプリケーションソフトウェアを起動させたこと等を契機に、ユーザ認証装置320が証明書発行サーバ装置340に対してIDやパスワード等の認証情報を送信し、証明書発行サーバ装置340でユーザ認証装置320が認証される(ステップS101)。
【0058】
次に、ユーザ認証装置320(図13)の鍵ペア生成部321が、公開鍵暗号方式の非対称鍵ペアである第1公開鍵と第1秘密鍵とを生成し、それらを記憶部128に格納する(ステップS102)。次に、通信処理部325が、記憶部128から第1公開鍵と目的サーバ装置識別子とユーザ識別子とを読み込み、これらの情報を含む証明書発行要求情報を生成する。証明書発行要求情報とユーザ認証装置320のユーザ認証装置アドレス情報とは、送信部132に送られ、そこからネットワーク140を通じて証明書発行サーバ装置340に送信される(ステップS103)。
【0059】
そして、これらの証明書発行要求情報とユーザ認証装置アドレス情報とは、証明書発行サーバ装置340(図15)の受信部341で受信され(ステップS104)、通信処理部343によって記憶部345に格納される。また、これを契機として、公開鍵証明書生成部344が、記憶部345から、第2秘密鍵と、証明書発行要求情報が具備する第1公開鍵と目的サーバ装置識別子とユーザ識別子とを読み込む。そして、公開鍵証明書生成部344は、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む情報を、公開鍵暗号方式により第2秘密鍵を用いて暗号化した暗号文と、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む、目的サーバ装置毎の公開鍵証明書を生成し、記憶部345に格納する(ステップS105)。次に、通信処理部343が記憶部345からユーザ認証装置アドレス情報と公開鍵証明書とを読み込み、これらを送信部342に送る。送信部342は、ユーザ認証装置アドレス情報によって宛先が特定されるユーザ認証装置320に、ネットワーク140経由で、公開鍵証明書を送信する(ステップS106)。この公開鍵証明書は、ユーザ認証装置320(図13)の受信部124で受信され(ステップS107)、通信処理部325は、この公開鍵証明書を記憶部128に格納する。
【0060】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
図17は、第2実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図を用いて第2実施形態のユーザ認証処理を説明する。
【0061】
まず、ユーザ装置310とユーザ認証装置320と目的サーバ装置330とが、第1実施形態のステップS1〜S13の処理を実行する。ステップS13の処理の後、ユーザ認証装置320(図13)の通信処理部325が、記憶部128から、ユーザ装置アドレス情報と認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とを読み込み、これらを送信部123に送る。送信部123は、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とを、ネットワーク140を通じ、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置310に送信する(ステップS114)。具体的には、例えば、認証結果情報と署名情報とセッション情報とが目的サーバ装置アドレス情報を宛先としてPOSTされるためのFORMタグを、HTTP応答に含める。具体的には、例えば、認証結果情報と署名情報とセッション情報とが目的サーバ装置アドレス情報を宛先としてPOSTされるためのFORMタグを、HTTP応答に含める。図18は、このようなHTTP応答の記述を例示した図である。図18の例では、FORMタグの要素として、POST先である目的サーバ装置アドレス情報221と認証結果情報(署名情報含む)222とセッション情報223と公開鍵証明書225とが記述されている。その他、HTTP応答の要素をデータ圧縮したり、Base64等でテキストエンコーディングしたりしてもよい。
【0062】
送信された認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とは、ユーザ装置310(図12)の受信部114で受信され(ステップS115)、これらの情報は、通信処理部315によって記憶部116に格納される。そして、通信処理部315が、記憶部116から、認証結果情報と署名情報とセッション情報と目的サーバ装置アドレス情報と公開鍵証明書とを読み込み、送信部113が、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置330に、認証結果情報と署名情報とセッション情報と公開鍵証明書とを送信する(ステップS116)。具体的には、送信部113は、例えば、図18のHTTP応答のFORMをPOSTする。
【0063】
認証結果情報と署名情報とセッション情報と公開鍵証明書とは、目的サーバ装置330(図14)の受信部131で受信され(ステップS117)、通信処理部333がこれらを記憶部136に格納する。
【0064】
次に、公開鍵証明書検証部331が、記憶部136から公開鍵証明書と第2公開鍵とを読み込む。そして、公開鍵証明書検証部331は、当該第2公開鍵を用いて公開鍵証明書を検証し、当該公開鍵証明書が正当であるか否かを判定し、その判定結果を出力する(ステップS118)。この判定結果は許可部135に入力される。ここで、公開鍵証明書が正当でないとの判定結果が出力された場合(ステップS119)、許可部135はログインを拒否する(ステップS120)。
【0065】
一方、公開鍵証明書が正当であると判定された場合(ステップS119)、次に、認証結果検証部134が、記憶部136から、認証結果情報と署名情報と公開鍵証明書が具備する第1公開鍵とを読み込み、当該第1公開鍵を用いて署名情報を検証して認証結果情報の正当性を判定し、その判定結果を出力する(ステップS121)。この判定結果は許可部135に入力される。ここで、この判定結果が、認証結果情報が正当でない旨の判定結果(検証不合格)であった場合(ステップS122)、許可部135はユーザ装置110のログインを拒否する(ステップS123)。一方、この判定結果が、認証結果情報が正当である旨の判定結果(検証合格)であった場合(ステップS122)、許可部135はユーザ装置110のログインを許可し(ステップS124)、目的サーバ装置130とユーザ装置110との間でのサービス情報の通信を許可する。
【0066】
サービス情報の通信が許可された場合、通信処理部133は、記憶部136から、ユーザ装置アドレス情報と、セッション情報に対応付けられているサービス要求情報とを読み込む。そして、通信処理部133は、当該サービス要求情報によって特定されるサービス要求に対応するサービス情報を特定し、送信部132が、当該サービス情報を、当該ユーザ装置アドレス情報によって特定されるユーザ装置310に対し、ネットワーク140を通じて送信する(ステップS125)。
【0067】
<本形態の特徴>
以上のように、本形態では、証明書発行サーバ装置340が、目的サーバ装置毎の公開鍵証明書を発行し、ユーザ認証装置320は、認証結果情報とその署名情報とその署名情報の生成に用いた公開鍵証明書を、目的サーバ装置330に送信する。そのため、ユーザ認証装置320の紛失・機種変更等により、新たなユーザ認証装置320を使用しなければならない状況となっても、ユーザは、証明書発行サーバ装置340との間の処理(S101〜S107)を行うだけで、複数の目的サーバ装置に対するサインオンが可能となる。
【0068】
また、本形態の公開鍵証明書は、目的サーバ装置330の目的サーバ装置識別子と第1公開鍵とを含む情報を証明書発行サーバ装置の第2秘密鍵を用いて暗号化した暗号文と、当該第1公開鍵とを有する、目的サーバ装置毎の公開鍵証明書である。そして、各目的サーバ装置は、自らの目的サーバ装置識別子を用いて公開鍵証明書の検証を行う。つまり、本形態の公開鍵証明書は、特定の目的サーバ装置でのみ検証合格となる。これにより、盗聴された公開鍵証明書が複数の目的サーバ装置に対して悪用されるリスクを低減できる。
【0069】
〔第3実施形態〕
次に、第3実施形態について説明する。本形態は第2実施形態の変形例である。第2実施形態との相違点は、公開鍵証明書格納処理をユーザ認証処理の途中で実行する点のみである。以下では、第2実施形態との相違点のみを説明する。
【0070】
<構成>
第2実施形態と同様である。ここでは説明を省略する。
【0071】
<ユーザ認証処理>
図19は、第3実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図に従い、本形態のユーザ認証処理を説明する。
【0072】
まず、ユーザ装置310とユーザ認証装置320と目的サーバ装置330とが、第1実施形態のステップS1〜S9の処理を実行する。その後、ユーザ認証装置320の署名生成部127が、記憶部128に利用可能な公開鍵証明書が存在するか否かを判断する(ステップS131)。ここで、記憶部128に利用可能な公開鍵証明書が存在していなかった場合、ユーザ認証装置320と証明書発行サーバ装置340とが第2実施形態のステップS101〜S107の処理を実行する。一方、記憶部128に利用可能な公開鍵証明書が存在していた場合、ユーザ装置310とユーザ認証装置320と目的サーバ装置330とが、第1実施形態のステップS10〜S13及び第2実施形態のステップS114〜S125の処理を実行する。
【0073】
〔第4実施形態〕
次に、本発明の第4実施形態について説明する。
通常、携帯電話端末装置は、HTTP要求をネットワーク上の装置に送信し、その装置からHTTP応答を受信する機能を具備しているが、ネットワーク上の装置から送信されたHTTP要求に対し、HTTP応答を返す機能を具備していない。そのため、通常の携帯電話端末装置によって第1〜第3実施形態のユーザ認証装置を構成する場合、ユーザ装置とユーザ認証装置との間の通信方法を工夫する必要がある。
【0074】
本形態では、中継サーバ装置を設けることによってこの問題を解決する(中継サーバ方式)。なお、この中継サーバ方式は、第1〜第3実施形態の何れにも適用可能であるが、以下では一例として第1実施形態に中継サーバ方式を適用した例を示す。
【0075】
<構成>
図20は、第4実施形態のユーザ認証システム500の全体構成を例示した概念図である。また、図21は、ユーザ装置510の詳細構成を例示したブロック図である。また、図22は、ユーザ認証装置520の詳細構成を例示したブロック図である。また、図23は、中継サーバ装置550の詳細構成を例示したブロック図である。なお、これらの図において、上述の各実施形態と共通する部分については、上述の各実施形態と同じ符号を用いて説明を省略する。
【0076】
図20に示すように、本形態のユーザ認証システム500は、ネットワーク140を通じて通信可能に接続されたユーザ装置510とユーザ認証装置520と目的サーバ装置130と中継サーバ装置550とを有する。
【0077】
図21に示すように、第4実施形態のユーザ装置510と第1実施形態のユーザ装置110との相違点は、通信処理部115が通信処理部515に置換される点である。また、図22に示すように、第4実施形態のユーザ認証装置520と第1実施形態のユーザ認証装置120との相違点は、通信処理部125が通信処理部525に置換される点である。なお、本形態のユーザ認証装置520は、携帯電話端末装置等によって構成され、HTTP要求をネットワーク上の装置に送信し、その装置からHTTP応答を受信する機能を具備しているが、ネットワーク上の装置から送信されたHTTP要求に対し、HTTP応答を返す機能を具備していない。
【0078】
図23に示すように、この例の中継サーバ装置550は、受信部551と送信部552と通信処理部553と記憶部554と中継サーバ装置550全体を制御する制御部555とを有する。なお、この例の中継サーバ装置550は、公知のコンピュータに所定のプログラムが読み込まれ、CPUがこれらのプログラムを実行することにより構成される。また、中継サーバ装置550を構成する公知のコンピュータとしては、例えば、サーバマシン等を例示できる。
【0079】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
まず、ユーザ認証処理の前処理として、ユーザ認証装置120の記憶部128に第1秘密鍵が安全に格納され、目的サーバ装置130の記憶部136に第1公開鍵が格納される。また、ユーザ認証装置520の記憶部128にユーザ装置510のユーザ装置アドレス情報が格納される。
【0080】
図24,25は、第4実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、これらの図に従い、第4実施形態のユーザ認証処理を説明する。
【0081】
まず、例えば、ユーザ認証装置520(図22)の起動等を契機とし、通信処理部525がユーザ認証装置520の識別子であるユーザ認証装置識別子と、ユーザ認証装置520のユーザ認証装置アドレスとを送信部123に送る。送信部123は、ネットワーク140を介し、それらの情報をHTTP要求として中継サーバ装置550に送信する(ステップS201)。なお、ユーザ認証装置識別子としては、例えば、ユーザ認証装置520のメールアドレスや電話番号等を例示できる。
【0082】
中継サーバ装置550の受信部551はそのHTTP要求を受信し、通信処理部553に送る(ステップS202)。通信処理部553は、ユーザ装置510に対してポート番号を割り当て(ステップS203)、当該ポート番号とユーザ認証装置識別子とユーザ認証装置アドレスとを、相互に対応付けて記憶部554に格納する(ステップS204)。
【0083】
その後、第1実施形態と同様に、ユーザ装置510がネットワーク140を通じて目的サーバ装置130にアクセスし、ユーザ装置510の出力部112が、目的サーバ装置130から送信された情報を元にアドレス入力指示情報を出力する(ステップS205)。出力されたアドレス入力指示情報を知覚したユーザは、ユーザ装置510(図21)の入力部111へユーザ認証装置アドレス情報を入力する(ステップS206)。なお、本形態のユーザ認証装置アドレス情報は、中継サーバ装置550のアドレス情報(宛先情報)である中継サーバ装置アドレス情報と、ユーザ認証装置520のユーザ認証装置識別子とを具備する。
【0084】
入力されたユーザ認証装置アドレス情報(中継サーバ装置アドレス情報+ユーザ認証装置識別子)は、一旦、記憶部116に格納される。通信処理部515は、記憶部116からユーザ認証装置アドレス情報を読み出し、これをサービス要求情報(サービス要求内容を含む)とユーザ装置510のアドレス情報(宛先情報)であるユーザ装置アドレス情報と共に、送信部113に送る。送信部113は、サービス要求情報とユーザ認証装置アドレス情報とユーザ装置アドレス情報とを、ネットワーク140を通じて目的サーバ装置130に送信する(ステップS207)。この送信は、HTTP要求として行う。
【0085】
これらの情報は、第1実施形態のステップS4,S5と同様に、目的サーバ装置130で受信され(ステップS208)、セッション情報が生成・格納され(ステップS209)る。その後、目的サーバ装置130は、認証要求情報と目的サーバ装置アドレス情報とユーザ認証装置アドレス情報とセッション情報とをHTTP応答としてユーザ装置510に返信する(ステップS210)。これらの情報は、ユーザ装置510(図21)の受信部114で受信され(ステップS211)、通信処理部515によって記憶部116に一旦格納される。
【0086】
そして、通信処理部515は、自らのユーザ装置アドレス情報と、記憶部116から読み込んだ認証要求情報と目的サーバ装置アドレス情報とセッション情報とユーザ認証装置アドレス情報のユーザ認証装置識別子とを、ユーザ認証装置アドレス情報の中継サーバ装置アドレス情報によって宛先が特定される中継サーバ装置550に送信する(ステップS212)。この送信は、例えば、HTTP要求として行う。
【0087】
送信されたこれらの情報は、中継サーバ装置550(図23)の受信部551で受信され(ステップS213)、通信処理部553に送られる。通信処理部553は、送られた認証要求情報と目的サーバ装置アドレス情報とセッション情報とを、記憶部554に、一旦格納する。また、通信処理部553は、送られたユーザ認証装置識別子に関連付けられているポート番号を記憶部554から検索し、当該ポート番号に対応するユーザ認証装置識別子とユーザ認証装置アドレスとを記憶部554から読み込む(ステップS214)。さらに、通信処理部553は、認証要求情報と目的サーバ装置アドレス情報とセッション情報とを記憶部554から読み込む。そして、送信部552が、ステップS201のHTTP要求のHTTP応答として、認証要求情報と目的サーバ装置アドレス情報とセッション情報とを、ユーザ認証装置アドレスで宛先が特定されるユーザ認証装置520に送信する(ステップS215)。
【0088】
このHTTP応答は、ユーザ認証装置520(図22)の受信部124で受信され通信処理部525に送られる(ステップS216)。その後、ユーザ装置510とユーザ認証装置520と目的サーバ装置130とが、第1実施形態のステップS10〜S22の処理を実行する。また、中継サーバ装置550(図23)が、記憶部554から、相互に対応付けられたユーザ認証装置識別子とユーザ認証装置アドレスとポート番号とを削除する(ステップS217)。
【0089】
<本形態の特徴>
以上のように、本形態では、ユーザ装置510とユーザ認証装置520との通信を、中継サーバ装置550を経由して行うこととした。そのため、ユーザ認証装置520が、携帯電話端末装置にように、HTTP要求をネットワーク上の装置に送信し、その装置からHTTP応答を受信する機能を具備しているが、ネットワーク上の装置から送信されたHTTP要求に対し、HTTP応答を返す機能を具備していない場合であっても、ユーザ装置510がユーザ認証装置520に対して認証要求を行い、ユーザ認証装置520から認証結果情報を取得することができる。
【0090】
〔第5実施形態〕
次に、本発明の第5実施形態を説明する。
これまでの実施形態では、ユーザがユーザ認証装置アドレス情報をユーザ装置に入力する必要がある(ステップS2等参照)。しかし、ユーザがユーザ認証装置の何らかの宛先情報を知っているが、それがユーザ認証装置アドレス情報ではない場合がある。例えば、ユーザが、ユーザ認証装置の電子メールアドレスを知っているが、動的に割り当てられるユーザ認証装置のIPアドレスを知らず、ユーザ認証装置アドレス情報が、IPアドレスである場合等である。
【0091】
本形態では、ユーザ認証装置にユーザ認証装置アドレス情報を送信させ(宛先情報送信過程)、ユーザ装置がそのユーザ認証装置アドレス情報を受信する(宛先情報受信過程)。そして、ユーザ装置が、このユーザ認証装置アドレス情報によって宛先を指定し、認証要求情報をユーザ認証装置に送信する。これにより、ユーザがユーザ認証装置アドレス情報を知らなくても、ユーザ装置はユーザ認証装置に認証処理をさせることができる。
【0092】
このような方式は上述の各実施形態に適用可能である。しかし、以下では、一例として第1実施形態にこの方式を適用した場合を説明する。
【0093】
<構成>
本形態のユーザ認証システムは、第1実施形態のユーザ装置110をユーザ装置610に置換し、ユーザ認証装置120をユーザ認証装置620に置換し、目的サーバ装置130を目的サーバ装置630に置換した構成である。
【0094】
図26は、第5実施形態のユーザ装置610の詳細構成を例示したブロック図である。また、図27は、ユーザ認証装置620の詳細構成を例示したブロック図である。また、図28は、目的サーバ装置630の詳細構成を例示したブロック図である。
【0095】
図26に示すように、本形態のユーザ装置610は、第1実施形態のユーザ装置110の通信処理部115を通信処理部615に置換したものである。また、図27に示すように、本形態のユーザ認証装置620は、第1実施形態のユーザ認証装置120の通信処理部125を通信処理部625に置換したものである。また、図28に示すように、本形態の目的サーバ装置630は、第1実施形態の目的サーバ装置130の通信処理部133を通信処理部633に置換したものである。
【0096】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
【0097】
図29は、第5実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図に従い、第5実施形態のユーザ認証処理を説明する。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する部分について説明を省略する。
【0098】
まず、第1実施形態と同様に、ユーザ装置610がネットワーク140を通じて目的サーバ装置630にアクセスし、ユーザ装置610の出力部112が、目的サーバ装置630から送信された情報を元にアドレス入力指示情報を出力する(ステップS301)。ただし、本形態のアドレス入力指示情報は、ユーザ認証装置の電子メールアドレス(以下「ユーザ認証装置電子メールアドレス情報」という)の入力を指示する情報である。なお、本形態のユーザ認証装置アドレス情報は、ユーザ認証装置電子メールアドレス情報と異なる宛先情報である。例えば、URLアドレスやIPアドレス等が本形態のユーザ認証装置アドレス情報である。
【0099】
出力されたアドレス入力指示情報を知覚したユーザは、ユーザ装置610(図26)の入力部111へユーザ認証装置電子メールアドレス情報を入力する(ステップS302)。入力されたユーザ認証装置電子メールアドレス情報は、一旦、記憶部116に格納される。通信処理部515は、記憶部116からユーザ認証装置電子メールアドレス情報を読み出し、これをサービス要求情報(サービス要求内容を含む)とユーザ装置610のアドレス情報(宛先情報)であるユーザ装置アドレス情報と共に、送信部113に送る。送信部113は、サービス要求情報とユーザ認証装置電子メールアドレス情報とユーザ装置アドレス情報とを、ネットワーク140を通じて目的サーバ装置630に送信する(ステップS303)。この送信は、例えば、HTTP要求として行う。
【0100】
これらの情報は目的サーバ装置630(図28)の受信部131で受信され(ステップS304)、通信処理部133に送られる。通信処理部133は、ユーザ認証装置電子メールアドレス情報とユーザ装置アドレス情報を記憶部136に格納する。また、通信処理部133は、当該サービス要求情報に対応するセッション情報を生成し(ステップS305)、そのセッション情報を当該サービス要求情報に対応付けて記憶部136に格納する。
【0101】
次に、通信処理部133は、記憶部136から、ユーザ認証装置電子メールアドレス情報と目的サーバ装置アドレス情報とセッション情報とを読み込む。そして、通信処理部133は、目的サーバ装置アドレス情報とセッション情報とを内容に含み、ユーザ認証装置電子メールアドレス情報を宛先とした電子メールを生成する。この電子メールは、送信部132から送信される(ステップS306)。
【0102】
当該目的サーバ装置アドレス情報とセッション情報とを内容に含む電子メールは、ネットワーク140を通じ、ユーザ認証装置620の受信部124に受信され(ステップS307)、さらに通信処理部625から記憶部128に格納される。次に、通信処理部625が記憶部128から目的サーバ装置アドレス情報とセッション情報とを読み込み、当該目的サーバ装置アドレス情報とセッション情報と自らのユーザ認証装置アドレス情報とを送信部123に送る。送信部123は、ネットワーク140を通じ、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置630に対し、ユーザ認証装置アドレス情報とセッション情報とを送信する(ステップS308)。これらの情報は、目的サーバ装置630(図28)の受信部131で受信され、通信処理部633によって記憶部136に格納される。
【0103】
その後、第1実施形態のステップS6〜S22と同じ処理(ユーザ認証装置による認証処理等)を実行する。
【0104】
<本形態の特徴>
本形態では、ユーザがユーザ認証装置の電子メールアドレス情報を知っているが、それがユーザ認証装置アドレス情報ではない場合であっても、ユーザ装置はユーザ認証装置に認証処理をさせることができる。
【0105】
〔第6実施形態〕
次に、本発明の第6実施形態を説明する。
第5実施形態と同様、本形態も、ユーザ認証装置にユーザ認証装置アドレス情報を送信させ(宛先情報送信過程)、ユーザ装置がそのユーザ認証装置アドレス情報を受信し(宛先情報受信過程)、ユーザ装置が、このユーザ認証装置アドレス情報によって宛先を指定し、認証要求情報をユーザ認証装置に送信する形態である。しかし、第6実施形態は、ユーザ装置から出力された情報(QRコード等の二次元バーコード等)をユーザ認証装置に読み取らせることにより、ユーザがユーザ認証装置の宛先情報を全く知らない場合でも適用可能な形態である。なお、本形態の方式も上述の各実施形態に適用可能である。しかし、以下では、一例として第1実施形態に本形態の方式を適用した場合を説明する。
【0106】
<構成>
本形態のユーザ認証システムは、第1実施形態のユーザ装置110をーザ装置710に置換し、ユーザ認証装置120をユーザ認証装置720に置換し、目的サーバ装置130を目的サーバ装置730に置換した構成である。
【0107】
図30は、第6実施形態のユーザ装置710の詳細構成を例示したブロック図である。また、図31は、ユーザ認証装置720の詳細構成を例示したブロック図である。また、図32は、目的サーバ装置730の詳細構成を例示したブロック図である。
【0108】
図30に示すように、本形態のユーザ装置710は、第1実施形態のユーザ装置110の通信処理部115を通信処理部715に置換したものである。また、図31に示すように、本形態のユーザ認証装置720は、第1実施形態のユーザ認証装置120の通信処理部125を通信処理部725に置換し、カメラ等の画像入力部721を追加したものである。また、図32に示すように、本形態の目的サーバ装置730は、第1実施形態の目的サーバ装置130の通信処理部133を通信処理部733に置換したものである。
【0109】
<ユーザ認証処理>
次に、本形態のユーザ認証処理について説明する。
【0110】
図33は、第6実施形態のユーザ認証処理を説明するためのシーケンス図である。以下、この図に従い、第6実施形態のユーザ認証処理を説明する。なお、以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する部分については説明を省略する。
【0111】
まず、ユーザ装置710(図30)の通信処理部715が、送信部113にサービス要求情報とユーザ装置アドレス情報とを送り、送信部113がこれらをネットワーク140経由で目的サーバ装置730に送信する(ステップS401)。
【0112】
これらの情報は、目的サーバ装置730(図32)の受信部131で受信され(ステップS402)、通信処理部133に送られ、一旦記憶部136に格納される。また、通信処理部133は、送られたサービス要求情報に対応するセッション情報を生成し(ステップS403)、そのセッション情報を当該サービス要求情報に対応付けて記憶部136に格納する。
【0113】
次に、通信処理部133は、セッション情報を記憶部136から読み出し、これと自らの目的サーバ装置アドレス情報とを含んだQRコード情報を生成する。また、通信処理部133は、ユーザ装置アドレス情報を記憶部136から読み出し、これとQRコード情報とを送信部132に送る。送信部132は、ユーザ装置アドレス情報によって宛先が特定されるユーザ装置710に対し、ネットワーク140を通じてQRコードを送信する(ステップS404)。
【0114】
QRコードは、ユーザ装置710の受信部114で受信され(ステップS405)、さらに通信処理部715から出力部112に送られる。出力部112は、このQRコード情報が示すQRコードを表示する(ステップS406)。
【0115】
表示されたQRコードは、ユーザ認証装置720(図31)の画像入力部721によって読み取られ、このQRコードによって特定されるセッション情報と目的サーバ装置アドレス情報とは通信処理部725に送られる(ステップS407)。通信処理部725は、これらを、一旦、記憶部128に格納する。
【0116】
次に、通信処理部725は、記憶部128からセッション情報と目的サーバ装置アドレス情報とを読み込み、自らのユーザ認証装置アドレスとセッション情報とを、目的サーバ装置アドレス情報によって宛先が特定される目的サーバ装置730に送信される(ステップS408)。送信されたユーザ認証装置アドレスとセッション情報とは、目的サーバ装置730(図32)の受信部131で受信され、通信処理部733によって記憶部136に格納される。
【0117】
その後、第1実施形態のステップS6〜S22と同じ処理(ユーザ認証装置による認証処理等)を実行する。
【0118】
<本形態の特徴>
本形態では、ユーザがユーザ認証装置の宛先情報を全く知らない場合であっても、ユーザ装置はユーザ認証装置に認証処理をさせることができる。
【0119】
〔その他の通信方法〕
以下に、第4〜第6実施形態以外のユーザ装置とユーザ認証装置との通信方法を例示する。
図34は、ユーザ装置110とユーザ認証装置120とがローカルに接続され、ユーザ装置110と目的サーバ装置130とがグローバルなネットワーク840を通じて接続される例を示した概念図である。このような構成であってもよい。なお、ユーザ装置110とユーザ認証装置120とのローカルな接続方法としては、例えば、USB(Universal Serial Bus)ケーブルによる接続や電磁波通信接続(Felica等)や赤外線通信接続やPAN(Personal Area Network)接続等を例示できる。
【0120】
また、DNSサーバ装置をネットワーク上に配置し、DynamicDNS方式(標準技術)によりユーザ認証装置のIPアドレスをユーザ認証装置アドレス情報(URL等)に対応付け、ユーザ装置とユーザ認証装置との通信を行ってもよい。
【0121】
さらに、第6実施形態の変形例としてQRコードの代りにユーザが認識可能なコード番号を用い、ユーザ装置がユーザ認証装置にQRコードを読み取らせる代わりにユーザ装置から出力されたコード番号をユーザがユーザ認証装置に入力する構成としてもよい。
【0122】
〔その他の変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では認証結果情報に署名情報を付する構成であったが、認証結果情報に署名情報を付さない構成であってもよい。
【0123】
また、実施形態2では、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む情報を、公開鍵暗号方式により第2秘密鍵を用いて暗号化した暗号文と、第1公開鍵と目的サーバ装置識別子とユーザ識別子とを含む公開鍵証明書を生成した。しかし、ユーザ識別子を用いることなく公開鍵証明書を生成してもよいし、ユーザ識別子の代わりに又はユーザ識別子に加え、その他の情報を用いて公開鍵証明書を生成してもよい。
【0124】
また、実施形態2では、目的サーバ装置が、目的サーバ装置が具備する第2公開鍵と、公開鍵証明書が具備する暗号文、第1公開鍵、目的サーバ装置識別子及びユーザ識別子とを用い、公開鍵証明書の検証を行った。しかし、目的サーバ装置が、目的サーバ装置が具備する第2公開鍵及び目的サーバ装置識別子と、公開鍵証明書が具備する暗号文と第1公開鍵とユーザ識別子とを用い、公開鍵証明書の検証を行ってもよい。この場合、公開鍵証明書が目的サーバ装置識別子を具備する必要がなくなる。
【0125】
また、上述の各実施形態では、ユーザ認証装置に入力され、認証処理に利用される認証情報として「ユーザの認証を行うか否かの選択情報」を例示した。しかし、パスワードや生態認証情報等を認証情報としてもよいし、それらと「ユーザの認証を行うか否かの選択情報」とを組み合わせたものを認証情報としてもよい。この場合、ユーザ認証装置は、各認証情報に対応する認証処理を実行する。
【0126】
また、上述した各実施形態を組み合わせた形態で本発明が実施されてもよい。
【0127】
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0128】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0129】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0130】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0131】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0132】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0133】
本発明の利用分野としては、例えば、インターネットバンキングやインターネット取引等の安全性が高い認証技術を必要とする分野でのシングルサインオンシステムを例示できる。
【図面の簡単な説明】
【0134】
【図1】図1は、本発明の基本構成を具備するユーザ認証システムの構成を例示した概念図である。
【図2】図2は、第1実施形態のユーザ認証システムの全体構成を例示した概念図である。
【図3】図3は、第1実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図4】図4は、第1実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図5】図5は、第1実施形態のユーザ認証装置の具体例を示す外観図である。
【図6】図6は、第1実施形態の目的サーバ装置の詳細構成を例示したブロック図である。
【図7】図7は、第1実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図8】図8は、第1実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図9】図9(a)は、ポップアップウインドウとして表示されたアドレス入力指示情報を例示した図である。図9(b)は、ユーザインタフェースである出力部から出力された入力指示情報の例示である。
【図10】図10は、HTTP応答の記述を例示した図である。
【図11】図11は、第2実施形態のユーザ認証システムの全体構成を例示した概念図である。
【図12】図12は、第2実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図13】図13は、ユーザ認証装置の詳細構成を例示したブロック図である。
【図14】図14は、目的サーバ装置の詳細構成を例示したブロック図である。
【図15】図15は、証明書発行サーバ装置の詳細構成を例示したブロック図である。
【図16】図16は、第2実施形態の公開鍵証明書格納処理を説明するためのシーケンス図である。
【図17】図17は、第2実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図18】図18は、HTTP応答の記述を例示した図である。
【図19】図19は、第3実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図20】図20は、第4実施形態のユーザ認証システムの全体構成を例示した概念図である。
【図21】図21は、第4実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図22】図22は、第4実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図23】図23は、第4実施形態の中継サーバ装置の詳細構成を例示したブロック図である。
【図24】図24は、第4実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図25】図25は、第4実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図26】図26は、第5実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図27】図27は、第5実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図28】図28は、第5実施形態の目的サーバ装置の詳細構成を例示したブロック図である。
【図29】図29は、第5実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図30】図30は、第6実施形態のユーザ装置の詳細構成を例示したブロック図である。
【図31】図31は、第6実施形態のユーザ認証装置の詳細構成を例示したブロック図である。
【図32】図32は、第6実施形態の目的サーバ装置の詳細構成を例示したブロック図である。
【図33】図33は、第6実施形態のユーザ認証処理を説明するためのシーケンス図である。
【図34】図34は、ユーザ装置とユーザ認証装置とがローカルに接続され、ユーザ装置と目的サーバ装置とがグローバルなネットワークを通じて接続される例を示した概念図である。
【符号の説明】
【0135】
1,100,300,500,800 ユーザ認証システム
10,110,310,510,610,710 ユーザ装置
20,120,320,520,620,720 ユーザ認証装置
30,130,330,630 目的サーバ装置
【特許請求の範囲】
【請求項1】
ユーザ認証装置のユーザインタフェースである入力部が、認証情報の入力を受け付ける認証情報入力過程と、
上記ユーザ認証装置の認証処理部が、上記認証情報を用い、別の筺体に構成されたユーザ装置を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する認証結果情報生成過程と、
上記ユーザ認証装置の送信部が、上記認証結果情報を送信する認証結果情報送信過程と、
目的サーバ装置の受信部が、上記認証結果情報を受信する認証結果情報受信過程と、
上記認証結果情報を受信した上記目的サーバ装置の許可部が、上記目的サーバ装置と上記ユーザ装置との間でのサービス情報通信を許可する許可過程と、
を有することを特徴とするユーザ認証方法。
【請求項2】
請求項1に記載のユーザ認証方法であって、
上記ユーザ認証装置の署名生成部が、当該ユーザ認証装置の第1秘密鍵を用い、上記認証結果情報の署名情報を生成し、当該署名情報を出力する署名情報生成過程と、
上記目的サーバ装置の認証結果検証部が、上記第1秘密鍵に対応する第1公開鍵を用いて上記認証結果情報の署名情報を検証し、当該認証結果情報が正当であるか否かを判定し、その判定結果を出力する認証結果検証過程と、をさらに有し、
上記署名情報生成過程は、
上記認証結果情報生成過程と上記認証結果情報送信過程との間に実行される過程であり、
上記認証結果情報送信過程は、
上記認証結果情報に加え、その署名情報をさらに送信する過程であり、
上記認証結果情報受信過程は、
上記認証結果情報に加え、その署名情報をさらに受信する過程であり、
上記認証結果検証過程は、
上記認証結果情報受信過程と上記許可過程との間に実行される過程であり、
上記許可過程は、
上記認証結果検証過程によって上記認証結果情報が正当であると判定された場合に、上記目的サーバ装置の許可部が、上記目的サーバ装置と上記ユーザ装置との間でのサービス情報の通信を許可する過程である、
ことを特徴とするユーザ認証方法。
【請求項3】
請求項2に記載のユーザ認証方法であって、
上記目的サーバ装置の識別子と上記第1公開鍵とを含む情報を証明書発行サーバ装置の第2秘密鍵を用いて暗号化した暗号文と、当該第1公開鍵とを有する、目的サーバ装置毎の公開鍵証明書を、上記ユーザ認証装置の記憶部に格納する公開鍵証明書格納過程と、
上記目的サーバ装置の公開鍵証明書検証部が、上記第2秘密鍵に対応する第2公開鍵と、当該目的サーバ装置の識別子とを用いて上記公開鍵証明書を検証し、当該公開鍵証明書が正当であるか否かを判定し、その判定結果を出力する公開鍵証明書検証過程と、をさらに有し、
上記認証結果情報送信過程は、
上記認証結果情報及びその署名情報に加え、さらに上記公開鍵証明書を送信する過程であり、
上記認証結果情報受信過程は、
上記認証結果情報及びその署名情報に加え、さらに上記公開鍵証明書を受信する過程であり、
上記公開鍵証明書検証過程は、
上記認証結果情報受信過程と上記認証結果検証過程との間に実行される過程であり、
上記認証結果検証過程は、
上記公開鍵証明書検証過程で正当であると判定された上記公開鍵証明書が有する上記公開鍵を用いて上記認証結果情報の署名情報を検証し、上記認証結果情報が正当であるか否かを判定し、その判定結果を出力する過程である、
ことを特徴とするユーザ認証方法。
【請求項4】
請求項1に記載のユーザ認証方法であって、
上記ユーザ装置の送信部が、上記ユーザ認証装置に認証要求情報を送信する認証要求情報送信過程と、
上記ユーザ認証装置の受信部が、上記認証要求情報を受信する認証要求情報受信過程と、
上記ユーザ認証装置の受信部が上記認証要求情報を受信したことを契機に、ユーザ認証装置のユーザインタフェースである出力部が、入力指示情報を出力する入力指示情報出力過程と、をさらに有し、
上記認証情報入力過程は、
上記入力指示情報出力過程と上記認証結果情報生成過程との間に実行される過程であり、
上記認証結果情報送信過程は、
上記ユーザ認証装置の送信部が、上記認証結果情報を上記ユーザ装置に送信する過程であり、
上記認証結果情報受信過程は、
上記目的サーバ装置の受信部が、上記ユーザ装置から送信された上記認証結果情報を受信する過程である、
ことを特徴とするユーザ認証方法。
【請求項5】
請求項4に記載のユーザ認証方法であって、
上記ユーザ認証装置の送信部が、当該ユーザ認証装置の宛先情報であるユーザ認証装置アドレス情報を送信する宛先情報送信過程と、
上記ユーザ装置の受信部が、上記ユーザ認証装置アドレス情報を受信する宛先情報受信過程と、を具備し、
上記認証要求情報送信過程は、
上記ユーザ装置の送信部が、上記ユーザ認証装置アドレス情報によって宛先を指定し、上記認証要求情報を上記ユーザ認証装置に送信する過程である、
ことを特徴とするユーザ認証方法。
【請求項6】
請求項1に記載のユーザ認証方法であって、
ユーザ認証装置のユーザインタフェースである出力部が、入力指示情報を出力する入力指示情報出力過程をさらに有し、
上記入力指示情報は、
ユーザの認証を行うか否かの選択情報の入力を指示する情報を含み、
上記認証情報は、
ユーザの認証を行うか否かの選択情報を含み、
上記認証結果情報生成過程は、
上記認証情報がユーザの認証を行う旨の選択情報を含むことを条件に、ユーザの認証が成功である旨の上記認証結果情報を生成し、当該認証結果情報を出力する過程である、
ことを特徴とするユーザ認証方法。
【請求項7】
請求項1から6の何れかに記載のユーザ認証方法であって、
上記ユーザ認証装置は、
移動体通信端末装置である、
ことを特徴とするユーザ認証方法。
【請求項8】
認証情報の入力を受け付けるユーザインタフェースである入力部と、
上記認証情報を用い、別の筺体に構成されたユーザ装置を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する認証処理部と、
上記認証結果情報を送信する送信部と、
を有することを特徴とするユーザ認証装置。
【請求項9】
請求項8に記載のユーザ認証装置としてコンピュータを機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【請求項1】
ユーザ認証装置のユーザインタフェースである入力部が、認証情報の入力を受け付ける認証情報入力過程と、
上記ユーザ認証装置の認証処理部が、上記認証情報を用い、別の筺体に構成されたユーザ装置を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する認証結果情報生成過程と、
上記ユーザ認証装置の送信部が、上記認証結果情報を送信する認証結果情報送信過程と、
目的サーバ装置の受信部が、上記認証結果情報を受信する認証結果情報受信過程と、
上記認証結果情報を受信した上記目的サーバ装置の許可部が、上記目的サーバ装置と上記ユーザ装置との間でのサービス情報通信を許可する許可過程と、
を有することを特徴とするユーザ認証方法。
【請求項2】
請求項1に記載のユーザ認証方法であって、
上記ユーザ認証装置の署名生成部が、当該ユーザ認証装置の第1秘密鍵を用い、上記認証結果情報の署名情報を生成し、当該署名情報を出力する署名情報生成過程と、
上記目的サーバ装置の認証結果検証部が、上記第1秘密鍵に対応する第1公開鍵を用いて上記認証結果情報の署名情報を検証し、当該認証結果情報が正当であるか否かを判定し、その判定結果を出力する認証結果検証過程と、をさらに有し、
上記署名情報生成過程は、
上記認証結果情報生成過程と上記認証結果情報送信過程との間に実行される過程であり、
上記認証結果情報送信過程は、
上記認証結果情報に加え、その署名情報をさらに送信する過程であり、
上記認証結果情報受信過程は、
上記認証結果情報に加え、その署名情報をさらに受信する過程であり、
上記認証結果検証過程は、
上記認証結果情報受信過程と上記許可過程との間に実行される過程であり、
上記許可過程は、
上記認証結果検証過程によって上記認証結果情報が正当であると判定された場合に、上記目的サーバ装置の許可部が、上記目的サーバ装置と上記ユーザ装置との間でのサービス情報の通信を許可する過程である、
ことを特徴とするユーザ認証方法。
【請求項3】
請求項2に記載のユーザ認証方法であって、
上記目的サーバ装置の識別子と上記第1公開鍵とを含む情報を証明書発行サーバ装置の第2秘密鍵を用いて暗号化した暗号文と、当該第1公開鍵とを有する、目的サーバ装置毎の公開鍵証明書を、上記ユーザ認証装置の記憶部に格納する公開鍵証明書格納過程と、
上記目的サーバ装置の公開鍵証明書検証部が、上記第2秘密鍵に対応する第2公開鍵と、当該目的サーバ装置の識別子とを用いて上記公開鍵証明書を検証し、当該公開鍵証明書が正当であるか否かを判定し、その判定結果を出力する公開鍵証明書検証過程と、をさらに有し、
上記認証結果情報送信過程は、
上記認証結果情報及びその署名情報に加え、さらに上記公開鍵証明書を送信する過程であり、
上記認証結果情報受信過程は、
上記認証結果情報及びその署名情報に加え、さらに上記公開鍵証明書を受信する過程であり、
上記公開鍵証明書検証過程は、
上記認証結果情報受信過程と上記認証結果検証過程との間に実行される過程であり、
上記認証結果検証過程は、
上記公開鍵証明書検証過程で正当であると判定された上記公開鍵証明書が有する上記公開鍵を用いて上記認証結果情報の署名情報を検証し、上記認証結果情報が正当であるか否かを判定し、その判定結果を出力する過程である、
ことを特徴とするユーザ認証方法。
【請求項4】
請求項1に記載のユーザ認証方法であって、
上記ユーザ装置の送信部が、上記ユーザ認証装置に認証要求情報を送信する認証要求情報送信過程と、
上記ユーザ認証装置の受信部が、上記認証要求情報を受信する認証要求情報受信過程と、
上記ユーザ認証装置の受信部が上記認証要求情報を受信したことを契機に、ユーザ認証装置のユーザインタフェースである出力部が、入力指示情報を出力する入力指示情報出力過程と、をさらに有し、
上記認証情報入力過程は、
上記入力指示情報出力過程と上記認証結果情報生成過程との間に実行される過程であり、
上記認証結果情報送信過程は、
上記ユーザ認証装置の送信部が、上記認証結果情報を上記ユーザ装置に送信する過程であり、
上記認証結果情報受信過程は、
上記目的サーバ装置の受信部が、上記ユーザ装置から送信された上記認証結果情報を受信する過程である、
ことを特徴とするユーザ認証方法。
【請求項5】
請求項4に記載のユーザ認証方法であって、
上記ユーザ認証装置の送信部が、当該ユーザ認証装置の宛先情報であるユーザ認証装置アドレス情報を送信する宛先情報送信過程と、
上記ユーザ装置の受信部が、上記ユーザ認証装置アドレス情報を受信する宛先情報受信過程と、を具備し、
上記認証要求情報送信過程は、
上記ユーザ装置の送信部が、上記ユーザ認証装置アドレス情報によって宛先を指定し、上記認証要求情報を上記ユーザ認証装置に送信する過程である、
ことを特徴とするユーザ認証方法。
【請求項6】
請求項1に記載のユーザ認証方法であって、
ユーザ認証装置のユーザインタフェースである出力部が、入力指示情報を出力する入力指示情報出力過程をさらに有し、
上記入力指示情報は、
ユーザの認証を行うか否かの選択情報の入力を指示する情報を含み、
上記認証情報は、
ユーザの認証を行うか否かの選択情報を含み、
上記認証結果情報生成過程は、
上記認証情報がユーザの認証を行う旨の選択情報を含むことを条件に、ユーザの認証が成功である旨の上記認証結果情報を生成し、当該認証結果情報を出力する過程である、
ことを特徴とするユーザ認証方法。
【請求項7】
請求項1から6の何れかに記載のユーザ認証方法であって、
上記ユーザ認証装置は、
移動体通信端末装置である、
ことを特徴とするユーザ認証方法。
【請求項8】
認証情報の入力を受け付けるユーザインタフェースである入力部と、
上記認証情報を用い、別の筺体に構成されたユーザ装置を使用するユーザの認証処理を行い、当該認証処理結果を示す認証結果情報を生成し、当該認証結果情報を出力する認証処理部と、
上記認証結果情報を送信する送信部と、
を有することを特徴とするユーザ認証装置。
【請求項9】
請求項8に記載のユーザ認証装置としてコンピュータを機能させるためのプログラム。
【請求項10】
請求項9に記載のプログラムを格納したコンピュータ読取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2009−43037(P2009−43037A)
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願番号】特願2007−207424(P2007−207424)
【出願日】平成19年8月9日(2007.8.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成21年2月26日(2009.2.26)
【国際特許分類】
【出願日】平成19年8月9日(2007.8.9)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]