(57)【要約】【課題】  認証基盤が異なる場合でもデータ正当性や属性証明を検証可能なデータ検証装置を実現する。【解決手段】  検証要求に応じて、検証要求者Ａの文書群をＤＶＣＳ１０が検証し、その検証結果、時刻情報および第１のハッシュ値等を含む文書検証証明書ＤＶＣを署名発行する。この文書検証証明書ＤＶＣを添付した文書群を検証要求者Ａから受領した検証者Ｂは、ＤＶＣＳ１０から取得した公開鍵証明書ＰＫＣに基づき、文書検証証明書ＤＶＣの署名を検証し、これにて得られる第１のハッシュ値と、受領した文書群から算出する第２のハッシュ値との比較で正否判定するから、認証基盤が異なる場合でもデータ正当性を検証できる。また、ＤＶＣＳ１０は、属性証明書ＡＣの有効性を検証する属性検証部６０を備える為、検証要求者Ａの権限や資格などの属性を証明できる。【選択図】  図１
2005252952.tif 000002
【特許請求の範囲】
【請求項１】
検証対象データを有する第１のクライアントと、検証要求された検証対象データについて検証証明するサーバと、このサーバで検証証明された検証対象データが真正なものであるか否かを判定する第２のクライアントとが相互にネットワーク接続されるデータ検証証明システムにおいて、
前記サーバは、
前記第１のクライアントから検証要求された検証対象データの正当性および有効性を検証する検証手段と、
前記検証手段により検証された検証対象データの検証結果、検証時刻および検証された検証対象データのハッシュ値を含むデータ検証証明書ＤＶＣを作成する作成手段と、
前記作成手段により作成されたデータ検証証明書ＤＶＣに署名を付与して前記第１のクライアントに返却する返却手段と、
前記返却手段が署名に用いた秘密鍵に対応する公開鍵証明書ＰＫＣを発行する発行手段とを具備し、
前記第２のクライアントは、
データ検証証明書ＤＶＣが添付された検証対象データを前記第１のクライアントから受領し、受領したデータ検証証明書ＤＶＣの署名を、前記サーバから取得した公開鍵証明書ＰＫＣにて検証する署名検証手段と、
前記署名検証手段の署名検証で得られる第１のハッシュ値と、受領した検証対象データから算出される第２のハッシュ値とを比較して、当該検証対象データが真正なものであるか否かを判定する判定手段と
を具備することを特徴とするデータ検証証明システム。
【請求項２】
前記検証手段は、前記第１のクライアントから検証要求された検証対象データに公開鍵証明書ＰＫＣが含まれる場合、公開鍵証明書ＰＫＣの失効確認、有効期間確認、署名確認およびパス検証を公開鍵認証基盤ＰＫＩシステムと連携して検証することを特徴とする請求項１記載のデータ検証証明システム。
【請求項３】
前記検証手段は、前記第１のクライアントから検証要求された検証対象データに属性証明書ＡＣおよび検証したい属性情報が含まれる場合、属性証明書ＡＣの失効確認、有効期間確認および署名確認を公開鍵認証基盤ＰＫＩシステムと連携して検証すると共に、有効性が検証された属性証明書ＡＣと検証したい属性情報とを比較して、当該検証したい属性情報の正当性を検証することを特徴とする請求項１記載のデータ検証証明システム。
【請求項４】
前記作成手段は、ハッシュ値を含む文書検証証明書ＤＶＣを原本として記憶管理する原本記憶手段を有することを特徴とする請求項１記載のデータ検証証明システム。
【請求項５】
検証対象データを有する第１のクライアントと、検証要求された検証対象データについて検証証明するサーバと、このサーバで検証証明された検証対象データが真正なものであるか否かを判定する第２のクライアントとが相互にネットワーク接続されるデータ検証証明システムにて実行されるコンピュータプログラムであって、
前記サーバでは、
前記第１のクライアントから検証要求された検証対象データの正当性および有効性を検証する検証処理と、
前記検証処理により検証された検証対象データの検証結果、検証時刻および検証された検証対象データのハッシュ値を含むデータ検証証明書ＤＶＣを作成する作成処理と、
前記作成処理により作成されたデータ検証証明書ＤＶＣに署名を付与して前記第１のクライアントに返却する返却処理と、
前記返却処理で署名に用いた秘密鍵に対応する公開鍵証明書ＰＫＣを発行する発行処理とを実行させ、
前記第２のクライアントでは、
データ検証証明書ＤＶＣが添付された検証対象データを前記第１のクライアントから受領し、受領したデータ検証証明書ＤＶＣの署名を、前記サーバから取得した公開鍵証明書ＰＫＣにて検証する署名検証処理と、
前記署名検証処理の署名検証で得られる第１のハッシュ値と、受領した検証対象データから算出される第２のハッシュ値とを比較して、当該検証対象データが真正なものであるか否かを判定する判定処理とを実行させることを特徴とするデータ検証証明処理プログラム。
【請求項６】
前記検証処理は、前記第１のクライアントから検証要求された検証対象データに公開鍵証明書ＰＫＣが含まれる場合、公開鍵証明書ＰＫＣの失効確認、有効期間確認、署名確認およびパス検証を公開鍵認証基盤ＰＫＩシステムと連携して検証することを特徴とする請求項５記載のデータ検証証明処理プログラム。
【請求項７】
前記検証処理は、前記第１のクライアントから検証要求された検証対象データに属性証明書ＡＣおよび検証したい属性情報が含まれる場合、属性証明書ＡＣの失効確認、有効期間確認および署名確認を公開鍵認証基盤ＰＫＩシステムと連携して検証すると共に、有効性が検証された属性証明書ＡＣと検証したい属性情報とを比較して、当該検証したい属性情報の正当性を検証することを特徴とする請求項５記載のデータ検証証明処理プログラム。
【請求項８】
前記作成処理は、ハッシュ値を含む文書検証証明書ＤＶＣを原本として記憶管理することを特徴とする請求項５記載のデータ検証証明処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば電子契約や電子申請に用いて好適なデータ検証証明システムおよびデータ検証証明処理プログラムに関する。
【背景技術】
【０００２】
従来の印鑑やサインに替えて、電子文書などのデータに秘密鍵で署名を行い、署名を行った秘密鍵に対応する公開鍵証明書で署名を検証するＰＫＩ（公開鍵認証基盤）が実用化されている。この種の技術として、例えば特許文献１には、利用者間で電子文書に署名を付与してやり取りする際に、署名を付与した時刻を確認するようにし、これにより電子文書のやり取りにおいて、「誰と」「何を」「いつ」行ったかを証明してデータ正当性を保証する技術が開示されている。
【特許文献１】特開２００１−３３１１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、現在考えられている公開鍵証明書を用いた認証モデルでは、公開鍵証明書を発行した認証局を辿ることで到達する信頼点認証局を相手が信用しているという前提の基に、互いの証明書発行者が同一の場合や、双方の認証基盤が連携して相互認証されている場合のいずれかでなければ認証することができないという問題がある。また、公開鍵証明書による認証は本人確認だけであり、公開鍵証明書所有者の権限や資格などの属性については認証することができないという問題もある。
そこで本発明は、このような事情に鑑みてなされたもので、認証基盤が異なる場合でもデータ正当性を検証でき、しかも公開鍵証明書所有者の属性を証明することができるデータ検証証明システムおよびデータ検証証明処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００４】
上記目的を達成するため、請求項１に記載の発明では、検証対象データを有する第１のクライアントと、検証要求された検証対象データについて検証証明するサーバと、このサーバで検証証明された検証対象データが真正なものであるか否かを判定する第２のクライアントとが相互にネットワーク接続されるデータ検証証明システムにおいて、
前記サーバは、前記第１のクライアントから検証要求された検証対象データの正当性および有効性を検証する検証手段と、前記検証手段により検証された検証対象データの検証結果、検証時刻および検証された検証対象データのハッシュ値を含むデータ検証証明書ＤＶＣを作成する作成手段と、前記作成手段により作成されたデータ検証証明書ＤＶＣに署名を付与して前記第１のクライアントに返却する返却手段と、前記返却手段が署名に用いた秘密鍵に対応する公開鍵証明書ＰＫＣを発行する発行手段とを具備し、
前記第２のクライアントは、データ検証証明書ＤＶＣが添付された検証対象データを前記第１のクライアントから受領し、受領したデータ検証証明書ＤＶＣの署名を、前記サーバから取得した公開鍵証明書ＰＫＣにて検証する署名検証手段と、前記署名検証手段の署名検証で得られる第１のハッシュ値と、受領した検証対象データから算出される第２のハッシュ値とを比較して、当該検証対象データが真正なものであるか否かを判定する判定手段とを具備することを特徴とする。
【０００５】
請求項１に従属する請求項２に記載の発明では、前記検証手段は、前記第１のクライアントから検証要求された検証対象データに公開鍵証明書ＰＫＣが含まれる場合、公開鍵証明書ＰＫＣの失効確認、有効期間確認、署名確認およびパス検証を公開鍵認証基盤ＰＫＩシステムと連携して検証することを特徴とする。
【０００６】
請求項１に従属する請求項３に記載の発明では、前記検証手段は、前記第１のクライアントから検証要求された検証対象データに属性証明書ＡＣおよび検証したい属性情報が含まれる場合、属性証明書ＡＣの失効確認、有効期間確認および署名確認を公開鍵認証基盤ＰＫＩシステムと連携して検証すると共に、有効性が検証された属性証明書ＡＣと検証したい属性情報とを比較して、当該検証したい属性情報の正当性を検証することを特徴とする。
【０００７】
請求項１に従属する請求項４に記載の発明では、前記作成手段は、ハッシュ値を含む文書検証証明書ＤＶＣを原本として記憶管理する原本記憶手段を有することを特徴とする。
【０００８】
請求項５に記載の発明では、検証対象データを有する第１のクライアントと、検証要求された検証対象データについて検証証明するサーバと、このサーバで検証証明された検証対象データが真正なものであるか否かを判定する第２のクライアントとが相互にネットワーク接続されるデータ検証証明システムにて実行されるコンピュータプログラムであって、
前記サーバでは、前記第１のクライアントから検証要求された検証対象データの正当性および有効性を検証する検証処理と、前記検証処理により検証された検証対象データの検証結果、検証時刻および検証された検証対象データのハッシュ値を含むデータ検証証明書ＤＶＣを作成する作成処理と、前記作成処理により作成されたデータ検証証明書ＤＶＣに署名を付与して前記第１のクライアントに返却する返却処理と、前記返却処理で署名に用いた秘密鍵に対応する公開鍵証明書ＰＫＣを発行する発行処理とを実行させ、
前記第２のクライアントでは、データ検証証明書ＤＶＣが添付された検証対象データを前記第１のクライアントから受領し、受領したデータ検証証明書ＤＶＣの署名を、前記サーバから取得した公開鍵証明書ＰＫＣにて検証する署名検証処理と、前記署名検証処理の署名検証で得られる第１のハッシュ値と、受領した検証対象データから算出される第２のハッシュ値とを比較して、当該検証対象データが真正なものであるか否かを判定する判定処理とを実行させることを特徴とする。
【０００９】
請求項５に従属する請求項６に記載の発明では、前記検証処理は、前記第１のクライアントから検証要求された検証対象データに公開鍵証明書ＰＫＣが含まれる場合、公開鍵証明書ＰＫＣの失効確認、有効期間確認、署名確認およびパス検証を公開鍵認証基盤ＰＫＩシステムと連携して検証することを特徴とする。
【００１０】
請求項５に従属する請求項７に記載の発明では、前記検証処理は、前記第１のクライアントから検証要求された検証対象データに属性証明書ＡＣおよび検証したい属性情報が含まれる場合、属性証明書ＡＣの失効確認、有効期間確認および署名確認を公開鍵認証基盤ＰＫＩシステムと連携して検証すると共に、有効性が検証された属性証明書ＡＣと検証したい属性情報とを比較して、当該検証したい属性情報の正当性を検証することを特徴とする。
【００１１】
請求項５に従属する請求項８に記載の発明では、前記作成処理は、ハッシュ値を含む文書検証証明書ＤＶＣを原本として記憶管理することを特徴とする。
【発明の効果】
【００１２】
請求項１、５に記載の発明によれば、第１のクライアントから検証要求された検証対象データの正当性および有効性を検証し、その検証結果と検証時刻と検証された検証対象データのハッシュ値とを含むデータ検証証明書ＤＶＣを作成した後、このデータ検証証明書ＤＶＣに署名を付与して第１のクライアントに返却する。そして、第２のクライアントは、データ検証証明書ＤＶＣが添付された検証対象データを第１のクライアントから受領すると、受領したデータ検証証明書ＤＶＣの署名を、サーバから取得した公開鍵証明書ＰＫＣにて検証し、この署名検証で得られる第１のハッシュ値と、受領した検証対象データから算出される第２のハッシュ値とを比較して、当該検証対象データが真正なものであるか否かを判定するので、認証基盤が異なる場合でもデータ正当性を検証できる。
【００１３】
請求項３、７に記載の発明によれば、第１のクライアントから検証要求された検証対象データに属性証明書ＡＣおよび検証したい属性情報が含まれる場合、その属性証明書ＡＣの失効確認、有効期間確認および署名確認を公開鍵認証基盤ＰＫＩシステムと連携して検証すると共に、有効性が検証された属性証明書ＡＣと検証したい属性情報とを比較して、当該検証したい属性情報の正当性を検証するので、公開鍵証明書所有者の属性を証明することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
＜構成＞
図１は、本発明の一実施形態によるデータ検証証明システム１００の構成を示すブロック図である。データ検証証明システム１００は、公知の公開鍵認証基盤ＰＫＩシステムと連携して稼働するサーバ／クライアントシステムであり、例えばインターネット等のネットワークＮＴを介して互いに接続されるデータ検証証明サーバ（Data Validation and Certification Server：以下、ＤＶＣＳと略記する）１０、クライアント８０およびクライアント９０から構成される。
【００１５】
ＤＶＣＳ１０は、不正アクセスを排除するファイヤウォール（Ｆ／Ｗと記す）２０、検証受付部３０、原本保証装置４０、証明書検証部５０、属性検証部６０およびリポジトリ７０から構成され、Ｆ／Ｗ２０を経て適正アクセスするクライアントから提出される一連の文書群（署名付き電子文書、公開鍵証明書ＰＫＣ、属性証明書ＡＣおよび検証したい属性情報）の正当性を検証したり、その存在を保証したりする機能を備える。
検証受付部３０は、適正アクセスするクライアントからの要求に応じて、当該クライアントが提出する署名付き電子文書の正当性を検証する署名付き文書検証機能と、この署名付き文書検証機能にて正当性検証された署名付き電子文書、証明書検証部５０にて有効性検証された公開鍵証明書ＰＫＣおよび属性検証部６０にて有効性検証された属性証明書ＡＣ等について実際に存在し、かつ当該クライアントに所有されていることを証明する文書検証証明書ＤＶＣ（時刻情報を含む）を作成する文書検証証明機能と、この文書検証証明機能にて作成された文書検証証明書ＤＶＣ（時刻情報を含む）に署名を付与して発行するＤＶＣ発行機能とを備える。
【００１６】
また、検証受付部３０は、クライアントから提出される公開鍵証明書ＰＫＣおよび属性証明書ＡＣを受領する。なお、公開鍵証明書ＰＫＣおよび属性証明書ＡＣは、公開鍵認証基盤ＰＫＩにおける認証局ＣＡにより発行される。原本保証装置４０は、検証受付部３０のＤＶＣ発行機能により発行した文書検証証明書ＤＶＣ（時刻情報を含む）を原本として記憶保持する。証明書検証部５０は、検証受付部３０がクライアントから受領した公開鍵証明書ＰＫＣの有効性を公開鍵認証基盤ＰＫＩシステムと連携して検証する。属性検証部６０は、検証受付部３０がクライアントから受領した属性証明書ＡＣの有効性を公開鍵認証基盤ＰＫＩシステムと連携して検証する。リポジトリ７０は、ＤＶＣＳ１０のデータベースとして機能するものであり、公開鍵証明書ＰＫＣなどの各種証明書および失効した証明書を告知する証明書失効リストＣＲＬを記憶管理する。
【００１７】
＜動作＞
次に、データ検証証明システム１００におけるデータ検証動作を説明する。以下では、検証要求者Ａが電子契約（又は電子申請）の相手方である検証者Ｂに送達する署名付き電子文書の検証動作の一例について述べる。
【００１８】
（１）ＤＶＣＳ１０の動作
図２〜図４を参照してＤＶＣＳ１０側の動作を説明する。図２はデータ検証証明システム１００において行われるデータ検証動作の概要を示す図、図３はＤＶＣＳ１０の動作を示すシーケンス図、図４は図３に示すシーケンス図に対応したＤＶＣＳ１０の動作概要を示す図である。
これら図２〜図４に示すように、まず最初に検証要求者Ａがクライアント８０からＤＶＣＳ１０にアクセスして、検証要求と共に、一連の文書群（「署名付き電子文書」、「公開鍵証明書ＰＫＣ」、「属性証明書ＡＣ」および「検証したい属性」）をＤＶＣＳ１０側に送出する。すると、ＤＶＣＳ１０はクライアント８０（検証要求者Ａ）からの検証要求に応じてデータ検証動作を行う。
【００１９】
すなわち、図３に図示するように、ＤＶＣＳ１０の検証受付部３０がクライアント８０（検証要求者Ａ）から送出された「署名付き電子文書」を受領し、その文書の正当性を検証する。そして、正当性が検証されると、検証受付部３０は「署名付き電子文書」に添付された「公開鍵証明書ＰＫＣ」を証明書検証部５０に、「属性証明書ＡＣ」および「検証したい属性」を属性検証部６０にそれぞれ送出する。証明書検証部５０では、受領した公開鍵証明書ＰＫＣの有効性（失効確認、有効期間確認、署名確認およびパス検証）を公開鍵認証基盤ＰＫＩシステムと連携して検証する。一方、属性検証部６０では、受領した属性証明書ＡＣの有効性（失効確認、有効期間確認および署名確認）を公開鍵認証基盤ＰＫＩシステムと連携して検証する。また、属性検証部６０では、有効性が検証された属性証明書ＡＣと「検証したい属性」とを比較して、当該「検証したい属性」の正当性を検証する。
【００２０】
こうして、「署名付き電子文書」、「公開鍵証明書ＰＫＣ」、「属性証明書ＡＣ」および「検証したい属性」の有効性／正当性が各々検証されると、検証受付部３０はこれら各検証結果、時刻情報（タイムスタンプ）、発行元となるＤＶＣＳ１０自身の識別情報等を含む文書検証証明書ＤＶＣを作成する。そして、この文書検証証明書ＤＶＣに署名を付与してクライアント８０（検証要求者Ａ）に発行する。
したがって、クライアント８０（検証要求者Ａ）が受領する文書検証証明書ＤＶＣは、「署名付き電子文書」、「公開鍵証明書ＰＫＣ」、「属性証明書ＡＣ」からなる総文書データに対するハッシュ値を備えることになる。ハッシュ値を含む文書検証証明書ＤＶＣは、検証受付部３０から原本保証装置４０に送出され、原本保証装置４０において原本として記憶保持される。
【００２１】
（２）クライアント８０の動作
クライアント８０（検証要求者Ａ）では、図３のシーケンス図に示すように、ＤＶＣＳ１０から返却された文書検証証明書ＤＶＣ（ハッシュ値を含む）を、「署名付き電子文書」、「公開鍵証明書ＰＫＣ」および「属性証明書ＡＣ」に添付して、ネットワークＮＴを介して電子契約（又は電子申請）の相手方である検証者Ｂのクライアント９０に送達する。
【００２２】
（３）クライアント９０の動作
次に、図５を参照してクライアント９０の動作を説明する。クライアント９０（検証者Ｂ）では、予めＤＶＣＳ１０のリポジトリ７０から有効な公開鍵証明書ＰＫＣを取得しておく。そして、クライアント８０（検証要求者Ａ）から文書検証証明書ＤＶＣ（ハッシュ値を含む）が添付された「署名付き電子文書」、「公開鍵証明書ＰＫＣ」および「属性証明書ＡＣ」を受領すると、図２および図５に図示する通り、まず最初にＤＶＣＳ１０から取得した公開鍵証明書ＰＫＣを用いて、クライアント８０（検証要求者Ａ）から受領した文書検証証明書ＤＶＣ（ハッシュ値を含む）について署名検証し、当該文書検証証明書ＤＶＣのハッシュ値（第１のハッシュ値）を得る。
【００２３】
この後、クライアント８０（検証要求者Ａ）から受領した一連の文書群（「署名付き電子文書」、「公開鍵証明書ＰＫＣ」および「属性証明書ＡＣ」）のハッシュ値（第２のハッシュ値）を算出する。そして、この第２のハッシュ値と文書検証証明書ＤＶＣの署名検証で得た第１のハッシュ値とを比較し、両者が一致すれば、クライアント８０（検証要求者Ａ）から受領した一連の文書群が真正なものと判断される。
【００２４】
以上説明したように、本実施形態によれば、信頼できる第三者機関として、クライアントから提出される一連の文書群（署名付き文書、公開鍵証明書ＰＫＣ、属性証明書ＡＣ）の正当性および有効性を検証したり、その存在を保証したりするＤＶＣＳ１０を設け、検証要求者Ａが例えば検証要求と共に、電子契約に用いる一連の文書群をＤＶＣＳ１０へ送出すると、ＤＶＣＳ１０は、これら一連の文書群の検証結果、時刻情報（タイムスタンプ）および前記第１のハッシュ値等を含む文書検証証明書ＤＶＣを発行して検証要求者Ａに返却する。
【００２５】
そして、検証要求者Ａが文書検証証明書ＤＶＣを一連の文書群に添付して検証者Ｂに送付すれば、検証者ＢではＤＶＣＳ１０から取得した公開鍵証明書ＰＫＣに基づき、検証要求者Ａから受領した文書検証証明書ＤＶＣの署名を検証し、これにより得られる第１のハッシュ値と、受領した一連の文書群から算出する第２のハッシュ値とを比較して、検証要求者Ａから受領した一連の文書群が真正なものか否かを判断するようになっているので、検証要求者Ａと検証者Ｂとの認証基盤が異なる場合でもデータ正当性を検証できる。また、外部の認証基盤と相互認証などにより連携していなくともデータ正当性を検証できる結果、相互認証サービスに要するコストを削減し得る効果も奏する。
【００２６】
さらに、ＤＶＣＳ１０では、クライアントから受領した属性証明書ＡＣの有効性を公開鍵認証基盤ＰＫＩシステムと連携して検証する属性検証部６０を備えるので、検証要求する一連の文書の内に属性証明書ＡＣを添付すれば、その属性証明書ＡＣの検証結果を含む文書検証証明書ＤＶＣを発行するので、検証要求者Ａ（公開鍵証明書所有者）の権限や資格などの属性を証明することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態によるデータ検証証明システム１００の構成を示すブロック図である。
【図２】データ検証証明システム１００において行われるデータ検証動作の概要を示す図である。
【図３】ＤＶＣＳ１０の動作を示すシーケンス図である。
【図４】ＤＶＣＳ１０の動作概要を示す図である。
【図５】クライアント９０の動作を示すシーケンス図である。
【符号の説明】
【００２８】
１０  データ検証証明サーバ（ＤＶＣＳ）
２０  ファイヤウォール
３０  検証受付部
４０  原本保証装置
５０  証明書検証部
６０  属性検証部
７０  リポジトリ
８０  クライアント（検証要求者Ａ）
９０  クライアント（検証者Ｂ）
１００  データ検証証明システム
【図１】
2005252952.tif 000003
【図２】
2005252952.tif 000004
【図３】
2005252952.tif 000005
【図４】
2005252952.tif 000006
【図５】
2005252952.tif 000007