JP2007515837A - データ管理処理およびデータ配送処理において完全性および信頼を提供する方法およびシステム - Google Patents
データ管理処理およびデータ配送処理において完全性および信頼を提供する方法およびシステム Download PDFInfo
- Publication number
- JP2007515837A JP2007515837A JP2005511184A JP2005511184A JP2007515837A JP 2007515837 A JP2007515837 A JP 2007515837A JP 2005511184 A JP2005511184 A JP 2005511184A JP 2005511184 A JP2005511184 A JP 2005511184A JP 2007515837 A JP2007515837 A JP 2007515837A
- Authority
- JP
- Japan
- Prior art keywords
- hash value
- digital data
- leaf
- calculating
- public key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
クライアント装置およびサーバを制御する方法、システム、およびその命令を有するコンピュータ読取可能な媒体が、ディジタルデータを管理するために提供される。一態様によれば、本方法は、ディジタルデータを所定のディジタルデータセットに関連付ける工程と、ディジタルデータの一部またはすべてに対して、および/または所定のセットに関連付けられたディジタルデータの一部またはすべての識別情報に対してリーフハッシュ値を計算する工程と、ルートハッシュ値を計算する工程と、を含み、ここで、基礎をなすハッシュアルゴリズムは入力として少なくともリーフハッシュ値を有する。本方法は、所与のディジタルデータに関連付けられたディジタルデータセットを識別することにより、ルートハッシュ値を有する所与のディジタルデータの整合性を判定する工程と、ルートハッシュ値を再取得する工程と、ルートハッシュ値が計算されたハッシュ値を再取得する工程と、再取得されたハッシュ値に対してハッシュ値を計算する工程と、再取得されたルートハッシュ値と前の工程で計算されたハッシュ値とを比較する工程と、をさらに含む。
Description
本発明は、データ管理配送システムに関し、そして特定の実施の形態は、公衆ネットワークを介し、一人以上の者から他の複数の者へディジタルデータを配送するために用いられるシステムの公開鍵基盤に関する。特に、インターネットのような公衆ネットワークで配送されるディジタルデータの完全性および信頼の水準を確立する処理が本発明により提供される。
多くの用途においては、サーバが、様々なクライアントに対し、あるデータまたはデータセットの有無と、さらにその完全性を証明することができることが望ましい。
さらに、PGP(Pretty Good Privacy)システムのようなシステムにおいては、ある「署名者(signing party)」が当該システムの他のある者の公開鍵にディジタル署名し、それによってその「被署名者(signed party)」の身元(identity)を承認できることが望ましい。「署名者」を信頼するかまたは知っている第三者に、「被署名者の」の身元を知らずに「被署名者」の身元または公開鍵に対する信頼を確立させるシステムを提供することは特に望ましいであろう。既知のシステムは、ほとんどの者(クライアント)が他の者の小さなグループだけを知っているという欠点と、別の公開鍵上の署名は当該鍵の信頼を確立するための効果的なやり方でないという欠点を有している。なぜなら、当該鍵の受信者は署名者の身元を知りかつ信頼しなければならず、前もって知らない鍵を受信するほとんどの場合はそうでないからである。
また、インターネットのような分散型システムにおいてローカルに使用されるデータの完全性情報を確立するシステムおよび方法を提供することが望ましい。多くのユーザは、グローバルに使用されるデータセットの一部を頻繁に使用する。ここで、「グローバルに」とは、あるシステムにおける多くのユーザがそのデータセットを使用するということを意味する。このデータは、該データを使用するすべてのユーザにとって同一である(そして不変である)ということを保証できる方法を提供することが望ましい。データは、ある信頼できる鍵により署名されるか、あるいはすべてのユーザにより集権化されかつ信頼される信頼できる第三者により署名されるということが知られている。しかしながら、これは、集権化された第三者に基づいて信頼を確立する。これは明らかに不都合である。なぜなら、すべてのユーザはこの第三者を信頼しなければならず、この第三者の完全性に依存し、そしてこのシステムはこの第三者により支援される集権型基盤を必要とするからである。
本発明の目的は、前述の有利で望ましい態様および特徴を達成し可能にするシステムおよび方法、ならびに、このようなシステムおよび方法の複数のユーザ端末およびサーバを適宜制御する命令を含むコンピュータ読取り可能な媒体を提供することである。本発明のさらなる利点および態様は以下の説明および特許請求の範囲から明らかである。
この目的は独立請求項の主題により解決され、好ましい実施の形態は従属請求項の主題により定義されるが、これらは本発明に関する開示の一部である。
本発明の一態様によれば、ディジタルデータを管理する方法およびシステムが提供される。ディジタルデータは第一の所定のディジタルデータセットと関連付けられ、ここで少なくとも二つの所定のディジタルデータセットが存在し、当該第一の所定のディジタルデータセットは、少なくとも二つの所定のセットのその他の所定のセットから区別することができる。
第一のリーフハッシュ値は、第一の所定のセットと関連付けられたディジタルデータの一部またはすべてに対し(および/またはディジタルデータの一部またはすべての識別情報に対し)計算される。また、少なくとも二つの所定のセットの第二の所定のセットと関連付けられたディジタルデータの一部またはすべてに対し(および/またはディジタルデータの一部またはすべての識別情報に対し)、少なくとも第二のリーフハッシュ値が計算される。三つ以上の所定のセットが存在する場合、少なくとも二つの所定のセットの残りの各セットに関し、残りの所定のセットと関連付けられたディジタルデータの一部またはすべてに対する、および/または上記ディジタルデータの一部またはすべての識別情報に対するリーフハッシュ値がそれぞれ計算される。
さらに、ルートハッシュ値が計算され、ここで、基礎をなすハッシュアルゴリズムは、少なくとも二つの所定のディジタルデータセットのそれぞれに対しそれぞれ計算されたリーフハッシュ値を入力として少なくとも有する。ルートハッシュ値の計算は、少なくとも第一および第二のリーフハッシュ値に対する少なくとも第一の非リーフハッシュ値の計算を含む。
さらに、後で与えられかつルートハッシュ値を有するディジタルデータの整合性は、所与のディジタルデータに関連付けられたディジタルデータセットを識別して、ルートハッシュ値を再取得して、そのルートハッシュ値が計算されたハッシュ値を再取得することにより、判定される。ここで、識別されたディジタルデータセットに関連付けられたディジタルデータの一部またはすべてに対する(および/またはディジタルデータの一部またはすべての識別情報に対する)リーフハッシュ値が、第一および第二のリーフハッシュ値の計算に使用されたものと同じ計算方式を適用することにより、再計算される。
次に、再取得されたハッシュ値に対する少なくともハッシュ値は、ルートハッシュ値の計算に使用されたのと同じ計算方式を適用することにより、計算される。次に、再取得されたルートハッシュ値は、前もって計算されたそれぞれのハッシュ値と比較され、そしてルートハッシュ値を有する所与のディジタルデータの整合性は、この比較結果に基づいて判定され、ここで、比較結果が等しいハッシュ値になれば整合性が判定される。
本発明の別の態様によれば、公衆ネットワークを介して接続された複数の者を含むシステムにおいて署名の信頼水準を提供する方法およびシステムが提供され、該システムは複数の者のための公開鍵署名方式を提供する。本方法は、第二者が秘密鍵SK2を使用することにより第一者の公開鍵PK1に署名する工程と、第一者が被署名公開鍵PK1に対応する秘密鍵SK1を使用することによりディジタルデータDに署名する工程と、第三者が、被署名ディジタルデータDおよび被署名公開鍵PK1を取得し、ここで、第一者が第三者に知られず、および/または信頼されない工程と、第二者を被署名公開鍵PK1の署名者として判定する工程と、第二者が署名者として第三者に知られているか否か、および/または信頼されているか否かを判定する工程とを含む。第二者が(署名者として)第三者に知られまたは信頼される場合、本方法は、さらに、秘密鍵SK2に対応する第二者の公開鍵PK2を取得し、既知のおよび/または信頼できる署名者の公開鍵PK2を使用することにより、被署名公開鍵PK1を検証し、そして被署名公開鍵PK1の検証が成功した場合、被署名公開鍵PK1を使用することにより被署名ディジタルデータDを検証する。
本発明のさらに別の態様によれば、公衆ネットワークを介して接続された複数の者を含むシステムの少なくとも二者に対してディジタルデータの完全性および整合性の情報を提供するための方法およびシステムが提供される。本方法は、システムの第一者によりディジタルデータの識別情報のリストを生成する工程と、リストの識別情報の一部またはすべてに対するハッシュ値を計算する工程と、ハッシュ値をリストと関連付ける工程とを含む。
さらに、リストおよびハッシュ値はシステムの第二者に提供され、第二者が所有する対応リストにおける一つ以上の識別情報が、取得されたリストにおける対応する一つ以上の識別情報と比較される。次に、両方のリストの整合性は、取得されたリストの識別情報の一部またはすべてに対するハッシュ値を計算して、対応するリストの識別情報の一部またはすべてに対するハッシュ値を計算または取得し、そして両方のハッシュ値を比較することにより、検証される。比較工程の結果が等しいハッシュ値になった場合、両方のリストが整合しているということを確立する。
以下、添付図面を参照し本発明につき説明する。
以下、ハッシュ値を使用するディジタルデータの管理および配送に関する本発明の第一の態様について説明する。次に説明される実施の形態は、ディジタルデータを管理、格納、配送し、これによりディジタルデータの完全性を検証することができる方法およびシステムを提供する。
特に、ディジタルデータが何人かの関与者に配送または提供されるシステムにおいて、以下の実施の形態は、各者が、別々に取得されたいくつかの情報(原理的には単一のハッシュ値であり、これは後の特定の実施の形態において定義される)により、ディジタルデータの完全性または整合性を検証することができるようにする。さらに、本方法およびシステムは、当該システム内の複数の者がシステム内のディジタルデータの有無を証明することもできるようにする。説明する方法は、特に、サーバクライアントシステム内で実行することができ、サーバは、複数のクライアントに対してディジタルデータの存在および完全性を証明することができ、これによりクライアントは、サーバの正常動作または完全性を検証しかつ同一情報がすべてのクライアントに対し付与されたことを確認することができる。
本出願を通し、用語「ディジタルデータ」は、プログラムファイル、データファイル、設定ファイル、ソフトウェアコード、上記データファイルのいずれかの新版または更新、電子メールメッセージ、ディジタル証明、公開鍵、またはその組合せをディジタルに格納または配送することができる種類のデータを表わすのに使用される。
本発明は、本発明を理解するために十分な知識を当業者に提供すると考えられるいくつかの例示的なシナリオを例示する以下の特定の実施の形態により説明される。従って、これらの実施の形態は網羅的というよりむしろ例示的であることを意味する。当業者にとって周知の事実の特徴については、本明細書では詳細に説明されない。
図1は、本発明の第一の態様を示す例示的な図を示す。この態様によれば、ディジタルデータの存在および完全性は、ハッシュ関数に基づく分類および検証の手順を使用することにより判定することができる。本発明の好ましい実施の形態によれば、各ディジタルデータ(例えばデータファイル、公開鍵)は、複数の異なるディジタルデータセット(110、120、130、140)のいずれかに関連付けられる。換言すれば、この手順を使用することにより管理または配送される各ディジタルデータは一つのディジタルデータセットに割り当てられる。この割り当てまたは関連付けは、ディジタルデータエントリを、これらの異なるデータセットを表すそれぞれの格納場所または格納媒体に物理的に格納することを伴ってよい。あるいは、ディジタルデータに対しそれぞれの識別子を割り当てまたは定義することにより、上記割り当てまたは関連付けを達成することができる。同様に、異なるデータセットの識別を可能にする内在的な既存の情報または識別子を使用して、複数のセット(110、120、130、140)を完成してもよい。当業者に知られた他のいくつかの識別も考えられるが、ここでは詳細には述べない。しかしながら、特に有利な一実施の形態では、一つの所定のセットとの関連付けを得るために、ディジタルデータ自体の2進表現、該ディジタルデータの識別情報の2進表現、もしくはこれらのいずれかまたは両方のハッシュ値の2進表現を使用することができる。一例として、各データに対する識別子内のn個の最下位ビットのような所定のビットストリングは、特定のセットとの関連付けを提供することができる。各データに対する識別子は、ファイル名、電子メールアドレス、ファイル属性、または上記データの一意的な識別番号でよく、ビットストリングにより表現される数は、あるディジタルデータセットに対応することができる。
特定の実施の形態によれば、ある所定のセットを各ディジタルデータに明白に割り当てる、各ディジタルデータに対する識別情報が存在する。別の特定の実施の形態によれば、ディジタルデータは二つ以上の所定のセットの一部でもよい。さらに別の特定の実施の形態によれば、この識別情報は、このシステムに入力される際、各ディジタルデータに割り当てることができる。
所定のセットの総数および/または各セットにおけるデータエントリの総数は、各セットに対するディジタルデータが結果として統計的に一様分布となるように予め規定され固定されてよい。
以下、図2に例示されるクライアントサーバシステム200を一例として使用する本発明の主要な態様について説明される。
図2は、ネットワーク209(例えば、インターネット)を介して少なくとも一つのサーバに接続された複数のクライアント203〜205を含むシステム200を示す。一例として、図2は、ハッシュ値サーバ202およびデータ格納サーバ201を示す。データ格納サーバ201は、複数のクライアントに配送されるディジタルデータを格納するサーバ手段を例示し、ハッシュ値サーバ202は、後に説明されるハッシュ値を計算し、維持し、配送するために使用されるサーバ手段を例示する。しかしながら、両サーバ手段は、単一のサーバエンティティ内に含まれてもよいし、あるいはさらに、三つ以上のサーバエンティティ間に割り当てることもできる。この例示的なクライアントサーバシステム200は、クライアントおよび/またはサーバが入手可能な公開鍵署名方式を提供する公開鍵ネットワークを表す。従って、このシステム内で公開鍵を発行し、配送し、維持することができる秘密公開鍵ペアサーバ206が例示される。一例として、公開鍵ネットワーク内で共通に使用される、各クライアントに対する公開鍵の証明書を生成し発行する二つの認証局208、209も例示される。
残りの実施の形態は、この例示的なネットワーク200に照らして説明されるが、それら実施の形態は、別に明確に述べない限り、このようなクライアントサーバシステムに限定されるものではないということに留意されたい。本発明は、全般に、ディジタルデータの存在および完全性の管理および検証に関する。
一実施の形態によれば、各所定のセット(110、120、130、140)に関連付けられたディジタルデータは、単一のハッシュ値(115、125、135、145)を計算するために使用される。別の実施の形態によれば、各セットにおける各ディジタルデータエントリの識別情報(111〜113、121〜123、131〜133、141〜143)は、各セット110、120、130、140に対する単一のハッシュ値を計算するために使用される。上記のように、この識別情報は、各データエントリに対して計算されたハッシュ値自体でもよい。いずれの場合も、一つのハッシュ値は、各所定のセットに関連付けられたディジタルデータエントリまたはその識別情報に対して計算することができる。これらのハッシュ値は、以下ではリーフハッシュ値115、125、135、145として表わされる。
次に、これらのリーフハッシュ値は、一つ以上の工程において単一のハッシュ値を計算するために使用することができ、この単一のハッシュ値は以下ではルートハッシュ値160として表わされる。このルートハッシュ値は、全体のハッシュデータの完全性を検証し、そしてそれによりシステムにおける当該ディジタルデータセットの完全性および/またはディジタルデータの有無を検証するために使用することができる(後でさらに詳細に説明される)。
ディジタルデータの有無を検証するために、ディジタルデータに関連付けられたであろう所定のセット110を、まず判定することができる。これについては、識別情報111は上述のように取得または割り当てられ、それぞれのディジタルデータセットはクライアントにより要求される。
以下の説明では、システム200は、システム200内でクライアントの公開鍵を配送するために使用され、クライアント203は、別のクライアント204の公開鍵を受信し、受信された公開鍵の完全性を判定することを所望する。換言すれば、配送および検証されるディジタルデータは、データの完全性という点では公開鍵である。この例は、この実施の形態を例証的に説明するためにのみ採用され、そして上に指摘したように、本発明は、全般に、任意の種類のディジタルデータに関するということを認識されたい。
クライアント203は、この公開鍵が関連付けられたであろう所定のセット110をまず判定することができる。次に、クライアント203は、サーバ(201、202)から、データエントリ111〜113、またはこの識別された所定のセット110内に含まれるこれらデータエントリ111〜113の識別情報を要求し、その後、このセット110のリーフハッシュ値115を上述の既知の所定の方法で計算することができる。
簡単な実施の形態によれば、クライアント203は、公開鍵が、識別されたディジタルデータセット110と関連付けられたディジタルデータエントリ111〜113または識別情報か否かを調べることができる。しかしながら、この実施の形態は、当該公開鍵の完全性について、限られた確実性だけを提供する。なぜなら、クライアント203は、要求された所定のデータセットを有するこの公開鍵の整合性を確立することができるのみであるからである。要求された(最終的に受信された)ディジタルデータまたはその識別情報の完全性を検証するための明白かつ容易な方法はない。このため、以下の実施の形態は、要求された所定のセットの完全性の検証と、従ってこのセットの一部として検証されなければならない公開鍵の完全性とを提供する。
このため、ルートハッシュ値160は、システム200内のクライアント203〜205間に配送される。前の例に戻ると、クライアント203は、検証されるべき公開鍵(111)の関連付けられた所定のセット110を識別し、この識別されたセットに関連付けられた残りのディジタルデータ(112、113)を要求および取得し、そしてこのセット110に対するリーフハッシュ値115を計算した。ここで、クライアント203はこの計算されたリーフハッシュ値115を使用することによりルートハッシュ値160を再計算する。
ルートハッシュ値160は、後に説明されるように安全に配送され、および/またはすべてのクライアント203〜205はこのルートハッシュ値160をサーバ介入またはさらなる第三者の関与なしに相互間で比較することができるので、また、基礎をなすハッシュアルゴリズムは暗号的に安全なので、クライアント203は、当該公開鍵(111)を含む所定のセット110のリーフハッシュ値115を有するこの安全に配送されたルートハッシュ値160の整合性を確立することができる。
ハッシュアルゴリズムが、ハッシュアルゴリズムへの入力の完全性を検証するために使用できる暗号的に安全な単方向関数を提供するということは知られている。一つのディジタルデータ(例えば公開鍵)セットを検証するためには、検証されるべきすべての可能性のあるディジタルデータエントリに対するハッシュ値が計算されなければならない。しかしながら、これは、特定のディジタルデータエントリを検証しなければならない場合、すべてのディジタルデータエントリを取得しなければならないということを要請するであろう。これは大きなディジタルデータセットに対しては適用できないであろう。従って、本発明は、別の実施の形態において、特定のデータエントリ(111)の完全性を検証する場合、一方では、入力としてすべてのディジタルデータエントリを有するハッシュアルゴリズムに基づいた手順により計算されたハッシュ値、すなわちルートハッシュ値160を提供し、他方では、このルートハッシュ値160の再計算のためにすべてのディジタルデータエントリを必要とはしない方法を提供する。
従って、各所定のディジタルデータセット115、125、135、145に対して計算されたリーフハッシュ値が、いくつかのグループ(116、136)に分割される。次に、別のハッシュ値150が、各グループ116のリーフハッシュ値115、125に対して計算される。これらの計算されたハッシュ値は、以下では非リーフハッシュ値150、151として表わされる。
次に、これらの非リーフハッシュ値150、151は、ハッシュ値のグループ(152)にさらに分割され、そして別の非リーフハッシュ値が各グループのハッシュ値(150、151)それぞれから計算される。これは、単一のハッシュ値、すなわちルートハッシュ値160が計算されるまで繰り返すことができる。ハッシュ値サーバ202がこの手順を実行できる。
次に、ルートハッシュ値160は、各クライアント203〜205に安全に配送される。これは、このルートハッシュ値160を、好ましくは暗号化してサーバにより各クライアント203〜205に送信することにより、達成することができる。別の実施の形態によれば、ルートハッシュ値160は、あるクライアントにより別のクライアントに配送することもでき、よって、ルートハッシュ値160は、好ましくは、送信クライアントにより暗号化および/または署名される。さらに、本発明の別の態様において後で説明されるように、ある種の信頼水準を、配送されるルートハッシュ値160に添付することができる。従って、一つ以上のクライアントからルートハッシュ値160を受信するクライアントは、その完全性を確立することができる場合、あるいは特に要求される信頼水準を有する場合のみ、このルートハッシュ値160を受理することができる。
あるクライアントが特定のディジタルデータ、例えば上記例のような公開鍵を検証したい場合、このクライアントは、検証されるべき公開鍵111に関連付けられたディジタルデータセットのリーフハッシュ値115を計算する。ルートハッシュ値160を再計算するために、このクライアントは、非リーフハッシュ値(150、151)と、残りのディジタルデータセット(120、130、140)のリーフハッシュ値(125、135、145)とを必要とする。従って、このクライアントは、残りのリーフハッシュ値125、135、145をサーバ202から要求することができる。次に、このクライアントは、取得されたリーフハッシュ値125、135、145と、当該公開鍵111を含む識別されたセットに対して計算されたリーフハッシュ値115とに基づきルートハッシュ値160を再計算することができる。計算されたルートハッシュ値160が、安全に配送されたルートハッシュ値160に等しい場合、安全に配送されたルートハッシュ値160を有する公開鍵111の整合性が確立され、従ってその完全性が確立される。さらに、あるディジタルデータ、例えばある公開鍵の所定のセットとの関連性は既知であるので、すべてのクライアント203〜205はそれぞれのセットを要求して、この公開鍵が存在するか否かを検証できる。ルートハッシュ値は、すべてのクライアント203〜205に知らされており、しかも安全に配送されるので、敵対者またはそのハッシュ値サーバ202自体ですら、所定のセットのディジタルデータまたは要求されたハッシュ値を操作または偽造することは不可能である。
別の実施の形態においては、入力として、公開鍵111を含む識別されたディジタルデータセット110のリーフハッシュ値115を必要とする非リーフハッシュ値(150)のみが計算される。この実施の形態は図5Aから明らかとなる。図5Aには、計算されるハッシュ値についての例示的なツリー構造を例示する。このため、リーフハッシュ値115、125、135、145、501〜506は、このツリー構造の第一層と関連付けられている。図5Aにおいて例示されたこの特定の実施の形態では、これらのリーフハッシュ値115、125、135、145、501〜506は、二つのハッシュ値のグループ(116、136、530〜532)にそれぞれ分割される。各グループについては、このツリー構造の第二層と関連付けられた非リーフハッシュ値150、151、510〜512がそれぞれ計算される。同様にして、非リーフハッシュ値520、521が計算され、このツリー構造の別の層と関連付けられ、そしてルートハッシュ値160はこのツリー構造の最上層を形成する。説明した例における公開鍵は、リーフハッシュ値115に属するグループの一部として識別されたと仮定すると、第二の実施の形態によれば、非リーフハッシュ値150、520およびルートハッシュ値160のみがクライアントにより計算される。従って、ルートハッシュ値160を計算するためには、リーフハッシュ値125と非リーフハッシュ値151、510、521のみがクライアントにより取得されなければならず、残りのリーフハッシュ値および非リーフハッシュ値は必ずしも必要とされない。
本発明の一実施の形態によれば、所定のセットの総数は2の累乗である。次に、各セットには番号を付与することができ、そしてディジタルデータから、またはディジタルデータの識別情報から取得された所定のビットストリームは、番号が付与されたこれらの所定のディジタルデータセットのいずれかに対する当該ディジタルデータの関連付けまたは割り当てとしての機能を果たすことができるであろう。次に、リーフハッシュ値は、互いに排他的な二つのハッシュ値のグループに分割することができるであろう。次に、各グループに対し、非リーフハッシュ値を計算することができ、ツリー構造の別の層において、非リーフハッシュ値は再び、ルートハッシュ値が計算されるまで二つのハッシュ値のグループに分割することができる。あるいは、セットの総数は2の累乗でなく、別の整数の累乗でもよい。
別の実施の形態によれば、所定のセットの総数、および/またはツリー構造の次の層の非リーフハッシュ値を計算するために使用されるハッシュ値の総数は、互いに独立して選択してよく、そして各層で同じでなくてもよい。このケースは、図5Aにより例示される。ここでは、二つのリーフハッシュ値のグループが、第一層の非リーフハッシュ値を計算するために使用され、そして第一層の三つの非リーフハッシュ値が、このツリー構造の第二の層の非リーフハッシュ値を計算するためにそれぞれ使用される。図5Bは、本発明の別の実施の形態の例を例示する。このツリー構造の第一層では、三つのハッシュ値150、151、510それぞれが非リーフハッシュ値520の対象となり、一方、非リーフハッシュ値521に対しては、二つの非リーフハッシュ値511、512のみが使用される。ハッシュ値の総数が、すぐ上の層の非リーフハッシュ値を計算するために使用されなければならないハッシュ値の数の整数倍でない場合、このようなシナリオを使用できる。同じことは、所定のセットの数に関して適用することができる。この点に関する別の実施の形態は図5Cに示され、ここでは、第二の層において、第三の層のハッシュ値を計算するために三つのハッシュ値を使用しなければならないと仮定する。図5Cは、一例として、図5Bと類似した第二の層の五つの非リーフハッシュ値150、151、510〜512を示す。従って、非リーフハッシュ値を計算する本方法では、最後の非リーフハッシュ値521に対し、すぐ下の層の残りの二つの非リーフハッシュ値511、512が使用されなければならないことと、さらにその下の層の規定および/または指定されたハッシュ値、例えばリーフハッシュ値506が使用されるということとを規定することができる。しかしながら、当業者は、図5A〜図5Cにおいて説明された実施の形態は、上述のように同様にして、組み合わせたり拡張したりできるということを認識するであろう。例えば、図5A(ハッシュ13)に示すように、各層において少なくとも一つのハッシュ値によりグループを重複させることは、より高水準の信頼および検証を提供するために、標準手続きとしてツリー構造の一部またはすべての層に対して適用することができる。
図3および4には、本発明の上述の実施の形態に従った方法の工程の概観をそれぞれ示す。しかしながら、これら例証的フローチャートは、本発明のそれぞれの実施の形態の例示的な概要および一般的な理解のみを提供するものであり、従って本発明は、これら方法の工程に限定されるものではなく、またこれら手順から逸脱することもできる。
図3は、本発明の一実施の形態と関連しており、ここでは、ディジタルデータの識別情報は工程302において取得され、ディジタルデータ301は、工程303において所定のセットのいずれかに割り当てられる。しかしながら、別の実施の形態では、ディジタルデータは二つ以上の所定のセットに割り当てることができる。リーフハッシュ値は各所定のセットに対して計算される。工程305、306では、非リーフハッシュ値が上述したように計算される。工程307、308は、ツリー構造の様々な層、非リーフハッシュ値の計算、そして工程309において示されるようなルートハッシュ値の計算とそれぞれ関連する。
図4は、システム200のクライアントにより実行できるディジタルデータの完全性および/または存在を検証することの一例を示す。クライアントが、別のクライアントの公開鍵でもよいディジタルデータ402の存在および/または完全性を検証しようとしていると仮定する。従って、クライアントは、工程404において、このディジタルデータと関連付けられた所定のセットを識別するために、工程403においてこのディジタルデータの識別情報を取得することができる。両工程403、404は、検証されるべきディジタルデータ、例えば公開鍵または公開鍵の証明が上述のように既に暗黙的にディジタルデータセットを指定する場合には、単一の工程に含んでもよい。工程405、406では、前の図面に関連して既に説明したようにツリー構造が再計算される。次に、最後に計算されたルートハッシュ値は、比較工程407において、受信されたルートハッシュ値401と比較される。両方のハッシュ値が一致してクライアントが受信されたルートハッシュ値の完全性を信頼する場合、クライアントは、ディジタルデータが存在するということを検証し、完全性を確立できる。クライアントにより受信されるルートハッシュ値が安全な方式で配送される場合、ディジタルデータの完全性および/または存在は、信頼できる第三者を必要とせずに検証することができる。
従って、サーバが、あるデータの有無およびさらにその完全性を複数のクライアントに対して証明することを許容する用途を提供することは可能である。従って、データセットの総数が余りに大きすぎて各クライアントに転送できなくても、すべてのクライアントが、あるデータの存在および内容に関して同一の情報を有するということを保証できる。サーバは各クライアントにルートハッシュ値を配送することができ、そしてクライアントはさらに、例えばルートハッシュ値をメッセージに添付すること(これは定期的に実行できる)により相互間でそれを交換することができる。後者の場合、サーバは、ルートハッシュ値の配送に影響を与えないであろうから、クライアントは、当該ディジタルデータに適用されるべきルートハッシュ値の最新バージョンを有しているか否かを判定しなければならない。これは、あるハッシュ値、ディジタルデータおよび/またはこの検証手順中にクライアントによりサーバから要求されたハッシュ値に添付されたタイムスタンプを使用することにより達成することができる。しかしながら、関連するタイムスタンプ情報は単なる一例であり、当該技術では既知の他の多くの識別情報を代用することができるであろう。ツリー構造(例えば、所定のセットの数、各セットにおけるディジタルデータまたは識別情報エントリの数、および/または様々なツリー構造層における各グループのハッシュ値の総数)は、計算用のペイロード(computational)および/またはネットワークを介して配送されるデータを効果的に制御するために、可変でもよいし、調整可能であってもよいし、あるいは例えばサーバにより指定してもよい。また、あるクライアント、またはクライアント端末上で作動しディジタルデータ検証手順を実行するアプリケーションは、必要な信頼水準に従って、実行されなければならない検証の数を指定できる。これは、ディジタルデータをユーザにより検証しなければならない場合、あるツリー構造の二つ以上のディジタルデータセットを検証すること、あるいはそのツリー構造のルートハッシュ値を再計算するのに必要な非リーフハッシュ値より多くのものを再計算することを含んでよい。
本発明の別の態様および実施の形態は、公開鍵、および/または公開鍵システム(例えば、システム200)において公開鍵により署名されたディジタルデータの信頼水準を生成することに関連する。公開鍵システムにおいて、例えばPGP(Pretty Good Privacy)システムにおいて、公開鍵は頻繁にこのシステムの別の者(例えば、別のクライアント)により署名される。これにより、被署名公開鍵の受取者は、公開鍵保持者の身元を承認することができる。しかしながら、このことは、被署名公開鍵の受取者は受信された公開鍵の署名者を知りおよび/または信頼するこということを要する。クライアントは、通常、システム内の限られた数の他の者のみを知りかつ信頼するので、このようなシステムは限定された利用可能性のみを提供する。なぜなら、受け取った公開鍵が、被署名鍵の受取者に知られていないまたは信頼されていない第三者により署名された場合、受取者は、鍵保持者または鍵自体の身元を信頼するべきか否かを確立することができないからである。
従って、信頼は、署名者の、署名が発行された者に関する供述(statement)の上に築かれる(後でより詳細に説明される)。
従って、このような公開鍵システムは、当該鍵の署名者を実際に知ることなく、被署名公開鍵に信頼を生成することができるやり方で拡張できる。しかしながら、同じことは鍵保持者の秘密鍵により署名されたディジタルデータに当てはまる。なぜなら、被署名ディジタルデータの署名を検証するために、検証者は、この署名検証のために必要とされる当該鍵保持者のそれぞれの公開鍵を信頼しなければならないからである。従って、以下の説明は、主として公開鍵についての署名に言及するが、本発明は、全般に、任意の種類のディジタルデータに適用される。
本発明の一実施の形態によると、システム内のある署名者が鍵に署名し、ここで、第三の受取者のために、第三の受取者が署名者またはその公開鍵を知ることを必要とせずに、被署名公開鍵に一定の信頼度を割り当てる。
図6は、例えば認証局が行うように公開鍵を認証する信頼できる第三者基盤を明示的には必要とせずに公開鍵の信頼水準を確立する態様に関する本発明の実施の形態を説明する一例を例示する。図6に示す例は、第一のクライアント203が、公開鍵署名方式における秘密鍵を使用することにより、あるディジタルデータDについての署名610を発行すると仮定する。この署名610を検証するためには、署名610を発行するために使用された秘密鍵に対応する第一のクライアントの対応する公開鍵601を必要とする。このディジタルデータD、例えば別の公開鍵は、例えば公衆ネットワーク209を介して別のクライアント205に提供されることをさらに仮定する。次に、クライアント205は、データDについての署名が第一のクライアントにより発行されたと判定し、そして例えば公開鍵サーバまたはシステム200内の別のクライアントからそれぞれの公開鍵601を取得することができる。クライアント205は、この公開鍵601または対応するクライアント203を知らないと仮定する。従って、クライアント205は、署名610は信頼することができるか否かを確立するために、公開鍵についての何らかの信頼を必要とする。図6に示した例は、別のクライアント204が第一のクライアント203の公開鍵601に署名したことを示す。公開鍵601についてのこの署名612は、クライアント204の公開鍵602を使用することにより検証することができる。クライアント205は署名612を取得し、署名者204を識別し、その公開鍵602を取得する。図6に示すクライアント205は、公開鍵602またはそのクライアント204を信頼しおよび/または知っているものと仮定する。従って、クライアント205は信頼できる公開鍵602を使用することにより、署名612を検証することができる。本発明の別の実施の形態によれば、この署名612は、クライアント205のために、被署名公開鍵601に信頼情報を割り当てる。その結果、クライアント205は、例えばこの検証処理613によりこの信頼水準を確立し、またその後は公開鍵601を信頼する。次に、クライアント205は署名610を検証することができ、そしてこの検証が成功した場合は、クライアント205はディジタルデータDの完全性を確立した。
別の実施の形態によれば、別の公開鍵についての署名に関連した信頼情報は、明示信頼情報値(trust information value)および/または署名者信頼識別値(signing party trust identification value)を署名またはその公開鍵自体に添付しまたは関連付けることにより完成することができる。
図6に示されたこの単純な例は、特定の署名に割り当てられた信頼値のチェーンまで、またはツリーにまで拡張することもできる。この信頼水準チェーンまたは信頼水準ツリーの主要原理を図7に例示する。図6と同様に、図7は、クライアント203、204、205、および公開鍵601、602を示し、そしてディジタルデータ610を割り当てる工程と、工程615において公開鍵601を使用することによりディジタルデータを検証する工程とを示す。これらの工程は、図6の対応する工程と同じである。しかしながら、図7の例によると、第四のクライアント701が、公開鍵601についてに署名を発行した。ディジタルデータDの検証者(クライアント205)は、第四のクライアント701を知らないか、あるいは信頼しないか、あるいは公開鍵601の署名710に対するアクセス権を有しない。その代わりに、第二者204が、その被署名公開鍵710に署名を発行した。次に、この署名711は、クライアント205により取得され、既知の信頼できる公開鍵602を使用することにより検証される。この検証712が成功した場合、クライアント205は、公開鍵601、702の双方に対する信頼値を確立する。次に、クライアント205は、信頼できる公開鍵601を使用することにより、被署名ディジタルデータDを検証することができる。別の実施の形態は、図8の例により示される。図8の例は、図7の例に対応し、以下の差異を有する。第二のクライアント204は、第四のクライアント701の公開鍵702に署名810を発行する。従って、クライアント205は工程811においてこの署名810を検証し、それによって公開鍵702に信頼を確立することができる。この新たな信頼できる公開鍵702により、クライアント205は、署名710を取得し検証することができ、この検証が成功すると、クライアント205は、さらに、ディジタルデータDに署名するために使用される公開鍵601に信頼を確立する。
図6〜8に示した例から、説明した本発明の実施の形態は相互に組み合わせることができ、また、残りの図面に関する実施の形態とも組み合わせることができる。公開鍵または署名は二者以上により署名することができ、従って公開鍵に割り当てられた信頼情報のチェーンは信頼値のツリーまで拡張され、これによりいくつかの既知の公開鍵または既知の署名者は、当初信頼できない公開鍵についての署名まで戻って追跡することができることに留意されたい。さらに、クライアント装置上で作動するアプリケーションまたはこの方法を使用する者は、ここで説明した信頼できる身元のチェーンまたはツリーにおいて、既知の公開鍵に至る工程の数に基づくことができるある所与の信頼水準を必要とする。図7に示した例では、検証者205は、未知の者701が既知の者204に至るということを確立した。従って、このチェーンは二つの工程を有し、未知の一者だけが関与した。最終的に既知となり信頼される身元204に至る未知の身元が最大数ある場合、信頼される公開鍵のみを受理するための何らかの規則があってよい。既知の信頼できる署名者に至る二つ以上のチェーンが存在する場合、別々に確立した信頼水準値は、単一の最終信頼値と組み合わせることができ、そして公開鍵を信頼できるものとして受理すべきか否かはこの最終の信頼値に基づくことができる。しかしながら、別の実施の形態では、クライアント205、またはクライアント装置上でクライアント205の管理下で作動するアプリケーションは、公開鍵を信頼できるものとして受理するために、一信頼水準値のみを必要としてよい。
署名を含む公開鍵は、いくつかの公衆のサーバに格納してもよいし、本発明の残りの実施の形態および態様に関し上述したようにクライアント間に配送してもよい。
本発明の別の実施の形態によると、ローカルに使用されるデータの完全性情報は、システム全体にわたってデータのグローバルな整合性を保証し提供するために、例えばクライアント203により公開される。システム内のユーザは、少なくともグローバルなデータセットの一部を頻繁に共有し、そしてこのデータを使用する各ユーザがそのデータの完全性および/またはそのデータの存在を確認することができるようにする必要がある。一般のシステムでは、このようなディジタルデータは、ある集権化された第三者の信頼できる鍵により署名されなければならず、そしてすべてのクライアントは、この集権化された者(例えば認証局)を知り、かつ信頼しなければならない。しかしながら、すべての関与者が信頼することができる第三者を必要とすることは望ましくない場合があり、これは大部分のユーザには望まれない。
従って、本発明の一態様は、ユーザが、当該データの識別情報のリストまたはセット、あるいは他の者と共有したいデータの一部を生成することができることである。識別情報は、一意的にディジタルデータまたはその一部を識別し、それをディジタルデータのリストまたはセットに関連付ける。これは、図1〜6に関連して上述した。本発明の第一の態様に関連して説明したのと同じやり方でデータまたはその一部に対して計算されたハッシュ値は、識別情報の各リストまたはセットに添付される。データの識別情報のリストは、図1〜6に関連して説明したようなディジタルデータセットでよい。このリストは、クライアントによりシステム内の別のクライアントに配送することができる。一実施の形態によると、エントリの一部またはすべてに対する添付されたハッシュ値を含む識別情報リストは、クライアント間の定期的な通信メッセージ期間中にクライアントにより送信されるメッセージと一緒に送信することができる。このリストを受信した別のクライアントは、そのリストに含まれる識別情報と自分自身のリストに含まれた識別情報とを比較し、これにより、同一のデータが第一のクライアントにより使用されたか否かを判定することができる。両方のリストが同一の識別情報を含む場合、このクライアントは、ハッシュ値が一致するか否かを判定し、これにより、両方のクライアントが同じデータに合意するということを証明できる。一致しなかった場合、ユーザはそれぞれ警告される。
別の実施の形態によれば、このリストをある第三者に送信する場合、クライアントは自身が受信した別のリストを含み、これを第三者に転送することができる。これにより、めったに使用しないデータでさえ、この配送リストのチェーンにおいて多少段階が離れた他のあるクライアントとの一致を遅かれ早かれ知ることが可能となる。本実施の形態は、各リストまたはそのハッシュ値に信頼水準を確立する図6〜8に関連して説明した実施の形態と組み合わせることができ、これにより、さらに署名がこのリストまたはハッシュ値のいずれかに対して発行される。あるいは、リストエントリに対するハッシュ値は、リスト入力に対するハッシュ値を再計算し比較することにより検証される署名としての機能を果たすことができる。
特に、この手順は、クライアントの名前または識別情報を上述の識別情報として、そして公開鍵をハッシュデータとして使用することにより、公開鍵と共に使用することができる。従って、すべての公開鍵のグローバルな整合性をクライアントに対し保証することができる。自分自身の公開鍵に関する情報を例えば別のクライアントから受信するクライアントですら、自分自身の名前または識別情報が自分自身の公開鍵に正しく署名されたことを証明することができる。各クライアントに対する公開鍵が入手可能な場合、配送され交換された識別情報のリストまたはセットに、これらの公開鍵により署名することができる。上述のように、いくつかの用途またはクライアントは、受信リストの送信者に依存して、または受信される前にどれだけ頻繁にこのリストが他のクライアントにより転送されたかに依存して信頼水準を割り当てることができる。上述のように、図6〜8に関するのと同じ考察を適用でき、そしてこの手順は図6〜8に関連して説明した方法の一部であってもよい。
クライアント間に多くの対話があり、そして巨大なデータセットが使用される場合、クライアントは、あるランダムなデータ、ある選択されたデータ、または使用中のデータの一部についてのリストを生成することのみを選択してもよいであろう。さらに別の実施の形態によれば、リスト内の識別情報により指定される所与のデータまたはその一部が、可能性としてある時限後に変更されることがある場合、何らかの妥当性または時間仕様を、リストまたはそれぞれのハッシュ値に添付しまたは関連付けることができる。これは、ディジタルデータの生成時間またはタイムスタンプ情報であってもよい。本発明のさらに別の実施の形態によると、これらのデータ識別情報のリストまたはセットは、信頼できる第三者、例えば、図2に示すサーバまたは認証局に配送し転送してもよく、次にこの第三者は、リスト内のエントリが別のクライアントから受信された対応するリストのエントリと一致しないか否かをクライアントに通知することができる。同様に、別のクライアントは、信頼できる第三者なしに、同じように動作することができ、これにより上に議論されたような何らかの信頼水準を確立することができる。二つ以上のこのような第三者またはクライアントが存在する場合、各々が、当該情報を残りのすべての者に送信できるか、またはすべての者が、互いに対話することによりすべてのリストをグローバルに受理されたリストに同期させることができる。
本発明の別の実施の形態によれば、クライアントはシステム内の自分自身の識別情報を使用することにより、あるクライアントグループに自分自身を割り当てることができる。自分自身のリストを生成する前に、クライアントはリストを当該クライアントグループの少なくとも他のクライアントから要求することができる。次に、クライアントはそのリストに自分自身のデータまたは識別情報をそれぞれ追加し、システム内またはグループ内の他のクライアントにそれを公開することができる。こうすることにより、グループ内のすべてのクライアントは、グループにより同意され保持されるすべてのデータエントリに関する最新情報を確立することができる。これにより、この実施の形態は、各クライアントが、図1〜5に関連して上述した所与のディジタルデータの有無を判定することを可能にする。ディジタルデータまたはその識別情報が、選択されたクライアントグループに直接関係する場合(例えば、公開鍵の場合のように)、グローバルシステム200における例えば公開鍵のデータの存在ですら確立し証明することができる。従って、そのグループには属さない他のクライアントは、当該グループのリストを要求し、そして所与のデータがグローバルシステムに存在するか否かを判定することができる。このようなシステムにおいて、ディジタルデータを集める第三者または特別のクライアントが存在する場合、それらは、メンバであるそのクライアントグループのリストを排他的に保持し同期することにその行動を限定してよい。
前述の本発明の態様および実施の形態の任意の組合せが、本発明の範囲内の別の実施の形態と考えられる。前述の態様および実施の形態のさらなる詳細は、以下の特許請求の範囲により説明され、本発明の開示の明示的な一部を形成する。
Claims (62)
- 少なくとも二つの所定のディジタルデータセットが存在し、前記少なくとも二つの所定のセットの中の他の所定のセットから区別することができる第一の所定のディジタルデータセットに、ディジタルデータを関連付ける工程と、
前記ディジタルデータの一部またはすべてに対して、および/または前記第一の所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、第一のリーフハッシュ値を計算する工程と、
前記ディジタルデータの一部またはすべてに対して、および/または前記少なくとも二つの所定のセットの第二の所定のセットと関連付けられた前記ディジタルデータの一部またはすべてに対して、第二のリーフハッシュ値を計算する工程と、
三つ以上の所定のセットが存在する場合、前記少なくとも二つの所定のセットの各残りのセットについて、前記ディジタルデータの一部またはすべてに対して、および/または残りの所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、リーフハッシュ値をそれぞれ計算する工程と、
少なくとも前記第一および前記第二のリーフハッシュ値に対して第一の非リーフハッシュ値を計算する工程を含み、基礎をなすハッシュアルゴリズムが前記少なくとも二つの所定のディジタルデータセットのそれぞれに対してそれぞれ計算された少なくとも前記リーフハッシュ値を入力として有するルートハッシュ値を計算する工程と、を含み、
前記ルートハッシュ値を有する所与のディジタルデータの整合性を判定する工程をさらに含み、当該整合性を判定する工程は、
所与のディジタルデータに関連付けられた前記ディジタルデータセットを識別する工程と、
前記ルートハッシュ値を再取得する工程と、
前記ルートハッシュ値が計算された前記ハッシュ値を再取得し、前記ハッシュ値の再取得は、第一および第二のリーフハッシュ値を計算する前記工程と同じ計算方式を適用することにより、前記ディジタルデータの一部またはすべてに対して、および/または前記識別されたディジタルデータセットに関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、リーフハッシュ値を再計算する工程を含む工程と、
前記ルートハッシュ値を計算する工程と同じ計算方式を適用することにより、前記再取得されたハッシュ値に対してハッシュ値を計算する工程と、
前記再取得されたルートハッシュ値を、前の工程で計算されたハッシュ値と比較する工程と、
前記比較工程に基づき、前記ルートハッシュ値を有する前記所与のディジタルデータの整合性を、前記比較工程の結果が等しいハッシュ値になるか否かにより判定する工程と、
を含む工程と、を含む、ディジタルデータを管理する方法。 - 前記ディジタルデータに関連付けられた番号と、
前記ディジタルデータの一意的な識別情報と、
前記ディジタルデータの一意的な識別情報の所定の部分と、
前記ディジタルデータに関連付けられたディジタル識別情報の所定のビット位置から抽出された所定数のビットと、
前記ディジタルデータに関連付けられまたは含まれた所定のサーチストリングと、
前記ディジタルデータのタイムスタンプと、
前記ディジタルデータ全体のハッシュ値と、
本目的のために生成されかつ前記ディジタルデータに付加された識別子と、
上記識別情報の少なくともいずれかのハッシュ値と、
のうち少なくともいずれかが、前記ディジタルデータのそれぞれに割り当てられまたは前記ディジタルデータのそれぞれから取得される、請求項1記載の方法。 - ディジタルデータを第一の所定のディジタルデータセットに関連付ける前記工程は、前記少なくともいずれかの識別情報を使用することにより達成される、請求項2記載の方法。
- 前記少なくとも二つの所定のセットは前記識別情報により識別および/または区別され、
所与のディジタルデータに関連付けられた前記ディジタルデータセットを識別する前記工程は、
前記所与のディジタルデータの前記少なくともいずれかの識別情報を判定することを含み、識別は、前記少なくともいずれかの判定された識別情報を使用することにより達成される、請求項2または請求項3記載の方法。 - 第一のリーフハッシュ値を計算する前記工程、第二のリーフハッシュ値を計算する前記工程、および/または三つ以上の所定のセットが存在する場合に各残りの所定のセットのリーフハッシュ値をそれぞれ計算する前記工程は、
前記所定のセットに関連付けられた前記ディジタルデータの一部またはすべてに対して前記少なくともいずれかの識別情報を取得する工程と、
前の工程で取得した前記識別情報に対してハッシュ値を計算する工程と、を含み、
前記識別されたディジタルデータセットに対してリーフハッシュ値を再計算する前記工程は、
前記識別されたセットに関連付けられた前記ディジタルデータの一部またはすべてに対して前記少なくともいずれかの識別情報を再取得する工程と、
前記再取得された識別情報に対してハッシュ値を計算する工程と、
を含む、請求項2から請求項4のいずれかに記載の方法。 - 第一のリーフハッシュ値を計算する前記工程、第二のリーフハッシュ値を計算する前記工程、および/または三つ以上の所定のセットが存在する場合に各残りの所定のセットのリーフハッシュ値をそれぞれ計算する前記工程は、
前記所定のセットに関連付けられたディジタルデータの一部またはそれぞれに対して前記少なくともいずれかの識別情報のハッシュ値をそれぞれ計算する工程と、
前の工程で計算した前記ハッシュ値に対してハッシュ値を計算する工程と、を含み、
前記識別されたディジタルデータセットに対してリーフハッシュ値を再計算する前記工程は、
前記識別されたセットに関連付けられた前記ディジタルデータの一部またはそれぞれに対して前記少なくともいずれかの識別情報を取得する工程と、
前の工程で取得した各識別情報に対してハッシュ値をそれぞれ計算する工程と、
少なくとも前の工程において計算した前記ハッシュ値に対してハッシュ値を計算する工程と、を含む、請求項2から請求項4のいずれかに記載の方法。 - 前記少なくとも二つのディジタルデータセットのそれぞれに対して、前記セットに関連付けられたディジタルデータのそれぞれのハッシュ値を計算する工程を含む、ハッシュ値をそれぞれ計算する工程をさらに含み、
第一のリーフハッシュ値を計算する前記工程、第二のリーフハッシュ値を計算する前記工程、および/または三つ以上の所定のセットが存在する場合に各残りの所定のセットのリーフハッシュ値をそれぞれ計算する前記工程は、
少なくとも前の工程において計算された前記それぞれのディジタルデータセットのハッシュ値に対してハッシュ値を計算する工程をさらに含み、
前記識別されたディジタルデータセットに対してリーフハッシュ値を再計算する前記工程は、
前記識別されたセットに関連付けられたディジタルデータのそれぞれのハッシュ値をそれぞれ再計算する工程と、
前記それぞれ再計算されたハッシュ値のハッシュ値を計算する工程と、を含む、請求項1から請求項4のいずれかに記載の方法。 - 前記少なくとも二つのディジタルデータセットのそれぞれに対してハッシュ値をそれぞれ計算する前記工程は、第一のリーフハッシュ値を計算する前記工程、および/または第二のリーフハッシュハッシュ値を計算する前記工程、および/または三つ以上の所定のセットが存在する場合に各残りの所定のセットに対してリーフハッシュ値をそれぞれ計算する前記工程に含まれる、請求項7記載の方法。
- 互いに区別することができる少なくとも四つの所定のディジタルデータセットが存在し、
前記ディジタルデータの一部またはすべてに対して、および/または前記少なくとも四つの所定のセットの第三の所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、第三のリーフハッシュ値を計算する工程と、
前記ディジタルデータの一部またはすべてに対して、および/または前記少なくとも四つの所定のセットの第四の所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、第四のリーフハッシュ値を計算する工程と、をさらに含み、
ルートハッシュ値を計算する前記工程は、
少なくとも前記第三および前記第四のリーフハッシュ値に対して第二の非リーフハッシュ値を計算する工程と、
少なくとも前記第一および前記第二のリーフハッシュ値に対して第三の非リーフハッシュ値を計算する工程と、をさらに含む、請求項1から請求項8のいずれかに記載の方法。 - 前記計算されたリーフハッシュ値、非リーフハッシュ値およびルートハッシュ値は、ツリー構造を表し、
前記第一、前記第二、前記第三、前記第四のリーフハッシュ値は、前記ツリー構造の最下層に関連付けられ、
前記第一、前記第二の非リーフハッシュ値は、前記ツリー構造の第二の層に関連付けられ、
前記第三の非リーフハッシュ値は、前記ツリー構造の第三の層に関連付けられ、
前記ルートハッシュ値は、前記ツリー構造の最上層に関連付けられ、
前記最上層は、前記ルートハッシュ値である単一の非リーフハッシュ値のみを含む前記ツリー構造の最も高い層である、請求項9記載の方法。 - さらに所定のディジタルデータセットが存在し、それぞれが、前記第一から第四のリーフハッシュ値と同じ方法で計算された別のリーフハッシュ値と関連付けられ、および/または、
前記ツリー構造の別の層が存在し、各層が、前記ツリー構造におけるそれぞれの下位層の前記非リーフハッシュ値の一部またはすべてに対して計算された別の非リーフハッシュ値に関連付けられた、請求項10記載の方法。 - 前記ルートハッシュ値が計算された前記ハッシュ値を再取得する前記工程は、
前記識別されたディジタルデータセットの再計算されたリーフハッシュ値を含むハッシュ値に対して計算された、前記ツリー構造の前記第二の層における各非リーフハッシュ値を再計算する工程と、
前記ツリー構造の前記第三の層から最上層までのそれぞれについて、本工程または前記前の工程で再計算された非リーフハッシュ値を含むハッシュ値に対して計算された各非リーフハッシュ値を再計算する工程と、をさらに含む、請求項10または請求項11記載の方法。 - 前記ルートハッシュ値が計算された前記ハッシュ値を再取得する前記工程は、
前記識別されたディジタルデータセットの再計算されたリーフハッシュ値を含むハッシュ値に対して計算された、前記ツリー構造の前記第二の層における各非リーフハッシュ値を再計算する前記工程で必要とされる残りのすべてのリーフハッシュ値を提供する工程と、
前記ツリー構造の前記第三の層から最上層のそれぞれについて各非リーフハッシュ値を再計算する前記工程で必要とされる残りのすべての非リーフハッシュ値を提供する工程と、をさらに含む、請求項12記載の方法。 - 前記ルートハッシュ値を計算する前記工程は、
前記所定のセットを複数の所定のセットのグループに分割する工程と、
前記所定のセットのグループのそれぞれについて、前記グループにおける所定のセットの計算されたリーフハッシュ値に対して非リーフハッシュ値を計算する工程と、
前記ツリー構造の前記第三の層から最上層のそれぞれについて、すぐ下の層の前記非リーフハッシュ値を少なくとも二つのグループに分割し、各グループの前記非リーフハッシュ値に対して非リーフハッシュ値を計算する工程と、をさらに含む、請求項10から請求項13のいずれかに記載の方法。 - 前記ツリー構造の各層Lについて、前記所定のセット、および/またはすぐ下の層L−1の前記非リーフハッシュ値は、所定数BL個の所定のセットまたは非リーフハッシュ値のグループに分割される、請求項14記載の方法。
- 所定のセットの総数が前記所定の数B1の整数倍か否かを判定する工程と、
前記総数がB1の整数倍でない場合、B1個より少ない所定のセットをそれぞれ含む少なくとも一つのグループを生成し、または、少なくとも一つの同一の所定のセットをいずれも含む少なくとも二つのグループを生成する工程と、
前記ツリー構造Lの第二の層から最上層のそれぞれについて、そのすぐ下の層L−1の非リーフハッシュ値の総数が、前記所定の数BLの整数倍か否かを判定する工程と、
前記総数がBLの整数倍でない場合、すぐ下の層L−1のBL個より少ない非リーフハッシュ値をそれぞれ含む少なくとも一つのグループを生成する工程、すぐ下の層L−1の少なくとも一つの同一の非リーフハッシュ値をいずれも含む少なくとも二つのグループを生成する工程、または下位層L−N(N>1かつL>2)の少なくとも一つのハッシュ値を含む少なくとも一つのグループを生成する工程のうちのいずれかを実行する工程と、をさらに含む、請求項15記載の方法。 - 各ディジタルデータが前記複数の所定のセットのいずれかに関連付けられた、請求項1から請求項16のいずれかに記載の方法。
- 異なる種類のディジタルデータが異なる所定のセットと関連付けられた、請求項17記載の方法。
- ディジタルデータは、前記所定のディジタルデータセットの二つ以上に関連付けることができる、請求項1から請求項16のいずれかに記載の方法。
- 前記所与のディジタルデータが二つ以上の所定のディジタルデータセットに関連付けられた場合、前記ルートハッシュ値を有する前記所与のディジタルデータの整合性を判定する前記工程は、
二つ以上の所定のセットをそれぞれ識別する工程と、
前記二つ以上の識別されたセットのそれぞれに対してリーフハッシュを再計算する工程と、を含む、請求項19記載の方法。 - 前記非リーフハッシュ値は、リーフハッシュ値および/または非リーフハッシュ値の排他的なグループに対して計算された、請求項1から請求項20のいずれかに記載の方法。
- 所定のセットの総数はSであり、Sは整数Bの整数E乗である、請求項1から請求項13のいずれかに記載の方法。
- 前記S個の所定のセットのそれぞれに対して、リーフハッシュ値は計算され、
前記ルートハッシュ値を計算する前記工程は、
(a)前記S個の所定のセットをE+1個の相互に排他的な、B個の所定のセットのグループに分割する工程と、
(b)前記E+1個のグループのそれぞれについて、前記グループのB個の所定のセットの前記計算されたリーフハッシュ値に対して非リーフハッシュ値を計算する工程と、
(c)前の工程における前記計算された非リーフハッシュ値を排他的な前記B個の非リーフハッシュ値のグループに分割する工程と、
(d)前の工程における前記排他的なグループのそれぞれについて、前記グループの前記B個の非リーフハッシュ値に対して非リーフハッシュ値を計算する工程と、
(e)前記ルートハッシュ値である単一の非リーフハッシュ値が計算されるまで工程(c)および(d)を繰り返す工程とと、を含む、請求項22記載の方法。 - 前記整数Bは2の整数累乗である、請求項22または請求項23に記載の方法。
- 前記所与のディジタルデータは、少なくとも一つのサーバと複数のクライアントとを含むサーバクライアントシステムのクライアントに配送され、
各所定のディジタルデータセットに対してリーフハッシュ値を計算する前記工程、非リーフハッシュ値を計算する前記工程、およびルートハッシュ値を計算する前記工程は、前記サーバにより実行され、
前記ルートハッシュ値を有する前記所与のディジタルデータの整合性を判定する前記工程は、前記クライアントにより実行され、
前記ルートハッシュを前記サーバクライアントシステムの複数のクライアントに配送する工程をさらに含む、請求項1から請求項24のいずれかに記載の方法。 - 複数のクライアントに前記ルートハッシュを配送する前記工程は、前記サーバにより実行される、請求項25に記載の方法。
- 前記ルートハッシュ値は、第一のクライアントにより前記ルートハッシュ値を第二のクライアントに送信することにより、前記複数のクライアント間で配送され、前記第一のクライアントは、前記サーバから、および/または前記複数のクライアントの一つ以上から前記ルートハッシュ値を既に受信している、請求項25または請求項26記載の方法。
- 前記配送されたルートハッシュ値がタイムスタンプまたは妥当性情報と関連付けられた、請求項25から請求項27のいずれかに記載の方法。
- 前記ルートハッシュ値は、前記タイムスタンプまたは妥当性情報に基づきクライアントにより、置換、更新および/または前記サーバから要求される、請求項28記載の方法。
- サーバクライアントシステムにおけるクライアント装置を制御するための命令を含むコンピュータ読取可能な媒体であって、
前記命令は、前記クライアント装置に、
請求項1から請求項29のいずれかの方法に従って計算された値を有するルートハッシュ値を受信する工程と、
前記ルートハッシュ値を有する所与のディジタルデータの整合性を判定する工程と、を実行させ、整合性を判定する工程は、
所与のディジタルデータに関連付けられたディジタルデータセットを識別する工程と、
前記ルートハッシュ値が計算された前記ハッシュ値を取得し、前記ハッシュ値の取得は、前記ディジタルデータの一部またはすべて、および/または前記識別されたディジタルデータセットに関連付けられた前記ディジタルデータの一部またはすべての識別情報を前記クライアントサーバシステムのサーバから要求する工程と、前記要求されたディジタルデータの一部またはすべて、および/または前記識別されたディジタルデータセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対してリーフハッシュ値を計算する工程と、を含む工程と、前記ルートハッシュ値を計算するために必要とされる、前記残りのリーフハッシュ値および非リーフハッシュ値を判定する工程と、前記サーバから前記残りのリーフハッシュ値および非リーフハッシュ値を要求する工程と、を含む工程と、
前記ルートハッシュ値を計算する工程と同じ計算方式を適用することにより、前記取得されたハッシュ値に対してハッシュ値を計算する工程と、
前記受信したルートハッシュ値を前の工程で計算されたハッシュ値と比較する工程と、
前記比較工程に基づき、前記ルートハッシュ値を有する前記所与のディジタルデータの整合性を、前記比較工程の結果が等しいハッシュ値になるか否かにより判定する工程と、
を含む、コンピュータ読取可能な媒体。 - サーバクライアントシステムにおけるサーバを制御するための命令を含むコンピュータ読取可能な媒体であって、
前記命令は、請求項1から請求項29のいずれかに記載の方法に従って前記サーバに、
少なくとも二つの所定のディジタルデータセットが存在し、前記少なくとも二つの所定のセットの中の他の所定のセットから区別することができる第一の所定のディジタルデータセットに、ディジタルデータを関連付ける工程と、
前記ディジタルデータの一部またはすべて、および/または前記第一の所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して第一のリーフハッシュ値を計算する工程と、
前記ディジタルデータの一部またはすべてに対して、および/または前記少なくとも二つの所定のセットの第二の所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、第二のリーフハッシュ値を計算する工程と、
三つ以上の所定のセットが存在する場合、前記少なくとも二つの所定のセットの各残りのセットについて、前記ディジタルデータの一部またはすべてに対して、および/または残りの所定のセットと関連付けられた前記ディジタルデータの一部またはすべての識別情報に対して、リーフハッシュ値をそれぞれ計算する工程と、
少なくとも前記第一および前記第二のリーフハッシュ値に対しする第一の非リーフハッシュ値を計算する工程を含み、前記基礎をなすハッシュアルゴリズムが前記少なくとも二つの所定のディジタルデータセットのそれぞれに対してそれぞれ計算された少なくとも前記リーフハッシュ値を入力として有するルートハッシュ値を計算する工程と、
前記ルートハッシュ値を前記サーバクライアントシステムの複数のクライアントに配送する工程と、を実行させる、コンピュータ読取可能な媒体。 - 公衆ネットワークを介して接続された複数の者を含み前記複数の者に公開鍵署名方式を提供するシステムにおいて署名の信頼水準を提供する方法であって、
秘密鍵SK2を使用する第二者により第一者の公開鍵PK1に署名する工程と、
前記被署名公開鍵PK1に対応する秘密鍵SK1を使用する前記第一者によりディジタルデータDに署名する工程と、
前記被署名ディジタルデータDおよび前記被署名公開鍵PK1を、前記第一者を知らずおよび/または信頼していない第三者により取得する工程と、
前記第二者を前記被署名公開鍵PK1の署名者として判定する工程と、
前記第二者が署名者として前記第三者により知られおよび/または信頼されているか否かを判定する工程と、
前記第二者が前記署名者として前記第三者により知られまたは信頼されている場合、(a)前記秘密鍵SK2に対応する前記第二者の前記公開鍵PK2を取得する工程と、(b)前記知られおよび/または信頼されている署名者の前記公開鍵PK2を使用することにより、前記被署名公開鍵PK1を検証する工程と、(c)前記被署名公開鍵PK1の検証に成功した場合、前記被署名公開鍵PK1を使用することにより前記被署名ディジタルデータDを検証する工程と、を実行する工程と、を含む方法。 - 前記公開鍵に対応する秘密鍵を所有する前記対応する署名者が前記検証者により知られおよび/または信頼されている場合のみ、公開鍵は、検証者によりディジタルデータについておよび/または別の公開鍵についての署名を検証するために受理される、請求項32記載の方法。
- 前記第二者が前記署名者として前記第三者により知られまたは信頼されている場合、かつ前記被署名公開鍵PK1の前記検証が成功した場合、前記第三者が、前記第一者および/または前記公開鍵PK1を、前記秘密鍵SK1を使用する前記第一者により発行される後続の署名について信頼されるものとして登録する、請求項32または請求項33記載の方法。
- 前記ディジタルデータDは、前記システムの別の者の公開鍵を含む、請求項32または請求項33記載の方法。
- 前記第二の署名者が前記第三者により知られず、および/または信頼されない場合、
(i)別の署名者が前記被署名公開鍵PK1の署名を発行したか否かを判定する工程と、
(ii)前記被署名公開鍵PK1の別の署名者の署名が判定され、前記別の署名者が、前記第三者により知られおよび/または信頼されている場合、前記別の署名者の公開鍵で工程(a)、(b)および(c)を実行する工程と、
(iii)前記被署名公開鍵PK1の別の署名者が判定されなかった場合、および/または信頼できる別の署名者が判定されなかった場合、
1.前記秘密鍵SK2に対応する前記第二者の公開鍵PK2を取得する工程と、
2.第四の署名者が前記第二の公開鍵PK2の署名を発行したか否かを判定する工程と、
3.第四の署名者が前記第二の公開鍵PK2の署名を発行した場合、前記第四の署名者が前記第三者により知られおよび/または信頼されているか否かを判定し、前記第四の署名者が前記第三者により知られおよび/または信頼されている場合、前記第四の署名者の公開鍵PK4で工程(a)、(b)および(c)を実行する工程と、
を実行する工程をさらに含む、請求項32から請求項35のいずれかに記載の方法。 - 前記第四の署名者の前記公開鍵PK4は、第五の署名者により署名され、
4.前記第四の署名者が前記第三者により知られておらず、および/または信頼されていない場合、前記公開鍵PK2に適用された工程(i)および(ii)を実行し、前記公開鍵PK4、前記第五の者、および前記公開鍵PK5それぞれに適用された工程(iii)を実行する工程と、をさらに含む、請求項36記載の方法。 - 前記公開鍵に対応する秘密鍵を所有する前記対応する署名者が前記検証者により知られ、および/または信頼されている場合のみ、公開鍵は、検証者によりディジタルデータについてのおよび/または別の公開鍵についての署名を検証するために受理され、前記公開鍵が署名され、前記署名が別の信頼されおよび/または既知の公開鍵により検証することができる場合、未知の公開鍵は信頼される、請求項32から請求項37のいずれかに記載の方法。
- 署名の検証のための前記公開鍵を受理するのに必要とされる既知の公開鍵までの公開鍵チェーンにおける未知の公開鍵の数に基づく公開鍵の信頼水準を確立する工程をさらに含む、請求項38記載の方法。
- 未知の公開鍵が信頼されるか否かを確立するために前記公開鍵チェーンにおいて使用されない、前記システムにおける一つ以上の公開鍵、および/または前記公開鍵に対応する署名は、信頼されないものとして検証者に識別される、請求項38または請求項39記載の方法。
- 信頼情報は、公開鍵の署名に、または前記署名を検証するために使用される公開鍵に割り当てられ、前記公開鍵チェーンにおける一つ以上の公開鍵に割り当てられた前記信頼情報は、前記信頼水準を確立するために使用される、請求項39から請求項40のいずれかに記載の方法。
- 二つ以上の公開鍵チェーンが公開鍵の信頼水準を確立するために使用され、すべてのチェーンの信頼水準は、組み合わせて単一の信頼水準とされまたは最も高い信頼水準が使用される、請求項38から請求項40のいずれかに記載の方法。
- 前記公開鍵および/または前記公開鍵の署名は、前記システムのサーバに格納され、前記サーバは、前記公衆ネットワークを介して前記の者に接続され、前記公開鍵および/または前記公開鍵の前記署名は、前記サーバおよび/または前記システムの別の者により前記システムの者に配送される、請求項32から請求項42のいずれかに記載の方法。
- 前記サーバは、前記二つ以上のチェーンと関連付けられたすべての署名を集め、信頼水準を確立し、前記サーバは、集められまたは組み合わせられた信頼水準を前記サーバにより発行された別の署名に割り当てる、請求項42および請求項43記載の方法。
- 公衆ネットワークを介して接続された複数の者を含むシステムの少なくとも二者に対してディジタルデータの完全性および整合性の情報を提供する方法であって、
前記システムの第一者によりディジタルデータの識別情報のリストを生成する工程と、
前記リストの識別情報の一部またはすべてに対してハッシュ値を計算する工程と、
前記ハッシュ値を前記リストに関連付ける工程と、
前記システムの第二者に、前記リストおよび前記ハッシュ値を提供する工程と、
前記第二者が所有する対応リストにおける一つ以上の識別情報を、前記取得されたリストの対応する一つ以上の識別情報と比較する工程と、
両方のリストの整合性を検証する工程と、を含み、当該整合性を検証する工程は、
前記リストの識別情報の一部またはすべてに対してハッシュ値を計算する工程と、
前記対応するリストの識別情報の一部またはすべてに対してハッシュ値を計算または取得する工程と、
両方のハッシュ値を比較する工程と、
前記比較工程の結果が等しいハッシュ値となった場合、両方のリストが整合しているということを確立する工程と、を含む方法。 - 前記ハッシュ値を前記リストに関連付ける前記工程は、前記ハッシュ値を前記リストに付与する工程を含む、請求項45記載の方法。
- 両方のリストの整合性を検証する前記工程は、前記比較工程の結果が異なるハッシュ値となった場合、前記第一および/または前記第二者に通知する工程をさらに含む、請求項45または請求項46に記載の方法。
- 両方のリストの整合性を検証する前記工程は、前記比較工程の結果が異なるハッシュ値となった場合、前記システムの他の者によりアクセス可能な警報を生成する工程をさらに含む、請求項45から請求項47のいずれかに記載の方法。
- 前記ディジタルデータは前記システムにおける者の公開鍵である、請求項45から請求項48のいずれかに記載の方法。
- 前記リストおよび/または前記リスト内の識別情報は前記第一者によりディジタル署名される、請求項45から請求項49のいずれかに記載の方法。
- ディジタルデータの前記識別情報は前記ディジタルデータである、請求項45から請求項50のいずれかに記載の方法。
- クライアントグループは、前記リストおよび前記リストのすべての更新を前記グループのすべてのクライアント間で交換することにより相互に整合したリストを維持し、前記リストは一つのディジタルデータセットおよび/またはディジタルデータの識別情報を含む、請求項45から請求項50のいずれかに記載の方法。
- 前記ディジタルデータに関連付けられた番号と、
前記ディジタルデータの一意的な識別情報と、
前記ディジタルデータの一意的な識別情報の所定の部分と、
前記ディジタルデータに関連付けられたディジタル識別情報の所定のビット位置から抽出された所定数のビットと、
前記ディジタルデータに関連付けられまたは含まれる所定のサーチストリングと、
ディジタルデータのタイムスタンプと、
前記ディジタルデータ全体のハッシュ値と、
特に本目的のために作成されかつ前記ディジタルデータに付加された識別情報と、
上記識別情報の少なくともいずれかのハッシュ値と、
のうち少なくともいずれかは、前記ディジタルデータのそれぞれに割り当てられまたは前記ディジタルデータのそれぞれから取得される、請求項52に記載の方法。 - 前記ディジタルデータセットは、各ディジタルデータに対して前記少なくともいずれかの識別情報を使用してディジタルデータを前記セットに関連付けることにより前記識別情報により判定され、または前記ディジタルデータセットは、クライアント識別情報により判定される、請求項53に記載の方法。
- 前記少なくとも二つの所定のセットは、前記識別情報により識別および/または区別され、
所与のディジタルデータに関連付けられた前記ディジタルデータセットを識別する工程をさらに含み、前記識別する工程は、
前記所与のディジタルデータの前記少なくとも一つの識別情報を判定する工程を含み、前記少なくとも一つの判定された識別情報を使用することにより前記識別する工程が達成される、請求項53または請求項54記載の方法。 - 所定のクライアントグループは、相互に整合した所定のディジタルデータのリストを維持する、請求項53から請求項55のいずれかに記載の方法。
- 前記ディジタルデータの所定のリストは、請求項25から請求項29のいずれかに記載の方法に従って維持され交換される、請求項56記載の方法。
- 前記グループの前記クライアントおよび/または前記システムにおける別の者は、一つ以上の他のクライアントグループとリーフハッシュ値を交換し、これにより非リーフハッシュ値および前記ルートハッシュ値を計算する、請求項57記載の方法。
- 各クライアントグループの一つ以上のクライアントが、請求項25から請求項29のいずれかに記載の前記サーバの機能を達成する、請求項58記載の方法。
- 前記サーバは各クライアントグループのクライアントである、請求項58または請求項59記載の方法。
- クライアントサーバシステムにおけるクライアント装置を制御するための命令を含むコンピュータ読取可能な媒体であって、前記命令は、前記クライアント装置を請求項32から請求項60のいずれかに記載の方法に関与させる、媒体。
- クライアントサーバシステムにおけるサーバを制御するための命令を含むコンピュータ読取可能な媒体であって、前記命令は、前記サーバを請求項32から請求項60のいずれかに記載の方法に関与させる、媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2003/013109 WO2005055515A1 (en) | 2003-11-21 | 2003-11-21 | Methods and systems for providing integrity and trust in data management and data distribution processes |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007515837A true JP2007515837A (ja) | 2007-06-14 |
Family
ID=34639219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005511184A Pending JP2007515837A (ja) | 2003-11-21 | 2003-11-21 | データ管理処理およびデータ配送処理において完全性および信頼を提供する方法およびシステム |
Country Status (8)
Country | Link |
---|---|
US (1) | US20080028224A1 (ja) |
EP (1) | EP1690366A1 (ja) |
JP (1) | JP2007515837A (ja) |
CN (1) | CN1886929A (ja) |
AU (1) | AU2003292078A1 (ja) |
CA (1) | CA2546818A1 (ja) |
IL (1) | IL175769A0 (ja) |
WO (1) | WO2005055515A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010507328A (ja) * | 2006-10-16 | 2010-03-04 | ブロードオン コミュニケーションズ コーポレーション | セキュアデバイス認証システム及び方法 |
JP2013502663A (ja) * | 2009-08-31 | 2013-01-24 | アナスタシス カンパニー リミティド | リアルタイム車両データの無欠性保証装置及び方法と、これを用いた車両用ブラックボックスシステム |
JP2013520070A (ja) * | 2010-02-12 | 2013-05-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 通信ネットワークにおける信用性の発見 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8224952B2 (en) * | 2005-12-22 | 2012-07-17 | At&T Intellectual Property I, L.P. | Methods, communication networks, and computer program products for monitoring, examining, and/or blocking traffic associated with a network element based on whether the network element can be trusted |
US9059840B2 (en) * | 2012-05-31 | 2015-06-16 | Apple Inc. | Recipient blind cryptographic access control for publicly hosted message and data streams |
KR101441527B1 (ko) * | 2012-05-31 | 2014-09-17 | 주식회사 코아로직 | 차량 주행 정보 관리 및 검증 방법, 장치 및 이를 이용한 차량 주행 정보 관리 시스템 |
US10263783B2 (en) * | 2013-08-23 | 2019-04-16 | Nec Corporation | Method and system for authenticating a data stream |
US10303887B2 (en) | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
KR101772554B1 (ko) | 2016-02-02 | 2017-08-30 | 주식회사 코인플러그 | 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버 |
US10937083B2 (en) | 2017-07-03 | 2021-03-02 | Medici Ventures, Inc. | Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system |
EP3442160A1 (en) * | 2017-08-07 | 2019-02-13 | Siemens Aktiengesellschaft | Pruning of authentication trees |
US11126755B2 (en) | 2018-01-30 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | Object signatures in object stores |
US11387981B2 (en) * | 2018-02-13 | 2022-07-12 | Accenture Global Solutions Limited | Platform for multi-party digital records using distributed ledger system |
US11409724B2 (en) * | 2020-03-10 | 2022-08-09 | International Business Machines Corporation | Hashed balanced tree data structure |
CN114499891B (zh) * | 2022-03-21 | 2024-05-31 | 宁夏凯信特信息科技有限公司 | 一种签名服务器系统以及签名验证方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06244832A (ja) * | 1993-02-22 | 1994-09-02 | Nec Corp | 秘密情報通信方法及び秘密情報通信装置 |
JPH10508121A (ja) * | 1994-10-28 | 1998-08-04 | シュアティ テクノロジーズ インコーポレイテッド | ドキュメントをユニークに特定し認証する証明書を発行するデジタルドキュメント証明システム |
US5903651A (en) * | 1996-05-14 | 1999-05-11 | Valicert, Inc. | Apparatus and method for demonstrating and confirming the status of a digital certificates and other data |
JPH11289329A (ja) * | 1998-01-22 | 1999-10-19 | Yeda Res & Dev Co Ltd | 認証形サ―チ・ツリ― |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4309569A (en) * | 1979-09-05 | 1982-01-05 | The Board Of Trustees Of The Leland Stanford Junior University | Method of providing digital signatures |
US4881264A (en) * | 1987-07-30 | 1989-11-14 | Merkle Ralph C | Digital signature system and method based on a conventional encryption function |
EP1164746B1 (en) * | 1995-11-02 | 2007-02-07 | CoreStreet, Ltd. | Tree-based certificate revocation system |
US6065008A (en) * | 1997-10-01 | 2000-05-16 | Microsoft Corporation | System and method for secure font subset distribution |
-
2003
- 2003-11-21 EP EP03767608A patent/EP1690366A1/en not_active Withdrawn
- 2003-11-21 WO PCT/EP2003/013109 patent/WO2005055515A1/en active Application Filing
- 2003-11-21 CN CNA2003801109745A patent/CN1886929A/zh active Pending
- 2003-11-21 AU AU2003292078A patent/AU2003292078A1/en not_active Abandoned
- 2003-11-21 US US10/580,092 patent/US20080028224A1/en not_active Abandoned
- 2003-11-21 JP JP2005511184A patent/JP2007515837A/ja active Pending
- 2003-11-21 CA CA002546818A patent/CA2546818A1/en not_active Abandoned
-
2006
- 2006-05-18 IL IL175769A patent/IL175769A0/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06244832A (ja) * | 1993-02-22 | 1994-09-02 | Nec Corp | 秘密情報通信方法及び秘密情報通信装置 |
JPH10508121A (ja) * | 1994-10-28 | 1998-08-04 | シュアティ テクノロジーズ インコーポレイテッド | ドキュメントをユニークに特定し認証する証明書を発行するデジタルドキュメント証明システム |
US5903651A (en) * | 1996-05-14 | 1999-05-11 | Valicert, Inc. | Apparatus and method for demonstrating and confirming the status of a digital certificates and other data |
JPH11289329A (ja) * | 1998-01-22 | 1999-10-19 | Yeda Res & Dev Co Ltd | 認証形サ―チ・ツリ― |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010507328A (ja) * | 2006-10-16 | 2010-03-04 | ブロードオン コミュニケーションズ コーポレーション | セキュアデバイス認証システム及び方法 |
JP2013502663A (ja) * | 2009-08-31 | 2013-01-24 | アナスタシス カンパニー リミティド | リアルタイム車両データの無欠性保証装置及び方法と、これを用いた車両用ブラックボックスシステム |
JP2013520070A (ja) * | 2010-02-12 | 2013-05-30 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | 通信ネットワークにおける信用性の発見 |
Also Published As
Publication number | Publication date |
---|---|
WO2005055515A1 (en) | 2005-06-16 |
US20080028224A1 (en) | 2008-01-31 |
AU2003292078A1 (en) | 2005-06-24 |
CA2546818A1 (en) | 2005-06-16 |
CN1886929A (zh) | 2006-12-27 |
IL175769A0 (en) | 2006-09-05 |
EP1690366A1 (en) | 2006-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11349674B2 (en) | Digital certificate management method and apparatus, computer device, and storage medium | |
EP1401143B1 (en) | Methods and system for providing a public key fingerprint list in a PK system | |
US11228452B2 (en) | Distributed certificate authority | |
CN107508686B (zh) | 身份认证方法和系统以及计算设备和存储介质 | |
US7461250B1 (en) | System and method for certificate exchange | |
US9769177B2 (en) | Role-based access control to computing resources in an inter-organizational community | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
WO2018145985A1 (en) | Verifiable version control on authenticated and/or encrypted electronic documents | |
JP2007515837A (ja) | データ管理処理およびデータ配送処理において完全性および信頼を提供する方法およびシステム | |
US20070150596A1 (en) | Content Publication | |
CN113824563B (zh) | 一种基于区块链证书的跨域身份认证方法 | |
KR20080098003A (ko) | 자동화된 파일 배포를 위한 피어-투-피어 네트워크 및컴퓨터 구현 방법 | |
US20080133906A1 (en) | Efficient security information distribution | |
US8214646B2 (en) | Bundle verification | |
EP2595340A2 (en) | Cryptographic document processing in a network | |
CN111786812A (zh) | 节点管理方法、装置、计算机设备和存储介质 | |
US11316698B2 (en) | Delegated signatures for smart devices | |
US20190280882A1 (en) | Information management device, authentication device, information management system, information management method, and non-transitory computer readable medium | |
US7272717B2 (en) | System of authentication, apparatus, program and method | |
CN112039837A (zh) | 一种基于区块链和秘密共享的电子证据保全方法 | |
CN115842657A (zh) | 一种基于区块链的物联网匿名身份认证方法及装置 | |
CN115237909A (zh) | 一种多系统的批量数据差异发现方法和系统 | |
US20050120207A1 (en) | Method and system for enabling PKI in a bandwidth restricted environment | |
KR20060111596A (ko) | 데이터 관리 및 데이터 배포 과정들에서 무결성 및신뢰성을 제공하는 방법 및 시스템 | |
ZA200604974B (en) | Methods and systems for providing integrity and trust in data management and data distribution processes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100119 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100629 |