(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-23
(45)【発行日】2024-07-31
(54)【発明の名称】タグチェーンブロックチェーンシステム、及びそのための方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20240724BHJP
G06F 16/903 20190101ALI20240724BHJP
【FI】
H04L9/32 200Z
G06F16/903
【外国語出願】
(21)【出願番号】P 2022011522
(22)【出願日】2022-01-28
(62)【分割の表示】P 2019565329の分割
【原出願日】2018-06-19
【審査請求日】2022-02-24
(32)【優先日】2017-06-20
(33)【優先権主張国・地域又は機関】HK
【前置審査】
(73)【特許権者】
【識別番号】519415753
【氏名又は名称】707 リミテッド
(74)【代理人】
【識別番号】110003797
【氏名又は名称】弁理士法人清原国際特許事務所
(72)【発明者】
【氏名】コン,ジョンソン ゾーン アン
(72)【発明者】
【氏名】リン,マイケル ミン-ジェ
(72)【発明者】
【氏名】ユ,ロナルド カー ウェイ
【審査官】中里 裕正
(56)【参考文献】
【文献】REN, Z. et al.,Implicit Consensus: Blockchain with Unbounded Throughput,arXiv,1705.11046v2,[online],2017年06月01日,pp.1-15,<URL:https://arxiv.org/abs/1705.11046v2>,[2023年4月28日検索]
【文献】LI, W. et al.,Towards Scalable and Private Industrial Blockchains,Proceedings of the ACM Workshop on Blockchain, Cryptocurrencies and Contracts (BCC'17),2017年04月02日,pp.9-14
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 16/903
JSTPlus/JMEDPlus/JST7580(JDreamIII)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
コンピュータ実装タグチェーンブロックチェーンシステムであって、該コンピュータ実装タグチェーンブロックチェーンシステムは、
A.第1のブロックチェーン、及び
B.第2のブロックチェーンを含み、
前記第1のブロックチェーン及び前記第2のブロックチェーンは相互排他的であり、
前記タグチェーンは、1つのブロックチェーンのみが「タグイン」されてアクティブになり、他のブロックチェーンは「タグアウト」されるように構成され、
前記ブロックチェーンがアクティブである間、当該ブロックチェーンは当該ブロックチェーン内の新しいリンクに接続する又は新しいリンクを受け取ることができるよう構成される、
ことを特徴とするコンピュータ実装タグチェーンブロックチェーンシステム。
【請求項2】
前記第1のブロックチェーン及び前記第2のブロックチェーンは同じサーバに記憶される、ことを特徴とする請求項1に記載のコンピュータ実装タグチェーンブロックチェーンシステム。
【請求項3】
前記第1のブロックチェーン及び前記第2のブロックチェーンは異なるサーバに記憶される、ことを特徴とする請求項2に記載のコンピュータ実装タグチェーンブロックチェーンシステム。
【請求項4】
前記第1のブロックチェーン及び前記第2のブロックチェーンは同じブロックチェーンシステムの内で絡み合っている、ことを特徴とする請求項1に記載のコンピュータ実装タグチェーンブロックチェーンシステム。
【請求項5】
前記第1のブロックチェーンの中のリンクはチェックサムであり、前記第2のブロックチェーンの中のリンクはチェックサムである、ことを特徴とする請求項1に記載のコンピュータ実装タグチェーンブロックチェーンシステム。
【請求項6】
前記チェックサムは異なるブロックチェーンの間で変化している、ことを特徴とする請求項5に記載のコンピュータ実装タグチェーンブロックチェーンシステム。
【請求項7】
コンピュータ実装タグチェーンブロックチェーンシステムを形成するための方法であって、該方法は
(A)第1のリンクを第1のブロックチェーンに生成する工程、及び
(B)第1のリンクを第2のブロックチェーンに生成する工程、
を含み、
前記タグチェーンは、1つのブロックチェーンのみが「タグイン」されてアクティブになり、他のブロックチェーンは「タグアウト」されるように構成され、
前記ブロックチェーンがアクティブである間、当該ブロックチェーンは当該ブロックチェーン内の新しいリンクに接続する又は新しいリンクを受け取ることができるよう構成され、
前記第1のブロックチェーンの前記第1のリンクは、前記第2のブロックチェーンの前記第1のリンクとリンクせず、前記第1のブロックチェーン及び前記第2のブロックチェーンは相互排他的であり、それぞれのリンクはチェックサムを含む、
ことを特徴とする方法。
【請求項8】
前記第1のブロックチェーン及び前記第2のブロックチェーンを同じブロックチェーンシステムの内で絡み合わす工程をさらに含む、ことを特徴とする請求項7に記載の方法。
【請求項9】
前記チェックサムは異なるブロックチェーンの間で変化している、ことを特徴とする請求項7に記載の方法。
【請求項10】
前記第1のブロックチェーン及び前記第2のブロックチェーンのリンクを分離する工程(C)を更に含む方法であって、
前記工程(C)は、順序論理、一定期間、チェックサムの数、チェックサムの一部、チェックサムへの修正、モジュロ方法、1つのデバイスまたは複数のデバイス、アドレス、固有識別子、及びそれらの組み合わせからなる群から選択される分離方法によって行われる、ことを特徴とする請求項7に記載の方法。
【請求項11】
前記第1のブロックチェーンと前記第2のブロックチェーンは、順序論理、一定期間、チェックサムの数、チェックサムの一部、チェックサムへの修正、モジュロ方式、1つのデバイスまたは複数のデバイス、アドレス、固有識別子、及びそれらの組み合わせからなる群から選択される一種を介して相互排他的である、請求項1に記載のコンピュータ実装タグチェーンブロックチェーンシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル文書、及びそのための時間/日付スタンプの存在を証明する方法に関する。本発明はまた、デジタル文書の証拠の検索のための方法及び/又はシステムに関する。本発明はまた、ブロックチェーンシステムに関する。
【背景技術】
【0002】
今日の知識経済において、知的財産(IP)は多くの場合、個人又は企業の最も有益な資産である。IP法は、創作者、所有者、及び/又は発明者を認識することにより、及び彼らに法的且つ経済的な利益を提供することにより、新たな有益なIPの生成を助長することによって社会に利益をもたらすことを意図されている。全てのIP権利(IPR)の重大な前提条件の1つは独創性である。そうは言っても、多くの場合、いつIPが作成され及び/又は最初に使用されるか;及び誰が創作者、所有者、又は発明者であるかを知ることが重要である。
【0003】
独創性及び/又は作成を証明するための1つの方法は、デジタル「出生証明書」によって行われる。創作者、所有者、又は発明者が、新たなデジタルワーク(画像、映像、文書、歌などの何れかとして)、新たな企業秘密、新たな著作物、新たな商標ロゴの新たな意匠、及び/又は新発明の創生を作成して、これらをデジタル保存するとすぐに、タイムスタンプから成る及び/又はそれらに関連付けられるデジタル出生証明書が提供され得る。しかし、デジタル文書が作成されたコンピュータのタイムスタンプにのみ依存することは、多くの場合不十分であり、そのため、時間/日付スタンプは、コンピュータの時間にのみ依存する場合、偽造変更され(changed forged)、或いは単に不正確な場合がある。
【0004】
後にレジャー(ledger)、典型的にはオープンレジャー又はクローズドレジャーに記憶される、トランザクション及び/又は他のデータなどのリンクを記録且つ作成するために暗号学的ハッシュを利用するブロックチェーンシステムが知られているが、半オープンレジャーも可能である。しかし、ブロックチェーンシステムに関する一般的な問題は、それらのチェーンがますます長くなるにつれ、後にそれらのシステムが、チェーンに次のバーチャルリンクを作成するためにより多くの時間、計算能力、及びエネルギーを必要とするということである。特定の時点において、報酬漸減の法則は、チェーン中の次のリンクの生成が過度に遅くなり、エネルギー集約的になり、及び/又はそうでなければ持続不能となることを示す。従って、現行のブロックチェーンシステムのアーキテクチャを改善する必要がある。
【0005】
それ故、デジタル文書の新たな創作、所有、及び/又は起源を証明するために、デジタル指紋などのタイムスタンプ及び日付スタンプ、並びにデジタル証明書を迅速且つ容易に提供できる方法を提供可能となることが望ましい。好ましくは、そのような方法は、あらゆる方法で実際のデジタルコンテンツを露出することなく、デジタルファイルを独自に識別する時間的記録を提供する。また、そのような記録は、好ましくは信頼された組織により安全に記憶され、及び/又は、標準化されたタイムスタンプを有していることも、望ましい。各デジタル文書に対して固有のデジタル指紋を提供することも望ましい。デジタル文書がデジタル指紋によって示されるデジタル文書から改変又は変更されたかどうかを検出可能となることも、望ましい。また、企業秘密の盗難、先使用権(prior use defenses)、著作権行為などの場合のために、特に裁判所又は他の法廷においてデジタル文書を認証するための、より容易且つ効果的な方法にも必要とされる。ブロックチェーンシステムの改善にも必要とされる。
【発明の概要】
【0006】
前述を考慮すると、本発明の目的は、デジタル文書の存在を証明するための、即ち、デジタル文書の「存在の証拠」を提供するための、改善されたコンピュータ実装方法、及びそのためのコンピュータシステムを提供することである。
【0007】
本発明は、デジタル文書の存在を証明するためのコンピュータ実装方法に関し、該方法は、デジタル文書のタイムスタンプを得る工程、デジタル文書の複数の暗号学的ハッシュを得る工程、タイムスタンプ及び複数の暗号学的ハッシュに基づいてエビデンスキーを生成する工程、及び記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程を含む。
【0008】
本発明はまた、デジタル文書の存在を証明するためのコンピュータ実装方法に関し、該方法は、デジタル文書の複数のタイムスタンプを得る工程、デジタル文書の暗号学的ハッシュを得る工程、複数のタイムスタンプ及び暗号学的ハッシュに基づいてエビデンスキーを生成する工程、及び記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程を含む。
【0009】
本発明はまた、デジタル文書の存在を証明するためのコンピュータ実装方法に関し、該方法は、デジタル文書のタイムスタンプを得る工程、デジタル文書の暗号学的ハッシュを得る工程、タイムスタンプ及び暗号学的ハッシュに基づいてエビデンスキーを生成する工程、及び記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程を含む。エビデンスキーの記憶は複数の記憶媒体上で行われる。
【0010】
本発明はまた、本明細書に記載される方法を含むデジタル文書の存在を証明するためのコンピュータシステムを含む。
【0011】
理論に縛られることを意図することなく、本発明は、写真、スクリプト、エッセイなどのデジタル文書の存在を証明する、即ち、デジタル文書の「存在の証拠」を提供する、改善されたコンピュータ実装方法を提供できると考えられる。更に、暗号学的ハッシュ、タイムスタンプ、エビデンスキー、及び/又は記憶媒体を利用することにより、本明細書中の証明方法は、改善されたセキュリティ、速度、コンピューティング効率、安全性などの1つ以上の利益を持つことができる。場合によっては、本明細書中の方法により提供されるエビデンスキー及び/又はエビデンスは、デジタル文書が特定の時間に存在していたという推定として、例えば法廷、裁判、調停などに使用され得ると考えられる。場合によっては、本明細書中の方法により提供されるエビデンスキー及び/又はエビデンスは、デジタル文書が特定の時間に特定の個人及び/又は組織により所有されていたという推定として、例えば法廷、裁判、調停などに使用され得るとも考えられる。
【0012】
そのようなコンピュータ実装方法及びコンピュータシステムは、例えば、個人のデジタル文書、法的なデジタル文書、企業のデジタル文書、市販のデジタル文書など、及びそれらの組み合わせの存在を証明するのに有用であり得るとも考えられる。本発明は、デジタル文書、例えば遺言書、信託証書、企業文書、ウェブサイト、テキスト又は他の電子メッセージ、契約書、証書、譲渡書、売買契約書、受領書、広告、発明ノート、実験データ、データログ、電話ログ、金融取引、特許、商標、著作権、企業秘密、保険記録、患者記録、コンピュータプログラム、コンピュータソフトウェア、写真、映像、音楽、実験報告など、及び/又は、それらの変更及び/又は修正の存在を証明するのに特に有用であると考えられる。
【0013】
本発明はまた、第1のチェーン及び第2のチェーンを含むコンピュータ実装タグチェーンシステム(tag chain system)に関する。第1のチェーン及び第2のチェーンは相互排他的である。
【0014】
理論に縛られることを意図されていないが、タグチェーンシステムは、ブロックチェーンシステムが追加のチェックサムやトランザクションなどを包含するように自身を拡張させつつ、必要とされる速度を維持し、時間や全体のエネルギー必要量などを減らすことを可能にする。
【図面の簡単な説明】
【0015】
本発明の更に完全な理解のために、以下の詳細な説明及び添付の図面について言及する。
【
図2】検索要求を含む本発明の実施形態の略図を示す。
【
図3】本発明の一実施形態に係るデジタル文書の存在を証明する方法のフローチャートを示す。
【
図4】
図3に示されるような実施形態の方法の工程(54)の詳細なフローチャートを示す。
【
図5】デジタル文書の存在を証明するための本発明のシステムの実施形態を示す。
【
図6】記憶サーバのクロックを同期させるための方法を記載する、本発明の実施形態を示す。
【
図7】本発明の実施形態に係るアルゴリズム構造を示す。
【
図8】Aはチェックサムを生成する本発明の実施形態を示し、Bはチェックサムを生成する本発明の他の実施形態を示す。
【
図9】チェックサムを生成する本発明の他の実施形態を示す。
【
図10】本発明のタグチェーンの実施形態の概略図を示す。
【0016】
本明細書中の図は、例示のみを目的とするものであり、必ずしも全ての必要な又は随意の工程、コンポーネント、及び/又は他の詳細を示すものではない。
【発明を実施するための形態】
【0017】
本明細書で使用されるように、用語「含む(comprising)」は、以下の要素を含むがその他を除外しないことを意味する。
【0018】
本明細書で使用されるように、用語「連結する」又は「接続する」は、他に明言されない限り、直接的、或いは、1つ以上の電気方法又は無線方法を介した間接的な、電気連結又は接続を指す。
【0019】
本明細書で使用されるように、句「デジタル文書」は、物理的な形態ではなくデジタルで保存される任意の文書を示す。しかし、当業者は、本明細書中のデジタル文書は物理的文書のデジタル表現であり得ることを理解する。更に、デジタル文書自体は実際に1つ以上のデジタルファイルを含み得ることが認識され;例えば、本明細書中のデジタル文書は、中に多数のデジタルファイルを有するデータベース、中に多数のデジタルファイルを有するフォルダ、中に多数のデジタルファイルを有する全体のハードドライブ、中に多数のデータベースを有するサーバなどであり得る。
【0020】
本明細書で使用されるように、「時間」は、時間や日付、或いは、特定の時間及び日付に相当する関連値を示す。
【0021】
本発明は、デジタル文書の存在を証明するためのコンピュータ実装方法に関し、該方法は、デジタル文書のタイムスタンプを得る工程、デジタル文書の複数の暗号学的ハッシュを得る工程、タイムスタンプ及び複数の暗号学的ハッシュに基づいてエビデンスキーを生成する工程、及び記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程を含む。
【0022】
本発明はまた、デジタル文書の存在を証明するためのコンピュータ実装方法に関し、該方法は、デジタル文書の複数のタイムスタンプを得る工程、デジタル文書の暗号学的ハッシュを得る工程、複数のタイムスタンプ及び暗号学的ハッシュに基づいてエビデンスキーを生成する工程、及び記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程を含む。
【0023】
本発明はまた、デジタル文書の存在を証明するためのコンピュータ実装方法に関し、該方法は、デジタル文書のタイムスタンプを得る工程、デジタル文書の暗号学的ハッシュを得る工程、タイムスタンプ及び暗号学的ハッシュに基づいてエビデンスキーを生成する工程、及び記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程を含む。エビデンスキーの記憶は複数の記憶媒体上で行われる。
【0024】
図面を参照すると、
図1は本発明の実施形態の略図を示している。
図1において、方法(10)は、文書(20)から始まり、これに対してエビデンスキー要求(22)が例えばユーザー、コンピュータ、システムなどによって提出される。エビデンスキー要求(22)は、エビデンスキージェネレータ(24)に送信され、エビデンスキージェネレータ(24)は典型的に、例えばサーバ、ブラウザ、アプリケーションなどに収容されるコンピュータプログラム及び/又はアルゴリズムである。エビデンスキージェネレータ(24)はその後、本発明の実施形態に応じて、1つ以上のタイムスタンプ(26)を得て(例えば生成し)、1つ以上の暗号学的ハッシュ(28)を得る(例えば生成する)。
【0025】
エビデンスキージェネレータ(24)は、様々な方法及び入力(30)を利用して、エビデンスキー(32)を生成することができる。本明細書中の一実施形態において、エビデンスキージェネレータ(24)はその後、タイムスタンプ(26)及び/又は暗号学的ハッシュ(28)の入力(30)に基づいて、又は、タイムスタンプ(26)及び暗号学的ハッシュ(28)に基づいて、1つ以上のエビデンスキー(32)を生成する。本明細書中の一実施形態において、エビデンスキージェネレータは、(26)及び(26’)などの複数のタイムスタンプ及び暗号学的ハッシュ(28)を利用して、エビデンスキー(32)を生成する。代替的な実施形態において、エビデンスキージェネレータ(24)は、タイムスタンプ(26)、及び複数の暗号学的ハッシュ(28)及び(28’)を利用して、エビデンスキー(30)を生成する。また別の実施形態において、エビデンスキージェネレータ(24)は、複数のタイムスタンプ(26)及び(26’)の他、複数の暗号学的ハッシュ(28)を利用して、エビデンスキー(30)を生成する。また別の実施形態において、エビデンスキージェネレータ(24)は、同じ又は異なる入力(30)を用いて、多数のエビデンスキー(32)及び(32’)を生成する。
【0026】
本明細書中のタイムスタンプは、様々なソースから生じ、且つ、1つ以上の事象に従って生成され得る。本明細書中の一実施形態において、タイムスタンプは、デジタル文書が最初に作成された時間に属する。本明細書中の一実施形態において、タイムスタンプは、デジタル文書が最後に保存された時間に属する。故に、本明細書中の一実施形態において、タイムスタンプは、デジタル文書に対するバージョン追跡プログラムの一部であり得る。
【0027】
本明細書中の一実施形態において、タイムスタンプは、エビデンスキーを生成する要求がエビデンスキージェネレータによって受信される時間に属する。本明細書中の一実施形態において、タイムスタンプは、エビデンスキージェネレータが暗号学的ハッシュを得る時間に属する。本明細書中の別の実施形態において、タイムスタンプは、時間サーバ、独立クロック、及びそれらの組み合わせなどの時間ソース;或いは、時間サーバ、独立クロック、及びそれらの組み合わせから得られる。本明細書中の一実施形態において、独立クロックは全地球測位システム(GPS)クロックである。
【0028】
本明細書中の一実施形態において、タイムスタンプは、複数のタイムスタンプ;又は約2~約10のタイムスタンプ;又は約2~約8のタイムスタンプ;又は約3~約6のタイムスタンプである。本明細書中の一実施形態において、複数のタイムスタンプは、本明細書に記載されるような異なる時間ソースから得られ、又は、複数のタイムスタンプの各々は異なる時間ソースから得られる。理論により縛られることを意図されず、そのような特徴は、例えば、特定の時間にデジタル文書の存在を証明するためにエビデンスキーが第三者に提供されると、システム全体の信頼性における信頼をより大きなものとすることが可能であると、考えられる。
【0029】
本明細書中の一実施形態において、タイムスタンプは、複数の事象に関する複数のタイムスタンプ;又は各々が異なる事象に属する複数のタイムスタンプを含む。本明細書中の一実施形態において、タイムスタンプは、デジタル文書が最初に作成された時間、デジタル文書が最後に保存された時間、エビデンスキーを生成する要求がエビデンスキージェネレータにより受信される時間、エビデンスキージェネレータが暗号学的ハッシュを得る時間、及びそれらの組み合わせなどの、複数の異なる事象に属する。
【0030】
更に、本発明の一実施形態において、複数のタイムスタンプが全て予め決められた量の時間にない場合、後にエビデンスキーは、起こり得るエラーとして、エビデンスキージェネレータ、他のアルゴリズム、又は他のプロセスによってフラグを立てられる(flagged)。本明細書中の一実施形態では、予め決められた量の時間は、10分;又は5分;又は2分である。
【0031】
本明細書中の暗号学的ハッシュは、符号;又は文字数字符号列であり、これはデジタル文書においてデータを表わすものである。暗号学的ハッシュ関数は、デジタル文書中のデータをマッピングして、その特定の文書に対して特定の暗号学的ハッシュを提供する。本明細書中の暗号学的ハッシュ関数は、鍵付き暗号学的ハッシュ関数によって生成された鍵付き暗号学的ハッシュ機能、或いは、鍵なし暗号学的ハッシュ関数によって生成された鍵なし暗号学的ハッシュであり得る。本明細書中の一実施形態において、鍵付き暗号学的ハッシュ関数は、VMAC、UMAC、BLAKE 2、Poly1305-AES、PMAC、SipHash、One-key MAC、MD6、HMAC(ハッシュベースのメッセージ確認コード)、及びそれらの組み合わせ;及び/又はそれらの組み合わせ;或いはBLAKE 2、MAC、HMAC、及びそれらの組み合わせの群から選択される。
【0032】
本明細書中の一実施形態において、鍵なし暗号学的ハッシュ関数は、BLAKE-256、BLAKE-512、BLAKE2b、BLAKE2s、ECOH、GOST、Grostl、HAS-160、HAVAL、JH、MD2、MD4、MD5、MD6、RadioGatun、RIPEMD、RIPEMD-128、RIPEMD-160、RIPEMD-320、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、Skein、Snefru、Spectral Hash、Streebog SWIFFT、Tiger、Whirlpool、及びそれらの組み合わせの群から選択され;又は、鍵なし暗号学的ハッシュ関数は、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、及びそれらの組み合わせから成る群から選択され;又は、鍵なし暗号学的ハッシュ関数は、SHA2-256、SHA2-512、SHA3-256、SHA-3、及びそれらの組み合わせから成る群から選択される。
【0033】
本明細書中の一実施形態において、暗号学的ハッシュ;又は複数の暗号学的ハッシュは、約2~約100の暗号学的ハッシュ;又は約2~約25の暗号学的ハッシュ;又は約3~約10の暗号学的ハッシュ;又は約4~約8の暗号学的ハッシュである。本明細書中の一実施形態において、暗号学的ハッシュの各々は、異なる暗号学的ハッシュ関数によって生成される。理論により縛られることを意図されていないが、多数の暗号学的ハッシュの組み合わせは、不一致が生じないという、より高度な確実性を提供すると考えられる。当業者は、多数の暗号学的ハッシュが使用されると、後に不一致の可能性が指数関数的に減少することを理解する。
【0034】
理論により縛られることを意図されていないが、本明細書中の暗号学的ハッシュの使用は、他のタイプのハッシュとは対照的に、不可能でないにしても、暗号学的ハッシュ自体からデジタル(即ち、電子)文書及び/又はデジタル文書のコンテンツを再構成(即ち、リバースエンジニア)することが極めて困難であるため、特に有用であると考えられる。故に、指紋から個人をリバースエンジニアすることが不可能であるように、デジタル指紋からデジタル文書をリバースエンジニアすることは不可能である。従って、そのような利益により、本発明は、企業秘密の存在を証明しつつ、同時に企業秘密の漏洩のリスクを減らすのに有用であり得ると考えられる。
【0035】
エビデンスキーは、暗号学的ハッシュ及びタイムスタンプにより;又は暗号学的ハッシュ、タイムスタンプ、及び追加の入力により生成され得る。エビデンスキーは、これらの入力を関連付けることにより、或いはそれらを望ましいように更に改変/変更することにより生成され得る。例えば、本明細書中の一実施形態において、暗号学的ハッシュ、タイムスタンプ、及び任意の追加の入力は更に、後にエビデンスキーとして単独で或いは更なるデータと共に使用される、更なるハッシュを生成するために更なるハッシュ関数へと供給される。
【0036】
理論により縛られることを意図されていないが、エビデンスキーを生成するために暗号学的ハッシュ及びタイムスタンプの両方を使用することによって、これらの1つ以上の入力が後に変更されなかったという、より高度な信頼性が提供されると考えられる。
【0037】
図1に見られるように、2つのタイムスタンプ(26)及び(26’)、2つの暗号学的ハッシュ(28)及び(28’)、及び2つのエビデンスキー(32)及び(32’)のみが具体的に示されているが、
図1の右側にある点線及びボックスは、追加のタイムスタンプ、暗号学的ハッシュ、エビデンスキーなども提供され、得られ、生成されることを示しており、且つ、そのような追加の特徴は本発明の範囲内にあると考えられる。故に、
図1からは、単一のデジタル文書が、複数のタイムスタンプ、複数の暗号学的ハッシュ、複数のエビデンスキー、複数の記憶されたエビデンスキーなどの生成をもたらし得ることが明らかである。
【0038】
エビデンスキー(32)及び随意の追加の関連データ(34)は後に、記憶装置(36)に共に記憶される、これには典型的に、記憶媒体にエビデンスキー及び追加の関連データを共に配置する工程が含まれる。本明細書中の追加の関連データは、例えば、エビデンスキーを分類し、エビデンスキーを説明し、後の時点でエビデンスキーの検索を補助し、エビデンスキーの認証を補助するように、エビデンスキーに含まれ、及び/又はそれに関連付けられ得る。本明細書中の一実施形態において、追加の関連データは、エビデンスキーを分類するために使用されるデータを含む。本明細書中の一実施形態において、追加の関連データは、エビデンスキーを生成するために使用されたソフトウェアのバージョンに対するソフトウェアバージョンナンバーを含む。本明細書中の一実施形態において、追加の関連データは、典型的には記憶後の時点で、エビデンスキーを探索するために使用されるデータを含む。
【0039】
本明細書中の一実施形態において、追加の関連データは、エビデンスキーやそのコンテンツなどの説明を補助するが、デジタル文書自体の詳細なコンテンツを実質的に漏洩しない、エビデンスキーに関する情報などの非感作情報を含む。本明細書中の一実施形態において、追加の関連データは、非感作情報を使用したエビデンスキーの検索;又は非感作情報のみを使用したエビデンスキーの検索を可能にする。追加の関連データは、例えば、記憶タイムスタンプ(エビデンスキーが記憶された時間を示す)、固有識別子(例えばEメールアドレス、電話番号、ユーザー名、パスワード、サーバーアドレス、IPアドレス、デバイスアドレスなど)、ファイル名、及びそれらの組み合わせ;又は、記憶タイムスタンプ、Eメールアドレス、電話番号、ユーザー名、パスワード、ファイル名、及びそれらの組み合わせ;又は、記憶タイムスタンプ、Eメールアドレス、電話番号、ユーザー名、ファイル名、固有識別子、及びそれらの組み合わせであり得る。
【0040】
本明細書中の一実施形態において、追加の関連データは、例えばシステム管理者、ローカル管理者、登録ユーザー、及び/又は公衆などの実体により、観察され、検索され、組織化され、分類され得る。本明細書中の一実施形態において、異なるレベル及び/又はカテゴリの実体は、追加の関連データ及び/又はエビデンスキーに関する異なるレベルのアクセス権を持つ。例えば、システム管理者は、追加の関連データ及びエビデンスキーを観察し、検索し、組織化し、分類するための完全なアクセス権を持つ一方、大衆には、追加の関連データしか観察できないようにアクセス権が制限される場合がある。
【0041】
本明細書中の一実施形態において、任意のレベルでの実体には、追加の関連データ又はエビデンスキーの変更を可能にするアクセスがない。
【0042】
本明細書中の一実施形態において、変更が追加の関連データ及び/又はエビデンスキーに行われる場合、変更は後にログ又は恒久ログに示される。本明細書中の一実施形態において、本明細書中のログは、行われる変更の記録の他、例えば変更を行う実体、変更が行われるデータと時間、変更が行われる位置(例えば、IPアドレスを介した、物理位置及び/又は仮想位置の何れか)、変更を行うのに必要なアクセス権などの1つ以上の指標を含む。
【0043】
本明細書中の有用なパスワードは、特定のユーザー、サーバ、又は他の実体、具体的には元のデジタル文書のエビデンスキー要求を提出するものを識別及び/又は認証するための任意のタイプの情報であり得る。本明細書中の一実施形態において、パスワードは、英数字列、個人認証因子、位置、画像、電子ファイル、及びそれらの組み合わせ;又は英数字列、個人認証因子、画像、及びそれらの組み合わせ;又は英数字列、個人認証、及びそれらの組み合わせの群から選択される。本明細書中の一実施形態において、個人認証因子は、指紋、声紋、顔認証、他の個人のパターン、及びそれらの組み合わせ;又は指紋、声紋、顔認証、及びそれらの組み合わせなどの生体認証因子である。本明細書中の生体認証因子は生体情報を含み得る。本明細書中の一実施形態において、個人認証因子は顔認証アルゴリズムを利用する。
【0044】
本明細書中の一実施形態において、本明細書中の有用な追加の関連データはケースセンシティブである。本明細書中の一実施形態において、本明細書中の有用な追加の関連データはケースセンシティブではない。本明細書中の一実施形態において、パスワード、ファイル名、IPアドレスなどは、ケースセンシティブである。本明細書中の一実施形態において、パスワード、ファイル名、IPアドレスなどは、ケースセンシティブではない。
【0045】
図1において、エビデンスキー(23)及び追加の関連データ(34)が、1つ以上の記憶されたエビデンスキー(38)(38’)などを提供するように、記憶装置(36)(36’)などに共に組み合わされ且つ記憶されることが確認できる。本明細書中の記憶装置は、記憶されたエビデンスキーを記憶するために、記憶媒体、又は複数の記憶媒体を利用する。エビデンスキー(32)及び追加の関連データ(34)などの情報は典型的に、記憶装置(36)(36’)及び/又は本明細書中の記憶媒体の中のデータベースに記憶される。
【0046】
本明細書中の有用な記憶媒体は、サーバ、記憶ドライブ、紙、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、及びそれらの組み合わせの群から選択されるものを含む。本明細書中の一実施形態において、記憶ドライブは、ディスクドライブ、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フロッピーディスク、光磁気ディスク、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フラッシュメモリ、及びそれらの組み合わせの群から選択される。
【0047】
本明細書中の一実施形態において、本明細書中の方法及び/又はシステムは複数の記憶媒体を含む。
【0048】
本明細書中の一実施形態において、複数の記憶媒体;又は、複数の記憶媒体の各々は、異なる物理位置に位置づけられる。理論により縛られることを意図されていないが、例えば自然災害、停電、戦争、政治的不安などの事象の場合に、そのような分散システムは経営継続性及び災害対策の利益を提供すると考えられる。更に、本明細書中の一実施形態において、複数の記憶媒体の1つ以上は、信頼された組織;又は信頼された国際組織;又は超党派の組織;又は非営利組織;又は社会的企業などの組織により保持される。本明細書中の一実施形態において、組織は、オーストリア特許庁(APO)、中国国際貿易促進委員会(CCPIT)、ヨーロッパ特許庁(EPO)、シンガポール知的財産局(IPOS)、国際知的財産商業化会議(International Intellectual Property Commercialization Council)(IIPCC)、国家知識産権局(SIPO(別名、中国知的財産局))、スイス連邦知的財産研究所(FIIP)、米国特許商標局(USPTO)、国家市場監督管理局(中国のSMSA)、世界知的財産局(WIPO)、アメリカ合衆国国会図書館、及びそれらの組み合わせ;又はシンガポール知的財産局(IPOS)、国際知的財産商業化会議(IIPCC)、世界知的財産局(WIPO)、アメリカ合衆国国会図書館、国家市場監督管理局(中国のSMSA)、及びそれらの組み合わせから成る群から選択される。組織が名称を変更し、統合され、吸収され、再編成される場合、後に用語「組織」は、本明細書で使用されるように、対象におけるそれぞれの継承者を含む。
【0049】
本明細書中の一実施形態において、本明細書中の複数の記憶媒体は、互いに電子的且つれ物理的に離間される。理論により縛られることを意図されていないが、そのようなシステムは、インターネットワーク化されたシステム、及び/又は単一の物理位置のみを有するシステムに比べて、改善されたセキュリティ及び信頼性を提供すると考えられる。多数の位置に分散されるそのようなシステムは、例えば位置の1つがハックされ、身代金のために変更され、差し押さえられる場合に、信頼できるバックアップを提供することもできる。
【0050】
図1において、本明細書中の一実施形態において、前記方法は、送達されたエビデンスキー(42)(42’)を形成するための送達工程(40)(40’)を含み、そこでは、エビデンスキー(32)及び/又は追加の関連データ(43)が当事者に送達され;又は、最初にエビデンスキー要求(22)を行った当事者、組織、サーバ、アカウントなどに送達される。本明細書中の一実施形態において、送達工程(40)は、エビデンスキー(32)及び追加の関連データ(34)の、最初にエビデンスキー要求(22)を行ったアカウントへの送達を含む。そのような送達は、例えばEメール、テキストメッセージ、電子メッセージ通信サービス、郵便メール、インターネット上での送信、及びそれらの組み合わせなどの経路を介して;又はEメール、郵便メール、テキストメッセージ、及びそれらの組み合わせを介して行われてもよい。理論により縛られることを意図されていないが、そのような送達は、検索が要求される場合に、記憶したエビデンスキーを上手く検索できるほど十分な情報を要求者が提供できるという可能性を増大させることを補助する。
【0051】
図1において、記憶装置(36’)は記憶装置(36)と平行になって示されている。しかし、本発明の一実施形態において、記憶装置(36’)は記憶装置(36)と連続している(例えば、
図3を参照)。
【0052】
図2は本発明の一実施形態の略図を示しており、そこでは、本明細書中のコンピュータ実装方法は、後に検索工程(44)(44’)などを開始する検索要求(44)を含む。検索工程(44)は、検索されたエビデンスキー(48)及び(48’)などを形成するためにシステムがエビデンスキー及び/又は任意の追加の関連データを検索するプロセスを開始する。この検索されたエビデンスキー(48)は後に、比較工程(50)(50’)などを受け、そこでは、検索されたエビデンスキー(48)は記憶されたエビデンスキー(38)及び/又は送達されたエビデンスキー(42)と比較される。本明細書中の一実施形態において、比較工程は結果として、検索要求結果(52)(52’)などをもたらす。本明細書中の一実施形態において、比較工程(50)は、送達されたエビデンスキー(42)(及び任意の追加の関連データ(
図1の(34)を参照))を、検索されたエビデンスキー(48)(及び任意のそれぞれの追加の関連データ)と比較する。比較工程(50)は後に、送達されたエビデンスキー(42)と検索されたエビデンスキー(48)との間に何らかの不一致があったとしても、或いはそれらが一致したとしても、検索要求結果(52)を強調し得る。
【0053】
理論により縛られることを意図されていないが、送達されたエビデンスキー(42)及び検索されたエビデンスキー(48)は一致し、後に証明として;又は、デジタル文書が存在していた、及び/又はエビデンスキー要求が提出された時などの特定の時点で当事者により所有されていたという、証明の覆しうる推定としての役目を果たすことができると考えられる。
【0054】
当業者は、
図2において、検索工程(46’)の平行なプロセスと同様に、記憶されたエビデンスキー(38’)が本発明の実施形態に対して企図されていることを理解する。理論により縛られることを意図されていないが、そのような平行検索(46’)、比較(50’)などを行うことで、前記方法及びシステムが健全であり(sound)且つデータ保全が損なわれないという、セキュリティ及び確実性の追加された層がユーザーに提供されると考えられる。反対に、異なる結果が平行なプロセスから検索される場合、データ保全が何らかの方法で損なわれていると示される。本発明の一実施形態において、異なる結果が検索されると、ログが生成され、システム管理者などの実体は通知を受け、又はそれらの組み合わせが行われる。
【0055】
図3は、本発明の一実施形態に係るデジタル文書の存在を証明するコンピュータ実装方法のフローチャートを示す。具体的には、デジタル文書(20)の存在を証明する方法(50)のフローチャートであり、方法(50)の第1の工程(52)において、エビデンスキー要求(22)が受信される。本明細書で注記されるように、エビデンスキー要求は、デジタル文書に対してエビデンスキーを生成するためのユーザーからの要求である(
図1の(20)を参照)。エビデンスキー(32)は後に、エビデンスキージェネレータによって工程(54)で生成される(
図1の(24)を参照)。一旦、エビデンスキー(32)が生成されると、これは任意の追加の関連データ(
図1の(34)を参照)と共に、工程(56)に示されるように第1の記憶装置(36)に記憶される。この実施形態において、第1の記憶装置(
図1の(36)を参照)に基づいて、第2の記憶装置(36’)が工程(58)で作成される。故に、第1の記憶装置(36)及び第2の記憶装置(36’)は、
図1に見られるように連続した配置であり、平行ではない。本明細書中の一実施形態において、第1の記憶装置(36)及び第2の記憶装置(36’)は、異なる独立したサーバに存在する。例えば、誰が最初にファイルを作成したか、又は誰がコピーしたかに関する議論中に、アクセスは、第2の記憶装置(36’)からエビデンスキー(32)及び任意の追加の関連データ(
図1の(34)を参照)を検索するために、ユーザー、所有者、及び/又は任意の関連する第三者に認められ得る。エビデンスキー(32)及び任意の追加の関連データ(
図1の(34)を参照)の検索は、例えば記憶装置(36)(36’)などの上で実行される検索エンジンなどの、従来技術で既知の方法及びアルゴリズムによって実行することができる。
【0056】
図4は、
図3に示されるような実施形態に係るコンピュータ実装方法(50)の工程(54)の詳細なフローチャートを示す。工程(62)において、デジタル文書(20)のタイムスタンプ(26)が得られる。その後、工程(64)において、暗号学的ハッシュ(28)が暗号学的ハッシュ関数に基づいて生成される。特定の実施形態において、暗号学的ハッシュ関数は、SHA2-256、SHA2-512、及びSHA3-256の群から選択される鍵なし暗号学的ハッシュ関数である。工程(66)において、暗号学的ハッシュ(28’)が、暗号学的ハッシュ(28)を生成した(第1の)暗号学的ハッシュ関数とは異なる(第2の)暗号学的ハッシュ関数に基づいて生成される。本発明の一実施形態において、(第2の)暗号学的ハッシュ関数は、SHA2-256、SHA2-512、及びSHA3-256から成る群から選択されたハッシュ関数である。工程(68)において、タイムスタンプ(26)、暗号学的ハッシュ(28)及び暗号学的ハッシュ(28’)を得た後、エビデンスキー(32)が、タイムスタンプ(26)、暗号学的ハッシュ(28)、及び暗号学的ハッシュ(28’)に基づいて生成される。
【0057】
図5は、本発明の他の実施形態が、デジタル文書(20)の存在を証明するためのコンピュータシステム(70)に向けられることを示す。システム(70)は、例えば
図3の方法(50)の工程(54)に従い、デジタル文書(20)のエビデンスキー(32)を生成するように構成されるエビデンスキージェネレータ(24)を含む。システム(70)は更に、一旦エビデンスキージェネレータ(24)によって生成されるとエビデンスキー(
図1の(32)を参照)を受信するように構成される(第1の)受信サーバ(74)及び(第2の)受信サーバ(74’)を含む。各受信サーバ(74)(74’)は、(第1の)記憶サーバ(76)、(第2の)記憶サーバ(76’)、及び(第3の)記憶サーバ(76”)と独立して連結される。各記憶サーバ(76)(76’)(76”)は、自身のデータベースにエビデンスキー(
図1の(32)を参照)を記憶する。各記憶サーバ(76)(76’)(76”)は、集合記憶サーバ(78)と独立して連結される。記憶サーバ(76)(76’)(76”)の各々からデータベース及びサーバの識別を受信した後、集合記憶サーバ(78)は、新たなタイムスタンプ及び記憶サーバ(76)(76’)(76”)から受信した情報に基づいて第2のデータベースを作成するように構成される。
【0058】
本発明の一実施形態において、新たなタイムスタンプは、集合記憶サーバ(78)が特定のエビデンスキー(32)を受信する時間である。一実施形態において、エビデンスキージェネレータ(24)は、エビデンスキー(
図1の(32)を参照)の生成直後にエビデンスキー(
図1の(32)を参照)を受信サーバ(74)及び受信サーバ(74’)に送信するように構成される。別の実施形態において、記憶サーバ(76)(76’)(76”)は、バッチモードで、自身のそれぞれのデータベースを集合記憶サーバ(78)に送信するように構成される。
【0059】
システム(70)は更に、集合記憶サーバ(78)を忠実に写すものである外部記憶サーバ(80)を含む。一実施形態において、外部記憶サーバ(80)は、システム(70)の任意のユーザーに利用可能ではなく、障害回復バックアップとして機能する。また別の実施形態において、検索エンジン(
図5に示されない)は、集合記憶サーバ(78)及び/又は外部記憶サーバ(80)と連結され、これによって、ユーザー又は任意の関連する第三者は、要求後に特定のデジタル文書のエビデンスキー(32)及び任意の追加の関連データ(
図1の(34)を参照)を検索することができる。
【0060】
本発明の一実施形態に従い、データベースは、各エビデンスキーに対して、表1に示されるようなエントリを含む。
【0061】
【0062】
表1において、エビデンスキーは、タイムスタンプ、暗号学的ハッシュ、及び/又は追加の関連データの任意の組み合わせである。
【0063】
本明細書中の一実施形態において、第2のデータベースは、(第1の)データベースの新たなタイムスタンプ及び全てのエントリを含む。また別の実施形態において、システム(70)は更に、デジタルファイルサイズ及びデジタルファイル名を得るように構成されたファイルプロパティエディタを含む。
【0064】
別の実施形態において、システム(70)は更に、認証目的のためにユーザーの少なくとも1つの生体認証因子をキャプチャするように構成された生体認証センサを含む。
【0065】
図6は、記憶サーバ(76)(76’)(76”)などのクロックを同期させるためのコンピュータ実装方法を説明する、本発明の実施形態を示す。記憶サーバ(76)(76’)(76”)の各々は独立して、タイムサーバ(82)、タイムサーバ(82’)、及び独立クロック(84)と連結される。記憶サーバ(76)(76’)(76”)は、エビデンスキージェネレータ(
図1の(24)を参照)からエビデンスキー(
図1の(32)を参照)を受信すると、タイムサーバ(82)、タイムサーバ(82’)、及び独立クロック(84)それぞれからタイムスタンプを要求する。記憶サーバ(76)(76’)(76”)は更に、例えば、追加の関連データ、即ち、特定のエビデンスキー(
図1の(32)を参照)の許容時間として、タイムサーバ(76)、第2のタイムサーバ(76’)、及び独立クロック(78)から受信された最も初期のタイムスタンプとしてデータベースへと割り当てるように構成される。一実施形態において、タイムサーバ(76)及びタイムサーバ(76’)の両方はネットワークタイムプロトコルを採用し、一方で独立クロック(78)はGPSクロックである。
【0066】
図7は、本発明の実施形態に係るアルゴリズム構造(86)を示す。アルゴリズム(86)は、データ保全を確保するために集合記憶サーバ(
図5の(78)を参照)において実施される。記憶サーバ(76)(76’)(76”)などが、工程(88)において集合記憶サーバ(
図5の(78)を参照)にエビデンスキーを送信すると、集合記憶サーバ(
図5の(78)を参照)は、予め決められた時間(条件(90))内に全ての記憶サーバ(76)(76’)(76”)などから対応するエビデンスキーを受信するかどうかを判定する。集合記憶サーバ(
図5の(78)を参照)が、予め決められた時間内に全ての記憶サーバ(76)(76’)(76”)などから対応するエビデンスキーを受信する場合、その後エビデンスキーは、工程(92)において集合記憶サーバ(
図5の(78)を参照)に位置するデータベースに記憶される。
【0067】
他方、集合サーバ(
図5の(78)を参照)が、予め決められた時間内に記憶サーバ(76)(76’)(76”)などの何れか1つから対応するエビデンスキーを受信しない場合、その後工程(94)において、集合記憶サーバ(
図5の(78)を参照)は、対応するエビデンスキーが喪失している又は遅れている特定の記憶サーバから喪失しているエビデンスキーを特異的に要求する。工程(96)において、集合記憶サーバ(
図5の(78)を参照)は、特定の記憶サーバ(76)が連絡可能かどうかを確認するためにチェックする。特定の記憶サーバ(76)(76’)(76”)が連絡可能でない場合、その後工程(98)において、集合記憶サーバ(
図5の(78)を参照)は、システムの管理者(
図5の(70)を参照)に警告を送る。代替的に、集合記憶サーバは、エラーログにおいてこれを示す、又はそうでなければ、不一致を示す場合がある。しかし、記憶サーバ(76)(76’)(76”)が連絡可能な場合、その後で特定の記憶サーバ(76)は、喪失しているエビデンスキー(32)が自身のデータベースに存在するかどうかをチェックし、見つけた場合(条件(100))、特定の記憶サーバ(76)は、集合記憶サーバ(
図5の(78)を参照)に喪失しているエビデンスキー(32)を送信する。集合記憶サーバ(
図5の(78)を参照)は後に工程(92)に移り、集合記憶サーバのデータベースにエビデンスキー(32)を記憶する(工程92)。
【0068】
喪失しているエビデンスキー(32)が特定の記憶サーバ(76)に見つけることができない場合(条件(100))、工程(102)において、喪失しているエビデンスキー(32)に関するログは、例えばエラーログに保存される。
【0069】
図8Aは、チェックサムを生成するための本発明のコンピュータ実装方法の実施形態を示す。工程(801)において、現行のチェックサムは、第1の期間中に受信される、複数の暗号学的ハッシュ、又は1つの暗号学的ハッシュに基づいて生成される。第1の期間は、約数ミリ秒~約1ヶ月の範囲である。第1の期間が短いほど、現行のチェックサムが早く生成され(即ち、チェックサム生成中の時間が短くなる)、コンピューティングリソースに要求される負荷が大きいほど、より多くのチェックサムが生成且つ記憶される。第1の期間が長いほど、現行のチェックサムが遅く生成され(即ち、チェックサム生成中の時間が長くなる)、コンピューティングリソースにされる負荷が少ないほど、少数のチェックサムが生成且つ記憶される。チェックサムは、記憶される複数の暗号学的ハッシュの保全を確保するために使用される。例えば、データベースに記憶される暗号学的ハッシュの1つ以上が変更され又は手を加えられるかどうかを検出するために、暗号学的ハッシュは第2のチェックサムを作成するように使用される。元のチェックサムが第2のチェックサムに一致しない場合、このことは、データベースに記憶される暗号学的ハッシュの少なくとも1つが変更され又は手を加えられたことを示す。
【0070】
当業者は、チェックサムを生成するための無数の方法が存在することを理解している。例えば、チェックサムは、例えば暗号学的ハッシュアルゴリズム、ブロックパリティ機能(block parity function)、CRC(CRC)、及びそれらの組み合わせを使用して生成可能である。ハッシュ不一致の可能性が比較的低くなるようにチェックサムを生成するために、SHA2及び/又はSHA3などの暗号学的ハッシュ関数を使用することが好ましい。
【0071】
一例では、第1の期間は1分である。
【0072】
単なる例示目的のために、例えば、第1の期間中に受信された100の暗号学的ハッシュが存在する場合がある。列は、それらが受信される時系列で100の暗号学的ハッシュを連結させることにより最初に生成される。その後、現行のチェックサムは、例えば列上にSHA2-256ハッシュ関数を適用することにより生成される。一例では、列は16進法のフォーマットである。別の例において、列は、ベース64のフォーマットである。
【0073】
工程(802)において、本明細書で説明されるように、現行のチェックサムは記憶媒体に記憶される。チェックサムは典型的に、不揮発性記憶媒体(即ち、不揮発性コンピュータ可読記憶媒体)に記憶され、好ましくは、一定期間、例えば何年も、又は無期限にわたり維持される。複数の暗号学的ハッシュ及び対応するエビデンスキーが数年後に裁判の証拠として使用されると、チェックサムは、複数の暗号学的ハッシュ及び対応するエビデンスキーが何れも変更されていない又は手を加えられていないことを更に証明するために、数年、又は無期限にわたり記憶されねばならない。
【0074】
工程(803)において、次のチェックサムが、次の期間中に受信された別の複数の暗号学的ハッシュ及び現行のハッシュに基づいて生成される。本明細書中の一実施形態において、次の期間は1分であり、第1の期間の終わりに始まる。
【0075】
単なる例示目的のために、例えば、次の期間中に受信された30の暗号学的ハッシュが存在する場合がある。列は、それらが受信される時系列で3000の暗号学的ハッシュ、及び現行のチェックサムを連結させることにより最初に生成される。次のチェックサムは、例えば列上にSHA2-256ハッシュ関数を適用することにより生成される。
【0076】
工程(804)において、次のチェックサムは、工程(802)で記憶された現行のチェックサムと同様に記憶される。工程(805)において、現行のチェックサムの値は更新され、次のチェックサムの値と置き換えられる。その後、更新された現行のチェックサムは、今後の次の期間に別の次のチェックサムを生成するために使用される。本明細書中の一実施形態において、工程(805)が工程(804)の前に実行され、現行のチェックサムは代わりに工程(804)で記憶される。
【0077】
次のチェックサムが部分的に現行のチェックサムに基づいて生成され、且つ現行のチェックサムも部分的に過去のチェックサムに基づいて生成されると、次のチェックサムも部分的に過去のチェックサムに基づいて生成される。過去のチェックサムの1つ以上が失われる又は記憶されない場合でさえ、本明細書中の一実施形態において、現行のチェックサムは依然として、受信された複数の暗号学的ハッシュを全て用いて再生可能であると考えられる。当業者は、再生されたチェックサム及び記憶された過去のチェックサムを比較することによって、記憶された複数の暗号学的ハッシュの保全が検証可能であることを理解している。
【0078】
本発明の一実施形態において、工程(801)及び(803)にて、時間に基づいて現行のチェックサム及び次のチェックサムを生成する代わりに、生成は、予め決められた数の受信された暗号学的ハッシュに基づく。例えば、チェックサムは、受信された300の暗号学的ハッシュ全てに対して生成される。
【0079】
図8Bは、チェックサムを生成するための本発明のコンピュータ実装方法の実施形態を示す。
図8Bの工程は
図8Aの工程に類似する。工程(801)及び(803)は、工程(811)及び(813)それぞれと置き換えられる。工程(801)と比較して、現行のチェックサムは、
図8Aにおけるような複数の暗号学的ハッシュに基づく代わりに、工程(811)で第1の期間中に生成された複数のエビデンスキーに基づいて生成される。同様に、次のチェックサムは、工程(813)で次の期間中に生成された複数のエビデンスキーに基づいて生成される。エビデンスキーがタイムスタンプ及び複数の暗号学的ハッシュ、又は単一の暗号学的ハッシュに基づくと、チェックサムは更に、エビデンスキーに記憶されるタイムスタンプ、複数の暗号学的ハッシュ、及び/又は追加の関連データが変更されていない及び/又は手を加えられていないことを検証するために使用され得る。
【0080】
図9は、チェックサムを生成するための本発明のコンピュータ実装方法の別の実施形態を示す。複数の現行のチェックサム、例えばC1及びC2は、次のチェックサムNC1及びNC2それぞれを生成するために使用される。工程(901)において、現行のチェックサムC1は、第1の期間中に受信される、複数の暗号学的ハッシュ、又は1つの暗号学的ハッシュに基づいて生成される。工程(902)において、現行のチェックサムC1は記憶媒体に記憶される。工程(903)において、別の現行のチェックサムC2は、第2の期間中に受信される、複数の暗号学的ハッシュ、又は1つの暗号学的ハッシュに基づいて生成される。工程(904)において、現行のチェックサムC2は、工程(902)で記憶された現行のチェックサムと同様に記憶される。
【0081】
現行のチェックサムC2の生成は、第1の期間中に受信される、現行のチェックサムC1、複数の暗号学的ハッシュ、又は1つの暗号学的ハッシュに基づいていない。故に、現行のチェックサムC1が(901)にて算出されている及び工程(902)にて記憶されている間、現行のチェックサムC2は、第1の期間中に受信される、複数の暗号学的ハッシュ又は1つの暗号学的ハッシュなどの現行のチェックサムC1の情報を使用することなく、独立して生成される。現行のチェックサムC1が中央処理装置などのシステムの処理装置において処理されると、暗号学的ハッシュは第2の期間などの間に既に到達している場合がある。
【0082】
本明細書中の一実施形態において、現行のチェックサムC1が生成される時間までに、第2の期間は終了し、第3の時間が既に開始されている場合がある。より多くの時間を費やして現行のチェックサムを算出することを可能にするために、複数の現行のチェックサムが使用される。従って、当業者は、2つの現行のチェックサム、C1及びC2しか使用できないという実際の制限が存在するが、この実施形態は容易な理解のために単に記載されていることを理解している。より多くの現行のチェックサム、例えば約5の現行のチェックサム;又は約7の現行のチェックサム;又は約10の現行のチェックサム;又は約25の現行のチェックサム;又は約50の現行のチェックサム;又は、約100の現行のチェックサムが、現行のチェックサムの算出を可能にする時間を更に延ばすために使用され得る。
【0083】
工程(905)において、次のチェックサムNC1が、次の期間中に受信された別の複数の暗号学的ハッシュ及び現行のチェックサムC1に基づいて生成される。次のチェックサムNC1は、第2の期間中に受信される、現行のチェックサムC2、複数の暗号学的ハッシュ、又は1つの暗号学的ハッシュの情報を使用することなく生成される。それ故、システムのコンピューティング/処理装置には、現行のチェックサムC2を生成するためのより多くの時間がある。
【0084】
工程(906)において、次のチェックサムNC1は、工程(902)で記憶された現行のチェックサムと同様に記憶される。工程(907)において、現行のチェックサムC1の値は更新され、次のチェックサムNC1の値と置き換えられる。
【0085】
工程(908)において、次のチェックサムNC2が、次の期間中に受信された別の複数の暗号学的ハッシュ及び現行のチェックサムC2に基づいて生成される。次のチェックサムNC2は、工程(905)-(906)の期間中に受信される、複数の暗号学的ハッシュ又は1つの暗号学的ハッシュなどの現行のチェックサムNC1からの情報を使用することなく生成される。それ故、システムの処理装置には、現行のチェックサムNC1を生成するためのより多くの時間がある。
【0086】
工程(909)において、別の次のチェックサムNC2は、工程(902)及び(904)で記憶された現行のチェックサムと同様に記憶される。工程(910)において、現行のチェックサムC2の値は更新され、次のチェックサムNC2の値と置き換えられる。
【0087】
より多くの時間が次のチェックサムの生成に要求されると、工程(905)-(910)は、例えば次のチェックサムNC3、NC4、NC5などを備えるように更に延長され得る。
【0088】
本明細書中の一実施形態において、例えば
図8A、8B、及び9に記載される本明細書中の方法、反復チェックサム生成及び置き換えの工程は実質的に、形成されるデータベースの保全を認証するように機能するブロックチェーンの工程を概説する。
【0089】
本明細書中の一実施形態において、現行のチェックサム(802)はニシャル・コイン・オファリング(ICO)であり;又はICOは暗号通貨であり;又は暗号通貨は、Bitcoin、Litecoin、Namecoin、SwiftCoin、bytecoin、peercoin、dogecoin、Emercoin、Feathercoin、Gridcoin、Primecoin、Ripple、Next、Auroracoin、Dash、NEO、MazaCoin、Monero、NEM、PotCoin、Synero AMP、Titcoin、Verge、Stellar、Vercoin、Ethereum、Ethereum Classic、Tether、Decred、Waves platform、Zcash、BitConnect、Bitcoin Cash、EOS IO、Cadano、Petro、Petro Goldなどである。次のチェックサム(804)の生成及び現行のチェックサム(802)の次のチェックサム(804)への置き換えは、実質的にトランザクションとして処理され、データベースに記録される。次にデータベースは、例えば記憶サーバ(例えば、
図5の(76)、(778)、(80)など)に記憶され、又はレジャーがサーバ又はコンピュータシステム上に記憶される。
【0090】
本明細書中の
図9の一実施形態において、第1の期間、第2の期間などは、交互の予め決められた期間であり、及び/又は、相互排他的な交互のスケジュールへと構成される。
【0091】
本明細書中の方法はコンピュータにより実装され得る。更に、本明細書中のシステムはコンピュータシステムでもよい。
【0092】
図10は、本発明のタグ(ブロック)チェーンの実施形態の概略図を示す。
図10において、コンピュータ実装の第1のブロックチェーン(1000)は、第1のリンクC1が生成されると開始され;典型的にチェックサムは暗号学的ハッシュを介して生成される。本明細書中のリンクは、単一のチェックサム、又は複数のチェックサムであり得る。本明細書中のリンクは、例えば、単一トランザクション、複数のトランザクション、為替(transfer)、複数の為替、期間、デバイス(例えば電子デバイス)又は複数のデバイス、及びそれらの組み合わせ;又は、例えば一定期間中に行われる複数のトランザクションであり、及び/又はそれらを表し得る。第2のブロックチェーン(1002)はリンクC2が生成されると開始され;典型的にチェックサムは暗号学的ハッシュを介して生成される。この実施形態において各リンクが単一のチェックサムであると仮定すると、典型的なブロックチェーンとは対照的に、具現化されたタグチェーンにおいて、チェックサムC1は、チェーンに次のリンクを形成するためにチェックサムC2に結合しない。代わりに、チェックサムC1は、チェックサムC3、その後チェックサムC5などに結合する。同様に、チェックサムC2は、チェックサムC4、その後チェックサムC6などに結合する。
図10の実施形態において、第1のブロックがチェックサムC7である第3のブロックチェーン(1004)が、第1のブロックチェーン(1000)及び第2のブロックチェーン(1002)が既に確立された後にタグチェーンシステムに加えられる。本明細書中の一実施形態において、複数のブロックチェーンは、複数のブロックチェーンがタグチェーンシステム内に既に存在した後にタグチェーンシステムに加えられる。
【0093】
図10の概略図において、各チェックサムは、チェーン(1000)、(1002)、(1004)などにおける単一のリンクを示す。故に、C1からC6までの奇数のチェックサムの全てはチェーン(100)を形成し、C1からC6までの偶数のチェックサムは別個の相互に排他的なチェーン(1002)を形成する。従って、この実施形態は「タグチェーン」型のブロックチェーンとして説明される。実質的に、1つのチェーン(又は他の全てのチェーン)は、1つのチェーンが「タグイン」される間に「タグアウト」され、このことは、チェーンがアクティブであり、それ故、チェーンにおける新たなリンクに接続される、或いはそうでなければチェーンにおける新たなリンクを受信するのに適格である。しかし、これらのチェーンは相互排他的であり、故に単一のチェーンのみが所定の点で「タグイン」され得る。これらのチェーン(及び、おそらく同様に他のチェーンも含む)は、アクティブ(即ち、新たなリンクを受信する)とインアクティブ(即ち、新たなリンクの受信を待機する)を繰り返す。
図10において、チェックサムC7は、新たなチェーン(1004)における第1のリンク(及びチェーンの介し)を表わす。
【0094】
本明細書中の一実施形態において、単一のチェーンのみが所定の時間でアクティブである。
【0095】
故に、タグチェーンシステムは、相互排他的である少なくとも第1のチェーン及び第2のチェーンを含んでいる。本明細書中の一実施形態において、チェーンは相互排他的である。しかし、本明細書中の一実施形態において、第1のチェーン及び第2のチェーン(並びに他のあらゆるチェーン)は、同じブロックチェーンシステム内で結び付けられる。本明細書中の一実施形態において、チェックサムは異なるチェーン間を往復し(alternate)、当業者は、本明細書に定義されるように様々なパターンが可能であるが排他的ではないことを理解し得る。そのような実施形態において、チェーンは相互排他的であり、このことは、チェーンが共通リンクを間に含まないことを意味している。
【0096】
本明細書中の一実施形態において、チェックサムは奇数及び偶数のチェックサムに結合されないが、異なるパターンで;又は複数の別個のチェーンにおいて結合され得る。本明細書中の一実施形態において、チェーンは、チェックサム内に具体化され得る順序論理、例えば、1、3、5、7などを使用して分離される。本明細書中の一実施形態において、異なるチェーンへの様々なリンクの分離が、一定期間、チェックサムの数、チェックサムの一部、各チェックサムへの修正、モジュロ方法、1つ以上のデバイス、アドレス、固有識別子、及びそれらの組み合わせ;或いは、予め決められた期間、予め決められた数のチェックサム、チェックサム(又は各チェックサム)の予め定められた部分、各チェックサムの接頭辞修正、各チェックサムの接尾辞修正、モジュロ方法、1つ以上のデバイス、アドレス、固有識別子、及びそれらの組み合わせを介して行われる。
【0097】
例えば、予め決められた期間が1時間の場合、全ての時間はチェーンにおける別個のリンク(例えば
図10のC1)を表わす。1時間の満了後、次のリンク(例えば
図10のC2)が開始され、望まれるように異なる又は同じチェーンに割り当てられ得る。別の例において、(各リンクにおける)チェックサムの数が1000である場合;又はチェックサムの予め決められた数が1000である場合、1000のチェックサム全てに対して、異なるリンクが作成される。典型的に、ファーストイン・ファーストアウト(FIFO)順序でチェーンに配置され/割り当てられるリンク又はチェックサムのプールが存在し得る。また別の例において、各リンク(又はチェックサム)のチェーンの選択は、数によりリンク(又はチェックサム)を割るためのモジュロ方法を使用し(https://en.wikipedia.org/wiki/Modulo_operationを参照)、どのチェーンをリンクに割り当てるかを選ぶためにリマインダを使用する。別の例において、チェックサムの一部、例えば3つの英数字ディジット(接頭辞、接尾辞、又は中間)が、適切なチェーンにチェックサムを割り当てるために使用される。そのような実施形態において、例えば、チェックサムが「12313393990A381F10」であり、リンクが接尾辞によって決定される場合、システムは「F10」を接尾辞と認識し、このリンクを「F10」チェーンに割り当てる。これは、「ランダム」+ラウンドロビン(チェーン)選択に対し共通の技術である。
【0098】
本明細書中の一実施形態において、各チェックサムへの修正が使用され、例えば、3つ以上の英数字ディジット(接頭辞、接尾辞、又は中間)が各リンクに加えられ、適切なチェーンにリンクを割り当てるために使用される。そのような実施形態において、例えば、リンク(又はチェックサム)が「12313393990A381F10」である場合、システムは、英数字ディジット「E35」を、このリンクの始め、中間、又は終わりに加えて、このリンクを「E35」チェーンに割り当てることができる。
【0099】
本明細書中の一実施形態において、チェックサム、リンク、及び/又はチェーンは、異なるデバイスに従い、及び/又は異なるアドレス;又はIPアドレス、機械語アドレス、Eメール識別子、アカウント識別子などを識別することにより分割され得る。本明細書中の一実施形態において、各デバイスは異なるアドレスを所有すると仮定される。
【0100】
本明細書中の一実施形態において、第1のチェーン及び第2のチェーンは同じサーバに記憶される。理論により縛られることを意図されていないが、このことは、タグチェーンシステムの管理をより容易にすることから、システムアーキテクチャの観点から見て望ましい場合があると考えられる。本明細書中の一実施形態において、第1のチェーン及び第2のチェーンは異なるサーバに記憶される。理論により縛られることを意図されていないが、このことは、タグチェーンシステムをより安全することから、システムアーキテクチャの観点から見て望ましい場合があると考えられる。
【0101】
本明細書中の一実施形態において、追加のチェーンは、管理者によって決定されたとき、又はタグチェーンシステムが、チェーンに次のリンクを生成するための現在時刻やエネルギー必要量などが大きすぎる;又は予め決められた値以上であると認識したときに、加えられ得る。代替的に、タグチェーンシステムは、既存のチェーン及び/又は最近のチェーンにおけるリンクの予め決められた数や、予め決められた期間などの予め決められた基準への到達に際して、1つ以上の追加のチェーンを加えることができる。
【0102】
例えば、異なるリンク(及びそれ故、チェーン)は、特定の時間、又はチェックサムのグループ、トランザクションのグループなどにより分離され得る。本明細書中の一実施形態において、チェーンにおける各リンクは、約1~約1,000,000のトランザクション;又は約1~約10,000のトランザクション;又は約1~約1,000のトランザクション;又は約2~約10,000のトランザクション;又は約100~約1,000のトランザクションを含む。本明細書中の一実施形態において、各チェーンに対するリンクは一定の時間間隔で定められ、ここで、その時間間隔内で行われる全てのトランザクション及び/又はチェックサムは、(適切なチェーンに対して)リンクを形成し、及び/又は、(適切なチェーンに対して)単一のリンクに集められ得る。本明細書中の一実施形態において、時間間隔は、コンピュータ実装タグチェーンのシステム及び/又はサーバによって測定されるように、約1ミリ秒~約1ヶ月;又は約1秒~約1週間;又は約1分~約1日である。代替的に、時間間隔は、例えば内部コンピュータクロック、プロセス、又は外部サーバのものによって測定され得る。
【0103】
理論により縛られることを意図されていないが、本明細書中のタグチェーンは、単一の統合されたブロックチェーンに対して有意な利点をもたらすことができると考えられる。例えば、ブロックチェーンが更に長くなると、チェックサムのタイミング(例えば、暗号学的ハッシュを生成するのに要する時間)もやがて増大し、より多くのエネルギーを必要とし、及び/又はより多くの算出時間を必要とすると考えられる。タグチェーン、及びそれ故、単一のブロックチェーンシステム内の複数の実際のチェーンを利用することによって、例えば個々のチェーンの各々の長さが更にゆっくりと増大することから、ブロックチェーンシステムの全体速度は加速され、及び/又は、低エネルギー消費や少ない計算時間などの追加の利益を更に備えることができると考えられる。
【0104】
本明細書中の一実施形態において、タグチェーンシステムにおける異なるチェーンは、共通のサーバに実装及び/又は記憶される。本明細書中の一実施形態において、タグチェーンシステムにおける異なるチェーンの各々は、異なるサーバに実施及び/又は記憶される。本明細書中の一実施形態において、タグチェーンシステムにおける異なるチェーンの各々は、複数のサーバに実施及び/又は記憶される。
【0105】
本明細書中の一実施形態において、集合記憶サーバは、エビデンスキー及び任意の追加の関連データの複製データベースを作成する。
【0106】
また別の実施形態において、エビデンスキーはまた、システムにより生成されるデジタル文書のコンテンツ又は任意の特性から独立した、時間依存型キーを含み得る。
【0107】
例えば、タイムスタンプ、暗号学的ハッシュ、暗号学的ハッシュ関数、エビデンスキージェネレータ、関連データ、記憶装置、受信サーバ、記憶サーバ、集合記憶サーバなどの数は、本明細書中の記載によって制限されないことは、当業者によって理解されている。本発明の実際の実施に基づいて実際の数は調整可能であることが理解される。更に、システムの信頼性及び保全を改善するために異なるシステムの異なるレベルで追加のアルゴリズムが実施可能である。一実施形態において、複製エビデンスキーがデータベースの何れかに検出されると、警告通知が、システム管理者、及びそのようなエビデンスキーの最も初期の作成者に提供される。
【0108】
本発明は特定の実施形態に関して上述されているが、前述の実施形態は単に例示的なものとして提供され、本発明の範囲を制限したり定めたりするものではないことを、理解されたい。前述を含むがこれに限定されない様々な他の実施形態も、請求項の範囲内にある。例えば、本明細書に記載される要素及びコンポーネントは、追加のコンポーネントへと更に分割され、又は同じ機能の実行のためにより少数のコンポーネントを形成するべく共に結合され得る。
【0109】
本明細書に開示される機能の何れかは、そのような機能を実行するための手段を用いて実行され得る。このような手段は、限定されないが、後述のコンピュータ関連コンポーネントなど、本明細書に開示されるコンポーネントの何れかを含む。
【0110】
上述の技術は、例えば、ハードウェア、1つ以上のコンピュータ可読媒体上に有形に記憶される1つ以上のコンピュータプログラム、ファームウェア、又はそれらの任意の組み合わせにおいて、実施され得る。上述の技術は、次のうち任意数の組み合わせを含む、プログラム可能なコンピュータ上で実行される(又はそれによって実施可能な)1つ以上のコンピュータプログラムにおいて実施され得る:プロセッサ、(例えば、揮発性及び不揮発性メモリ及び/又はストレージ要素を含む)プロセッサによって読み取り可能及び/又は書き込み可能な記憶媒体、入力デバイス、及び出力デバイス。プログラムコードは、記載された機能を実行し且つ出力デバイスを使用して出力を生成するために、入力デバイスを使用して記入される入力に適用され得る。
【0111】
本発明の実施形態は、1つ以上のコンピュータ、コンピュータプロセッサ、及び/又はコンピュータシステムの他の要素の使用による実施に対してのみ起こり得る及び/又は実現可能な特徴を含む。そのような特徴は、思考により及び/又は手動で実施することが不可能である又は非実用的である。その結果、そのような特徴は、本来コンピュータ技術に根ざしており、本来コンピュータ技術に関係する問題を解決する。例えば、本発明の実施形態は、手動で実施することが不可能である又は非実用的である、データの量で、及び時間の量内で(暗号学的ハッシュ(28)及び暗号学的ハッシュ(28’)などの)暗号学的ハッシュを生成することができる。例えば、本発明の実施形態は、人が手動で実行できない、1秒未満に1メガバイトのデータで暗号学的ハッシュを生成することができる。別の例として、本発明の実施形態は、本来電気通信設備の使用を必用とし且つ人により手動で実行できない、インターネット及び/又は電気通信ネットワークを介してデータを送達することができる(例えば、送達(40)又は送達(40’)を介する)。
【0112】
断定的にコンピュータ、プロセッサ、メモリ、又は同様のコンピュータ関連要素を必要とする、本明細書中の請求項は、このような要素を必要とするように意図されるものであり、あたかもこのような要素が請求項中に存在しない又は請求項により要求されるように解釈されるべきでない。そのような請求項は、列挙されたコンピュータ関連要素を欠いた方法及び/又はシステムを包含するようには意図されず、そのように解釈されるべきでない。例えば、請求された方法がコンピュータ、プロセッサ、メモリ、及び/又は同様のコンピュータ関連要素により実行されることを述べる、本明細書中の方法の請求項は、列挙されたコンピュータ関連要素によって実行される方法を包含するように意図されており、且つそのように解釈されるべきである。そのような方法の請求項は、例えば、思考により又は(例えば、鉛筆及び紙を使用して)手により実行される方法を包含するように解釈されるべきでない。同様に、請求された製品がコンピュータ、プロセッサ、メモリ、及び/又は同様のコンピュータ関連要素によりされることを述べる、本明細書中の製品の請求項は、列挙されたコンピュータ関連要素を含む製品を包含するように意図されており、且つそのように解釈されるべきである。そのような製品の請求項は、例えば、列挙されたコンピュータ関連要素を含まない製品を包含するように解釈されるべきでない。
【0113】
下記の請求項の範囲内の各コンピュータプログラムは、アセンブリ言語、機械言語、高レベルの手続き上のプログラミング言語、又はオブジェクト指向プログラミング言語などの任意のプログラミング言語で実施され得る。プログラミング言語は、例えば、コンパイルされ又は翻訳されたプログラミング言語でもよい。
【0114】
そのようなコンピュータプログラムは各々、コンピュータプロセッサによる実行のために機械可読記憶デバイスに有形に具体化されたコンピュータプログラム製品において実施され得る。本発明の方法の工程は、入力上で操作し且つ出力を生成することにより本発明の機能を実行するためにコンピュータ可読媒体上で有形に具体化されたプログラムを実行する、1つ以上のコンピュータプロセッサによって実行され得る。適切なプロセッサは、例として、一般的なマイクロプロセッサ及び専用のマイクロプロセッサの両方を含む。通常、プロセッサは、メモリ(リードオンリーメモリ及び/又はランダムアクセスメモリなど)から命令及びデータを受信し(読み取り)、メモリに命令及びデータを書き込む(記憶する)。コンピュータプログラム命令及びデータを有形に具体化するのに適している記憶デバイスは、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む半導体記憶デバイス;内部ハードディスク及びリムーバブルディスクなどの磁気ディスク;光磁気ディスク;及びCD-ROMなどの、不揮発性メモリの全ての形態を含む。前述の何れかは、特別に設計されたASIC(特定用途向け集積回路)又はFPGA(フィールドプログラマブルゲートアレイ)により補足され、或いはその中に組み込まれ得る。コンピュータはまた、通常、内部ディスク(図示せず)又はリムーバブルディスクなどの非一時的コンピュータ可読記憶媒体からプログラム及びデータを受信し(読み取り)、且つそれらにプログラム及びデータを書き込む(記憶する)。これらの要素はまた、従来のデスクトップ又はワークステーションコンピュータの他、本明細書に記載される方法を実施するコンピュータプログラムを実行するのに適した他のコンピュータにおいても見出され、これらは、任意のデジタルプリントエンジン又はマーキングエンジン、ディスプレイモニター、又は、紙、フィルム、ディスプレイスクリーン、或いは他の媒体上に色付き又はグレースケールのピクセルを作り出すことが可能な他のラスター出力デバイスと組み合わせて使用され得る。
【0115】
本明細書に開示されるデータは、例えば、非一時的コンピュータ可読媒体上で有形に記憶された1つ以上のデータ構造において実施され得る。本発明の実施形態は、そのようなデータ構造においてデータを記憶し、前記データ構造から前記データを読み取ることができる。
【0116】
本発明の非限定的な実施形態は、以下を含む:
1.デジタル文書の存在を証明するためのコンピュータ実装方法であって、該方法は、
A.デジタル文書のタイムスタンプを得る工程;
B.デジタル文書の複数の暗号学的ハッシュを得る工程;
C.タイムスタンプ及び複数の暗号学的ハッシュに基づいてエビデンスキーを生成する工程;及び
D.記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程
を含む方法。
2.E.検索したエビデンスキーを提供するためにエビデンスキーを検索する工程
を更に含む、ことを特徴とする実施形態1に記載の方法。
3.F.記憶したエビデンスキーを検索したエビデンスキーと比較する工程
を更に含む、ことを特徴とする実施形態2に記載の方法。
4.エビデンスキーの検索は識別子を提供することにより可能とされ;又は、識別子は、暗号学的ハッシュ、追加の関連データ、及びそれらの組み合わせから成る群から選択される、ことを特徴とする実施形態2に記載の方法。
5.タイムスタンプは複数のタイムスタンプである、ことを特徴とする実施形態1乃至4の何れか1つに記載の方法。
6.複数の暗号学的ハッシュは約2~約100の暗号学的ハッシュ;又は約2~約25の暗号学的ハッシュ;又は約3~約10の暗号学的ハッシュ;又は約4~約8の暗号学的ハッシュである、ことを特徴とする実施形態1乃至5の何れか1つに記載の方法。
7.複数の暗号学的ハッシュの各々は、異なる暗号学的ハッシュ関数によって生成される、ことを特徴とする実施形態1乃至6の何れか1つに記載の方法。
8.暗号学的ハッシュの少なくとも1つは、鍵なし暗号学的ハッシュ関数;又は、BLAKE-256、BLAKE-512、BLAKE2b、BLAKE2s、ECOH、GOST、Grostl、HAS-160、HAVAL、JH、MD2、MD4、MD5、MD6、RadioGatun、RIPEMD、RIPEMD-128、RIPEMD-160、RIPEMD-320、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、Skein、Snefru、Spectral Hash、Streebog SWIFFT、Tiger、Whirlpool、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数;又は、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数;又は、SHA2-256、SHA2-512、SHA3-256、SHA-3、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数により生成される、ことを特徴とする実施形態1乃至7の何れか1つに記載の方法。
9.タイムスタンプは複数のタイムスタンプ;又は約2~約10のタイムスタンプ;
又は約2~約8のタイムスタンプ;又は約3~約6のタイムスタンプを含む、ことを特徴とする実施形態1乃至8の何れか1つに記載の方法。
10.エビデンスキーの記憶は、サーバ、記憶ドライブ、紙、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、及びそれらの組み合わせ;又はディスクドライブ、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フロッピーディスク、光磁気ディスク、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フラッシュメモリ、及びそれらの組み合わせの群から選択される記憶媒体上で行われる、ことを特徴とする実施形態1乃至9の何れか1つに記載の方法。
11.デジタル文書の存在を証明するためのコンピュータ実装方法であって、該方法は、
A.デジタル文書の複数のタイムスタンプを得る工程;
B.デジタル文書の暗号学的ハッシュを得る工程;
C.複数のタイムスタンプ及び暗号学的ハッシュに基づいてエビデンスキーを生成する工程;及び
D.記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程
を含むことを特徴とする方法。
12.E.検索したエビデンスキーを提供するためにエビデンスキーを検索する工程
を更に含む、ことを特徴とする実施形態11に記載の方法。
13.F.記憶したエビデンスキーを検索したエビデンスキーと比較する工程
を更に含む、ことを特徴とする実施形態12に記載の方法。
14.エビデンスキーの検索は識別子を提供することにより可能とされ;又は、識別子は、暗号学的ハッシュ、追加の関連データ、及びそれらの組み合わせから成る群から選択される、ことを特徴とする実施形態12に記載の方法。
15.複数のタイムスタンプは約2~約10のタイムスタンプ;又は約2~約8のタイムスタンプ;又は約3~約6のタイムスタンプを含む、ことを特徴とする実施形態11乃至14の何れか1つに記載の方法。
16.複数のタイムスタンプの各々は、タイムサーバ、独立クロック、及びそれらの組み合わせ;又はタイムサーバ、独立クロック、及びそれらの組み合わせ;又は全地球測位システム(GPS)クロックから成る群から選択される異なるタイムソースによって生成される、ことを特徴とする実施形態11乃至15の何れか1つに記載の方法。
17.暗号学的ハッシュは複数の暗号学的ハッシュであり;又は暗号学的ハッシュは、約2~約100の暗号学的ハッシュ;又は約2~約25の暗号学的ハッシュ;又は約3~約10の暗号学的ハッシュ;又は約4~約8の暗号学的ハッシュである、ことを特徴とする実施形態11乃至16の何れか1つに記載の方法。
18.複数の暗号学的ハッシュの各々は、異なる暗号学的ハッシュ関数によって生成される、ことを特徴とする実施形態17に記載の方法。
19.暗号学的ハッシュは、鍵なし暗号学的ハッシュ関数;又は、BLAKE-256、BLAKE-512、BLAKE2b、BLAKE2s、ECOH、GOST、Grostl、HAS-160、HAVAL、JH、MD2、MD4、MD5、MD6、RadioGatun、RIPEMD、RIPEMD-128、RIPEMD-160、RIPEMD-320、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、Skein、Snefru、Spectral Hash、Streebog SWIFFT、Tiger、Whirlpool、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数;又は、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数;又は、SHA2-256、SHA2-512、SHA3-256、SHA-3、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数により生成される、ことを特徴とする実施形態11乃至18の何れか1つに記載の方法。
20.エビデンスキーの記憶は、サーバ、記憶ドライブ、紙、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、及びそれらの組み合わせ;又はディスクドライブ、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フロッピーディスク、光磁気ディスク、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フラッシュメモリ、及びそれらの組み合わせの群から選択される記憶媒体上で行われる、ことを特徴とする実施形態11乃至19の何れか1つに記載の方法。
21.デジタル文書の存在を証明するためのコンピュータ実装方法であって、該方法は、
A.デジタル文書のタイムスタンプを得る工程;
B.デジタル文書の暗号学的ハッシュを得る工程;
C.タイムスタンプ及び暗号学的ハッシュに基づいてエビデンスキーを生成する工程;及び
D.記憶したエビデンスキーを提供するためにエビデンスキーを記憶する工程であって、エビデンスキーの記憶は複数の記憶媒体上で行われる、工程
を含むことを特徴とする方法。
22.E.検索したエビデンスキーを提供するためにエビデンスキーを検索する工程を更に含む、ことを特徴とする実施形態21に記載の方法。
23.F.記憶したエビデンスキーを検索したエビデンスキーと比較する工程を更に含む、ことを特徴とする実施形態22に記載の方法。
24.エビデンスキーの検索は識別子を提供することにより可能とされ;又は、識別子は、暗号学的ハッシュ、追加の関連データ、及びそれらの組み合わせから成る群から選択される、ことを特徴とする実施形態22に記載の方法。
25.複数の記憶媒体の各々は、サーバ、記憶ドライブ、紙、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、使い捨て記憶媒体、及びそれらの組み合わせ;又はサーバ、記憶ドライブ、CD-ROM、DVD、及びそれらの組み合わせ;又はディスクドライブ、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フロッピーディスク、光磁気ディスク、フラッシュメモリ、磁気テープ、及びそれらの組み合わせ;又はハードディスク、フラッシュメモリ、及びそれらの組み合わせの群から選択される、ことを特徴とする実施形態21乃至24の何れか1つに記載の方法。
26.複数の記憶媒体は、複数の物理位置;又は複数の異なる物理位置;又は約2~約20の異なる物理位置;又は約2~約15の異なる物理位置;又は約3~約10の異なる物理位置に位置づけられる、ことを特徴とする実施形態21乃至25の何れか1つに記載の方法。
27.タイムスタンプは複数のタイムスタンプ;又は約2~約10のタイムスタンプ;又は約2~約8のタイムスタンプ;又は約3~約6のタイムスタンプを含む、ことを特徴とする実施形態21乃至26の何れか1つに記載の方法。
28.暗号学的ハッシュは複数の暗号学的ハッシュであり;又は暗号学的ハッシュは、約2~約100の暗号学的ハッシュ;又は約2~約25の暗号学的ハッシュ;又は約3~約10の暗号学的ハッシュ;又は約4~約8の暗号学的ハッシュである、ことを特徴とする実施形態21乃至27の何れか1つに記載の方法。
29.暗号学的ハッシュは、鍵なし暗号学的ハッシュ関数;又は、BLAKE-256、BLAKE-512、BLAKE2b、BLAKE2s、ECOH、GOST、Grostl、HAS-160、HAVAL、JH、MD2、MD4、MD5、MD6、RadioGatun、RIPEMD、RIPEMD-128、RIPEMD-160、RIPEMD-320、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、Skein、Snefru、Spectral Hash、Streebog SWIFFT、Tiger、Whirlpool、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数;又は、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA-3、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数;又は、SHA2-256、SHA2-512、SHA3-256、SHA-3、及びそれらの組み合わせから成る群から選択される鍵なし暗号学的ハッシュ関数により生成される、ことを特徴とする実施形態21乃至28の何れか1つに記載の方法。
30.複数のデジタル文書の存在を証明するためのコンピュータ実装方法であって、該方法は、
A.第1の期間中に複数の暗号学的ハッシュを受信する工程;
B.第1の期間中に受信された複数の暗号学的ハッシュに基づいて現行のチェックサムを生成する工程;
C.記憶媒体に現行のチェックサムを記憶する工程;
D.第2の期間中に複数の暗号学的ハッシュを受信する工程;
E.第2の期間中に受信された複数の暗号学的ハッシュに基づいて次のチェックサムを生成する工程;
F.記憶媒体に次のチェックサムを記憶する工程;及び
G.記憶媒体中のチェックサムを次のチェックサムと置き換える工程
を含むことを特徴とする方法。
31.工程D~Gを繰り返す工程を更に含む、ことを特徴とする実施形態30に記載の方法。
32.複数のデジタル文書の存在を証明するためのコンピュータ実装方法であって、該方法は、
A.第1の期間中に複数のエビデンスキーを受信する工程;
B.第1の期間中に受信された複数のエビデンスキーに基づいて現行のチェックサムを生成する工程;
C.記憶媒体に現行のチェックサムを記憶する工程;
D.第2の期間中に複数のエビデンスキーを受信する工程;
E.第2の期間中に受信された複数のエビデンスキーに基づいて次のチェックサムを生成する工程;
F.記憶媒体に次のチェックサムを記憶する工程;及び
G.記憶媒体中のチェックサムを次のチェックサムと置き換える工程
を含むことを特徴とする方法。
33.工程D~Gを繰り返す工程を更に含む、ことを特徴とする実施形態32に記載の方法。
34.複数のデジタル文書の存在を証明するためのコンピュータ実装方法であって、該方法は、
A.第1の期間中に複数の暗号学的ハッシュを受信する工程;
B.第1の期間中に受信された複数の暗号学的ハッシュに基づいて現行のチェックサムを生成する工程;
C.記憶媒体に現行のチェックサムを記憶する工程;
D.第2の期間中に複数の暗号学的ハッシュを受信する工程;
E.第2の期間中に受信された複数の暗号学的ハッシュに基づいて現行のチェックサムを生成する工程;
F.記憶媒体に現行のチェックサムを記憶する工程;
G.次の期間中に複数の暗号学的ハッシュを受信する工程;
H.次の期間中に受信された複数の暗号学的ハッシュ及び工程Bの現行のチェックサムに基づいて次のチェックサムを生成する工程;
I.記憶媒体に次のチェックサムを記憶する工程;
J.工程Cで記憶された現行のチェックサムを工程Iで記憶された次のチェックサムと置き換える工程;
K.次の期間中に複数の暗号学的ハッシュを受信する工程;
L.次の期間中に受信された複数の暗号学的ハッシュ及び工程Eの現行のチェックサムに基づいて次のチェックサムを生成する工程;
M.記憶媒体に次のチェックサムを記憶する工程;及び
N.工程Fで記憶された現行のチェックサムを工程Mで記憶された次のチェックサムと置き換える工程
を含むことを特徴とする方法。
35.工程G~Nを繰り返す工程を更に含む、ことを特徴とする実施形態34に記載の方法。
36.実施形態1乃至35の何れか1つに記載の方法を含む、デジタル文書の存在を証明するためのコンピュータシステム。
37.コンピュータ実装タグチェーンシステムであって、
A.第1のチェーン;及び
B.第2のチェーンを含み、ここで、第1のチェーン及び第2のチェーンは相互排他的である
ことを特徴とするコンピュータ実装タグチェーンシステム。
38.第1のチェーン及び第2のチェーンは同じサーバに記憶される、ことを特徴とする実施形態15に記載のタグチェーンシステム。
39.第1のチェーン及び第2のチェーンは異なるサーバに記憶される、ことを特徴とする実施形態16に記載のタグチェーンシステム。
【0117】
明確性のために別個の実施形態の観点から記載される本発明の特定の特徴は、単一の実施形態における組み合わせでも提供され得ることを、理解されたい。反対に、簡潔さのために単一の実施形態の観点から記載される本発明の様々な特徴は、別々に、或いは任意の適切な部分的組み合わせでも提供され得る。