(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】実際のイベントのデジタル表現をイベント発生の実時間と結び付ける方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20240909BHJP
【FI】
H04L9/32 200Z
(21)【出願番号】P 2022516586
(86)(22)【出願日】2020-05-23
(86)【国際出願番号】 PL2020050041
(87)【国際公開番号】W WO2020236020
(87)【国際公開日】2020-11-26
【審査請求日】2023-05-02
(32)【優先日】2019-05-23
(33)【優先権主張国・地域又は機関】PL
(73)【特許権者】
【識別番号】521513775
【氏名又は名称】ホースト,ニコデム
(74)【代理人】
【識別番号】100114775
【氏名又は名称】高岡 亮一
(74)【代理人】
【識別番号】100121511
【氏名又は名称】小田 直
(74)【代理人】
【識別番号】100202751
【氏名又は名称】岩堀 明代
(74)【代理人】
【識別番号】100208580
【氏名又は名称】三好 玲奈
(74)【代理人】
【識別番号】100191086
【氏名又は名称】高橋 香元
(72)【発明者】
【氏名】ホースト,ニコデム
【審査官】平井 誠
(56)【参考文献】
【文献】特開2006-343790(JP,A)
【文献】特開2007-006122(JP,A)
【文献】特開2017-182433(JP,A)
【文献】特開2013-077188(JP,A)
【文献】特開2017-098806(JP,A)
【文献】米国特許出願公開第2019/0130190(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00-40
(57)【特許請求の範囲】
【請求項1】
実際のイベントの発生の実時間と結び付けられた前記実際のイベントのデジタル表現を生成する方法であって、
前記方法は、
・デジタル記録されている実際のソースイベントSEのソースイベントデータS-EDを取得することと、
・取得されたソースイベントデータS-EDの表現であるソースデータS-Dを登録およびリアルタイムのタイムスタンプ処理のために不変のデータベース(203)へ送信することと、
・少なくとも前記ソースデータS-D、前記ソースデータS-Dの実時間タイムスタンプ、および前記不変のデータベース(203)の状態を記述するデータを入力として有するハッシュ関数を用いて計算されるハッシュコードHCの表現をリアルタイムで受信することと、
・確認イベントCEを作成するために、前記ハッシュコードHCの前記表現を前記ソースイベントSEの領域内に組み込むことを可能にするために、前記ハッシュコードHCの前記表現を感覚的知覚のために物理的に提示することと、
・前記確認イベントCEの確認イベントデータC-EDを取得することと、
・取得された確認イベントデータC-EDの表現である確認データC-Dを登録およびタイムスタンプ処理のために前記不変のデータベース(203)へ送信することと
、
を備える
、方法。
【請求項2】
前記ソースデータS-Dは前記ソースイベントデータS-EDと等しく、前記確認データC-Dは前記確認イベントデータC-EDと等しい、請求項1に記載の方法。
【請求項3】
前記ソースデータS-Dは前記ソースイベントデータS-EDと等しくなく、および/または前記確認データC-Dは前記確認イベントデータC-EDと等しくなく、前記ソースデータS-Dおよび/または前記確認データC-Dに対応する前記ソースイベントデータS-EDおよび/または前記確認イベントデータC-EDは、前記不変のデータベース(203)外に格納するために送信される、請求項1に記載の方法。
【請求項4】
前記ソースデータS-Dおよび/または前記確認データC-Dの生成プロセスに関する情報は、前記不変のデータベース(203)に格納するために送信される、請求項3に記載の方法。
【請求項5】
前記ソースデータS-Dおよび/または前記確認データC-Dの生成プロセスに関する情報は、前記不変のデータベース(203)外に格納するために送信される、請求項3に記載の方法。
【請求項6】
前記不変のデータベース(203)から、好適には前記ソースデータS-Dおよび/または前記確認データC-Dの対応するタイムスタンプおよび前記ハッシュコードHCと共に、前記ソースデータS-Dおよび/または前記確認データC-Dの格納の確認を受信することを更に備える、請求項1~5
のいずれか一項に記載の方法。
【請求項7】
コンピュータによって実行されると、前記コンピュータに、請求項1~6
のいずれか一項に記載の方法を行わせる命令を備える、コンピュータプログラ
ム。
【請求項8】
実際のイベントの発生の実時間と結び付けられた前記実際のイベントのデジタル表現を生成するためのシステムであって、
前記システムは、
・デジタル記録されている実際のソースイベントSEのソースイベントデータS-EDを取得するように構成されたデジタル登録手段(105)と、
・取得されたソースイベントデータS-EDの表現であるソースデータS-Dを登録およびリアルタイムのタイムスタンプ処理のために不変のデータベースへ送信するように構成され、少なくとも前記ソースデータS-D、前記ソースデータS-Dの実時間タイムスタンプ、および前記不変のデータベースの状態を記述するデータを入力として有するハッシュ関数を用いて計算されるハッシュコードHCの表現をリアルタイムで受信するように構成された通信手段(107)と、
・確認イベントCEを作成するために、前記ハッシュコードHCの前記表現を前記ソースイベントSEの領域内に組み込むことを可能にするために、前記ハッシュコードHCの前記表現を感覚的知覚のために物理的に提示するための提示手段(108)と
、
・前記確認イベントCEの確認イベントデータC-EDを取得するように更に構成されたデジタル登録手段(105)と、
・取得された確認イベントデータC-EDの表現である確認データC-Dを登録およびタイムスタンプ処理のために前記不変のデータベースへ送信するように更に構成された通信手段(107)と
、
を備える
、システム。
【請求項9】
前記システムとのインタラクションを可能にするインタフェース手段(106)を更に備える、請求項8に記載のシステム。
【請求項10】
実際のイベントの発生の実時間と結び付けられた前記実際のイベントのデジタル表現の時刻証明を提供する方法であって、
前記方法は、
・デジタル記録されている実際のソースイベントSEのソースイベントデータS-EDの表現であるソースデータS-Dを受信することと、
・前記ソースデータS-Dを不変のデータベース(203)に格納することと、
・信任された時間ソース(300)から取得された実時間タイムスタンプで、前記ソースデータS-Dにリアルタイムでタイムスタンプ処理することと、
・前記ソースデータS-Dの前記実時間タイムスタンプを前記不変のデータベース(203)に格納することと、
・前記ソースデータS-Dの前記実時間タイムスタンプによって示される特定の時間における前記不変のデータベース(203)の状態を決定することと、
・少なくとも前記ソースデータS-D、前記ソースデータS-Dの実時間タイムスタンプ、および前記不変のデータベース(203)の前記状態を記述するデータを入力として有するハッシュ関数を用いてハッシュコードHCを計算することと、
・前記ハッシュコードHCの表現を前記実際のソースイベントSEの領域内に組み込むためにリアルタイムで送信することと、
・領域内に追加で物理的に組み込まれた前記ハッシュコードHCの表現を備える前記ソースイベントSEである確認イベントCEの確認イベントデータ
C-EDの表現である確認データC-Dを受信することと、
・前記確認データC-Dを前記不変のデータベース(203)に格納することと、
・信任された時間ソース(300)から取得された実時間タイムスタンプで、前記確認データC-Dにリアルタイムでタイムスタンプ処理することと、
・前記確認データC-Dの前記実時間タイムスタンプを前記不変のデータベース(203)に格納することと
、
を備える
、方法。
【請求項11】
前記不変のデータベース(203)に前記ハッシュコードHCを格納することを更に備える、請求項10に記載の方法。
【請求項12】
前記不変のデータベース(203)に前記ハッシュコードHCの前記表現を格納することを更に備える、請求項10または11に記載の方法。
【請求項13】
前記確認データC-D、前記確認データC-Dの前記実時間タイムスタンプ、および前記ハッシュコードHCを入力として有するハッシュ関数を用いて計算された確認ハッシュコードCHCを計算し、前記不変のデータベース(203)に格納することを更に備える、請求項10または11または12に記載の方法。
【請求項14】
前記ソースデータS-Dは前記ソースイベントデータS-EDと等しく、前記確認データC-Dは前記確認イベントデータC-EDと等しい、請求項10~13
のいずれか一項に記載の方法。
【請求項15】
前記ソースデータS-Dは前記ソースイベントデータS-EDと等しくなく、および/または前記確認データC-Dは前記確認イベントデータC-EDと等しくなく、前記ソースデータS-Dおよび/または前記確認データC-Dに対応する前記ソースイベントデータS-EDおよび/または前記確認イベントデータC-EDは、前記不変のデータベース(203)外に格納するために受信される、請求項10~13
のいずれか一項に記載の方法。
【請求項16】
前記ソースデータS-Dは前記ソースイベントデータS-EDと等しくなく、および/または前記確認データC-Dは前記確認イベントデータC-EDと等しくなく、前記ソースデータS-Dおよび/または前記確認データC-Dに対応する前記ソースイベントデータS-EDおよび/または前記確認イベントデータC-EDは、前記不変のデータベース(203)に格納するために受信される、請求項10~13
のいずれか一項に記載の方法。
【請求項17】
前記ソースデータS-Dおよび/または前記確認データC-Dの生成プロセスに関する情報は、前記不変のデータベース(203)に格納するために受信される、請求項15または16に記載の方法。
【請求項18】
前記ソースデータS-Dおよび/または前記確認データC-Dの生成プロセスに関する情報は、前記不変のデータベース(203)外に格納するために受信される、請求項15または16に記載の方法。
【請求項19】
好適には前記ソースデータS-Dおよび/または前記確認データC-Dの対応する実時間タイムスタンプおよび前記ハッシュコードHCと共に、前記ソースデータS-Dおよび/または前記確認データC-Dの格納の確認を送信することを更に備える、請求項10~18
のいずれか一項に記載の方法。
【請求項20】
前記不変のデータベース(203)はブロックチェーンである、請求項10~19
のいずれか一項に記載の方法。
【請求項21】
コンピュータによって実行されると、前記コンピュータに、請求項10~20
のいずれか一項に記載の方法を行わせる命令を備える、コンピュータプログラ
ム。
【請求項22】
実際のイベントの発生の実時間と結び付けられた前記実際のイベントのデジタル表現の時刻証明を提供するためのシステムであって、
前記システムは、
・不変のデータベース(203)を備える少なくとも1つのメモリ(202)と、
・少なくとも1つのプロセッサ(201)と、
・通信手段(204)と
、
を備え、
前記通信手段(204)は、デジタル記録されている実際のソースイベントSEのソースイベントデータS-EDの表現であるソースデータS-Dを受信および格納するように構成され、
前記不変のデータベース(203)は、信任された時間ソース(300)から取得された実時間タイムスタンプで、前記ソースデータS-Dにリアルタイムのタイムスタンプ処理を行うように構成され、
前記不変のデータベース(203)は更に、前記ソースデータS-Dを格納し、前記ソースデータS-Dの前記実時間タイムスタンプを格納するように構成され、
前記少なくとも1つのプロセッサ(201)は、前記ソースデータS-Dにタイムスタンプ処理した時に取得された前記実時間タイムスタンプによって示される特定の時間における前記不変のデータベース(203)の状態を記述するデータを決定するように構成され、少なくとも、前記不変のデータベース(203)の前記状態を記述する前記データ、前記ソースデータ(S-D)、および前記ソースデータ(S-D)の前記実時間タイムスタンプを入力として有するハッシュ関数を用いてハッシュコードHCを計算するように構成され、
前記通信手段(204)は更に、前記ハッシュコードHCの表現を送信し、領域内に追加で物理的に組み込まれた前記ハッシュコードHCの表現を備える前記ソースイベントSEである確認イベントCEの確認イベントデータC-EDを受信するように構成され、
前記不変のデータベース(203)は更に、前記確認イベントデータC-EDの表現であ
る確認データC-Dを格納し、信任された時間ソース(300)から取得された実時間タイムスタンプで、前記確認データC-Dにリアルタイムのタイムスタンプ処理を行うように構成される、システム。
【請求項23】
前記少なくとも1つのプロセッサ(201)は更に、少なくとも前記確認データC-D、前記確認データC-Dの前記実時間タイムスタンプ、および前記ハッシュコードHCを入力として有するハッシュ関数を用いて確認ハッシュコードCHCを計算するように構成され、前記通信手段(204)は更に、前記確認ハッシュコードCHCを送信するように構成される、請求項
22に記載のシステム。
【請求項24】
前記不変のデータベース(203)は、前記確認ハッシュコードCHCを格納するように構成される、請求項
23に記載のシステム。
【請求項25】
発生の実時間と結び付けられたデジタル表現の検証のためのデータを提供する方法であって、
前記方法は、
・前記発生の実時間と結び付けられている対象となる実際のイベントに関し、請求項1~6のいずれか
一項に記載の方法によって生成された検証データVDに関する問合せを受信することと、
・前記対象となる実際のイベントに関する前記検証データVDが、問合せされている不変のデータベース(203)に存在するかをチェックすることと、
・前記対象となる実際のイベントに関する
問合せされた検証データVDを送信することと
、
を備える、方法。
【請求項26】
少なくとも、前記対象となるイベントの発生時間を確かに証明するハッシュコードHCを再計算することによって、前記対象となる実際のイベントに関する前記検証データVDの一貫性をチェックすることを更に備える、請求項25に記載の方法。
【請求項27】
発生の実時間と結び付けられたデジタル表現の検証方法であって、
前記方法は、
・不変のデータベース(203)から、請求項1~6
のいずれか一項に記載の方法によって生成された、少なくともハッシュコードHCの表現、ソースデータS-D、および確認データC-Dである、対象となる実際のイベントに関する検証データVDを取り出すことと、
・AIまたは同様のアルゴリズムを用いて、確認イベントデータC-EDとして登録された実際のイベントのコンテキスト内で前記ハッシュコードHCの前記表現を見つけることと、
・AIまたは同様のアルゴリズムを用いて、前記ソースデータS-Dによって表される登録されたソースイベントSEと、前記確認データC-Dによって表される確認イベントCEとを比較することと
、
を備える
、方法。
【請求項28】
コンピュータによって実行されると、前記コンピュータに、請求項27に記載の方法を行わせる命令を備える、コンピュータプログラ
ム。
【請求項29】
実際のイベントのデジタル表現を前記実際のイベントの発生の実時間と結び付ける方法であって、
前記方法は、リアルタイムで行われる、
・実際のソースイベントSEのソースイベントデータS-EDを取得し、前記ソース
イベントデータ
S-EDの表現を格納およびリアルタイムのタイムスタンプ処理のために不変のデータベース(203)へ送信するステップと、
・少なくとも、前記不変のデータベース(203)の状態を記述するデータ、前記
ソースイベントデータS-EDの表現であるソースデータS-D、および前記ソースデータS-D
の実時間タイムスタンプを入力として有するハッシュ関数を用いてハッシュコードHCを計算するステップと、
・前記ハッシュコードHCをハッシュコードHCの表現に変換し、前記変換を行うために用いられた方法を格納するステップと、
・前記ハッシュコードHCの表現を物理的に提示するソースイベントSEである確認イベントCEを作成するために、前記ハッシュコードHCの表現を前記ソースイベントSEの領域内に組み込むためにリアルタイムで提示するステップと、
・前記確認イベントCEの確認イベントデータC-EDを取得し、前記確認
イベントデータC-
EDの表現
である確認データC-Dを
、格納し即時的にタイムスタンプ処理するために前記不変のデータベース(203)へ送信するステップと
、
を備える
、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、実際のイベントの(たとえばデジタル写真またはビデオなどの)デジタル表現をイベント発生の実時間と結び付ける方法を提供する。この方法は、人間の信任を介さず、疑いようがない。特に、本発明は、実際のイベントの発生の実時間に結び付けられた上記実際のイベントのデジタル表現を生成する方法、および上記方法に関連するデバイスおよびコンピュータプログラム製品に関する。また、本発明は、実際のイベントの発生の実時間に結び付けられた上記実際のイベントのデジタル表現の時刻証明を確認する方法、および上記方法に関連するデバイスおよびコンピュータプログラム製品に関する。
【0002】
本発明は、リアルタイムスタンプを有するまたは有さない任意の実際のイベントの信頼できる証明が必要である任意の状況において用途が見出される。たとえば本発明は、訴訟手続きで用いられる実際のイベントの発生の証拠を生成するため、またはたとえばソーシャルメディアで共有された写真に示される何らかのイベントが特定の時間に実際に起こったかを検証するために用いられ得る。
【0003】
他の例は、人が特定の時間に特定の場所にいることの確認、タスク遂行の確認、たとえば保険および賃借を目的とした特定の時間におけるたとえば車、ヨット、建物などの任意の物体の実状の確認を含むが、この限りではない。
【背景技術】
【0004】
当技術分野において、実際のイベントは、このイベントのデジタル表現を記録することが可能なデジタルデバイスによって捕捉され得ることが知られている。実際のイベントAEという用語は、本明細書において、(たとえばコンピュータ操作などの完全に観念的または仮想のイベントに対立するものとして)人間の感覚または人工知能が知覚できる、現実に存在する、または事実としての任意のイベントまたは任意の状況を意味する。実際のイベントのデジタル表現は、以下、イベントデータと称される。イベントデータは、(たとえば写真などの)単一モードまたは(たとえばビデオまたは音声記録として)連続モードで取得され得る。イベントデータは一般に、そこに示される実際のイベントの発生を確認するために用いられるが、イベントデータのコンテンツおよびその捕捉時間の両方に疑いが生じ得る。その結果、イベントデータは、実際のイベントの発生の信頼できる証拠を提供するため、またはその発生の実時間を示すためには不十分である。実際のイベントの時間信頼性の高い確認のため、ならびにイベントが発生したかを決定するために、多くの場合、書面確認、口頭確認、またはその両方の形態である、第三者(たとえば証人や何らかの機関)によって提供される信任が必要である。
【0005】
理論的に、特定の時間に何らかのイベントが起こったという確かな証拠を得るためには、1)信頼できるイベントデータ、2)信頼できるタイムスタンプ、および3)それらを互いに結び付ける何らかのリンクという、少なくとも3つのものが必要である。この問題はほとんど認知されていないが、これらの要件がまさしく訴訟手続きにおいて証拠として用いられる全てのイベントデータに当てはまるということに注目すべきである。
信頼できるイベントデータ
【0006】
イベントデータの取得は一般に、たとえばスマートフォンのカメラなどのデジタルデバイスにより、比較的簡単である。しかし、イベントデータは修正することができ、作成すら可能である。その結果、イベントデータが改ざんされていないという確実性がない。
信頼できるタイムスタンプ
【0007】
信頼できるタイムスタンプは、銀行取引および(たとえばデータ同期化などの)ネットワークサーバ関連事項を含む全てのネットワーク動作に関して信頼できるタイムスタンプ処理が必要であるため、多くのソースから容易に取得できる。しかし、イベントデータは、たとえばイベントデータを捕捉するために用いられたデバイスの内部クロックなどの極めて信頼性のないソースから得たタイムスタンプを有し得る。
信頼できるイベントデータと信頼できるタイムスタンプとの間のリンク
【0008】
タイムスタンプとイベントデータとの間にリンクを確立することは、特定の時間に実際のイベントが起こったことを確認するために非常に重要である。
【0009】
一般に、このリンクは、タイムスタンプ処理によって確保される必要がある。全てのタイムスタンプ処理方法は同様であり、タイムスタンプを押されるデータを収集した後、何らかのソースからタイムスタンプが取得され、データに添付される。このプロセスは、タイムスタンプの押されたデータの正規性や、それらの作成の実時間に関する任意の情報を保証するものではない。
【0010】
最も単純な解決策において、第三者の関与は一切必要とされず、たとえばイベントデータを取得するデバイス(たとえばスマートフォン)によって、タイムスタンプはローカルに生成および添付される。この解決策は、イベントデータおよびタイムスタンプデータの両方が修正され得るため、信頼できると見なされない。
【0011】
最も複雑な解決策において、(たとえば信任されたタイムスタンプ処理機関などの)信任された第三者が、タイムスタンプの押されたデータの完全なまたは省略された記録を格納するが、この場合も、データの特定の時間および正規性に関しては不詳である。
【0012】
上述したように、イベントデータをタイムスタンプと結び付ける既知の解決策は全て、人間の信任を必要とする。信任は、数学的または論理的に証明することができない状況で、あるものを信頼できる、またはできないものと認識するために一般的に用いられる。人間の信任の主な欠点は、それが人間の意図的または非意図的な行動に依存し、任意の数学的または論理的証拠に関連し得ない点である。ゆえにこれは、信任が必要な対象物に関する絶対的な確実性を提供するものではない。
【0013】
イベントデータが実際のイベントの証拠として用いられる場合、これまで、イベントデータの正規性およびそこに示される実際のイベントの発生の実時間を決定する直接的な信頼性の高い方法は存在しない。したがって、たとえば目撃者の証言など、イベントの発生の近似時間を決定するための間接的な方法が用いられる。このプロセスは人に依存するものであり、とりわけ、証人の知覚能力、記憶力、および意向に依存する。証人は、意図的または非意図的に誤ることがあり、あるいはイベント自体およびイベントが発生した時間の両方を確認するために必要な情報の全てを覚えていないことがある。イベント発生時間およびイベント自体の両方における証人に基づく確認の他の欠点は、一人の証人の信頼性が、異なる人物やエンティティによって様々に受け取られ得る点である。複雑な裁判事例において、一人の証人だけではなく、多数の証人が好ましく、または必要である。
【0014】
データ/文書およびその作成時間の立証における信任の必要性に対処するために、確かな信任を提供する役割を持つ(たとえばタイムスタンプ処理機関などの)信任された第三者という広く認められた概念が存在する。この解決策は、信頼できると見なされた何者かに「信任」を譲渡するだけであるという事実に加えて、信任された第三者は、データ作成時間を提供することなく、かつタイムスタンプの押されたデータの正規性を保証することなく、過去に存在したデータの正確なアップロード時間に関する情報しか提供しない。そのような既知の典型的なタイムスタンプ処理方法を以下に示す。
【0015】
米国特許出願US20060117182号は、統合された方法でデジタル認証方法および非電子(または視覚)認証方法を結合する文書認証システムおよび方法を開示する。デジタル認証の証印の提供と同様、この発明は、人間の肉眼の知覚によって検証され得る物理的アーチファクトを生成する。しかし、この発明の目的は、文書の改ざん防止認証であったため、既にアップロード(スキャン)された文書に何らかのデータを添付するだけであり、せいぜい、それらの正確なアップロード時間を確認することしかできない。
【0016】
米国特許公開US10313360号は、暗号を用いた改ざん検出に関し、文書に関する主張時間のタイムスタンプ処理および確立にも関する。この発明の記述は、文書の整合性を後から証明するための証拠を生成するためにブロックチェーンを用いるコンピュータ実装方法を開示し、この方法はプロセッサによって実行可能である。信任されたタイムスタンプ処理機関(TTSA)が用いられ得るが、TTSAが信用性を失い、または忌避者がタイムスタンプの有効性を認めることを拒否した場合でも、電子文書の日付は確立されたままであり得る。しかし説明された方法は、処理された文書の作成時間またはその正規性に関する信頼性の高い情報を提供するものではない。
【0017】
当技術分野において、文書作成者のコンピューティングリソースがTTSAと情報を交換する、TTSAを用いる信任されたタイムスタンプ処理システムも知られている。文書が作成され、TTSAに伝達される文書ハッシュ値を生成するためにハッシュ関数でハッシュされる。文書ハッシュ値を受信すると、TTSAはタイムスタンプを生成し、それを文書ハッシュ値に添付し、ハッシュ関数との組み合わせをハッシュしてタイミングハッシュ値を生成する。公開鍵暗号モジュールで暗号化されたタイミングハッシュ値は、TTSAの秘密鍵を用いて暗号化ハッシュ値を生成する。暗号化ハッシュ値およびタイムスタンプは、作成者のコンピューティングリソースに再び伝達され、記録された文書内の文書と組み合わされる。文書はこのようにタイムスタンプを押され、後に証明される日付となる準備ができる。重要な点として、タイムスタンプは、文書が作成された時に確立するのではなく、文書のハッシュ値がTTSAによって受信された時ににしか確立しないことに留意する。すなわち、タイムスタンプ処理プロセスの開始時に文書が何年も経過している場合、タイムスタンプは実際の以前の作成日付を反映せず、文書ハッシュ値がTTSAによって受信された時である後の日付のみを反映する。これが、上述した既知のシステムが、文書を(それらの正規性との関連性を有さず)認証することのみ可能であり、それらの作成時間ではなく正確なアップロード時間を決定することのみ可能である理由である。
【0018】
また、韓国特許出願KR20330126815号に開示される、たとえばハッシュ値、作成日、(GPSによる)作成場所、(ジャイロスコープによる)作成デバイスの傾き、および作成デバイスの識別などの文書情報を送信することによって、マルチメディアデータの偽造を防止し、証明力のある証拠を保護するための方法も存在する。この文書情報は、たとえば写真などのマルチメディアが作成された時、たとえばスマートフォン、スマートパッドなどの外部デバイスを通して生成され、文書情報のハッシュ値を含む発行されたタイムスタンプを受信する、信任された第三者であるタイムスタンプサービスエージェンシにネットワークを介して送信される。
【0019】
しかし、この解決策にも、アップロードされたマルチメディアファイルが発生直後の何らかのイベントを示すという確実性は存在しない。タイムスタンプはアップロードデータに添付されるだけであり、せいぜいアップロードファイルの追加の記述と見なすべきであり、明白にイベント発生の実時間タイムスタンプとは見なされない。
【0020】
信頼できる高品質なイベントデータおよび信頼できるタイムスタンプは比較的容易に取得され得るので、未だ課題となるのは、それらの間のリンクである。
【0021】
まとめると、現行の信任されたタイムスタンプ処理方法によって処理されるデータがイベントデータである(すなわち、何らかの実際のイベントを示す)場合、示されるイベントの発生の実時間またはこれらのイベントデータの正規性を決定することは不可能である。全ての既知の解決策において、示されるイベントの発生の時間を決定し、示されるコンテンツを確認するために、信任が必要である。現行の信任されたタイムスタンプ処理方法は、タイムスタンプの押されたデータがその時点、すなわちタイムスタンプを生成するその瞬間より前に存在したという1つのことしか保証しない。特に、タイムスタンプ処理プロセスの前に、データ自体が改ざんされたものではない、または発生していない何らかの偽の証拠として作成されたものではないという確実性は存在しない。
【0022】
既知の解決策の弱点は、イベントデータを実時間タイムスタンプと結び付けるために人間の信任が必要であるという点である。これは、信頼できるイベントデータを「イベントデータ」取得の瞬間に取得された信頼できる実時間タイムスタンプと結び付ける確かな方法が存在しないためである。
【発明の概要】
【発明が解決しようとする課題】
【0023】
したがって、本発明の目的は、イベントデータとして記録された実際のイベントの発生の正確な時間を決定する確かな方法を提供すること、ならびに、人間の信任とは無関係に(この実際のイベントが現実に発生したことを知るために)イベントデータの正規性を提供することである。
【課題を解決するための手段】
【0024】
本発明の第1の態様によると、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成する方法が提供される。上記方法は、デジタル記録される実際のソースイベントSEのソースイベントデータS-EDを取得することと、ソースイベントデータS-EDの表現であるソースデータS-Dを登録およびタイムスタンプ処理のために不変のデータベースへ送信することと、少なくともソースデータS-D、ソースデータS-Dのタイムスタンプ、および上記不変のデータベースの状態を記述するデータを入力として有するハッシュ関数を用いて計算されるハッシュコードHCの表現をリアルタイムで受信することとを備える。方法は更に、確認イベントCEを作成するために、ハッシュコードHCの上記表現をソースイベントSEの領域内に組み込むことを可能にするために、ハッシュコードHCの上記表現を感覚的知覚のために物理的に提示することと、確認イベントCEの確認イベントデータC-EDを更に取得することと、確認イベントデータC-EDの表現である確認データC-Dを登録およびタイムスタンプ処理のために不変のデータベース送信することとを備える。
【0025】
有利には、ソースデータS-DはソースイベントデータS-EDのフィンガプリントであり、および/または確認データC-Dは確認イベントデータC-EDのフィンガプリントである。そのような例において、ソースイベントデータS-EDおよび/または確認イベントデータC-EDは、不変のデータベースまたはその他どこかに、たとえば作成者によってローカルに、好適には、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成するためのシステムに格納される必要がある。
【0026】
有利には、上記フィンガプリントを計算するハッシュ関数の入力データを有意に特徴付けるデータは、ソースデータS-Dおよび/または確認データC-Dと共に格納するために不変のデータベースへ送信される。
【0027】
本発明の第2の態様によると、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成するためのシステムが提供される。システムは、デジタル記録される実際のソースイベントSEのソースイベントデータS-EDを取得するように構成されたデジタル登録手段と、ソースイベントデータS-EDの表現であるソースデータS-Dを登録およびタイムスタンプ処理のために不変のデータベースへ送信するように構成され、少なくともソースデータS-D、ソースデータS-Dのタイムスタンプ、および不変のデータベースの状態を記述するデータを入力として有するハッシュ関数を用いて計算されるハッシュコードHCの表現をリアルタイムで受信するように構成された通信手段とを備える。上記システムは更に、確認イベントCEを作成するために、ハッシュコードHCの上記表現をソースイベントSEの領域内に組み込むことを可能にするために、ハッシュコードHCの上記表現を感覚的知覚のために物理的に提示するための提示手段を備え、デジタル登録手段は更に、確認イベントCEの確認イベントデータC-EDを取得するように構成され、通信手段は更に、確認イベントデータC-EDの表現である確認データC-Dを登録およびタイムスタンプ処理のために不変のデータベースへ送信するように構成される。
【0028】
本発明の第3の態様によると、コンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータによって実行されると、コンピュータに、本発明に係る、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成するための方法を行わせる命令を備える。
【0029】
本発明の第4の態様によると、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現の時刻証明を提供する方法が提供される。方法は、デジタル記録される実際のソースイベントSEのソースイベントデータS-EDの表現であるソースデータS-Dを受信することと、ソースデータS-Dを不変のデータベースに格納することと、信任されたソースから取得されたタイムスタンプで、ソースデータS-Dにリアルタイムでタイムスタンプ処理することと、タイムスタンプを不変のデータベースに格納することと、上記タイムスタンプによって示される特定の時間における不変のデータベースの状態を決定することと、少なくともソースデータS-D、ソースデータS-Dのタイムスタンプ、および上記不変のデータベースの状態を記述するデータを入力として有するハッシュ関数を用いてハッシュコードHCを計算することと、ハッシュコードHCの表現を実際のソースイベントSEの領域内に組み込むためにリアルタイムで送信することと、領域内に追加で物理的に組み込まれたハッシュコードHCの表現を備えるソースイベントSEである確認イベントCEの確認イベントデータC-EDの表現である確認データC-Dを受信することと、確認データC-Dを不変のデータベースに格納することと、信任されたソースから取得されたタイムスタンプで、確認データC-Dにリアルタイムでタイムスタンプ処理することと、確認データC-Dのタイムスタンプを不変のデータベースに格納することとを備える。
【0030】
本発明の他の態様によると、コンピュータによって実行されると、コンピュータに、本発明に係る、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現の時刻証明を提供する方法を行わせる命令を備えるコンピュータプログラム製品が提供される。
【0031】
本発明のまた他の態様によると、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現の時刻証明を提供するためのシステムが提供される。上記システムは、不変のデータベースを備える少なくとも1つのメモリと、少なくとも1つのプロセッサと、通信手段とを備え、上記通信手段は、デジタル記録される実際のソースイベントSEのソースイベントデータS-EDの表現であるソースデータS-Dを受信および格納するように構成され、上記不変のデータベースは、信任されたソースから取得されたタイムスタンプで、ソースデータS-Dにリアルタイムのタイムスタンプ処理を行うように構成され、更に、上記ソースデータS-DおよびソースデータS-Dのタイムスタンプを格納するように構成され、上記すくなくとも1つのプロセッサは、ソースデータS-Dにタイムスタンプ処理した時に取得されたタイムスタンプによって示される特定の時間における上記不変のデータベースの状態を記述するデータを決定するように構成され、少なくとも、不変のデータベースの状態を記述するデータ、ソースデータS-D、およびソースデータS-Dのタイムスタンプを入力として有するハッシュ関数を用いてハッシュコードHCを計算するように構成され、通信手段は更に、ハッシュコードHCの表現を送信し、領域内に追加で物理的に組み込まれたハッシュコードHCの表現を備えるソースイベントSEである確認イベントCEの確認イベントデータC-EDの表現である確認データC-Dを受信するように構成され、上記不変のデータベースは更に、上記確認データC-Dを受信および格納し、信任されたソースから取得されたタイムスタンプで、確認データC-Dにリアルタイムのタイムスタンプ処理を行うように構成される。
【0032】
有利には、不変のデータベースはブロックチェーンである。
【0033】
本発明の他の態様によると、人間の信任とは無関係に、イベントデータ(すなわち実際のイベントの発生)の正規性に疑いが生じ得ない方法で、実際のイベントのイベントデータをその取得の実時間タイムスタンプと結び付けるための方法が提供される。上記方法は、実際のソースイベントSEのソースイベントデータS-EDを取得し、ソースイベントデータS-EDの表現であるソースデータS-Dを格納およびリアルタイムのタイムスタンプ処理のために不変のデータベースへ送信するステップと、少なくとも、不変のデータベースの状態を記述するデータ、ソースデータS-D、およびソースデータS-Dのタイムスタンプを入力として有するハッシュ関数を用いてハッシュコードHCを計算するステップと、ハッシュコードHCをハッシュコードHCの表現に変換し、変換を行うために用いられた方法を格納するステップと、ハッシュコードHCの表現を領域内に物理的に提示するソースイベントSEである確認イベントCEを作成するために、ハッシュコードHCの表現をソースイベントSEの領域内に組み込むためにリアルタイムで表示するステップと、確認イベントCEの確認イベントデータC-EDを取得し、確認イベントデータC-EDの表現である確認データC-Dを格納し即時的にタイムスタンプ処理するために不変のデータベースへ送信するステップとを備える。
【0034】
本発明に係る方法は、イベントデータを、そこに示される実際のイベントの発生の実時間と結び付ける。これにより、イベントデータに示されるイベントが正確な時間に発生しており、そのイベントデータが本物である(改ざんされていない)という確固たる証拠が生じる。本発明によると、方法は、そのような作成された証拠の信頼性をもたらし、たとえば訴訟手続きで用いることを可能にする。
【0035】
不変のデータベースおよび実際のイベントの即時的タイムスタンプ処理を用い、ハッシュコードHCの表現を実際のイベントの領域内にリアルタイムで組み込むことにより、イベントデータの正規性ならびにデータ作成の実時間の両方が提供される。この方法は純粋に数学に基づくため、疑いようがない。
【0036】
上記不変のデータベースは、任意の人間の証人や権威者(信任機関、公証人、目撃者など)の代わりとなるデータ構造である。
【0037】
データベースが設計により不変であること(たとえばブロックチェーン)により、既にそこに格納されたデータを変更することはできない。加えて、不変のデータベースがブロックチェーンである場合(または上記データベースが同様の技術を用いる場合)、そのデータの不壊性が設計によって提供される。不変のデータベースは、たとえば既に格納されたデータを一意的に特徴付ける数、たとえば既に格納されたデータのフィンガプリントを計算することによって、その状態を決定するデータを生成することができる。
【0038】
イベントデータとタイムスタンプとの間のリンクは、不変のデータベース、および作成者によって用いられる、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成するためのシステムのみによって確立および確認される。したがって、作成者によって用いられるシステムを除き、誰も必要ではなく、たとえば人間の証人は必要でない。
【0039】
イベントデータと実時間タイムスタンプとの間のリンクは、何らかの実際のイベントのイベントデータの取得により得られる。イベントデータは、ハッシュコードHCの表現を実際のイベントの領域内に組み込む前および後の2回取得される。両方のイベントデータが不変のデータベースに格納される。
【0040】
ハッシュコードHCの表現を組み込む前および後に同じ実際のイベントを示すイベントデータにより、ハッシュコードHCの表現が実際のイベントの領域内に組み込まれたことに疑いはない。実際のイベントの領域内にハッシュコードHCの表現が存在することは、少なくとも組込みの瞬間に作成者がこのハッシュコードHCの表現を知っていたことの証明である。
【0041】
イベントデータに示される実際のイベントと、実際のイベントの発生の実時間との間の確かな結び付きは、ソースイベントデータS-EDおよび確認イベントデータC-EDが同じ実際のイベントを示すという事実によって得られ、それらの唯一の相違点は、確認イベントデータC-EDが、その領域内に組み込まれたハッシュコードHCの表現を含むことであり、ハッシュコードHCは、少なくともソースデータS-D、ソースデータS-Dのタイムスタンプ、および上記不変のデータベースの状態を記述するデータを入力として用いて不変のデータベースによって生成された。この理由により、作成者がこの独自のハッシュコードHCを知っていて、ハッシュコードHCの表現をソースイベントSEの領域内に組み込むことによって確認イベントCEを作成することができたということは疑いようがない。
【0042】
ハッシュコードを計算する時に暗号ハッシュ関数を用いることにより、ハッシュコード自体が、それを計算するために用いられた全ての入力値が同時に存在したことの確かな証拠である。
【0043】
また、少なくとも(ハッシュコードを組み込む前の)イベントデータの表現、イベントデータの上記表現の実時間タイムスタンプ、および不変のデータベースの状態であるハッシュ関数入力データの種類を選択することにより、記録されている実際のイベントの発生の実時間との確かなリンクが保証される。これら3つの入力値は重要であり、
ハッシュコードHCの表現を組み込む前の何らかの実際のイベントAEを示すイベントデータED、
信任されたソースから取得された、イベントデータのタイムスタンプ、
上記タイムスタンプによって決定される特定の瞬間における不変のデータベースの状態
という3つの異なるデータセットが同時に存在したことを証明するために必要である。
【0044】
説明される発明のこの設計により、実際のイベントの領域内に組み込まれるハッシュコードの表現は、イベントデータに示される実際のイベントが特定の時間に起こっており、イベントデータが改ざんされていないことを証明するために十分である。ハッシュコードHCを計算するためにハッシュ関数を用いることにより、結果として生じる本発明の信頼性レベルは、たとえばロギング、金融取引などのネットワーク動作のために一般的に用いられる機能と同等である。
【0045】
単一モードで(たとえば写真として)取得されたイベントデータの場合、同じシーンを2回登録する、すなわちハッシュコードHCの表現がある場合とない場合で登録することにより、イベントの発生の証明が得られる。これは、このイベントの第2の登録が、その物理コンテキスト内にハッシュコードHCの物理的に認識可能な表現を含むという事実から生じる。単一モードでイベントデータを取得する際のこの方法の実現可能な精度は、秒単位で理解される「リアルタイム」である。
【0046】
連続モードで(ビデオまたは音声記録として)取得されたイベントデータの場合、その連続性により、ハッシュコードHCの表現の組込みはリアルタイムで行われる。連続モードでイベントデータを取得する際のこの方法の実現可能な精度は、ミリ秒単位で理解される「リアルタイム」である。
【0047】
本発明をより完全に理解するために、ここで、添付図面と関連して示される以下の説明を参照する。
【図面の簡単な説明】
【0048】
【
図1】本発明に係る、実際のイベントのデジタル表現とその発生の実時間とを結びつける方法を示す図である。
【
図2】本発明に係る、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成するためのシステムの概略図である。
【
図3】作成者1によって用いられるシステムによって行われるステップのフローチャートである。
【
図4】不変のデータベースを備える本発明に係るシステムの概略図である。
【
図5】本発明に係る、不変のデータベースを備えるシステムによって行われるステップのフローチャートである。
【
図6】デジタル表現に示される実際のイベントの発生の確かな時間をチェックすることを可能にするために、不変のデータベースを備えるシステムによって行われるステップのフローチャートである。
【
図7】デジタル表現に示される実際のイベントの発生の確かな時間をチェックするために、エンドユーザ4によって行われるステップのフローチャートである。
【発明を実施するための形態】
【0049】
本技術は、一般に、実際のイベントをイベントデータ(写真、ビデオ記録など)としてデジタル形式で捕捉するために用いられる。上述したように、全ての実用目的に関して、適切に提示されるこれらのイベントデータは、少なくとも視覚[視力]および/または聴覚による人間の感覚検査の対象である(たとえば写真、ビデオ記録、または音声記録に示される実際のイベント)。現在、イベントの知覚のために人間が用いる様々な種類の感覚の中で、聴覚および視覚のみが、デジタルに記録され、その後人間の感覚検査によって読み取ることが可能であるが、本発明は今後、この点に関して限定されない。
【0050】
本明細書で用いられる実際のイベントAEという用語は、(たとえばコンピュータ操作などの完全に観念的または仮想のイベントに対立するものとして)人間の感覚または人工知能が知覚できる、現実に存在する、または事実としての任意のイベントまたは任意の状況を意味する。さらにイベントデータEDは、実際のイベントAEのデジタル記録を意味する。イベントデータEDは、単一モードおよび連続モードの2つの方法で取得されてよく、単一モードの場合、イベントデータEDはたとえば写真であり、連続モードの場合、イベントデータEDはたとえばビデオ記録または音声記録である。
【0051】
ここで、
図1~
図5を参照して、実際のイベントデジタル表現を実際のイベントの発生の実時間と結び付ける方法が説明される。本発明に係る方法は、分散方式で、すなわち作成者1によってローカルまたは遠隔で用いられるシステム100によって、ならびに第三者2が所有する遠隔システム200によって行われ、上記遠隔システム200は、不変のデータベース203(デジタル証人DW203)を備え、信任された時間ソース300と通信している。ここで、作成者1という用語は、記録されている実際のイベントと実時間タイムスタンプとの間の結び付きを作成するために行動する、1または複数人の人間または人工知能や同様のアルゴリズム(複数も可)を含む1または複数のエンティティを意味する。
【0052】
図1および
図3に示すように、本発明に係る方法は、ソースイベントSEのソースイベントデータS-EDを取得するステップ10で開始する。ここで、ソースイベントSEという用語は、その発生の実時間と結び付けられることが予定された実際のイベントを意味し、言い換えると、ソースイベントSEは、信頼できる方法で登録される実際のイベントAEである。(後に取得される確認イベントデータC-EDに対立するものとして)ソースイベントデータS-EDという用語は、(後に記録される確認イベントCEに対立するものとして)ソースイベントSEのイベントデータEDを意味する。本発明に係る技術の使用の証明は、後述するように、その発生の実時間と結び付けられる実際のイベントのデジタル表現の作成/生成のプロセスの結果生じる。
【0053】
ソースイベントデータS-EDを取得するステップ10は、発生の実時間と結び付けられた実際のイベントAEのデジタル表現を生成するための(
図2に示すような)システム100によって行われる。たとえば、ステップ10ならびに
図3に示す他のステップは、スマートフォン100、タブレット100、またはドローン100の使用により作成者1によって実現され得る。ただし、
図2を参照して後述するような特徴の全てを備える任意のデバイスまたはデバイスのセットが作成者1によって用いられ得る。上述したように、ソースイベントデータS-EDの取得は、単一モードまたは連続モードで行われ得る。データ取得ステップ11が完了すると、実際のイベントの発生の実時間と結び付けられる上記実際のイベントのデジタル表現が提供される。
【0054】
次に方法はステップ12へ進み、ここでシステム100は、ソースイベントデータS-EDの表現であるソースデータS-Dを出力し、格納およびタイムスタンプ処理(時刻証明)のために外部システム300へ送信する。ソースデータS-Dを特定の遠隔地に送信する目的は、ソースデータS-Dがリアルタイムで格納されタイムスタンプ処理されること、およびこれらのデータに基づいて、上記不変のデータベースの状態を記述するデータも入力として有するハッシュ関数を用いた一意的なハッシュコードHCの計算を可能にすることである。
図4を参照して後述するように、上記遠隔システム200は、本明細書の目的に関してデジタル証人DW203と呼ばれる特定の不変のデータベース203を備える。
図5を参照して後述するように、デジタル証人DW203は、更なる処理および格納のために最後に上記ソースデータS-Dを取得する。ここで、ソースイベントデータS-EDの表現であるソースデータS-Dという用語は、全ソースイベントデータS-EDまたはその表現、たとえば全ソースイベントデータS-EDのフィンガプリント、または暗号化されたソースイベントデータS-EDを意味する。
【0055】
有利には、外部登録および外部時刻証明のためにソースデータS-Dを送信する、すなわち不変のデータベース203によってタイムスタンプ処理をするステップ12の前に、ソースイベントデータS-EDのフィンガプリントを計算するステップ11がある。ソースイベントデータS-EDのフィンガプリントは、ハッシュ関数HFを用いて計算される。必須ではないが好適には、フィンガプリントが使用中である場合、ソースデータS-Dと共に有意ハッシュ関数入力データSHFIDが不変のデータベース203へ送信される。有意ハッシュ関数入力データSHFIDという用語は、ここでは、フィンガプリントを計算するハッシュ関数HFの入力データを一意的に特徴付けるために用いられ得るデータを意味する。有意ハッシュ関数入力データSHFIDの目的は、たとえば、
・フィンガプリントを計算するためにハッシュ関数HFによって用いられる真正データの改ざんに対する耐性を高めること、
・ハッシュ関数HFが異なる入力データに同じフィンガプリントを計算する場合に生じる、フィンガプリントを計算する時の衝突のリスクを最小限にすること(衝突のリスクは実際には無視できるものである)、
・ハッシュ関数HFのための入力データのサイズを決定すること、
・ハッシュ関数HFに関連する既知のまたは予想される(起こり得る)脆弱性の除去
である。
【0056】
有意ハッシュ関数入力データSHFIDは、ハッシュ関数HFの入力データを特徴付ける任意のデータ(たとえば入力データの最初または最後の数バイト)であってよいが、ハッシュ関数HFが任意の脆弱性を有する場合、有意ハッシュ関数入力データSHFIDは、少なくともこの脆弱性をなくすために対処する必要がある。たとえば、ハッシュ関数HFが「長さ拡張攻撃」を受けやすい場合(一般にそのようなハッシュ関数HFの使用は推奨されないが)、有意ハッシュ関数入力データSHFIDは、少なくともハッシュ関数HFの入力データのサイズに関する情報を含む必要がある。
【0057】
ソースデータS-Dがフィンガプリントであるか否かにかかわらず、ソースイベントデータS-EDは、デジタル証人DW203外に格納され得る。全ソースイベントデータS-EDの格納は、それらがデジタル証人に存在しない場合、たとえばそれらのフィンガプリントのみがデジタル証人DW203へ送信された場合、必須である。
【0058】
送信ステップ12が完了すると、実際のイベントの発生の実時間と結び付けられる実際のソースイベントのデジタル表現が提供される。次に方法は、遠隔ソース、すなわち(
図4を参照して後述するような)システム200から、上記不変のデータベース203(デジタル証人DW203)の状態を記述するデータ、ソースデータS-D、および上記不変のデータベース203を備えるシステム200によってソースデータS-Dの受信時に取得されたタイムスタンプであるソースデータS-Dのタイムスタンプに少なくとも基づいて計算されたハッシュコードHCの表現を受信するステップ13へ進む。ハッシュコードHCの表現は、ここでは転送ハッシュコードTHCと呼ばれ、この意味は本明細書で後述する。
【0059】
次のステップは、感覚知覚のためのハッシュコードHCの表現を物理的表現によって出力するステップ14である。ハッシュコードHCの表現の感覚知覚は、作成者1が、記録されている実際のイベントの領域内に組み込まれるコードに関する知識を得るために必要である。有利には、上述したように、ハッシュコードHCの表現は転送ハッシュコードTHCと称される。以下、転送ハッシュコードTHCという用語は、ソースイベントSEの領域内に組み込まれるためにデジタル証人DW203から作成者1へ転送されるハッシュコードHCの表現を意味する。転送ハッシュコードTHCは、
・ハッシュコードHCと等しい英数字文字列全体、または
・(たとえばインターネットエンジニアリングタスクフォースによるRFC4226などの)任意の数学関数によって得られた、ハッシュコードHCの省略形、または
・たとえば単語、記号、数字、ジェスチャ、イベントデータを取得するデバイスで行われる動作を含む動作など、作成者の感覚で知覚可能な他の任意の形式の表現、または
・上記の1または複数の組み合わせ
であってよいが、これに限定されない。
【0060】
ここで留意すべき点として、本発明に係る方法は、(1)(上記コードの表現を組み込む前の)イベントデータの表現、(2)現在時刻、および(3)デジタル証人DW203(不変のデータベース203)の状態に少なくとも依存するコンテンツを物理的に組み込むこと(すなわちハッシュコードHCの表現)に基づく。上記コンテンツは、実際のイベントの領域内に組み込まれる必要があり、デジタル証人DW203の役割は、上記コンテンツを実際のイベントAEの領域内に組み込む前および後にイベントデータEDの表現を格納することである。これは、「実際のイベントの領域」をイベントデータEDのバイナリコンテンツと区別するために非常に重要である。論理的観点から、イベントデータEDは、感覚的に(人間の処理で)表示および認識され得る領域ならびに機械処理の対象であるバイトのセットを有する何らかの実際のイベントAEのバイナリ表現と見なされ得る。以下、「実際のイベントの領域」という用語は、イベントデータEDの「バイナリコンテンツ」に対立するものとして、捕捉されている実際のイベントの物理層(環境)を意味する。その結果、ハッシュコードHCの表現を実際のイベントの領域内に組み込むことは、示される実際のイベントの物理層に組み込まれたコンテンツの物理的認識をもたらす全ての行動を指す。実際のイベントの領域内に組み込むことは、特に、取得されたイベントデータEDの任意のバイナリ変更を意味するものではない。
【0061】
転送ハッシュコードTHCをソースイベントSEの領域内に組み込むことは、ハッシュコードHCの表現がその組込みの瞬間に既知であったという確かな証拠を提供するような方法で実行される。たとえば、ハッシュコードHC(転送ハッシュコードTHC)の表現を紙片に書くことによって組込みが行われ、この紙片がソースイベントSEのコンテキスト内に配置されており、確認イベントデータC-EDが写真である場合、紙片に書かれた転送ハッシュコードTHCは、この写真において解読できなければならない。
【0062】
ソースイベントSEの領域内に作成者1が物理的に存在することが不可能である場合、たとえばドローンカメラを用いて連続モードでイベントデータEDを取得する場合、ソースイベントSEの領域内への転送ハッシュコードTHCの組込みが重要な問題である。この場合、ソースイベントの領域との唯一可能なインタラクションは、イベントデータED取得デバイス、すなわちシステム100で行われ得る。この例における転送ハッシュコードTHCは、取得された確認イベントデータC-EDのコンテキスト内で認識可能な転送ハッシュコードTHCの組込みを行うために、取得されたイベントデータの視点、角度、またはフレームの変更を含むがこれに限定されない、遠隔イベントデータ取得デバイス(たとえばカメラ付きドローン)を用いて作成者1によって実行され得る1または複数の動作でなければならない。
【0063】
要するに、ソースイベントSEの領域内へのハッシュコードHC、すなわち転送ハッシュコードTHCの表現の組込みは、作成者1が、ソースイベントSEの領域内への組込みの瞬間に転送ハッシュコードTHCを知っていたという確かな確実性を提供するために、任意の可能な方法で、作成者1によって、ソースイベントSEの物理的領域(実際のソースイベントが発生する領域)内に転送ハッシュコードTHCを物理的に転送して、(ソースイベントSEと転送ハッシュコードTHCとを互いに結び付ける)確認イベントCEを作成する、動作である。ソースイベントSEの物理的領域内への転送ハッシュコードTHCの組込みは、たとえば、単一イベントの場合、転送ハッシュコードTHCを好適には手書きで紙片に書き、この紙片をソースイベントSEのコンテキスト内に配置すること、連続イベントの場合、イベントデータ取得を中断することなく、ソースイベントSEのコンテキスト内で好適には手書きで転送ハッシュコードTHCを書く、または好適には作成者によって転送ハッシュコードTHCを声高に読み上げるプロセスを記録するビデオであってよい。
【0064】
ソースイベントSEの領域内への転送ハッシュコードTHCの組込みは、イベントの領域と作成者1自身との間のインタラクションなしで行われなくてはならない。したがって、たとえばイベントデータが(たとえばドローンカメラによって)遠隔で取得され、作成者1がソースイベントSEの領域内に転送ハッシュコードTHCを直接組み込むことが不可能である場合、組込みは、(取得されたイベントデータのアスペクト、ズーム、または角度を変更することを含むが、これに限定されない)転送ハッシュコードTHCのコンテンツに対応する動作または複数の動作を行うことによって実行される必要がある。
【0065】
次に、方法は、確認イベントCEの確認イベントデータC-EDを取得するステップ15へ進み、確認イベントCEは、以下、転送ハッシュコードTHCとも称される、追加でその領域内に組み込まれた受信ハッシュコードHCの表現を備えるソースイベントSEである。
【0066】
イベントデータEDが連続モードで、すなわち途切れのないビデオまたは音声記録として取得される場合、確認イベントデータC-EDは、ソースイベントSE-Dを含み得る(すなわち、ソースイベントデータSE-Dは確認イベントデータC-EDの一部であってよい)。この場合、ソースデータS-Dは、イベントデータEDの取得を中断させることなくデジタル証人DW203へ送信される。またこの場合、ソースイベントSEの領域内への転送ハッシュコードTHCの組込みは、リアルタイムで行われ、確認イベントデータC-EDの表現である確認データC-Dは、確認イベントデータC-EDの取得が完了した直後にデジタル証人DW203へ送信される。
【0067】
連続モードで取得されたイベントデータEDの連続性が維持される場合、ソースイベントデータS-EDおよび確認イベントデータC-EDに含まれる全ての実際のイベントの発生の実時間が決定され得る。連続的に取得されたイベントデータEDの連続性を維持することは、それによって、検証プロセス中に示されるイベントの感覚(たとえば視覚および/または聴覚)検証が可能であることを意味する。連続性を維持しない、連続モードで取得されたイベントデータEDの悪い例は、わずかな細部描写しか有さない、ブレがある、常時劣悪な露光状態である、視覚ノイズや明瞭な音ではない雑音を含むビデオ記録であってよい。
【0068】
ソースイベントデータS-EDが確認イベントデータC-EDの一部としてしか格納されない場合(たとえば連続モードのイベントデータED取得の例において)、ソースイベントデータS-EDのサイズに関する情報を好適にはデジタル証人DW203に格納することが、ハッシュコードHCの表現の生成のために必須でなければならない。上記情報が失われた場合、ソースイベントデータS-EDのサイズは、理論上、時間を浪費する「総当たり」方法で決定され得る。この方法は、ハッシュコードの表現が、デジタル証人DW203に保存された対応する値と一致するまで、確認イベントデータC-EDの増え続ける最初のバイトをソースイベントデータS-EDの表現として用いるハッシュコードHCの表現を生成する。「総当たり」方法は時間を浪費し、理論上、曖昧さをもたらし得る。
【0069】
ソースイベントSEが単一モードで(たとえば写真として)登録される場合、時間精度のために、ソースイベントSEの領域内への転送ハッシュコードTHCの組込み、ならびに確認イベントデータC-EDの取得および確認イベントデータC-EDの表現である確認データC-Dをデジタル証人DW203へ送信することは、好適には可能な限り短い時間で次々と起こらなければならない。(この実施形態において、イベント発生時間は、数秒単位、またはほぼリアルタイムの精度で確立され得る)。
【0070】
次のステップは、ソースイベントSEへの転送ハッシュコードTHCの組込みの確認を提供するために、確認イベントデータC-EDの表現である確認データC-Dを出力し、格納およびタイムスタンプ処理(時刻証明)のために外部システム200へ送信するステップ17である。
【0071】
ここで、確認イベントデータC-EDの表現である確認データC-Dという用語は、全確認イベントデータC-ED、またはその表現、たとえば全確認イベントデータS-EDのフィンガプリントまたは暗号化された確認イベントデータC-EDを意味する。
【0072】
実際のイベントの発生時間の最も正確な確認を確実にするため、および可能な最も信頼できるタイムスタンプ処理プロセスを確実にするため、ソースデータS-Dおよび確認データC-Dの両方が、その取得後、可能な限り迅速にデジタル証人DW203へ送信されなければならない。
・連続モードのイベントデータ取得(たとえばビデオ/音声記録)の場合、ソースデータS-Dは、イベントデータ取得を中断させることなく、デジタル証人DW203へ送信され、リアルタイムでそこに記録されなければならないが、確認データC-Dは、確認イベントデータC-EDの取得が完了した直後に、デジタル証人DW203へ送信され、そこに記録されなければならない。
・単一モードのイベントデータ取得(たとえば写真)の場合、ソースイベントデータS-EDの取得が完了した直後、および確認イベントデータC-EDの取得が完了した直後。
【0073】
有利には、確認データC-Dを出力し、不変のデータベース203による外部登録および外部時刻証明のために送信するステップ17の前に、確認イベントデータC-EDのフィンガプリントを計算するステップ16がある。フィンガプリントは、ハッシュ関数HCを用いて計算される。必須ではないが好適には、その後、確認データC-Dと共に有意ハッシュ関数入力データSHFIDが不変のデータベース203へ送信される。確認データC-Dが確認イベントデータC-EDのフィンガプリントであるか否かにかかわらず、確認イベントデータC-EDは、作成者1によってローカルに格納され得る。たとえば作成者1は、それをシステム100のメモリに、またはコンピュータ可読データキャリア(不図示)に格納してよい。上述したソースイベントデータS-EDのフィンガプリントに言及する記載は全て、これに当てはまる。
【0074】
留意すべき点として、ステップ12またはステップ17においてフィンガプリント(ソースイベントデータS-EDのフィンガプリントおよび/または確認イベントデータC-EDのフィンガプリント)を用いることは、たとえばソースイベントデータS-EDまたは確認イベントデータC-EDが大きなサイズを有する場合、外部の不変のデータベース、すなわちデジタル証人DW203との接続帯域幅が、効果的なデータ転送を提供するには低すぎる場合、または何らかの理由で全イベントデータが秘密である場合に便利な選択肢である。
【0075】
各フィンガプリントを計算するために用いられる全イベントデータは、フィンガプリントの再計算および感覚検査の両方のために検証プロセスにおいて必要であるため、作成者1によって選択された任意の必ずしも同じではない場所、またはデジタル証人DW203に格納される必要がある。
【0076】
取得された確認イベントデータC-EDを外部登録および時刻証明のためにデジタル証人DW203へ送信するステップ17が完了すると、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現が提供される。このように、実時間と結び付けられた実際のイベントのデジタル表現は、作成者側の2つの独立した物理的な登録動作の結果、作成される。
【0077】
有利には、
図3に示すように、本発明に係る、システム100によって行われる、実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現を生成する方法は、イベント発生証明POEOを受信する追加のステップ18を備える。この任意選択的なステップ18は、不変のデータベース203から、ソースデータS-Dおよび/または確認データC-Dの格納の確認を、好適には対応するソースデータS-Dおよび/または確認データC-DのタイムスタンプおよびハッシュコードHCと共に受信することを含む。以下、イベント発生証明POEOという用語は、ソースイベントデータS-EDに示されるイベントとその発生時間との結び付きを便利かつ高い信頼性でチェックするために有用な任意のデータを含む、システム100によって受信される任意選択的な最終情報である。これらのデータは、たとえば、ソースイベントデータS-ED、ソースイベントデータS-EDのタイムスタンプ、ハッシュコードHC、その生成方法(複数も可)を有する転送ハッシュコードTHC、確認イベントデータC-ED、確認イベントデータC-EDのタイムスタンプC、(たとえば後述するようにシステム200または不変のデータベース203によって計算された)確認ハッシュコードCHC、デジタル証人DW203におけるデータの位置に関する情報、デジタル証人DW203の種類および名称、上述した値の各々に関する計算/生成方法、有意ハッシュ関数入力データSHFIDに関する情報、ソースイベントデータS-EDおよび確認イベントデータC-EDに関するタイムスタンプのソース(複数も可)に関する情報、ならびに他の関連情報を含んでよい。
【0078】
留意すべき点として、ソースイベント(SE)の領域内に転送ハッシュコード(THC)を組み込む前に取得されたイベントデータ(ソースイベントデータS-ED)および後に取得されたイベントデータ(確認イベントデータC-ED)は、同じ実際のイベントAEを示さなければならない。
【0079】
また、ソースイベントデータS-EDおよび確認イベントデータC-EDは、同じ実際のイベントAEを示す必要があるが、必ずしも同じモード(単一または連続)で取得される必要はない。たとえば、ソースイベントデータS-EDは単一モードで写真として取得され、確認イベントデータC-EDは連続モードでビデオ記録として取得され得る。
【0080】
本発明の方法は、同じ実際のイベントに関して複数回繰り返され得る。これは、単一(非連続)モードのイベントデータ取得が用いられる場合に重要であり得る。
【0081】
図2に示すように、発生の実時間と結び付けられた実際のイベントのデジタル表現を生成するためのシステム100は、プロセッサ103およびメモリ104を備え、実際のイベントAEのデジタル登録のための手段105を更に備える任意のデバイスまたはデバイスのセットである。上記実際のイベントAEのデジタル登録のための手段105は、たとえばカメラ、マイクロフォン、またはその両方であってよい。必須ではないが好適には、システム100は、作成者1がシステム100とインタラクトすることを可能にするインタフェース手段106を備える。上記インタフェース手段106は、ソースイベントの領域との唯一可能なインタラクションがイベントデータED取得デバイス、すなわちシステム100で行われ得る場合、重要である。この例における転送ハッシュコードTHCは、ユーザ4によって認識可能にするように取得されたイベントデータの視点、角度、またはフレームを変更することを含むがこれに限定されない、遠隔イベントデータ取得デバイス(たとえばドローン)を用いて作成者1によって実行され得る任意の動作でなければならない。
【0082】
システム100は、通信手段107を用いて他のシステムと通信することもできる。システム100は、作成者1の感覚知覚のためのハッシュコードHCの表現を物理的提示によって出力するための手段108も備える。これは、ディスプレイ108、ヘッドフォン108またはプリンタ108、スピーカ108、ラウドスピーカ108、たとえばダイオードなどの発光デバイス108、振動モータ108であってよい。
【0083】
言い換えると、取得したイベントデータEDをその発生の実時間と結び付けるために、作成者1は、本発明に係る方法を行うための技術的手段を有さなければならない。好適には、作成者1が人間である場合、彼または彼女は、本発明に係る方法を行う時、イベントデータEDを取得しデジタル証人DW203にアクセスすることができるデバイス/システム100を使用しなければならない。このシステム/デバイス100は、作成者側で方法のステップを実施するための技術的手段を備える必要がある。これらの手段は、コンピュータプログラム110、たとえば製造プロセス中に上記システム100/デバイス100にダウンロードされ、または埋め込まれるモバイルアプリケーション110を含むものとする。
【0084】
図4に示すように、本発明に係る、発生の実時間と結び付けられた実際のイベントのデジタル表現の時刻証明を提供するためのシステム200は、少なくとも1つのプロセッサ201および少なくとも1つのメモリ202を備える。少なくとも1つのメモリは、上述したようにここではデジタル証人DW203と称される不変のデータベース203を備える。システム200は、たとえばサーバ200またはサーバのセット200であってよい。
【0085】
ここで、デジタル証人DW203という用語は、データを格納する1または複数のデータ構造を意味する。デジタル証人DW203は、本発明において人間の証人の代替としての役割を果たす。デジタル証人DW203は、不変でなくてはならない(すなわち、そのデータは削除または修正することはできない)。デジタル証人DW203は、好適には公衆用であり、好適には公開であり、好適には分散型である。デジタル証人DW203の例は、ブロックチェーンである。
【0086】
システム200は、たとえばデータの記録、格納、取出し、表示、および検索、ならびに不変のデータベース203のデータ整合性のチェック、不変のデータベース203の状態の定義、およびハッシングなどのデータ操作に関する機能も組み込む。これらの機能は全て、好適には公開かつ公衆用である。これらの機能は、たとえば
・全ての計算および生成データならびに外部(取得およびアップロード)データを含むデータ処理(たとえば記録、格納、取出し、表示、検索、計算での使用など)、
・少なくとも1つの信任されたソース300からタイムスタンプを取得すること、
・デジタル証人DW203の状態を決定すること、
・1または複数の同じまたは異なるハッシュ関数HFを用いて、たとえば
・ハッシュコードHC
・確認ハッシュコードCHC
・デジタル証人DW203の状態
・ソースまたは確認フィンガプリント(FP)
として用いられる出力を計算すること、
・有意ハッシュ関数入力データSHFIDを生成すること、
・ハッシュコードHCをその表現に、すなわち転送ハッシュコードTHCに変換すること、
・THCを作成者1またはユーザ4に返送すること
などの動作を可能にする。
【0087】
可能な最も高い信頼性のために、各フィンガプリントは、適当なイベントデータのアップロード後に、システム200によって計算されなければならない。しかし、これが不可能である場合、たとえばイベントデータEDのサイズが大きい場合、対応するフィンガプリントは、システム200外で、たとえばシステム200に格納された方法に従ってシステム100によってローカルに、たとえば適切なアプリケーション110を備えるモバイルデバイス100を用いて計算されてもよい。
【0088】
以下の情報は、上述した値全ての正確かつ明確な再計算および検証を可能にするように、好適にはデジタル証人DW203に格納される必要がある。
・上述した値の各々を計算するために用いられる方法に関する完全な詳細情報(すなわちハッシュコードHC、確認CHC、不変のデータベースの状態、ならびにフィンガプリント(複数も可)および/または妥当な場合、有意ハッシュ関数入力データSHFID、および上記フィンガプリントおよび/または有意ハッシュ関数入力データSHFIDを生成するための方法)。
・取得された各タイムスタンプに関するソース(複数も可)300に関する完全な詳細情報。
・(転送ハッシュコードTHCとも称される)ハッシュコードHCの表現を生成するために用いられる方法に関する完全な詳細情報。
【0089】
最大限の信頼性を提供するために、使用された全ての関数および方法に関する完全かつ詳細な情報を含む、デジタル証人DW203に含まれる全ての情報は、公衆用でなくてはならない。
【0090】
設計によって変えることのできない任意のデータベースがデジタル証人DW203であってよい。しかし、昨今、「ブロックチェーン」と呼ばれる新たな技術が登場した。この技術は、非常に低いコストで、格納されたデータの不変性だけではなくデータの不壊性も提供する。本文書において、人間の文明においてこれまで知られてきた「信任」の概念が確かな記録の信頼性のためにもはや必要ではないという点で、ブロックチェーン技術は「トラストレス」と称される。
【0091】
ソースイベントSEとその発生の実時間との間に信任を介さない確かな結び付きを提供するために、デジタル証人DW203は、最低でも、ソースイベントSEおよび確認イベントCEに関連する次のデータ、ソースイベントデータS-EDの表現であるソースデータS-D、ソースデータS-Dのタイムスタンプ、(ハッシュコードHCと等しくない場合の)ハッシュコードHCの表現、確認データC-D、確認データC-Dのタイムスタンプを含む記録を格納する。
【0092】
時刻証明のためのシステム200は、システム100ならびに信頼できる時間ソース300との通信を可能にする通信手段209も備える。
【0093】
本発明によって必要な全ての動作を行うために、システム200には少なくともアプリケーション210、すなわち実行可能命令を備えるデジタル表現時刻証明ソフトウェアモジュール210が提供される。ただし、当業者は、様々な機能がシステム200の様々なハードウェア部品にソフトウェアとして実装され得る(たとえば上記ソフトウェアはファームウェアである)ことを理解する。
【0094】
ここで
図5を参照すると、時刻証明の方法が説明される。実際のイベントの発生の実時間と結び付けられた上記実際のイベントのデジタル表現の時刻証明を提供する上記方法は、作成者1のシステム100から受信したデータを処理および格納するために(
図4に示す)遠隔システム200によって用いられる。上記方法は、
図3を参照して説明した方法と同時に行われる。方法は、(上述したように)システム100からソースデータS-Dを受信するステップ20で開始する。
【0095】
上述したように、ソースデータS-Dを受信するステップ20において、この目的のために、システム200によって様々な種類のデータ、すなわち全ソースイベントデータS-EDまたはソースイベントデータS-EDのフィンガプリントが受信され得る。最も高いレベルのイベントデータ信頼性を提供するために、フィンガプリントが用いられる場合、フィンガプリントの有意ハッシュ関数入力データSHFIDが計算され、デジタル証人DW203に記録されなければならない。好適には、フィンガプリントの生成方法、および妥当な場合、有意ハッシュ関数入力データSHFIDの生成方法もまた、デジタル証人DW203に記録されなければならない。SHFIDは、フィンガプリントを計算するために用いられた全イベントデータがデジタル証人DW203外に、たとえばローカルに格納される場合、特に重要である。
【0096】
デジタル証人DW203を備えるシステム200によってソースデータS-Dが受信されると、方法は、上記ソースデータS-Dをデジタル証人DW203に格納するステップ21へ進む。
【0097】
次に方法は、信任されたソース300からソースデータS-Dのタイムスタンプを取得するステップ22へ進む。システム200は、通信手段を用いて、ソースデータS-Dの取得の瞬間またはデジタル証人DW203への記録の直後、ソースデータS-Dのタイムスタンプを取得する。タイムスタンプ処理のために複数の時間ソースが用いられてよい。これらのソース(複数も可)に関する情報は、デジタル証人DW203に格納される。ソースデータS-Dをタイムスタンプ処理するプロセスは、信任されたソースからソースデータS-Dのタイムスタンプを取得すること、およびこのタイムスタンプをデジタル証人DW203に記録することを指す。
【0098】
次に方法は、ソースデータS-Dのタイムスタンプによって示される特定の時間における不変のデータベース203(デジタル証人DW203)を記述するデータを決定するステップ23へ進む。ここで、不変のデータベース203の状態という用語は、何らかの他のデータが特定の瞬間にデジタル証人DW203に存在したという数学的または論理的証拠を提供する任意のデータを意味する。上記不変のデータベースの状態は、ソースデータS-Dが作成者1のシステム100から受信された瞬間に(どちらが先であるとしてもソースデータS-DまたはソースデータS-Dのタイムスタンプがデジタル証人DW203に記録される前に)デジタル証人DW203に存在するデータに関して計算される。不変のデータベース(デジタル証人DW203)の状態を記述する上記データは、たとえばデジタル証人DW203に記録された全データまたはデータの一部のフィンガプリントであってよい。好適には不変のデータベース203(デジタル証人DW203)の状態を記述するデータは、必要な時に迅速かつ容易な再計算を可能にするために、システム200に格納された方法に従ってシステム200によって計算される。
【0099】
次に方法は、不変のデータベース203の状態を記述するデータ、ソースデータS-D、およびソースデータS-Dのタイムスタンプに基づいてハッシュコードHCを計算するステップ24へ進む。ここで、ハッシュ関数HFという用語は、何らかの任意のサイズのデータを固定サイズのビットストリング(ハッシュ)にマッピングする任意の公衆用(公開)数学関数を意味する。その数学特性により、ハッシュ関数HFの出力は、フィンガプリントまたはチェックサムの2つの方法で見られ得る。本発明のために暗号タイプのハッシュ関数HFが好適である。暗号ハッシュ関数HFは、任意の種類の既知の暗号解読攻撃に耐え得ることを特徴とし、原像計算困難性、第2原像計算困難性、および衝突耐性の特性を少なくとも有する。証明された脆弱性を有する(すなわち攻撃を受けやすい)ハッシュ関数は、良くてシステム200の設計および/またはデジタル証人DW203の設計によってこの脆弱性が排除されない限り、用いるべきではない。たとえば、Merkle-Damgard構造の全出力を直接用いる暗号ハッシュ関数HFの出力は、長さ拡張攻撃に対し脆弱であるため、この種の攻撃に関するリスクを最小限にするために、デジタル証人DW203は、(たとえば有意ハッシュ関数入力データSHFIDとして)ハッシュ関数HF入力データのサイズに関する情報を格納する必要がある。
【0100】
システム200は、ハッシュコードHC、不変のデータベース203(デジタル証人DW203)の状態、および妥当な場合、転送ハッシュコードTHCを計算するために、ソースデータS-Dのフィンガプリント、確認データC-Dのフィンガプリントを計算するための1または複数の同じまたは異なるハッシュ関数HCを提供してよい。
【0101】
システム200は、ユーザ定義ハッシュ関数HFが用いられることを可能にし得るが、ユーザ定義ハッシュ関数HFの信頼性は疑わしいので、これらのハッシュ関数HFは推奨されない。最大限の信頼性を確実にするために、用いられる各ユーザ定義ハッシュ関数HFは、その完全なアルゴリズムを含み、デジタル証人DW203に格納される必要がある。
【0102】
次のステップは、(ステップ24で計算された)ハッシュコードHCをデジタル証人DW203に登録するステップ25である。このステップは任意選択であるが、検証プロセスにおける計算の速度を高める。
【0103】
次に方法は、ハッシュコードHCの表現をシステム100へ送信するステップ27へ進む。上述したように、ハッシュコードHCの表現は、以下、転送ハッシュコードTHCと呼ばれる。ハッシュコードHCの表現は、転送ハッシュコードTHC生成ステップ26において行われる。ただし留意すべき点として、転送ハッシュコードTHCは、全ハッシュコードHCであってもよい。システム200は、ハッシュコードHCを転送ハッシュコードTHCに変換する様々な方法を提供し得る。システム200において定義されていない場合、これらの変換方法は、ハッシュコードHCの転送ハッシュコードTHCへの信頼できる変換を可能にするような方法でデジタル証人DW203に格納される必要がある。転送ハッシュコードTHCは、利便性のため、または本発明の方法の実行の速度を高めるため、または他の要因によって用いられる。したがって、ハッシュコードHCの表現を送信するステップの前に、ハッシュコードHCをその表現に、すなわち転送ハッシュコードTHCに変換するステップ26があってよい。
【0104】
上記変換方法は、省略機能を用いてハッシュコードHCを短縮すること、ハッシュコードHCを、作成者1によって行う(繰り返す)必要がある何らかの動作またはジェスチャのセット(たとえば、転送ハッシュコードTHCを声高に読み上げること、ハンドジェスチャを行うこと、形状を再描画すること、取得したイベントデータのフレームまたは角度を変更するために特定の方法でカメラを移動/ズームすること)に変換することを含むが、これに限定されない。
【0105】
ハッシュコードHCをその表現に、すなわち転送ハッシュコードTHCに変換する各方法は、ユーザ4が、確認イベントデータC-EDに示されるイベント内でそれを疑いなく認識することが可能であればよい。重ねて留意すべき点として、転送ハッシュコードTHCは全ハッシュコードHCであってもよい。
【0106】
次のステップは、確認イベントCEの確認データC-Dを受信するステップ28であり、確認イベントCEは、領域内に追加で組み込まれたハッシュコードHCの表現を備えるソースイベントSEであり、確認データC-Dは、確認イベントデータC-EDの表現である。
【0107】
次に方法は、確認イベントデータC-EDの表現である上記確認データC-Dをデジタル証人DW203に登録するステップ29へ進む。上述したフィンガプリントおよび有意ハッシュ関数入力データSHFIDに関する全ての記載は、ここでも当てはまる。
【0108】
次のステップは、信任された時間ソース300から、確認データC-Dのタイムスタンプを取得し、それを不変のデータベース203に登録するステップ30である。
【0109】
システム200は、通信手段を用いて、確認データC-Dの取得の瞬間またはデジタル証人DW203への登録の直後、確認データC-Dのタイムスタンプを取得する。タイムスタンプ処理のために複数の時間ソースが用いられ得る。これらのソース(複数も可)に関する情報は、好適にはデジタル証人DW203に格納される。確認データC-Dをタイムスタンプ処理するプロセスは、信任されたソースから確認データC-Dのタイムスタンプを取得すること、およびこのタイムスタンプをデジタル証人DW203に記録することを指す。
【0110】
その後、方法は任意選択的に、少なくとも確認データC-D、確認データC-Dのタイムスタンプ、およびハッシュコードHCを入力として有するハッシュ関数HFを用いて確認ハッシュコードCHCを計算するステップ31へ進む。確認ハッシュコードCHCは、デジタル証人DW203に登録される。確認ハッシュコードCHCは、たとえば公判中に用いられるために、実際のイベント発生の独立した証拠がデジタル証人DW203から抽出される時のデータ整合性に関する迅速かつ容易なチェックを提供するために用いられ得る。
【0111】
任意選択的に、システム200によって行われる時刻証明を提供する方法は、イベント発生証明POEOを準備および送信するステップ32を備える。これは、登録した実際のイベントに関する使い勝手の良い情報であり、好適には、実際のソースイベントSEの発生時間、確認イベントCEの発生時間、ハッシュコードHC、(妥当な場合)転送ハッシュコードTHC、デジタル証人DW203の名称、およびデジタル証人DW203における記録の位置を含むべきである。
【0112】
ここで、発生の実時間と結び付けられた実際のイベントのデジタル表現の検証のためにデータを提供する方法が、発生の実時間と結び付けられた実際のイベントのデジタル表現の検証方法と共に説明される。実際には、これらの方法は、少なくとも2つの遠隔でローカライズされたシステム、すなわちデジタル証人DW203を備えるシステム200およびエンドユーザ4のシステム400でもそれぞれ行われる。
【0113】
検証方法中にシステム200によって行われる動作は、
図6を参照して説明され、ユーザ4のシステム400によって行われる動作は、
図7を参照して説明される。これらの動作は、システム200に埋め込まれた検証プロセスソフトウェアモジュール220およびシステム400に埋め込まれた既知の手段または専用ソフトウェアモジュールによって行われる。
【0114】
ここで、ユーザ4という用語は、システム100を用いて作成者1によって作成されデジタル証人DW203に格納された、実際のイベントAEとその実時間タイムスタンプとの間のリンクを検証することが可能である、および/またはそのための技術的手段を有する1または複数人の人間、または人工知能や同様のアルゴリズムを含む1または複数のエンティティを意味する。
【0115】
上述したように、本発明は、転送ハッシュコードTHCをソースイベントSEの領域内に組み込む前および後に同じ実際のイベントを示すイベントデータを用いる。イベントデータに示されるイベントが適切な程度の詳細を含む場合、ユーザ4は、(たとえばソースイベントデータS-EDおよび確認イベントデータC-EDなどの)異なるイベントデータが同じ実際のイベントを表現するかを見分けることができる。
【0116】
一般に、上記検証プロセスのために、発生の実時間と結び付けられた実際のイベントのデジタル表現を生成するプロセスにおいて格納された完全データが必要である。この完全データは、以下、検証データVDと称される。検証データVDは、
・妥当な場合、フィンガプリントおよび/または有意ハッシュ関数入力データSHFIDを有するソースイベントデータS-ED
・妥当な場合、フィンガプリントおよび/または有意ハッシュ関数入力データSHFIDを有する確認イベントデータC-ED
・ソースイベントデータS-EDの表現であるソースデータS-Dのタイムスタンプ
・ソースデータS-Dのタイムスタンプに示される瞬間における不変のデータベースの状態
・確認イベントデータC-EDの表現である確認データC-Dのタイムスタンプ
・ハッシュコードHCおよび(転送ハッシュコードTHCである)その表現
・妥当な場合、確認ハッシュコードCHC
・妥当な場合、イベント発生証明POEO
・方法であって、
・(ソースイベントデータS-EDの表現である)ソースデータS-Dを生成する
・(確認イベントデータC-EDの表現である)確認データC-Dを生成する
・妥当な場合、フィンガプリントを生成する
・妥当な場合、有意ハッシュ関数入力データSHFIDを生成する
・ハッシュコードおよび(転送ハッシュコードTHCである)ハッシュコードの表現を生成する
・妥当な場合、確認ハッシュコードCHCを生成する
・妥当な場合、イベント発生証明POEOを生成する
ために用いられた方法
を含む、デジタル証人DW203に格納されたデータ、ならびにデジタル証人203以外に格納されたデータである。
【0117】
検証プロセスはいくつかのステップで動作するが、それらの主目的は、検証データVDの一貫性を確認し、その後、人間の感覚機能に代替する手段または人間の感覚によって行われる検査のためにソースイベントデータS-EDおよび確認イベントデータC-EDを取り出すことである。
【0118】
検証データVDの一貫性の確認は、
・ソースデータS-Dのタイムスタンプを取得する瞬間にデジタル証人DW203がある特定の状態であったこと
・ソースデータS-DがソースイベントデータS-EDの表現であること
・確認データC-Dが確認イベントデータC-EDの表現であること
・転送ハッシュコードTHCがハッシュコードHCの表現であること
・デジタル証人203に格納されたハッシュコードHCが、本発明で説明される方法に従って再計算され得ること
・任意選択的に、デジタル証人203に格納された確認ハッシュコードCHCが、本発明で説明される方法に従って再計算され得ること
を数学的に証明するために、格納された情報に従って全ての値を再構築および再計算することから成る。上述した動作のいずれかが成功しなかった場合、検証プロセスは失敗であり、続行することができない。
【0119】
検証プロセスのために、デジタル証人DW203の状態の再計算は常に、ソースデータS-Dに添付されたタイムスタンプによって示される瞬間におけるデジタル証人DW203の特定の状態に関して行われる。
【0120】
一般に、データの一貫性を確認するプロセスは、方法に関して任意選択であり、システム200および/またはシステム400によって行われ得る。
【0121】
実際に、一貫性をチェックするためにシステム400が必要とする検証データVDは、発生の実時間と結び付けられたデジタル表現の検証のためのデータを提供する方法ステップ中に抽出される。すなわち、システム200は、検証データVD、すなわち発生の実時間と結び付けられた対象となる実際のイベントに関する、本発明に従って生成されたデータに関する問合せを受信する。その後、システム200は、上記対象となる実際のイベントに関するデータが、問合せされている不変のデータベース203に存在するかをチェックする。最後に、システム200は、対象となる上記実際のイベントに関して問合せされたデータを送信する。同時に、必須ではないが、システム200自体が検証データVDの一貫性をチェックしてよい。上述したように、(その不変性にかかわらず)デジタル証人DW203に格納されたデータの一貫性を確認することは、検証プロセスにおける所望のステップでしかない。
【0122】
データ一貫性が確認されると、ソースイベントデータS-EDに示されるイベントが(ソースイベントデータS-EDの表現である)ソースデータS-Dのタイムスタンプにリンクされ得るという証明が、
・ソースイベントデータS-EDに示される実際のイベントと、確認イベントデータC-EDに示される実際のイベントとの感覚的または人間を介さない自動的な比較、および
・確認イベントデータC-EDにおいて認識可能な、ソースイベントSEの領域内に組み込まれた転送ハッシュコードTHCが、デジタル証人DW203に格納された転送ハッシュコードTHCと同じであるかをチェックすること
の順序を問わない組み合わせによって決定され得る。チェックは、AI(または同様の)アルゴリズムを有するまたは有さないシステム400を用いてそれぞれ全自動的または半自動的に行われてもよい。
【0123】
1つの実施形態において、ユーザ側で、発生の実時間と結び付けられたデジタル表現の検証方法の以下のステップが行われる。最初に、問合せするステップ50において検証データVDに関してシステム200に問合せした後、ステップ51において不変のデータベース203を備えるシステム200から検証データVDが取り出され、上記検証データVDは、本発明に係る方法によって生成された対象となるイベントに関し、上記データは少なくとも、ハッシュコードHCの表現、ソースデータS-D、および確認データC-Dである。次に、任意選択的に、ステップ52において一貫性をチェックした後、および任意選択的に、ソースデータS-Dおよび確認データC-D再構築ステップ53において必要なデータを再構築した後、システム400はステップ54において、AIまたは同様のアルゴリズムを用いて、確認イベントデータC-EDとして登録された実際のイベントとのコンテキスト内でハッシュコードHCの表現を見つける。最後にシステム400は、AIまたは同様のアルゴリズムを用いて、ソースデータS-Dによって表現される、登録されたソースイベントSEと、確認データC-Dによって表現される確認イベントCEとを比較する。
【0124】
「感覚的な比較」は、(上述の実施形態を参照して説明したように)人間の感覚を用いて、または人間の感覚に等しい手段によってユーザ4による確認が行われることを意味する。ユーザ4が人間である場合、確認は、たとえば視覚的または聴覚的に行われ得る。検証を行うユーザ4は、システム400を提供された人間であってよいが、上述したように、本明細書で説明するステップを完了することが可能な人工知能を含む電子アルゴリズムを備える上記システム400によって完全に代替され得る。
【0125】
感覚検査は、たとえばハッシュコードHCの表現(すなわち転送ハッシュコードTHC)をSEの領域内に組み込む前に、イベントデータが単一モードで(たとえば写真として)取得され、組込みの後、連続モードで(たとえばビデオ記録として)取得された場合など、異なるモードで取得されたイベントデータを比較するためにも十分である。
【0126】
イベントデータが連続モードで(たとえばビデオ記録として)中断されずに取得され、作成者1が、取得されたイベントデータに示されるイベントの連続性を維持した場合、ソースデータS-Dおよび/または確認データC-Dのタイムスタンプによって示される瞬間の前および後に起こった全ての実際のイベントの正確な発生時間を決定する可能性が増す。この特徴は、リアルタイムマルチメディアストリーミングを証明するためにも用いられ得る。
【0127】
これまで、訴訟における証拠を提供するための本発明の潜在的用途を考慮して、かつ人間の証人の概念が認識される現在の運用基準を考慮して、人間による感覚評価が可能であることが、任意の電子的手段によってこの評価を行うことより好ましい。
【0128】
上述したように、検証プロセスはユーザのシステム400において動作し、システム400は、対象イベントに関する情報を格納するデジタル証人DW203(不変のデータベース203)を知っている必要がある。いくつかの実施形態は、実際のイベントを発生の実時間と結び付けるためにどんな種類のデータが生成されたかに依存して、かつ上記データがどこに格納されているかに依存して差別化され得るので、検証プロセスの対応するいくつかの実施形態も存在する。
【0129】
典型的な実施形態において、作成者1のシステム100が、ソースイベントデータS-EDと等しくないソースデータS-Dを用いる場合、ユーザ4のシステム400は、ソースイベントデータS-EDを有する必要がある。作成者1が、確認イベントデータC-EDと等しくない確認データC-Dを用いる場合、ユーザ4のシステム400は、確認イベントデータC-EDを有する必要がある。
【0130】
ユーザ4のシステム400が1つのファイルだけを有する場合(すなわち、イベントデータ取得が連続的であり、ソースイベントデータS-EDが確認イベントデータC-EDの一部であった場合)、システム400は、ソースイベントデータS-EDのサイズに基づいて、確認イベントデータC-EDからソースイベントデータS-EDを抽出する必要がある。この例において、ソースイベントデータS-EDのサイズに関する情報が失われている場合、ユーザ4のシステム400は、ソースイベントデータS-EDのサイズを決定するため、およびそれを確認イベントデータC-EDから取り出すために、時間のかかる「総当たり」方法を理論的に適用することができる。
【0131】
検証プロセスを簡略化するために、自身のシステム100を用いる作成者1は、システム400と通信することによって、たとえばイベント発生証明POEOをユーザ4に提供してよく、上記イベント発生証明POEOは、検証プロセスに関連するデータを含む。
【0132】
図6および
図7を参照すると、留意され得る点として、対象イベントに関するデータに関する問合せを受信するステップ40において、デジタル証人DW203は、当然、本発明に係る、発生の実時間と結び付けられた実際のイベントのデジタル表現を生成する方法に従って生成された対象イベントに関するデータに関してユーザ4のシステム400によって問合せされる。
・デジタル証人DW203にソースイベントデータS-EDおよび全確認イベントデータC-EDが格納されていた場合、対象イベントに関するデータに関する問合せに関して、作成者1および/またはユーザが知っている、対象イベントがいつ発生したかということで十分であり、
・他の場合(たとえばイベント発生時間が正確に知られていない場合)、問合せは、対象イベントにリンクされた任意のデータ、たとえばソースデータS-D、確認データC-D、または転送ハッシュコードTHCに基づかなければならない。
【0133】
問合せされたデータの存在をチェックするステップ41において、問合せされたデータがデータベースに存在するかのチェックがチェックされる。問合せされたデータがデジタル証人DW203において発見された場合、検証データVDが取り出される。
【0134】
問合せされたデータの一貫性をチェックし、任意選択的に問合せされたデータの一貫性を同時にローカルにチェックするステップ42において、ハッシュコードHCおよび確認ハッシュコードCHCは、データ一貫性をチェックするために(たとえばシステム200によって、および/またはユーザのシステム400によってローカルに)再計算される。再計算された値のいずれかがデジタル証人DW203に格納された対応する値と一致しない場合、検証プロセスは失敗である。
【0135】
ソースデータS-DがソースイベントデータS-EDと等しくない、および/または確認データC-Dが確認イベントデータC-EDと等しくない場合、上述したデータの両者がそれぞれソースイベントデータS-EDまたは確認イベントデータC-EDの表現であることの確認を得る必要がある。
a)ソースデータS-DがソースイベントデータS-EDと等しくなく、対応するソースイベントデータS-EDがデジタル証人DW203に格納されている場合、ソースデータS-Dは、システム200から取り出された情報に従って(システム200によって、またはユーザのシステム400によってローカルに)再計算される。
b)ソースデータS-DがソースイベントデータS-EDと等しくなく、対応するソースイベントデータS-EDがデジタル証人DW203外に格納されている場合、ユーザ4のシステム400は、
i)ソースデータS-Dに関する取り出した情報に従って、ソースイベントデータS-EDからソースデータS-Dをローカルに再計算し、
ii)システム200が、ソースデータS-Dに関する取り出された情報に従って上記再計算を行うことができるように、システム200にS-EDをアップロードする。
c)ソースイベントデータS-EDの再計算されたソースデータS-Dが、デジタル証人DW203に格納された対応するソースデータS-Dと一致しない場合、検証プロセスは失敗である。
d)確認データC-Dが確認イベントデータC-EDと等しくない場合、プロセスは、ソースデータS-DがソースイベントデータS-EDと等しくない場合のプロセスと同じである。
【0136】
データ一貫性が確認された後、ソースイベントデータS-EDおよび確認イベントデータC-EDは、ユーザ4によるそれらの感覚検査を可能にするために、それらの種類に依存して提示、たとえば表示または再生される必要がある。感覚的知覚により、ユーザ4は、感覚検査を行い、
・組み込まれた転送ハッシュコードTHCを含む、確認イベントデータC-EDに示されるイベントが、ソースイベントデータS-EDに示されるイベントと一致するか、
・ソースイベントSEの領域内に組み込まれた転送ハッシュコードTHC(確認イベントCEの物理コンテキスト内で認識可能な転送ハッシュコードTHC)が、デジタル証人DW203から取り出された転送ハッシュコードTHCと一致するか
をチェックする。
【0137】
検証プロセスは、ユーザの感覚検査に従って、ソースイベントデータS-EDおよび確認イベントデータC-EDが同じ実際のイベントAEを示し、ソースイベントSEの領域内に組み込まれた転送ハッシュコードTHCが、デジタル証人DW203に格納された転送ハッシュコードTHCと一致する場合、成功して完了する。
【0138】
検証プロセスが成功である場合、ソースイベントデータS-EDに示されるソースイベントSEとソースイベントSE発生時間との間のリンクが確認され、この時間は、ソースデータS-Dのタイムスタンプに含まれる。
【0139】
S-EDおよびC-EDに示されるイベントの感覚検証は、必須ではないがユーザ4の感覚的知覚により、ユーザ4のシステム400によって完了する。他の実施形態において、AI(または同様の)アルゴリズムを用いて完全自動化システム400が用いられ得る。上述したように、イベントデータEDが連続モードで取得され、記録されたシーンの連続性が維持された場合、ソースイベントSEの領域内に転送ハッシュコードTHCを組み込む前および後に発生する全てのイベントの正確な時間を決定する可能性が増す。
【0140】
発生の実時間と結び付けられた実際のイベントのデジタル表現を検証する検証方法を行うために、(上述したような)ユーザ4のシステム400が必要である。発生の実時間と結び付けられた実際のイベントのデジタル表現を検証するためのシステム400(不図示)は、デジタル証人DW203を備えるシステム200と接続し、検証データVDを取り出すように構成された手段を備える。
【0141】
1つのファイルしか取り出されない(C-EDがS-EDを含む)場合、ユーザ4のシステム400は、デジタル証人DW203またはその他どこかに格納されたソースイベントデータS-EDのサイズに基づいて、確認イベントデータC-EDからソースイベントデータS-EDを抽出することが可能でなくてはならない。ソースイベントデータのサイズに関する情報が失われている場合、ユーザ4のシステム400は、ソースイベントデータS-EDのサイズを決定するため、およびそれを確認イベントデータC-EDから抽出するために、時間のかかる「総当たり」方法を理論的に適用することができる。
【0142】
ソースデータS-DがソースイベントデータS-EDと等しくなく、対応するソースイベントデータS-EDがデジタル証人DW203外のどこかに格納されている場合、ユーザ4のシステム400は、検証データVDに含まれる情報に従って、ソースイベントデータS-EDからソースデータS-Dをローカルに再計算する、または検証データVDに含まれる情報に従って、システム200がソースデータS-Dの上記再計算を行うことができるようにシステム200にソースイベントデータS-EDをアップロードするように構成されなければならない。
【0143】
確認データC-Dが確認イベントデータC-EDと等しくなく、対応する確認イベントデータC-EDがデジタル証人DW203外のどこかに格納されている場合、プロセスは、上述したソースデータS-Dの例と同じように動作する。
【0144】
システム200から取り出されたデータが一貫性を証明されると、検証プロセスの次のステップが行われてよく、このステップは感覚検証である。
【0145】
感覚的知覚を用いて、ユーザ4は、ソースイベントSEの領域内に転送ハッシュコードTHCを組み込む前および後に取得されたイベントデータEDに示されるイベントを感覚的に比較することができる。ユーザ側のシステム400に人工知能アルゴリズムが実装されている場合、同じことが自動的に行われ得る。ソースイベントデータS-EDおよび確認イベントデータC-EDが同じ実際のイベントAEを表し、確認イベントデータC-EDにおいて認識可能な転送ハッシュコードTHCが、不変のデータベース203(デジタル証人DW203)に保存されたものと一致する場合、ソースイベントデータS-EDに示される実際のイベントAEが、ソースイベントデータS-EDの表現であるソースデータS-Dのタイムスタンプによって示される時間に発生したという確実性が存在する。
【0146】
ユーザ4のシステム400(不図示)は、ユーザ4が、感覚的知覚(たとえば視覚または聴覚)を用いて、ソースイベントデータS-EDに示されるイベントと確認イベントデータC-EDに示されるイベントとの類似性を決定するために、加えて連続モードで取得されたイベントデータEDの場合、確認イベントデータC-EDに示されるイベント内で認識可能な転送ハッシュコードTHC(すなわち、ソースイベントSEの領域内に組み込まれた転送ハッシュコードTHC)が、デジタル証人DW203から取り出された転送ハッシュコードTHCと一致するかをチェックするため、それらの連続性を決定するために、それらを感覚的(たとえば視覚的、聴覚的)に比較することを可能にしなければならず、ユーザ4が人間である場合、このプロセスは感覚的(たとえば視覚的または聴覚的)に行われ得る。
【0147】
ユーザ4が人間である場合、上述した動作、特にデジタル証人DW203を備えるシステム200との全てのインタラクションおよび全ての計算/再計算は、コンピュータプログラム、たとえばモバイルアプリケーション410を用いて遂行され得る。
【0148】
ここで、本発明に係る方法およびシステムのいくつかの使用例を記載する。
【0149】
例1 イベントデータのフィンガプリントの計算を伴わない単一モードデジタル表現
本発明の可能な実施形態の1つにおいて、実際のイベントのデジタル表現をその発生の実時間と結び付ける方法は、単一モードで登録されたイベントに関し、システム200へ全イベントデータを送信することを備える。システム200は、デジタル証人DW203を備える。この実施形態において、方法は以下のステップを備える。
(1)作成者1の役割を果たす人間は、実際のイベントの発生の実時間を確認することを所望し、全てのハッシングのために1つだけの公衆(公開)ハッシュ関数HF-SHA-2を用いる公衆(公開)システム200を使用することを選択する。デジタル証人DW203の状態を記述するデータは、ソースデータS-Dを取得する瞬間より前にデジタル証人DW203に格納された全てのデータのフィンガプリントである。システム200は、全ての目的に関する時間ソース300として、人間によって信任されたインターネットアドレス「http://time.is」の下で利用可能なインターネット「実時間」サービスを用いる。システム200によって生成された転送ハッシュコードTHCは、ハッシュコードHCと等しい。人間のスマートフォン100にインストールされた専用アプリケーション110は、システム200との通信を提供する。
(2)人間は、スマートフォン100を用いて、ソースイベントSEのソースイベントデータS-EDを写真として取得する。
(3)ソースイベントデータS-EDであるソースデータS-Dは、アプリケーション110によってシステム200へ送信される。
(4)システム200は、SHA-2ハッシュ関数を用いてその状態を記述するデータを計算し、ソースデータS-Dをデジタル証人DW203に記録し、その直後、ソースデータS-Dのタイムスタンプを取得してデジタル証人DW203に記録する。
(5)システム200は、次の成分(1)デジタル証人DW203の状態を記述するデータ、(2)ソースデータS-D、および(3)ソースデータS-Dのタイムスタンプを用いて、SHA-2ハッシュ関数を用いてハッシュコードHCを計算する。
(6)システム200は、ハッシュコードHCをデジタル証人DW203に記録する。ハッシュコードHCと等しい転送ハッシュコードTHCは、システム200によって人間のスマートフォン100へ返送され、スマートフォン100のスクリーンに表示される。
(7)人間は、転送ハッシュコードTHCを紙片に書き、その後、確認イベントCEを作成するためにソースイベントのコンテキスト内に紙片を配置することによって、転送ハッシュコードTHCをソースイベントSEの領域内に組み込む。
(8)人間は、スマートフォン100を用いて、確認イベントCEの確認イベントデータC-EDを写真として取得する。この写真は、可能な限りソースイベントSE写真と類似しなければならず、転送ハッシュコードTHCを含む紙片は、この写真のフレーム内で認識可能、視認可能、かつ解読可能でなければならない。
(9)確認イベントデータC-EDである確認データC-Dは、アプリケーション110によってシステム200へ送信される。
(10)システム200は、確認データC-Dをデジタル証人DW203に記録し、直ちに、確認イベントデータC-EDのタイムスタンプを取得してデジタル証人DW203に記録する。
(11)システム200は、次の成分(1)確認データC-D、(2)確認データC-Dのタイムスタンプ、および(3)ハッシュコードHCを用いて、SHA-2ハッシュ関数を用いて確認ハッシュコードCHCを計算する。
(12)システム200は、確認ハッシュコードCHCをデジタル証人DW203に記録する。
(13)ソースイベントデータS-EDのタイムスタンプ、ハッシュコードHC、確認イベントデータC-EDのタイムスタンプ、確認ハッシュコードCHC、使用されたハッシュ関数HF(SHA-2)に関する情報、および格納されたデータに関する記録のアドレスを有するデジタル証人DW203の名称を含むイベント発生証明POEOは、システム200によって人間のスマートフォンアプリケーション110へ返送され、スマートフォン100のスクリーンに表示され、アプリケーション110によってローカルに保存される。
【0150】
実時間タイムスタンプをソースイベントSEと結び付ける手順が完了する。
【0151】
ここで、単一モードデジタル表現を用いる、第1の例の検証プロセスの対応例を説明する。
(1)ユーザ4の役割を果たす人間は、イベントがいつ発生したかをチェックすることを所望する。彼は、作成者1から、(ソースイベントデータS-EDのタイムスタンプである)イベント発生の正確な時間に関する情報および対象イベントに関する情報を格納するデジタル証人DW203へのアクセスに関する情報(システム200のインタフェースのウェブアドレス)を含むイベント発生証明POEOを取得した。デジタル証人DW203を備えるシステム200は、通信のためにウェブインタフェースを用いる。ユーザ4としての役割を果たす人間は、システム400を用いる。
(2)スマートフォン400は、人間とシステム200のウェブページとを接続し、イベント発生証明POEOに含まれるタイムスタンプによって明示される時間に発生したイベントに関して問合せする。
(3)問合せが発見されると、データ一貫性をチェックするために、システム200によって、デジタル証人DW203の状態を記述するデータ、ハッシュコードHC、および確認ハッシュコードCHCがSHA-2ハッシュ関数HFを用いて再計算される。一貫性が維持されている場合、転送ハッシュコードTHC、ソースデータS-D、確認データC-D、およびソースデータS-Dのタイムスタンプがウェブページに表示される(注:ソースデータS-Dおよび確認データC-Dは写真である)。
(4)人間は、ソースデータS-Dに示されるイベントと、確認データC-Dに示されるイベントとを視覚的に比較する必要がある。人間が、ソースデータS-Dおよび確認データC-Dが同じ実際のイベントを示すと判断すると、検証は続行する。
(5)人間は、確認データC-Dの領域内で視認できる転送ハッシュコードTHCが、ウェブページに表示された転送ハッシュコードTHCと同じであるかをチェックする必要がある。両者の転送ハッシュコードTHCが一致すると、ソースデータS-Dに示されるイベントの発生時間はソースデータS-Dのタイムスタンプに含まれており、検証は成功である。
【0152】
例2 イベントデータのフィンガプリントの計算を伴う単一モードデジタル登録
本発明の他の可能な実施形態において、実際のイベントのデジタル表現をその発生の実時間と結び付ける方法は、単一モードで登録されたイベントに関し、全イベントデータのフィンガプリントのみをシステム200へ送信することを備える(全イベントデータは、作成者1によってローカルに格納される)。システム200は、デジタル証人DW203を備える。この実施形態において、方法は以下のステップを備える。
(1)作成者1の役割を果たす人間は、実際のイベントの発生の実時間を確認することを所望し、フィンガプリントの計算を含む、全てのハッシングのために1つだけの公衆(公開)ハッシュ関数HF-SHA-2をデフォルトで用いる公衆(公開)システム200を使用することを選択する。デジタル証人DW203の状態を記述するデータは、ソースデータS-Dを取得する瞬間より前にデジタル証人DW203に格納された全てのデータのフィンガプリントである。システム200は、全ての目的に関する時間ソース300として、人間によって信任されたインターネットアドレス「http://time.is」の下で利用可能なインターネット「実時間」サービスを用いる。システム200によって生成された転送ハッシュコードTHCは、ハッシュコードHCと等しい。システム200は、フィンガプリントを計算するために様々なハッシュ関数HFを提供する。人間は、ソースイベントデータS-EDのフィンガプリントおよび確認イベントデータC-EDのフィンガプリントを計算するために非標準的なSHA-3ハッシュ関数HFを選択する。人間は、システム200において、各計算されたフィンガプリントと共に、追加の情報、すなわち有意ハッシュ関数入力データSHFIDを格納する選択肢を選択し、上記有意ハッシュ関数入力データSHFID値は、各フィンガプリントを計算するハッシュ関数HFの入力データのサイズと等しい。人間のスマートフォン100にインストールされた専用アプリケーション110は、(デジタル証人DW203を備える)システム200との通信を提供し、ローカル計算を行うための内蔵ハッシュ関数HF SHA-3を有する。
(2)人間は、スマートフォン100を用いて、ソースイベントSEのソースイベントデータS-EDを写真として取得する。ソースイベントデータS-EDは、アプリケーション100によってローカルに格納される。
(3)ソースデータS-Dは、スマートフォンアプリケーション110に内蔵されたSHA-3関数を用いてスマートフォン100でローカルに計算されたソースイベントデータS-EDのフィンガプリントと等しい。有意ハッシュ関数入力データSHFIDは、ソースイベントデータS-EDのサイズと等しくなるように設定される。上記フィンガプリントを計算するために用いられたハッシュ関数HFに関する(SHA-3方法に関する)情報ならびに有意ハッシュ関数入力データSHFIDを生成するために用いられた方法に関する情報は、アプリケーション110によってシステム200へ送信され、システム200によってデジタル証人DW203に格納される。
(4)ソースデータS-Dおよび有意ハッシュ関数入力データSHFIDは、スマートフォン100のアプリケーション110によってシステム200へ送信される。
(5)システム200は、ソースデータS-Dおよび有意ハッシュ関数入力データSHFIDをデジタル証人DW203に記録し、その直後、ソースデータS-Dのタイムスタンプを取得してデジタル証人DW203に記録する。
(6)システム200は、SHA-2ハッシュ関数HFを用いてその状態を計算し、次の成分(1)デジタル証人DW203の状態を記述するデータ、(2)ソースデータS-D、および(3)ソースデータS-Dのタイムスタンプを用いて、同じ関数を用いてハッシュコードHCを計算する。
(7)システム200は、ハッシュコードHCをデジタル証人DW203に記録する。ハッシュコードHCと等しい転送ハッシュコードTHCが人間のスマートフォン100へ返送され、そのスクリーンに表示される。
(8)人間は、転送ハッシュコードTHCを紙片に書き、確認イベントCEを作成するために、それをソースイベントSEのコンテキスト内に配置することによって、転送ハッシュコードTHCをソースイベントSEの領域内に組み込む。
(9)スマートフォン100を用いる人間は、確認イベントCEの確認イベントデータC-EDを写真として取得する。この写真は、可能な限りソース写真と類似しなければならず、転送ハッシュコードTHCを含む紙片は、この写真のフレーム内で認識可能、視認可能、かつ解読可能でなければならない。確認イベントデータC-EDは、アプリケーション110によってローカルに格納される。
(10)確認データC-Dは、スマートフォンアプリケーション110に内蔵されたSHA-3関数を用いてスマートフォン100でローカルに計算された確認イベントデータC-EDのフィンガプリントと等しい。有意ハッシュ関数入力データSHFIDは、確認イベントデータC-EDのサイズと等しくなるように設定される。上記フィンガプリントを計算するために用いられたハッシュ関数HFに関する(SHA-3方法に関する)情報ならびに有意ハッシュ関数入力データSHFIDを生成するために用いられた方法に関する情報は、アプリケーション110によってシステム200へ送信され、更に、システム200によってデジタル証人DW203に格納される。
(11)確認データC-Dおよび有意ハッシュ関数入力データSHFIDは、アプリケーション110によってシステム200へ送信される。
(12)システム200は、確認データC-DおよびそのSHFIDをデジタル証人DW203に記録し、その直後、確認データC-Dのタイムスタンプを取得してデジタル証人DW203に記録する。
(13)システム200は、次の成分(1)確認データC-D、(2)確認データC-Dのタイムスタンプ、および(3)ハッシュコードHCを用いて、SHA-2ハッシュ関数HFを用いて確認ハッシュコードCHCを計算する。
(14)システム200は、確認ハッシュコードCHCをデジタル証人DW203に記録する。有意ハッシュ関数入力データSHFIDを有するソースデータS-D(注:ソースデータS-Dはフィンガプリントである)、ソースデータS-Dのタイムスタンプ、ハッシュコードHC、有意ハッシュ関数入力データSHFIDを有する確認データC-D(注:確認データC-Dはフィンガプリントである)、確認データC-Dのタイムスタンプ、確認ハッシュコードCHC、用いられたハッシュ関数に関する情報(すなわち、両方のフィンガプリントに関するSHA-3、およびハッシュコードHC、確認ハッシュコードCHC、およびデジタル証人DW203の状態を記述するデータに関するSHA-2)、ならびに、格納されたデータに関する記録のアドレスを有するデジタル証人DW203の名称を含むイベント発生証明POEOは、人間のスマートフォンアプリケーション110へ返送され、スマートフォン100のスクリーンに表示され、アプリケーション110によってローカルに保存される。
【0153】
実時間タイムスタンプをソースイベントと結び付ける手順が完了する。
【0154】
ここで、単一モードのデジタル表現を用いる、第2の例の検証プロセスの対応例を説明する。
(1)システム400を用いる、ユーザの役割を果たす人間は、いつイベントが発生したかをチェックすることを所望する。彼は、作成者1から、ソースイベントデータS-ED、確認イベントデータC-ED、SHA-3ハッシュ関数HFを用いて計算されたフィンガプリントであるソースデータS-Dおよび確認データC-Dを計算するために用いられたハッシュ関数HFに関する情報、およびイベントに関する情報を格納するデジタル証人DW203へのアクセス方法に関する情報を含むイベント発生証明POEOを取得した。(デジタル証人DW203を備える)システム200は、通信のためにウェブインタフェースを用いる。システム200は、作成者によって用いられたハッシュ関数HFを含む、ソースデータS-Dおよび確認データC-Dの計算に関する全情報を含む。(ただし、作成者1は、イベント発生の正確な時間を覚えている必要はない)。ユーザ4の意図は、検証プロセスに必要な全ての再計算を行うためにシステム200を用いることである。ユーザ4の役割を果たす人間は、システム400を用いる。
(2)人間は、ソースイベントデータS-EDに示されるイベントと確認イベントデータC-EDに示されるイベントとを視覚的に比較する必要がある。この比較により、それらが同じ実際のイベントを表す場合、検証は続行する。
(3)人間は、システム200のインタフェースである上記ウェブページへ行き、スマートフォン400を用いてソースイベントデータS-EDおよび確認イベントデータC-EDをデジタル証人DW203にアップロードし、デジタル証人DW203がそれらのSHFIDを用いてフィンガプリントを再計算することを可能にする。
(4)システム200は、この例においてSHA-3ハッシュ関数HFである、フィンガプリントを計算するために用いられた方法に関する情報を取り出し、この例においてフィンガプリントを計算するために用いられた各ハッシュ関数HFの入力データのサイズを割り当てることによって生成される、有意ハッシュ関数入力データSHFIDの生成に関する情報を取り出す。
(5)システム200は、アップロードされたソースイベントデータS-EDの長さと等しくなるようにソースデータS-Dの有意ハッシュ関数入力データSHFIDを設定する。
(6)システム200は、アップロードされた確認イベントデータC-EDの長さと等しくなるように確認データC-Dの有意ハッシュ関数入力データSHFIDを設定する。
(7)アップロードされたソースイベントデータS-EDおよび確認データC-EDを用いて、システム200は、SHA-3ハッシュ関数HFにより、それぞれソースデータS-Dおよび確認データC-Dを再計算する(注:ソースデータS-Dおよび確認データC-Dは、対応する全イベントデータのフィンガプリントである)。
(8)システム200は、再計算されたソースデータS-D、確認データC-D、およびそれらの対応する有意ハッシュ関数入力データSHFIDに関してデジタル証人DW203を検索する。データが見つかった場合(これは、それらがデジタル証人DW203に既に保存されていたものと等しいことを意味する)、検証は続行する。
(9)データ一貫性をチェックするために、デジタル証人DW203の状態を記述するデータ、ハッシュコードHC、および確認ハッシュコードCHCを再計算するためにシステム200によってSHA-2関数が用いられる。これらのデータが一貫している場合、転送ハッシュコードTHCおよびソースデータS-Dのタイムスタンプがデジタル証人DW203から取り出され、スマートフォン400上でユーザ4に表示される。
(10)デジタル証人DW203からシステム200によって取り出された転送ハッシュコードTHCが、確認イベントデータC-EDに示されるSEの領域内に組み込まれた転送ハッシュコードTHCと一致する場合、ユーザ4は、ソースイベントデータS-EDに示されるソースイベントが、ソースデータS-Dのタイムスタンプによって示される時間に発生したことを確信し得る。検証は成功である。
【0155】
例3 イベントデータのフィンガプリントの計算を伴わない連続モードデジタル表現
【0156】
本発明の他の可能な実施形態において、実際のイベントのデジタル表現をその発生の実時間と結び付ける方法は、連続モードで登録されたイベントに関し、全イベントデータをシステム200へ送信することを備える。システム200は、デジタル証人DW203を備える。この実施形態において、方法は、以下のステップを備える。
(1)作成者1の役割を果たす人間は、実際のイベントの発生の実時間を確認することを所望し、全てのハッシングのために1つだけの公衆(公開)ハッシュ関数HF-SHA-2を用いる公衆(公開)システム200を使用することを選択する。デジタル証人DW203の状態を記述するデータは、ソースデータS-Dを取得する瞬間より前にデジタル証人DW203に格納されているすべてのデータのフットプリントである。システム200は、全ての目的に関する時間ソース300として、人間によって信任されたインターネットアドレス「http://time.is」の下で利用可能なインターネット「実時間」サービスを用いる。ハッシュコードHCの表現、すなわちシステム200によって生成された転送ハッシュコードTHCは、(インターネットエンジニアリングタスクフォースによる)RFC4226において説明された方法に従って取得されたハッシュコードHCのダイジェストである。人間のスマートフォン100にインストールされた専用アプリケーションは、システム200との通信を提供する。アプリケーション110は、連続イベントデータ取得の最初の5秒間に取得されたイベントデータがソースイベントデータS-EDと見なされるように動作する。今回は、5秒間の連続記録後にシステム200にソースイベントデータS-EDを登録することが、システム200の一般規則である。
(2)人間は、スマートフォン100を用いて、ビデオの記録を開始する。5秒後、既に取得されたイベントデータがソースイベントデータS-EDと見なされる。イベントデータ取得は、中断されない。
(3)ソースイベントデータS-EDであるソースデータS-Dは、スマートフォンのアプリケーション110によってシステム200へ送信される。
(4)システム200は、(SHA-2ハッシュ関数HFを用いて)デジタル証人DW203の状態を記述するデータを計算する。
(5)システム200は、ソースデータS-Dのタイムスタンプを取得し、デジタル証人DW203に記録する。
(6)同じハッシュ関数HFを用いて、システム200は、次の成分(1)前もって計算された、デジタル証人DW203の状態を記述するデータ、(2)ソースデータS-D、および(3)ソースデータS-Dのタイムスタンプを用いて、ハッシュコードHCを計算する。
(7)システムは、ハッシュコードHCをデジタル証人DW203に記録する。転送ハッシュコードTHCは、RFC4226に従う方法に基づいて生成され、人間のスマートフォン100へ返送され、そのスクリーンに表示される。
(8)人間は、イベントデータ取得を中断することなく、転送ハッシュコードを手書きすることおよび声に出して読み上げることによって、記録されたイベントの領域内に転送ハッシュコードTHCを組み込み、転送ハッシュコードTHCを手書きし、声高に読み上げるプロセス全体が、取得中のイベントデータに記録される。
(9)人間がイベントデータ取得を完了すると、全記録データは、確認イベントデータC-EDを作成する。
(10)確認データC-Dは確認イベントデータC-EDである。確認イベントデータC-EDは、スマートフォンのアプリケーション110によってシステム200へ送信される。
(11)システム200は、確認データC-Dをデジタル証人DW203に記録し、即時、確認データC-Dのタイムスタンプを取得してデジタル証人DW203に記録する。
(12)システム200は、SHA-2ハッシュ関数HFを用いて、次の成分(1)確認データC-D、(2)確認データC-Dのタイムスタンプ、および(3)ハッシュコードHCを用いて確認ハッシュコードCHCを計算する。
(13)システム200は、確認ハッシュコードCHCをデジタル証人DW203に記録する。ソースデータS-Dおよび確認データC-Dのタイムスタンプ、S-TS、ハッシュコードHC、C-TS、確認ハッシュコードCHC、用いられたハッシュ関数(SHA-2)に関する情報、および格納されたデータに関する記録のアドレスを有するデジタル証人DW203の名称を含むイベント発生証明POEOは、システム200によって、人間のスマートフォンアプリケーション110へ返送され、スマートフォン100のスクリーンに表示され、上記アプリケーション110にローカルに保存される。
【0157】
実時間タイムスタンプをソースイベントと結び付ける手順が完了する。
【0158】
ここで、連続モードデジタル表現を有する、第1の例に関する検証プロセスの対応例を説明する。
1)ユーザ4の役割を果たす人間は、いつイベントが発生したかをチェックすることを所望する。この人間は、作成者1から、(ソースデータS-Dのタイムスタンプに含まれる)イベント発生の正確な時間およびイベントに関する情報を格納するデジタル証人DW203へのアクセス方法に関する情報を含むイベント発生証明POEOを取得した。(デジタル証人DW203を備える)システム200は、通信のためにウェブインタフェースを用いる。ユーザ4の役割を果たす人間は、システム400を用いる。
2)システム400を用いる人間は、システム200のウェブページに入り、イベント発生証明POEOにおいて提供されたソースデータS-Dのタイムスタンプに含まれる時間に発生したイベントに関して問合せする。
3)問合せされた情報、イベントに関する情報がシステム200によって発見された場合、システム200は、データ一貫性をチェックするために、SHA-2ハッシュ関数を用いて、デジタル証人DW203の状態、ハッシュコードHC、および確認ハッシュコードCHCを再計算する。これらのデータが一貫している場合、ハッシュコードHCから(RFC4226に従う方法を用いて)転送ハッシュコードTHCが計算される。また、転送ハッシュコードTHC、ソースデータS-D、確認データC-D、およびソースデータS-Dのタイムスタンプがウェブサイトに表示される(注:確認データC-Dは連続ビデオ記録であるため、システム200の一般規則に従って、ソースデータS-Dは確認データC-Dのうちの最初の5秒間である)。
4)人間は、ソースデータS-Dに示されるイベントと確認データC-Dに示されるイベントとを感覚的に比較する必要がある。そのためには、確認データC-Dのみを視聴するだけで十分である(システム200の一般規則によると、ソースデータS-Dは確認データC-Dの最初の5秒間である)。この比較により、それらが同じ実際のイベントを表す場合、人間は、S-Eの領域内に転送された転送ハッシュコードTHCと、システム200から取り出された転送ハッシュコードTHCとを比較する必要がある。両方の転送ハッシュコードTHCが一致する場合、ソースデータS-Dに記録されたイベントの発生時間は、ソースデータS-Dのタイムスタンプによって示される。検証プロセスは完了する。
5)記録の連続性が維持される限り、確認データC-Dに含まれる(転送ハッシュコードTHCをソースイベントSEの領域内に組み込む前および後に発生したイベントを含む)全イベントの実時間が決定され得る。
【0159】
例4 イベントデータのフィンガプリントの計算を伴う連続モードデジタル表現
本発明の他の可能な実施形態において、実際のイベントのデジタル表現をその発生の実時間と結び付ける方法は、連続モードで登録されたイベントに関し、全イベントデータのフィンガプリントのみをシステム200へ送信することを備える。システム200は、デジタル証人DW203を備える。全イベントデータは単一のファイルにローカルに保存され、ソースイベントデータS-EDを含む確認イベントデータC-EDである。この実施形態において、方法は、以下のステップを備える。
1)作成者1の役割を果たす人間は、実際のイベントの発生の実時間を確認することを所望し、フィンガプリントの計算を含む全てのハッシングのためにデフォルテで1つだけの公衆(公開)ハッシュ関数HF SHA-2を用いる公衆(公開)システム200を使用することを選択する。デジタル証人DW203の状態は、ソースデータS-Dの取得の瞬間より前にデジタル証人DW203に格納された全データのフィンガプリントである。システム200は、全ての目的に関する時間ソース300として、人間によって信任されたインターネットアドレス「http://time.is」の下で利用可能なインターネット「実時間」サービスを用いる。システム200によって生成された転送ハッシュコードTHCは、ハッシュコードHCと等しい。システム200は、フィンガプリントを計算するために様々なハッシュ関数HFを提供する。人間は、(ソースイベントデータS-EDおよび確認イベントデータC-EDに関する)両方のフィンガプリントに関してSHA-3ハッシュ関数HFを選択する。人間は、システム200において、各計算されたフィンガプリントと共に有意ハッシュ関数入力データSHFIDを格納する選択肢を選択し、有意ハッシュ関数入力データSHFIDの値は、フィンガプリントを計算するハッシュ関数HFの入力データのサイズと定義される。人間のスマートフォン100にインストールされた専用アプリケーション110は、システム200との通信を提供し、ローカル計算を行うための内蔵ハッシュ関数HFを有する。上記アプリケーション110は、ソースイベントデータであるイベントデータが連続イベントデータ取得中に要求に応じて取得されるように動作する。
2)人間は、スマートフォン100を用いて、ソースイベントのビデオの記録を開始する。妥当な場合、アプリケーションを用いるユーザは、要求に応じて、ソースデータS-Dを作成する。イベントデータ取得は中断されない。
3)ソースデータS-Dは、既に記録されたソースイベントデータS-EDのフィンガプリントと等しい。上記フィンガプリントは、アプリケーションに内蔵されたSHA-3関数を用いて、スマートフォン100でローカルに計算される。有意ハッシュ関数入力データSHFIDは、ソースイベントデータS-EDのサイズと等しくなるように設定される。ソースイベントデータS-EDのフィンガプリントを計算するために用いられた(SHA-3ハッシュ関数HFである)ハッシュ関数HFに関する情報およびSHFIDを生成するために用いられた方法に関する情報は、アプリケーション110によってシステム200へ送信され、デジタル証人DW203に追加で格納される。
4)ソースデータS-DおよびそのSHFIDは、スマートフォン100のアプリケーション110によってシステム200へ送信される。
5)システム200は、SHA-2ハッシュ関数HFを用いて、デジタル証人DW203の状態を記述するデータを計算し、ソースデータS-DおよびそのSHFIDの両方をデジタル証人DW203に記録する。
6)その直後、システム200は、ソースデータS-Dのタイムスタンプを取得してデジタル証人203に記録する。
7)システム200は、SHA-2ハッシュ関数HFを用いて、次の成分(1)デジタル証人DW203の状態を記述するデータ、(2)ソースデータS-D、および(3)ソースデータS-Dのタイムスタンプを用いてハッシュコードHCを生成する。
8)システム200は、ハッシュコードHCをデジタル証人DW203に記録する。ハッシュコードHCと等しい転送ハッシュコードTHCは、システム200によって人間のスマートフォン100へ返送され、そのスクリーンに表示される。
9)人間は、イベントデータ取得を中断することなく、転送ハッシュコードTHCを紙片に書くこと、および声に出して読み上げることによって、記録されたイベントの領域内に転送ハッシュコードTHCを組込み、転送ハッシュコードTHCを手で書く、および声高に読み上げるプロセス全体が、スマートフォン100によって、取得中のイベントデータに記録される。
10)人間がイベントデータ取得を完了すると、全記録データは、確認イベントデータC-EDを作成する。確認イベントデータC-EDは、スマートフォン100のメモリにローカルに格納される。
11)確認データC-Dは、専用アプリケーション110に内蔵されたSHA-3関数を用いてスマートフォン100でローカルに計算された確認イベントデータC-EDのフィンガプリントである。有意ハッシュ関数入力データSHFIDは、確認イベントデータC-EDのサイズと等しくなるように設定される。フィンガプリントを生成するために用いられた(SHA-3ハッシュ関数HFである)ハッシュ関数HFに関する情報および確認イベントデータC-EDのフィンガプリントを生成するために用いられた方法に関する情報は、アプリケーション110によってシステム200へ送信され、デジタル証人DW203に追加で格納される。
12)確認データC-DおよびそのSHFIDは、アプリケーション110によってシステム200へ送信される。
13)システム200は、確認データC-DおよびそのSHFIDをデジタル証人DW203に記録し、その直後、確認データC-Dのタイムスタンプを取得してデジタル証人DW203に記録する。
14)システム200は、SHA-2ハッシュ関数HFを用いて、次の成分(1)確認データC-D、(2)確認データC-Dのタイムスタンプ、および(3)ハッシュコードHCを用いて確認ハッシュコードCHCを生成する。
15)確認ハッシュコードCHCは、システム200によってデジタル証人DW203に記録される。タイムスタンプおよび有意ハッシュ関数入力データSHFIDを伴うソースデータS-D、ハッシュコードHC、タイムスタンプおよび有意ハッシュ関数入力データSHFIDを有する確認データC-D、用いられたハッシュ関数((共にフィンガプリントである)ソースデータS-Dおよび確認データC-Dに関してSHA-3、ハッシュコードHC、確認ハッシュコードCHC、およびデジタル証人DW203の状態を記述するデータに関してSHA-2)に関する情報、および格納されたデータに関する記録のアドレスを有するデジタル証人DW203の名称を含むイベント発生証明POEOは、人間のスマートフォンアプリケーション110へ返送され、スマートフォン100のスクリーンに表示され、スマートフォンアプリケーション110によってローカルに保存される。
【0160】
実時間タイムスタンプをソースイベントと結び付ける手順が完了する。
【0161】
ここで、連続モードデジタル表現を有する、第2の例に関する検証プロセスの対応例を説明する。
1)ユーザ4の役割を果たす人間は、いつイベントが発生したかをチェックすることを所望する。この人間は、作成者1から、確認イベントデータC-EDおよび(この例で説明した方法に従って生成された)イベント発生証明POEOを取得した。またユーザ4は、イベントに関する情報を保持する(デジタル証人DW203を備える)システム200へのアクセスに関する情報も有する。システム200は、通信のためにウェブインタフェースを用いる。システム200は、作成者によって用いられた全てのハッシュ関数HFを含む。(ただし、作成者1は、イベント発生の正確な時間を覚えている必要はない)。ユーザ4の役割を果たす人間は、システム400を用いる。
2)ソースイベントデータS-EDは、スマートフォン400を用いて、ソースデータS-Dの有意ハッシュ関数入力データSHFIDに格納されたそのサイズに関する情報に従って確認イベントデータC-EDから抽出される。ソースデータS-Dのフィンガプリントは、S-EDからローカルに再計算され、確認データC-Dは、確認イベントデータC-EDからローカルに再計算される。これらのローカル再計算は、SHA-3ベースのハッシュを計算することが可能な専用のスマートフォン400のアプリケーションによって行われる。
3)システム200は、有意ハッシュ関数入力データSHFIDを有する再計算されたソースデータS-Dおよび確認データC-Dに関してデジタル証人DW203を検索する。問合せされたデータが見つかった場合(すなわち、再計算されたデータが、デジタル証人DW203に格納されたものと一致した場合)、検証は続行する。
4)システム200は、データ一貫性をチェックするために、SHA-2ハッシュ関数HFを用いて、デジタル証人DW203の状態を記述するデータ、ハッシュコードHC、および確認ハッシュコードCHCを再計算する。これらのデータが一貫している場合、転送ハッシュコードTHCおよびソースデータS-Dのタイムスタンプがデジタル証人DW203から取り出され、スマートフォン400によってウェブページに表示される。
5)人間は、S-EDに示されるイベントと確認イベントデータC-EDに示されるイベントとを視覚的に比較する必要がある。この比較により、それらが同じ実際のイベントを表す場合、人間は、ソースイベントSEの領域内に転送された転送ハッシュコードTHCと、デジタル証人DW203から取り出された転送ハッシュコードTHCとを比較する必要がある。両方の転送ハッシュコードTHCが一致する場合、ソースイベントデータS-EDに示されるイベント発生時間は、ソースデータS-Dのタイムスタンプに含まれる時間によって示される。検証は完了する。
6)記録の連続性が維持される限り、(転送ハッシュコードTHCをソースイベントSEの領域内に組み込む前および後に発生したイベントの時間を含む)C-EDに含まれる全イベントの実時間が決定され得る。
7)留意すべき点として、ソースイベントデータS-EDおよび確認イベントデータC-EDが動画であるため、ソースイベントデータS-EDが確認イベントデータC-EDの一部である例において、1つの動画、すなわち確認イベントデータC-EDのみの視聴で十分である。
【0162】
ここで、本発明の最後の解説を提供する。本発明に係る方法は、イベントデータ(ソースイベントデータS-EDおよび確認イベントデータC-EDの両方)が実用的用途を有する場合に信頼できるものであることを必要とする。イベントデータは、少なくとも作成者1およびユーザの両者によって信頼できると見なされる必要がある。
【0163】
「イベントデータの信頼性」は、後述する3つの態様を指す。
1)イベントデータ修正
【0164】
絶え間ない技術の発展により、たとえば背景を追加すること、イベントデータに示される人間の顔や頭部に変化(たとえばシルクハットや犬の耳など)を加えることなど、取得中のイベントデータへの生の変更を含む大きなイベントデータ修正が可能である。最も大きなイベントデータ修正はおそらく、役者の顔の代わりにデジタル生成されたリップシンクした顔の生ビデオストリーミングである。しかし、これらの修正はどれも、作成者1が信頼できるイベントデータを得たいと望む限り、イベントデータの信頼性を生むものではない。これは、イベントデータの操作がデジタル(仮想)でしかないため、実際のイベントの領域を変更するものではなく、物理的インタラクションの特性を有するものではないためである。
【0165】
したがって、イベントデータに示される対象となる何らかの細部描写がデジタル修正の結果ではないことを証明するために、まさにその細部描写との物理的インタラクションを実施することにより、この細部描写が物理的に存在することが十分に証明される。たとえば、イベントデータによって示される実際のイベントの領域内に存在する人物が、デジタルに追加された疑いのあるシルクハットを着用している場合、このシルクハットが実際に存在することを証明するために、彼または彼女は、イベントデータの取得の瞬間に、このシルクハットとの何らかの物理的インタラクションを示さなければならない。
【0166】
話している人物を示すイベントデータを視聴している人間が、視聴中のライブストリーミングが誰かの本物の顔ではなくデジタル生成されたリップシンクの顔であることを疑う場合にも、同じことが当てはまる。この場合、人物の顔が(仮想ではなく、デジタル生成されたものではない)本物であることを証明するために、実際のイベントの領域内に存在する人物は、指で顔に触れること、またはイベントデータに示される現実の(仮想ではなく)物理的性質を確認する他の何らかの動作など、彼または彼女の顔との何らかの物理的インタラクションを示さなければならない。
【0167】
イベントデータが、実際のイベントの(連続ビデオ記録ではなく)スナップショットである、容易なデジタル操作および大きなデジタル操作の対象となる可能性を持つ写真である場合でも、たとえば同じイベントの複数の写真を撮影すること、および/またはそこに示される物理的領域との何らかの物理的インタラクションを写真に示すことによって、信頼できるイベントデータを取得することが可能である。
【0168】
上記に留意し、作成者1の意図が信頼できるイベントデータを取得することである場合、彼または彼女は、ユーザによって後から疑問や疑念を抱かれる可能性のあるイベントデータの各詳細描写と物理的にインタラクトすることを意識しなければならない。他の解決策は、同じ実際のイベントの複数のイベントデータを取得することである。これは、不確かな状況を避けるために、単一モードで(たとえば写真として)イベントデータを取得する場合に特に重要である。
2)イベントデータの品質
【0169】
取得されたイベントデータの技術的パラメータは、作成者1および/またはユーザの関心対象になり得る全ての詳細描写と共に実際のイベントを示すことを可能にする品質を提供しなければならない。たとえば、イベントデータがビデオである場合、ビデオは、好適には作成者1およびユーザの両者にとって満足な(十分な)実際のイベントの描写を提供するような品質、解像度、毎秒フレームレート、およびサイズを有さなければならない。
【0170】
連続モードで取得されたイベントデータは、連続性が維持されなければならず、すなわち、ビデオは、結果として生じる露光不足または露光過多のフレームを含んではならず、ぶれてはならず、雑音を含んではならない、などである。
【0171】
作成者1および/またはユーザ4の両者にとって低品質のイベントデータでも有意であり得る状況(たとえば、劣悪な照明条件であるが、何らかの独特な状況で捕捉された写真またはビデオ)でも、このイベントデータが法的手続きで(たとえば法廷に出される証拠として)用いられることを意図された場合、可能な最高かつ最新の品質基準を満たさなければならない。
3)実際のイベントを示すのに十分な情報を含まないイベントデータ
【0172】
高品質にもかかわらず、実際のイベントを示すには不十分なイベントデータもある。
【0173】
これは、イベントデータが、人間の感覚で知覚可能な詳細描写を含まない場合に起こり得る。これは、人工照明によって照らされた、平坦な、理想的には滑らかな表面のイベントデータを取得する、またはそのような表面を背景に用いる場合に起こり得る。しかし、この厳しい条件においても、信頼できるイベントデータを取得する可能性がある。これはたとえば、連続性が維持された連続モードでイベントデータを取得し、より認識しやすい細部を露出するズームまたは解像度を有するデバイスを用いて、人間の感覚で認識可能な何らかのコンテンツを実際のイベントに追加すること(たとえばコンテンツは作成者の顔であってよい)によって実現される。
【0174】
上述した、イベントデータの信頼性に関する要件は全て、これまで一般的に用いられてきた、日常的に、および(たとえば法的手続きにおける証拠として)裁判や訴訟中に、高い信頼性で実際のイベントを示すものと見なされてきたイベントデータに関する要件と同じである。