(57)【要約】【課題】プライバシ情報の入っている証明書の利用できる範囲の制限を無くし、さらに匿名性を確保したり証明書の用途を変更可能とすること。【解決手段】代替証明書発行・検証システム（３００）は、ユーザ１（５００）に発行された証明書を元にその証明書の情報を削除、追加、変更した代替証明書の発行をユーザ１に行い、ユーザ１は発行された代替証明書をユーザ２（６００）に暗号データや署名データともに添付する。ユーザ１から暗号データや署名データを受け取ったユーザ２は代替証明書発行・検証システムの検証機能を利用することで、ユーザ１によって発行された代替証明書の有効性はもちろん、ユーザ１によって発行された元となった証明書の存在確認をすることができ、ユーザ１とユーザ２は元となるユーザ１（５００）に発行された証明書とユーザ１に発行された代替証明書の差異を確かめることができる。【選択図】図１
2005159463.tif 000002
【特許請求の範囲】
【請求項１】
ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記第１のユーザと公開鍵を用いて通信する第２のユーザと、前記証明書の発行・検証を行う証明書検証システムと、にネットワークを通して接続される代替証明書発行・検証システムであって、
前記代替証明書発行・検証システムは、前記証明書検証システムによって前記第１のユーザに発行されたＰＫＩ認証システムの証明書を格納するリポジトリと、前記リポジトリを管理するリポジトリ管理部と、前記証明書に代替する証明書を発行する代替証明書発行部と、を有し、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記発行に際して、公開された変換ポリシ定義にしたがって前記証明書の情報を変換する
ことを特徴とする代替証明書発行・検証システム。
【請求項２】
請求項１において、
前記証明書の情報の変換後に前記代替証明書発行・検証システムの秘密鍵で署名して前記代替証明書を発行する
ことを特徴とする代替証明書発行・検証システム。
【請求項３】
ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記第１のユーザと公開鍵を用いて通信する第２のユーザと、前記証明書の発行・検証を行う証明書検証システムと、にネットワークを通して接続される代替証明書発行・検証システムであって、
前記代替証明書発行・検証システムは、前記証明書検証システムによって前記第１のユーザに発行されたＰＫＩ認証システムの証明書を格納するリポジトリと、前記リポジトリを管理するリポジトリ管理部と、前記証明書に代替する証明書を発行する代替証明書発行部と、前記第２のユーザのリクエストによる前記代替証明書及び前記公開鍵を検証する代替証明書検証部と、を有し、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記代替証明書検証部は、前記変換ポリシ定義を用いて前記代替証明書と前記リポジトリで管理している前記証明書との差分比較を行い、前記差分比較によって前記代替証明書及び公開鍵の改ざんが行われていないことを検証する
ことを特徴とする代替証明書発行・検証システム。
【請求項４】
請求項３において、
前記差分比較は、前記ポリシ定義と前記代替証明書の対応比較を行うとともに、前記代替証明書と前記証明書の比較を行う
ことを特徴とする代替証明書発行・検証システム。
【請求項５】
請求項３において、
前記代替証明書検証部は、前記差分比較に加えて、前記リポジトリで管理している前記第１のユーザの証明書に対する検証リクエストを作成して前記証明書検証システムに検証依頼し、前記証明書検証システムからの応答結果を前記第２のユーザに送信する
ことを特徴とする代替証明書発行・検証システム。
【請求項６】
請求項５において、
前記代替証明書検証部は、前記証明書検証システムからの応答結果の内容によって公開鍵の有効性を前記第２のユーザに伝達し得る
ことを特徴とする代替証明書発行・検証システム。
【請求項７】
請求項３において、
前記代替証明書検証部は、前記変換ポリシ定義を取り出す変換ポリシ抽出部と、前記変換ポリシ定義と代替証明書との比較及び前記代替証明書と前記証明書との比較を行う証明書比較部と、を備える
ことを特徴とする代替証明書発行・検証システム。
【請求項８】
ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記証明書に代替する証明書を発行する代替証明書発行部及び前記第１のユーザと公開鍵を用いて通信する第２のユーザのリクエストによる前記代替証明書と前記公開鍵を検証する代替証明書検証部を有する代替証明書発行・検証システムと、を備えたＰＫＩ認証システムであって、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記代替証明書検証部は、前記変換ポリシ定義を用いて前記代替証明書と前記リポジトリで管理している前記証明書との差分比較を行い、前記差分比較によって前記代替証明書及び公開鍵の改ざんが行われていないことを検証する
ことを特徴とするＰＫＩ認証システム。
【請求項９】
請求項８において、
前記代替証明書検証部は、前記変換ポリシ定義を取り出す変換ポリシ抽出部と、前記変換ポリシ定義と代替証明書との比較及び前記代替証明書と前記証明書との比較を行う証明書比較部と、を備える
ことを特徴とするＰＫＩ認証システム。
【請求項１０】
ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記証明書に代替する証明書を発行する代替証明書発行部及び前記第１のユーザと公開鍵を用いて通信する第２のユーザのリクエストによる前記代替証明書と前記公開鍵を検証する代替証明書検証部を有する代替証明書発行・検証システムと、を備えたＰＫＩ認証システムであって、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記第１のユーザは、前記第２のユーザの受信した代替証明書の情報確認の監査請求に応じて、前記代替証明書の署名を検定し、
前記代替証明書発行・検証システムの自己署名証明書から変換ポリシ定義を取得し、
前記変換ポリシ定義を用いて前記代替証明書と前記証明書との差分比較を行い、前記差分比較によって前記代替証明書の改ざんが行われていないことを監査し得る
ことを特徴とするＰＫＩ認証システム。
【請求項１１】
ＰＫＩ認証システムの証明書の発行申請を行う第１の計算機システムと、前記第１の計算機システムと公開鍵を用いて通信する第２の計算機システムと、前記証明書の発行・検証を行う証明書検証システムと、にネットワークを通して接続される代替証明書発行・検証システムにおける代替証明書の管理方法であって、
前記代替証明書発行・検証システムは、信頼性の高い前記証明書検証システムによって発行された前記第１の計算機システムへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１の計算機システムの求めに応じて発行し、
さらに、前記代替証明書発行・検証システムは、前記変換ポリシ定義を用いて前記代替証明書と前記リポジトリで管理している前記証明書との差分比較を行い、前記差分比較によって前記代替証明書及び公開鍵の改ざんが行われていないことを前記第２の計算機システムの求めに応じて検証する
ことを特徴とする代替証明書発行・検証システムにおける代替証明書の管理方法。
【請求項１２】
ＰＫＩ認証システムの証明書の発行申請を行う第１の計算機システムと、前記第１の計算機システムと公開鍵を用いて通信する第２の計算機システムと、前記証明書の発行・検証を行う証明書検証システムと、にネットワークを通して接続される代替証明書発行・検証システムにおける代替証明書の管理プログラムであって、
前記代替証明書発行・検証システムは、信頼性の高い前記証明書検証システムによって発行された前記第１の計算機システムへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１の計算機システムの求めに応じて発行する代替証明書発行アプリケーションと、
さらに、前記代替証明書発行・検証システムは、前記変換ポリシ定義を用いて前記代替証明書と前記リポジトリで管理している前記証明書との差分比較を行い、前記差分比較によって前記代替証明書及び公開鍵の改ざんが行われていないことを前記第２の計算機システムの求めに応じて検証する代替証明書検証アプリケーションと、を備える
ことを特徴とする代替証明書発行・検証システムにおける代替証明書の管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、証明書を利用したＰＫＩ（Ｐｕｂｒｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）認証システムに用いられる証明書の発行及び検証の技術に関する。
【背景技術】
【０００２】
プライバシ情報（例えば、生年月日等）を含んだ証明書の配布を広範囲に実行することには証明書悪用の課題もあってなかなかできなかった。そのため、プライバシ情報を含まない証明書を新しく作成することが考えられるが、プライバシ情報を含んだ証明書との関連付けが行われていないため、それぞれの証明書で異なる公開鍵と秘密鍵の鍵ペアを作って行っていた（例えば、特許文献１を参照）。つまり、これらの証明書の関連付けを行う技術は無かった。そのため、プライバシ情報を含む証明書とプライバシ情報を含まない証明書を別々に管理するという煩雑さがあった。
【０００３】
証明書の有効性確認という点では、Ｏｎｌｉｎｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｔｕｓ  Ｐｒｏｔｏｃｏｌという規格が存在し、該当する証明書の有効性をオンラインで確認する手段がすでに存在している。
【特許文献１】特開平１１−８６１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術によると、プライバシ情報を含む証明書を不特定多数に配信することは実際上できず、そのため、プライバシ情報を含む証明書を使う場合、利用できる範囲が限定されるという課題が生じていた。
【０００５】
本発明の目的は、上述した課題を解決するために、プライバシ情報を含む証明書に対してプライバシ情報を含まない代替証明書を発行して証明書の利用できる範囲の制限を無くすことができるようにし、さらに、匿名性を確保したり証明書の用途を変更することができる代替証明書の発行及び検証システムを提供することにある。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は主として次のような構成を採用する。  
ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記第１のユーザと公開鍵を用いて通信する第２のユーザと、前記証明書の発行・検証を行う証明書検証システムと、にネットワークを通して接続される代替証明書発行・検証システムであって、
前記代替証明書発行・検証システムは、前記証明書検証システムによって前記第１のユーザに発行されたＰＫＩ認証システムの証明書を格納するリポジトリと、前記リポジトリを管理するリポジトリ管理部と、前記証明書に代替する証明書を発行する代替証明書発行部と、を有し、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記発行に際して、公開された変換ポリシ定義にしたがって前記証明書の情報を変換する構成とする。
【０００７】
また、ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記第１のユーザと公開鍵を用いて通信する第２のユーザと、前記証明書の発行・検証を行う証明書検証システムと、にネットワークを通して接続される代替証明書発行・検証システムであって、
前記代替証明書発行・検証システムは、前記証明書検証システムによって前記第１のユーザに発行されたＰＫＩ認証システムの証明書を格納するリポジトリと、前記リポジトリを管理するリポジトリ管理部と、前記証明書に代替する証明書を発行する代替証明書発行部と、前記第２のユーザのリクエストによる前記代替証明書及び前記公開鍵を検証する代替証明書検証部と、を有し、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記代替証明書検証部は、前記変換ポリシ定義を用いて前記代替証明書と前記リポジトリで管理している前記証明書との差分比較を行い、前記差分比較によって前記代替証明書及び公開鍵の改ざんが行われていないことを検証する構成とする。
【０００８】
また、ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記証明書に代替する証明書を発行する代替証明書発行部及び前記第１のユーザと公開鍵を用いて通信する第２のユーザのリクエストによる前記代替証明書と前記公開鍵を検証する代替証明書検証部を有する代替証明書発行・検証システムと、を備えたＰＫＩ認証システムであって、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記代替証明書検証部は、前記変換ポリシ定義を用いて前記代替証明書と前記リポジトリで管理している前記証明書との差分比較を行い、前記差分比較によって前記代替証明書及び公開鍵の改ざんが行われていないことを検証する構成とする。
【０００９】
また、ＰＫＩ認証システムの証明書の発行申請を行う第１のユーザと、前記証明書に代替する証明書を発行する代替証明書発行部及び前記第１のユーザと公開鍵を用いて通信する第２のユーザのリクエストによる前記代替証明書と前記公開鍵を検証する代替証明書検証部を有する代替証明書発行・検証システムと、を備えたＰＫＩ認証システムであって、
前記代替証明書発行部は、信頼性の高い前記証明書検証システムによって発行された前記第１のユーザへの証明書に基づいて、公開された変換ポリシ定義にしたがって前記証明書の情報を削除、追加又は変更した代替証明書を前記公開鍵を付して前記第１のユーザの求めに応じて発行し、
前記第１のユーザは、前記第２のユーザの受信した代替証明書の情報確認の監査請求に応じて、前記代替証明書の署名を検定し、
前記代替証明書発行・検証システムの自己署名証明書から変換ポリシ定義を取得し、
前記変換ポリシ定義を用いて前記代替証明書と前記証明書との差分比較を行い、前記差分比較によって前記代替証明書の改ざんが行われていないことを監査し得る構成とする。
【発明の効果】
【００１０】
本発明によれば、従来では不可能であったプライバシ情報を含む証明書に基づいて、証明書の情報を変換した代替証明書の発行及び検証によって、証明書の利用できる範囲の制限を無くすことができ、さらに、匿名性を確保したり、証明書の用途を変更することができる。
【発明を実施するための最良の形態】
【００１１】
本発明の実施形態に係るＰＫＩ認証システムについて、図面を参照しながら以下詳細に説明する。
【００１２】
図１は、本発明の実施形態に係るＰＫＩ認証システムの全体構成を示すブロック図である。図１において、ＰＫＩ認証システムは、証明書検証システム（１００）と、代替証明書発行・検証システム（３００）と、ユーザ１（５００）と、ユーザ２（６００）と、ネットワーク（２００）および（４００）と、から構成されている。証明書検証システム（１００）は検証局（１０１）を有する。代替証明書発行・検証システム（３００）は、証明書検証システム１００によってユーザ１（５００）に発行された証明書を元に、その証明書の情報を削除、追加、変更した代替証明書の発行をユーザ１（５００）に行い、それによりユーザ１は発行された代替証明書をユーザ２（６００）に暗号データや署名データともに添付する。
【００１３】
そして、ユーザ１（５００）から暗号データや署名データを受け取ったユーザ２（６００）は代替証明書発行・検証システム（３００）の検証機能を利用することで、ユーザ１（５００）に発行された代替証明書の有効性はもちろん、ユーザ１（５００）に発行された元となった証明書の存在確認をすることができ、場合によってはユーザ１とユーザ２は元となるユーザ１（５００）に発行された証明書とユーザ１（５００）に発行された代替証明書の差異を確かめる手段を持つことができる。
【００１４】
代替証明書発行・検証システム（３００）は、代替証明書発行アプリケーション（３０１）と、代替証明書検証アプリケーション（３０８）と、リポジトリ管理部（３１４）と、リポジトリ（３１６）と、で構成されている。
【００１５】
ここで、まず最初に、本発明の実施形態に係るＰＫＩ検証システムにおける証明書検証システムと、代替証明書発行・検証システムと、証明書発行の依頼元であるユーザ１と、ユーザ１からの代替証明書を受け取るユーザ２と、におけるそれぞれの機能や、それらの関連動作について、その概要を説明する。
【００１６】
証明書検証システム１００は、信頼性の高い、例えば国やその付属機関がユーザの求めに応じて署名や暗号化に使用する公開鍵付きの証明書を発行・検証するシステムである。代替証明書発行・検証システム３００は、証明書検証システム１００の有する信頼性よりも低下する証明書の発行・検証システム（例えば、民間の機関であって良い）であるが、証明書検証システム（国）１００の発行する証明書からユーザのプライバシ情報（例えば、誕生日、住所の細部）を取り除いた代替証明書を発行・検証するシステムであって、ユーザ１は、この代替証明書（付随する公開鍵は国発行の証明書と同一）を取得し、プライバシ情報を含まない代替証明書であるので、広範囲の相手先即ち不特定多数、例えばユーザ２に暗号データ又は署名データに添付して送付する。
【００１７】
代替証明書の発行の態様を説明すると、まず、代替証明書発行・検証システム３００は、ユーザ１から送られた国発行の証明書に基づいて、プライバシ情報をも含んだ国発行の証明書の記載内容を変換するのであるが、公開された変換ポリシ定義（図３を参照）によって証明書を変換する。例示すると、住所細部（図１２を参照）を削除した代替証明書を発行する場合、公開された変換ポリシ定義（図３に示す証明書のｓｕｂｊｅｃｔに該当する）にしたがって処理する（変換する対象（場所）や変換の動作等が図３のように予め決められていて、公開しているものである）。また、プライバシ情報の削除の他に、公開鍵の使用目的を国発行の証明書と違えて、例えば、署名又は暗号化の一方に特定することもできる。また、代替証明書は代替証明書発行・検証システム自体の秘密鍵で署名してユーザ１に発行する。
【００１８】
ユーザ１は発行された代替証明書の有効性について、自身の有する監査アプリケーションを動作させて確認することができる。この際に、既に取得している国発行の証明書の内容を当然に参照して確認動作する。次に、ユーザ１は有効性の確認された代替証明書を署名データや暗号データに添付して不特定多数の一人であるユーザ２に送る。また、ユーザ１は、公開鍵付きの代替証明書を直接にユーザ２に送るのではなくて、証明書保管サーバに送付して誰もが利用できるようにしても良い。
【００１９】
ユーザ２は、代替証明書が直接にユーザ１から送られる場合や証明書保管サーバから取り寄せる場合もあり、受け取った代替証明書の有効性を確認する必要がある。ユーザ２による代替証明書の有効性確認には２つのルートが存在する。１つのルートは、代替証明書発行・検証システム３００に検証リクエストを送り、代替証明書検証アプリケーションを動作させて確認するとともに国の証明書検証システムの検証結果を得る（図１３を参照）。この検証によって、代替証明書の項目、付随する公開鍵の有効性を確認することができる。また、他のルートは、ユーザ２から直接にユーザ１に検証リクエストを出して、ユーザ１に監査を請求することである（証明書保管サーバから代替証明書を取得した場合に特に有効である）。監査請求されたユーザ１は、国発行の証明書と代替証明書発行・検証システム発行の代替証明書を保持しているので、ユーザ２から送られてきた代替証明書を監査してその有効性を確認することができる。
【００２０】
以上、概説した代替証明書を発行し且つ検証するシステムでは、高信頼性を有し且つ権威のある国発行の証明書に代えて、代替証明書を発行且つ検証することができて代替証明書を広範囲に流通させることできる。しかも、この代替証明書は、信頼性の高い国発行の証明書と公開鍵が同一であることやプライバシ情報を取り除いた代替証明書の他の内容が国発行の証明書と同一であることを確認可能であり、即ち、公開鍵を含めて代替証明書の有効性が確認可能なものである。したがって、広範囲に流通させることのできる代替証明書は、信頼性の高い国発行の証明書に裏付けられた証明書であると云える。
【００２１】
以上の説明は、本発明の実施形態に係るＰＫＩ検証システムの概要を記述したに過ぎないものであるので、本発明はこの概要に特定されるものではなくて、以下に詳細に述べる技術的事項に基づくものである。
【００２２】
代替証明書の発行手順は、ユーザ１（５００）から送信される代替証明書リクエストデータを受け、代替証明書発行・検証システム（３００）の代替証明書発行アプリケーション（３０１）を実行する。
【００２３】
代替証明書発行アプリケーション（３０１）は、署名検定部（３０２）、変換ポリシ抽出部（３０３）、証明書変換部（３０４）、変換ポリシ証拠作成部（３０５）、変換ポリシ追加部（３０６）、署名変更部（３０７）、で構成されており、署名検定部（３０２）でリクエストデータに付随する署名値の検定を行う。検定結果が正しければ、リクエストデータ内の証明書をリポジトリ管理部（３１４）の証明書登録部（３１３）を利用しリポジトリ（３１６）に登録し、変換ポリシ抽出部（３０３）を実行する。
【００２４】
変換ポリシ抽出部（３０３）は代替証明書発行・検証システムの自己署名証明書から変換ポリシ定義を取得する。変換ポリシ定義は図３に示し、代替証明書リクエストデータ内のユーザ１の証明書を変換ポリシ定義に従って変換を行う。
【００２５】
証明書変換部（３０４）の処理フローを図６に記載する。この処理フローを図６と図３を用いて説明すると、最初に、与えられた変換ポリシ定義にステップ６００１でＴＰ（変換ポリシ：図３に示す変数名）があるかどうか確認を行い、存在する場合、ステップ６００２でａｃｔｉｏｎ（動作）がａｄｄ（追加）でないか確認し、ａｄｄである場合、ステップ６００３で変換場所の変数値に定義されている証明書の部分を検索し、ステップ６００４で代替文字の変数名ａｌｔｓｔｒｉｎｇに代入されている任意の文字列を追加する。同様にステップ６００５ではａｃｔｉｏｎがｃｈａｎｇｅ（変更）でないか確認を行い、ステップ６００８ではａｃｔｉｏｎがｄｅｌｅｔｅ（削除）でないか確認を行い、確認が取れた場合はそれぞれの処理を行う。
【００２６】
その後、ステップ６０１１変換ポリシ証拠作成を行い、ステップ６０１２の変換ポリシ追加部の実行において、証明書のプライベートエクステンションに追加し、ステップ６０１３の次のＴＰに移動するを実行し、左記の処理をＴＰが無くなるまで行う。
【００２７】
次に、変換ポリシ証拠作成の処理フローを図５に示し、作成される変換ポリシ証拠の定義を図４に示す。
【００２８】
変換ポリシ証拠作成の処理フローは、ステップ５００１で変換ポリシ定義の変数名ａｃｔｉｏｎ（図３を参照）の変数値から変換ポリシ証拠の変数名ａｃｔｉｏｎ（図４を参照）の変数値を作成し、ステップ５００２で変換ポリシ定義の変数名ｏｂｊｅｃｔ（図３を参照）の変数値から変換ポリシ証拠の変数名ｏｂｊｅｃｔ（図４を参照）の変数値を作成し、ステップ５００３で変換ポリシ定義処理フローで検索した証明書の変換場所（変換すべき対象）の値を取得し、ステップ５００４で取得した値のハッシュ値を作成する、ステップ５００５で作成したハッシュ値で変換ポリシ証拠の変数名ｐｒｅｄａｔａ＿ｈａｓｈを作成し、変換ポリシ証拠が作成される。
【００２９】
以上のことを具体的例示で説明する。例えば、ブロマイドデータ配布における変換ポリシ定義を図１０に示し、証明書変換部（３０４）の処理フローと変換ポリシ証拠作成の処理フローを説明する。
【００３０】
ステップ６００１でＴＰ（変換ポリシ）があるかどうか確認を行い、存在するので、ステップ６００２でａｃｔｉｏｎがａｄｄでないか確認し、ａｄｄでは無いため、次にステップ６００５でａｃｔｉｏｎがｃｈａｎｇｅでないか確認し、ｃｈａｎｇｅでは無いため、ステップ６００８でａｃｔｉｏｎがｄｅｌｅｔｅで無いか確認し、ｄｅｌｅｔｅであるためステップ６００９を実行し、変数名ｏｂｊｅｃｔの値ｓｕｂｊｅｃｔから証明書内のｓｕｂｊｅｃｔが記載されている位置を検索する。次にステップ６０１０で検索したｓｕｂｊｅｃｔを削除処理として「＊」の文字で上書きし、ステップ６０１１の変換ポリシ証拠の作成を行い、ステップ６０１２の変換ポリシ証拠追加で証明書のプライベートエクステンションに作成した変換ポリシ証拠を追加する。ステップ６０１３で次のＴＰに移動するを実行し、ステップ６００１の処理でＴＰが存在しないので証明書変換部（３０４）の処理は終了し、署名変更部（３０７）の処理を実行する。
【００３１】
この際、変換ポリシ証拠の作成は、ステップ５００１において変換ポリシ定義の変数名ａｃｔｉｏｎに定義されている変数値ｄｅｌｅｔｅから変換ポリシ証拠の変数名ａｃｔｉｏｎにｄｅｌｅｔｅを設定し、ステップ５００２において変換ポリシ定義の変数名ｏｂｊｅｃｔに定義されている変数値ｓｕｂｊｅｃｔから変換ポリシ証拠の変数名ｏｂｊｅｃｔにｓｕｂｊｅｃｔを設定し、ステップ５００３において変換ポリシ定義処理フローステップ６００９で検索した証明書の変換場所の値を取得し、ステップ５００４において取得した値のハッシュ値を作成する、ステップ５００５において変数名ｐｒｅｄａｔａ＿ｈａｓｈに作成したハッシュ値を代入する、これにより変換ポリシ証拠が作成される。
【００３２】
次に、署名変更部（３０７）の処理は証明書変換部（３０４）で変更された証明書の署名部分の削除を行い、変換したＴＢＳＣｅｒｔｉｆｉｃａｔｅに対して代替証明書発行・検証システム（３００）の秘密鍵で署名を行う。発行された代替証明書はユーザ１（５００）にネットワーク４００を介して送信される。
【００３３】
上述した代替証明書の発行の流れについて、図２の代替証明書発行処理フローに示し、図１１にユーザ１（５００）に国から発行された証明書の例を示し、図１２に図１１の証明書を元に代替証明書発行・検証システム（３００）で発行する代替証明書の例を示す。図１２に示す代替証明書は、図１１に示す国発行の証明書を元に住所の一部が削除されている例を示している。
【００３４】
次に、代替証明書の検証手順は、図１を参照して説明すると、ユーザ２（６００）において証明書検証リクエスト作成（６０２）を実行し、次に証明書検証申請部（６０３）を実行し、ネットワーク４００を介して代替証明書発行・検証システム（３００）に証明書検証リクエストデータを送信する。
【００３５】
代替証明書発行・検証システム（３００）は検証リクエストデータを受信し、代替証明書検証アプリケーション（３０８）を実行し、変換ポリシ抽出部（３０９）を実行する。変換ポリシ抽出部（３０９）は代替証明書発行・検証システム（３００）の自己署名証明書から変換ポリシ定義を取得する。変換ポリシ定義は図３に示し、次に証明書比較部（３１０）を実行し、リポジトリ（３１６）で管理しているユーザ１の証明書と代替証明書検証リクエストデータ内のユーザ１の代替証明書の比較を行う。
【００３６】
証明書比較部（３１０）の処理は、変換ポリシ定義と代替証明書の比較処理と、証明書と代替証明書の比較処理において改ざんが行われていないことを確認し、証明書検証リクエスト作成部（３１１）を実行する。
【００３７】
変換ポリシ定義と代替証明書の比較処理フローを図７に示し、図８に証明書と代替証明書の比較処理フローを示す。
【００３８】
図７において、最初に、与えられた変換ポリシ定義にステップ７００１でＴＰ（図３に示す変換ポリシの変数名）があるかどうか確認を行い、存在する場合、ステップ７００２でａｃｔｉｏｎ（図３に示す動作の変数名）がａｄｄ（図３に示す変数値）でないか確認し、ａｄｄである場合、ステップ７００３で図３の変換ポリシ定義に定義されている変数名ｏｂｊｅｃｔの変数値と合致する代替証明書の部分を検索し、ステップ７００４で検索した位置に記載されている文字と図３の変換ポリシ定義に定義されている変数名ａｌｔｓｔｒｉｎｇの変数値が等しいことを確認し、同じであればステップ７００５検索した値削除を行う。
【００３９】
同様に、ステップ７００６ではａｃｔｉｏｎがｃｈａｎｇｅでないか確認を行い、ステップ７００９ではａｃｔｉｏｎがｄｅｌｅｔｅでないか確認を行い、確認が取れた場合はそれぞれの処理を行う。その後、ステップ７０１２で次のＴＰに移動するを実行し、左記の処理をＴＰが無くなるまで行う。
【００４０】
次に、証明書と代替証明書の比較処理フローを示す図８において、ステップ８００１でリポジトリ管理部（３１４）の証明書取得部（３１５）を実行し証明書（証明書検証システム１００の発行した証明書）を取得する。ステップ８００２では代替証明書のプライベートエクステンション（証明書独自定義部分）にＴＰＥＥ（図４に示す変数名であって、代替証明書に付加した変換ポリシの証拠を表すもの）が存在するか確認し、ステップ８００３においてＴＰＥＥの変数名ａｃｔｉｏｎがａｄｄであるか確認し、ａｄｄである場合はステップ８００９の次のＴＰＥＥに移動を実行する。ＴＰＥＥの変数名ａｃｔｉｏｎがａｄｄで無い場合はステップ８００４を実行し、ａｃｔｉｏｎがｃｈａｎｇｅで無いか確認し、ｃｈａｎｇｅである場合は証明書内をＴＰＥＥの変数名ｏｂｊｅｃｔの変数値で検索し、ステップ８００７で検索部分のハッシュ値を作成し、ステップ８００８でＴＰＥＥの変数名ｐｒｅｄａｔａ＿ｈａｓｈの変数値と等しいか確認する。その後、ステップ８００９で次のＴＰＥＥに移動を実行する。
【００４１】
変数名ａｃｔｉｏｎがｃｈａｎｇｅで無い場合はステップ８００５を実行し、ａｃｔｉｏｎがｄｅｌｅｔｅで無いか確認し、ｄｅｌｅｔｅである場合は証明書内の変数名ｏｂｊｅｃｔの変数値を検索し、ステップ８００７で検索部分のハッシュ値を作成し、ステップ８００８で変数名ｐｒｅｄａｔａ＿ｈａｓｈの値と等しいか確認する。その後、ステップ８００９で次のＴＰＥＥに移動を実行する。このような処理をＴＰＥＥが無くなるまで行う。
【００４２】
次に、証明書検証リクエスト作成部（３１１）は、リポジトリから取得しているユーザ１に発行された証明書に対して検証リクエストを作成し、証明書検証申請部（３１２）を実行する。ここにおいて、証明書検証リクエスト作成部（３１１）では、ユーザ２から検証申請された代替証明書に対応する証明書検証システム（１００）発行の証明書の有効性（証明書検証システム（１００）による証明書発行時から代替証明書検証時までの間において当該証明書が失効リストにリストアップされていないこと）について証明書検証システム（１００）に問い合わせを行うのである。
【００４３】
この際、証明書を取得する場合における代替証明書との対応付けは、代替証明書に記入された証明書のＳｅｒｉａｌ  Ｎｏを用いることで行われる。さらに、このＳｅｒｉａｌ  Ｎｏに加えて、証明書を発行した発行者名を確認することによっても証明書と代替証明書との対応付けを行うことができる。なお、この対応付けはテーブル等で行われる。そして、このテーブルを参照して、ユーザ２から検証申請された代替証明書に付されたＳｅｒｉａｌ  Ｎｏと同じＳｅｒｉａｌ  Ｎｏを有している証明書を取得する。また、証明書検証リクエスト作成部（３１１）で用いる証明書は、証明書比較部（３１０）で既にリポジトリ（３１６）から前述したのと同様にＳｅｒｉａｌ  Ｎｏ等に基づいて取得しているので、このとき取得した証明書を用いても良いし、新たにリポジトリ（３１６）から取得しても良い。このように、代替証明書との対応付けがなされて取得された証明書に証明書検証システム（１００）向けの検証リクエストを作成するのである。
【００４４】
続いて、ネットワーク２００を介して検証申請を証明書検証システム（１００）に送信する。証明書検証システム（１００）からネットワーク２００を介して応答メッセージを受け取り、その応答結果をネットワーク４００を介してユーザ２（６００）に送信する。
【００４５】
上述した一連の流れを、代替証明書発行・検証システムにおける検証依頼フローとして図１３に示す。図１３に示す検証依頼フローはユーザ２が受け取った代替証明書の公開鍵あるいは秘密鍵が有効であるか否かを代替証明書発行・検証システム３００に対して検証する流れであり、この流れにおいて、後述するように信頼性の高い証明書検証システムによる検証も含まれているので、検証結果に信頼性が保持されることとなる。
【００４６】
図１３において、ステップ１３００１において変換ポリシ抽出プログラムで変換ポリシ定義を取り出し、次に変換ポリシ定義と検証リクエストデータ内の代替証明書との比較を行い（ステップ１３００２）、ステップ１３００３においてリポジトリで管理しているユーザ１の証明書（証明書検証システム１００の発行した証明書）とリクエストデータ内の代替証明書との比較をし、リポジトリで管理しているユーザ１の証明書に対して検証リクエストを作成し（ステップ１３００４）、次いで、作成した検証リクエストデータを証明書検証システムに検証依頼し（ステップ１３００５）、ステップ１３００６において、証明書検証システムから応答結果を受信し、受信した応答結果をユーザ２に送信する。この応答結果の一例として、検証依頼された代替証明書に対応する証明書が失効リストに仮に該当しているものであれば、代替証明書は失効である旨の応答結果となる。
【００４７】
ユーザ２（６００）は受信した応答メッセージから署名検定部（６０４）を実行し、応答メッセージが改ざんされていないかを確認し、タイムスタンプ確認部６０５）でユーザ２（６００）が作成したリクエストの応答メッセージであるかを確認し、シリアル番号確認部（６０６）で代替証明書のシリアル番号と同一で有るかを確認する。
【００４８】
ユーザ２（６００）の応答メッセージ解析フローを図１４に示し、証明書検証システム（１００）からの応答メッセージを図１５に示す。図１４によると、ステップ１４００１において応答メッセージに付随している署名値が正しいかを判断し、正しければ応答メッセージ内のタイムスタンプの時刻を確認する（ステップ１４００２）。次に、ステップ１４００３で応答メッセージデータ内の検証依頼した証明書のシリアル番号と代替証明書のシリアル番号が一致しているかを確認して解析フローを終了する。
【００４９】
また、証明書検証システム（１００）からの応答メッセージは、図１５に示す通りのものであり、応答メッセージのフィールドを一例として示すと、応答結果、応答メッセージ生成時刻、証明書の状態、検証対象の証明書及び署名値とからなる。ここで、証明書検証システムからの応答メッセージにおけるフィールドの内の証明書の状態を見ると、値として有効、失効、不明が応答される。これは証明書に付された公開鍵が有効、無効、不明であることを示している。換言すると、図１３に示すフローでステップ１３００６の応答結果をみると、代替証明書に付された公開鍵の有効性をユーザ２は確認することができるのである。
【００５０】
これにおいて、公開鍵並びに代替証明書の有効性は勿論、元になった証明書の存在確認と有効性を知ることができ、代替証明書発行・検証システム（３００）がユーザ２（６００）からの検証依頼を証明書検証システム（１００）に正しく検証依頼していることが証明される。
【００５１】
次に、代替証明書発行・検証システム（３００）の監査手順は、証明書の所有者ユーザ１（５００）によって発行された代替証明書を使い、代替証明書システム監査アプリケーション（５０４）を実行する。ここでは、ユーザ１は、証明書検証システム１００から証明書を、代替証明書発行・検証システム３００から代替証明書を既に得ていることが前提になっている。ユーザ２からユーザ１への監査請求（検証依頼）は、代替証明書発行・検証システムの他に、代替証明書を送信している本人宛に代替証明書の情報の再確認の意味もある。
【００５２】
システム監査アプリケーション（５０４）は署名検定部（５０５）、変換ポリシ抽出部（５０６）、証明書比較部（５０７）から成り、まず署名検定部（５０５）を実行し、代替証明書の署名を検定し、検定結果が正しければ、変換ポリシ抽出部（５０６）を実行する。変換ポリシ抽出部の処理は代替証明書発行・検証システムの自己署名証明書から変換ポリシ定義を取得する。
【００５３】
変換ポリシ定義は図３に示し、証明書比較部（５０７）を実行し、ユーザ１の代替証明書を変換ポリシ定義に従い、ユーザ１の証明書との差分比較を行う。証明書比較部の処理は変換ポリシ定義と代替証明書の比較処理と、証明書と代替証明書の比較処理フローにおいて改ざんが行われていないことを確認し、ＴＰ、ＴＰＥＥに定義している以外に変換されている箇所が無いか比較する。変換ポリシ定義と代替証明書の比較処理は図７に示し、証明書と代替証明書の比較処理は図８に示す。
【００５４】
上述の監査処理により代替証明書発行・検証システム（３００）が変換ポリシに従って代替証明書を発行しているか知ることができ、また、上述の例ではユーザ１が代替証明書発行・検証システムの監査申請を行ったが、ユーザ２（６００）がユーザ１（５００）の代替証明書の監査申請をネットワーク４００を介してユーザ１（５００）に依頼することも可能であり、また、ユーザ１が代替証明書の検証を代替証明書発行・検証システム（３００）にネットワーク４００を介して依頼することも可能である。さらに、システム監査アプリケーション（５０４）がユーザ１の内部に含まれているとして説明したが、この監査アプリケーション（５０４）が監査サーバとしてユーザ１から独立した構成としても良い。
【００５５】
以上説明したように、本発明の特徴の概要は、信頼性レベルの高い権威の有る証明書検証システムと、信頼性レベルの比較的低い代替証明書発行・検証システムとを設けることによって、前記証明書検証システムの発行したプライバシ情報を含む証明書を元に、代替証明書発行・検証システムがユーザに公開した変換ポリシ定義に従って、プライバシ情報を含まない代替証明書を発行することができ、さらに、プライバシ情報の入った証明書が確実に存在することが代替証明書発行・検証システムに問い合わせることで知ることができ、さらに、代替証明書とプライバシ情報を含む証明書との差異を証明書の利用者が知ることのできるシステムである。
【００５６】
また、本発明の実施形態は次のような構成例も含むものである。即ち、ＰＫＩ認証システムの証明書配布において、ＰＫＩシステムの運用又は証明書の利用の主体であるユーザが証明書の情報を追加、削除、変更して、同じ鍵ペアを使って（証明書と代替証明書とで同一の公開鍵及び秘密鍵のペアを使って）、証明書を安全に再発行する方法であって、その発行した証明書から元の情報を含む証明書の存在確認と再発行した証明書が含む情報とどこが異なっているか確認することができる
また、ＰＫＩ認証システム証明書配布において、ＰＫＩシステムのユーザが証明書の用途を変更した内容で証明書を再発行（例えば、鍵の使用方法の変更又は証明書のエクステンションの削除又は追加など）することで、証明書の用途を広げたり、制限することを可能とすることができる。
【００５７】
さらに、ＰＫＩ認証システム証明書配布において、段階的に証明書記載の情報を相手に送る方法、具体的には契約において、契約の最初では契約相手に自分の情報が全く記載されていない証明書を見せて暗号化通信を行うが、契約の最後には情報が全て記載された証明書を送付して、最初に送っていた証明書の公開鍵と相違が無いことを確認することで匿名性を確保することを可能とする。
【００５８】
また、ＰＫＩ認証システム証明書配布において、ＰＫＩシステムのユーザの内容を変更しても公開鍵の変更が発生しない（企業間の取引において利用している証明書において、担当者ユーザの変更が予想される、その際に新しい担当者ユーザ用に電子証明書を発明の方法で発行することで公開鍵の変更が発生しない）。さらに、交渉用の証明書を発行し、その証明書の代替証明書を担当者ユーザ宛に発行することで、担当者ユーザが変わった場合は、再度代替証明書を発行することで、元の交渉用の証明書の発行をする必要が無い、また、公開鍵の変更が無い、より現状の情報を証明書に反映できる。
【００５９】
また、電子投票システムにおいて、証明書記載の情報を一切排除した内容で証明書を発行することで投票内容にその証明書を添付して送付することで、投票内容の匿名性をコントロール（確保）することが可能となる。また、有名人のプライバシ情報を含む証明書を売買可能とすることもできる。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施形態に係るＰＫＩ認証システムの全体構成を示すブロック図である。
【図２】本実施形態に関する代替証明書発行・検証システムにおける代替証明書発行の処理フローを示す図である。
【図３】本実施形態に関する代替証明書発行・検証システムに用いられる変換ポリシ定義を示す図である。
【図４】本実施形態に関する代替証明書発行・検証システムで作成される変換ポリシ証拠の定義を示す図である。
【図５】本実施形態に関する代替証明書発行・検証システムにおける変換ポリシ証拠作成の処理フローを示す図である。
【図６】本実施形態に関する代替証明書発行・検証システムにおける証明書変換部の処理フローを示す図である。
【図７】本実施形態に関する代替証明書発行・検証システムにおける変換ポリシ定義と代替証明書の比較処理フローを示す図である。
【図８】本実施形態に関する代替証明書発行・検証システムにおける証明書と代替証明書の比較処理フローを示す図である。
【図９】本実施形態に関する代替証明書発行・検証システムに用いられる代替証明書リクエストデータを示す図である。
【図１０】本実施形態に変換ポリシ定義の一例であるブロマイドデータ配布における変換ポリシ定義を示す図である。
【図１１】国から発行された証明書の一例を示す図である。
【図１２】図１１に示す証明書を元に本実施形態の代替証明書発行・検証システムから発行された代替証明書の一例を示す図である。
【図１３】本実施形態に関する代替証明書発行・検証システムによる証明書検証システムへの検証依頼フローを示す図である。
【図１４】ユーザ２が代替証明書発行・検証システムから受信した応答メッセージの解析フローを示す図である。
【図１５】証明書検証システムからの応答メッセージを示す図である。
【符号の説明】
【００６１】
１００  証明書検証システム
１０１  検証局
２００  ネットワーク
３００  代替証明書発行・検証システム
３０１  代替証明書発行アプリケーション
３０２  署名検定部
３０３  変換ポリシ抽出部
３０４  証明書変換部
３０５  変換ポリシ証拠作成部
３０６  変換ポリシ追加部
３０７  署名変更部
３０８  代替証明書検証アプリケーション
３０９  変換ポリシ抽出部
３１０  証明書比較部
３１１  証明書検証リクエスト作成部
３１２  証明書検証申請部
３１３  証明書登録部
３１４  リポジトリ管理部
３１５  証明書取得部
３１６  リポジトリ
４００  ネットワーク
５００  ユーザ１
５０１  署名部
５０２  代替証明書リクエスト作成部
５０３  証明書申請部
５０４  代替証明書システム監査アプリケーション
５０５  署名検定部
５０６  変換ポリシ抽出部
５０７  証明書比較部
６００  ユーザ２
６０１  署名部
６０２  証明書検証リクエスト作成部
６０３  証明書検証申請部
６０４  署名検定部
６０５  タイムスタンプ確認部
６０６  シリアル番号確認部
【図１】
2005159463.tif 000003
【図２】
2005159463.tif 000004
【図３】
2005159463.tif 000005
【図４】
2005159463.tif 000006
【図５】
2005159463.tif 000007
【図６】
2005159463.tif 000008
【図７】
2005159463.tif 000009
【図８】
2005159463.tif 000010
【図９】
2005159463.tif 000011
【図１０】
2005159463.tif 000012
【図１１】
2005159463.tif 000013
【図１２】
2005159463.tif 000014
【図１３】
2005159463.tif 000015
【図１４】
2005159463.tif 000016
【図１５】
2005159463.tif 000017