(57)【要約】  新しいデジタル記録を受信し、シーケンス値を割り当てるデジタル証明書を生成するためのシステムおよび方法。リポジトリ内に格納しているデジタル記録に第１の決定論関数を適用することにより、第１の合成デジタル値が生成される。第１の証明書は、シーケンス値および第１の合成デジタル値を含む。リポジトリにデジタル記録を追加した後で、リポジトリ内のデジタル記録に第２の決定論関数を適用することにより、第２の合成デジタル値が生成される。この第２の合成デジタル値および合成シーケンス値は公開される。このようにデジタル記録の真正性およびシーケンス値を確認する第２の証明書は、第１および第２の合成デジタル値およびシーケンス値をベースとする間隔デジタル値を含む。【選択図】      図１０
2007515890.tif 000002
【特許請求の範囲】
【請求項１】
デジタル証明書を生成するための方法であって、
サービス・プロバイダのコンピュータのところで、第２のコンピュータから新しいデジタル記録を受信するステップと、
前記サービス・プロバイダのコンピュータのところで、前記新しいデジタル記録にシーケンス値を割り当て、リポジトリ内にデジタル記録およびハッシュ値を含むデータを格納するステップと、
前記リポジトリ内に格納している第１の複数の前記データに第１の関数を適用することにより、第１の合成デジタル値を生成するステップであって、前記第１の関数が、接続していない二連ハッシュ森（ｂｉｎａｒｙ  ｈａｓｈ  ｆｏｒｅｓｔ）に対する一組のルート値を計算するステップと、
第１のデジタル証明書を生成するステップであって、前記第１のデジタル証明書が、少なくとも前記シーケンス値および前記第１の合成デジタル値を含むステップと、
前記リポジトリに前記新しいデジタル記録を追加するステップと、
前記リポジトリ内に格納している第２の複数の前記データに第２の関数を適用することにより、一連のハッシュ値を生成し、前記リポジトリ内に前記一連のハッシュ値を格納するステップであって、前記第２の複数の前記データが前記新しいデジタル記録を含み、前記第２の関数が前記接続していない二連ハッシュ森を計算するステップと、
合成シーケンス値を生成するステップと、
前記リポジトリ内に格納している第３の複数の前記データに第３の関数を適用することにより、第２の合成デジタル値を生成するステップと、
前記リポジトリ内に格納している第４の複数の前記データに第４の関数を適用することにより、間隔デジタル値を生成するステップであって、前記間隔デジタル値が、前記シーケンス値および前記合成シーケンス値をベースとするステップと、
第２のデジタル証明書を生成するステップであって、前記第２のデジタル証明書が、少なくとも前記シーケンス値および前記間隔デジタル値を含むステップとを含む方法。
【請求項２】
前記シーケンス値が、前記新しいデジタル記録を受信した順序を表す、請求項１に記載の方法。
【請求項３】
前記第１のデジタル証明書にデジタル署名を行うステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１のデジタル証明書が、非対称暗号化アルゴリズムにより生成される、請求項３に記載の方法。
【請求項５】
前記第１の合成デジタル値を生成する前記ステップが、前記リポジトリ内に格納しているすべての前記デジタル記録に前記第１の関数を適用することにより実行される、請求項１に記載の方法。
【請求項６】
前記第１および第３の関数が、同じ関数でない、請求項１に記載の方法。
【請求項７】
前記第１および第３の関数が、同じ関数である、請求項１に記載の方法。
【請求項８】
前記第２の合成デジタル値を生成する前記ステップが、前記リポジトリ内に格納しているすべての前記デジタル記録に前記第３の関数を適用することにより実行される、請求項１に記載の方法。
【請求項９】
前記第１のデジタル証明書が、前記新しいデジタル記録をさらに含む、請求項１に記載の方法。
【請求項１０】
前記第２のデジタル証明書が、前記新しいデジタル記録および前記合成シーケンス値のうちの少なくとも一方をさらに含む、請求項１に記載の方法。
【請求項１１】
デジタル記録の前記コンピュータ・リポジトリが、接続していない二連ハッシュ森のデータ構造を有する、請求項１に記載の方法。
【請求項１２】
前記第２の合成デジタル値を公開フォーラム・コンピュータに送信するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
前記合成シーケンス値を公開フォーラム・コンピュータに送信するステップをさらに含む、請求項１に記載の方法。
【請求項１４】
前記第１の合成デジタル値を生成する前記ステップが、前記第２の合成デジタル値を生成する前記ステップの前に実行される、請求項１に記載の方法。
【請求項１５】
少なくともシーケンス値、第１の合成デジタル値、および間隔デジタル値を含むデジタル証明書を評価するための方法であって、サービス・プロバイダのリポジトリ内に格納している第１の複数のデータに第１の関数を適用することにより、前記第１の合成デジタル値が生成され、前記第１の関数が、接続していない二連ハッシュ森の一組のルート値を計算し、サービス・プロバイダのリポジトリ内に格納している第２の複数のデータに第２の関数を適用することにより、前記間隔デジタル値が生成され、
前記第１の合成デジタル値および前記間隔デジタル値に第３の関数を適用することにより、第２の合成デジタル値を生成し、前記第２の合成デジタル値が、公開フォーラム・コンピュータ内に格納している第３の複数の前記データを正確に反映しているかどうかを判定するステップを含む方法。
【請求項１６】
前記シーケンス値が、デジタル記録を受信した順序を表す、請求項１５に記載の方法。
【請求項１７】
前記デジタル証明書が、デジタル記録をさらに含む、請求項１５に記載の方法。
【請求項１８】
前記デジタル証明書が、デジタル・タイムスタンプをさらに含む、請求項１５に記載の方法。
【請求項１９】
複数のデジタル証明書を生成するための方法であって、
サービス・プロバイダのコンピュータのところで、第２のコンピュータから新しいデジタル記録を受信するステップと、
前記サービス・プロバイダのコンピュータのところで、前記新しいデジタル記録にシーケンス値を割り当て、前記シーケンス値が、前記新しいデジタル記録を受信した順序を表すステップと、
リポジトリ内に格納しているすべてのデジタル記録に、ハッシュ関数成分を有する第１の決定論関数を適用することにより第１の合成デジタル値を生成するステップであって、前記第１の決定論関数を適用する場合には、前記新しいデジタル記録が、前記サービス・プロバイダのコンピュータのリポジトリ内に格納されず、また前記第１の決定論関数が接続していない二連ハッシュ森の少なくとも１つのルート・ハッシュ値を計算するステップと、
第１のデジタル証明書を生成するステップであって、前記第１のデジタル証明書が、前記シーケンス値、前記合成デジタル値、および前記デジタル記録を含むステップと、
前記第１のデジタル証明書にデジタル署名を行うステップであって、前記デジタル署名が非対称暗号化アルゴリズムにより行われるステップと、
前記リポジトリに前記新しいデジタル記録を追加するステップであって、前記リポジトリ内に格納しているすべての前記デジタル記録にハッシュ関数成分を有する第２の決定論関数を適用するステップと、
前記リポジトリ内に格納しているすべての前記デジタル記録にハッシュ関数成分を有する第３の決定論関数を適用することにより、第２の合成デジタル値を生成するステップと、
合成シーケンス値を生成するステップであって、前記合成シーケンス値が、前記第２の合成デジタル値を生成した場合に、前記サービス・プロバイダのコンピュータのリポジトリ内に格納しているデジタル記録の数に等しいステップと、
間隔値を生成するステップであって、前記リポジトリ内に格納している複数のデータにハッシュ関数成分を有する第４の決定論関数を適用することより、前記間隔値が生成されるステップと、
第２のデジタル証明書を生成するステップであって、前記第２のデジタル証明書が、少なくとも前記シーケンス値、前記新しいデジタル記録、前記合成シーケンス値、および前記間隔デジタル値を含むステップとを含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願との相互参照）
本出願は、２００３年１２月２２日出願の米国仮特許出願第６０／５３１，８６５号の優先権を主張する。
【０００２】
本発明は、デジタル証明書の生成および更新に関し、特にデジタル証明書を生成するためのセキュア・システムおよび方法に関する。
【背景技術】
【０００３】
デジタル電子記録は、イベントの証明としてますます盛んに使用されている。歴史的には、文書および他の記録の真正性を証明するために、印章、署名、特殊な文書および他のツールが使用されていた。さらに、文書および記録の真正性を証明することに加えて、文書がある順序で受信または作成されたことを証明するために、これらおよび他のツールが使用されてきた。真正性および順序を証明するこれらの方法は、銀行業務、交渉、法的整理保管、および公的管理を含む種々の分野で役に立っている。今日、これらのサービスは、通常、公証人、監査役等が行っている。
【０００４】
デジタル化した電子コンテンツの市場において、認証および順序確認のための類似のサービスが求められている。この市場の種々の分野において、電子サービス・プロバイダは、デジタル記録を受信する。例えば、電子銀行業務システムは、消費者購入のデジタル記録を受信する。これらのサービス・プロバイダは、記録を受信したシーケンスを記録し、各記録に「シーケンス値」を割り当てる。サービス・プロバイダが記録を受信し、登録した後で、通常、記録供給当事者にデジタル証明書が発行される。後で、サービス・プロバイダまたは他の当事者が、特定の記録を登録した順序を確認する必要が生じる場合がある。確認に対するこのニーズを満たすために、シーケンス値が、正確で真正な方法で登録の順序を反映していることを後で証明するような方法で、シーケンス値をデジタル記録に結合することができる。
【０００５】
通常、デジタル記録へのシーケンス番号のこの結合は、非対称暗号法により、または別の方法としては公開により行われる。検証可能な結合は順序証明書と呼ばれる。検証可能な結合がない場合には、サービス・プロバイダは、証明書として提出されるものの有効性を否定することができる。
【０００６】
検証可能な結合を行うために非対称暗号法を使用する場合には、サービス・プロバイダは、通常、デジタル署名またはＲＳＡのような暗号化方式で、デジタル記録（対応するシーケンス値を含む）に署名する。公開鍵暗号法は高速なので、ほとんど瞬間的に証明書を生成することができる。しかし、デジタル署名を生成するための非対称暗号法は固有の弱点を有する。すなわち、暗号署名鍵が漏洩する恐れがある。鍵が漏洩すると、その鍵で生成した証明書はもはや確認することができない。時間が経過するにつれて鍵が漏洩する危険が増大するので、鍵を使う暗号で生成した証明書は短時間の間しか使用することができない。
【０００７】
検証可能な結合を行うために公開を使用した場合には、サービス・プロバイダは、通常、例えば、新聞のような広く一般の目に触れるような方法で、シーケンス値と一緒にデジタル記録を公開する。サービス・プロバイダが、公開に関するある規則を使用した場合には、公開した内容はサービス・プロバイダが証明したものと見なすことができる。公開方法では暗号鍵を使用しないので、鍵の漏洩問題を考える必要はない。しかし、公開方法は、遅く効率的ではない。実際には、公開は日単位または週単位で行われるが、現在の電子市場が要求している即時証明書の生成を行うことができない。
【０００８】
長期間証明書の真正性を証明するために、またそれを効率的に行うために、公開をベースとする結合および／または複数の鍵署名を組合せて使用することができる。しかし、この組合せアプローチは、両方のシステムの欠点を有しているので、証明書を定期的に更新しなければならないために、結合の有効性を維持するための余分な費用がかかる。
【０００９】
通常整数で表されるシーケンス値自身の特性に関するもう１つの基本的な問題がある。ある程度まで、デジタル記録と整数との間の検証可能な結合は、確認する当事者により、記録が実際にこれらのシーケンス値を受け取った証拠と見なすことができる。
【００１０】
しかし、多くの場合、デジタル記録に割り当てられたシーケンス番号は、記録を受信した本当の時間的な順序を正確に反映していない。悪意のあるサービス・プロバイダは、自分がそうしたい任意の順序で記録にシーケンス番号を割り当てることができる。それ故、サービス・プロバイダの間違った行動を検出する必要が出てくる。記録の番号をつけるというコンセプトは、登録工程を反映するには抽象的すぎる。例えば、任意の１つの特定の記録の前に３つの記録が登録されたと主張しても、記録がどのように登録されたのかについては何も分からない。この問題を克服する１つの方法は、特定の記録のシーケンス値を、リポジトリ内の特定の記録に先行する一組のすべての記録として定義する方法である。このような「シーケンス値」は、登録の順序を示すが、リポジトリの履歴も記録しているので、サービス・プロバイダはこれらのシーケンス値を否定することはできない。しかし、各シーケンス値がリポジトリの全履歴を反映している場合には、これらの値は、非常に大きな値になり、それを計算したり送信することができなくなる。
【００１１】
サービス・プロバイダの履歴を確認する１つの方法は、記録を供給する当事者に発行したデジタル証明書内に、すべての予め登録した記録の暗号化ダイジェストを内蔵させる方法である。例えば、新しく受信した記録およびその直前に受信した記録の連結に、暗号化ハッシュ関数を適用することにより線形チェイン・ハッシュを生成することができる。Ｈａｂｅｒ他の米国特許第５，１３６，６４６号にこのような方法が開示されている。順序証明書が含んでいる暗号化ダイジェストは、確認間に一方向の因果関係を生成し、それ故、サービス・プロバイダの間違った行動を心配しないで、その順序を確認するために使用することができる。何故なら、一方向の因果ハッシュ・チェインをチェックする確認装置により、任意の間違った確認を検出することができるからである。このような工程により生成したシーケンス値は、暗号化ハッシュ関数を使用しているために短い。しかし、このような値を確認するには、依然としてリポジトリ内のすべての記録を計算しなければならないために、かなりの処理リソースを消費する恐れがある。この工程はさらに不利である。何故なら、サービス・プロバイダの介入なしでは実行することができないからである。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
現在、効率的な検証可能な結合は非対称暗号法により生成される。しかし、多くの用途の場合、望ましくは暗号鍵を使用しないで検証することができる長期の検証可能な結合が求められている。それ故、クライアントが、（非対称暗号化方法により）短期のデジタル的に署名した証明書を、暗号化ダイジェストおよび公開方法をベースとする長期証明書証明で置き換えることができる手順を含むデジタル電子記録登録システムが求められている。
【００１３】
本発明はこれらおよび他の問題を解決するためのものである。
【課題を解決するための手段】
【００１４】
クライアントが登録サービス・プロバイダにデジタル記録を提出するデジタル証明書を生成するためのシステムおよび方法について以下に開示する。記録が記録され、クライアントは、記録の登録（および登録番号）を確認するデジタル的に署名した証明書を受け取る。次に、これらのデジタル的に署名した証明書は、すべての記録のリポジトリに暗号化ハッシュ関数を適用することにより生成する証明書証明（ｃｅｒｔｉｆｉｃａｔｅ  ｐｒｏｏｆ）により置き換えることができる。
【００１５】
本発明の一実施形態は、クライアントが登録サービス・プロバイダにデジタル記録を提出するデジタル証明書を生成するためのシステムおよび方法を開示している。先に受信した記録の全履歴の少なくともサブセットを表す合成デジタル値が生成される。合成デジタル値は、リポジトリ内に格納している素子に決定論アルゴリズムを適用することにより生成される。次に、確認証明書が生成され、クライアントに送信される。証明書は、少なくともデジタル記録、その記録に割り当てられたシーケンス番号、および合成デジタル値を含む。証明書は、非対称暗号化方式によりデジタル的に署名される。その後で、デジタル記録またはその表示がリポジトリに追加される。
【００１６】
本発明の他の実施形態は、デジタル記録のリポジトリの暗号化ダイジェストを公開するシステムおよび方法を開示している。受信した記録の全履歴の少なくともサブセットを表す合成デジタル値が生成される。合成デジタル値は、リポジトリ内に格納している素子に決定論アルゴリズムを適用することにより生成される。合成シーケンス番号も生成され、リポジトリの現在のシーケンス番号に等しく設定される。次に、この合成デジタル値およびリポジトリの合成シーケンス番号が一般に公開される。
【００１７】
本発明の他の実施形態は、公開した合成デジタル値に関する記録に対して間隔デジタル値が生成されるデジタル記録に対する証明書証明（ｃｅｒｔｉｆｉｃａｔｅ  ｐｒｏｏｆ）を生成するためのシステムおよび方法を開示している。次に、証明書証明が生成されるが、この場合、証明書証明は、少なくとも間隔デジタル値および記録のシーケンス番号を含み、また、デジタル記録自身のサブセット、合成デジタル値、および合成シーケンス番号を含むことができる。
【００１８】
添付図面を参照しながら下記の説明を読めば、本発明の他の特徴および利点を理解することができるだろう。
【００１９】
本発明を理解してもらうために、添付図面を参照しながら以下に本発明について説明するが、これは単に例示としてのものに過ぎない。
【発明を実施するための最良の形態】
【００２０】
本発明は、多くの種々の形で実施することができるが、以下に好ましい実施形態について詳細に図示し、説明する。この開示は本発明の原理の例示と見なすべきものであって、本発明の広い態様を図の実施形態に制限するものではないことを理解されたい。
【００２１】
図面のうちの図１について詳細に説明すると、この図は、デジタル証明書を生成するためのシステムおよび方法を示す。要約すると、このシステムおよび方法は３つの主要な機能からなる。第１の主要な機能は、新しいデジタル記録の登録である。ステップ１０１において、新しいデジタル記録が生成され、または受信される。デジタル記録はデータ項目を表し、データ項目は任意のタイプのデジタル情報を表すことができる。例えば、データ項目は、電子文書であっても、順序情報であっても、識別情報であっても、または任意の他のタイプのデジタル的に表示した情報であってもよい。データ項目の表示として、デジタル記録は、その全体内にデータ項目を含むことができ、データ項目の一部を含むことができ、またはデータ項目の何か他の表示を含むことができる。好ましい実施形態の場合には、新しいデジタル記録は、ステップ１０１において受信される。他の好ましい実施形態の場合には、新しいデジタル記録は、受信したデータ項目に基づいてステップ１０１において生成され、次にデジタル記録のリポジトリ内に格納される。
【００２２】
ステップ１０２において、第１の決定論関数が、リポジトリ内に格納しているデジタル記録の少なくともサブセットに適用され、それにより第１の合成デジタル値が生成される。好ましい実施形態の場合には、第１の決定論関数は、リポジトリ内に格納しているすべてのデジタル記録に適用され、それにより第１の合成デジタル値が、確実にリポジトリの全履歴を表示し、それによりリポジトリのオーナーが後でリポジトリの内容を不正に変更する恐れが少なくなる。
【００２３】
また、ステップ１０２において、シーケンス番号が新しいデジタル記録に割り当てられる。好ましい実施形態の場合には、シーケンス番号は、新しいデジタル記録を受信した順序を示す。例えば、リポジトリ内に１０個のデジタル記録を格納している場合に新しいデジタル記録を受信した場合には、シーケンス番号１１が新しいデジタル記録に割り当てられる。しかし、シーケンス番号は、新しいデジタル記録を受信する時間または順序の任意の表示であってもよい。
【００２４】
ステップ１０３において、証明書が新しいデジタル記録の受信を確認するように第１の証明書が生成される。第１の証明書は、少なくとも新しいデジタル記録に割り当てられたシーケンス番号、および第１の合成デジタル値を含む。好ましい実施形態の場合には、シーケンス番号は、新しいデジタル記録を受信した時間または順序を示していて、第１の合成デジタル値は、新しいデジタル記録を受信したリポジトリの履歴を表しているので、第１の証明書はシーケンス番号を確認するために使用することができる。
【００２５】
ステップ１０４において、必要に応じて、第１の証明書に追加情報を追加することができる。例えば、好ましい実施形態の場合には、第１の証明書は、さらに、新しいデジタル記録またはその一部を含む。そのため、リポジトリがデジタル記録の内容を正しく受信したことを確認する際に役に立つ。他の好ましい実施形態の場合には、追加情報は、新しいデジタル記録を受信した正確な時間を示すタイムスタンプであってもよい。
【００２６】
ステップ１０５において、デジタル署名が第１の証明書に行われる。デジタル署名は、署名がリポジトリのオーナーの同一性を認証するような任意のタイプの署名であってもよい。例えば、デジタル署名は、ＲＳＡのような秘密／公開鍵暗号化方式に基づくものであってもよい。好ましい実施形態の場合には、第１の証明書は、リポジトリのオーナーの秘密鍵によりデジタル的に署名される。好適には、第１の証明書は、デジタル記録の生成者または提供者に送信することが好ましい。
【００２７】
ステップ１０６において、新しいデジタル記録またはその表示がリポジトリに追加される。リポジトリに新しいデジタル記録を追加するステップ１０６は、ステップ１０２における第１の合成デジタル値の生成の前または後に実行することができる。好ましい実施形態の場合には、新しいデジタル記録の提供者が第１のデジタル証明書を受信するために必要な待ち時間を短縮するために、ステップ１０３における第１のデジタル証明書の生成の後に、新しいデジタル記録がリポジトリに追加される。ステップ１０６においてリポジトリに新しいデジタル記録が追加された後で、追加のデジタル記録を生成または受信することができる。すなわち、システムはステップ１０１に戻ることができる。
【００２８】
デジタル証明書を生成するためのシステムおよび方法の第２の主要な機能は、リポジトリに関する情報の公開である。ステップ１０７において、リポジトリ内に格納しているデジタル記録の少なくともサブセットに第２の決定論関数を適用することにより、第２の合成デジタル値が生成される。第１の合成デジタル値と同様に、第２の合成デジタル値は、特定の時点でのリポジトリの履歴を表す。好ましい実施形態の場合には、第１および第２の決定論関数は同じ関数ではない。好適には、第２の決定論関数を、リポジトリ内に格納しているすべてのデジタル記録に適用することが好ましい。それ故、第２の合成デジタル値は、リポジトリの全履歴を表し、それによりリポジトリのオーナーがリポジトリを不正に変更する懸念が少なくなる。
【００２９】
ステップ１０８において、合成シーケンス番号が生成される。この場合、シーケンス番号は、第２の合成デジタル値が生成される順序に対応する。それにより合成シーケンス番号は、第２の合成デジタル値の時間的品質を表す。ステップ１０８において、第２の合成デジタル値および合成シーケンス番号が公開される、すなわち、公開フォーラムに送信される。公開フォーラムは、一般公衆が使用できる情報の任意のソースであってもよい。例えば、公開フォーラムは、新聞、雑誌、インターネット・ウェブサイトまたは電子メールであってもよい。
【００３０】
デジタル証明書を生成するためのシステムおよび方法の第３の主要な機能は、新しいデジタル証明書のシーケンス番号の真正性を証明する第２の証明書の生成である。ステップ１０９において、デジタル間隔値が生成される。この場合、デジタル間隔値は、第１および第２の合成デジタル値をベースとしている。好ましい実施形態の場合には、デジタル間隔値は、新しいデジタル記録の受信と第２の合成デジタル値の生成の間のリポジトリ内に格納されたデジタル記録に適用された第３の決定論関数の適用の結果である。それ故、デジタル間隔値は、新しいデジタル記録の受信と第２の合成デジタル値の公開の間のリポジトリの履歴を反映することができる。しかし、デジタル間隔値は、リポジトリ内に格納しているすべてのデジタル記録に適用した決定論関数の適用の結果であってもよく、それによりリポジトリの全履歴を反映する。
【００３１】
ステップ１１０において、第２の証明書が生成される。第２の証明書は、少なくとも新しいデジタル記録のデジタル間隔値およびシーケンス番号を含む。デジタル間隔値は、リポジトリに新しいデジタル記録が追加されてからのまたはもっと早い時期からのリポジトリの履歴を反映しているので、シーケンス番号の正確さを確認するためにデジタル間隔値を使用することができる。また、デジタル間隔値を、新しいデジタル記録の真正性を更新するために、すなわち、延長するために使用することもできる。デジタル間隔値の生成には暗号鍵を使用しないので、第２のデジタル証明書のセキュリティは、暗号鍵が漏洩する恐れはない。
【００３２】
ここで図２を参照すると、この図は、デジタル証明書を生成するための方法のステップの詳細図である。ステップ１０６において、新しいデジタル記録２００がリポジトリ２１０に追加される。ステップ２０５において、第１の決定論関数が、第１の合成デジタル値２０４を生成するためにリポジトリ内に格納しているデジタル記録の少なくともサブセットに適用される。リポジトリ１０６に新しいデジタル記録２００を追加するステップは、リポジトリ２１０に第１の決定論関数２０５を適用するステップの前または後に実行することができる。シーケンス番号２０２が、新しいデジタル記録２００に割り当てられる。この場合、シーケンス番号は、新しいデジタル記録２００の時間的値、すなわち新しいデジタル記録２００を受信した順序を表す。
【００３３】
ステップ１０３において、第１の証明書２０１が生成される。第１の証明書２０１は、少なくとも新しいデジタル証明書２００の第１の合成デジタル値２０４およびシーケンス番号２０２を含む。さらに、第１の証明書２０１は、新しいデジタル記録２００自身および他の追加のデータ２０７を含むことができる。ステップ２０８において、第１の証明書２０１はデジタル署名２０９で署名される。好適には、デジタル署名２０９は、公開鍵暗号化方式をベースとすることが好ましい。
【００３４】
ステップ２１３において、第２の決定論関数が、第２の合成デジタル値２１２を生成するために、リポジトリ２１０内に格納しているデジタル記録に適用される。合成シーケンス番号２１７が生成されるが、好適には、リポジトリ２１０内の現在の次に使用できるシーケンス番号に等しく設定することが好ましい。ステップ１０９において、デジタル間隔値２１４が生成される。デジタル間隔値２１４は、新しいデジタル記録２００の受信と第２の合成デジタル値２１２の生成の間の時間差を反映している。最後に、ステップ１１０において、第２の証明書２１５が生成される。第２の証明書２１５は、少なくとも新しいデジタル記録２００のシーケンス番号２０２およびデジタル間隔値２１２を含む。さらに、ステップ１１０のところで説明したように、第２の証明書２１５は、第１の証明書２０１の全部または一部および合成シーケンス番号２１７を含むことができる。
【００３５】
ここで図３を参照すると、この図は第２の証明書２１５を確認するステップの詳細図である。第１の証明書２０１は、クライアント３０１によりサーバ３０２から受信される。この場合、好適には、第１の証明書２０１にはデジタル署名２０９で署名することが好ましい。必要に応じて、第１の証明書２０１を受信した場合、第１の証明書２０１の真正性を最初に確認するために、署名チェック手順３０８を実行することができる。好適には、署名チェック手順３０８は、鍵をベースとする暗号化方式を使用することが好ましい。
【００３６】
第１の証明書２０１は、第２のクライアント３０３により受信され、第１の証明書２０１の真正性を確認するために署名チェック手順３０８が実行される。好ましい実施形態の場合には、ステップ３０８において、第１の証明書２０１のデジタル署名２０９が有効であると判定した場合には、第２のクライアント３０３は、第１の証明書２０１を確認または検査することはできない。第１の証明書２０１のデジタル署名２０９が有効であると分かった場合には、第１の証明書２０１が第２のサーバ３０４に送信され、その時点で、第１の証明書は、第２の証明書２１５を生成するための本明細書に記載した方法の適用により、更新され、延長され、検査される。次に、第２の証明書２１５が、第２のサーバ３０４に送信される。公開した第２の合成デジタル値２１２および合成シーケンス番号２１７は、第２のクライアント３０３により公然と使用することができる。それ故、これらの値、第２の証明書２１５および第１の証明書２０１に基づいて、第２のクライアント３０３は、検証工程３０７によりシーケンス番号２０２の有効性を確認することができる。第１の証明書２０１および第２の証明書２１５が同じものであると判定した場合には、第２のクライアント３０３は、シーケンス番号２０２および第１のクライアント３０１が提供したデジタル記録２００が真正であると信頼することができる。
【００３７】
ここで図４を参照すると、この図は、デジタル記録２００を確認するためのシステムおよび方法の他の実施形態の詳細図である。デジタル記録２００は、クライアント４０２から確認サーバ４０１に送信される。第２の証明書２１５が延長サーバ４０３から受信される。この場合、第２の証明書２１５を生成するための工程は実行済みである。集合的に公開値２１２と呼ばれる第２の合成デジタル値２１２および合成シーケンス番号２１７は、公開サーバ４０４上で公開され、確認サーバ４０１により受信される。第２の証明書２１５、デジタル記録２００、および公開値２１２は、本明細書で説明する検証工程４０５で使用される。それ故、確認サーバ４０１は、クライアント４０２が提出したデジタル記録２００の有効性に依存することができる。
【００３８】
ここで図５を参照すると、この図は、デジタル記録を登録するためのシステムおよび方法のある実施形態の詳細図である。この場合、確認サーバ５０１は、それぞれ第１および第２のクライアント５０２および５０４が提供する競合するデジタル記録２００のシーケンス値２０２の順序を確認することができる。第１のクライアント５０２は、第１のデジタル記録５０３に対応する第２の証明書５０９と一緒に、確認サーバ５０１に第１のジタル記録５０３を送信する。第２のクライアント５０４は、第２のデジタル記録５１０に対応する第２の証明書５１１と一緒に、確認サーバ５０１に第２のデジタル記録５１０を送信する。それ故、確認サーバ５０１は、競合するデジタル記録２００のどちらが先に登録されたのかを判定するために、本明細書に記載するシステムおよび方法を使用することができる。
【００３９】
公開サーバ５０６上で公開された公開値５１２は、確認サーバ５０１により受信される。本明細書に記載する検証工程５０７により、確認サーバ５０１は、デジタル記録２００のうちのどれが真正であるのかを判定するために、第１および第２のデジタル記録２００および添付の第２の証明書に依存することができる。さらに、デジタル記録２００のシーケンス番号２０２は、第２の証明書２１５内に反映されるので、確認サーバ５０１は、また、デジタル記録２００を受信した真正な順序を決定することができる。
【００４０】
ここで図６を参照すると、この図は、新しいデジタル記録を登録し、第１のデジタル証明書を生成するために、その間の状態および遷移をさらに示すための状態遷移図である。ステップ６０３において、登録システムが初期化される。シーケンス値がゼロに設定され、リポジトリからデジタル記録がクリアされ、合成デジタル値がクリアされる。ステップ６０２において、システムはデジタル記録を受信するために待機する。デジタル記録を受信した場合、第１の合成デジタル値がステップ６０４において生成される。ステップ６０５において、シーケンス値が新しいデジタル記録に割り当てられ、本明細書に記載する手順により第１のデジタル証明書が生成される。第１のデジタル証明書にはデジタル的に署名が行われる。最後に、新しいデジタル記録がリポジトリに追加される。ステップ６０５において登録が終了すると、システムは、もう１つの新しいデジタル記録を受信するために待機状態６０２に戻る。
【００４１】
ここで図７を参照すると、この図は、第１のデジタル証明書を延長するために、その間の状態および遷移をさらに説明するための状態遷移図である。システムはステップ７０１でスタートし、ステップ７０３で初期化される。リポジトリに第２の決定論関数を適用することにより、第２の合成デジタル値が生成され、合成シーケンス値が生成される。次に、システムはデジタル証明書を受信するための待機状態７０２に進む。デジタル証明書を受信しない場合には、システムは、合成値を再初期化し、再生成するために間欠的にステップ７０３に戻る。デジタル証明書を受信した場合には、間隔デジタル値が、本明細書に記載する工程によりステップ７０４において生成される。間隔デジタル値が生成された後で、システムは第２のデジタル証明書をステップ７０５において生成する。最後に、システムはもう１つのデジタル証明書を受信するために待機状態７０２に戻る。好ましい実施形態の場合には、第２のデジタル証明書の生成は、第１のデジタル証明書の内容に依存するので、第１のデジタル証明書の真正性を更新または延長するためにシステムを使用することができる。また、第１のデジタル証明書の真正性を確認するためにもシステムを使用することができ、第１のデジタル証明書に対応するデジタル記録が真正であることを確認するためにもシステムを使用することができる。
【００４２】
ここで図８を参照すると、この図は、デジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのデータ構造を説明するための図面である。好ましい実施形態の場合には、データ構造は、二連のハッシュ木（ｂｉｎａｒｙ  ｈａｓｈ  ｔｒｅｅ）の森である。二連木の各親の頂点は、子の頂点の暗号化ハッシュである。二連ハッシュ木の構成は、新しいデジタル記録の受信に基づいて進行中に行われる。新しいデジタル記録は、所定のサイズのハッシュ値により表され、二連ハッシュ木のリーフ８０２として格納される。二連木データ構造を使用しているために、リポジトリ内に格納しているデジタル記録の数を知る必要がなく、例えば、高さおよび幅のようなリポジトリのトポロジー的パラメータを決定する必要もない。それ故、図８は、６つのデジタル記録を受信した後のリポジトリの二連ハッシュ木データ構造の森を表す。
【００４３】
森のリーフの頂点８０２は自然に組織される。リーフのシーケンス番号ｎは、森の中のその位置を決定する。新しいデータ記録ｘｎを受信した場合には、最初、シーケンス値ｎを有するリーフとして格納され、次に、木が更新される。更新工程は、森のルート頂点８０１だけが合成デジタル値のさらなる生成に参加するように組織される。それ故、ルート頂点のリストは、合成デジタル値を生成する際に使用するための状態ハッシュとしての働きをする。合成デジタル値を生成する工程中、計算することができる構造の任意の頂点を直ちに計算し格納することができる。すべてのリーフ８０２は、好適には、木のポストオーダ・トラバーサルに対応していることが好ましいその計算順序で格納される。ルート頂点８０１はすでにリーフ頂点８０２のハッシュ値を示しているので、リーフ頂点８０２を合成デジタル値を生成する際に考慮に入れる必要はない。それ故、二連ハッシュ木データ構造の森は、合成デジタル値の非常に高速な処理のために使用される。
【００４４】
ここで図９を参照すると、この図は、デジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのデータ構造を示す図面である。この場合、二連ハッシュ木データ構造の森を索引付きアレイとしてさらに説明する。森を表すアレイの素子は、その計算順序で格納される。別の言い方をすれば、時間的に早く計算した素子は、後で計算した素子よりも小さな索引を有する。好適には、森データ構造を構成する工程は、スタックの頂部上にｈｓが位置する状態で、ルート・ハッシュ値ｈ１．．．ｈｓを含むスタックの使用に依存することが好ましい。（ｘ０．．．ｘｎ−１）が森のリーフである場合には、スタック内の素子の数は、ｎの２進表示に設定されたビットの数に等しい。各追加リーフは、スタックの頂部においていくつかの値を変え、変化している値の数は、ｎの２進表示内の右端の１ビットの数に等しい。例えば、ｎ＝２３である場合には、ｎ番目の追加はスタックの３つの素子を変化させる。何故なら、２３＝１０１１１２であるからである。
【００４５】
ここで図１０を参照すると、この図は、デジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのデータ構造を示す図面である。この図面内においては、二連ハッシュ木の層状の森として、データ構造についてさらに説明する。好適には、デジタル間隔値を効率的に計算するためには、層の二連木を組織することが好ましい。ｎ番目の層１００１は、２つの仮定を満足する頂点の最小のサブセットとして定義される。第１の仮定は、層はすべてのｎについて、リーフｘｎはｎ番目の層に属するという仮定を満足するというものである。第２の仮定は、層は、頂点νの子の頂点のうちの１つがｎ番目の層に属し、他の子が（ｎ−ｋ）番目の層に属する場合には（ここで、ｋ∈｛０．．．ｎ｝）、頂点νもｎ番目の層に属するという仮定を満足するというものである。図１０は、層内に６つのノードが組織されている二連ハッシュ木の一例である。
【００４６】
ここで図１１を参照すると、この図は、デジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのアルゴリズムの作業の流れを示す表である。好ましい実施形態の場合には、ｎがリポジトリのシーケンス番号を表し、ｘが新しいデジタル記録を表す場合、デジタル記録を登録するアルゴリズムは、下記のようになる。
【００４７】
【数１】
2007515890.tif 000003
図１１は、デジタル記録入力［ｘ０，ｘ１，ｘ２，ｘ３，ｘ４］によるこのアルゴリズムの適用を示す作業の流れを示す。関数更新（リポジトリ，合成値，ｎ，ｘ）は、さらに下記のように定義することができる。
【００４８】
【数２】
2007515890.tif 000004
ここで図１２を参照すると、この図は、デジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのアルゴリズムの作業の流れを示す表である。好ましい実施形態の場合には、ｎがリポジトリのシーケンス番号を表し、Ｎが合成シーケンス値を表す場合、間隔デジタル値を生成するためのアルゴリズムは下記のようになる。
【００４９】
【数３】
2007515890.tif 000005
図１２は、ｎ＝４およびＮ＝７の場合の、このアルゴリズムの適用を示す作業の流れである。図１３は、ｎ＝３、Ｎ＝７の場合のこのアルゴリズムの適用を示す作業の流れである。
【００５０】
本発明の精神または中核をなす特徴から逸脱することなしに、本発明を他の特定の形で実施することができることを理解することができるだろう。それ故、本発明の実施形態はすべての点で例示としてのものであって、本発明を制限するものではないと見なすべきであり、本発明の実施形態は本明細書に記載する詳細に限定されない。
【図面の簡単な説明】
【００５１】
【図１】リポジトリ内にデジタル記録を登録するステップ、リポジトリのダイジェストを暗号により公開するステップ、およびデジタル記録に対して証明書証明を生成するステップの概要を示すデジタル証明書を生成するためのシステムおよび方法の一般的なフローチャートである。
【図２】リポジトリ内にデジタル記録を登録し、記録の登録を確認するデジタル証明書を生成するための手順を詳細に示すデジタル証明書を生成するためのシステムおよび方法の一部のフローチャートである。
【図３】デジタル記録に対する証明書証明を生成するための手順を詳細に示すデジタル証明書を生成するためのシステムおよび方法の一部のフローチャートである。
【図４】デジタル記録の受信およびシーケンス番号を確認するために、証明書証明を使用するための手順を示すデジタル証明書を生成するためのシステムおよび方法のある用途のフローチャートである。
【図５】２つ以上のデジタル記録の受信およびシーケンス番号を確認するために、証明書証明を使用するための手順を示すデジタル証明書を生成するためのシステムおよび方法のある用途のフローチャートである。
【図６】第１のデジタル証明書を生成する場合のその間の状態および遷移を示すデジタル証明書を生成するためのシステムおよび方法の一部の状態遷移図である。
【図７】第２のデジタル証明書を生成し、第１のデジタル証明書を更新する場合のその間の状態および遷移を示すデジタル証明書を生成するためのシステムおよび方法の一部の状態遷移図である。
【図８】二連ハッシュ木の森を示すデジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのデータ構造の図面である。
【図９】インデックス付きアレイとして表した二連ハッシュ木の森を示すデジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのデータ構造の図面である。
【図１０】層状データ構造に配置された二連木の森を示すデジタル証明書を生成するためのシステムおよび方法と一緒に使用するためのデータ構造の図面である。
【図１１】デジタル記録を登録するためのアルゴリズムの作業の流れを示すデジタル証明書を生成するためのシステムおよび方法と一緒に使用するための表である。
【図１２】デジタル間隔値を生成するためのアルゴリズムの作業の流れを示すデジタル証明書を生成するためのシステムおよび方法と一緒に使用するための表である。
【図１３】さらにデジタル間隔値を生成するためのアルゴリズムの作業の流れを示すデジタル証明書を生成するためのシステムおよび方法と一緒に使用するための表である。
【図１】
2007515890.tif 000006
【図２】
2007515890.tif 000007
【図３】
2007515890.tif 000008
【図４】
2007515890.tif 000009
【図５】
2007515890.tif 000010
【図６】
2007515890.tif 000011
【図７】
2007515890.tif 000012
【図８】
2007515890.tif 000013
【図９】
2007515890.tif 000014
【図１０】
2007515890.tif 000015
【図１１】
2007515890.tif 000016
【図１２】
2007515890.tif 000017
【図１３】
2007515890.tif 000018
【国際調査報告】
2007515890.tif 000019
2007515890.tif 000020
2007515890.tif 000021