JP4928416B2 - 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体 - Google Patents

公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体 Download PDF

Info

Publication number
JP4928416B2
JP4928416B2 JP2007295679A JP2007295679A JP4928416B2 JP 4928416 B2 JP4928416 B2 JP 4928416B2 JP 2007295679 A JP2007295679 A JP 2007295679A JP 2007295679 A JP2007295679 A JP 2007295679A JP 4928416 B2 JP4928416 B2 JP 4928416B2
Authority
JP
Japan
Prior art keywords
information
public key
authentication
key
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007295679A
Other languages
English (en)
Other versions
JP2009124399A (ja
Inventor
和風 上野
圭 唐澤
慎吾 折原
行雄 鶴岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007295679A priority Critical patent/JP4928416B2/ja
Publication of JP2009124399A publication Critical patent/JP2009124399A/ja
Application granted granted Critical
Publication of JP4928416B2 publication Critical patent/JP4928416B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する技術に関する。
信頼できる第三者機関(TTP: Trusted Third Party)が管理する認証装置(認証サーバ)が任意の認証結果と公開鍵を対応付けた表(公開鍵簿)を作成し、公開することによって、複数の通信装置が公開鍵を簡易に導入/利用できるようにする技術がある。
図1(a)は、認証装置(認証サーバ)が任意の認証結果と公開鍵を対応付けた表(公開鍵簿)を作成し、公開することによって、複数の通信装置が公開鍵を簡易に導入/利用できるようにする技術を説明するための図である。
この技術では、(1)まず、公開鍵と秘密鍵の鍵ペアを保持する利用者装置が認証装置に対して公開鍵の認証を求め、認証装置が任意の認証方法によって当該公開鍵と利用者装置との対応関係の正当性を認証する。(2)次に、認証装置がその認証結果と当該公開鍵とを対応付けた表である公開鍵簿を作成して公開する。(3)その後、利用者装置が他の通信装置と公開鍵及び秘密鍵の鍵ペアを用いた通信処理(SSLクライアント認証、暗号化電子メール通信、署名検証等)を行う。(4)この際、当該他の通信装置は認証装置から当該公開鍵と利用者装置との対応関係の正当性に関する認証結果の通知を受ける。これにより、当該他の通信装置は、公開鍵と利用者装置との対応付けを信用し、上述の公開鍵を用いた通信処理を実行することができる。
また、このような技術の応用として、認証装置から公開鍵簿管理機能を分離し、この公開鍵簿管理機能を別の公開鍵簿管理装置(拡張サーバ)に実装する技術がある(例えば、非特許文献1参照)。なお、公開鍵簿管理機能とは、公開鍵と認証結果の組み合わせを保持する機能と、問い合わせに対して公開鍵と認証結果の組み合わせ通知する機能とを意味する。
図1(b)は、認証装置から公開鍵簿管理機能を分離し、この公開鍵簿管理機能を別の公開鍵簿管理装置(拡張サーバ)に実装した技術を説明するための図である。
非特許文献1の技術では、(1)まず、公開鍵と秘密鍵の鍵ペアを保持する利用者装置が認証装置に対して公開鍵の認証を求め、認証装置が任意の認証方法によって当該公開鍵と利用者装置との対応関係の正当性を認証する。(2)認証装置は当該認証結果を利用者装置に送信し、利用者装置は、その認証結果と対応する公開鍵を公開鍵簿管理装置に転送する。(3)公開鍵簿管理装置は、転送された認証結果と公開鍵とを対応付けた表である公開鍵簿を作成して公開する。(4)その後、利用者装置が他の通信装置と公開鍵及び秘密鍵の鍵ペアを用いた通信処理を行う。(5)この際、当該他の通信装置は公開鍵簿管理装置から当該公開鍵と利用者装置との対応関係の正当性に関する認証結果の通知を受ける。
Scott Cantor, 外4名, "Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0",pp.15-20, "3.4 HTTP Redirect Binding", [online],2005年3月15日,OASIS,[平成19年11月5日検索],インターネット<http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf>
しかしながら、公開鍵簿管理機能を認証装置とは別の公開鍵簿管理装置に実装する従来方式の場合、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される仕組みになっておらず、セキュリティ上の問題がある。
すなわち、この方式では、認証装置が認証結果を利用者装置に送信し、利用者装置がその認証結果と対応する公開鍵を公開鍵簿管理装置に転送するが、この転送過程に攻撃者が介在して不正を行う可能性がある。例えば、利用者装置が認証結果と公開鍵を公開鍵簿管理装置に転送する過程に介在した攻撃者が、利用者装置の公開鍵を攻撃者の公開鍵に置換したり、認証結果を改ざんしたりして公開鍵簿管理装置に転送する攻撃が考えられる。
本発明はこのような点に鑑みてなされたものであり、各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿管理技術において、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とを保証し、安全性を向上させる技術を提供することを目的とする。
第1の本発明では、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信する公開鍵送信過程と、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第1鍵共有化情報を公開鍵簿管理装置に送信する第1鍵共有化情報送信過程と、公開鍵簿管理装置の鍵情報共有部が、第1鍵共有化情報を用いて鍵情報を抽出する第1鍵情報共有過程と、公開鍵簿管理装置の送信部が、当該公開鍵簿管理装置と認証装置との間で鍵情報を共有するための暗号情報である第2鍵共有化情報を認証装置に送信する第2鍵共有化情報送信過程と、認証装置の鍵情報共有部が、第2鍵共有化情報を用いて鍵情報を抽出する第2鍵情報共有過程と、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第1鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、利用者装置の送信部が、署名情報を公開鍵簿管理装置に送信する署名情報送信過程と、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証する署名情報検証過程と、利用者装置の認証情報暗号化部が、認証装置の認証を受けるための認証情報を、鍵情報によって復号可能な認証情報暗号化情報に暗号化する認証情報暗号化過程と、利用者装置の送信部が、認証情報暗号化情報を公開鍵簿管理装置に送信する第1認証情報暗号化情報送信過程と、公開鍵簿管理装置の送信部が、認証情報暗号化情報を認証装置に送信する第2認証情報暗号化情報送信過程と、認証装置の認証情報復号部が、鍵情報を用いて認証情報暗号化情報を復号して認証情報を抽出する認証情報復号過程と、認証装置の認証部が、認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、認証装置の認証結果暗号化部が、認証結果を、鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、認証装置の送信部が、認証結果暗号化情報を公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、公開鍵簿管理装置の認証結果復号部が、鍵情報を用いて認証結果暗号化情報を復号して認証結果を抽出する認証結果復号過程と、公開鍵簿管理装置の公開鍵簿生成部が、公開鍵送信過程で送信された公開鍵と、認証結果復号過程で抽出された認証結果とを対応付けた情報を、公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程とを実行する。
ここで、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信し(公開鍵送信過程)、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第1鍵共有化情報を公開鍵簿管理装置に送信(第1鍵共有化情報送信過程)した後に、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第1鍵共有化情報を含む情報に対する署名情報を生成し(署名情報生成過程)、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証している(署名情報検証過程)。これにより、公開鍵簿管理装置は、公開鍵を送信してきた利用者装置が確かに対応する秘密鍵を所持していること、及び、その利用者装置との間で鍵情報を共有することを確認できる。また、公開鍵簿管理装置は、認証処理が、公開鍵を提供した利用者装置と公開鍵簿管理装置と認証装置との間で共有化された鍵情報で復号可能な暗号通信で行われたことをもって、当該認証結果が公開鍵を提供した利用者装置に対応するものであることを確認できる。以上により、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される。
また、第2の本発明では、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信する公開鍵送信過程と、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で第1鍵情報を共有するための暗号情報である第1鍵共有化情報を、公開鍵簿管理装置に送信する第1鍵共有化情報送信過程と、公開鍵簿管理装置の鍵情報共有部が、第1鍵共有化情報を用いて第1鍵情報を抽出する第1鍵情報共有過程と、公開鍵簿管理装置の送信部が、第1鍵情報に対応付けられた第2鍵情報を当該公開鍵簿管理装置と認証装置との間で共有するための暗号情報である第2鍵共有化情報を、認証装置に送信する第2鍵共有化情報送信過程と、認証装置の鍵情報共有部が、第2鍵共有化情報を用いて第2鍵情報を抽出する第2鍵情報共有過程と、第1鍵情報と第2鍵情報とを相互に関連付けて公開鍵簿管理装置の記憶部に格納する鍵情報関連付け過程と、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第1鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、利用者装置の送信部が、署名情報を公開鍵簿管理装置に送信する署名情報送信過程と、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証する署名情報検証過程と、利用者装置の認証情報暗号化部が、認証装置の認証を受けるための認証情報を、第1鍵情報によって復号可能な第1認証情報暗号化情報に暗号化する第1認証情報暗号化過程と、利用者装置の送信部が、第1認証情報暗号化情報を公開鍵簿管理装置に送信する第1認証情報暗号化情報送信過程と、公開鍵簿管理装置の認証情報復号部が、第1鍵情報を用いて第1認証情報暗号化情報を復号して認証情報を抽出する第1認証情報復号過程と、公開鍵簿管理装置の認証情報暗号化部が、認証情報を、第2鍵情報によって復号可能な第2認証情報暗号化情報に暗号化する第2認証情報暗号化過程と、公開鍵簿管理装置の送信部が、第2認証情報暗号化情報を認証装置に送信する第2認証情報暗号化情報送信過程と、認証装置の認証情報復号部が、第2鍵情報を用いて第2認証情報暗号化情報を復号して認証情報を抽出する第2認証情報復号過程と、認証装置の認証部が、認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、認証装置の認証結果暗号化部が、認証結果を、第2鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、認証装置の送信部が、認証結果暗号化情報を公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、公開鍵簿管理装置の認証結果復号部が、第2鍵情報を用いて認証結果暗号化情報を復号して認証結果を抽出する認証結果復号過程と、公開鍵簿管理装置の公開鍵簿生成部が、公開鍵送信過程で送信された公開鍵と、認証結果復号過程で抽出された認証結果とを対応付けた情報を、公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程とを実行する。
ここで、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信し(公開鍵送信過程)、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で第1鍵情報を共有するための暗号情報である第1鍵共有化情報を公開鍵簿管理装置に送信(第1鍵共有化情報送信過程)した後に、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第1鍵共有化情報を含む情報に対する署名情報を生成し(署名情報生成過程)、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証している(署名情報検証過程)。さらに、公開鍵簿管理装置の送信部が、第1鍵情報に対応付けられた第2鍵情報を当該公開鍵簿管理装置と認証装置との間で共有するための暗号情報である第2鍵共有化情報を、認証装置に送信している(第2鍵共有化情報送信過程)。これらにより、公開鍵簿管理装置は、公開鍵を送信してきた利用者装置が確かに対応する秘密鍵を所持していること、及び、その利用者装置との間で第1鍵情報を共有し、認証装置との間で第2鍵情報を共有することを確認できる。また、公開鍵簿管理装置は、認証処理が、公開鍵を提供した利用者装置と公開鍵簿管理装置と認証装置との間で共有化された第1鍵情報又はそれに関連付けられた第2鍵情報で復号可能な暗号通信路内で行われたことをもって、当該認証結果が公開鍵を提供した利用者装置に対応するものであることを確認できる。以上により、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される。
以上のように、本発明では、各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿管理技術において、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とを保証でき、安全性を向上させることができる。
以下、本発明を実施するための最良の形態を図面を参照して説明する。
〔第1実施形態〕
まず、第1の本発明の実施形態である第1実施形態について説明する。
<構成>
[全体構成]
図2は、第1実施形態の公開鍵簿登録システム1の全体構成を説明するためのブロック図である。
図2に例示するように、本形態の公開鍵簿登録システム1は、利用者装置10(例えば、クライアント装置)と、認証装置20(例えば、認証サーバ装置)と、公開鍵簿管理装置30(例えば、拡張サーバ装置)と、通信装置60(例えば、サービスサーバ装置)とを有する。また、利用者装置10と公開鍵簿管理装置30とは、ネットワーク40を通じて通信可能に接続され、認証装置20と公開鍵簿管理装置30とは、ネットワーク50を通じて通信可能に接続される。また、通信装置60は、ネットワーク40を通じて利用者装置10及び公開鍵簿管理装置30と通信可能に接続される。なお、ネットワーク40,50は、例えば、インターネットやLAN(Local Area Network)等である。
なお、本形態の利用者装置10と認証装置20とは、二装置間での認証処理と、暗号技術を用いた当該二装置間での共通鍵の配送処理と、当該共通鍵を特定するための秘密情報及び当該二装置間の通信ログ情報を用いて当該共通鍵の設定過程の正当性を確認する処理と、を含むプロトコル(例えば、SSLやTLSやそれらの拡張等)に従いつつ、本形態独自の処理を行う装置である。
なお、SSLやTLSやそれらの拡張
プロトコルについては、例えば、「T .Dierks,C. Akken,“The TLS Protocol Version 1.0”,[online],1999年1月,Network Working Group,[平成19年10月24日検索],インターネット<http://www.ietf.org/rfc/rfc2246.txt>」、「“SSL & TLS”,[online],2007年5月2日, [平成19年10月26日検索],インターネット<http://www21.ocn.ne.jp/~k-west/SSLandTLS/>」、「丸山 龍一郎,”リモートアクセスの新潮流SSL-VPNの導入メリット(前編)”,[online],平成15年9月13日,アイティメディア株式会社,[平成19年10月24日検索] ,インターネット<http://www.atmarkit.co.jp/fsecurity/special/42ssl_vpn/ssl_vpn01.html>」等参照。
また、説明を簡略化するため、図2では、1つの利用者装置10と認証装置20とが公開鍵簿管理装置30と通信可能に接続されているが、2以上の利用者装置10と認証装置20とが公開鍵簿管理装置30と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置30を設けた構成であってもよく、複数の通信装置60を設けた構成であってもよい。
[利用者装置]
本形態の利用者装置10は、CPU(Central Processing Unit)、RAM(Random-Access Memory)、ROM(Read Only Memory)、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図3は、第1実施形態の利用者装置10の機能構成を説明するためのブロック図である。
図3に例示するように、本形態の利用者装置10は、記憶部11、演算部12、送信部13、受信部14、制御部15、一時記憶部16、入力部17及び出力部18を有する。また、演算部12は、乱数生成部12a、秘密情報設定部12b、公開鍵暗号化部12c、署名生成部12d、共通鍵生成部12e、終了情報生成部12f、終了情報検証部12g、通信処理部12h、認証情報暗号化部12i及び認証結果復号部12jを有する。
なお、本形態の演算部12や制御部15は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部であり、記憶部11や一時記憶部16は、RAM、レジスタ、キャッシュメモリ、ハードディスク装置等の公知の記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。また、送信部13や受信部14は、所定のプログラムが読み込まれたCPUの制御のもと駆動するLANカード、モデム等の通信装置である。また、利用者装置を構成するハードウェアの具体例としては、パーソナルコンピュータ、携帯電話、PDA(Personal Digital Assistant)等がある。
また、利用者装置10は、制御部15の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部16に格納され、他の演算のために読み出される。
[認証装置]
本形態の認証装置20は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図4は、第1実施形態の認証装置20の機能構成を説明するためのブロック図である。
図4に例示するように、本形態の認証装置20は、記憶部21、演算部22、送信部23、受信部24、制御部25及び一時記憶部26を有する。また、演算部22は、乱数生成部22a、復号部22c(「鍵情報共有部」を構成)、共通鍵生成部22e(「鍵情報共有部」を構成)、終了情報生成部22f、終了情報検証部22g、通信処理部22h、認証情報復号部22i、認証部22j及び認証結果暗号化部22kを有する。
なお、本形態の演算部22や制御部25は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部であり、記憶部21や一時記憶部26は、RAM、レジスタ、キャッシュメモリ、ハードディスク装置等の公知の記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。また、送信部23や受信部24は、所定のプログラムが読み込まれたCPUの制御のもと駆動するLANカード、モデム等の通信装置である。また、認証装置を構成するハードウェアの具体例としては、サーバマシン、パーソナルコンピュータ等がある。
また、認証装置20は、制御部25の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部26に格納され、他の演算のために読み出される。
[公開鍵簿管理装置]
本形態の公開鍵簿管理装置30は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図5は、第1実施形態の公開鍵簿管理装置30の機能構成を説明するためのブロック図である。
図5に例示するように、本形態の公開鍵簿管理装置30は、記憶部31,37、演算部32、送信部33、受信部34、制御部35及び一時記憶部36を有する。また、演算部32は、暗号リスト制限部32a、復号部32b(「鍵情報共有部」を構成)、署名情報検証部32c、共通鍵生成部32e(「鍵情報共有部」を構成)、終了情報生成部32f、終了情報検証部32g、通信処理部32h、認証情報復号部32i、認証結果復号部32j、公開鍵簿生成部32k及び検索部32mを有する。
なお、本形態の演算部32や制御部35は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部であり、記憶部31,37や一時記憶部36は、RAM、レジスタ、キャッシュメモリ、ハードディスク装置等の公知の記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。また、送信部33や受信部34は、所定のプログラムが読み込まれたCPUの制御のもと駆動するLANカード、モデム等の通信装置である。また、公開鍵簿管理装置を構成するハードウェアの具体例としては、ゲートウェイマシン、サーバマシン、パーソナルコンピュータ等がある。
また、公開鍵簿管理装置30は、制御部35の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部36に格納され、他の演算のために読み出される。
<処理>
次に、本形態の処理を説明する。
[前提]
まず、利用者装置10と認証装置20とに対し、それぞれ公開鍵暗号方式(RSA等)の鍵ペア(公開鍵,秘密鍵)が生成されているものとする。なお、鍵ペアは複数の暗号方式分生成されてもよい。そして、利用者装置10の秘密鍵SKcが利用者装置10の記憶部11に格納され、認証装置20の秘密鍵SKsが認証装置20の記憶部21に格納されているものとする。また、各公開鍵には、認証局(CA: Certificate Authority)によって公開鍵証明書が発行され、利用者装置10の公開鍵PKcの公開鍵証明書Ccが利用者装置10の記憶部11に格納され、認証装置20の公開鍵PKsの公開鍵証明書Csが認証装置20の記憶部21に格納されているものとする。なお、公開鍵証明書Ccは、認証局の秘密鍵を用いて生成された利用者装置10の公開鍵PKcに対する電子署名であり、当該公開鍵PKcを含む情報である。同様に、公開鍵証明書Csは、認証局の秘密鍵を用いて生成された認証装置20の公開鍵PKsに対する電子署名であり、当該公開鍵PKsを含む情報である。公開鍵証明書Ccは、利用者装置10の記憶部11に格納され、公開鍵証明書Csは、認証装置20の記憶部21に格納される。また、公開鍵証明書の標準規格としてはX.509等を例示できる。また、利用者装置10の記憶部11には、秘密情報を2つの装置間で共有するための暗号方式のリストである暗号リストCSLが格納される。これは、TLS等におけるcipher suiteに相当し、RSA系の暗号方式とDH (Diffie-Hellman)系の暗号方式とを含むリストである。
[処理の全体]
図6及び図7は、第1実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
まず、認証装置20(図4)の秘密鍵SKsが公開鍵簿管理装置30の記憶部31に格納される(秘密鍵共有過程/ステップS1)。なお、鍵ペアが複数の暗号方式分生成されている場合には、各暗号方式にそれぞれ対応する秘密鍵SKsを記憶部31に格納しておく。また、認証装置20から公開鍵簿管理装置30への秘密鍵SKsの提供は、例えば、認証装置20の管理者が、秘密鍵SKsが格納されたICカード等の記録媒体を公開鍵簿管理装置30の管理者に郵送して行ってもよいし、認証技術や暗号技術を用いた鍵共有化処理により、認証装置20が公開鍵簿管理装置30に秘密鍵SKsを安全に配送してもよい。
次に、利用者装置10(図3)の乱数生成部12aが、乱数R1(第1乱数)を生成し(第1乱数生成過程)、記憶部11に格納する。そして、通信処理部12hが、記憶部11から乱数R1(第1乱数)及び暗号リストCSLを読み込み、これらを含む情報(ClientHelloメッセージ)を生成して送信部13に送る。送信部13は、乱数R1及び暗号リストCSLを含むClientHelloメッセージをネットワーク40経由で公開鍵簿管理装置30に送信する(第1乱数送信過程/ステップS2)。
ClientHelloメッセージは、公開鍵簿管理装置30(図5)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、ClientHelloメッセージが具備する乱数R1(第1乱数)を記憶部31に格納するとともに、暗号リストCSLを暗号リスト制限部32aに送る。暗号リスト制限部32aは、暗号リストCSLが具備する暗号方式から、一方の装置において秘密情報を公開鍵暗号方式によって暗号化し、当該暗号文を他の装置に送信し、当該他の装置において当該暗号文を復号することによって両装置間で秘密情報を共有する暗号方式のみを選択し、選択した暗号方式のみからなる新たな暗号リストCLS'を生成する。TLS等の場合、暗号リスト制限部32aは、CSLが具備する暗号方式から、RSA系の暗号方式のみを選択し、RSA系の暗号方式のみからなる新たな暗号リストCLS'を生成して記憶部31に格納する(ステップS3)。
次に、通信処理部32hは、記憶部31から乱数R1及び新たな暗号リストCSL'を読み込み、これらを含む情報(ClientHelloメッセージ)を生成して送信部33に送る。送信部33は、乱数R1及び新たな暗号リストCSL'を含むClientHelloメッセージをネットワーク50経由で認証装置20に送信する(第2乱数送信過程/ステップS4)。
乱数R1及び新たな暗号リストCSL'を含むClientHelloメッセージは、認証装置20(図4)の受信部24で受信され通信処理部22hに送られる。通信処理部22hは、ClientHelloメッセージが含む乱数R1及び新たな暗号リストCSL'を記憶部21に格納する。次に、認証装置20の乱数生成部22aが、乱数R2(第2乱数)を生成し(第2乱数生成過程)、記憶部21に格納する。また、通信処理部22hは、記憶部21に格納された暗号リストCSL'から、秘密鍵SKsが記憶部21に格納されている1つの暗号方式Cを選択し、それを記憶部21に格納する。さらに通信処理部22hは、記憶部21から当該暗号方式Cと乱数R2とを読み込み、これらを含む情報(ServerHelloメッセージ)を生成して送信部23に送る。なお、暗号方式Cは、TLS等におけるcipher suiteに相当し、本形態ではRSA系の何れかの暗号方式が暗号方式Cとなる。送信部23は、乱数R2及び暗号方式Cを含むServertHelloメッセージをネットワーク50経由で公開鍵簿管理装置30に送信する(第3乱数送信過程/ステップS5)。
ServertHelloメッセージは、公開鍵簿管理装置30(図5)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、ServertHelloメッセージが具備する乱数R2(第2乱数)と暗号方式Cとを記憶部31に格納するとともに(ステップS6)、当該ServertHelloメッセージを送信部33に送る。送信部33は、乱数R2及び暗号方式Cを含む当該ServertHelloメッセージをネットワーク40経由で利用者装置10に送信する(第4乱数送信過程/ステップS7)。ServertHelloメッセージは、利用者装置10(図3)の受信部14で受信され、通信処理部12hに送られる。通信処理部12hは、ServertHelloメッセージが具備する乱数R2(第2乱数)と暗号方式Cとを記憶部11に格納する。
次に、認証装置20(図4)の通信処理部22hが記憶部21に格納された暗号方式Cに対応する公開鍵PKsの公開鍵証明書Csを読み込み、これを含む情報(ServerCertificateメッセージ)を送信部23に送る。送信部23は、当該認証装置20の公開鍵証明書Csを、ネットワーク50経由で公開鍵簿管理装置30に送信する(ステップS8)。当該認証装置20の公開鍵証明書Csは、公開鍵簿管理装置30(図5)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、認証装置20の公開鍵証明書Csを記憶部31に格納するとともに、これを送信部33に送る。送信部33は、認証装置20の公開鍵証明書Csをネットワーク40経由で利用者装置10に送信する(ステップS9)。送信された認証装置20の公開鍵証明書Csは、利用者装置10(図3)の受信部14で受信され、通信処理部12hに送られる。通信処理部12hは、当該認証装置20の公開鍵証明書Csを記憶部11に格納する(ステップS10)。
そして、認証装置20がServerKeyExchange,CertificateRequest,ServerHelloDoneのメッセージを利用者装置10に送信した後、利用者装置10の通信処理部12hが、記憶部11に格納された暗号方式Cに対応する公開鍵PKcの公開鍵証明書Ccを読み込み、これを含む情報(ClientCertificateメッセージ)を送信部13に送る。送信部13は、当該利用者装置10の公開鍵証明書Cc(利用者装置10の公開鍵PKcを含む)を、ネットワーク40経由で公開鍵簿管理装置30に送信する。当該利用者装置10の公開鍵証明書Ccは、公開鍵簿管理装置30(図5)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、利用者装置10の公開鍵証明書Ccを記憶部31に格納する(公開鍵送信過程/ステップS11)。
次に、利用者装置10(図3)の秘密情報設定部12bが、共通鍵MS(master secret)(「鍵情報」に相当)を特定するための秘密情報PMS(premaster secret)を設定し、それを記憶部11に格納する。なお、秘密情報PMSの設定は、例えは、秘密情報設定部12bが乱数を生成し、それを秘密情報PMSとすることによって行われる。
次に、利用者装置10(図3)の共通鍵生成部12eが、記憶部11から秘密情報PMSを読み込み、当該秘密情報PMSによって定まる共通鍵MSを生成して記憶部11に格納する。共通鍵MSは、例えば、乱数R1(第1乱数)と乱数R2(第2乱数)と秘密情報PMSとによって定まる情報である。TLS等では、共通鍵生成部12eが、記憶部11から秘密情報PMSと乱数R1(第1乱数)と乱数R2(第2乱数)とを読み込み、これらと定数とのビット結合値のハッシュ値を共通鍵MS (master secret)として生成する。なお、利用者装置10が当該秘密情報PMSによって定まる共通鍵MSを生成する過程は、必ずしもこの時点で行う必要はなく、遅くとも後述のステップS16より前に行われればよい。
次に、利用者装置10の通信処理部12hが、記憶部11から認証装置20の公開鍵証明書Csを読み込み、認証装置20の公開鍵証明書Csを発行したCAの公開鍵をネットワーク40に接続された図示していない認証局装置から取得する。取得されたCAの公開鍵は記憶部11に格納される。通信処理部12hは、記憶部11から認証装置20の公開鍵証明書CsとCAの公開鍵を読み込み、CAの公開鍵を用いて認証装置20の公開鍵証明書Csを検証する。この検証が合格した場合、公開鍵暗号化部12cが、記憶部11から秘密情報PMSと公開鍵証明書Csが具備する認証装置20の公開鍵PKsと暗号方式Cとを読み込み、当該公開鍵PKsを用い、暗号方式Cに示される暗号方式(RSA等の公開鍵暗号方式)によって秘密情報PMSを暗号化した暗号文PKs(PMS)(EncryptedPreMasterSecret メッセージ)を生成し、記憶部11に格納する。なお、暗号文PKs(PMS)は、利用者装置10と公開鍵簿管理装置30との間で共通鍵MS(鍵情報)を共有するための暗号情報である第1鍵共有化情報に相当する。生成された暗号文PKs(PMS)を含む情報(ClientKeyExchangeメッセージ)は、送信部13に送られ、送信部13は、当該暗号文PKs(PMS)(第1鍵共有化情報)を含むClientKeyExchangeメッセージをネットワーク40経由で公開鍵簿管理装置30に送信する(第1鍵共有化情報送信過程/ステップS12)。
ClientKeyExchangeメッセージは、公開鍵簿管理装置30(図5)の受信部34で受信され、通信処理部32hに送られ、通信処理部32hは、ClientKeyExchangeメッセージが具備する暗号文PKs(PMS)(「第1鍵共有化情報」に相当)を記憶部31に格納する。次に、復号部32bが、記憶部31から暗号方式Cを読み込み、それに対応する認証装置20の秘密鍵SKsを読み込む。さらに、復号部32b(「鍵情報共有部」を構成)は、記憶部31から暗号文PKs(PMS) を読み込み、これを秘密鍵SKsで復号して秘密情報PMSを抽出する(ステップS13)。抽出された秘密情報PMSは、記憶部31に格納される。次に、公開鍵簿管理装置30の共通鍵生成部32e(「鍵情報共有部」を構成)が、記憶部31から秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部31に格納する(第1鍵情報共有過程)。TLS等では、共通鍵生成部32eが、記憶部31から秘密情報PMSと乱数R1(第1乱数)と乱数R2(第2乱数)とを読み込み、これらと定数とのビット結合値のハッシュ値を共通鍵MS (master secret)として生成する。なお、公開鍵簿管理装置30が当該秘密情報PMSによって定まる共通鍵MSを生成する過程は、必ずしもこの時点で行う必要はなく、遅くとも後述のステップS16より前に行われればよい。
次に、通信処理部32hが、記憶部31から暗号文PKs(PMS)(「第2鍵共有化情報」に相当)を読み込み、これを含むClientKeyExchangeメッセージを送信部33に送る。送信部33は、暗号文PKs(PMS)(「第2鍵共有化情報」に相当)を含むClientKeyExchangeメッセージをネットワーク50経由で認証装置20に送信する(第2鍵共有化情報送信過程/ステップS14)。送信されたClientKeyExchangeメッセージは、認証装置20の受信部24で受信され通信処理部22hに送られ、通信処理部22hは、ClientKeyExchangeメッセージが含む暗号文PKs(PMS)を記憶部21に格納する。次に、復号部22cが、記憶部21から暗号方式Cを読み込み、それに対応する認証装置20の秘密鍵SKsを読み込む。さらに、復号部22c(「鍵情報共有部」を構成)は、記憶部31から暗号文PKs(PMS) を読み込み、これを秘密鍵SKsで復号して秘密情報PMSを抽出する。さらに、認証装置20の共通鍵生成部22e(「鍵情報共有部」を構成)が、記憶部21からから秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部21に格納する。TLS等では、共通鍵生成部22eが、記憶部21から秘密情報PMSと乱数R1(第1乱数)と乱数R2(第2乱数)とを読み込み、これらと定数とのビット結合値のハッシュ値を共通鍵MS (master secret)として生成する(第2鍵情報共有過程)。なお、認証装置20が当該秘密情報PMSによって定まる共通鍵MSを生成する過程は、必ずしもこの時点で行う必要はなく、遅くとも後述のステップS17より前に行われればよい。
次に、利用者装置10(図3)の署名生成部12dが、記憶部11から暗号方式Cを読み込み、それに対応する利用者装置10の秘密鍵SKc(「公開鍵送信過程で送信された公開鍵に対応する秘密鍵」に相当)を読み込む。さらに、署名生成部12dは、記憶部11から暗号文PKs(PMS)(「第1鍵共有化情報」に相当)を読み込み、当該秘密鍵SKcを用い、暗号文PKs(PMS)を含む情報に対する署名情報Signを生成して記憶部11に格納する(署名情報生成過程)。なお、TLS等の場合、ClientHello メッセージ(ステップS2)から現在までの、このメッセージを除く、利用者装置10が送信または受信したすべてのハンドシェイク(通信ログ情報)が署名対象となる。通信処理部12hは、記憶部11から署名情報Signを読み込み、これを含む情報(CertificateVerifyメッセージ)を送信部13に送る。送信部13は、このCertificateVerifyメッセージをネットワーク40経由で公開鍵簿管理装置30に送信する(署名情報送信過程)。CertificateVerifyメッセージは、公開鍵簿管理装置30(図5)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、CertificateVerifyメッセージが具備する署名情報Signを記憶部31に格納する。そして、署名情報検証部32cが、記憶部31から利用者装置10の公開鍵証明書Ccを読み込み、利用者装置10の公開鍵証明書Ccを発行したCAの公開鍵をネットワーク40に接続された図示していない認証局装置から取得する。取得されたCAの公開鍵は記憶部31に格納される。通信処理部32hは、記憶部31から利用者装置10の公開鍵証明書CcとCAの公開鍵を読み込み、CAの公開鍵を用いて利用者装置10の公開鍵証明書Ccを検証する。この検証が合格であった場合、署名情報検証部32cが記憶部31から署名情報Signと、利用者装置10の公開鍵証明書Ccが具備する利用者装置10の公開鍵PKc(公開鍵送信過程で送信された公開鍵)とを読み込む。そして、署名情報検証部32cは、利用者装置10の公開鍵PKcを用いて署名情報Signを検証する(署名情報検証過程)。これにより、公開鍵簿管理装置30は、公開鍵PKcを送信してきた利用者装置10が確かに対応する秘密鍵SKcを所持していること、及び、その利用者装置10との間で共通鍵MS(鍵情報)を共有することを確認できる(ステップS15)。
次に、終了情報生成部12fが、記憶部11から共通鍵MSと、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS1と、秘密情報PMSとを読み込み、共通鍵MS(「鍵情報」に相当)を用い、秘密情報共通鍵MSと通信ログ情報HS1とに対応する情報を暗号化した第1終了情報F1(Finishedメッセージ)を生成して記憶部11に格納する(第1終了情報生成過程)。TLS等の場合、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS1は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1(第1乱数)と乱数R2(第2乱数)とを含む。また、TLS等の場合、第1終了情報F1(Finishedメッセージ)は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS1のMD5によるハッシュ値+通信ログ情報HS1のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第1終了情報F1(Finishedメッセージ)は送信部13に送られ、そこからネットワーク40経由で公開鍵簿管理装置30に送信される(第1終了情報送信過程/ステップS16)。
第1終了情報F1(Finishedメッセージ)は、公開鍵簿管理装置30(図5)の受信部34で受信され、記憶部31に格納される。次に、終了情報検証部32gが、記憶部31から第1終了情報F1(Finishedメッセージ)と、共通鍵MSと、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS1と、秘密情報PMSとを読み込み、共通鍵MSを用い、第1終了情報F1(Finishedメッセージ)が秘密情報MSに対応するか否かを検証する。例えば、終了情報検証部32gは、共通鍵MSを用いて第1終了情報F1(Finishedメッセージ)を復号した復号結果と、秘密情報PMSと通信ログ情報HS1とに対応する情報とが等しいか否かを検証する。TLS等の場合には、終了情報検証部32gは、例えば、共通鍵MSを用いて第1終了情報F1(Finishedメッセージ)を復号した復号結果と、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS1のMD5によるハッシュ値+通信ログ情報HS1のSHA-1によるハッシュ値と、のビット結合値が等しいか否かを検証する。
この検証が合格であった場合、次に、公開鍵簿管理装置30(図5)の終了情報生成部32fが、記憶部31から共通鍵MSと、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS3と、秘密情報PMSとを読み込み、共通鍵MS(鍵情報)を用い、秘密情報共通鍵MSと通信ログ情報HS3とに対応する情報を暗号化した第2終了情報F3(Finishedメッセージ)を生成して記憶部31に格納する(第2終了情報生成過程)。TLS等の場合、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS3は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1(第1乱数)と乱数R2(第2乱数)とを含む。また、TLS等の場合、第2終了情報F3(Finishedメッセージ)は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS3のMD5によるハッシュ値+通信ログ情報HS3のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第2終了情報F3(Finishedメッセージ)は送信部33に送られ、そこからネットワーク50経由で認証装置20に送信される(第2終了情報送信過程/ステップS17)。
第2終了情報F3(Finishedメッセージ)は、認証装置20(図4)の受信部24で受信され、記憶部21に格納される。次に、終了情報検証部22gが、記憶部21から第2終了情報F3(Finishedメッセージ)と、共通鍵MSと、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS3と、秘密情報PMSとを読み込み、共通鍵MSを用い、第2終了情報F3(Finishedメッセージ)が秘密情報PMSに対応するか否かを検証する。例えば、終了情報検証部22gは、共通鍵MSを用いて第2終了情報F3(Finishedメッセージ)を復号した復号結果と、秘密情報PMSと通信ログ情報HS3とに対応する情報とが等しいか否かを検証する。TLS等の場合には、終了情報検証部22gは、例えば、共通鍵MSを用いて第2終了情報F3(Finishedメッセージ)を復号した復号結果と、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS3のMD5によるハッシュ値+通信ログ情報HS3のSHA-1によるハッシュ値と、のビット結合値が等しいか否かを検証する。
この検証が合格であった場合、次に、認証装置20(図4)の終了情報生成部22fが、記憶部21から共通鍵MSと、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS4と、秘密情報PMSとを読み込み、共通鍵MS(「鍵情報」)を用い、秘密情報共通鍵MSと通信ログ情報HS4とに対応する情報を暗号化した第3終了情報F4(Finishedメッセージ)を生成して記憶部21に格納する(第3終了情報生成過程)。TLS等の場合、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS4は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1(第1乱数)と乱数R2(第2乱数)とを含む。また、TLS等の場合、第3終了情報F4(Finishedメッセージ)は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS4のMD5によるハッシュ値+通信ログ情報HS4のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第3終了情報F4(Finishedメッセージ)は送信部33に送られ、そこからネットワーク50経由で公開鍵簿管理装置30に送信される(第3終了情報送信過程/ステップS18)。
第3終了情報F4(Finishedメッセージ)は、公開鍵簿管理装置30(図5)の受信部34で受信され、記憶部31に格納される。次に、終了情報検証部32gが、記憶部31から第3終了情報F4(Finishedメッセージ)と、共通鍵MSと、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS4と、秘密情報PMSとを読み込み、共通鍵MSを用い、第3終了情報F4(Finishedメッセージ)が秘密情報PMSに対応するか否かを検証する。
この検証が合格であった場合、次に、公開鍵簿管理装置30(図5)の終了情報生成部32fが、記憶部31から共通鍵MSと、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS2と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS2とに対応する情報を暗号化した第4終了情報F2(Finishedメッセージ)を生成して記憶部31に格納する(第4終了情報生成過程)。TLS等の場合、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS2は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1(第1乱数)と乱数R2(第2乱数)とを含む。また、TLS等の場合、第4終了情報F2(Finishedメッセージ)は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS2のMD5によるハッシュ値+通信ログ情報HS2のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第4終了情報F2(Finishedメッセージ)は送信部33に送られ、そこからネットワーク40経由で利用者装置10に送信される(第4終了情報送信過程/ステップS19)。
第4終了情報F2(Finishedメッセージ)は、利用者装置10(図3)の受信部14で受信され、記憶部11に格納される。次に、終了情報検証部12gが、記憶部11から第4終了情報F2(Finishedメッセージ)と、共通鍵MSと、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS2と、秘密情報PMSとを読み込み、共通鍵MSを用い、第4終了情報F2(Finishedメッセージ)が秘密情報MSに対応するか否かを検証する(終了情報検証過程)。
この検証が合格であった場合、利用者装置10及び認証装置20での共通鍵MSを利用した共通鍵暗号通信が可能となり、公開鍵簿管理装置30は、共通鍵MSを用い、その共通鍵暗号通信された暗号データから平文を復号することが可能となる。
また、前述のように、公開鍵簿管理装置30は、公開鍵簿管理装置30と認証装置20以外にこの共通鍵暗号通信が可能なのは、ステップS11で公開鍵PKcを送信した利用者装置10のみであり、この利用者装置10は公開鍵PKcに対応する秘密鍵SKcを所持していることを確信できる。本形態では、このことを後に確認できるように、公開鍵簿管理装置30が、ここまでの何れかの時点(例えば各情報が記憶部31に格納される時点や終了情報検証過程終了後)において、利用者装置10の公開鍵証明書Ccと、秘密情報PMSの暗号文PKs(PMS)と、署名情報Signと、秘密情報PMSと、共通鍵MS(「鍵情報」に相当)とを関連付けておく。なお、このような関連付けではなく、ステップS11で送信された公開鍵PKcと共通鍵MSや秘密情報PMSとのみを関連付けておく構成であってもよい。さらには、終了情報F1〜F4をこれらの関連付けに加える構成であってもよい。すなわち、最低限、公開鍵簿管理装置30が、後に共通鍵MSを用いた共通鍵暗号通信内容を復号でき、その共通鍵暗号通信に対応する利用者装置10の公開鍵PKcを特定できる状態にしておけばよいが、多くの関連付けを行っておけば後に有効な再検証ができる。
次に、利用者装置10(図3)の出力部18は、認証装置20の認証を受けるための認証情報AIの入力を促す表示を行い、入力部17は、利用者から入力された認証情報AI入力を受け付ける。なお、認証情報AIとしては、例えば、パスワード認証のためのIDとパスワードに対応する情報との組や、生体認証のためのIDと静脈、画像、音声等の生体情報との組や電子署名情報等の公知の認証情報を例示できる。入力部17に入力された認証情報AIは、まず記憶部11に格納される。次に、認証情報暗号化部12iが、記憶部11から共通鍵MS(「鍵情報」に相当)と認証情報AIとを読み込み、認証情報AIを、共通鍵MSによって復号可能な認証情報暗号化情報CEn(MS,AI)に暗号化する(認証情報暗号化過程)。本形態の場合、認証情報暗号化部12iは、共通鍵MSを用い、共通鍵暗号方式によって認証情報AIを暗号化した暗号文を認証情報暗号化情報CEn(MS,AI)とする。生成された認証情報暗号化情報CEn(MS,AI)は送信部13に送られ、送信部13は、ネットワーク40経由で、認証情報暗号化情報CEn(MS,AI)を公開鍵簿管理装置30に送信する(第1認証情報暗号化情報送信過程/ステップS21)。
認証情報暗号化情報CEn(MS,AI)は、公開鍵簿管理装置30(図5)の受信部34で受信され、記憶部31に格納される。次に、認証情報復号部32iが、記憶部31から認証情報暗号化情報CEn(MS,AI)と共通鍵MSとを読み込み、共通鍵MSで認証情報暗号化情報CEn(MS,AI)を復号して認証情報AIを抽出する。抽出された認証情報AIは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部31に格納される(ステップS22)。なお、認証情報復号部32iによる認証情報AIの抽出や関連付け処理は、本形態の方法の安全性をより高めるものではあるが、必ずしも必要な処理ではない。すなわち、認証情報復号部32iによる認証情報AIの抽出や関連付けを行わないこととしてもよい。
次に、通信処理部32hが、記憶部31から認証情報暗号化情報CEn(MS,AI)を読み込み、送信部33に送る。送信部33は、当該認証情報暗号化情報CEn(MS,AI)をネットワーク50経由で認証装置20に送信する(第2認証情報暗号化情報送信過程)。認証情報暗号化情報CEn(MS,AI)は、認証装置20(図4)の受信部24で受信されて記憶部21に格納される。次に、認証情報復号部22iが、記憶部21から認証情報暗号化情報CEn(MS,AI)と共通鍵MS(「鍵情報」に相当)とを読み込み、当該共通鍵MSを用いて認証情報暗号化情報CEn(MS,AI)を復号して認証情報AIを抽出する(認証情報復号過程/ステップS23)。抽出された認証情報AIは記憶部21に格納される。
次に、認証部22jが、記憶部21から認証情報AIを読み込み、これを用いて認証処理を行い、その認証結果VEを出力して記憶部21に格納する(認証過程)。なお、認証処理の方法は公知の方法を用いればよい。例えば、認証情報AIがパスワード認証のためのIDとパスワードに対応する情報との組であった場合には、認証部22jは、図示していないIDとパスワードとの組からなるデータベースを用い、チャレンジアンドレスポンス等により利用者装置10との間で認証処理を行う。また、例えば、認証情報AIが生体認証のためのIDと生体情報との組であった場合には、認証部22jは、図示していないIDと生体情報との組からなるデータベースを用い、生体情報の一致を検証することで認証処理を行う。また、例えば、認証情報AIが電子署名であった場合には、認証部22jは、利用者装置10の公開鍵を用いて当該電子署名を検証して認証処理を行う。また、認証結果VEは、認証処理に合格した旨(認証OK)又は認証処理に不合格であった旨(認証NG)の情報である。
次に、認証結果暗号化部22kが、記憶部21から認証結果VEと共通鍵MS(「鍵情報」に相当)とを読み込み、認証結果VEを共通鍵MSによって復号可能な認証結果暗号化情報CEn(MS,VE)に暗号化し(認証結果暗号化過程)、当該認証結果暗号化情報CEn(MS,VE)は記憶部21に格納される。なお、本形態では、共通鍵MSを用い、共通鍵暗号方式によって認証結果VEを暗号化した暗号文を認証結果暗号化情報CEn(MS,VE)とする。次に、通信処理部22hが、記憶部21から認証結果暗号化情報CEn(MS,VE)を読み込み、これを送信部23に送る。送信部23は、当該認証結果暗号化情報CEn(MS,VE)をネットワーク50経由で公開鍵簿管理装置30に送信する(認証結果暗号化情報送信過程/ステップS24)。
認証結果暗号化情報CEn(MS,VE)は、公開鍵簿管理装置30(図5)の受信部34で受信され、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部31に格納される。次に、認証結果復号部32jが、記憶部31から認証結果暗号化情報CEn(MS,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)を復号して認証結果VEを抽出する。当該認証結果VEは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部31に格納される(認証結果復号過程)。ここで、公開鍵簿管理装置30は、利用者装置10と共有した共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)が復号できたことを根拠に、復号して得られた認証結果VEがステップS11で公開鍵PKcを提供した利用者装置10に対するものであることを確認できる。次に、公開鍵簿生成部32kが、公開鍵送信過程(ステップS11)で送信された公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとを記憶部31から読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部37に格納する(公開鍵簿生成過程/ステップS25)。なお、公開鍵簿生成部32kが、公開鍵送信過程(ステップS11)で送信された公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとの組をを記憶部31から読み込むことができるのは、前述のようにこれらの情報が関連付けられているからである。
その後、通信処理部32hが記憶部31から認証結果暗号化情報CEn(MS,VE)を読み込み、それを送信部33に送る。送信部33は、当該認証結果暗号化情報CEn(MS,VE)をネットワーク40経由で利用者装置10に送信する。当該認証結果暗号化情報CEn(MS,VE)は、利用者装置10(図3)の受信部14で受信され、記憶部11に格納される。その後、認証結果復号部12jが、記憶部11から認証結果暗号化情報CEn(MS,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)を復号して認証結果VEを抽出し、記憶部11に格納する(ステップS26)。
以上の処理により、利用者装置10の公開鍵PKcとその認証結果VEとの組が公開鍵簿のエントリとして追加された。その後、公開鍵簿管理装置30の検索部32mが、通信装置60からの要求に応じ、所望の公開鍵と認証結果との組を記憶部37の公開鍵簿から検索し、当該抽出された公開鍵と認証結果との組が送信部33から通信装置60に送信される。
[公開鍵簿管理装置の処理]
図8〜図10は、第1実施形態の公開鍵簿管理装置30の処理を説明するためのフローチャートである。
以下、このフローチャートを用いて公開鍵簿管理装置30の処理を説明する。なお、この処理の前提として、公開鍵簿管理装置30の記憶部31には認証装置20の秘密鍵SKsが格納されている。
まず、公開鍵簿管理装置30の受信部34が、利用者装置10から送信された、乱数R1(第1乱数)及び暗号リストCSLを含む情報(ClientHelloメッセージ)を受信し、これらが通信処理部32hに送られる(ステップS31)。通信処理部32hは、ClientHelloメッセージが具備する乱数R1(第1乱数)を記憶部31に格納するとともに、暗号リストCSLを暗号リスト制限部32aに送る。暗号リスト制限部32aは、前述のように、暗号リストCSLが具備する暗号方式から対話型鍵交換方式(DH方式等)を削除した新たな暗号リストCLS'を生成し、記憶部31に格納する(ステップS32)。次に、通信処理部32hは、記憶部31から乱数R1及び新たな暗号リストCSL'を読み込み、これらを含む情報(ClientHelloメッセージ)を生成して送信部33に送る。送信部33は、乱数R1及び新たな暗号リストCSL'を含むClientHelloメッセージをネットワーク50経由で認証装置20に送信する(第2乱数送信過程/ステップS33)。
その後、公開鍵簿管理装置30の受信部34が、認証装置20から送信された、暗号方式Cと乱数R2とを含む情報(ServerHelloメッセージ)を受信し、これを通信処理部32hに送る(ステップS34)。通信処理部32hは、ServertHelloメッセージが具備する乱数R2(第2乱数)と暗号方式Cとを記憶部31に格納するとともに、当該ServertHelloメッセージを送信部33に送る。送信部33は、乱数R2及び暗号方式Cを含む当該ServertHelloメッセージをネットワーク40経由で利用者装置10に送信する(第4乱数送信過程/ステップS35)。
その後、公開鍵簿管理装置30の受信部34が、認証装置20から送信された当該認証装置20の公開鍵証明書Csを受信し、これを通信処理部32hに送る(ステップS36)。さらに、送信部33は、認証装置20の公開鍵証明書Csをネットワーク40経由で利用者装置10に送信する(ステップS37)。
その後、公開鍵簿管理装置30の受信部34が、利用者装置10から送信された、利用者装置10の公開鍵証明書Ccを含む情報(ClientCertificateメッセージ)を受信し、これを通信処理部32hに送る(ステップS38)。通信処理部32hは、利用者装置10の公開鍵証明書Ccを記憶部31に格納する。
その後、公開鍵簿管理装置30の受信部34が、暗号文PKs(PMS)を含む情報(ClientKeyExchangeメッセージ)を受信し、これを通信処理部32hに送る(ステップS39)。通信処理部32hは、ClientKeyExchangeメッセージが具備する暗号文PKs(PMS)を記憶部31に格納する。次に、復号部32bが、前述のように、秘密鍵SKsを用いて暗号文PKs(PMS)を復号して秘密情報PMSを抽出する。抽出された秘密情報PMSは、記憶部31に格納される。次に、共通鍵生成部32eが、記憶部31から秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部31に格納する(ステップS40)。
次に、通信処理部32hが、暗号文PKs(PMS)を含むClientKeyExchangeメッセージを送信部33に送り、送信部33が、当該ClientKeyExchangeメッセージをネットワーク50経由で認証装置20に送信する(第2鍵共有化情報送信過程/ステップS41)。
その後、公開鍵簿管理装置30の受信部34が、利用者装置10から送信された署名情報Signを含むCertificateVerifyメッセージを受信し、通信処理部32hに送る(ステップS42)。通信処理部32hは、CertificateVerifyメッセージが具備する署名情報Signを記憶部21に格納する。そして、署名情報検証部32cが、前述のように利用者装置10の公開鍵証明書Ccを用いて署名情報Signを検証する(署名情報検証過程/ステップS43)。ここで、この検証が不合格であった場合(ステップS44)、処理がエラー終了する(ステップS55)。
一方、この検証が合格であった場合、受信部34が利用者装置10から送信された第1終了情報F1(Finishedメッセージ)を受信する(ステップS45)。この第1終了情報F1(Finishedメッセージ)は、記憶部31に格納される。次に、終了情報検証部32gが、記憶部31から第1終了情報F1(Finishedメッセージ)と、共通鍵MSと、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS1と、秘密情報PMSとを読み込み、共通鍵MSを用い、第1終了情報F1(Finishedメッセージ)を前述のように検証する(ステップS46)。ここで、この検証が不合格であった場合(ステップS47)、処理がエラー終了する(ステップS55)。
一方、この検証が合格であった場合、終了情報生成部32fが、記憶部31から共通鍵MSと、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS3と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS3とに対応する情報を暗号化した第2終了情報F3(Finishedメッセージ)を生成して記憶部31に格納する(第2終了情報生成過程/ステップS48)。生成された第2終了情報F3(Finishedメッセージ)は送信部33に送られ、そこからネットワーク50経由で認証装置20に送信される(第2終了情報送信過程/ステップS49)。
その後、の受信部34が、第3終了情報F4(Finishedメッセージ)を受信する(ステップS50)。この第3終了情報F4(Finishedメッセージ)は記憶部31に格納される。次に、終了情報検証部32gが、記憶部31から第3終了情報F4(Finishedメッセージ)と、共通鍵MSと、認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS4と、秘密情報PMSとを読み込み、共通鍵MSを用い、第3終了情報F4(Finishedメッセージ)を前述のように検証する(ステップS51)。ここで、この検証が不合格であった場合(ステップS52)、処理がエラー終了する(ステップS55)。
一方、この検証が合格であった場合、次に、終了情報生成部32fが、記憶部31から共通鍵MSと、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS2と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS4とに対応する情報を暗号化した第4終了情報F2(Finishedメッセージ)を生成して記憶部31に格納する(第4終了情報生成過程/ステップS53)。生成された第4終了情報F2(Finishedメッセージ)は送信部33に送られ、そこからネットワーク40経由で利用者装置10に送信される(第4終了情報送信過程/ステップS54)。
その後、受信部34が利用者装置10から送信された認証情報暗号化情報CEn(MS,AI)を受信し、当該認証情報暗号化情報CEn(MS,AI)が、記憶部31に格納される(ステップS56)。次に、認証情報復号部32iが、記憶部31から認証情報暗号化情報CEn(MS,AI)と共通鍵MSとを読み込み、共通鍵MSで認証情報暗号化情報CEn(MS,AI)を復号して認証情報AIを抽出する。抽出された認証情報AIは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部31に格納される(ステップS57)。なお、この処理は必須ではない。
次に、通信処理部32hが、記憶部31から認証情報暗号化情報CEn(MS,AI)を読み込み、送信部33に送る。送信部33は、当該認証情報暗号化情報CEn(MS,AI)をネットワーク50経由で認証装置20に送信する(第2認証情報暗号化情報送信過程/ステップS58)。その後、受信部34が、認証装置20から送信された認証結果暗号化情報CEn(MS,VE)を受信し、当該認証結果暗号化情報CEn(MS,VE)は、公開鍵PKc、共通鍵MS等と関連付けられて記憶部31に格納される(ステップS59)。次に、認証結果復号部32jが、記憶部31から認証結果暗号化情報CEn(MS,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)を復号して認証結果VEを抽出する。当該認証結果VEは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部31に格納される(認証結果復号過程/ステップS60)。次に、公開鍵簿生成部32kが、公開鍵送信過程(ステップS11)で送信された公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとを記憶部31から読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部37に格納する(公開鍵簿生成過程/ステップS61)。
<本形態の特徴>
本形態では、利用者装置10の送信部13が、公開鍵PKcを公開鍵簿管理装置30に送信し、当該利用者装置10と公開鍵簿管理装置30との間で共通鍵MSを共有するための暗号情報である暗号文PKs(PMS)を公開鍵簿管理装置30に送信した後に、送信された公開鍵PKcに対応する秘密鍵SKcを用い、暗号文PKs(PMS)を含む情報に対する署名情報Signを生成し、公開鍵簿管理装置30の署名情報検証部32cが、公開鍵PKcを用い、署名情報Signを検証することとした。これにより、公開鍵簿管理装置30は、公開鍵PKcを送信してきた利用者装置10が確かに対応する秘密鍵SKcを所持していること、及び、その利用者装置10との間で共通鍵MSを共有することを確認できる。
また、公開鍵簿管理装置30は、認証処理が、公開鍵PKcを提供した利用者装置10と公開鍵簿管理装置30と認証装置20との間で共有化された共通鍵MSで復号可能な暗号通信で行われたことをもって、当該認証結果VEが公開鍵PKcを提供した利用者装置10に対応するものであることを確認できる。以上により、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。
〔第2実施形態〕
次に、第2実施形態について説明する。
本形態は、第1実施形態の変形例であり、公開鍵簿管理装置に認証装置の秘密鍵を格納することなく、共通鍵を共有化する形態である。この場合、利用者装置と公開鍵簿管理装置との間、及び、認証装置と公開鍵簿管理装置との間でそれぞれ、同一の共通鍵MSを共用可能とするために、公開鍵簿管理装置が秘密情報PMSを再暗号化する必要がある。その反面、公開鍵簿管理装置に認証装置の秘密鍵を格納する処理を省略できる。
以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
[全体構成]
図11は、第2実施形態の公開鍵簿登録システム100の全体構成を説明するためのブロック図である。なお、図11において第1実施形態と共通する部分については図2と同じ番号を付して説明を省略する。
図11に例示するように、本形態の公開鍵簿登録システム100は、利用者装置110(例えば、クライアント装置)と、認証装置20と、公開鍵簿管理装置130(例えば、拡張サーバ装置)と、通信装置60とを有する。また、利用者装置110と公開鍵簿管理装置130とは、ネットワーク40を通じて通信可能に接続され、認証装置20と公開鍵簿管理装置130とは、ネットワーク50を通じて通信可能に接続される。また、通信装置60は、ネットワーク40を通じて利用者装置110及び公開鍵簿管理装置130と通信可能に接続される。
なお、本形態の利用者装置110と認証装置20とは、二装置間での認証処理と、暗号技術を用いた当該二装置間での共通鍵の配送処理と、当該共通鍵を特定するための秘密情報及び当該二装置間の通信ログ情報を用いて当該共通鍵の設定過程の正当性を確認する処理と、を含むプロトコル(例えば、SSLやTLSやそれらの拡張等)に従いつつ、本形態独自の処理を行う装置である。また、説明を簡略化するため、図11では、1つの利用者装置110と認証装置20とが公開鍵簿管理装置130と通信可能に接続されているが、2以上の利用者装置110と認証装置20とが公開鍵簿管理装置130と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置130を設けた構成であってもよく、複数の通信装置60を設けた構成であってもよい。
[利用者装置]
本形態の利用者装置110は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図12は、第2実施形態の利用者装置110の機能構成を説明するためのブロック図である。
図12に例示するように、本形態の利用者装置110は、記憶部11、演算部112、送信部13、受信部14、制御部15、一時記憶部16、入力部17及び出力部18を有する。また、演算部112は、乱数生成部12a、秘密情報設定部12b、公開鍵暗号化部112c、署名生成部12d、共通鍵生成部12e、終了情報生成部12f、終了情報検証部12g、通信処理部12h、認証情報暗号化部12i及び認証結果復号部12jを有する。また、利用者装置110は、制御部15の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部16に格納され、他の演算のために読み出される。なお、本形態の演算部112は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
[認証装置]
第1実施形態と同じである。
[公開鍵簿管理装置]
本形態の公開鍵簿管理装置130は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図13は、第2実施形態の公開鍵簿管理装置130の機能構成を説明するためのブロック図である。
図13に例示するように、本形態の公開鍵簿管理装置130は、記憶部31、演算部132、送信部33、受信部34、制御部35及び一時記憶部36を有する。また、演算部132は、暗号リスト制限部32a、復号部32b(「鍵情報共有部」に相当)、署名情報検証部32c、公開鍵暗号化部132c、共通鍵生成部32e(「鍵情報共有部」に相当)、終了情報生成部32f、終了情報検証部32g、通信処理部32h、認証情報復号部32i、認証結果復号部32j、公開鍵簿生成部32k及び検索部32mを有する。また、公開鍵簿管理装置130は、制御部35の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部36に格納され、他の演算のために読み出される。なお、本形態の演算部132は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
<処理>
次に、本形態の処理を説明する。
[前提]
第1実施形態との相違点は、公開鍵簿管理装置130とに対し、公開鍵暗号方式(RSA等)の鍵ペア(公開鍵,秘密鍵)が生成されている点である。なお、鍵ペアは複数の暗号方式分生成されてもよい。そして、公開鍵簿管理装置130の秘密鍵SKgが公開鍵簿管理装置130の記憶部31に格納され、当該秘密鍵SKgに対応する公開鍵簿管理装置130の公開鍵PKgにも、認証局によって公開鍵証明書Cgが発行され、これが公開鍵簿管理装置130記憶部31に格納される。その他の点は、第1実施形態と同様である。
[処理の全体]
図14は、第2実施形態の処理の全体を説明するためのシーケンス図である。以下、第1実施形態の相違点のみを説明する。
第1実施形態との相違点は、ステップS1及びS9が実行されない点、ステップS10の代わりに、以下のステップS110が実行される点、ステップS12,S13の代わりに、以下のステップS112及びS113が実行される点である。
《ステップS110》
ステップS110では、公開鍵簿管理装置130の通信処理部32hが、公開鍵簿管理装置130の公開鍵証明書Cgを記憶部31から読み込み、これを送信部33に送る。送信部33は、公開鍵簿管理装置130の公開鍵証明書Cgをネットワーク40経由で利用者装置110に送信する。送信された公開鍵簿管理装置130の公開鍵証明書Cgは、利用者装置110(図12)の受信部14で受信され、通信処理部112hに送られる。通信処理部112hは、当該公開鍵簿管理装置130の公開鍵証明書Cgを記憶部11に格納する。
《ステップS112》
まず、利用者装置110(図12)の秘密情報設定部12bが、共通鍵MS(master secret)を特定するための秘密情報PMS(premaster secret)を設定し、それを記憶部11に格納する。次に、利用者装置110(図12)の共通鍵生成部12eが、記憶部11から秘密情報PMSを読み込み、当該秘密情報PMSによって定まる共通鍵MSを生成して記憶部11に格納する。
次に、利用者装置110の通信処理部112hが、記憶部11から公開鍵簿管理装置130の公開鍵証明書Cgを読み込み、公開鍵簿管理装置130の公開鍵証明書Cgを発行したCAの公開鍵をネットワーク40に接続された図示していない認証局装置から取得する。取得されたCAの公開鍵は記憶部11に格納される。通信処理部12hは、記憶部11から公開鍵簿管理装置130の公開鍵証明書CgとCAの公開鍵を読み込み、CAの公開鍵を用いて公開鍵簿管理装置130の公開鍵証明書Cgを検証する。この検証が合格した場合、公開鍵暗号化部112cが、記憶部11から秘密情報PMSと公開鍵証明書Cgが具備する公開鍵簿管理装置220の公開鍵PKgと暗号方式Cとを読み込み、当該公開鍵PKgを用い、暗号方式Cに示される暗号方式によって秘密情報PMSを暗号化した暗号文PKg(PMS)(第1鍵共有化情報/EncryptedPreMasterSecret メッセージ)を生成し、記憶部11に格納する。生成された暗号文PKg(PMS)を含む情報(ClientKeyExchangeメッセージ)は、送信部13に送られ、送信部13は、当該暗号文PKg(PMS)(第1鍵共有化情報)を含むClientKeyExchangeメッセージをネットワーク40経由で公開鍵簿管理装置130に送信する(第1鍵共有化情報送信過程)。
《ステップS113》
ClientKeyExchangeメッセージは、公開鍵簿管理装置130(図13)の受信部34で受信され、通信処理部32hに送られ、通信処理部32hは、ClientKeyExchangeメッセージが具備する暗号文PKg(PMS)を記憶部31に格納する。次に、復号部32bが、記憶部31から暗号方式Cを読み込み、それに対応する公開鍵簿管理装置130の秘密鍵SKgを読み込む。さらに、復号部32b(「鍵情報共有部」を構成)は、記憶部31から暗号文PKg(PMS)を読み込み、これを秘密鍵SKgで復号して秘密情報PMSを抽出する。抽出された秘密情報PMSは、記憶部31に格納される。
次に、公開鍵簿管理装置130の通信処理部32hが、記憶部31から認証装置20の公開鍵証明書Csを読み込み、認証装置20の公開鍵証明書Csを発行したCAの公開鍵をネットワーク40に接続された図示していない認証局装置から取得する。取得されたCAの公開鍵は記憶部31に格納される。通信処理部32hは、記憶部31から認証装置20の公開鍵証明書CsとCAの公開鍵を読み込み、CAの公開鍵を用いて認証装置20の公開鍵証明書Csを検証する。この検証が合格した場合、公開鍵暗号化部132cが、記憶部31から秘密情報PMSと公開鍵証明書Csが具備する認証装置20の公開鍵PKsと暗号方式Cとを読み込み、当該公開鍵PKsを用い、暗号方式Cに示される暗号方式によって秘密情報PMSを暗号化した暗号文PKs(PMS)(第2鍵共有化情報/EncryptedPreMasterSecret メッセージ)を生成し、記憶部31に格納する。
[公開鍵簿管理装置の処理]
図15は、第2実施形態の公開鍵簿管理装置130の処理を説明するためのフローチャートである。以下では、第1実施形態との相違点のみを説明する。
第1実施形態との相違点は、ステップS37の代わりに以下のステップS137の処理が実行され、ステップS39,S40の代わりに以下のステップS139,S140が実行される点、ステップS140とステップS41との間に以下のステップS141の処理が実行される点である。
《ステップS137》
送信部33が、公開鍵簿管理装置130の公開鍵証明書Cgをネットワーク40経由で利用者装置110に送信する。
《ステップS139》
公開鍵簿管理装置130の受信部34が、暗号文PKg(PMS)を含む情報(ClientKeyExchangeメッセージ)を受信し、これを通信処理部32hに送る。
《ステップS140》
通信処理部32hは、ClientKeyExchangeメッセージが具備する暗号文PKg(PMS)(第1暗号化秘密情報)を記憶部31に格納する。次に、復号部32bが、前述のように、秘密鍵SKgを用いて暗号文PKg(PMS)を復号して秘密情報PMSを抽出する。秘密情報PMSは、記憶部31に格納される。次に、共通鍵生成部32eが、記憶部31から秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部31に格納する。
《ステップS141》
公開鍵簿管理装置130の通信処理部32hが、記憶部31から認証装置20の公開鍵証明書Csを読み込み、認証装置20の公開鍵証明書Csを発行したCAの公開鍵をネットワーク40に接続された図示していない認証局装置から取得する。取得されたCAの公開鍵は記憶部31に格納される。通信処理部32hは、記憶部31から認証装置20の公開鍵証明書CsとCAの公開鍵を読み込み、CAの公開鍵を用いて認証装置20の公開鍵証明書Csを検証する。この検証が合格した場合、公開鍵暗号化部132cが、記憶部31から秘密情報PMSと公開鍵証明書Csが具備する認証装置20の公開鍵PKsと暗号方式Cとを読み込み、当該公開鍵PKsを用い、暗号方式Cに示される暗号方式によって秘密情報PMSを暗号化した暗号文PKs(PMS)(第2鍵共有化情報/EncryptedPreMasterSecret メッセージ)を生成し、記憶部31に格納する。
<本形態の特徴>
本形態でも、第1実施形態と同様、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。それに加え、本形態では、認証装置20の秘密鍵を公開鍵簿管理装置130に格納する前処理が不要である。
〔第3実施形態〕
本形態は、第1,2実施形態の変形例であり、上述の終了情報(Finishedメッセージ)のやり取り(ステップS19)が終了した後に、利用者装置、認証装置及び公開鍵簿管理装置が、ステップS19までの処理で確立されたセッションを再利用して再接続を行い、新たな終了情報(Finishedメッセージ)のやり取りを行う。これにより、利用者装置が送受信する終了情報(Finishedメッセージ)と、認証装置が送受信する終了情報(Finishedメッセージ)とを等しくすることができる。その結果、利用者装置と認証装置とが、共通鍵MSを用い、終了情報(Finishedメッセージ)をイニシャルベクトルとしたブロック暗号方式(CBCモード等)によって暗号化又は復号を行って前述の認証処理を行い、公開鍵簿管理装置がその認証処理の内容を復号することが可能となる。以下では、各実施形態のステップS19より後の処理のみを説明する。なお、本形態の処理は、上述の何れの実施形態にも適用可能である。しかし、ここでは説明の簡略化のため、第1実施形態に本形態の処理を付加した形態のみを説明する。また、本形態の処理が実行される前提として、各実施形態のServerHelloメッセージ(ステップS5〜S7)が認証装置で生成されたセッションID(session id)を含んでおり、ServerHelloメッセージが送信される過程において、当該セッションID(session id)が利用者装置、認証装置及び公開鍵簿管理装置の記憶部にそれぞれ格納され、それらがそれぞれ秘密情報PMSに関連付けられるものとする。
図16は、第3実施形態における付加処理を説明するためのシーケンス図である。
まず、公開鍵簿管理装置30の送信部33が利用者装置10に対して再接続要求情報を送信する(ステップS151)。これは利用者装置10の受信部14で受信され通信処理部12hに送られる。これを契機に、乱数生成部12aが乱数R3を生成して通信処理部12hに送る。通信処理部12hは記憶部11からセッションID(session id)を読み込み、乱数R3とセッションIDとを含む送信開始要求情報(ClientHello メッセージ)を生成して送信部13に送る。送信部13は、送信開始要求情報(ClientHello メッセージ)を公開鍵簿管理装置30に送信し、公開鍵簿管理装置30の受信部34で受信される(ステップS152)。また、この送信開始要求情報(ClientHello メッセージ)は、公開鍵簿管理装置30の送信部33から送信され(ステップS153)、認証装置20の受信部24で受信され(ステップS154)、通信処理部22hに送られる。これを契機に、認証装置20の乱数生成部22aが乱数R4を生成して通信処理部22hに送る。通信処理部22hは記憶部21からセッションID(session id)を読み込み、乱数R4とセッションIDとを含む送信開始要求情報(ServerHelloメッセージ)を生成して送信部23に送る。送信部23は、送信開始要求情報(ServerHelloメッセージ)を公開鍵簿管理装置30に送信し、公開鍵簿管理装置30の受信部34で受信される(ステップS155)。また、この送信開始要求情報(ServerHelloメッセージ)は、公開鍵簿管理装置30の送信部33から送信され(ステップS156)、利用者装置10の受信部14で受信され(ステップS157)、通信処理部12hに送られる。
次に、利用者装置10が公開鍵簿管理装置30を介して認証装置20にChangeCipherSpecメッセージ(例えばイニシャルベクトルを初期化する旨を含む)を送信した後、利用者装置10の終了情報生成部12fが、記憶部11から共通鍵MSと、ステップS152以後の利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS5と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS5とに対応する情報を暗号化した第5終了情報FN5(Finishedメッセージ)を生成して記憶部11に格納する(第5終了情報生成過程)。TLS等の場合、利用者装置10と公開鍵簿管理装置30との間の通信ログ情報HS5は、このメッセージ以外の、ステップS152以後のすべてのハンドシェイクメッセージであり、乱数R3と乱数R4とを含む。また、TLS等の場合、第5終了情報FN5(Finishedメッセージ)は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS5のMD5によるハッシュ値+通信ログ情報HS5のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第5終了情報FN5(Finishedメッセージ)は送信部13に送られ、そこから公開鍵簿管理装置30に送信される(ステップS158)。第5終了情報FN5(Finishedメッセージ)は公開鍵簿管理装置30の受信部34で受信され(ステップS159)、さらに送信部33から認証装置20に送信される(第5終了情報送信過程/ステップS160)。
次に、認証装置20が公開鍵簿管理装置30を介して利用者装置10にChangeCipherSpecメッセージ(例えばイニシャルベクトルを初期化する旨を含む)を送信した後、認証装置20の終了情報生成部22fが、記憶部21から共通鍵MSと、ステップS152以後の認証装置20と公開鍵簿管理装置30との間の通信ログ情報HS6と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS6とに対応する情報を暗号化した第6終了情報FN6(Finishedメッセージ)を生成して記憶部21に格納する(第6終了情報生成過程)。生成された第6終了情報FN6(Finishedメッセージ)は送信部23に送られ、そこから公開鍵簿管理装置30に送信される(ステップS161)。第6終了情報FN6(Finishedメッセージ)は公開鍵簿管理装置30の受信部34で受信され(ステップS162)、さらに送信部33から利用者装置10に送信される(第6終了情報送信過程/ステップS163)。
以上により、利用者装置10の認証情報暗号化部12i及び認証結果復号部12jや、認証装置20の認証情報復号部22i及び認証結果暗号化部22kが、イニシャルベクトルとしたブロック暗号方式(CBCモード等)によって暗号化又は復号を行うことができるとともに、公開鍵簿管理装置30の認証情報復号部32i及び認証結果復号部32jも、このような暗号文を復号できる。
<本形態の特徴>
以上のように、本形態では、第4終了情報送信過程(ステップS19)の後に、利用者装置の送信部が送信開始要求情報(ClientHello メッセージ)を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が当該送信開始要求情報(ClientHello メッセージ)を認証装置に送信し、認証装置の送信部が送信開始応答情報(ServerHelloメッセージ)を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が当該送信開始応答情報(ServerHelloメッセージ)を利用者装置に送信する(再接続開始過程)。次に、利用者装置の終了情報生成部が、秘密情報PMSによって定まる共通鍵MSを用い、再接続開始過程以後の当該利用者装置と公開鍵簿管理装置との間の通信ログ情報と、秘密情報PMSと、に対応する情報を暗号化した第5終了情報(Finishedメッセージ)を生成し(第5終了情報生成過程)、利用者装置の送信部が第5終了情報(Finishedメッセージ)を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が第5終了情報を認証装置に送信する(第5終了情報送信過程)。さらに、認証装置の終了情報生成部が、秘密情報PMSによって定まる共通鍵MSを用い、再接続開始過程以後の当該認証装置と上記公開鍵簿管理装置との間の通信ログ情報と、秘密情報PMSと、に対応する情報を暗号化した第6終了情報(Finishedメッセージ)を生成し(第6終了情報生成過程)、認証装置の送信部が第6終了情報(Finishedメッセージ)を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が第6終了情報(Finishedメッセージ)を利用者装置に送信する(第6終了情報送信過程)。
ここで、利用者装置が送信する第5終了情報(Finishedメッセージ)は、認証装置が受信する第5終了情報(Finishedメッセージ)と同一であり、認証装置が送信する第6終了情報(Finishedメッセージ)は、利用者装置が受信する第6終了情報(Finishedメッセージ)と同一である。よって、第5終了情報及び/又は第6終了情報は、利用者装置と認証装置とが秘密情報PMSによって定まる共通鍵MSを用い、イニシャルベクトルを必要とするブロック暗号方式(CBCモード等)によって暗号化又は復号を行う場合のイニシャルベクトルとして利用できる。すなわち、本形態の再接続処理を実行することによって、利用者装置と認証装置との間で共有された共通鍵MSを用い、終了情報(Finishedメッセージ)をイニシャルベクトルとしたブロック暗号方式(CBCモード等)によって暗号化又は復号を行うことが可能となり、公開鍵簿管理装置30も、このような暗号文を復号できる。また、本形態の再接続処理は、利用者装置及び認証装置側からみればTLS等において標準化されている処理と同様である。すなわち、本形態の処理を行うに際し、利用者装置及び認証装置の仕様を変更する必要はない。
〔第4実施形態〕
本形態は、第1,2実施形態の変形例である。第1,2実施形態では、「鍵情報」として共通鍵暗号方式の共通鍵を用い、これを利用者装置と公開鍵簿管理装置と認証装置とで共有することとしたが、第4実施形態では、「鍵情報」として公開鍵暗号方式の秘密鍵を用い、これを当該三装置間で共有する。この点が第1,2実施形態との相違点である。なお、このような暗号方式の変形は第1,2実施形態の何れに対しても適用可能である。しかし、以下では第1実施形態に対してこのような暗号方式の変形を加えた実施形態を説明する。また、以下では第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については説明を省略する。
<構成>
[全体構成]
図17は、第4実施形態の公開鍵簿登録システム300の全体構成を説明するためのブロック図である。
図17に例示するように、本形態の公開鍵簿登録システム300は、利用者装置310(例えば、クライアント装置)と、認証装置320(例えば、認証サーバ装置)と、公開鍵簿管理装置330(例えば、拡張サーバ装置)と、通信装置60(例えば、サービスサーバ装置)とを有する。また、利用者装置310と公開鍵簿管理装置330とは、ネットワーク40を通じて通信可能に接続され、認証装置320と公開鍵簿管理装置330とは、ネットワーク50を通じて通信可能に接続される。また、通信装置60は、ネットワーク40を通じて利用者装置310及び公開鍵簿管理装置330と通信可能に接続される。
なお、本形態の利用者装置310と認証装置320とは、二装置間での認証処理と、暗号技術を用いた当該二装置間での共通鍵の配送処理と、当該共通鍵を特定するための秘密情報及び当該二装置間の通信ログ情報を用いて当該共通鍵の設定過程の正当性を確認する処理と、を含むプロトコル(例えば、SSLやTLSやそれらの拡張等)に従いつつ、本形態独自の処理を行う装置である。
また、説明を簡略化するため、図17では、1つの利用者装置310と認証装置320とが公開鍵簿管理装置330と通信可能に接続されているが、2以上の利用者装置310と認証装置320とが公開鍵簿管理装置330と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置330を設けた構成であってもよく、複数の通信装置60を設けた構成であってもよい。
[利用者装置]
本形態の利用者装置310は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図18は、第4実施形態の利用者装置310の機能構成を説明するためのブロック図である。
図18に例示するように、本形態の利用者装置310は、記憶部11、演算部312、送信部13、受信部14、制御部15、一時記憶部16、入力部17及び出力部18を有する。また、演算部312は、乱数生成部12a、DH秘密値設定部312b、DH公開値演算部312c、秘密情報演算部312d、署名生成部12d、共通鍵生成部12e、終了情報生成部12f、終了情報検証部12g、通信処理部12h、認証情報暗号化部312i及び認証結果復号部312jを有する。なお、本形態の演算部312は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
[認証装置]
本形態の認証装置320は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図19は、第4実施形態の認証装置320の機能構成を説明するためのブロック図である。
図19に例示するように、本形態の認証装置320は、記憶部21、演算部322、送信部23、受信部24、制御部25及び一時記憶部26を有する。また、演算部322は、乱数生成部22a、DH秘密値設定部322b、DH公開値演算部322c、秘密情報演算部322d(「鍵情報共有部」を構成)、共通鍵生成部22e(「鍵情報共有部」を構成)、終了情報生成部22f、終了情報検証部22g、通信処理部22h、認証情報復号部22i、認証部22j及び認証結果暗号化部22kを有する。なお、本形態の演算部322は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
[公開鍵簿管理装置]
本形態の公開鍵簿管理装置330は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図20は、第4実施形態の公開鍵簿管理装置330の機能構成を説明するためのブロック図である。
図20に例示するように、本形態の公開鍵簿管理装置330は、記憶部31,37、演算部332、送信部33、受信部34、制御部35及び一時記憶部36を有する。また、演算部332は、暗号リスト制限部32a、乱数生成部332a、署名情報検証部32c、DH秘密値設定部332b、DH公開値演算部332c、秘密情報演算部332d(「鍵情報共有部」を構成)、共通鍵生成部32e(「鍵情報共有部」を構成)、終了情報生成部32f、終了情報検証部32g、通信処理部32h、認証情報復号部32i、認証情報暗号部332i、認証結果復号部32j、認証結果暗号化部332k、公開鍵簿生成部32k及び検索部32mを有する。なお、本形態の演算部332は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
<処理>
次に、本形態の処理を説明する。
[前提]
第1実施形態との相違点は、公開鍵簿管理装置330とに対し、公開鍵暗号方式(RSA等)の鍵ペア(公開鍵,秘密鍵)が生成されている点である。なお、鍵ペアは複数の暗号方式分生成されてもよい。そして、公開鍵簿管理装置330の秘密鍵SKgが公開鍵簿管理装置330の記憶部31に格納され、当該秘密鍵SKgに対応する公開鍵簿管理装置330の公開鍵PKgにも、認証局によって公開鍵証明書Cgが発行され、これが公開鍵簿管理装置330記憶部31に格納される。その他の点は、第1実施形態と同様である。
[処理の全体]
図21及び図22は、第4実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
まず、利用者装置310(図18)の乱数生成部12aが、乱数R1(第1乱数)を生成し、記憶部11に格納する。そして、通信処理部12hが、記憶部11から乱数R1及び暗号リストCSL1を読み込み、これらを含む情報(ClientHelloメッセージ)を生成して送信部13に送る。送信部13は、乱数R1及び暗号リストCSL1を含むClientHelloメッセージをネットワーク40経由で公開鍵簿管理装置330に送信する(ステップS301)。
ClientHelloメッセージは、公開鍵簿管理装置330(図20)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、ClientHelloメッセージが具備する乱数R1を記憶部31に格納する。次に、公開鍵簿管理装置330の乱数生成部332aが、乱数R2を生成し、記憶部31に格納する。また、通信処理部32hは、記憶部31に格納された暗号リストCSLから1つの暗号方式Cを選択し、それを記憶部31に格納する。本形態では、一例としてDH (Diffie-Hellman)系の暗号方式が暗号方式Cとして選択されたとする。さらに通信処理部32hは、記憶部31から当該暗号方式Cと乱数R2とを読み込み、これらを含む情報(ServerHelloメッセージ)を生成して送信部33に送る。送信部33は、乱数R2及び暗号方式Cを含むServertHelloメッセージをネットワーク40経由で利用者装置310に送信する(ステップS302)。
ServertHelloメッセージは、利用者装置310(図18)の受信部14で受信され、通信処理部12hに送られる。通信処理部12hは、ServertHelloメッセージが具備する乱数R2と暗号方式Cとを記憶部11に格納する。
次に、公開鍵簿管理装置330(図20)の通信処理部32hが記憶部31に格納された公開鍵証明書Cgを読み込み、これを含む情報(ServerCertificateメッセージ)を送信部33に送る。送信部33は、当該公開鍵簿管理装置330の公開鍵証明書Cgを、ネットワーク40経由で利用者装置310に送信する。送信された公開鍵簿管理装置330の公開鍵証明書Cgは、利用者装置310(図18)の受信部14で受信され、通信処理部12hに送られる。通信処理部12hは、当該認証装置320の公開鍵証明書Cgを記憶部11に格納する(ステップS303)。
次に、公開鍵簿管理装置330(図20)のDH秘密値設定部332bが、整数のDH秘密値S2を生成し、記憶部31に格納する。また、DH公開値演算部332cがDiffie-Hellman 演算に使用される共通パラメータであるDHパラメータ(素数モジュラスpや生成元gや群等)を設定して記憶部31に格納する。次に、DH公開値演算部332cが、記憶部31からDHパラメータとDH秘密値S2とを読み込んで、これらからDH公開値A(例えばgS2mod p)を生成して、記憶部31に格納する。次に、通信処理部32hが、記憶部31からDHパラメータとDH公開値Aとを読み込んでこれらを含む情報(ServerKeyExchangeメッセージ)を生成して送信部33に送る。送信部33は、このServerKeyExchangeメッセージをネットワーク40経由で利用者装置310に送信する。ServerKeyExchangeメッセージは、利用者装置310(図18)の受信部14で受信され、それが具備するDHパラメータとDH公開値Aとが記憶部11に格納される(ステップS304)。
その後、公開鍵簿管理装置330がCertificateRequest,ServerHelloDoneのメッセージを利用者装置310に送信した後、利用者装置310の通信処理部12hが、記憶部11に格納された公開鍵PKcの公開鍵証明書Ccを読み込み、これを含む情報(ClientCertificateメッセージ)を送信部13に送る。送信部13は、当該利用者装置310の公開鍵証明書Cc(利用者装置310の公開鍵PKcを含む)を、ネットワーク40経由で公開鍵簿管理装置330に送信する。当該利用者装置310の公開鍵証明書Ccは、公開鍵簿管理装置330(図20)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、利用者装置310の公開鍵証明書Ccを記憶部31に格納する(公開鍵送信過程/ステップS305)。
次に、利用者装置310(図18)のDH秘密値設定部312bが、整数のDH秘密値S1を生成し、記憶部11に格納する。また、DH公開値演算部312cが、記憶部11からDHパラメータとDH秘密値S1とを読み込んで、これらからDH公開値B(例えば gS1 mod p)(「第1鍵共有化情報」に相当)を生成して、記憶部11に格納する。次に、通信処理部12hが、記憶部31からDH公開値Bを読み込んでこれを含む情報(ClientKeyExchangeメッセージ)を生成して送信部13に送る。送信部13は、このClientKeyExchangeメッセージをネットワーク40経由で公開鍵簿管理装置330に送信する。ClientKeyExchangeメッセージは、公開鍵簿管理装置330(図20)の受信部44で受信され、それが具備するDH公開値Bが記憶部31に格納される(第1鍵共有化情報送信過程)。
また、利用者装置310の秘密情報演算部312d、が、記憶部11からDHパラメータとDH秘密値S1とDH公開値Aとを読み込み、これらを用いて秘密情報PMS1(例えば gS1・S2 mod p)を生成し、記憶部31に格納する。さらに、利用者装置310の共通鍵生成部12e(「鍵情報共有部」を構成)が、記憶部11から秘密情報PMS1を読み込み、当該密情報PMS1によって定まる共通鍵MS1(「第1鍵情報」に相当)を生成して記憶部11に格納する。同様に、公開鍵簿管理装置330の秘密情報演算部332d、が、記憶部31からDHパラメータとDH秘密値S2とDH公開値Bとを読み込み、これらを用いて秘密情報PMS1(例えば gS1・S2 mod p)を生成し、記憶部31に格納する。さらに、公開鍵簿管理装置330の共通鍵生成部32e(「鍵情報共有部」を構成)が、記憶部31から秘密情報PMS1を読み込み、当該密情報PMS1によって定まる共通鍵MS1を生成して記憶部31に格納する(第1鍵情報共有過程/ステップS306)。
次に、利用者装置310(図18)の署名生成部12dが、記憶部11から暗号方式Cを読み込み、それに対応する利用者装置310の秘密鍵SKc(「公開鍵送信過程で送信された公開鍵に対応する秘密鍵」に相当)を読み込む。さらに、署名生成部12dは、記憶部11から少なくともDH公開値B(「第1鍵共有化情報」に相当)を読み込み、当該秘密鍵SKcを用い、DH公開値Bを含む情報に対する署名情報Sign1を生成して記憶部11に格納する(署名情報生成過程)。なお、TLS等の場合、ClientHello メッセージ(ステップS301)から現在までの、このメッセージを除く、利用者装置310が送信または受信したすべてのハンドシェイク(通信ログ情報)が署名対象となる。通信処理部12hは、記憶部11から署名情報Sign1を読み込み、これを含む情報(CertificateVerifyメッセージ)を送信部13に送る。送信部13は、このCertificateVerifyメッセージをネットワーク40経由で公開鍵簿管理装置330に送信する(署名情報送信過程)。CertificateVerifyメッセージは、公開鍵簿管理装置330(図20)の受信部34で受信され、通信処理部32hに送られる。通信処理部32hは、CertificateVerifyメッセージが具備する署名情報Sign1を記憶部31に格納する。そして、署名情報検証部32cが、記憶部31から利用者装置310の公開鍵証明書Ccを読み込み、利用者装置310の公開鍵証明書Ccを発行したCAの公開鍵をネットワーク40に接続された図示していない認証局装置から取得する。取得されたCAの公開鍵は記憶部31に格納される。通信処理部32hは、記憶部31から利用者装置310の公開鍵証明書CcとCAの公開鍵を読み込み、CAの公開鍵を用いて利用者装置310の公開鍵証明書Ccを検証する。この検証が合格であった場合、署名情報検証部32cが記憶部31から署名情報Sign1と、利用者装置310の公開鍵証明書Ccが具備する利用者装置310の公開鍵PKc(公開鍵送信過程で送信された公開鍵)とを読み込む。そして、署名情報検証部32cは、利用者装置310の公開鍵PKcを用いて署名情報Sign1を検証する(署名情報検証過程)。これにより、公開鍵簿管理装置330は、公開鍵PKcを送信してきた利用者装置310が確かに対応する秘密鍵SKcを所持していること、及び、その利用者装置310との間で共通鍵MS1(「第1鍵情報」に相当)を共有することを確認できる(ステップS307)。
次に、終了情報生成部12fが、記憶部11から共通鍵MS1と、利用者装置310と公開鍵簿管理装置330との間の通信ログ情報HS1と、秘密情報PMS1とを読み込み、共通鍵MS1(「鍵情報」に相当)を用い、秘密情報共通鍵MS1と通信ログ情報HS1とに対応する情報を暗号化した終了情報F1(Finishedメッセージ)を生成して記憶部11に格納する。生成された終了情報F1(Finishedメッセージ)は送信部13に送られ、そこからネットワーク40経由で公開鍵簿管理装置330に送信される(ステップS308)。
終了情報F1(Finishedメッセージ)は、公開鍵簿管理装置330(図20)の受信部34で受信され、記憶部31に格納される。次に、終了情報検証部32gが、記憶部31から終了情報F1(Finishedメッセージ)と、共通鍵MS1と、利用者装置310と公開鍵簿管理装置330との間の通信ログ情報HS1と、秘密情報PMS1とを読み込み、共通鍵MS1を用い、終了情報F1(Finishedメッセージ)が秘密情報MS1に対応するか否かを検証する。
この検証が合格であった場合、次に、公開鍵簿管理装置330の終了情報生成部32fが、記憶部31から共通鍵MS1と、利用者装置310と公開鍵簿管理装置330との間の通信ログ情報HS2と、秘密情報PMS1とを読み込み、共通鍵MS1を用い、秘密情報共通鍵MS1と通信ログ情報HS2とに対応する情報を暗号化した終了情報F2(Finishedメッセージ)を生成して記憶部31に格納する。生成された終了情報F2(Finishedメッセージ)は送信部33に送られ、そこからネットワーク40経由で利用者装置310に送信される。
終了情報F2(Finishedメッセージ)は、利用者装置310(図18)の受信部14で受信され、記憶部11に格納される。次に、終了情報検証部12gが、記憶部11から終了情報F2(Finishedメッセージ)と、共通鍵MS1と、利用者装置310と公開鍵簿管理装置330との間の通信ログ情報HS2と、秘密情報PMS1とを読み込み、共通鍵MS1を用い、終了情報F2(Finishedメッセージ)が秘密情報MS1に対応するか否かを検証する(ステップS309)。
この検証が合格であった場合、利用者装置310と公開鍵簿管理装置330との間で秘密情報MS1と共通鍵MS1とが共有されたことになる。
また、ステップS301〜S309と同様な処理が、公開鍵簿管理装置330と認証装置20との間でも実行され、公開鍵簿管理装置330と認証装置320との間で秘密情報MS2と共通鍵MS2(「第2鍵情報」に相当)とが共有され、これらが各記憶部31,32に格納される(ステップS310〜S318)。ステップS301〜S309とステップS310〜S318との相違点は以下の通りである。
・利用者装置310→公開鍵簿管理装置330
・公開鍵簿管理装置330→認証装置320
・乱数R1,R2→乱数R3,R4
・暗号リストCSL1、暗号方式C1→暗号リストCSL2、暗号方式C2
・公開鍵証明書Cg→公開鍵証明書Cs
・公開鍵証明書Cc→公開鍵証明書Cg
・DHパラメータ、DH公開値A→DHパラメータ、DH公開値C
・DH公開値B→DH公開値D
・秘密情報PMS1、共通鍵MS1→秘密情報PMS2、共通鍵MS2
・通信ログ情報HS1,HS2→通信ログ情報HS3,HS4
・終了情報FN1,FN2→終了情報FN3,FN4
なお、ステップS315が、公開鍵簿管理装置330の送信部33が、第2鍵情報MS2を当該公開鍵簿管理装置330と認証装置320との間で共有するための暗号情報である第2鍵共有化情報(DH公開値D)を、認証装置320に送信する第2鍵共有化情報送信過程と、認証装置320の鍵情報共有部(DH秘密情報演算部332d、共通鍵生成部22e)が、第2鍵共有化情報(DH公開値D)を用いて第2鍵情報MS2を抽出する第2鍵情報共有過程と、に相当する。また、ステップS301〜S309の処理とステップS310〜S318の処理とは、どちらを先に行ってもよく、また、これらを並行して実行してもよい。
その後、公開鍵簿管理装置330の通信処理部32hは、記憶部31内の共通鍵MS1(「第1鍵情報」に相当)と共通鍵MS2(「第2鍵情報」に相当)とを相互に関連付けて記憶部31に格納する(鍵情報関連付け過程/ステップS319)。さらに、ここまでの何れかの時点(例えば各情報が記憶部31に格納される時点や終了情報検証過程終了後)において、利用者装置310の公開鍵証明書Ccと、各DH公開値A〜Dと、DH秘密値S2,S3と、署名情報Sign1と、DHパラメータと、各秘密情報PMS1,PMS2と、各共通鍵MS1,MS2(「第1鍵情報」「第2鍵情報」に相当)との関連付けがなされる。なお、このような関連付けではなく、利用者装置310の公開鍵証明書Ccが具備する公開鍵PKcと各共通鍵MS1,MS2や各秘密情報PMS1,PMS2とのみを関連付けておく構成であってもよい。さらには、終了情報F1〜F4をこれらの関連付けに加える構成であってもよい。すなわち、最低限、公開鍵簿管理装置330が、後に各共通鍵MS1,MS2を用いた共通鍵暗号通信内容を復号でき、その共通鍵暗号通信に対応する利用者装置310の公開鍵PKcを特定できる状態にしておけばよいが、多くの関連付けを行っておけば後に有効な再検証ができる。
ここまでの処理により、公開鍵簿管理装置330は、共通鍵MS1(「第1鍵情報」に相当)を用いて公開鍵簿管理装置330と共通鍵暗号通信が可能なのは、ステップS305で公開鍵PKcを送信した利用者装置310のみであり、この利用者装置310は公開鍵PKcに対応する秘密鍵SKcを所持していることを確信できる。また、公開鍵簿管理装置330は、共通鍵MS2(「第2鍵情報」に相当)を用いて公開鍵簿管理装置330と共通鍵暗号通信が可能なのは、認証装置320のみであることを知っている。さらに、公開鍵簿管理装置330は、共通鍵MS1と共通鍵MS2との対応を知っている。
次に、利用者装置310(図18)の出力部18は、認証装置320の認証を受けるための認証情報AIの入力を促す表示を行い、入力部17は、利用者から入力された認証情報AI入力を受け付ける。入力部17に入力された認証情報AIは、まず記憶部11に格納される。次に、認証情報暗号化部12iが、記憶部11から共通鍵MS1(「第1鍵情報」に相当)と認証情報AIとを読み込み、認証情報AIを、共通鍵MS1によって復号可能な認証情報暗号化情報CEn(MS1,AI)に暗号化する(第1認証情報暗号化過程)。本形態の場合、認証情報暗号化部12iは、共通鍵MS1を用い、共通鍵暗号方式によって認証情報AIを暗号化した暗号文を第1認証情報暗号化情報CEn(MS1,AI)とする。生成された第1認証情報暗号化情報CEn(MS1,AI)は送信部13に送られ、送信部13は、ネットワーク40経由で、第1認証情報暗号化情報CEn(MS1,AI)を公開鍵簿管理装置330に送信する(第1認証情報暗号化情報送信過程/ステップS321)。
第1認証情報暗号化情報CEn(MS1,AI)は、公開鍵簿管理装置330(図20)の受信部34で受信され、記憶部31に格納される。次に、認証情報復号部32iが、記憶部31から第1認証情報暗号化情報CEn(MS1,AI)と共通鍵MS1とを読み込み、共通鍵MS1で第1認証情報暗号化情報CEn(MS1,AI)を復号して認証情報AIを抽出する。抽出された認証情報AIは、前述のように関連付けられたDH公開値、共通鍵MS1等と関連付けられて記憶部31に格納される(第1認証情報復号過程)。
次に、認証情報暗号化部332iが、記憶部31から共通鍵MS2(「第2鍵情報」に相当)と認証情報AIとを読み込み、認証情報AIを、共通鍵MS2によって復号可能な第2認証情報暗号化情報CEn(MS2,AI)に暗号化する(第2認証情報暗号化過程/ステップS322)。本形態の場合、認証情報暗号化部332iは、共通鍵MS2を用い、共通鍵暗号方式によって認証情報AIを暗号化した暗号文を第2認証情報暗号化情報CEn(MS2,AI)とする。
生成された第2認証情報暗号化情報CEn(MS2,AI)は送信部33に送られ、送信部33は、ネットワーク50経由で第2認証情報暗号化情報CEn(MS2,AI)を認証装置320に送信する(第2認証情報暗号化情報送信過程)。第2認証情報暗号化情報CEn(MS2,AI)は、認証装置320(図19)の受信部24で受信されて記憶部21に格納される。次に、認証情報復号部22iが、記憶部21から第2認証情報暗号化情報CEn(MS2,AI)と共通鍵MS2(「第2鍵情報」に相当)とを読み込み、当該共通鍵MS2を用いて第2認証情報暗号化情報CEn(MS2,AI)を復号して認証情報AIを抽出する(第2認証情報復号過程/ステップS323)。抽出された認証情報AIは記憶部21に格納される。
次に、認証部22jが、記憶部21から認証情報AIを読み込み、これを用いて認証処理を行い、その認証結果VEを出力して記憶部21に格納する(認証過程)。
次に、認証結果暗号化部22kが、記憶部21から認証結果VEと共通鍵MS2(「第2鍵情報」に相当)とを読み込み、認証結果VEを共通鍵MS2によって復号可能な認証結果暗号化情報CEn(MS2,VE)に暗号化し(認証結果暗号化過程)、当該認証結果暗号化情報CEn(MS2,VE)を記憶部21に格納する。なお、本形態では、共通鍵MS2を用い、共通鍵暗号方式によって認証結果VEを暗号化した暗号文を認証結果暗号化情報CEn(MS2,VE)とする。次に、通信処理部22hが、記憶部21から認証結果暗号化情報CEn(MS2,VE)を読み込み、これを送信部23に送る。送信部23は、当該認証結果暗号化情報CEn(MS2,VE)をネットワーク50経由で公開鍵簿管理装置330に送信する(認証結果暗号化情報送信過程/ステップS324)。
認証結果暗号化情報CEn(MS2,VE)は、公開鍵簿管理装置330(図20)の受信部34で受信され、前述のように関連付けられたDH公開値D、共通鍵MS2等と関連付けられて記憶部31に格納される。次に、認証結果復号部32jが、記憶部31から認証結果暗号化情報CEn(MS2,VE)と共通鍵MS2とを読み込み、共通鍵MS2を用いて認証結果暗号化情報CEn(MS2,VE)を復号して認証結果VEを抽出する。当該認証結果VEは、前述のように関連付けられたDH公開値D、共通鍵MS2等と関連付けられて記憶部31に格納される(認証結果復号過程)。
ここで、公開鍵簿管理装置330は、共通鍵MS2を用いて認証結果暗号化情報CEn(MS2,VE)が復号できたことを根拠に、復号して得られた認証結果VEが当該共通鍵MS2に関連付けられている公開鍵PKc(利用者装置の公開鍵証明書Ccが含む)を提供した利用者装置310に対するものであることを確認できる。そこで、公開鍵簿生成部32kは、当該公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとを記憶部31から読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部37に格納する(公開鍵簿生成過程)。
次に、認証結果暗号化部332kが、記憶部31から認証結果VEと、共通鍵MS2(「第2鍵情報」に相当)に関連付けられている共通鍵MS1(「第1鍵情報」に相当)とを読み込み、認証結果VEを共通鍵MS1によって復号可能な認証結果暗号化情報CEn(MS1,VE)に暗号化し、当該認証結果暗号化情報CEn(MS1,VE)を記憶部31に格納する。なお、本形態では、共通鍵MS1を用い、共通鍵暗号方式によって認証結果VEを暗号化した暗号文を認証結果暗号化情報CEn(MS1,VE)とする(ステップS325)。
その後、通信処理部32hが記憶部31から認証結果暗号化情報CEn(MS1,VE)を読み込み、それを送信部33に送る。送信部33は、当該認証結果暗号化情報CEn(MS1,VE)をネットワーク40経由で利用者装置310に送信する。当該認証結果暗号化情報CEn(MS1,VE)は、利用者装置310(図18)の受信部14で受信され、記憶部11に格納される。その後、認証結果復号部12jが、記憶部11から認証結果暗号化情報CEn(MS1,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS1,VE)を復号して認証結果VEを抽出し、記憶部11に格納する(ステップS326)。
以上の処理により、利用者装置310の公開鍵PKcとその認証結果VEとの組が公開鍵簿のエントリとして追加された。その後、公開鍵簿管理装置330の検索部32mが、通信装置60からの要求に応じ、所望の公開鍵と認証結果との組を記憶部37の公開鍵簿から検索し、当該抽出された公開鍵と認証結果との組が送信部33から通信装置60に送信される。
<本形態の特徴>
本形態でも、第1実施形態と同様、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。それに加え、本形態では、認証装置320の秘密鍵を公開鍵簿管理装置330に格納する前処理が不要である。
なお、本形態では、DH方式によって共通鍵MS1,MS2を共有する方法を例示したが、第1,2実施形態のように公開鍵暗号方式(RSA方式等)によって共通鍵MS1,MS2を共有してもよい。
〔第5実施形態〕
本形態は第1,2実施形態の変形例であり、利用者装置と公開化鍵簿管理装置と認証装置とで共通鍵を共有した後に行われる認証処理が第1,2実施形態と相違する。なお、本形態は、第1,2実施形態双方に適用可能である。しかし、以下では第1実施形態に適用した場合を例示し、第1実施形態との相違点のみを説明する。
<構成>
[全体構成]
図23は、第5実施形態の公開鍵簿登録システム400の全体構成を説明するためのブロック図である。
図23に例示するように、本形態の公開鍵簿登録システム400は、利用者装置410(例えば、クライアント装置)と、認証装置420(例えば、認証サーバ装置)と、公開鍵簿管理装置430(例えば、拡張サーバ装置)と、通信装置60(例えば、サービスサーバ装置)とを有する。また、利用者装置410と公開鍵簿管理装置430とは、ネットワーク40を通じて通信可能に接続され、認証装置420と公開鍵簿管理装置430とは、ネットワーク50を通じて通信可能に接続される。また、通信装置60は、ネットワーク40を通じて利用者装置410及び公開鍵簿管理装置430と通信可能に接続される。
なお、説明を簡略化するため、図23では、1つの利用者装置410と認証装置420とが公開鍵簿管理装置430と通信可能に接続されているが、2以上の利用者装置410と認証装置420とが公開鍵簿管理装置430と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置430を設けた構成であってもよく、複数の通信装置60を設けた構成であってもよい。
[利用者装置]
本形態の利用者装置410は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図24は、第5実施形態の利用者装置410の機能構成を説明するためのブロック図である。
図24に例示するように、本形態の利用者装置410は、記憶部11、演算部412、送信部13、受信部14、制御部15、一時記憶部16、入力部17及び出力部18を有する。また、演算部412は、乱数生成部12a、秘密情報設定部12b、公開鍵暗号化部12c、署名生成部12d、共通鍵生成部12e、終了情報生成部12f、終了情報検証部12g、通信処理部12h及び一方向性関数演算部412iを有する。なお、本形態の演算部412は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
[認証装置]
本形態の認証装置420は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図25は、第5実施形態の認証装置420の機能構成を説明するためのブロック図である。
図25に例示するように、本形態の認証装置420は、記憶部21、演算部422、送信部23、受信部24、制御部25及び一時記憶部26を有する。また、演算部422は、乱数生成部22a、復号部22c(「鍵情報共有部」を構成)、共通鍵生成部22e(「鍵情報共有部」を構成)、終了情報生成部22f、終了情報検証部22g、通信処理部22h及び認証部422jを有する。なお、本形態の演算部422は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
[公開鍵簿管理装置]
本形態の公開鍵簿管理装置430は、CPU、RAM、ROM、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、CPUがそれを実行することにより構成されるものである。
図26は、第5実施形態の公開鍵簿管理装置430の機能構成を説明するためのブロック図である。
図26に例示するように、本形態の公開鍵簿管理装置430は、記憶部31,37、演算部432、送信部33、受信部34、制御部35及び一時記憶部36を有する。また、演算部432は、暗号リスト制限部32a、復号部32b(「鍵情報共有部」を構成)、署名情報検証部32c、共通鍵生成部32e(「鍵情報共有部」を構成)、終了情報生成部32f、終了情報検証部32g、通信処理部32h、公開鍵簿生成部32k、確認認証部432i及び検索部32mを有する。なお、本形態の演算部432は、CPUに所定のプログラムが読み込まれ、CPUがそれらを実行することによって構築される処理部である。
<処理>
次に、本形態の処理を説明する。
[前提]
第1実施形態と同様である。
[処理の全体]
図27は、第5実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
まず、第1実施形態と同じステップS1からS19の処理を実行し、利用者装置410と認証装置420と公開鍵簿管理装置430とで共通鍵MSを共有する。ただし、TLS等の場合は、共通鍵MSを用いて共通鍵暗号通信を行わない旨の設定(NULL)を行う点が第1実施形態と相違する。
その後まず、認証装置420(図25)の乱数整数部22aが乱数であるチャレンジC1を生成して記憶部21に格納する。このチャレンジC1は送信部23に送られ、送信部23は、チャレンジC1をネットワーク50経由で公開鍵簿管理装置430に送る(ステップS421)。公開鍵簿管理装置430(図26)は送信されたチャレンジC1を受信部34で受信し、これを共通鍵MS等と関連付けて記憶部31に格納し、さらに、送信部33からネットワーク40経由で利用者装置410に送信する(ステップS422)。利用者装置410(図24)は送信されたチャレンジC1を受信部14で受信して記憶部11に格納する(ステップS423)。
次に、利用者装置410の一方向性関数演算部412iが、記憶部11からチャレンジC1と共通鍵MSとを読み込み、これらのビット結合値(「鍵情報を含む情報」に相当)に対して一方向性関数(SHA-1やMD5等)を作用させて第1ダイジェスト値H1=hash(C1, MS)を生成して記憶部11に格納する(一方向性関数演算過程)。第1ダイジェスト値H1は、送信部13に送られ、送信部13は当該第1ダイジェスト値H1をネットワーク40経由で公開鍵簿管理装置430に送信する(第1ダイジェスト値送信過程/ステップS424)。
公開鍵簿管理装置430(図26)は、送信された第1ダイジェスト値H1を受信部34で受信して共通鍵MS等に関連付けて記憶部31に格納し、さらに、当該第1ダイジェスト値H1を送信部33に送る。送信部33は、当該第1ダイジェスト値H1をネットワーク50経由で認証装置420に送信する(第2ダイジェスト値送信過程/ステップS425)。
認証装置420(図25)は、送信された第1ダイジェスト値H1を受信部24で受信し、記憶部21に格納する(ステップS426)。次に、認証部422jが、記憶部21からチャレンジC1と共通鍵MSとを読み込み、チャレンジC1と共通鍵MSとのビット結合値(「鍵情報を含む情報」に相当)に対して一方向性関数を作用させた第2ダイジェスト値H2(C1, MS)=hash(C1, MS)を生成して記憶部21に格納する。なお、当該一方向性関数は利用者装置410の一方向性関数演算部412iで使用された一方向性関数と同一の関数である。次に、認証部422jは、記憶部21から第2ダイジェスト値H2と第1ダイジェスト値H1とを読み込み、これらが一致するか否かを検証し、これらが一致する場合に検証合格である旨の認証結果VEを出力し、これらが一致しない場合に検証不合格である旨の認証結果VEを出力する(認証過程)。出力された認証結果VEは、記憶部21に格納されるとともに送信部23に送られ、送信部23は当該認証結果VEをネットワーク50経由で公開鍵簿管理装置430に送信する(認証結果送信過程/ステップS427)。
公開鍵簿管理装置430(図26)は、送信された認証結果VEを受信部34で受信し、記憶部31に格納する。次に、確認認証部432iが、記憶部31から共通鍵MSとチャレンジC1とを読み込み、チャレンジC1と共通鍵MSとのビット結合値(「鍵情報を含む情報」に相当)に対して一方向性関数を作用させた第3ダイジェスト値H3(C1, MS)=hash(C1, MS)を生成して記憶部31に格納する。なお、当該一方向性関数は利用者装置410の一方向性関数演算部412iで使用された一方向性関数と同一の関数である。次に、確認認証部432iは、記憶部31から第3ダイジェスト値H3と第1ダイジェスト値H1とを読み込み、これらが一致するか否かを検証し、これらが一致する場合に認証合格である旨の確認認証結果CVEを出力し、これらが一致しない場合に認証不合格である旨の確認認証結果CVEを出力する(確認認証過程)。当該確認認証結果は記憶部31に格納される。次に、公開鍵簿生成部32kが、記憶部31から認証結果VEと確認認証結果CVEとを読み込み、これらが一致するか否かを検証する。そして、これらが一致する場合、公開鍵簿生成部32kは、記憶部31から認証結果VEと利用者装置410の公開鍵証明書Ccが具備する公開鍵PKcとを読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部37に格納する(公開鍵簿生成過程/ステップS428)。なお、認証結果VEと確認認証結果CVEとが一致する場合とは、認証結果VEのデータ構造と確認認証結果CVEのデータ構造とが完全一致する場合に限定される概念ではなく、それらの内容(検証合格又は検証不合格)が一致する場合を意味する概念である。また、認証結果VEと確認認証結果CVEとが一致する場合とは、認証結果VEが認証合格を示し、なおかつ、確認認証結果CVEが認証合格を示す場合と、認証結果VEが認証不合格を示し、なおかつ、確認認証結果CVEが認証不合格を示す場合との双方を含む。
その後、認証結果VEは、公開鍵簿管理装置430の送信部33からネットワーク40経由で利用者装置410に送信され、その受信部14で受信されて記憶部11に格納される(ステップS429)。
<本形態の特徴>
本形態でも、第1実施形態と同様、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。なお、本形態では、認証装置420がチャレンジC1を送信する構成としたが、利用者装置410と認証装置420と公開鍵簿管理装置430とが同じチャンレジC1を出力する装置を具備し、それを用いてレスポンスを生成する構成でもよい。また、チャンレジC1を用いずにhash(MS)をレスポンスとする構成でもよい。また、ステップS423からS429の通信データの少なくとも一部(好ましくはすべて)に、共通鍵MSを用いて検証可能なMACデータを付加し、これらのデータの改ざんを防止する構成でもよい。
〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、利用者装置が証明書付きの公開鍵を公開鍵簿管理装置に送信することとしたが、この証明書の送信は必須ではなく、公開鍵のみを送信することとしてもよい。
また、上述の各実施形態では、「鍵情報」として共通鍵暗号方式の共通鍵を用いる例を説明したが、「鍵情報」として公開鍵暗号方式の秘密鍵を用い、当該秘密鍵を各装置間で共有することとしてもよい。
また、上述の各実施形態では、利用者装置が暗号リストCSLを用い、認証装置に暗号方式を選択させる構成としたが、そのようなことを行わないプロトコルに本発明を適用してもよい。また、上述の各実施形態では、利用者装置と認証装置とが第1乱数と第2乱数をそれぞれ生成してセッションを行うこととしたが、乱数生成を行うことなくセッションを行うプロトコルに本発明を適用する場合には、そのような乱数は不要である。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明の利用分野としては、例えば、SAML(Security Assertion Markup Language)等のシングルサインオン技術分野を例示できる。ただし、本発明がこの分野以外にも適用可能なのはいうまでもない。
図1(a)は、認証装置(認証サーバ)が任意の認証結果と公開鍵を対応付けた表(公開鍵簿)を作成し、公開することによって、複数の通信装置が公開鍵を簡易に導入/利用できるようにする技術を説明するための図である。図1(b)は、認証装置から公開鍵簿管理機能を分離し、この公開鍵簿管理機能を別の公開鍵簿管理装置(拡張サーバ)に実装した技術を説明するための図である。 図2は、第1実施形態の公開鍵簿登録システムの全体構成を説明するためのブロック図である。 図3は、第1実施形態の利用者装置の機能構成を説明するためのブロック図である。 図4は、第1実施形態の認証装置の機能構成を説明するためのブロック図である。 図5は、第1実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。 図6は、第1実施形態の処理の全体を説明するためのシーケンス図である。 図7は、第1実施形態の処理の全体を説明するためのシーケンス図である。 図8は、第1実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。 図9は、第1実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。 図10は、第1実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。 図11は、第2実施形態の公開鍵簿登録システム100の全体構成を説明するためのブロック図である。 図12は、第2実施形態の利用者装置の機能構成を説明するためのブロック図である。 図13は、第2実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。 図14は、第2実施形態の処理の全体を説明するためのシーケンス図である。 図15は、第2実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。 図16は、第3実施形態における付加処理を説明するためのシーケンス図である。 図17は、第4実施形態の公開鍵簿登録システムの全体構成を説明するためのブロック図である。 図18は、第4実施形態の利用者装置の機能構成を説明するためのブロック図である。 図19は、第4実施形態の認証装置の機能構成を説明するためのブロック図である。 図20は、第4実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。 図21は、第4実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。 図22は、第4実施形態の処理の全体を説明するためのシーケンス図である。 図23は、第5実施形態の公開鍵簿登録システムの全体構成を説明するためのブロック図である。 図24は、第5実施形態の利用者装置の機能構成を説明するためのブロック図である。 図25は、第5実施形態の認証装置の機能構成を説明するためのブロック図である。 図26は、第5実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。 図27は、第5実施形態の処理の全体を説明するためのシーケンス図である。
符号の説明
1,100,300,400 公開鍵簿登録システム

Claims (11)

  1. 各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿登録方法であって、
    公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を上記公開鍵簿管理装置に送信する公開鍵送信過程と、
    上記公開鍵を上記公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と上記公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第1鍵共有化情報を上記公開鍵簿管理装置に送信する第1鍵共有化情報送信過程と、
    上記公開鍵簿管理装置の鍵情報共有部が、上記第1鍵共有化情報を用いて上記鍵情報を抽出する第1鍵情報共有過程と、
    上記公開鍵簿管理装置の送信部が、当該公開鍵簿管理装置と上記認証装置との間で上記鍵情報を共有するための暗号情報である第2鍵共有化情報を上記認証装置に送信する第2鍵共有化情報送信過程と、
    上記認証装置の鍵情報共有部が、上記第2鍵共有化情報を用いて上記鍵情報を抽出する第2鍵情報共有過程と、
    上記利用者装置の署名生成部が、上記公開鍵送信過程で送信された上記公開鍵に対応する秘密鍵を用い、上記第1鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、
    上記利用者装置の送信部が、上記署名情報を上記公開鍵簿管理装置に送信する署名情報送信過程と、
    上記公開鍵簿管理装置の署名情報検証部が、上記公開鍵送信過程で送信された上記公開鍵を用い、上記署名情報を検証する署名情報検証過程と、
    上記利用者装置の認証情報暗号化部が、上記認証装置の認証を受けるための認証情報を、上記鍵情報によって復号可能な認証情報暗号化情報に暗号化する認証情報暗号化過程と、
    上記利用者装置の送信部が、上記認証情報暗号化情報を上記公開鍵簿管理装置に送信する第1認証情報暗号化情報送信過程と、
    上記公開鍵簿管理装置の送信部が、上記認証情報暗号化情報を上記認証装置に送信する第2認証情報暗号化情報送信過程と、
    上記認証装置の認証情報復号部が、上記鍵情報を用いて上記認証情報暗号化情報を復号して上記認証情報を抽出する認証情報復号過程と、
    上記認証装置の認証部が、上記認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、
    上記認証装置の認証結果暗号化部が、上記認証結果を、上記鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、
    上記認証装置の送信部が、上記認証結果暗号化情報を上記公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、
    上記公開鍵簿管理装置の認証結果復号部が、上記鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号過程と、
    上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果復号過程で抽出された上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
    を有することを特徴とする公開鍵簿登録方法。
  2. 各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿登録方法であって、
    公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を上記公開鍵簿管理装置に送信する公開鍵送信過程と、
    上記公開鍵を上記公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と上記公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第1鍵共有化情報を上記公開鍵簿管理装置に送信する第1鍵共有化情報送信過程と、
    上記公開鍵簿管理装置の鍵情報共有部が、上記第1鍵共有化情報を用いて上記鍵情報を抽出する第1鍵情報共有過程と、
    上記公開鍵簿管理装置の送信部が、当該公開鍵簿管理装置と上記認証装置との間で上記鍵情報を共有するための暗号情報である第2鍵共有化情報を上記認証装置に送信する第2鍵共有化情報送信過程と、
    上記認証装置の鍵情報共有部が、上記第2鍵共有化情報を用いて上記鍵情報を抽出する第2鍵情報共有過程と、
    上記利用者装置の署名生成部が、上記公開鍵送信過程で送信された上記公開鍵に対応する秘密鍵を用い、上記第1鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、
    上記利用者装置の送信部が、上記署名情報を上記公開鍵簿管理装置に送信する署名情報送信過程と、
    上記公開鍵簿管理装置の署名情報検証部が、上記公開鍵送信過程で送信された上記公開鍵を用い、上記署名情報を検証する署名情報検証過程と、
    上記利用者装置の一方向性関数演算部が、上記鍵情報を含む情報に対して一方向性関数を作用させて第1ダイジェスト値を生成する一方向性関数演算過程と、
    上記利用者装置の送信部が、上記第1ダイジェスト値を上記公開鍵簿管理装置に送信する第1ダイジェスト値送信過程と、
    上記公開鍵簿管理装置の送信部が、上記第1ダイジェスト値を上記認証装置に送信する第2ダイジェスト値送信過程と、
    上記認証装置の認証部が、上記鍵情報を含む情報に対して一方向性関数を作用させた第2ダイジェスト値を算出し、当該第2ダイジェスト値と上記第1ダイジェスト値とが一致するか否かを検証し、これらが一致する場合に検証合格である旨の認証結果を出力し、これらが一致しない場合に検証不合格である旨の認証結果を出力する認証過程と、
    上記認証装置の送信部が、上記認証結果を上記公開鍵簿管理装置に送信する認証結果送信過程と、
    上記認証装置の確認認証部が、上記鍵情報を含む情報に対して一方向性関数を作用させた第3ダイジェスト値を算出し、当該第3ダイジェスト値と上記第1ダイジェスト値とが一致するか否かを検証し、これらが一致する場合に認証合格である旨の確認認証結果を出力し、これらが一致しない場合に認証不合格である旨の確認認証結果を出力する確認認証過程と、
    上記認証結果と上記確認認証結果とが一致する場合に、上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
    を有することを特徴とする公開鍵簿登録方法。
  3. 請求項1又は2に記載の公開鍵簿登録方法であって、
    上記公開鍵簿登録装置の記憶部及び上記認証装置の記憶部には同一の秘密鍵が格納されており、
    上記第1鍵共有化情報及び上記第2鍵共有化情報は、上記秘密鍵に対応する公開鍵を用い、上記鍵情報を特定するための秘密情報を公開鍵暗号方式によって暗号化した同一の暗号文であり、
    上記第1鍵情報共有過程は、
    上記秘密鍵を用いて上記第1鍵共有化情報を復号して上記秘密情報を復号し、当該秘密情報から上記鍵情報を生成する過程であり、
    上記第2鍵情報共有過程は、
    上記秘密鍵を用いて上記第2鍵共有化情報を復号して上記秘密情報を復号し、当該秘密情報から上記鍵情報を生成する過程である、
    ことを特徴とする公開鍵簿登録方法。
  4. 請求項1から3の何れかに記載の公開鍵簿登録方法であって、
    上記利用者装置の乱数生成部が、第1乱数を生成する第1乱数生成過程と、
    上記利用者装置の送信部が、上記第1乱数を上記公開鍵簿管理装置に送信する第1乱数送信過程と、
    上記公開鍵簿管理装置の送信部が、上記第1乱数を上記認証装置に送信する第2乱数送信過程と、
    上記認証装置の乱数生成部が、第2乱数を生成する第2乱数生成過程と、
    上記認証装置の送信部が、上記第2乱数を上記公開鍵簿管理装置に送信する第3乱数送信過程と、
    上記公開鍵簿管理装置の送信部が、上記第2乱数を上記利用者装置に送信する第4乱数送信過程と、
    上記利用者装置の終了情報生成部が、上記鍵情報を用い、当該利用者装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記鍵情報を特定するための秘密情報と、に対応する情報を暗号化した第1終了情報を生成する第1終了情報生成過程と、
    上記利用者装置の送信部が、上記第1終了情報を上記公開鍵簿管理装置に送信する第1終了情報送信過程と、
    上記公開鍵簿管理装置の終了情報生成部が、上記鍵情報を用い、上記公開鍵簿管理装置と上記認証装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第2終了情報を生成する第2終了情報生成過程と、
    上記公開鍵簿管理装置の送信部が、上記第2終了情報を上記認証装置に送信する第2終了情報送信過程と、
    上記認証装置の終了情報生成部が、上記鍵情報を用い、当該公開鍵簿管理装置と上記認証装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第3終了情報を生成する第3終了情報生成過程と、
    上記認証装置の送信部が、上記第3終了情報を上記公開鍵簿管理装置に送信する第3終了情報送信過程と、
    上記公開鍵簿管理装置の終了情報生成部が、上記鍵情報を用い、上記利用者装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第4終了情報を生成する第4終了情報生成過程と、
    上記公開鍵簿管理装置の送信部が、上記第4終了情報を上記利用者装置に送信する第4終了情報送信過程と、をさらに有し、
    上記第1乱数生成過程と上記第1乱数送信過程と上記第2乱数送信過程と上記第2乱数生成過程と上記第3乱数送信過程と上記第4乱数送信過程とは、第1鍵共有化情報送信過程よりも前に実行され、
    上記第1終了情報生成過程と上記第1終了情報送信過程と上記第2終了情報生成過程と上記第2終了情報送信過程と上記第3終了情報生成過程と上記第3終了情報送信過程と上記第4終了情報生成過程と上記第4終了情報送信過程とは、上記第2鍵情報共有過程よりも後であって上記認証情報暗号化過程よりも前に実行され、
    上記鍵情報は、上記秘密情報と上記第1乱数と上記第2乱数とによって定まる情報であり、
    上記利用者装置と上記公開鍵簿管理装置との間の通信ログ情報は、上記第1乱数と上記第2乱数とを含み、
    上記公開鍵簿管理装置と上記認証装置との間の通信ログ情報は、上記第1乱数と上記第2乱数とを含む、
    ことを特徴とする公開鍵簿登録方法。
  5. 請求項4に記載の鍵情報設定方法であって、
    上記第4終了情報送信過程の後に、上記利用者装置の送信部が送信開始要求情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が当該送信開始要求情報を上記認証装置に送信し、上記認証装置の送信部が送信開始応答情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が当該送信開始応答情報を上記利用者装置に送信する再接続開始過程と、
    上記利用者装置の終了情報生成部が、上記秘密情報によって定まる鍵情報を用い、上記再接続開始過程以後の当該利用者装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第5終了情報を生成する第5終了情報生成過程と、
    上記利用者装置の送信部が上記第5終了情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が上記第5終了情報を上記認証装置に送信する第5終了情報送信過程と、
    上記認証装置の終了情報生成部が、上記秘密情報によって定まる鍵情報を用い、上記再接続開始過程以後の当該認証装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第6終了情報を生成する第6終了情報生成過程と、
    上記認証装置の送信部が上記第6終了情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が上記第6終了情報を上記利用者装置に送信する第6終了情報送信過程と、を有し、
    上記認証情報暗号化過程及び上記認証結果暗号化過程は、上記鍵情報を用い、上記第5終了情報及び/若しくは上記第6終了情報をイニシャルベクトルとしたブロック暗号方式によって暗号化を行う過程であり、
    上記認証情報復号過程及び上記認証結果復号過程は、上記鍵情報を用い、上記第5終了情報及び/若しくは上記第6終了情報をイニシャルベクトルとしたブロック暗号方式によって復号を行う過程であり、
    上記認証情報暗号化過程で使用されるイニシャルベクトルと、上記認証情報復号過程で使用されるイニシャルベクトルとは同値であり、
    上記認証結果暗号化過程で使用されるイニシャルベクトルと、上記認証結果復号過程で使用されるイニシャルベクトルとは同値である、
    ことを特徴とする公開鍵簿登録方法。
  6. 各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿登録方法であって、
    公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を上記公開鍵簿管理装置に送信する公開鍵送信過程と、
    上記公開鍵を上記公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と上記公開鍵簿管理装置との間で第1鍵情報を共有するための暗号情報である第1鍵共有化情報を、上記公開鍵簿管理装置に送信する第1鍵共有化情報送信過程と、
    上記公開鍵簿管理装置の鍵情報共有部が、上記第1鍵共有化情報を用いて上記第1鍵情報を抽出する第1鍵情報共有過程と、
    上記公開鍵簿管理装置の送信部が、第2鍵情報を当該公開鍵簿管理装置と上記認証装置との間で共有するための暗号情報である第2鍵共有化情報を、上記認証装置に送信する第2鍵共有化情報送信過程と、
    上記認証装置の鍵情報共有部が、上記第2鍵共有化情報を用いて上記第2鍵情報を抽出する第2鍵情報共有過程と、
    上記利用者装置の署名生成部が、上記公開鍵送信過程で送信された上記公開鍵に対応する秘密鍵を用い、上記第1鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、
    上記利用者装置の送信部が、上記署名情報を上記公開鍵簿管理装置に送信する署名情報送信過程と、
    上記公開鍵簿管理装置の署名情報検証部が、上記公開鍵送信過程で送信された上記公開鍵を用い、上記署名情報を検証する署名情報検証過程と、
    上記第1鍵情報と上記第2鍵情報とを相互に関連付けて上記公開鍵簿管理装置の記憶部に格納する鍵情報関連付け過程と、
    上記利用者装置の認証情報暗号化部が、上記認証装置の認証を受けるための認証情報を、上記第1鍵情報によって復号可能な第1認証情報暗号化情報に暗号化する第1認証情報暗号化過程と、
    上記利用者装置の送信部が、上記第1認証情報暗号化情報を上記公開鍵簿管理装置に送信する第1認証情報暗号化情報送信過程と、
    上記公開鍵簿管理装置の認証情報復号部が、上記第1鍵情報を用いて上記第1認証情報暗号化情報を復号して上記認証情報を抽出する第1認証情報復号過程と、
    上記公開鍵簿管理装置の認証情報暗号化部が、上記認証情報を、上記第2鍵情報によって復号可能な第2認証情報暗号化情報に暗号化する第2認証情報暗号化過程と、
    上記公開鍵簿管理装置の送信部が、上記第2認証情報暗号化情報を上記認証装置に送信する第2認証情報暗号化情報送信過程と、
    上記認証装置の認証情報復号部が、上記第2鍵情報を用いて上記第2認証情報暗号化情報を復号して上記認証情報を抽出する第2認証情報復号過程と、
    上記認証装置の認証部が、上記認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、
    上記認証装置の認証結果暗号化部が、上記認証結果を、上記第2鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、
    上記認証装置の送信部が、上記認証結果暗号化情報を上記公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、
    上記公開鍵簿管理装置の認証結果復号部が、上記第2鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号過程と、
    上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果復号過程で抽出された上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
    を有することを特徴とする公開鍵簿登録方法。
  7. 利用者装置によって提供された各公開鍵と、当該各公開鍵の認証装置による認証結果と、を対応付けた公開鍵簿を格納して公開する公開鍵簿管理装置であって、
    利用者装置から送信された公開鍵を受信する第1受信部と、
    上記公開鍵を送信した上記利用者装置との間で鍵情報を共有するための暗号情報である第1鍵共有化情報を、上記利用者装置から受信する第2受信部と、
    上記第1鍵共有化情報を用いて上記鍵情報を抽出する鍵情報共有部と、
    上記認証装置との間で上記鍵情報を共有するための暗号情報である第2鍵共有化情報を上記認証装置に送信する第1送信部と、
    上記公開鍵に対応する秘密鍵を用いて上記第1鍵共有化情報を含む情報に対して生成された署名情報を、上記利用者装置から受信する第2受信部と、
    上記第1受信部で受信された上記公開鍵を用い、上記署名情報を検証する署名情報検証部と、
    上記利用者装置が上記認証装置から認証を受けるための認証情報を上記鍵情報によって復号可能に暗号化した認証情報暗号化情報を、上記利用者装置から受信する第3受信部と、
    上記認証情報暗号化情報を上記認証装置に送信する第2送信部と、
    上記認証情報に対する認証結果を上記鍵情報によって復号可能に暗号化した認証結果暗号化情報を、上記認証装置から受信する第4受信部と、
    上記鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号部と、
    上記公開鍵と上記認証結果とを対応付けた情報を上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成部と、
    を有することを特徴とする公開鍵簿管理装置。
  8. 利用者装置によって提供された各公開鍵と、当該各公開鍵の認証装置による認証結果と、を対応付けた公開鍵簿を格納して公開する公開鍵簿管理装置であって、
    利用者装置から送信された公開鍵を受信する第1受信部と、
    上記公開鍵を送信した上記利用者装置との間で鍵情報を共有するための暗号情報である第1鍵共有化情報を、上記利用者装置から受信する第2受信部と、
    上記第1鍵共有化情報を用いて上記鍵情報を抽出する鍵情報共有部と、
    上記認証装置との間で上記鍵情報を共有するための暗号情報である第2鍵共有化情報を上記認証装置に送信する第1送信部と、
    上記公開鍵に対応する秘密鍵を用いて上記第1鍵共有化情報を含む情報に対して生成された署名情報を、上記利用者装置から受信する第2受信部と、
    上記第1受信部で受信された上記公開鍵を用い、上記署名情報を検証する署名情報検証部と、
    上記認証結果と上記確認認証結果とが一致する場合に、上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
    上記鍵情報を含む情報に対して一方向性関数を作用させて第1ダイジェスト値を、上記利用者装置から受信する第3受信部と、
    上記第1ダイジェスト値を上記認証装置に送信する第2送信部と、
    上記第1ダイジェスト値に対する認証結果を上記認証装置から受信する第4受信部と、
    上記鍵情報を含む情報に対して一方向性関数を作用させた第3ダイジェスト値を算出し、当該第3ダイジェスト値と上記第1ダイジェスト値とが一致するか否かを検証し、これらが一致する場合に認証合格である旨の確認認証結果を出力し、これらが一致しない場合に認証不合格である旨の確認認証結果を出力する確認認証部と、
    上記認証結果と上記確認認証結果とが一致する場合に、上記公開鍵と上記認証結果とを対応付けた情報を上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成部と、
    を有することを特徴とする公開鍵簿管理装置。
  9. 利用者装置によって提供された各公開鍵と、当該各公開鍵の認証装置による認証結果と、を対応付けた公開鍵簿を格納して公開する公開鍵簿管理装置であって、
    利用者装置から送信された公開鍵を受信する第1受信部と、
    上記公開鍵を送信した上記利用者装置との間で第1鍵情報を共有するための暗号情報である第1鍵共有化情報を、上記利用者装置から受信する第2受信部と、
    上記第1鍵共有化情報を用いて上記第1鍵情報を抽出する鍵情報共有部と、
    第2鍵情報を上記認証装置との間で共有するための暗号情報である第2鍵共有化情報を、上記認証装置に送信する第1送信部と、
    上記公開鍵に対応する秘密鍵を用いて上記第1鍵共有化情報を含む情報に対して生成された署名情報を、上記利用者装置から受信する第2受信部と、
    上記第1受信部で受信された上記公開鍵を用い、上記署名情報を検証する署名情報検証部と、
    前記第1鍵情報と前記第2鍵情報とを相互に関連付けて格納する記憶部と、
    上記利用者装置が上記認証装置から認証を受けるための認証情報を上記第1鍵情報によって復号可能に暗号化した認証情報暗号化情報を、上記利用者装置から受信する第3受信部と、
    上記第1鍵情報を用いて上記第1認証情報暗号化情報を復号して上記認証情報を抽出する認証情報復号部と、
    上記認証情報を、上記第2鍵情報によって復号可能な第2認証情報暗号化情報に暗号化する認証情報暗号化部と、
    上記第2認証情報暗号化情報を上記認証装置に送信する第2送信部と、
    上記認証情報に対する認証結果を上記第2鍵情報によって復号可能に暗号化した認証結果暗号化情報を、上記認証装置から受信する第4受信部と、
    上記第2鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号部と、
    上記公開鍵と上記認証結果とを対応付けた情報を上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成部と、
    を有することを特徴とする公開鍵簿管理装置。
  10. 請求項7から9の何れかに記載の公開鍵簿管理装置としてコンピュータを機能させるためのプログラム。
  11. 請求項10に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2007295679A 2007-11-14 2007-11-14 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体 Active JP4928416B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007295679A JP4928416B2 (ja) 2007-11-14 2007-11-14 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007295679A JP4928416B2 (ja) 2007-11-14 2007-11-14 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009124399A JP2009124399A (ja) 2009-06-04
JP4928416B2 true JP4928416B2 (ja) 2012-05-09

Family

ID=40816085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007295679A Active JP4928416B2 (ja) 2007-11-14 2007-11-14 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP4928416B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10112883A (ja) * 1996-10-07 1998-04-28 Hitachi Ltd 無線通信交換システム、交換機、公開鍵管理装置、移動端末および移動端末認証方法
JP3961309B2 (ja) * 2002-02-13 2007-08-22 三菱電機株式会社 公開鍵サーバ
JP5016678B2 (ja) * 2007-10-19 2012-09-05 日本電信電話株式会社 利用者認証システム及びその方法

Also Published As

Publication number Publication date
JP2009124399A (ja) 2009-06-04

Similar Documents

Publication Publication Date Title
US8291231B2 (en) Common key setting method, relay apparatus, and program
CN111416807B (zh) 数据获取方法、装置及存储介质
US8719952B1 (en) Systems and methods using passwords for secure storage of private keys on mobile devices
JP4617763B2 (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、および機器認証プログラム
EP2289220B1 (en) Network helper for authentication between a token and verifiers
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
KR101265873B1 (ko) 분산된 단일 서명 서비스 방법
JP5845393B2 (ja) 暗号通信装置および暗号通信システム
CN108650210A (zh) 一种认证系统和方法
US8595501B2 (en) Network helper for authentication between a token and verifiers
JP2023501449A (ja) エフェメラル鍵を用いたトランスポート層セキュリティにおける前方秘匿性
CN104580189A (zh) 一种安全通信系统
KR20060045440A (ko) 패스워드 보호 비밀 데이터의 노출 없이 통신 네트워크을통해 이 비밀 데이터를 복구하는 방법 및 시스템
WO2009038823A2 (en) Secure communications
JP6627043B2 (ja) Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
US20210392004A1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
KR100668446B1 (ko) 안전한 인증정보 이동방법
CN115174114A (zh) 一种ssl隧道建立方法、服务端及客户端
JP5622668B2 (ja) アプリケーション認証システム、アプリケーション認証方法
KR20190129478A (ko) Ssl/tls 기반의 네트워크 보안 장치 및 방법
JP4928416B2 (ja) 公開鍵簿登録方法、公開鍵簿管理装置、プログラム及び記録媒体
JP2020077978A (ja) ブロックチェーン及びsdn等に適用する情報処理システム、情報処理方法及びプログラム
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
CN114531235B (zh) 一种端对端加密的通信方法及系统
JP4980785B2 (ja) 暗号通信装置、暗号通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120210

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4928416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350