(57)【特許請求の範囲】
【請求項１】
各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿登録方法であって、
公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を上記公開鍵簿管理装置に送信する公開鍵送信過程と、
上記公開鍵を上記公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と上記公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第１鍵共有化情報を上記公開鍵簿管理装置に送信する第１鍵共有化情報送信過程と、
上記公開鍵簿管理装置の鍵情報共有部が、上記第１鍵共有化情報を用いて上記鍵情報を抽出する第１鍵情報共有過程と、
上記公開鍵簿管理装置の送信部が、当該公開鍵簿管理装置と上記認証装置との間で上記鍵情報を共有するための暗号情報である第２鍵共有化情報を上記認証装置に送信する第２鍵共有化情報送信過程と、
上記認証装置の鍵情報共有部が、上記第２鍵共有化情報を用いて上記鍵情報を抽出する第２鍵情報共有過程と、
上記利用者装置の署名生成部が、上記公開鍵送信過程で送信された上記公開鍵に対応する秘密鍵を用い、上記第１鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、
上記利用者装置の送信部が、上記署名情報を上記公開鍵簿管理装置に送信する署名情報送信過程と、
上記公開鍵簿管理装置の署名情報検証部が、上記公開鍵送信過程で送信された上記公開鍵を用い、上記署名情報を検証する署名情報検証過程と、
上記利用者装置の認証情報暗号化部が、上記認証装置の認証を受けるための認証情報を、上記鍵情報によって復号可能な認証情報暗号化情報に暗号化する認証情報暗号化過程と、
上記利用者装置の送信部が、上記認証情報暗号化情報を上記公開鍵簿管理装置に送信する第１認証情報暗号化情報送信過程と、
上記公開鍵簿管理装置の送信部が、上記認証情報暗号化情報を上記認証装置に送信する第２認証情報暗号化情報送信過程と、
上記認証装置の認証情報復号部が、上記鍵情報を用いて上記認証情報暗号化情報を復号して上記認証情報を抽出する認証情報復号過程と、
上記認証装置の認証部が、上記認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、
上記認証装置の認証結果暗号化部が、上記認証結果を、上記鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、
上記認証装置の送信部が、上記認証結果暗号化情報を上記公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、
上記公開鍵簿管理装置の認証結果復号部が、上記鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号過程と、
上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果復号過程で抽出された上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
を有することを特徴とする公開鍵簿登録方法。
【請求項２】
各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿登録方法であって、
公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を上記公開鍵簿管理装置に送信する公開鍵送信過程と、
上記公開鍵を上記公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と上記公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第１鍵共有化情報を上記公開鍵簿管理装置に送信する第１鍵共有化情報送信過程と、
上記公開鍵簿管理装置の鍵情報共有部が、上記第１鍵共有化情報を用いて上記鍵情報を抽出する第１鍵情報共有過程と、
上記公開鍵簿管理装置の送信部が、当該公開鍵簿管理装置と上記認証装置との間で上記鍵情報を共有するための暗号情報である第２鍵共有化情報を上記認証装置に送信する第２鍵共有化情報送信過程と、
上記認証装置の鍵情報共有部が、上記第２鍵共有化情報を用いて上記鍵情報を抽出する第２鍵情報共有過程と、
上記利用者装置の署名生成部が、上記公開鍵送信過程で送信された上記公開鍵に対応する秘密鍵を用い、上記第１鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、
上記利用者装置の送信部が、上記署名情報を上記公開鍵簿管理装置に送信する署名情報送信過程と、
上記公開鍵簿管理装置の署名情報検証部が、上記公開鍵送信過程で送信された上記公開鍵を用い、上記署名情報を検証する署名情報検証過程と、
上記利用者装置の一方向性関数演算部が、上記鍵情報を含む情報に対して一方向性関数を作用させて第１ダイジェスト値を生成する一方向性関数演算過程と、
上記利用者装置の送信部が、上記第１ダイジェスト値を上記公開鍵簿管理装置に送信する第１ダイジェスト値送信過程と、
上記公開鍵簿管理装置の送信部が、上記第１ダイジェスト値を上記認証装置に送信する第２ダイジェスト値送信過程と、
上記認証装置の認証部が、上記鍵情報を含む情報に対して一方向性関数を作用させた第２ダイジェスト値を算出し、当該第２ダイジェスト値と上記第１ダイジェスト値とが一致するか否かを検証し、これらが一致する場合に検証合格である旨の認証結果を出力し、これらが一致しない場合に検証不合格である旨の認証結果を出力する認証過程と、
上記認証装置の送信部が、上記認証結果を上記公開鍵簿管理装置に送信する認証結果送信過程と、
上記認証装置の確認認証部が、上記鍵情報を含む情報に対して一方向性関数を作用させた第３ダイジェスト値を算出し、当該第３ダイジェスト値と上記第１ダイジェスト値とが一致するか否かを検証し、これらが一致する場合に認証合格である旨の確認認証結果を出力し、これらが一致しない場合に認証不合格である旨の確認認証結果を出力する確認認証過程と、
上記認証結果と上記確認認証結果とが一致する場合に、上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
を有することを特徴とする公開鍵簿登録方法。
【請求項３】
請求項１又は２に記載の公開鍵簿登録方法であって、
上記公開鍵簿登録装置の記憶部及び上記認証装置の記憶部には同一の秘密鍵が格納されており、
上記第１鍵共有化情報及び上記第２鍵共有化情報は、上記秘密鍵に対応する公開鍵を用い、上記鍵情報を特定するための秘密情報を公開鍵暗号方式によって暗号化した同一の暗号文であり、
上記第１鍵情報共有過程は、
上記秘密鍵を用いて上記第１鍵共有化情報を復号して上記秘密情報を復号し、当該秘密情報から上記鍵情報を生成する過程であり、
上記第２鍵情報共有過程は、
上記秘密鍵を用いて上記第２鍵共有化情報を復号して上記秘密情報を復号し、当該秘密情報から上記鍵情報を生成する過程である、
ことを特徴とする公開鍵簿登録方法。
【請求項４】
請求項１から３の何れかに記載の公開鍵簿登録方法であって、
上記利用者装置の乱数生成部が、第１乱数を生成する第１乱数生成過程と、
上記利用者装置の送信部が、上記第１乱数を上記公開鍵簿管理装置に送信する第１乱数送信過程と、
上記公開鍵簿管理装置の送信部が、上記第１乱数を上記認証装置に送信する第２乱数送信過程と、
上記認証装置の乱数生成部が、第２乱数を生成する第２乱数生成過程と、
上記認証装置の送信部が、上記第２乱数を上記公開鍵簿管理装置に送信する第３乱数送信過程と、
上記公開鍵簿管理装置の送信部が、上記第２乱数を上記利用者装置に送信する第４乱数送信過程と、
上記利用者装置の終了情報生成部が、上記鍵情報を用い、当該利用者装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記鍵情報を特定するための秘密情報と、に対応する情報を暗号化した第１終了情報を生成する第１終了情報生成過程と、
上記利用者装置の送信部が、上記第１終了情報を上記公開鍵簿管理装置に送信する第１終了情報送信過程と、
上記公開鍵簿管理装置の終了情報生成部が、上記鍵情報を用い、上記公開鍵簿管理装置と上記認証装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第２終了情報を生成する第２終了情報生成過程と、
上記公開鍵簿管理装置の送信部が、上記第２終了情報を上記認証装置に送信する第２終了情報送信過程と、
上記認証装置の終了情報生成部が、上記鍵情報を用い、当該公開鍵簿管理装置と上記認証装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第３終了情報を生成する第３終了情報生成過程と、
上記認証装置の送信部が、上記第３終了情報を上記公開鍵簿管理装置に送信する第３終了情報送信過程と、
上記公開鍵簿管理装置の終了情報生成部が、上記鍵情報を用い、上記利用者装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第４終了情報を生成する第４終了情報生成過程と、
上記公開鍵簿管理装置の送信部が、上記第４終了情報を上記利用者装置に送信する第４終了情報送信過程と、をさらに有し、
上記第１乱数生成過程と上記第１乱数送信過程と上記第２乱数送信過程と上記第２乱数生成過程と上記第３乱数送信過程と上記第４乱数送信過程とは、第１鍵共有化情報送信過程よりも前に実行され、
上記第１終了情報生成過程と上記第１終了情報送信過程と上記第２終了情報生成過程と上記第２終了情報送信過程と上記第３終了情報生成過程と上記第３終了情報送信過程と上記第４終了情報生成過程と上記第４終了情報送信過程とは、上記第２鍵情報共有過程よりも後であって上記認証情報暗号化過程よりも前に実行され、
上記鍵情報は、上記秘密情報と上記第１乱数と上記第２乱数とによって定まる情報であり、
上記利用者装置と上記公開鍵簿管理装置との間の通信ログ情報は、上記第１乱数と上記第２乱数とを含み、
上記公開鍵簿管理装置と上記認証装置との間の通信ログ情報は、上記第１乱数と上記第２乱数とを含む、
ことを特徴とする公開鍵簿登録方法。
【請求項５】
請求項４に記載の鍵情報設定方法であって、
上記第４終了情報送信過程の後に、上記利用者装置の送信部が送信開始要求情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が当該送信開始要求情報を上記認証装置に送信し、上記認証装置の送信部が送信開始応答情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が当該送信開始応答情報を上記利用者装置に送信する再接続開始過程と、
上記利用者装置の終了情報生成部が、上記秘密情報によって定まる鍵情報を用い、上記再接続開始過程以後の当該利用者装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第５終了情報を生成する第５終了情報生成過程と、
上記利用者装置の送信部が上記第５終了情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が上記第５終了情報を上記認証装置に送信する第５終了情報送信過程と、
上記認証装置の終了情報生成部が、上記秘密情報によって定まる鍵情報を用い、上記再接続開始過程以後の当該認証装置と上記公開鍵簿管理装置との間の通信ログ情報と、上記秘密情報と、に対応する情報を暗号化した第６終了情報を生成する第６終了情報生成過程と、
上記認証装置の送信部が上記第６終了情報を上記公開鍵簿管理装置に送信し、上記公開鍵簿管理装置の送信部が上記第６終了情報を上記利用者装置に送信する第６終了情報送信過程と、を有し、
上記認証情報暗号化過程及び上記認証結果暗号化過程は、上記鍵情報を用い、上記第５終了情報及び／若しくは上記第６終了情報をイニシャルベクトルとしたブロック暗号方式によって暗号化を行う過程であり、
上記認証情報復号過程及び上記認証結果復号過程は、上記鍵情報を用い、上記第５終了情報及び／若しくは上記第６終了情報をイニシャルベクトルとしたブロック暗号方式によって復号を行う過程であり、
上記認証情報暗号化過程で使用されるイニシャルベクトルと、上記認証情報復号過程で使用されるイニシャルベクトルとは同値であり、
上記認証結果暗号化過程で使用されるイニシャルベクトルと、上記認証結果復号過程で使用されるイニシャルベクトルとは同値である、
ことを特徴とする公開鍵簿登録方法。
【請求項６】
各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿登録方法であって、
公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を上記公開鍵簿管理装置に送信する公開鍵送信過程と、
上記公開鍵を上記公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と上記公開鍵簿管理装置との間で第１鍵情報を共有するための暗号情報である第１鍵共有化情報を、上記公開鍵簿管理装置に送信する第１鍵共有化情報送信過程と、
上記公開鍵簿管理装置の鍵情報共有部が、上記第１鍵共有化情報を用いて上記第１鍵情報を抽出する第１鍵情報共有過程と、
上記公開鍵簿管理装置の送信部が、第２鍵情報を当該公開鍵簿管理装置と上記認証装置との間で共有するための暗号情報である第２鍵共有化情報を、上記認証装置に送信する第２鍵共有化情報送信過程と、
上記認証装置の鍵情報共有部が、上記第２鍵共有化情報を用いて上記第２鍵情報を抽出する第２鍵情報共有過程と、
上記利用者装置の署名生成部が、上記公開鍵送信過程で送信された上記公開鍵に対応する秘密鍵を用い、上記第１鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、
上記利用者装置の送信部が、上記署名情報を上記公開鍵簿管理装置に送信する署名情報送信過程と、
上記公開鍵簿管理装置の署名情報検証部が、上記公開鍵送信過程で送信された上記公開鍵を用い、上記署名情報を検証する署名情報検証過程と、
上記第１鍵情報と上記第２鍵情報とを相互に関連付けて上記公開鍵簿管理装置の記憶部に格納する鍵情報関連付け過程と、
上記利用者装置の認証情報暗号化部が、上記認証装置の認証を受けるための認証情報を、上記第１鍵情報によって復号可能な第１認証情報暗号化情報に暗号化する第１認証情報暗号化過程と、
上記利用者装置の送信部が、上記第１認証情報暗号化情報を上記公開鍵簿管理装置に送信する第１認証情報暗号化情報送信過程と、
上記公開鍵簿管理装置の認証情報復号部が、上記第１鍵情報を用いて上記第１認証情報暗号化情報を復号して上記認証情報を抽出する第１認証情報復号過程と、
上記公開鍵簿管理装置の認証情報暗号化部が、上記認証情報を、上記第２鍵情報によって復号可能な第２認証情報暗号化情報に暗号化する第２認証情報暗号化過程と、
上記公開鍵簿管理装置の送信部が、上記第２認証情報暗号化情報を上記認証装置に送信する第２認証情報暗号化情報送信過程と、
上記認証装置の認証情報復号部が、上記第２鍵情報を用いて上記第２認証情報暗号化情報を復号して上記認証情報を抽出する第２認証情報復号過程と、
上記認証装置の認証部が、上記認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、
上記認証装置の認証結果暗号化部が、上記認証結果を、上記第２鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、
上記認証装置の送信部が、上記認証結果暗号化情報を上記公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、
上記公開鍵簿管理装置の認証結果復号部が、上記第２鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号過程と、
上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果復号過程で抽出された上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
を有することを特徴とする公開鍵簿登録方法。
【請求項７】
利用者装置によって提供された各公開鍵と、当該各公開鍵の認証装置による認証結果と、を対応付けた公開鍵簿を格納して公開する公開鍵簿管理装置であって、
利用者装置から送信された公開鍵を受信する第１受信部と、
上記公開鍵を送信した上記利用者装置との間で鍵情報を共有するための暗号情報である第１鍵共有化情報を、上記利用者装置から受信する第２受信部と、
上記第１鍵共有化情報を用いて上記鍵情報を抽出する鍵情報共有部と、
上記認証装置との間で上記鍵情報を共有するための暗号情報である第２鍵共有化情報を上記認証装置に送信する第１送信部と、
上記公開鍵に対応する秘密鍵を用いて上記第１鍵共有化情報を含む情報に対して生成された署名情報を、上記利用者装置から受信する第２受信部と、
上記第１受信部で受信された上記公開鍵を用い、上記署名情報を検証する署名情報検証部と、
上記利用者装置が上記認証装置から認証を受けるための認証情報を上記鍵情報によって復号可能に暗号化した認証情報暗号化情報を、上記利用者装置から受信する第３受信部と、
上記認証情報暗号化情報を上記認証装置に送信する第２送信部と、
上記認証情報に対する認証結果を上記鍵情報によって復号可能に暗号化した認証結果暗号化情報を、上記認証装置から受信する第４受信部と、
上記鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号部と、
上記公開鍵と上記認証結果とを対応付けた情報を上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成部と、
を有することを特徴とする公開鍵簿管理装置。
【請求項８】
利用者装置によって提供された各公開鍵と、当該各公開鍵の認証装置による認証結果と、を対応付けた公開鍵簿を格納して公開する公開鍵簿管理装置であって、
利用者装置から送信された公開鍵を受信する第１受信部と、
上記公開鍵を送信した上記利用者装置との間で鍵情報を共有するための暗号情報である第１鍵共有化情報を、上記利用者装置から受信する第２受信部と、
上記第１鍵共有化情報を用いて上記鍵情報を抽出する鍵情報共有部と、
上記認証装置との間で上記鍵情報を共有するための暗号情報である第２鍵共有化情報を上記認証装置に送信する第１送信部と、
上記公開鍵に対応する秘密鍵を用いて上記第１鍵共有化情報を含む情報に対して生成された署名情報を、上記利用者装置から受信する第２受信部と、
上記第１受信部で受信された上記公開鍵を用い、上記署名情報を検証する署名情報検証部と、
上記認証結果と上記確認認証結果とが一致する場合に、上記公開鍵簿管理装置の公開鍵簿生成部が、上記公開鍵送信過程で送信された上記公開鍵と、上記認証結果とを対応付けた情報を、上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程と、
上記鍵情報を含む情報に対して一方向性関数を作用させて第１ダイジェスト値を、上記利用者装置から受信する第３受信部と、
上記第１ダイジェスト値を上記認証装置に送信する第２送信部と、
上記第１ダイジェスト値に対する認証結果を上記認証装置から受信する第４受信部と、
上記鍵情報を含む情報に対して一方向性関数を作用させた第３ダイジェスト値を算出し、当該第３ダイジェスト値と上記第１ダイジェスト値とが一致するか否かを検証し、これらが一致する場合に認証合格である旨の確認認証結果を出力し、これらが一致しない場合に認証不合格である旨の確認認証結果を出力する確認認証部と、
上記認証結果と上記確認認証結果とが一致する場合に、上記公開鍵と上記認証結果とを対応付けた情報を上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成部と、
を有することを特徴とする公開鍵簿管理装置。
【請求項９】
利用者装置によって提供された各公開鍵と、当該各公開鍵の認証装置による認証結果と、を対応付けた公開鍵簿を格納して公開する公開鍵簿管理装置であって、
利用者装置から送信された公開鍵を受信する第１受信部と、
上記公開鍵を送信した上記利用者装置との間で第１鍵情報を共有するための暗号情報である第１鍵共有化情報を、上記利用者装置から受信する第２受信部と、
上記第１鍵共有化情報を用いて上記第１鍵情報を抽出する鍵情報共有部と、
第２鍵情報を上記認証装置との間で共有するための暗号情報である第２鍵共有化情報を、上記認証装置に送信する第１送信部と、
上記公開鍵に対応する秘密鍵を用いて上記第１鍵共有化情報を含む情報に対して生成された署名情報を、上記利用者装置から受信する第２受信部と、
上記第１受信部で受信された上記公開鍵を用い、上記署名情報を検証する署名情報検証部と、
前記第１鍵情報と前記第２鍵情報とを相互に関連付けて格納する記憶部と、
上記利用者装置が上記認証装置から認証を受けるための認証情報を上記第１鍵情報によって復号可能に暗号化した認証情報暗号化情報を、上記利用者装置から受信する第３受信部と、
上記第１鍵情報を用いて上記第１認証情報暗号化情報を復号して上記認証情報を抽出する認証情報復号部と、
上記認証情報を、上記第２鍵情報によって復号可能な第２認証情報暗号化情報に暗号化する認証情報暗号化部と、
上記第２認証情報暗号化情報を上記認証装置に送信する第２送信部と、
上記認証情報に対する認証結果を上記第２鍵情報によって復号可能に暗号化した認証結果暗号化情報を、上記認証装置から受信する第４受信部と、
上記第２鍵情報を用いて上記認証結果暗号化情報を復号して上記認証結果を抽出する認証結果復号部と、
上記公開鍵と上記認証結果とを対応付けた情報を上記公開鍵簿の一部として記憶部に格納する公開鍵簿生成部と、
を有することを特徴とする公開鍵簿管理装置。
【請求項１０】
請求項７から９の何れかに記載の公開鍵簿管理装置としてコンピュータを機能させるためのプログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する技術に関する。
【背景技術】
【０００２】
信頼できる第三者機関（TTP: Trusted Third Party）が管理する認証装置（認証サーバ）が任意の認証結果と公開鍵を対応付けた表（公開鍵簿）を作成し、公開することによって、複数の通信装置が公開鍵を簡易に導入／利用できるようにする技術がある。
【０００３】
図１（ａ）は、認証装置（認証サーバ）が任意の認証結果と公開鍵を対応付けた表（公開鍵簿）を作成し、公開することによって、複数の通信装置が公開鍵を簡易に導入／利用できるようにする技術を説明するための図である。
【０００４】
この技術では、(1)まず、公開鍵と秘密鍵の鍵ペアを保持する利用者装置が認証装置に対して公開鍵の認証を求め、認証装置が任意の認証方法によって当該公開鍵と利用者装置との対応関係の正当性を認証する。(2)次に、認証装置がその認証結果と当該公開鍵とを対応付けた表である公開鍵簿を作成して公開する。(3)その後、利用者装置が他の通信装置と公開鍵及び秘密鍵の鍵ペアを用いた通信処理（ＳＳＬクライアント認証、暗号化電子メール通信、署名検証等）を行う。(4)この際、当該他の通信装置は認証装置から当該公開鍵と利用者装置との対応関係の正当性に関する認証結果の通知を受ける。これにより、当該他の通信装置は、公開鍵と利用者装置との対応付けを信用し、上述の公開鍵を用いた通信処理を実行することができる。
【０００５】
また、このような技術の応用として、認証装置から公開鍵簿管理機能を分離し、この公開鍵簿管理機能を別の公開鍵簿管理装置（拡張サーバ）に実装する技術がある（例えば、非特許文献１参照）。なお、公開鍵簿管理機能とは、公開鍵と認証結果の組み合わせを保持する機能と、問い合わせに対して公開鍵と認証結果の組み合わせ通知する機能とを意味する。
【０００６】
図１（ｂ）は、認証装置から公開鍵簿管理機能を分離し、この公開鍵簿管理機能を別の公開鍵簿管理装置（拡張サーバ）に実装した技術を説明するための図である。
【０００７】
非特許文献１の技術では、(1)まず、公開鍵と秘密鍵の鍵ペアを保持する利用者装置が認証装置に対して公開鍵の認証を求め、認証装置が任意の認証方法によって当該公開鍵と利用者装置との対応関係の正当性を認証する。(2)認証装置は当該認証結果を利用者装置に送信し、利用者装置は、その認証結果と対応する公開鍵を公開鍵簿管理装置に転送する。(3)公開鍵簿管理装置は、転送された認証結果と公開鍵とを対応付けた表である公開鍵簿を作成して公開する。(4)その後、利用者装置が他の通信装置と公開鍵及び秘密鍵の鍵ペアを用いた通信処理を行う。(5)この際、当該他の通信装置は公開鍵簿管理装置から当該公開鍵と利用者装置との対応関係の正当性に関する認証結果の通知を受ける。
【非特許文献１】Scott Cantor, 外４名, “Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0”，pp.15-20, "3.4 HTTP Redirect Binding", [online]，２００５年３月１５日，OASIS，[平成１９年１１月５日検索]，インターネット＜http://docs.oasis-open.org/security/saml/v2.0/saml-bindings-2.0-os.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、公開鍵簿管理機能を認証装置とは別の公開鍵簿管理装置に実装する従来方式の場合、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される仕組みになっておらず、セキュリティ上の問題がある。
【０００９】
すなわち、この方式では、認証装置が認証結果を利用者装置に送信し、利用者装置がその認証結果と対応する公開鍵を公開鍵簿管理装置に転送するが、この転送過程に攻撃者が介在して不正を行う可能性がある。例えば、利用者装置が認証結果と公開鍵を公開鍵簿管理装置に転送する過程に介在した攻撃者が、利用者装置の公開鍵を攻撃者の公開鍵に置換したり、認証結果を改ざんしたりして公開鍵簿管理装置に転送する攻撃が考えられる。
【００１０】
本発明はこのような点に鑑みてなされたものであり、各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿管理技術において、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とを保証し、安全性を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
第１の本発明では、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信する公開鍵送信過程と、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第１鍵共有化情報を公開鍵簿管理装置に送信する第１鍵共有化情報送信過程と、公開鍵簿管理装置の鍵情報共有部が、第１鍵共有化情報を用いて鍵情報を抽出する第１鍵情報共有過程と、公開鍵簿管理装置の送信部が、当該公開鍵簿管理装置と認証装置との間で鍵情報を共有するための暗号情報である第２鍵共有化情報を認証装置に送信する第２鍵共有化情報送信過程と、認証装置の鍵情報共有部が、第２鍵共有化情報を用いて鍵情報を抽出する第２鍵情報共有過程と、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第１鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、利用者装置の送信部が、署名情報を公開鍵簿管理装置に送信する署名情報送信過程と、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証する署名情報検証過程と、利用者装置の認証情報暗号化部が、認証装置の認証を受けるための認証情報を、鍵情報によって復号可能な認証情報暗号化情報に暗号化する認証情報暗号化過程と、利用者装置の送信部が、認証情報暗号化情報を公開鍵簿管理装置に送信する第１認証情報暗号化情報送信過程と、公開鍵簿管理装置の送信部が、認証情報暗号化情報を認証装置に送信する第２認証情報暗号化情報送信過程と、認証装置の認証情報復号部が、鍵情報を用いて認証情報暗号化情報を復号して認証情報を抽出する認証情報復号過程と、認証装置の認証部が、認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、認証装置の認証結果暗号化部が、認証結果を、鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、認証装置の送信部が、認証結果暗号化情報を公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、公開鍵簿管理装置の認証結果復号部が、鍵情報を用いて認証結果暗号化情報を復号して認証結果を抽出する認証結果復号過程と、公開鍵簿管理装置の公開鍵簿生成部が、公開鍵送信過程で送信された公開鍵と、認証結果復号過程で抽出された認証結果とを対応付けた情報を、公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程とを実行する。
【００１２】
ここで、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信し（公開鍵送信過程）、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で鍵情報を共有するための暗号情報である第１鍵共有化情報を公開鍵簿管理装置に送信（第１鍵共有化情報送信過程）した後に、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第１鍵共有化情報を含む情報に対する署名情報を生成し（署名情報生成過程）、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証している（署名情報検証過程）。これにより、公開鍵簿管理装置は、公開鍵を送信してきた利用者装置が確かに対応する秘密鍵を所持していること、及び、その利用者装置との間で鍵情報を共有することを確認できる。また、公開鍵簿管理装置は、認証処理が、公開鍵を提供した利用者装置と公開鍵簿管理装置と認証装置との間で共有化された鍵情報で復号可能な暗号通信で行われたことをもって、当該認証結果が公開鍵を提供した利用者装置に対応するものであることを確認できる。以上により、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される。
【００１３】
また、第２の本発明では、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信する公開鍵送信過程と、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で第１鍵情報を共有するための暗号情報である第１鍵共有化情報を、公開鍵簿管理装置に送信する第１鍵共有化情報送信過程と、公開鍵簿管理装置の鍵情報共有部が、第１鍵共有化情報を用いて第１鍵情報を抽出する第１鍵情報共有過程と、公開鍵簿管理装置の送信部が、第１鍵情報に対応付けられた第２鍵情報を当該公開鍵簿管理装置と認証装置との間で共有するための暗号情報である第２鍵共有化情報を、認証装置に送信する第２鍵共有化情報送信過程と、認証装置の鍵情報共有部が、第２鍵共有化情報を用いて第２鍵情報を抽出する第２鍵情報共有過程と、第１鍵情報と第２鍵情報とを相互に関連付けて公開鍵簿管理装置の記憶部に格納する鍵情報関連付け過程と、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第１鍵共有化情報を含む情報に対する署名情報を生成する署名情報生成過程と、利用者装置の送信部が、署名情報を公開鍵簿管理装置に送信する署名情報送信過程と、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証する署名情報検証過程と、利用者装置の認証情報暗号化部が、認証装置の認証を受けるための認証情報を、第１鍵情報によって復号可能な第１認証情報暗号化情報に暗号化する第１認証情報暗号化過程と、利用者装置の送信部が、第１認証情報暗号化情報を公開鍵簿管理装置に送信する第１認証情報暗号化情報送信過程と、公開鍵簿管理装置の認証情報復号部が、第１鍵情報を用いて第１認証情報暗号化情報を復号して認証情報を抽出する第１認証情報復号過程と、公開鍵簿管理装置の認証情報暗号化部が、認証情報を、第２鍵情報によって復号可能な第２認証情報暗号化情報に暗号化する第２認証情報暗号化過程と、公開鍵簿管理装置の送信部が、第２認証情報暗号化情報を認証装置に送信する第２認証情報暗号化情報送信過程と、認証装置の認証情報復号部が、第２鍵情報を用いて第２認証情報暗号化情報を復号して認証情報を抽出する第２認証情報復号過程と、認証装置の認証部が、認証情報を用いて認証処理を行い、その認証結果を出力する認証過程と、認証装置の認証結果暗号化部が、認証結果を、第２鍵情報によって復号可能な認証結果暗号化情報に暗号化する認証結果暗号化過程と、認証装置の送信部が、認証結果暗号化情報を公開鍵簿管理装置に送信する認証結果暗号化情報送信過程と、公開鍵簿管理装置の認証結果復号部が、第２鍵情報を用いて認証結果暗号化情報を復号して認証結果を抽出する認証結果復号過程と、公開鍵簿管理装置の公開鍵簿生成部が、公開鍵送信過程で送信された公開鍵と、認証結果復号過程で抽出された認証結果とを対応付けた情報を、公開鍵簿の一部として記憶部に格納する公開鍵簿生成過程とを実行する。
【００１４】
ここで、公開鍵の登録を依頼する利用者装置の送信部が、当該公開鍵を公開鍵簿管理装置に送信し（公開鍵送信過程）、公開鍵を公開鍵簿管理装置に送信した利用者装置の送信部が、当該利用者装置と公開鍵簿管理装置との間で第１鍵情報を共有するための暗号情報である第１鍵共有化情報を公開鍵簿管理装置に送信（第１鍵共有化情報送信過程）した後に、利用者装置の署名生成部が、公開鍵送信過程で送信された公開鍵に対応する秘密鍵を用い、第１鍵共有化情報を含む情報に対する署名情報を生成し（署名情報生成過程）、公開鍵簿管理装置の署名情報検証部が、公開鍵送信過程で送信された公開鍵を用い、署名情報を検証している（署名情報検証過程）。さらに、公開鍵簿管理装置の送信部が、第１鍵情報に対応付けられた第２鍵情報を当該公開鍵簿管理装置と認証装置との間で共有するための暗号情報である第２鍵共有化情報を、認証装置に送信している（第２鍵共有化情報送信過程）。これらにより、公開鍵簿管理装置は、公開鍵を送信してきた利用者装置が確かに対応する秘密鍵を所持していること、及び、その利用者装置との間で第１鍵情報を共有し、認証装置との間で第２鍵情報を共有することを確認できる。また、公開鍵簿管理装置は、認証処理が、公開鍵を提供した利用者装置と公開鍵簿管理装置と認証装置との間で共有化された第１鍵情報又はそれに関連付けられた第２鍵情報で復号可能な暗号通信路内で行われたことをもって、当該認証結果が公開鍵を提供した利用者装置に対応するものであることを確認できる。以上により、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される。
【発明の効果】
【００１５】
以上のように、本発明では、各利用者装置が公開鍵の登録を依頼し、認証装置が各公開鍵の認証を行い、公開鍵簿管理装置が各公開鍵と各認証結果とを関連付けた公開鍵簿を格納して公開する公開鍵簿管理技術において、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とを保証でき、安全性を向上させることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を実施するための最良の形態を図面を参照して説明する。
【００１７】
〔第１実施形態〕
まず、第１の本発明の実施形態である第１実施形態について説明する。
＜構成＞
［全体構成］
図２は、第１実施形態の公開鍵簿登録システム１の全体構成を説明するためのブロック図である。
図２に例示するように、本形態の公開鍵簿登録システム１は、利用者装置１０（例えば、クライアント装置）と、認証装置２０（例えば、認証サーバ装置）と、公開鍵簿管理装置３０（例えば、拡張サーバ装置）と、通信装置６０（例えば、サービスサーバ装置）とを有する。また、利用者装置１０と公開鍵簿管理装置３０とは、ネットワーク４０を通じて通信可能に接続され、認証装置２０と公開鍵簿管理装置３０とは、ネットワーク５０を通じて通信可能に接続される。また、通信装置６０は、ネットワーク４０を通じて利用者装置１０及び公開鍵簿管理装置３０と通信可能に接続される。なお、ネットワーク４０，５０は、例えば、インターネットやＬＡＮ（Local Area Network）等である。
【００１８】
なお、本形態の利用者装置１０と認証装置２０とは、二装置間での認証処理と、暗号技術を用いた当該二装置間での共通鍵の配送処理と、当該共通鍵を特定するための秘密情報及び当該二装置間の通信ログ情報を用いて当該共通鍵の設定過程の正当性を確認する処理と、を含むプロトコル（例えば、SSLやTLSやそれらの拡張等）に従いつつ、本形態独自の処理を行う装置である。
なお、SSLやTLSやそれらの拡張
【００１９】
プロトコルについては、例えば、「T .Dierks，C. Akken，“The TLS Protocol Version 1.0”，[online]，１９９９年１月，Network Working Group，[平成１９年１０月２４日検索]，インターネット＜http://www.ietf.org/rfc/rfc2246.txt＞」、「“SSL & TLS”，[online]，２００７年５月２日， [平成１９年１０月２６日検索]，インターネット＜http://www21.ocn.ne.jp/~k-west/SSLandTLS/＞」、「丸山 龍一郎，”リモートアクセスの新潮流SSL-VPNの導入メリット（前編）”，[online]，平成１５年９月１３日，アイティメディア株式会社，[平成１９年１０月２４日検索] ，インターネット＜http://www.atmarkit.co.jp/fsecurity/special/42ssl_vpn/ssl_vpn01.html＞」等参照。
【００２０】
また、説明を簡略化するため、図２では、１つの利用者装置１０と認証装置２０とが公開鍵簿管理装置３０と通信可能に接続されているが、２以上の利用者装置１０と認証装置２０とが公開鍵簿管理装置３０と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置３０を設けた構成であってもよく、複数の通信装置６０を設けた構成であってもよい。
【００２１】
［利用者装置］
本形態の利用者装置１０は、ＣＰＵ(Central Processing Unit)、ＲＡＭ(Random-Access Memory)、ＲＯＭ(Read Only Memory)、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【００２２】
図３は、第１実施形態の利用者装置１０の機能構成を説明するためのブロック図である。
図３に例示するように、本形態の利用者装置１０は、記憶部１１、演算部１２、送信部１３、受信部１４、制御部１５、一時記憶部１６、入力部１７及び出力部１８を有する。また、演算部１２は、乱数生成部１２ａ、秘密情報設定部１２ｂ、公開鍵暗号化部１２ｃ、署名生成部１２ｄ、共通鍵生成部１２ｅ、終了情報生成部１２ｆ、終了情報検証部１２ｇ、通信処理部１２ｈ、認証情報暗号化部１２ｉ及び認証結果復号部１２ｊを有する。
【００２３】
なお、本形態の演算部１２や制御部１５は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部であり、記憶部１１や一時記憶部１６は、ＲＡＭ、レジスタ、キャッシュメモリ、ハードディスク装置等の公知の記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。また、送信部１３や受信部１４は、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動するＬＡＮカード、モデム等の通信装置である。また、利用者装置を構成するハードウェアの具体例としては、パーソナルコンピュータ、携帯電話、ＰＤＡ（Personal Digital Assistant）等がある。
【００２４】
また、利用者装置１０は、制御部１５の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部１６に格納され、他の演算のために読み出される。
【００２５】
［認証装置］
本形態の認証装置２０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【００２６】
図４は、第１実施形態の認証装置２０の機能構成を説明するためのブロック図である。
図４に例示するように、本形態の認証装置２０は、記憶部２１、演算部２２、送信部２３、受信部２４、制御部２５及び一時記憶部２６を有する。また、演算部２２は、乱数生成部２２ａ、復号部２２ｃ（「鍵情報共有部」を構成）、共通鍵生成部２２ｅ（「鍵情報共有部」を構成）、終了情報生成部２２ｆ、終了情報検証部２２ｇ、通信処理部２２ｈ、認証情報復号部２２ｉ、認証部２２ｊ及び認証結果暗号化部２２ｋを有する。
【００２７】
なお、本形態の演算部２２や制御部２５は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部であり、記憶部２１や一時記憶部２６は、ＲＡＭ、レジスタ、キャッシュメモリ、ハードディスク装置等の公知の記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。また、送信部２３や受信部２４は、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動するＬＡＮカード、モデム等の通信装置である。また、認証装置を構成するハードウェアの具体例としては、サーバマシン、パーソナルコンピュータ等がある。
【００２８】
また、認証装置２０は、制御部２５の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部２６に格納され、他の演算のために読み出される。
【００２９】
［公開鍵簿管理装置］
本形態の公開鍵簿管理装置３０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【００３０】
図５は、第１実施形態の公開鍵簿管理装置３０の機能構成を説明するためのブロック図である。
図５に例示するように、本形態の公開鍵簿管理装置３０は、記憶部３１，３７、演算部３２、送信部３３、受信部３４、制御部３５及び一時記憶部３６を有する。また、演算部３２は、暗号リスト制限部３２ａ、復号部３２ｂ（「鍵情報共有部」を構成）、署名情報検証部３２ｃ、共通鍵生成部３２ｅ（「鍵情報共有部」を構成）、終了情報生成部３２ｆ、終了情報検証部３２ｇ、通信処理部３２ｈ、認証情報復号部３２ｉ、認証結果復号部３２ｊ、公開鍵簿生成部３２ｋ及び検索部３２ｍを有する。
【００３１】
なお、本形態の演算部３２や制御部３５は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部であり、記憶部３１，３７や一時記憶部３６は、ＲＡＭ、レジスタ、キャッシュメモリ、ハードディスク装置等の公知の記憶装置、又は、これらの少なくとも一部を組み合わせた記憶領域である。また、送信部３３や受信部３４は、所定のプログラムが読み込まれたＣＰＵの制御のもと駆動するＬＡＮカード、モデム等の通信装置である。また、公開鍵簿管理装置を構成するハードウェアの具体例としては、ゲートウェイマシン、サーバマシン、パーソナルコンピュータ等がある。
【００３２】
また、公開鍵簿管理装置３０は、制御部３５の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部３６に格納され、他の演算のために読み出される。
【００３３】
＜処理＞
次に、本形態の処理を説明する。
［前提］
まず、利用者装置１０と認証装置２０とに対し、それぞれ公開鍵暗号方式（ＲＳＡ等）の鍵ペア（公開鍵，秘密鍵）が生成されているものとする。なお、鍵ペアは複数の暗号方式分生成されてもよい。そして、利用者装置１０の秘密鍵SKcが利用者装置１０の記憶部１１に格納され、認証装置２０の秘密鍵SKsが認証装置２０の記憶部２１に格納されているものとする。また、各公開鍵には、認証局（CA: Certificate Authority）によって公開鍵証明書が発行され、利用者装置１０の公開鍵PKcの公開鍵証明書Ccが利用者装置１０の記憶部１１に格納され、認証装置２０の公開鍵PKsの公開鍵証明書Csが認証装置２０の記憶部２１に格納されているものとする。なお、公開鍵証明書Ccは、認証局の秘密鍵を用いて生成された利用者装置１０の公開鍵PKcに対する電子署名であり、当該公開鍵PKcを含む情報である。同様に、公開鍵証明書Csは、認証局の秘密鍵を用いて生成された認証装置２０の公開鍵PKsに対する電子署名であり、当該公開鍵PKsを含む情報である。公開鍵証明書Ccは、利用者装置１０の記憶部１１に格納され、公開鍵証明書Csは、認証装置２０の記憶部２１に格納される。また、公開鍵証明書の標準規格としてはX.509等を例示できる。また、利用者装置１０の記憶部１１には、秘密情報を２つの装置間で共有するための暗号方式のリストである暗号リストCSLが格納される。これは、ＴＬＳ等におけるcipher suiteに相当し、RSA系の暗号方式とDH (Diffie-Hellman)系の暗号方式とを含むリストである。
【００３４】
［処理の全体］
図６及び図７は、第１実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
【００３５】
まず、認証装置２０（図４）の秘密鍵SKsが公開鍵簿管理装置３０の記憶部３１に格納される（秘密鍵共有過程／ステップＳ１）。なお、鍵ペアが複数の暗号方式分生成されている場合には、各暗号方式にそれぞれ対応する秘密鍵SKsを記憶部３１に格納しておく。また、認証装置２０から公開鍵簿管理装置３０への秘密鍵SKsの提供は、例えば、認証装置２０の管理者が、秘密鍵SKsが格納されたＩＣカード等の記録媒体を公開鍵簿管理装置３０の管理者に郵送して行ってもよいし、認証技術や暗号技術を用いた鍵共有化処理により、認証装置２０が公開鍵簿管理装置３０に秘密鍵SKsを安全に配送してもよい。
【００３６】
次に、利用者装置１０（図３）の乱数生成部１２ａが、乱数R1（第１乱数）を生成し（第１乱数生成過程）、記憶部１１に格納する。そして、通信処理部１２ｈが、記憶部１１から乱数R1（第１乱数）及び暗号リストCSLを読み込み、これらを含む情報（ClientHelloメッセージ）を生成して送信部１３に送る。送信部１３は、乱数R1及び暗号リストCSLを含むClientHelloメッセージをネットワーク４０経由で公開鍵簿管理装置３０に送信する（第１乱数送信過程／ステップＳ２）。
【００３７】
ClientHelloメッセージは、公開鍵簿管理装置３０（図５）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、ClientHelloメッセージが具備する乱数R1（第１乱数）を記憶部３１に格納するとともに、暗号リストCSLを暗号リスト制限部３２ａに送る。暗号リスト制限部３２ａは、暗号リストCSLが具備する暗号方式から、一方の装置において秘密情報を公開鍵暗号方式によって暗号化し、当該暗号文を他の装置に送信し、当該他の装置において当該暗号文を復号することによって両装置間で秘密情報を共有する暗号方式のみを選択し、選択した暗号方式のみからなる新たな暗号リストCLS'を生成する。ＴＬＳ等の場合、暗号リスト制限部３２ａは、CSLが具備する暗号方式から、RSA系の暗号方式のみを選択し、RSA系の暗号方式のみからなる新たな暗号リストCLS'を生成して記憶部３１に格納する（ステップＳ３）。
【００３８】
次に、通信処理部３２ｈは、記憶部３１から乱数R1及び新たな暗号リストCSL'を読み込み、これらを含む情報（ClientHelloメッセージ）を生成して送信部３３に送る。送信部３３は、乱数R1及び新たな暗号リストCSL'を含むClientHelloメッセージをネットワーク５０経由で認証装置２０に送信する（第２乱数送信過程／ステップＳ４）。
【００３９】
乱数R1及び新たな暗号リストCSL'を含むClientHelloメッセージは、認証装置２０（図４）の受信部２４で受信され通信処理部２２ｈに送られる。通信処理部２２ｈは、ClientHelloメッセージが含む乱数R1及び新たな暗号リストCSL'を記憶部２１に格納する。次に、認証装置２０の乱数生成部２２ａが、乱数R2（第２乱数）を生成し（第２乱数生成過程）、記憶部２１に格納する。また、通信処理部２２ｈは、記憶部２１に格納された暗号リストCSL'から、秘密鍵SKsが記憶部２１に格納されている１つの暗号方式Cを選択し、それを記憶部２１に格納する。さらに通信処理部２２ｈは、記憶部２１から当該暗号方式Cと乱数R2とを読み込み、これらを含む情報（ServerHelloメッセージ）を生成して送信部２３に送る。なお、暗号方式Cは、ＴＬＳ等におけるcipher suiteに相当し、本形態ではＲＳＡ系の何れかの暗号方式が暗号方式Ｃとなる。送信部２３は、乱数R2及び暗号方式Cを含むServertHelloメッセージをネットワーク５０経由で公開鍵簿管理装置３０に送信する（第３乱数送信過程／ステップＳ５）。
【００４０】
ServertHelloメッセージは、公開鍵簿管理装置３０（図５）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、ServertHelloメッセージが具備する乱数R2（第２乱数）と暗号方式Cとを記憶部３１に格納するとともに（ステップＳ６）、当該ServertHelloメッセージを送信部３３に送る。送信部３３は、乱数R2及び暗号方式Cを含む当該ServertHelloメッセージをネットワーク４０経由で利用者装置１０に送信する（第４乱数送信過程／ステップＳ７）。ServertHelloメッセージは、利用者装置１０（図３）の受信部１４で受信され、通信処理部１２ｈに送られる。通信処理部１２ｈは、ServertHelloメッセージが具備する乱数R2（第２乱数）と暗号方式Cとを記憶部１１に格納する。
【００４１】
次に、認証装置２０（図４）の通信処理部２２ｈが記憶部２１に格納された暗号方式Cに対応する公開鍵PKsの公開鍵証明書Csを読み込み、これを含む情報（ServerCertificateメッセージ）を送信部２３に送る。送信部２３は、当該認証装置２０の公開鍵証明書Csを、ネットワーク５０経由で公開鍵簿管理装置３０に送信する（ステップＳ８）。当該認証装置２０の公開鍵証明書Csは、公開鍵簿管理装置３０（図５）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、認証装置２０の公開鍵証明書Csを記憶部３１に格納するとともに、これを送信部３３に送る。送信部３３は、認証装置２０の公開鍵証明書Csをネットワーク４０経由で利用者装置１０に送信する（ステップＳ９）。送信された認証装置２０の公開鍵証明書Csは、利用者装置１０（図３）の受信部１４で受信され、通信処理部１２ｈに送られる。通信処理部１２ｈは、当該認証装置２０の公開鍵証明書Csを記憶部１１に格納する（ステップＳ１０）。
【００４２】
そして、認証装置２０がServerKeyExchange，CertificateRequest，ServerHelloDoneのメッセージを利用者装置１０に送信した後、利用者装置１０の通信処理部１２ｈが、記憶部１１に格納された暗号方式Cに対応する公開鍵PKcの公開鍵証明書Ccを読み込み、これを含む情報（ClientCertificateメッセージ）を送信部１３に送る。送信部１３は、当該利用者装置１０の公開鍵証明書Cc（利用者装置１０の公開鍵PKcを含む）を、ネットワーク４０経由で公開鍵簿管理装置３０に送信する。当該利用者装置１０の公開鍵証明書Ccは、公開鍵簿管理装置３０（図５）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、利用者装置１０の公開鍵証明書Ccを記憶部３１に格納する（公開鍵送信過程／ステップＳ１１）。
【００４３】
次に、利用者装置１０（図３）の秘密情報設定部１２ｂが、共通鍵MS（master secret）（「鍵情報」に相当）を特定するための秘密情報PMS（premaster secret）を設定し、それを記憶部１１に格納する。なお、秘密情報PMSの設定は、例えは、秘密情報設定部１２ｂが乱数を生成し、それを秘密情報PMSとすることによって行われる。
【００４４】
次に、利用者装置１０（図３）の共通鍵生成部１２ｅが、記憶部１１から秘密情報PMSを読み込み、当該秘密情報PMSによって定まる共通鍵MSを生成して記憶部１１に格納する。共通鍵MSは、例えば、乱数R1（第１乱数）と乱数R2（第２乱数）と秘密情報PMSとによって定まる情報である。ＴＬＳ等では、共通鍵生成部１２ｅが、記憶部１１から秘密情報PMSと乱数R1（第１乱数）と乱数R2（第２乱数）とを読み込み、これらと定数とのビット結合値のハッシュ値を共通鍵MS (master secret)として生成する。なお、利用者装置１０が当該秘密情報PMSによって定まる共通鍵MSを生成する過程は、必ずしもこの時点で行う必要はなく、遅くとも後述のステップＳ１６より前に行われればよい。
【００４５】
次に、利用者装置１０の通信処理部１２ｈが、記憶部１１から認証装置２０の公開鍵証明書Csを読み込み、認証装置２０の公開鍵証明書Csを発行したＣＡの公開鍵をネットワーク４０に接続された図示していない認証局装置から取得する。取得されたＣＡの公開鍵は記憶部１１に格納される。通信処理部１２ｈは、記憶部１１から認証装置２０の公開鍵証明書CsとＣＡの公開鍵を読み込み、ＣＡの公開鍵を用いて認証装置２０の公開鍵証明書Csを検証する。この検証が合格した場合、公開鍵暗号化部１２ｃが、記憶部１１から秘密情報PMSと公開鍵証明書Csが具備する認証装置２０の公開鍵PKsと暗号方式Ｃとを読み込み、当該公開鍵PKsを用い、暗号方式Ｃに示される暗号方式（RSA等の公開鍵暗号方式）によって秘密情報PMSを暗号化した暗号文PKs(PMS)（EncryptedPreMasterSecret メッセージ）を生成し、記憶部１１に格納する。なお、暗号文PKs(PMS)は、利用者装置１０と公開鍵簿管理装置３０との間で共通鍵MS（鍵情報）を共有するための暗号情報である第１鍵共有化情報に相当する。生成された暗号文PKs(PMS)を含む情報（ClientKeyExchangeメッセージ）は、送信部１３に送られ、送信部１３は、当該暗号文PKs(PMS)（第１鍵共有化情報）を含むClientKeyExchangeメッセージをネットワーク４０経由で公開鍵簿管理装置３０に送信する（第１鍵共有化情報送信過程／ステップＳ１２）。
【００４６】
ClientKeyExchangeメッセージは、公開鍵簿管理装置３０（図５）の受信部３４で受信され、通信処理部３２ｈに送られ、通信処理部３２ｈは、ClientKeyExchangeメッセージが具備する暗号文PKs(PMS)（「第１鍵共有化情報」に相当）を記憶部３１に格納する。次に、復号部３２ｂが、記憶部３１から暗号方式Ｃを読み込み、それに対応する認証装置２０の秘密鍵SKsを読み込む。さらに、復号部３２ｂ（「鍵情報共有部」を構成）は、記憶部３１から暗号文PKs(PMS) を読み込み、これを秘密鍵SKsで復号して秘密情報PMSを抽出する（ステップＳ１３）。抽出された秘密情報PMSは、記憶部３１に格納される。次に、公開鍵簿管理装置３０の共通鍵生成部３２ｅ（「鍵情報共有部」を構成）が、記憶部３１から秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部３１に格納する（第１鍵情報共有過程）。ＴＬＳ等では、共通鍵生成部３２ｅが、記憶部３１から秘密情報PMSと乱数R1（第１乱数）と乱数R2（第２乱数）とを読み込み、これらと定数とのビット結合値のハッシュ値を共通鍵MS (master secret)として生成する。なお、公開鍵簿管理装置３０が当該秘密情報PMSによって定まる共通鍵MSを生成する過程は、必ずしもこの時点で行う必要はなく、遅くとも後述のステップＳ１６より前に行われればよい。
【００４７】
次に、通信処理部３２ｈが、記憶部３１から暗号文PKs(PMS)（「第２鍵共有化情報」に相当）を読み込み、これを含むClientKeyExchangeメッセージを送信部３３に送る。送信部３３は、暗号文PKs(PMS)（「第２鍵共有化情報」に相当）を含むClientKeyExchangeメッセージをネットワーク５０経由で認証装置２０に送信する（第２鍵共有化情報送信過程／ステップＳ１４）。送信されたClientKeyExchangeメッセージは、認証装置２０の受信部２４で受信され通信処理部２２ｈに送られ、通信処理部２２ｈは、ClientKeyExchangeメッセージが含む暗号文PKs(PMS)を記憶部２１に格納する。次に、復号部２２ｃが、記憶部２１から暗号方式Ｃを読み込み、それに対応する認証装置２０の秘密鍵SKsを読み込む。さらに、復号部２２ｃ（「鍵情報共有部」を構成）は、記憶部３１から暗号文PKs(PMS) を読み込み、これを秘密鍵SKsで復号して秘密情報PMSを抽出する。さらに、認証装置２０の共通鍵生成部２２ｅ（「鍵情報共有部」を構成）が、記憶部２１からから秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部２１に格納する。ＴＬＳ等では、共通鍵生成部２２ｅが、記憶部２１から秘密情報PMSと乱数R1（第１乱数）と乱数R2（第２乱数）とを読み込み、これらと定数とのビット結合値のハッシュ値を共通鍵MS (master secret)として生成する（第２鍵情報共有過程）。なお、認証装置２０が当該秘密情報PMSによって定まる共通鍵MSを生成する過程は、必ずしもこの時点で行う必要はなく、遅くとも後述のステップＳ１７より前に行われればよい。
【００４８】
次に、利用者装置１０（図３）の署名生成部１２ｄが、記憶部１１から暗号方式Ｃを読み込み、それに対応する利用者装置１０の秘密鍵SKc（「公開鍵送信過程で送信された公開鍵に対応する秘密鍵」に相当）を読み込む。さらに、署名生成部１２ｄは、記憶部１１から暗号文PKs(PMS)（「第１鍵共有化情報」に相当）を読み込み、当該秘密鍵SKcを用い、暗号文PKs(PMS)を含む情報に対する署名情報Signを生成して記憶部１１に格納する（署名情報生成過程）。なお、ＴＬＳ等の場合、ClientHello メッセージ（ステップＳ２）から現在までの、このメッセージを除く、利用者装置１０が送信または受信したすべてのハンドシェイク（通信ログ情報）が署名対象となる。通信処理部１２ｈは、記憶部１１から署名情報Signを読み込み、これを含む情報（CertificateVerifyメッセージ）を送信部１３に送る。送信部１３は、このCertificateVerifyメッセージをネットワーク４０経由で公開鍵簿管理装置３０に送信する（署名情報送信過程）。CertificateVerifyメッセージは、公開鍵簿管理装置３０（図５）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、CertificateVerifyメッセージが具備する署名情報Signを記憶部３１に格納する。そして、署名情報検証部３２ｃが、記憶部３１から利用者装置１０の公開鍵証明書Ccを読み込み、利用者装置１０の公開鍵証明書Ccを発行したＣＡの公開鍵をネットワーク４０に接続された図示していない認証局装置から取得する。取得されたＣＡの公開鍵は記憶部３１に格納される。通信処理部３２ｈは、記憶部３１から利用者装置１０の公開鍵証明書CcとＣＡの公開鍵を読み込み、ＣＡの公開鍵を用いて利用者装置１０の公開鍵証明書Ccを検証する。この検証が合格であった場合、署名情報検証部３２ｃが記憶部３１から署名情報Signと、利用者装置１０の公開鍵証明書Ccが具備する利用者装置１０の公開鍵PKc（公開鍵送信過程で送信された公開鍵）とを読み込む。そして、署名情報検証部３２ｃは、利用者装置１０の公開鍵PKcを用いて署名情報Signを検証する（署名情報検証過程）。これにより、公開鍵簿管理装置３０は、公開鍵PKcを送信してきた利用者装置１０が確かに対応する秘密鍵SKcを所持していること、及び、その利用者装置１０との間で共通鍵MS（鍵情報）を共有することを確認できる（ステップＳ１５）。
【００４９】
次に、終了情報生成部１２ｆが、記憶部１１から共通鍵MSと、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS1と、秘密情報PMSとを読み込み、共通鍵MS（「鍵情報」に相当）を用い、秘密情報共通鍵MSと通信ログ情報HS1とに対応する情報を暗号化した第１終了情報F1（Finishedメッセージ）を生成して記憶部１１に格納する（第１終了情報生成過程）。ＴＬＳ等の場合、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS1は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1（第１乱数）と乱数R2（第２乱数）とを含む。また、ＴＬＳ等の場合、第１終了情報F1（Finishedメッセージ）は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS1のMD5によるハッシュ値＋通信ログ情報HS1のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第１終了情報F1（Finishedメッセージ）は送信部１３に送られ、そこからネットワーク４０経由で公開鍵簿管理装置３０に送信される（第１終了情報送信過程／ステップＳ１６）。
【００５０】
第１終了情報F1（Finishedメッセージ）は、公開鍵簿管理装置３０（図５）の受信部３４で受信され、記憶部３１に格納される。次に、終了情報検証部３２ｇが、記憶部３１から第１終了情報F1（Finishedメッセージ）と、共通鍵MSと、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS1と、秘密情報PMSとを読み込み、共通鍵MSを用い、第１終了情報F1（Finishedメッセージ）が秘密情報MSに対応するか否かを検証する。例えば、終了情報検証部３２ｇは、共通鍵MSを用いて第１終了情報F1（Finishedメッセージ）を復号した復号結果と、秘密情報PMSと通信ログ情報HS1とに対応する情報とが等しいか否かを検証する。ＴＬＳ等の場合には、終了情報検証部３２ｇは、例えば、共通鍵MSを用いて第１終了情報F1（Finishedメッセージ）を復号した復号結果と、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS1のMD5によるハッシュ値＋通信ログ情報HS1のSHA-1によるハッシュ値と、のビット結合値が等しいか否かを検証する。
【００５１】
この検証が合格であった場合、次に、公開鍵簿管理装置３０（図５）の終了情報生成部３２ｆが、記憶部３１から共通鍵MSと、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS3と、秘密情報PMSとを読み込み、共通鍵MS（鍵情報）を用い、秘密情報共通鍵MSと通信ログ情報HS3とに対応する情報を暗号化した第２終了情報F3（Finishedメッセージ）を生成して記憶部３１に格納する（第２終了情報生成過程）。ＴＬＳ等の場合、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS3は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1（第１乱数）と乱数R2（第２乱数）とを含む。また、ＴＬＳ等の場合、第２終了情報F3（Finishedメッセージ）は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS3のMD5によるハッシュ値＋通信ログ情報HS3のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第２終了情報F3（Finishedメッセージ）は送信部３３に送られ、そこからネットワーク５０経由で認証装置２０に送信される（第２終了情報送信過程／ステップＳ１７）。
【００５２】
第２終了情報F3（Finishedメッセージ）は、認証装置２０（図４）の受信部２４で受信され、記憶部２１に格納される。次に、終了情報検証部２２ｇが、記憶部２１から第２終了情報F3（Finishedメッセージ）と、共通鍵MSと、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS3と、秘密情報PMSとを読み込み、共通鍵MSを用い、第２終了情報F3（Finishedメッセージ）が秘密情報PMSに対応するか否かを検証する。例えば、終了情報検証部２２ｇは、共通鍵MSを用いて第２終了情報F3（Finishedメッセージ）を復号した復号結果と、秘密情報PMSと通信ログ情報HS3とに対応する情報とが等しいか否かを検証する。ＴＬＳ等の場合には、終了情報検証部２２ｇは、例えば、共通鍵MSを用いて第２終了情報F3（Finishedメッセージ）を復号した復号結果と、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS3のMD5によるハッシュ値＋通信ログ情報HS3のSHA-1によるハッシュ値と、のビット結合値が等しいか否かを検証する。
【００５３】
この検証が合格であった場合、次に、認証装置２０（図４）の終了情報生成部２２ｆが、記憶部２１から共通鍵MSと、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS4と、秘密情報PMSとを読み込み、共通鍵MS（「鍵情報」）を用い、秘密情報共通鍵MSと通信ログ情報HS4とに対応する情報を暗号化した第３終了情報F4（Finishedメッセージ）を生成して記憶部２１に格納する（第３終了情報生成過程）。ＴＬＳ等の場合、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS4は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1（第１乱数）と乱数R2（第２乱数）とを含む。また、ＴＬＳ等の場合、第３終了情報F4（Finishedメッセージ）は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS4のMD5によるハッシュ値＋通信ログ情報HS4のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第３終了情報F4（Finishedメッセージ）は送信部３３に送られ、そこからネットワーク５０経由で公開鍵簿管理装置３０に送信される（第３終了情報送信過程／ステップＳ１８）。
【００５４】
第３終了情報F4（Finishedメッセージ）は、公開鍵簿管理装置３０（図５）の受信部３４で受信され、記憶部３１に格納される。次に、終了情報検証部３２ｇが、記憶部３１から第３終了情報F4（Finishedメッセージ）と、共通鍵MSと、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS4と、秘密情報PMSとを読み込み、共通鍵MSを用い、第３終了情報F4（Finishedメッセージ）が秘密情報PMSに対応するか否かを検証する。
【００５５】
この検証が合格であった場合、次に、公開鍵簿管理装置３０（図５）の終了情報生成部３２ｆが、記憶部３１から共通鍵MSと、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS2と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS2とに対応する情報を暗号化した第４終了情報F2（Finishedメッセージ）を生成して記憶部３１に格納する（第４終了情報生成過程）。ＴＬＳ等の場合、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS2は、このメッセージ以外の、ここまでのすべてのハンドシェイクメッセージであり、乱数R1（第１乱数）と乱数R2（第２乱数）とを含む。また、ＴＬＳ等の場合、第４終了情報F2（Finishedメッセージ）は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS2のMD5によるハッシュ値＋通信ログ情報HS2のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第４終了情報F2（Finishedメッセージ）は送信部３３に送られ、そこからネットワーク４０経由で利用者装置１０に送信される（第４終了情報送信過程／ステップＳ１９）。
【００５６】
第４終了情報F2（Finishedメッセージ）は、利用者装置１０（図３）の受信部１４で受信され、記憶部１１に格納される。次に、終了情報検証部１２ｇが、記憶部１１から第４終了情報F2（Finishedメッセージ）と、共通鍵MSと、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS2と、秘密情報PMSとを読み込み、共通鍵MSを用い、第４終了情報F2（Finishedメッセージ）が秘密情報MSに対応するか否かを検証する（終了情報検証過程）。
【００５７】
この検証が合格であった場合、利用者装置１０及び認証装置２０での共通鍵MSを利用した共通鍵暗号通信が可能となり、公開鍵簿管理装置３０は、共通鍵MSを用い、その共通鍵暗号通信された暗号データから平文を復号することが可能となる。
【００５８】
また、前述のように、公開鍵簿管理装置３０は、公開鍵簿管理装置３０と認証装置２０以外にこの共通鍵暗号通信が可能なのは、ステップＳ１１で公開鍵PKcを送信した利用者装置１０のみであり、この利用者装置１０は公開鍵PKcに対応する秘密鍵SKcを所持していることを確信できる。本形態では、このことを後に確認できるように、公開鍵簿管理装置３０が、ここまでの何れかの時点（例えば各情報が記憶部３１に格納される時点や終了情報検証過程終了後）において、利用者装置１０の公開鍵証明書Ccと、秘密情報PMSの暗号文PKs(PMS)と、署名情報Signと、秘密情報PMSと、共通鍵MS（「鍵情報」に相当）とを関連付けておく。なお、このような関連付けではなく、ステップＳ１１で送信された公開鍵PKcと共通鍵MSや秘密情報PMSとのみを関連付けておく構成であってもよい。さらには、終了情報F1〜F4をこれらの関連付けに加える構成であってもよい。すなわち、最低限、公開鍵簿管理装置３０が、後に共通鍵MSを用いた共通鍵暗号通信内容を復号でき、その共通鍵暗号通信に対応する利用者装置１０の公開鍵PKcを特定できる状態にしておけばよいが、多くの関連付けを行っておけば後に有効な再検証ができる。
【００５９】
次に、利用者装置１０（図３）の出力部１８は、認証装置２０の認証を受けるための認証情報AIの入力を促す表示を行い、入力部１７は、利用者から入力された認証情報AI入力を受け付ける。なお、認証情報AIとしては、例えば、パスワード認証のためのＩＤとパスワードに対応する情報との組や、生体認証のためのＩＤと静脈、画像、音声等の生体情報との組や電子署名情報等の公知の認証情報を例示できる。入力部１７に入力された認証情報AIは、まず記憶部１１に格納される。次に、認証情報暗号化部１２ｉが、記憶部１１から共通鍵MS（「鍵情報」に相当）と認証情報AIとを読み込み、認証情報AIを、共通鍵MSによって復号可能な認証情報暗号化情報CEn(MS,AI)に暗号化する（認証情報暗号化過程）。本形態の場合、認証情報暗号化部１２ｉは、共通鍵MSを用い、共通鍵暗号方式によって認証情報AIを暗号化した暗号文を認証情報暗号化情報CEn(MS,AI)とする。生成された認証情報暗号化情報CEn(MS,AI)は送信部１３に送られ、送信部１３は、ネットワーク４０経由で、認証情報暗号化情報CEn(MS,AI)を公開鍵簿管理装置３０に送信する（第１認証情報暗号化情報送信過程／ステップＳ２１）。
【００６０】
認証情報暗号化情報CEn(MS,AI)は、公開鍵簿管理装置３０（図５）の受信部３４で受信され、記憶部３１に格納される。次に、認証情報復号部３２ｉが、記憶部３１から認証情報暗号化情報CEn(MS,AI)と共通鍵MSとを読み込み、共通鍵MSで認証情報暗号化情報CEn(MS,AI)を復号して認証情報AIを抽出する。抽出された認証情報AIは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部３１に格納される（ステップＳ２２）。なお、認証情報復号部３２ｉによる認証情報AIの抽出や関連付け処理は、本形態の方法の安全性をより高めるものではあるが、必ずしも必要な処理ではない。すなわち、認証情報復号部３２ｉによる認証情報AIの抽出や関連付けを行わないこととしてもよい。
【００６１】
次に、通信処理部３２ｈが、記憶部３１から認証情報暗号化情報CEn(MS,AI)を読み込み、送信部３３に送る。送信部３３は、当該認証情報暗号化情報CEn(MS,AI)をネットワーク５０経由で認証装置２０に送信する（第２認証情報暗号化情報送信過程）。認証情報暗号化情報CEn(MS,AI)は、認証装置２０（図４）の受信部２４で受信されて記憶部２１に格納される。次に、認証情報復号部２２ｉが、記憶部２１から認証情報暗号化情報CEn(MS,AI)と共通鍵MS（「鍵情報」に相当）とを読み込み、当該共通鍵MSを用いて認証情報暗号化情報CEn(MS,AI)を復号して認証情報AIを抽出する（認証情報復号過程／ステップＳ２３）。抽出された認証情報AIは記憶部２１に格納される。
【００６２】
次に、認証部２２ｊが、記憶部２１から認証情報AIを読み込み、これを用いて認証処理を行い、その認証結果VEを出力して記憶部２１に格納する（認証過程）。なお、認証処理の方法は公知の方法を用いればよい。例えば、認証情報AIがパスワード認証のためのＩＤとパスワードに対応する情報との組であった場合には、認証部２２ｊは、図示していないＩＤとパスワードとの組からなるデータベースを用い、チャレンジアンドレスポンス等により利用者装置１０との間で認証処理を行う。また、例えば、認証情報AIが生体認証のためのＩＤと生体情報との組であった場合には、認証部２２ｊは、図示していないＩＤと生体情報との組からなるデータベースを用い、生体情報の一致を検証することで認証処理を行う。また、例えば、認証情報AIが電子署名であった場合には、認証部２２ｊは、利用者装置１０の公開鍵を用いて当該電子署名を検証して認証処理を行う。また、認証結果VEは、認証処理に合格した旨（認証ＯＫ）又は認証処理に不合格であった旨（認証ＮＧ）の情報である。
【００６３】
次に、認証結果暗号化部２２ｋが、記憶部２１から認証結果VEと共通鍵MS（「鍵情報」に相当）とを読み込み、認証結果VEを共通鍵MSによって復号可能な認証結果暗号化情報CEn(MS,VE)に暗号化し（認証結果暗号化過程）、当該認証結果暗号化情報CEn(MS,VE)は記憶部２１に格納される。なお、本形態では、共通鍵MSを用い、共通鍵暗号方式によって認証結果VEを暗号化した暗号文を認証結果暗号化情報CEn(MS,VE)とする。次に、通信処理部２２ｈが、記憶部２１から認証結果暗号化情報CEn(MS,VE)を読み込み、これを送信部２３に送る。送信部２３は、当該認証結果暗号化情報CEn(MS,VE)をネットワーク５０経由で公開鍵簿管理装置３０に送信する（認証結果暗号化情報送信過程／ステップＳ２４）。
【００６４】
認証結果暗号化情報CEn(MS,VE)は、公開鍵簿管理装置３０（図５）の受信部３４で受信され、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部３１に格納される。次に、認証結果復号部３２ｊが、記憶部３１から認証結果暗号化情報CEn(MS,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)を復号して認証結果VEを抽出する。当該認証結果VEは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部３１に格納される（認証結果復号過程）。ここで、公開鍵簿管理装置３０は、利用者装置１０と共有した共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)が復号できたことを根拠に、復号して得られた認証結果VEがステップＳ１１で公開鍵PKcを提供した利用者装置１０に対するものであることを確認できる。次に、公開鍵簿生成部３２ｋが、公開鍵送信過程（ステップＳ１１）で送信された公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとを記憶部３１から読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部３７に格納する（公開鍵簿生成過程／ステップＳ２５）。なお、公開鍵簿生成部３２ｋが、公開鍵送信過程（ステップＳ１１）で送信された公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとの組をを記憶部３１から読み込むことができるのは、前述のようにこれらの情報が関連付けられているからである。
【００６５】
その後、通信処理部３２ｈが記憶部３１から認証結果暗号化情報CEn(MS,VE)を読み込み、それを送信部３３に送る。送信部３３は、当該認証結果暗号化情報CEn(MS,VE)をネットワーク４０経由で利用者装置１０に送信する。当該認証結果暗号化情報CEn(MS,VE)は、利用者装置１０（図３）の受信部１４で受信され、記憶部１１に格納される。その後、認証結果復号部１２ｊが、記憶部１１から認証結果暗号化情報CEn(MS,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)を復号して認証結果VEを抽出し、記憶部１１に格納する（ステップＳ２６）。
【００６６】
以上の処理により、利用者装置１０の公開鍵PKcとその認証結果VEとの組が公開鍵簿のエントリとして追加された。その後、公開鍵簿管理装置３０の検索部３２ｍが、通信装置６０からの要求に応じ、所望の公開鍵と認証結果との組を記憶部３７の公開鍵簿から検索し、当該抽出された公開鍵と認証結果との組が送信部３３から通信装置６０に送信される。
【００６７】
［公開鍵簿管理装置の処理］
図８〜図１０は、第１実施形態の公開鍵簿管理装置３０の処理を説明するためのフローチャートである。
【００６８】
以下、このフローチャートを用いて公開鍵簿管理装置３０の処理を説明する。なお、この処理の前提として、公開鍵簿管理装置３０の記憶部３１には認証装置２０の秘密鍵SKsが格納されている。
【００６９】
まず、公開鍵簿管理装置３０の受信部３４が、利用者装置１０から送信された、乱数R1（第１乱数）及び暗号リストCSLを含む情報（ClientHelloメッセージ）を受信し、これらが通信処理部３２ｈに送られる（ステップＳ３１）。通信処理部３２ｈは、ClientHelloメッセージが具備する乱数R1（第１乱数）を記憶部３１に格納するとともに、暗号リストCSLを暗号リスト制限部３２ａに送る。暗号リスト制限部３２ａは、前述のように、暗号リストCSLが具備する暗号方式から対話型鍵交換方式（DH方式等）を削除した新たな暗号リストCLS'を生成し、記憶部３１に格納する（ステップＳ３２）。次に、通信処理部３２ｈは、記憶部３１から乱数R1及び新たな暗号リストCSL'を読み込み、これらを含む情報（ClientHelloメッセージ）を生成して送信部３３に送る。送信部３３は、乱数R1及び新たな暗号リストCSL'を含むClientHelloメッセージをネットワーク５０経由で認証装置２０に送信する（第２乱数送信過程／ステップＳ３３）。
【００７０】
その後、公開鍵簿管理装置３０の受信部３４が、認証装置２０から送信された、暗号方式Cと乱数R2とを含む情報（ServerHelloメッセージ）を受信し、これを通信処理部３２ｈに送る（ステップＳ３４）。通信処理部３２ｈは、ServertHelloメッセージが具備する乱数R2（第２乱数）と暗号方式Cとを記憶部３１に格納するとともに、当該ServertHelloメッセージを送信部３３に送る。送信部３３は、乱数R2及び暗号方式Cを含む当該ServertHelloメッセージをネットワーク４０経由で利用者装置１０に送信する（第４乱数送信過程／ステップＳ３５）。
【００７１】
その後、公開鍵簿管理装置３０の受信部３４が、認証装置２０から送信された当該認証装置２０の公開鍵証明書Csを受信し、これを通信処理部３２ｈに送る（ステップＳ３６）。さらに、送信部３３は、認証装置２０の公開鍵証明書Csをネットワーク４０経由で利用者装置１０に送信する（ステップＳ３７）。
【００７２】
その後、公開鍵簿管理装置３０の受信部３４が、利用者装置１０から送信された、利用者装置１０の公開鍵証明書Ccを含む情報（ClientCertificateメッセージ）を受信し、これを通信処理部３２ｈに送る（ステップＳ３８）。通信処理部３２ｈは、利用者装置１０の公開鍵証明書Ccを記憶部３１に格納する。
【００７３】
その後、公開鍵簿管理装置３０の受信部３４が、暗号文PKs(PMS)を含む情報（ClientKeyExchangeメッセージ）を受信し、これを通信処理部３２ｈに送る（ステップＳ３９）。通信処理部３２ｈは、ClientKeyExchangeメッセージが具備する暗号文PKs(PMS)を記憶部３１に格納する。次に、復号部３２ｂが、前述のように、秘密鍵SKsを用いて暗号文PKs(PMS)を復号して秘密情報PMSを抽出する。抽出された秘密情報PMSは、記憶部３１に格納される。次に、共通鍵生成部３２ｅが、記憶部３１から秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部３１に格納する（ステップＳ４０）。
【００７４】
次に、通信処理部３２ｈが、暗号文PKs(PMS)を含むClientKeyExchangeメッセージを送信部３３に送り、送信部３３が、当該ClientKeyExchangeメッセージをネットワーク５０経由で認証装置２０に送信する（第２鍵共有化情報送信過程／ステップＳ４１）。
【００７５】
その後、公開鍵簿管理装置３０の受信部３４が、利用者装置１０から送信された署名情報Signを含むCertificateVerifyメッセージを受信し、通信処理部３２ｈに送る（ステップＳ４２）。通信処理部３２ｈは、CertificateVerifyメッセージが具備する署名情報Signを記憶部２１に格納する。そして、署名情報検証部３２ｃが、前述のように利用者装置１０の公開鍵証明書Ccを用いて署名情報Signを検証する（署名情報検証過程／ステップＳ４３）。ここで、この検証が不合格であった場合（ステップＳ４４）、処理がエラー終了する（ステップＳ５５）。
【００７６】
一方、この検証が合格であった場合、受信部３４が利用者装置１０から送信された第１終了情報F1（Finishedメッセージ）を受信する（ステップＳ４５）。この第１終了情報F1（Finishedメッセージ）は、記憶部３１に格納される。次に、終了情報検証部３２ｇが、記憶部３１から第１終了情報F1（Finishedメッセージ）と、共通鍵MSと、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS1と、秘密情報PMSとを読み込み、共通鍵MSを用い、第１終了情報F1（Finishedメッセージ）を前述のように検証する（ステップＳ４６）。ここで、この検証が不合格であった場合（ステップＳ４７）、処理がエラー終了する（ステップＳ５５）。
【００７７】
一方、この検証が合格であった場合、終了情報生成部３２ｆが、記憶部３１から共通鍵MSと、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS3と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS3とに対応する情報を暗号化した第２終了情報F3（Finishedメッセージ）を生成して記憶部３１に格納する（第２終了情報生成過程／ステップＳ４８）。生成された第２終了情報F3（Finishedメッセージ）は送信部３３に送られ、そこからネットワーク５０経由で認証装置２０に送信される（第２終了情報送信過程／ステップＳ４９）。
【００７８】
その後、の受信部３４が、第３終了情報F4（Finishedメッセージ）を受信する（ステップＳ５０）。この第３終了情報F4（Finishedメッセージ）は記憶部３１に格納される。次に、終了情報検証部３２ｇが、記憶部３１から第３終了情報F4（Finishedメッセージ）と、共通鍵MSと、認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS4と、秘密情報PMSとを読み込み、共通鍵MSを用い、第３終了情報F4（Finishedメッセージ）を前述のように検証する（ステップＳ５１）。ここで、この検証が不合格であった場合（ステップＳ５２）、処理がエラー終了する（ステップＳ５５）。
【００７９】
一方、この検証が合格であった場合、次に、終了情報生成部３２ｆが、記憶部３１から共通鍵MSと、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS2と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS4とに対応する情報を暗号化した第４終了情報F2（Finishedメッセージ）を生成して記憶部３１に格納する（第４終了情報生成過程／ステップＳ５３）。生成された第４終了情報F2（Finishedメッセージ）は送信部３３に送られ、そこからネットワーク４０経由で利用者装置１０に送信される（第４終了情報送信過程／ステップＳ５４）。
【００８０】
その後、受信部３４が利用者装置１０から送信された認証情報暗号化情報CEn(MS,AI)を受信し、当該認証情報暗号化情報CEn(MS,AI)が、記憶部３１に格納される（ステップＳ５６）。次に、認証情報復号部３２ｉが、記憶部３１から認証情報暗号化情報CEn(MS,AI)と共通鍵MSとを読み込み、共通鍵MSで認証情報暗号化情報CEn(MS,AI)を復号して認証情報AIを抽出する。抽出された認証情報AIは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部３１に格納される（ステップＳ５７）。なお、この処理は必須ではない。
【００８１】
次に、通信処理部３２ｈが、記憶部３１から認証情報暗号化情報CEn(MS,AI)を読み込み、送信部３３に送る。送信部３３は、当該認証情報暗号化情報CEn(MS,AI)をネットワーク５０経由で認証装置２０に送信する（第２認証情報暗号化情報送信過程／ステップＳ５８）。その後、受信部３４が、認証装置２０から送信された認証結果暗号化情報CEn(MS,VE)を受信し、当該認証結果暗号化情報CEn(MS,VE)は、公開鍵PKc、共通鍵MS等と関連付けられて記憶部３１に格納される（ステップＳ５９）。次に、認証結果復号部３２ｊが、記憶部３１から認証結果暗号化情報CEn(MS,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS,VE)を復号して認証結果VEを抽出する。当該認証結果VEは、前述のように関連付けられた公開鍵PKc、共通鍵MS等と関連付けられて記憶部３１に格納される（認証結果復号過程／ステップＳ６０）。次に、公開鍵簿生成部３２ｋが、公開鍵送信過程（ステップＳ１１）で送信された公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとを記憶部３１から読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部３７に格納する（公開鍵簿生成過程／ステップＳ６１）。
【００８２】
＜本形態の特徴＞
本形態では、利用者装置１０の送信部１３が、公開鍵PKcを公開鍵簿管理装置３０に送信し、当該利用者装置１０と公開鍵簿管理装置３０との間で共通鍵MSを共有するための暗号情報である暗号文PKs(PMS)を公開鍵簿管理装置３０に送信した後に、送信された公開鍵PKcに対応する秘密鍵SKcを用い、暗号文PKs(PMS)を含む情報に対する署名情報Signを生成し、公開鍵簿管理装置３０の署名情報検証部３２ｃが、公開鍵PKcを用い、署名情報Signを検証することとした。これにより、公開鍵簿管理装置３０は、公開鍵PKcを送信してきた利用者装置１０が確かに対応する秘密鍵SKcを所持していること、及び、その利用者装置１０との間で共通鍵MSを共有することを確認できる。
【００８３】
また、公開鍵簿管理装置３０は、認証処理が、公開鍵PKcを提供した利用者装置１０と公開鍵簿管理装置３０と認証装置２０との間で共有化された共通鍵MSで復号可能な暗号通信で行われたことをもって、当該認証結果VEが公開鍵PKcを提供した利用者装置１０に対応するものであることを確認できる。以上により、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。
【００８４】
〔第２実施形態〕
次に、第２実施形態について説明する。
本形態は、第１実施形態の変形例であり、公開鍵簿管理装置に認証装置の秘密鍵を格納することなく、共通鍵を共有化する形態である。この場合、利用者装置と公開鍵簿管理装置との間、及び、認証装置と公開鍵簿管理装置との間でそれぞれ、同一の共通鍵MSを共用可能とするために、公開鍵簿管理装置が秘密情報PMSを再暗号化する必要がある。その反面、公開鍵簿管理装置に認証装置の秘密鍵を格納する処理を省略できる。
以下では、第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【００８５】
［全体構成］
図１１は、第２実施形態の公開鍵簿登録システム１００の全体構成を説明するためのブロック図である。なお、図１１において第１実施形態と共通する部分については図２と同じ番号を付して説明を省略する。
【００８６】
図１１に例示するように、本形態の公開鍵簿登録システム１００は、利用者装置１１０（例えば、クライアント装置）と、認証装置２０と、公開鍵簿管理装置１３０（例えば、拡張サーバ装置）と、通信装置６０とを有する。また、利用者装置１１０と公開鍵簿管理装置１３０とは、ネットワーク４０を通じて通信可能に接続され、認証装置２０と公開鍵簿管理装置１３０とは、ネットワーク５０を通じて通信可能に接続される。また、通信装置６０は、ネットワーク４０を通じて利用者装置１１０及び公開鍵簿管理装置１３０と通信可能に接続される。
【００８７】
なお、本形態の利用者装置１１０と認証装置２０とは、二装置間での認証処理と、暗号技術を用いた当該二装置間での共通鍵の配送処理と、当該共通鍵を特定するための秘密情報及び当該二装置間の通信ログ情報を用いて当該共通鍵の設定過程の正当性を確認する処理と、を含むプロトコル（例えば、SSLやTLSやそれらの拡張等）に従いつつ、本形態独自の処理を行う装置である。また、説明を簡略化するため、図１１では、１つの利用者装置１１０と認証装置２０とが公開鍵簿管理装置１３０と通信可能に接続されているが、２以上の利用者装置１１０と認証装置２０とが公開鍵簿管理装置１３０と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置１３０を設けた構成であってもよく、複数の通信装置６０を設けた構成であってもよい。
【００８８】
［利用者装置］
本形態の利用者装置１１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【００８９】
図１２は、第２実施形態の利用者装置１１０の機能構成を説明するためのブロック図である。
図１２に例示するように、本形態の利用者装置１１０は、記憶部１１、演算部１１２、送信部１３、受信部１４、制御部１５、一時記憶部１６、入力部１７及び出力部１８を有する。また、演算部１１２は、乱数生成部１２ａ、秘密情報設定部１２ｂ、公開鍵暗号化部１１２ｃ、署名生成部１２ｄ、共通鍵生成部１２ｅ、終了情報生成部１２ｆ、終了情報検証部１２ｇ、通信処理部１２ｈ、認証情報暗号化部１２ｉ及び認証結果復号部１２ｊを有する。また、利用者装置１１０は、制御部１５の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部１６に格納され、他の演算のために読み出される。なお、本形態の演算部１１２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【００９０】
［認証装置］
第１実施形態と同じである。
【００９１】
［公開鍵簿管理装置］
本形態の公開鍵簿管理装置１３０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【００９２】
図１３は、第２実施形態の公開鍵簿管理装置１３０の機能構成を説明するためのブロック図である。
図１３に例示するように、本形態の公開鍵簿管理装置１３０は、記憶部３１、演算部１３２、送信部３３、受信部３４、制御部３５及び一時記憶部３６を有する。また、演算部１３２は、暗号リスト制限部３２ａ、復号部３２ｂ（「鍵情報共有部」に相当）、署名情報検証部３２ｃ、公開鍵暗号化部１３２ｃ、共通鍵生成部３２ｅ（「鍵情報共有部」に相当）、終了情報生成部３２ｆ、終了情報検証部３２ｇ、通信処理部３２ｈ、認証情報復号部３２ｉ、認証結果復号部３２ｊ、公開鍵簿生成部３２ｋ及び検索部３２ｍを有する。また、公開鍵簿管理装置１３０は、制御部３５の制御のもと各処理を実行する。また、明示しない限り、各演算過程で生成されたデータは、逐一、一時記憶部３６に格納され、他の演算のために読み出される。なお、本形態の演算部１３２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【００９３】
＜処理＞
次に、本形態の処理を説明する。
【００９４】
［前提］
第１実施形態との相違点は、公開鍵簿管理装置１３０とに対し、公開鍵暗号方式（ＲＳＡ等）の鍵ペア（公開鍵，秘密鍵）が生成されている点である。なお、鍵ペアは複数の暗号方式分生成されてもよい。そして、公開鍵簿管理装置１３０の秘密鍵SKgが公開鍵簿管理装置１３０の記憶部３１に格納され、当該秘密鍵SKgに対応する公開鍵簿管理装置１３０の公開鍵PKgにも、認証局によって公開鍵証明書Cgが発行され、これが公開鍵簿管理装置１３０記憶部３１に格納される。その他の点は、第１実施形態と同様である。
【００９５】
［処理の全体］
図１４は、第２実施形態の処理の全体を説明するためのシーケンス図である。以下、第１実施形態の相違点のみを説明する。
第１実施形態との相違点は、ステップＳ１及びＳ９が実行されない点、ステップＳ１０の代わりに、以下のステップＳ１１０が実行される点、ステップＳ１２，Ｓ１３の代わりに、以下のステップＳ１１２及びＳ１１３が実行される点である。
【００９６】
《ステップＳ１１０》
ステップＳ１１０では、公開鍵簿管理装置１３０の通信処理部３２ｈが、公開鍵簿管理装置１３０の公開鍵証明書Cgを記憶部３１から読み込み、これを送信部３３に送る。送信部３３は、公開鍵簿管理装置１３０の公開鍵証明書Cgをネットワーク４０経由で利用者装置１１０に送信する。送信された公開鍵簿管理装置１３０の公開鍵証明書Cgは、利用者装置１１０（図１２）の受信部１４で受信され、通信処理部１１２ｈに送られる。通信処理部１１２ｈは、当該公開鍵簿管理装置１３０の公開鍵証明書Cgを記憶部１１に格納する。
【００９７】
《ステップＳ１１２》
まず、利用者装置１１０（図１２）の秘密情報設定部１２ｂが、共通鍵MS（master secret）を特定するための秘密情報PMS（premaster secret）を設定し、それを記憶部１１に格納する。次に、利用者装置１１０（図１２）の共通鍵生成部１２ｅが、記憶部１１から秘密情報PMSを読み込み、当該秘密情報PMSによって定まる共通鍵MSを生成して記憶部１１に格納する。
【００９８】
次に、利用者装置１１０の通信処理部１１２ｈが、記憶部１１から公開鍵簿管理装置１３０の公開鍵証明書Cgを読み込み、公開鍵簿管理装置１３０の公開鍵証明書Cgを発行したＣＡの公開鍵をネットワーク４０に接続された図示していない認証局装置から取得する。取得されたＣＡの公開鍵は記憶部１１に格納される。通信処理部１２ｈは、記憶部１１から公開鍵簿管理装置１３０の公開鍵証明書CgとＣＡの公開鍵を読み込み、ＣＡの公開鍵を用いて公開鍵簿管理装置１３０の公開鍵証明書Cgを検証する。この検証が合格した場合、公開鍵暗号化部１１２ｃが、記憶部１１から秘密情報PMSと公開鍵証明書Cgが具備する公開鍵簿管理装置２２０の公開鍵PKgと暗号方式Ｃとを読み込み、当該公開鍵PKgを用い、暗号方式Ｃに示される暗号方式によって秘密情報PMSを暗号化した暗号文PKg(PMS)（第１鍵共有化情報／EncryptedPreMasterSecret メッセージ）を生成し、記憶部１１に格納する。生成された暗号文PKg(PMS)を含む情報（ClientKeyExchangeメッセージ）は、送信部１３に送られ、送信部１３は、当該暗号文PKg(PMS)（第１鍵共有化情報）を含むClientKeyExchangeメッセージをネットワーク４０経由で公開鍵簿管理装置１３０に送信する（第１鍵共有化情報送信過程）。
【００９９】
《ステップＳ１１３》
ClientKeyExchangeメッセージは、公開鍵簿管理装置１３０（図１３）の受信部３４で受信され、通信処理部３２ｈに送られ、通信処理部３２ｈは、ClientKeyExchangeメッセージが具備する暗号文PKg(PMS)を記憶部３１に格納する。次に、復号部３２ｂが、記憶部３１から暗号方式Ｃを読み込み、それに対応する公開鍵簿管理装置１３０の秘密鍵SKgを読み込む。さらに、復号部３２ｂ（「鍵情報共有部」を構成）は、記憶部３１から暗号文PKg(PMS)を読み込み、これを秘密鍵SKgで復号して秘密情報PMSを抽出する。抽出された秘密情報PMSは、記憶部３１に格納される。
【０１００】
次に、公開鍵簿管理装置１３０の通信処理部３２ｈが、記憶部３１から認証装置２０の公開鍵証明書Csを読み込み、認証装置２０の公開鍵証明書Csを発行したＣＡの公開鍵をネットワーク４０に接続された図示していない認証局装置から取得する。取得されたＣＡの公開鍵は記憶部３１に格納される。通信処理部３２ｈは、記憶部３１から認証装置２０の公開鍵証明書CsとＣＡの公開鍵を読み込み、ＣＡの公開鍵を用いて認証装置２０の公開鍵証明書Csを検証する。この検証が合格した場合、公開鍵暗号化部１３２ｃが、記憶部３１から秘密情報PMSと公開鍵証明書Csが具備する認証装置２０の公開鍵PKsと暗号方式Ｃとを読み込み、当該公開鍵PKsを用い、暗号方式Ｃに示される暗号方式によって秘密情報PMSを暗号化した暗号文PKs(PMS)（第２鍵共有化情報／EncryptedPreMasterSecret メッセージ）を生成し、記憶部３１に格納する。
【０１０１】
［公開鍵簿管理装置の処理］
図１５は、第２実施形態の公開鍵簿管理装置１３０の処理を説明するためのフローチャートである。以下では、第１実施形態との相違点のみを説明する。
【０１０２】
第１実施形態との相違点は、ステップＳ３７の代わりに以下のステップＳ１３７の処理が実行され、ステップＳ３９，Ｓ４０の代わりに以下のステップＳ１３９，Ｓ１４０が実行される点、ステップＳ１４０とステップＳ４１との間に以下のステップＳ１４１の処理が実行される点である。
【０１０３】
《ステップＳ１３７》
送信部３３が、公開鍵簿管理装置１３０の公開鍵証明書Cgをネットワーク４０経由で利用者装置１１０に送信する。
【０１０４】
《ステップＳ１３９》
公開鍵簿管理装置１３０の受信部３４が、暗号文PKg(PMS)を含む情報（ClientKeyExchangeメッセージ）を受信し、これを通信処理部３２ｈに送る。
【０１０５】
《ステップＳ１４０》
通信処理部３２ｈは、ClientKeyExchangeメッセージが具備する暗号文PKg(PMS)（第１暗号化秘密情報）を記憶部３１に格納する。次に、復号部３２ｂが、前述のように、秘密鍵SKgを用いて暗号文PKg(PMS)を復号して秘密情報PMSを抽出する。秘密情報PMSは、記憶部３１に格納される。次に、共通鍵生成部３２ｅが、記憶部３１から秘密情報PMSを読み込み、当該密情報PMSによって定まる共通鍵MSを生成して記憶部３１に格納する。
【０１０６】
《ステップＳ１４１》
公開鍵簿管理装置１３０の通信処理部３２ｈが、記憶部３１から認証装置２０の公開鍵証明書Csを読み込み、認証装置２０の公開鍵証明書Csを発行したＣＡの公開鍵をネットワーク４０に接続された図示していない認証局装置から取得する。取得されたＣＡの公開鍵は記憶部３１に格納される。通信処理部３２ｈは、記憶部３１から認証装置２０の公開鍵証明書CsとＣＡの公開鍵を読み込み、ＣＡの公開鍵を用いて認証装置２０の公開鍵証明書Csを検証する。この検証が合格した場合、公開鍵暗号化部１３２ｃが、記憶部３１から秘密情報PMSと公開鍵証明書Csが具備する認証装置２０の公開鍵PKsと暗号方式Ｃとを読み込み、当該公開鍵PKsを用い、暗号方式Ｃに示される暗号方式によって秘密情報PMSを暗号化した暗号文PKs(PMS)（第２鍵共有化情報／EncryptedPreMasterSecret メッセージ）を生成し、記憶部３１に格納する。
【０１０７】
＜本形態の特徴＞
本形態でも、第１実施形態と同様、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。それに加え、本形態では、認証装置２０の秘密鍵を公開鍵簿管理装置１３０に格納する前処理が不要である。
【０１０８】
〔第３実施形態〕
本形態は、第１，２実施形態の変形例であり、上述の終了情報（Finishedメッセージ）のやり取り（ステップＳ１９）が終了した後に、利用者装置、認証装置及び公開鍵簿管理装置が、ステップＳ１９までの処理で確立されたセッションを再利用して再接続を行い、新たな終了情報（Finishedメッセージ）のやり取りを行う。これにより、利用者装置が送受信する終了情報（Finishedメッセージ）と、認証装置が送受信する終了情報（Finishedメッセージ）とを等しくすることができる。その結果、利用者装置と認証装置とが、共通鍵MSを用い、終了情報（Finishedメッセージ）をイニシャルベクトルとしたブロック暗号方式（CBCモード等）によって暗号化又は復号を行って前述の認証処理を行い、公開鍵簿管理装置がその認証処理の内容を復号することが可能となる。以下では、各実施形態のステップＳ１９より後の処理のみを説明する。なお、本形態の処理は、上述の何れの実施形態にも適用可能である。しかし、ここでは説明の簡略化のため、第１実施形態に本形態の処理を付加した形態のみを説明する。また、本形態の処理が実行される前提として、各実施形態のServerHelloメッセージ（ステップＳ５〜Ｓ７）が認証装置で生成されたセッションＩＤ（session id）を含んでおり、ServerHelloメッセージが送信される過程において、当該セッションＩＤ（session id）が利用者装置、認証装置及び公開鍵簿管理装置の記憶部にそれぞれ格納され、それらがそれぞれ秘密情報PMSに関連付けられるものとする。
【０１０９】
図１６は、第３実施形態における付加処理を説明するためのシーケンス図である。
まず、公開鍵簿管理装置３０の送信部３３が利用者装置１０に対して再接続要求情報を送信する（ステップＳ１５１）。これは利用者装置１０の受信部１４で受信され通信処理部１２ｈに送られる。これを契機に、乱数生成部１２ａが乱数R3を生成して通信処理部１２ｈに送る。通信処理部１２ｈは記憶部１１からセッションＩＤ（session id）を読み込み、乱数R3とセッションＩＤとを含む送信開始要求情報（ClientHello メッセージ）を生成して送信部１３に送る。送信部１３は、送信開始要求情報（ClientHello メッセージ）を公開鍵簿管理装置３０に送信し、公開鍵簿管理装置３０の受信部３４で受信される（ステップＳ１５２）。また、この送信開始要求情報（ClientHello メッセージ）は、公開鍵簿管理装置３０の送信部３３から送信され（ステップＳ１５３）、認証装置２０の受信部２４で受信され（ステップＳ１５４）、通信処理部２２ｈに送られる。これを契機に、認証装置２０の乱数生成部２２ａが乱数R4を生成して通信処理部２２ｈに送る。通信処理部２２ｈは記憶部２１からセッションＩＤ（session id）を読み込み、乱数R4とセッションＩＤとを含む送信開始要求情報（ServerHelloメッセージ）を生成して送信部２３に送る。送信部２３は、送信開始要求情報（ServerHelloメッセージ）を公開鍵簿管理装置３０に送信し、公開鍵簿管理装置３０の受信部３４で受信される（ステップＳ１５５）。また、この送信開始要求情報（ServerHelloメッセージ）は、公開鍵簿管理装置３０の送信部３３から送信され（ステップＳ１５６）、利用者装置１０の受信部１４で受信され（ステップＳ１５７）、通信処理部１２ｈに送られる。
【０１１０】
次に、利用者装置１０が公開鍵簿管理装置３０を介して認証装置２０にChangeCipherSpecメッセージ（例えばイニシャルベクトルを初期化する旨を含む）を送信した後、利用者装置１０の終了情報生成部１２ｆが、記憶部１１から共通鍵MSと、ステップＳ１５２以後の利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS5と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS5とに対応する情報を暗号化した第５終了情報FN5（Finishedメッセージ）を生成して記憶部１１に格納する（第５終了情報生成過程）。ＴＬＳ等の場合、利用者装置１０と公開鍵簿管理装置３０との間の通信ログ情報HS5は、このメッセージ以外の、ステップＳ１５２以後のすべてのハンドシェイクメッセージであり、乱数R3と乱数R4とを含む。また、ＴＬＳ等の場合、第５終了情報FN5（Finishedメッセージ）は、秘密情報PMS(master secret)と、文字列(finished label)と、通信ログ情報HS5のMD5によるハッシュ値＋通信ログ情報HS5のSHA-1によるハッシュ値と、のビット結合値に対する、共通鍵MSを用いた共通鍵暗号方式による暗号文である。生成された第５終了情報FN5（Finishedメッセージ）は送信部１３に送られ、そこから公開鍵簿管理装置３０に送信される（ステップＳ１５８）。第５終了情報FN5（Finishedメッセージ）は公開鍵簿管理装置３０の受信部３４で受信され（ステップＳ１５９）、さらに送信部３３から認証装置２０に送信される（第５終了情報送信過程／ステップＳ１６０）。
【０１１１】
次に、認証装置２０が公開鍵簿管理装置３０を介して利用者装置１０にChangeCipherSpecメッセージ（例えばイニシャルベクトルを初期化する旨を含む）を送信した後、認証装置２０の終了情報生成部２２ｆが、記憶部２１から共通鍵MSと、ステップＳ１５２以後の認証装置２０と公開鍵簿管理装置３０との間の通信ログ情報HS6と、秘密情報PMSとを読み込み、共通鍵MSを用い、秘密情報共通鍵MSと通信ログ情報HS6とに対応する情報を暗号化した第６終了情報FN6（Finishedメッセージ）を生成して記憶部２１に格納する（第６終了情報生成過程）。生成された第６終了情報FN6（Finishedメッセージ）は送信部２３に送られ、そこから公開鍵簿管理装置３０に送信される（ステップＳ１６１）。第６終了情報FN6（Finishedメッセージ）は公開鍵簿管理装置３０の受信部３４で受信され（ステップＳ１６２）、さらに送信部３３から利用者装置１０に送信される（第６終了情報送信過程／ステップＳ１６３）。
【０１１２】
以上により、利用者装置１０の認証情報暗号化部１２ｉ及び認証結果復号部１２ｊや、認証装置２０の認証情報復号部２２ｉ及び認証結果暗号化部２２ｋが、イニシャルベクトルとしたブロック暗号方式（CBCモード等）によって暗号化又は復号を行うことができるとともに、公開鍵簿管理装置３０の認証情報復号部３２ｉ及び認証結果復号部３２ｊも、このような暗号文を復号できる。
【０１１３】
＜本形態の特徴＞
以上のように、本形態では、第４終了情報送信過程（ステップＳ１９）の後に、利用者装置の送信部が送信開始要求情報（ClientHello メッセージ）を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が当該送信開始要求情報（ClientHello メッセージ）を認証装置に送信し、認証装置の送信部が送信開始応答情報（ServerHelloメッセージ）を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が当該送信開始応答情報（ServerHelloメッセージ）を利用者装置に送信する（再接続開始過程）。次に、利用者装置の終了情報生成部が、秘密情報PMSによって定まる共通鍵MSを用い、再接続開始過程以後の当該利用者装置と公開鍵簿管理装置との間の通信ログ情報と、秘密情報PMSと、に対応する情報を暗号化した第５終了情報（Finishedメッセージ）を生成し（第５終了情報生成過程）、利用者装置の送信部が第５終了情報（Finishedメッセージ）を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が第５終了情報を認証装置に送信する（第５終了情報送信過程）。さらに、認証装置の終了情報生成部が、秘密情報PMSによって定まる共通鍵MSを用い、再接続開始過程以後の当該認証装置と上記公開鍵簿管理装置との間の通信ログ情報と、秘密情報PMSと、に対応する情報を暗号化した第６終了情報（Finishedメッセージ）を生成し（第６終了情報生成過程）、認証装置の送信部が第６終了情報（Finishedメッセージ）を公開鍵簿管理装置に送信し、公開鍵簿管理装置の送信部が第６終了情報（Finishedメッセージ）を利用者装置に送信する（第６終了情報送信過程）。
【０１１４】
ここで、利用者装置が送信する第５終了情報（Finishedメッセージ）は、認証装置が受信する第５終了情報（Finishedメッセージ）と同一であり、認証装置が送信する第６終了情報（Finishedメッセージ）は、利用者装置が受信する第６終了情報（Finishedメッセージ）と同一である。よって、第５終了情報及び／又は第６終了情報は、利用者装置と認証装置とが秘密情報PMSによって定まる共通鍵MSを用い、イニシャルベクトルを必要とするブロック暗号方式（CBCモード等）によって暗号化又は復号を行う場合のイニシャルベクトルとして利用できる。すなわち、本形態の再接続処理を実行することによって、利用者装置と認証装置との間で共有された共通鍵MSを用い、終了情報（Finishedメッセージ）をイニシャルベクトルとしたブロック暗号方式（CBCモード等）によって暗号化又は復号を行うことが可能となり、公開鍵簿管理装置３０も、このような暗号文を復号できる。また、本形態の再接続処理は、利用者装置及び認証装置側からみればＴＬＳ等において標準化されている処理と同様である。すなわち、本形態の処理を行うに際し、利用者装置及び認証装置の仕様を変更する必要はない。
【０１１５】
〔第４実施形態〕
本形態は、第１，２実施形態の変形例である。第１，２実施形態では、「鍵情報」として共通鍵暗号方式の共通鍵を用い、これを利用者装置と公開鍵簿管理装置と認証装置とで共有することとしたが、第４実施形態では、「鍵情報」として公開鍵暗号方式の秘密鍵を用い、これを当該三装置間で共有する。この点が第１，２実施形態との相違点である。なお、このような暗号方式の変形は第１，２実施形態の何れに対しても適用可能である。しかし、以下では第１実施形態に対してこのような暗号方式の変形を加えた実施形態を説明する。また、以下では第１実施形態との相違点を中心に説明し、第１実施形態と共通する事項については説明を省略する。
【０１１６】
＜構成＞
［全体構成］
図１７は、第４実施形態の公開鍵簿登録システム３００の全体構成を説明するためのブロック図である。
図１７に例示するように、本形態の公開鍵簿登録システム３００は、利用者装置３１０（例えば、クライアント装置）と、認証装置３２０（例えば、認証サーバ装置）と、公開鍵簿管理装置３３０（例えば、拡張サーバ装置）と、通信装置６０（例えば、サービスサーバ装置）とを有する。また、利用者装置３１０と公開鍵簿管理装置３３０とは、ネットワーク４０を通じて通信可能に接続され、認証装置３２０と公開鍵簿管理装置３３０とは、ネットワーク５０を通じて通信可能に接続される。また、通信装置６０は、ネットワーク４０を通じて利用者装置３１０及び公開鍵簿管理装置３３０と通信可能に接続される。
【０１１７】
なお、本形態の利用者装置３１０と認証装置３２０とは、二装置間での認証処理と、暗号技術を用いた当該二装置間での共通鍵の配送処理と、当該共通鍵を特定するための秘密情報及び当該二装置間の通信ログ情報を用いて当該共通鍵の設定過程の正当性を確認する処理と、を含むプロトコル（例えば、SSLやTLSやそれらの拡張等）に従いつつ、本形態独自の処理を行う装置である。
【０１１８】
また、説明を簡略化するため、図１７では、１つの利用者装置３１０と認証装置３２０とが公開鍵簿管理装置３３０と通信可能に接続されているが、２以上の利用者装置３１０と認証装置３２０とが公開鍵簿管理装置３３０と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置３３０を設けた構成であってもよく、複数の通信装置６０を設けた構成であってもよい。
【０１１９】
［利用者装置］
本形態の利用者装置３１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【０１２０】
図１８は、第４実施形態の利用者装置３１０の機能構成を説明するためのブロック図である。
図１８に例示するように、本形態の利用者装置３１０は、記憶部１１、演算部３１２、送信部１３、受信部１４、制御部１５、一時記憶部１６、入力部１７及び出力部１８を有する。また、演算部３１２は、乱数生成部１２ａ、ＤＨ秘密値設定部３１２ｂ、DH公開値演算部３１２ｃ、秘密情報演算部３１２ｄ、署名生成部１２ｄ、共通鍵生成部１２ｅ、終了情報生成部１２ｆ、終了情報検証部１２ｇ、通信処理部１２ｈ、認証情報暗号化部３１２ｉ及び認証結果復号部３１２ｊを有する。なお、本形態の演算部３１２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【０１２１】
［認証装置］
本形態の認証装置３２０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【０１２２】
図１９は、第４実施形態の認証装置３２０の機能構成を説明するためのブロック図である。
図１９に例示するように、本形態の認証装置３２０は、記憶部２１、演算部３２２、送信部２３、受信部２４、制御部２５及び一時記憶部２６を有する。また、演算部３２２は、乱数生成部２２ａ、ＤＨ秘密値設定部３２２ｂ、DH公開値演算部３２２ｃ、秘密情報演算部３２２ｄ（「鍵情報共有部」を構成）、共通鍵生成部２２ｅ（「鍵情報共有部」を構成）、終了情報生成部２２ｆ、終了情報検証部２２ｇ、通信処理部２２ｈ、認証情報復号部２２ｉ、認証部２２ｊ及び認証結果暗号化部２２ｋを有する。なお、本形態の演算部３２２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【０１２３】
［公開鍵簿管理装置］
本形態の公開鍵簿管理装置３３０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【０１２４】
図２０は、第４実施形態の公開鍵簿管理装置３３０の機能構成を説明するためのブロック図である。
図２０に例示するように、本形態の公開鍵簿管理装置３３０は、記憶部３１，３７、演算部３３２、送信部３３、受信部３４、制御部３５及び一時記憶部３６を有する。また、演算部３３２は、暗号リスト制限部３２ａ、乱数生成部３３２ａ、署名情報検証部３２ｃ、ＤＨ秘密値設定部３３２ｂ、DH公開値演算部３３２ｃ、秘密情報演算部３３２ｄ（「鍵情報共有部」を構成）、共通鍵生成部３２ｅ（「鍵情報共有部」を構成）、終了情報生成部３２ｆ、終了情報検証部３２ｇ、通信処理部３２ｈ、認証情報復号部３２ｉ、認証情報暗号部３３２ｉ、認証結果復号部３２ｊ、認証結果暗号化部３３２ｋ、公開鍵簿生成部３２ｋ及び検索部３２ｍを有する。なお、本形態の演算部３３２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【０１２５】
＜処理＞
次に、本形態の処理を説明する。
【０１２６】
［前提］
第１実施形態との相違点は、公開鍵簿管理装置３３０とに対し、公開鍵暗号方式（ＲＳＡ等）の鍵ペア（公開鍵，秘密鍵）が生成されている点である。なお、鍵ペアは複数の暗号方式分生成されてもよい。そして、公開鍵簿管理装置３３０の秘密鍵SKgが公開鍵簿管理装置３３０の記憶部３１に格納され、当該秘密鍵SKgに対応する公開鍵簿管理装置３３０の公開鍵PKgにも、認証局によって公開鍵証明書Cgが発行され、これが公開鍵簿管理装置３３０記憶部３１に格納される。その他の点は、第１実施形態と同様である。
【０１２７】
［処理の全体］
図２１及び図２２は、第４実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
【０１２８】
まず、利用者装置３１０（図１８）の乱数生成部１２ａが、乱数R1（第１乱数）を生成し、記憶部１１に格納する。そして、通信処理部１２ｈが、記憶部１１から乱数R1及び暗号リストCSL１を読み込み、これらを含む情報（ClientHelloメッセージ）を生成して送信部１３に送る。送信部１３は、乱数R1及び暗号リストCSL1を含むClientHelloメッセージをネットワーク４０経由で公開鍵簿管理装置３３０に送信する（ステップＳ３０１）。
【０１２９】
ClientHelloメッセージは、公開鍵簿管理装置３３０（図２０）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、ClientHelloメッセージが具備する乱数R1を記憶部３１に格納する。次に、公開鍵簿管理装置３３０の乱数生成部３３２ａが、乱数R2を生成し、記憶部３１に格納する。また、通信処理部３２ｈは、記憶部３１に格納された暗号リストCSLから１つの暗号方式Cを選択し、それを記憶部３１に格納する。本形態では、一例としてDH (Diffie-Hellman)系の暗号方式が暗号方式Cとして選択されたとする。さらに通信処理部３２ｈは、記憶部３１から当該暗号方式Cと乱数R2とを読み込み、これらを含む情報（ServerHelloメッセージ）を生成して送信部３３に送る。送信部３３は、乱数R2及び暗号方式Cを含むServertHelloメッセージをネットワーク４０経由で利用者装置３１０に送信する（ステップＳ３０２）。
【０１３０】
ServertHelloメッセージは、利用者装置３１０（図１８）の受信部１４で受信され、通信処理部１２ｈに送られる。通信処理部１２ｈは、ServertHelloメッセージが具備する乱数R2と暗号方式Cとを記憶部１１に格納する。
【０１３１】
次に、公開鍵簿管理装置３３０（図２０）の通信処理部３２ｈが記憶部３１に格納された公開鍵証明書Cgを読み込み、これを含む情報（ServerCertificateメッセージ）を送信部３３に送る。送信部３３は、当該公開鍵簿管理装置３３０の公開鍵証明書Cgを、ネットワーク４０経由で利用者装置３１０に送信する。送信された公開鍵簿管理装置３３０の公開鍵証明書Cgは、利用者装置３１０（図１８）の受信部１４で受信され、通信処理部１２ｈに送られる。通信処理部１２ｈは、当該認証装置３２０の公開鍵証明書Cgを記憶部１１に格納する（ステップＳ３０３）。
【０１３２】
次に、公開鍵簿管理装置３３０（図２０）のＤＨ秘密値設定部３３２ｂが、整数のＤＨ秘密値S2を生成し、記憶部３１に格納する。また、ＤＨ公開値演算部３３２ｃがDiffie-Hellman 演算に使用される共通パラメータであるＤＨパラメータ（素数モジュラスpや生成元gや群等）を設定して記憶部３１に格納する。次に、ＤＨ公開値演算部３３２ｃが、記憶部３１からＤＨパラメータとＤＨ秘密値S2とを読み込んで、これらからＤＨ公開値A（例えばgS2mod p）を生成して、記憶部３１に格納する。次に、通信処理部３２ｈが、記憶部３１からＤＨパラメータとＤＨ公開値Aとを読み込んでこれらを含む情報（ServerKeyExchangeメッセージ）を生成して送信部３３に送る。送信部３３は、このServerKeyExchangeメッセージをネットワーク４０経由で利用者装置３１０に送信する。ServerKeyExchangeメッセージは、利用者装置３１０（図１８）の受信部１４で受信され、それが具備するＤＨパラメータとＤＨ公開値Aとが記憶部１１に格納される（ステップＳ３０４）。
【０１３３】
その後、公開鍵簿管理装置３３０がCertificateRequest，ServerHelloDoneのメッセージを利用者装置３１０に送信した後、利用者装置３１０の通信処理部１２ｈが、記憶部１１に格納された公開鍵PKcの公開鍵証明書Ccを読み込み、これを含む情報（ClientCertificateメッセージ）を送信部１３に送る。送信部１３は、当該利用者装置３１０の公開鍵証明書Cc（利用者装置３１０の公開鍵PKcを含む）を、ネットワーク４０経由で公開鍵簿管理装置３３０に送信する。当該利用者装置３１０の公開鍵証明書Ccは、公開鍵簿管理装置３３０（図２０）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、利用者装置３１０の公開鍵証明書Ccを記憶部３１に格納する（公開鍵送信過程／ステップＳ３０５）。
【０１３４】
次に、利用者装置３１０（図１８）のＤＨ秘密値設定部３１２ｂが、整数のＤＨ秘密値S1を生成し、記憶部１１に格納する。また、ＤＨ公開値演算部３１２ｃが、記憶部１１からＤＨパラメータとＤＨ秘密値S1とを読み込んで、これらからＤＨ公開値B（例えば gS1 mod p）（「第１鍵共有化情報」に相当）を生成して、記憶部１１に格納する。次に、通信処理部１２ｈが、記憶部３１からＤＨ公開値Bを読み込んでこれを含む情報（ClientKeyExchangeメッセージ）を生成して送信部１３に送る。送信部１３は、このClientKeyExchangeメッセージをネットワーク４０経由で公開鍵簿管理装置３３０に送信する。ClientKeyExchangeメッセージは、公開鍵簿管理装置３３０（図２０）の受信部４４で受信され、それが具備するＤＨ公開値Bが記憶部３１に格納される（第１鍵共有化情報送信過程）。
【０１３５】
また、利用者装置３１０の秘密情報演算部３１２ｄ、が、記憶部１１からＤＨパラメータとＤＨ秘密値S1とＤＨ公開値Ａとを読み込み、これらを用いて秘密情報PMS1（例えば gS1・S2 mod p）を生成し、記憶部３１に格納する。さらに、利用者装置３１０の共通鍵生成部１２ｅ（「鍵情報共有部」を構成）が、記憶部１１から秘密情報PMS1を読み込み、当該密情報PMS1によって定まる共通鍵MS1（「第１鍵情報」に相当）を生成して記憶部１１に格納する。同様に、公開鍵簿管理装置３３０の秘密情報演算部３３２ｄ、が、記憶部３１からＤＨパラメータとＤＨ秘密値S2とＤＨ公開値Bとを読み込み、これらを用いて秘密情報PMS1（例えば gS1・S2 mod p）を生成し、記憶部３１に格納する。さらに、公開鍵簿管理装置３３０の共通鍵生成部３２ｅ（「鍵情報共有部」を構成）が、記憶部３１から秘密情報PMS1を読み込み、当該密情報PMS1によって定まる共通鍵MS1を生成して記憶部３１に格納する（第１鍵情報共有過程／ステップＳ３０６）。
【０１３６】
次に、利用者装置３１０（図１８）の署名生成部１２ｄが、記憶部１１から暗号方式Ｃを読み込み、それに対応する利用者装置３１０の秘密鍵SKc（「公開鍵送信過程で送信された公開鍵に対応する秘密鍵」に相当）を読み込む。さらに、署名生成部１２ｄは、記憶部１１から少なくともＤＨ公開値B（「第１鍵共有化情報」に相当）を読み込み、当該秘密鍵SKcを用い、ＤＨ公開値Bを含む情報に対する署名情報Sign1を生成して記憶部１１に格納する（署名情報生成過程）。なお、ＴＬＳ等の場合、ClientHello メッセージ（ステップＳ３０１）から現在までの、このメッセージを除く、利用者装置３１０が送信または受信したすべてのハンドシェイク（通信ログ情報）が署名対象となる。通信処理部１２ｈは、記憶部１１から署名情報Sign1を読み込み、これを含む情報（CertificateVerifyメッセージ）を送信部１３に送る。送信部１３は、このCertificateVerifyメッセージをネットワーク４０経由で公開鍵簿管理装置３３０に送信する（署名情報送信過程）。CertificateVerifyメッセージは、公開鍵簿管理装置３３０（図２０）の受信部３４で受信され、通信処理部３２ｈに送られる。通信処理部３２ｈは、CertificateVerifyメッセージが具備する署名情報Sign1を記憶部３１に格納する。そして、署名情報検証部３２ｃが、記憶部３１から利用者装置３１０の公開鍵証明書Ccを読み込み、利用者装置３１０の公開鍵証明書Ccを発行したＣＡの公開鍵をネットワーク４０に接続された図示していない認証局装置から取得する。取得されたＣＡの公開鍵は記憶部３１に格納される。通信処理部３２ｈは、記憶部３１から利用者装置３１０の公開鍵証明書CcとＣＡの公開鍵を読み込み、ＣＡの公開鍵を用いて利用者装置３１０の公開鍵証明書Ccを検証する。この検証が合格であった場合、署名情報検証部３２ｃが記憶部３１から署名情報Sign1と、利用者装置３１０の公開鍵証明書Ccが具備する利用者装置３１０の公開鍵PKc（公開鍵送信過程で送信された公開鍵）とを読み込む。そして、署名情報検証部３２ｃは、利用者装置３１０の公開鍵PKcを用いて署名情報Sign1を検証する（署名情報検証過程）。これにより、公開鍵簿管理装置３３０は、公開鍵PKcを送信してきた利用者装置３１０が確かに対応する秘密鍵SKcを所持していること、及び、その利用者装置３１０との間で共通鍵MS1（「第１鍵情報」に相当）を共有することを確認できる（ステップＳ３０７）。
【０１３７】
次に、終了情報生成部１２ｆが、記憶部１１から共通鍵MS1と、利用者装置３１０と公開鍵簿管理装置３３０との間の通信ログ情報HS1と、秘密情報PMS1とを読み込み、共通鍵MS1（「鍵情報」に相当）を用い、秘密情報共通鍵MS1と通信ログ情報HS1とに対応する情報を暗号化した終了情報F1（Finishedメッセージ）を生成して記憶部１１に格納する。生成された終了情報F1（Finishedメッセージ）は送信部１３に送られ、そこからネットワーク４０経由で公開鍵簿管理装置３３０に送信される（ステップＳ３０８）。
【０１３８】
終了情報F1（Finishedメッセージ）は、公開鍵簿管理装置３３０（図２０）の受信部３４で受信され、記憶部３１に格納される。次に、終了情報検証部３２ｇが、記憶部３１から終了情報F1（Finishedメッセージ）と、共通鍵MS1と、利用者装置３１０と公開鍵簿管理装置３３０との間の通信ログ情報HS1と、秘密情報PMS1とを読み込み、共通鍵MS1を用い、終了情報F1（Finishedメッセージ）が秘密情報MS1に対応するか否かを検証する。
【０１３９】
この検証が合格であった場合、次に、公開鍵簿管理装置３３０の終了情報生成部３２ｆが、記憶部３１から共通鍵MS1と、利用者装置３１０と公開鍵簿管理装置３３０との間の通信ログ情報HS2と、秘密情報PMS1とを読み込み、共通鍵MS1を用い、秘密情報共通鍵MS1と通信ログ情報HS2とに対応する情報を暗号化した終了情報F2（Finishedメッセージ）を生成して記憶部３１に格納する。生成された終了情報F2（Finishedメッセージ）は送信部３３に送られ、そこからネットワーク４０経由で利用者装置３１０に送信される。
【０１４０】
終了情報F2（Finishedメッセージ）は、利用者装置３１０（図１８）の受信部１４で受信され、記憶部１１に格納される。次に、終了情報検証部１２ｇが、記憶部１１から終了情報F2（Finishedメッセージ）と、共通鍵MS1と、利用者装置３１０と公開鍵簿管理装置３３０との間の通信ログ情報HS2と、秘密情報PMS1とを読み込み、共通鍵MS1を用い、終了情報F2（Finishedメッセージ）が秘密情報MS1に対応するか否かを検証する（ステップＳ３０９）。
【０１４１】
この検証が合格であった場合、利用者装置３１０と公開鍵簿管理装置３３０との間で秘密情報MS1と共通鍵MS1とが共有されたことになる。
【０１４２】
また、ステップＳ３０１〜Ｓ３０９と同様な処理が、公開鍵簿管理装置３３０と認証装置２０との間でも実行され、公開鍵簿管理装置３３０と認証装置３２０との間で秘密情報MS2と共通鍵MS2（「第２鍵情報」に相当）とが共有され、これらが各記憶部３１，３２に格納される（ステップＳ３１０〜Ｓ３１８）。ステップＳ３０１〜Ｓ３０９とステップＳ３１０〜Ｓ３１８との相違点は以下の通りである。
【０１４３】
・利用者装置３１０→公開鍵簿管理装置３３０
・公開鍵簿管理装置３３０→認証装置３２０
・乱数R1,R2→乱数R3,R4
・暗号リストCSL1、暗号方式C1→暗号リストCSL2、暗号方式C2
・公開鍵証明書Cg→公開鍵証明書Cs
・公開鍵証明書Cc→公開鍵証明書Cg
・ＤＨパラメータ、ＤＨ公開値A→ＤＨパラメータ、ＤＨ公開値C
・ＤＨ公開値B→ＤＨ公開値D
・秘密情報PMS1、共通鍵MS1→秘密情報PMS2、共通鍵MS2
・通信ログ情報HS1,HS2→通信ログ情報HS3,HS4
・終了情報FN1,FN2→終了情報FN3,FN4
【０１４４】
なお、ステップＳ３１５が、公開鍵簿管理装置３３０の送信部３３が、第２鍵情報MS2を当該公開鍵簿管理装置３３０と認証装置３２０との間で共有するための暗号情報である第２鍵共有化情報（ＤＨ公開値D）を、認証装置３２０に送信する第２鍵共有化情報送信過程と、認証装置３２０の鍵情報共有部（ＤＨ秘密情報演算部３３２ｄ、共通鍵生成部２２ｅ）が、第２鍵共有化情報（ＤＨ公開値D）を用いて第２鍵情報MS2を抽出する第２鍵情報共有過程と、に相当する。また、ステップＳ３０１〜Ｓ３０９の処理とステップＳ３１０〜Ｓ３１８の処理とは、どちらを先に行ってもよく、また、これらを並行して実行してもよい。
【０１４５】
その後、公開鍵簿管理装置３３０の通信処理部３２ｈは、記憶部３１内の共通鍵MS1（「第１鍵情報」に相当）と共通鍵MS2（「第２鍵情報」に相当）とを相互に関連付けて記憶部３１に格納する（鍵情報関連付け過程／ステップＳ３１９）。さらに、ここまでの何れかの時点（例えば各情報が記憶部３１に格納される時点や終了情報検証過程終了後）において、利用者装置３１０の公開鍵証明書Ccと、各ＤＨ公開値A〜Dと、ＤＨ秘密値S2,S3と、署名情報Sign1と、ＤＨパラメータと、各秘密情報PMS1,PMS2と、各共通鍵MS1,MS2（「第１鍵情報」「第２鍵情報」に相当）との関連付けがなされる。なお、このような関連付けではなく、利用者装置３１０の公開鍵証明書Ccが具備する公開鍵PKcと各共通鍵MS1,MS2や各秘密情報PMS1,PMS2とのみを関連付けておく構成であってもよい。さらには、終了情報F1〜F4をこれらの関連付けに加える構成であってもよい。すなわち、最低限、公開鍵簿管理装置３３０が、後に各共通鍵MS1，MS2を用いた共通鍵暗号通信内容を復号でき、その共通鍵暗号通信に対応する利用者装置３１０の公開鍵PKcを特定できる状態にしておけばよいが、多くの関連付けを行っておけば後に有効な再検証ができる。
【０１４６】
ここまでの処理により、公開鍵簿管理装置３３０は、共通鍵MS1（「第１鍵情報」に相当）を用いて公開鍵簿管理装置３３０と共通鍵暗号通信が可能なのは、ステップＳ３０５で公開鍵PKcを送信した利用者装置３１０のみであり、この利用者装置３１０は公開鍵PKcに対応する秘密鍵SKcを所持していることを確信できる。また、公開鍵簿管理装置３３０は、共通鍵MS2（「第２鍵情報」に相当）を用いて公開鍵簿管理装置３３０と共通鍵暗号通信が可能なのは、認証装置３２０のみであることを知っている。さらに、公開鍵簿管理装置３３０は、共通鍵MS1と共通鍵MS2との対応を知っている。
【０１４７】
次に、利用者装置３１０（図１８）の出力部１８は、認証装置３２０の認証を受けるための認証情報AIの入力を促す表示を行い、入力部１７は、利用者から入力された認証情報AI入力を受け付ける。入力部１７に入力された認証情報AIは、まず記憶部１１に格納される。次に、認証情報暗号化部１２ｉが、記憶部１１から共通鍵MS1（「第１鍵情報」に相当）と認証情報AIとを読み込み、認証情報AIを、共通鍵MS1によって復号可能な認証情報暗号化情報CEn(MS1,AI)に暗号化する（第１認証情報暗号化過程）。本形態の場合、認証情報暗号化部１２ｉは、共通鍵MS1を用い、共通鍵暗号方式によって認証情報AIを暗号化した暗号文を第１認証情報暗号化情報CEn(MS1,AI)とする。生成された第１認証情報暗号化情報CEn(MS1,AI)は送信部１３に送られ、送信部１３は、ネットワーク４０経由で、第１認証情報暗号化情報CEn(MS1,AI)を公開鍵簿管理装置３３０に送信する（第１認証情報暗号化情報送信過程／ステップＳ３２１）。
【０１４８】
第１認証情報暗号化情報CEn(MS1,AI)は、公開鍵簿管理装置３３０（図２０）の受信部３４で受信され、記憶部３１に格納される。次に、認証情報復号部３２ｉが、記憶部３１から第１認証情報暗号化情報CEn(MS1,AI)と共通鍵MS1とを読み込み、共通鍵MS1で第１認証情報暗号化情報CEn(MS1,AI)を復号して認証情報AIを抽出する。抽出された認証情報AIは、前述のように関連付けられたＤＨ公開値、共通鍵MS1等と関連付けられて記憶部３１に格納される（第１認証情報復号過程）。
【０１４９】
次に、認証情報暗号化部３３２ｉが、記憶部３１から共通鍵MS2（「第２鍵情報」に相当）と認証情報AIとを読み込み、認証情報AIを、共通鍵MS2によって復号可能な第２認証情報暗号化情報CEn(MS2,AI)に暗号化する（第２認証情報暗号化過程／ステップＳ３２２）。本形態の場合、認証情報暗号化部３３２ｉは、共通鍵MS2を用い、共通鍵暗号方式によって認証情報AIを暗号化した暗号文を第２認証情報暗号化情報CEn(MS2,AI)とする。
【０１５０】
生成された第２認証情報暗号化情報CEn(MS2,AI)は送信部３３に送られ、送信部３３は、ネットワーク５０経由で第２認証情報暗号化情報CEn(MS2,AI)を認証装置３２０に送信する（第２認証情報暗号化情報送信過程）。第２認証情報暗号化情報CEn(MS2,AI)は、認証装置３２０（図１９）の受信部２４で受信されて記憶部２１に格納される。次に、認証情報復号部２２ｉが、記憶部２１から第２認証情報暗号化情報CEn(MS2,AI)と共通鍵MS2（「第２鍵情報」に相当）とを読み込み、当該共通鍵MS2を用いて第２認証情報暗号化情報CEn(MS2,AI)を復号して認証情報AIを抽出する（第２認証情報復号過程／ステップＳ３２３）。抽出された認証情報AIは記憶部２１に格納される。
【０１５１】
次に、認証部２２ｊが、記憶部２１から認証情報AIを読み込み、これを用いて認証処理を行い、その認証結果VEを出力して記憶部２１に格納する（認証過程）。
【０１５２】
次に、認証結果暗号化部２２ｋが、記憶部２１から認証結果VEと共通鍵MS2（「第２鍵情報」に相当）とを読み込み、認証結果VEを共通鍵MS2によって復号可能な認証結果暗号化情報CEn(MS2,VE)に暗号化し（認証結果暗号化過程）、当該認証結果暗号化情報CEn(MS2,VE)を記憶部２１に格納する。なお、本形態では、共通鍵MS2を用い、共通鍵暗号方式によって認証結果VEを暗号化した暗号文を認証結果暗号化情報CEn(MS2,VE)とする。次に、通信処理部２２ｈが、記憶部２１から認証結果暗号化情報CEn(MS2,VE)を読み込み、これを送信部２３に送る。送信部２３は、当該認証結果暗号化情報CEn(MS2,VE)をネットワーク５０経由で公開鍵簿管理装置３３０に送信する（認証結果暗号化情報送信過程／ステップＳ３２４）。
【０１５３】
認証結果暗号化情報CEn(MS2,VE)は、公開鍵簿管理装置３３０（図２０）の受信部３４で受信され、前述のように関連付けられたＤＨ公開値D、共通鍵MS2等と関連付けられて記憶部３１に格納される。次に、認証結果復号部３２ｊが、記憶部３１から認証結果暗号化情報CEn(MS2,VE)と共通鍵MS2とを読み込み、共通鍵MS2を用いて認証結果暗号化情報CEn(MS2,VE)を復号して認証結果VEを抽出する。当該認証結果VEは、前述のように関連付けられたＤＨ公開値D、共通鍵MS2等と関連付けられて記憶部３１に格納される（認証結果復号過程）。
【０１５４】
ここで、公開鍵簿管理装置３３０は、共通鍵MS2を用いて認証結果暗号化情報CEn(MS2,VE)が復号できたことを根拠に、復号して得られた認証結果VEが当該共通鍵MS2に関連付けられている公開鍵PKc（利用者装置の公開鍵証明書Ccが含む）を提供した利用者装置３１０に対するものであることを確認できる。そこで、公開鍵簿生成部３２ｋは、当該公開鍵PKcと、認証結果復号過程で抽出された認証結果VEとを記憶部３１から読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部３７に格納する（公開鍵簿生成過程）。
【０１５５】
次に、認証結果暗号化部３３２ｋが、記憶部３１から認証結果VEと、共通鍵MS2（「第２鍵情報」に相当）に関連付けられている共通鍵MS1（「第１鍵情報」に相当）とを読み込み、認証結果VEを共通鍵MS1によって復号可能な認証結果暗号化情報CEn(MS1,VE)に暗号化し、当該認証結果暗号化情報CEn(MS1,VE)を記憶部３１に格納する。なお、本形態では、共通鍵MS1を用い、共通鍵暗号方式によって認証結果VEを暗号化した暗号文を認証結果暗号化情報CEn(MS1,VE)とする（ステップＳ３２５）。
【０１５６】
その後、通信処理部３２ｈが記憶部３１から認証結果暗号化情報CEn(MS1,VE)を読み込み、それを送信部３３に送る。送信部３３は、当該認証結果暗号化情報CEn(MS1,VE)をネットワーク４０経由で利用者装置３１０に送信する。当該認証結果暗号化情報CEn(MS1,VE)は、利用者装置３１０（図１８）の受信部１４で受信され、記憶部１１に格納される。その後、認証結果復号部１２ｊが、記憶部１１から認証結果暗号化情報CEn(MS1,VE)と共通鍵MSとを読み込み、共通鍵MSを用いて認証結果暗号化情報CEn(MS1,VE)を復号して認証結果VEを抽出し、記憶部１１に格納する（ステップＳ３２６）。
【０１５７】
以上の処理により、利用者装置３１０の公開鍵PKcとその認証結果VEとの組が公開鍵簿のエントリとして追加された。その後、公開鍵簿管理装置３３０の検索部３２ｍが、通信装置６０からの要求に応じ、所望の公開鍵と認証結果との組を記憶部３７の公開鍵簿から検索し、当該抽出された公開鍵と認証結果との組が送信部３３から通信装置６０に送信される。
【０１５８】
＜本形態の特徴＞
本形態でも、第１実施形態と同様、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。それに加え、本形態では、認証装置３２０の秘密鍵を公開鍵簿管理装置３３０に格納する前処理が不要である。
【０１５９】
なお、本形態では、ＤＨ方式によって共通鍵MS1,MS2を共有する方法を例示したが、第１，２実施形態のように公開鍵暗号方式（ＲＳＡ方式等）によって共通鍵MS1,MS2を共有してもよい。
【０１６０】
〔第５実施形態〕
本形態は第１，２実施形態の変形例であり、利用者装置と公開化鍵簿管理装置と認証装置とで共通鍵を共有した後に行われる認証処理が第１，２実施形態と相違する。なお、本形態は、第1，２実施形態双方に適用可能である。しかし、以下では第1実施形態に適用した場合を例示し、第1実施形態との相違点のみを説明する。
【０１６１】
＜構成＞
［全体構成］
図２３は、第５実施形態の公開鍵簿登録システム４００の全体構成を説明するためのブロック図である。
図２３に例示するように、本形態の公開鍵簿登録システム４００は、利用者装置４１０（例えば、クライアント装置）と、認証装置４２０（例えば、認証サーバ装置）と、公開鍵簿管理装置４３０（例えば、拡張サーバ装置）と、通信装置６０（例えば、サービスサーバ装置）とを有する。また、利用者装置４１０と公開鍵簿管理装置４３０とは、ネットワーク４０を通じて通信可能に接続され、認証装置４２０と公開鍵簿管理装置４３０とは、ネットワーク５０を通じて通信可能に接続される。また、通信装置６０は、ネットワーク４０を通じて利用者装置４１０及び公開鍵簿管理装置４３０と通信可能に接続される。
【０１６２】
なお、説明を簡略化するため、図２３では、１つの利用者装置４１０と認証装置４２０とが公開鍵簿管理装置４３０と通信可能に接続されているが、２以上の利用者装置４１０と認証装置４２０とが公開鍵簿管理装置４３０と通信可能に接続されていてもよい。さらには、複数の公開鍵簿管理装置４３０を設けた構成であってもよく、複数の通信装置６０を設けた構成であってもよい。
【０１６３】
［利用者装置］
本形態の利用者装置４１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【０１６４】
図２４は、第５実施形態の利用者装置４１０の機能構成を説明するためのブロック図である。
図２４に例示するように、本形態の利用者装置４１０は、記憶部１１、演算部４１２、送信部１３、受信部１４、制御部１５、一時記憶部１６、入力部１７及び出力部１８を有する。また、演算部４１２は、乱数生成部１２ａ、秘密情報設定部１２ｂ、公開鍵暗号化部１２ｃ、署名生成部１２ｄ、共通鍵生成部１２ｅ、終了情報生成部１２ｆ、終了情報検証部１２ｇ、通信処理部１２ｈ及び一方向性関数演算部４１２ｉを有する。なお、本形態の演算部４１２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【０１６５】
［認証装置］
本形態の認証装置４２０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【０１６６】
図２５は、第５実施形態の認証装置４２０の機能構成を説明するためのブロック図である。
図２５に例示するように、本形態の認証装置４２０は、記憶部２１、演算部４２２、送信部２３、受信部２４、制御部２５及び一時記憶部２６を有する。また、演算部４２２は、乱数生成部２２ａ、復号部２２ｃ（「鍵情報共有部」を構成）、共通鍵生成部２２ｅ（「鍵情報共有部」を構成）、終了情報生成部２２ｆ、終了情報検証部２２ｇ、通信処理部２２ｈ及び認証部４２２ｊを有する。なお、本形態の演算部４２２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。  
【０１６７】
［公開鍵簿管理装置］
本形態の公開鍵簿管理装置４３０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、通信装置等を具備する公知のコンピュータに所定のプログラムが読み込まれ、ＣＰＵがそれを実行することにより構成されるものである。
【０１６８】
図２６は、第５実施形態の公開鍵簿管理装置４３０の機能構成を説明するためのブロック図である。
図２６に例示するように、本形態の公開鍵簿管理装置４３０は、記憶部３１，３７、演算部４３２、送信部３３、受信部３４、制御部３５及び一時記憶部３６を有する。また、演算部４３２は、暗号リスト制限部３２ａ、復号部３２ｂ（「鍵情報共有部」を構成）、署名情報検証部３２ｃ、共通鍵生成部３２ｅ（「鍵情報共有部」を構成）、終了情報生成部３２ｆ、終了情報検証部３２ｇ、通信処理部３２ｈ、公開鍵簿生成部３２ｋ、確認認証部４３２ｉ及び検索部３２ｍを有する。なお、本形態の演算部４３２は、ＣＰＵに所定のプログラムが読み込まれ、ＣＰＵがそれらを実行することによって構築される処理部である。
【０１６９】
＜処理＞
次に、本形態の処理を説明する。
［前提］
第1実施形態と同様である。
【０１７０】
［処理の全体］
図２７は、第５実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
【０１７１】
まず、第1実施形態と同じステップＳ１からＳ１９の処理を実行し、利用者装置４１０と認証装置４２０と公開鍵簿管理装置４３０とで共通鍵MSを共有する。ただし、ＴＬＳ等の場合は、共通鍵MSを用いて共通鍵暗号通信を行わない旨の設定（NULL）を行う点が第１実施形態と相違する。
【０１７２】
その後まず、認証装置４２０（図２５）の乱数整数部２２ａが乱数であるチャレンジC1を生成して記憶部２１に格納する。このチャレンジC1は送信部２３に送られ、送信部２３は、チャレンジC1をネットワーク５０経由で公開鍵簿管理装置４３０に送る（ステップＳ４２１）。公開鍵簿管理装置４３０（図２６）は送信されたチャレンジC1を受信部３４で受信し、これを共通鍵MS等と関連付けて記憶部３１に格納し、さらに、送信部３３からネットワーク４０経由で利用者装置４１０に送信する（ステップＳ４２２）。利用者装置４１０（図２４）は送信されたチャレンジC1を受信部１４で受信して記憶部１１に格納する（ステップＳ４２３）。
【０１７３】
次に、利用者装置４１０の一方向性関数演算部４１２ｉが、記憶部１１からチャレンジC1と共通鍵MSとを読み込み、これらのビット結合値（「鍵情報を含む情報」に相当）に対して一方向性関数（SHA-1やMD5等）を作用させて第１ダイジェスト値H1=hash(C1, MS)を生成して記憶部１１に格納する（一方向性関数演算過程）。第１ダイジェスト値H1は、送信部１３に送られ、送信部１３は当該第１ダイジェスト値H1をネットワーク４０経由で公開鍵簿管理装置４３０に送信する（第１ダイジェスト値送信過程／ステップＳ４２４）。
【０１７４】
公開鍵簿管理装置４３０（図２６）は、送信された第１ダイジェスト値H1を受信部３４で受信して共通鍵MS等に関連付けて記憶部３１に格納し、さらに、当該第１ダイジェスト値H1を送信部３３に送る。送信部３３は、当該第１ダイジェスト値H1をネットワーク５０経由で認証装置４２０に送信する（第２ダイジェスト値送信過程／ステップＳ４２５）。
【０１７５】
認証装置４２０（図２５）は、送信された第１ダイジェスト値H1を受信部２４で受信し、記憶部２１に格納する（ステップＳ４２６）。次に、認証部４２２ｊが、記憶部２１からチャレンジC1と共通鍵MSとを読み込み、チャレンジC1と共通鍵MSとのビット結合値（「鍵情報を含む情報」に相当）に対して一方向性関数を作用させた第２ダイジェスト値H2(C1, MS)=hash(C1, MS)を生成して記憶部２１に格納する。なお、当該一方向性関数は利用者装置４１０の一方向性関数演算部４１２ｉで使用された一方向性関数と同一の関数である。次に、認証部４２２ｊは、記憶部２１から第２ダイジェスト値H2と第１ダイジェスト値H1とを読み込み、これらが一致するか否かを検証し、これらが一致する場合に検証合格である旨の認証結果VEを出力し、これらが一致しない場合に検証不合格である旨の認証結果VEを出力する（認証過程）。出力された認証結果VEは、記憶部２１に格納されるとともに送信部２３に送られ、送信部２３は当該認証結果VEをネットワーク５０経由で公開鍵簿管理装置４３０に送信する（認証結果送信過程／ステップＳ４２７）。
【０１７６】
公開鍵簿管理装置４３０（図２６）は、送信された認証結果VEを受信部３４で受信し、記憶部３１に格納する。次に、確認認証部４３２ｉが、記憶部３１から共通鍵MSとチャレンジC1とを読み込み、チャレンジC1と共通鍵MSとのビット結合値（「鍵情報を含む情報」に相当）に対して一方向性関数を作用させた第３ダイジェスト値H3(C1, MS)=hash(C1, MS)を生成して記憶部３１に格納する。なお、当該一方向性関数は利用者装置４１０の一方向性関数演算部４１２ｉで使用された一方向性関数と同一の関数である。次に、確認認証部４３２ｉは、記憶部３１から第３ダイジェスト値H3と第1ダイジェスト値H1とを読み込み、これらが一致するか否かを検証し、これらが一致する場合に認証合格である旨の確認認証結果CVEを出力し、これらが一致しない場合に認証不合格である旨の確認認証結果CVEを出力する（確認認証過程）。当該確認認証結果は記憶部３１に格納される。次に、公開鍵簿生成部３２ｋが、記憶部３１から認証結果VEと確認認証結果CVEとを読み込み、これらが一致するか否かを検証する。そして、これらが一致する場合、公開鍵簿生成部３２ｋは、記憶部３１から認証結果VEと利用者装置４１０の公開鍵証明書Ccが具備する公開鍵PKcとを読み込み、これらを対応付けた情報を、公開鍵簿の一部として記憶部３７に格納する（公開鍵簿生成過程／ステップＳ４２８）。なお、認証結果VEと確認認証結果CVEとが一致する場合とは、認証結果VEのデータ構造と確認認証結果CVEのデータ構造とが完全一致する場合に限定される概念ではなく、それらの内容（検証合格又は検証不合格）が一致する場合を意味する概念である。また、認証結果VEと確認認証結果CVEとが一致する場合とは、認証結果VEが認証合格を示し、なおかつ、確認認証結果CVEが認証合格を示す場合と、認証結果VEが認証不合格を示し、なおかつ、確認認証結果CVEが認証不合格を示す場合との双方を含む。
【０１７７】
その後、認証結果VEは、公開鍵簿管理装置４３０の送信部３３からネットワーク４０経由で利用者装置４１０に送信され、その受信部１４で受信されて記憶部１１に格納される（ステップＳ４２９）。
【０１７８】
＜本形態の特徴＞
本形態でも、第１実施形態と同様、登録時における、公開鍵の正当性と、当該公開鍵と認証結果との関連性とが保証される、安全性の高い公開鍵簿の生成が可能となる。なお、本形態では、認証装置４２０がチャレンジC1を送信する構成としたが、利用者装置４１０と認証装置４２０と公開鍵簿管理装置４３０とが同じチャンレジC1を出力する装置を具備し、それを用いてレスポンスを生成する構成でもよい。また、チャンレジC1を用いずにhash(MS)をレスポンスとする構成でもよい。また、ステップＳ４２３からＳ４２９の通信データの少なくとも一部（好ましくはすべて）に、共通鍵MSを用いて検証可能なMACデータを付加し、これらのデータの改ざんを防止する構成でもよい。
【０１７９】
〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各実施形態では、利用者装置が証明書付きの公開鍵を公開鍵簿管理装置に送信することとしたが、この証明書の送信は必須ではなく、公開鍵のみを送信することとしてもよい。
【０１８０】
また、上述の各実施形態では、「鍵情報」として共通鍵暗号方式の共通鍵を用いる例を説明したが、「鍵情報」として公開鍵暗号方式の秘密鍵を用い、当該秘密鍵を各装置間で共有することとしてもよい。
【０１８１】
また、上述の各実施形態では、利用者装置が暗号リストCSLを用い、認証装置に暗号方式を選択させる構成としたが、そのようなことを行わないプロトコルに本発明を適用してもよい。また、上述の各実施形態では、利用者装置と認証装置とが第１乱数と第２乱数をそれぞれ生成してセッションを行うこととしたが、乱数生成を行うことなくセッションを行うプロトコルに本発明を適用する場合には、そのような乱数は不要である。
【０１８２】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【０１８３】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０１８４】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【０１８５】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【０１８６】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１８７】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【０１８８】
本発明の利用分野としては、例えば、SAML(Security Assertion Markup Language)等のシングルサインオン技術分野を例示できる。ただし、本発明がこの分野以外にも適用可能なのはいうまでもない。
【図面の簡単な説明】
【０１８９】
【図１】図１（ａ）は、認証装置（認証サーバ）が任意の認証結果と公開鍵を対応付けた表（公開鍵簿）を作成し、公開することによって、複数の通信装置が公開鍵を簡易に導入／利用できるようにする技術を説明するための図である。図１（ｂ）は、認証装置から公開鍵簿管理機能を分離し、この公開鍵簿管理機能を別の公開鍵簿管理装置（拡張サーバ）に実装した技術を説明するための図である。
【図２】図２は、第１実施形態の公開鍵簿登録システムの全体構成を説明するためのブロック図である。
【図３】図３は、第１実施形態の利用者装置の機能構成を説明するためのブロック図である。
【図４】図４は、第１実施形態の認証装置の機能構成を説明するためのブロック図である。
【図５】図５は、第１実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。
【図６】図６は、第１実施形態の処理の全体を説明するためのシーケンス図である。
【図７】図７は、第１実施形態の処理の全体を説明するためのシーケンス図である。
【図８】図８は、第１実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。
【図９】図９は、第１実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。
【図１０】図１０は、第１実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。
【図１１】図１１は、第２実施形態の公開鍵簿登録システム１００の全体構成を説明するためのブロック図である。
【図１２】図１２は、第２実施形態の利用者装置の機能構成を説明するためのブロック図である。
【図１３】図１３は、第２実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。
【図１４】図１４は、第２実施形態の処理の全体を説明するためのシーケンス図である。
【図１５】図１５は、第２実施形態の公開鍵簿管理装置の処理を説明するためのフローチャートである。
【図１６】図１６は、第３実施形態における付加処理を説明するためのシーケンス図である。
【図１７】図１７は、第４実施形態の公開鍵簿登録システムの全体構成を説明するためのブロック図である。
【図１８】図１８は、第４実施形態の利用者装置の機能構成を説明するためのブロック図である。
【図１９】図１９は、第４実施形態の認証装置の機能構成を説明するためのブロック図である。
【図２０】図２０は、第４実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。
【図２１】図２１は、第４実施形態の処理の全体を説明するためのシーケンス図である。以下、この図に従って説明を行う。
【図２２】図２２は、第４実施形態の処理の全体を説明するためのシーケンス図である。
【図２３】図２３は、第５実施形態の公開鍵簿登録システムの全体構成を説明するためのブロック図である。
【図２４】図２４は、第５実施形態の利用者装置の機能構成を説明するためのブロック図である。
【図２５】図２５は、第５実施形態の認証装置の機能構成を説明するためのブロック図である。
【図２６】図２６は、第５実施形態の公開鍵簿管理装置の機能構成を説明するためのブロック図である。
【図２７】図２７は、第５実施形態の処理の全体を説明するためのシーケンス図である。
【符号の説明】
【０１９０】
１，１００，３００，４００  公開鍵簿登録システム
【図１】
0004928416.tif 000002
【図２】
0004928416.tif 000003
【図３】
0004928416.tif 000004
【図４】
0004928416.tif 000005
【図５】
0004928416.tif 000006
【図６】
0004928416.tif 000007
【図７】
0004928416.tif 000008
【図８】
0004928416.tif 000009
【図９】
0004928416.tif 000010
【図１０】
0004928416.tif 000011
【図１１】
0004928416.tif 000012
【図１２】
0004928416.tif 000013
【図１３】
0004928416.tif 000014
【図１４】
0004928416.tif 000015
【図１５】
0004928416.tif 000016
【図１６】
0004928416.tif 000017
【図１７】
0004928416.tif 000018
【図１８】
0004928416.tif 000019
【図１９】
0004928416.tif 000020
【図２０】
0004928416.tif 000021
【図２１】
0004928416.tif 000022
【図２２】
0004928416.tif 000023
【図２３】
0004928416.tif 000024
【図２４】
0004928416.tif 000025
【図２５】
0004928416.tif 000026
【図２６】
0004928416.tif 000027
【図２７】
0004928416.tif 000028