(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023123737
(43)【公開日】2023-09-05
(54)【発明の名称】コンテンツ時刻証明システム
(51)【国際特許分類】
H04L 9/32 20060101AFI20230829BHJP
【FI】
H04L9/32 200Z
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023106542
(22)【出願日】2023-06-28
(62)【分割の表示】P 2018245471の分割
【原出願日】2018-12-27
(71)【出願人】
【識別番号】591260982
【氏名又は名称】株式会社東京技術計算コンサルタント
(74)【代理人】
【識別番号】100139778
【弁理士】
【氏名又は名称】栗原 潔
(72)【発明者】
【氏名】倉川 清志
(57)【要約】 (修正有)
【課題】コンテンツの存在証明と時刻証明を安価かつ確実に行なえるシステム、方法及び、プログラムを提供する。
【解決手段】コンテンツ時刻証明システムは、時刻証明用ブロックチェーンにコンテンツのハッシュ値を記録し、所定の条件に合致する場合には、当該ブロックチェーンにタイムスタンプを提供する事業者であるタイムスタンプ提供サービスから取得したタイムスタンプの情報を記録する。所定の条件は、所定時刻あるいは所定数のコンテンツの追加である。システムはさらに、時刻の検証の場合は時刻証明用ブロックチェーンのブロックから同一のハッシュ値を持つものを探し、その前後にあるタイムスタンプ情報から、当該コンテンツが追加された時刻範囲を知ることができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第1のコンテンツのハッシュ値と時刻認証業務認定事業者から取得したタイムスタンプとを含む第1のブロックをブロックチェーンに追加するステップと、
第2のコンテンツのハッシュ値を含み、時刻認証業務認定事業者から取得したタイムスタンプを含まない第2のブロックを前記ブロックチェーンに追加するステップと、
第3のコンテンツのハッシュ値と時刻認証業務認定事業者から取得したタイムスタンプとを含む第3のブロックを前記ブロックチェーンに追加するステップとを含む、
時刻証明におけるタイムスタンプ取得頻度削減方法。
【請求項2】
所定時間の経過という条件にしたがって、時刻認証業務認定事業者からタイムスタンプを取得するかどうかを決定するステップをさらに含む、
請求項1に記載の時刻証明におけるタイムスタンプ取得頻度削減方法。
【請求項3】
所定数のコンテンツの追加という条件にしたがって、時刻認証業務認定事業者からタイムスタンプを取得するかどうかを決定するステップをさらに含む、
請求項1に記載の時刻証明におけるタイムスタンプ取得頻度削減方法。
【請求項4】
第1のコンテンツのハッシュ値と時刻認証業務認定事業者から取得したタイムスタンプとを含む第1のブロックをブロックチェーンに追加する命令群と、
第2のコンテンツのハッシュ値を含み、時刻認証業務認定事業者から取得したタイムスタンプを含まない第2のブロックを前記ブロックチェーンに追加する命令群と、
第3のコンテンツのハッシュ値と時刻認証業務認定事業者から取得したタイムスタンプとを含む第3のブロックを前記ブロックチェーンに追加する命令群とをコンピューターに実行させる、
時刻証明におけるタイムスタンプ取得頻度削減プログラム。
【請求項5】
所定時間の経過という条件にしたがって、時刻認証業務認定事業者からタイムスタンプを取得するかどうかを決定する命令群をさらにコンピューターに実行させる、
請求項4に記載の時刻証明におけるタイムスタンプ取得頻度削減プログラム。
【請求項6】
所定数のコンテンツの追加という条件にしたがって、時刻認証業務認定事業者からタイムスタンプを取得するかどうかを決定するステップをさらにコンピューターに実行させる、
請求項4に記載の時刻証明におけるタイムスタンプ取得頻度削減プログラム。
【請求項7】
請求項1から請求項3のいずれかに記載の方法を実行するよう構成されたコンピューター・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本願発明は、コンテンツの存在時刻を証明するための方法、プログラム、および、システム特に、ブロックチェーンを用いた安価な時刻証明を行なうための方法、プログラム、および、システムに関する。
【背景技術】
【0002】
ビットコインやイーサリアムに代表される仮想通貨から由来した取引履歴保存テクノロジーであるブロックチェーンに注目が集まっている(非特許文献1参照)。ブロックチェーンでは、ハッシュ計算を使用して取引履歴のブロックを連鎖させていくことで、いったん追加された取引履歴の改竄が事実上不可能である点に特徴がある。
【0003】
ビットコイン等の仮想通貨で使用されるパブリック・ブロックチェーンにおいては、ブロックチェーンへの履歴追加は、通常、PoW(Proof Of Work)と呼ばれる仕組み(コンセンサス・アルゴリズム)により、ブロックチェーンに参加する複数ノードが競争して複雑な計算を行なうことにより実行される。特定の組織により管理されているプライベート・ブロックチェーンの場合には、コンセンサス・アルゴリズムとしてPBFT(Practical Byzantine Fault Tolerance)というアルゴリズムが使用されることが多い。いずれにせよ、いったん追加された取引履歴の改竄が事実上不可能である点は共通である。
【0004】
履歴の改竄が不可能という特性を利用して、仮想通貨以外のコンテンツの存在証明(Proof of Existence)にブロックチェーンを応用する技術が知られている。これは、コンテンツとタイムスタンプのハッシュ値をブロックチェーンに保存することで実現可能である(たとえば、特許文献1)。しかし、コンテンツの時刻証明の正確性および法的な担保という点で従来技術には課題があった。特に、プライベート・ブロックチェーンを使用している場合には、ブロックチェーンを管理する特定組織が、サーバー・コンピューターのシステム時刻を勝手に変更しても、外部の者がそれを検知することはできないことから、システム時刻に基づくタイムスタンプによる時刻証明には限界があった。
【0005】
一方、ブロックチェーンを使用しないタイプのタイムスタンプ・サービスが存在する(たとえば、非特許文献2)。これらのタイムスタンプ・サービスは、特定の信頼できる事業者の管理の下で正確、かつ、法的に担保されたタイムスタンプを提供でき、電子署名との組み合わせにより正確な時刻の存在証明が可能であった。その一方、これらのタイムスタンプ・サービスはタイムスタンプの取得ごとに費用がかかるため、契約書や登記書類等の重要書類以外のコンテンツの時刻証明を行なうケースではコスト面での課題があった。また、国家政府により、公式として扱うタイムスタンプ提供業者は異なるため、海外においても法的に有効な時刻証明を行なうためには複数のタイムスタンプ提供業者を使用する必要があり、さらにコストが増すという課題があった。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】「ブロックチェーンの仕組み」(http://www.nttdata.com/jp/ja/services/sp/blockchain/mechanism/)
【非特許文献2】「アマノタイムスタンプサービス3161 Type-T」(https://www.e-timing.ne.jp/product/timestamp/characteristic/typet/)
【特許文献】
【0007】
【特許文献1】特許公開公報 特開2017-157926
【発明の概要】
【発明が解決しようとする課題】
【0008】
コンテンツの存在証明と時刻証明を安価かつ確実に行なえるシステム、方法、および、プログラムを提供する。
【課題を解決するための手段】
【0009】
本願発明は、第一のコンテンツのハッシュ値を計算するステップと、
前記第一のコンテンツの前記ハッシュ値を含む第一の履歴をブロックチェーンに追加するステップと、
所定の条件にしたがって、タイムスタンプ提供手段からタイムスタンプを取得するステップと、
前記タイムスタンプの前記ハッシュ値を含む第二の履歴を前記ブロックチェーンに追加するステップとを含む、
コンピューターにより実行されるコンテンツ時刻証明方法を提供することで上記課題を解決する。
【0010】
また、本願発明は、前記所定の条件は、所定時間の経過である、
段落0009に記載のコンテンツ時刻証明方法を提供することで上記課題を解決する。
【0011】
また、本願発明は、前記所定の条件は、所定数のコンテンツの追加である、
段落0010に記載のコンテンツ時刻証明方法を提供することで上記課題を解決する。
【0012】
また、本願発明は、さらに、第二のコンテンツのハッシュ値を計算するステップと、
前記ブロックチェーンから前記第二のコンテンツのハッシュ値と同一のハッシュ値を含む第三の履歴を検索するステップと、
前記第三の履歴が発見された場合には時刻証明がなされた旨の結果を返すステップとを含む、
段落0009、段落0010、または、段落0011に記載のコンテンツ時刻証明方法を提供することで上記課題を解決する。
【0013】
また、本願発明は、第一のコンテンツのハッシュ値を計算する命令と、
前記第一のコンテンツの前記ハッシュ値を含む第一の履歴をブロックチェーンに追加する命令と、
所定の条件にしたがって、タイムスタンプ提供手段からタイムスタンプを取得する命令と
前記タイムスタンプの前記ハッシュ値を含む第二の履歴を前記ブロックチェーンに追加する命令とを
コンピューターに実行させるコンテンツ時刻証明プログラムを提供することで上記課題を解決する。
【0014】
また、本願発明は、前記所定の条件は、所定時間の経過である、
段落0013に記載のコンテンツ時刻証明プログラムを提供することで上記課題を解決する。
【0015】
また、本願発明は、前記所定の条件は、所定数のコンテンツの追加である、
段落0013に記載のコンテンツ時刻証明プログラムを提供することで上記課題を解決する。
【0016】
また、本願発明は、さらに、第二のコンテンツのハッシュ値を計算する命令と、
前記ブロックチェーンから前記第二のコンテンツのハッシュ値と同一のハッシュ値を含む第三の履歴を検索する命令と、
前記第三の履歴が発見された場合には時刻証明がなされた旨の結果を返す命令とを、
コンピューターに実行させる段落0013、段落0014、または、段落0015に記載のコンテンツ時刻証明プログラムを提供することで上記課題を解決する。
【0017】
また、本願発明は、時刻証明用ブロックチェーンと、
前記時刻証明用ブロックチェーンへのコンテンツ追加手段とを含むコンテンツ時刻証明装置であって、
前記コンテンツ保存手段が、コンテンツのハッシュ値を前記時刻証明用ブロックチェーンに追加し、
前記コンテンツ保存手段が、所定の条件を満足した場合のみに、タイムスタンプ提供サービスから取得したタイムスタンプ情報を前記時刻証明用ブロックチェーンに追加する、
コンテンツ時刻証明装置を提供することで上記課題を解決する。
【0018】
また、本願発明は、前記所定の条件は、所定時間の経過である、
段落0017に記載のコンテンツ時刻証明装置を提供することで上記課題を解決する。
【0019】
また、本願発明は、前記所定の条件は、所定数のコンテンツの追加である、
段落0017に記載のコンテンツ時刻証明装置を提供することで上記課題を解決する。
【0020】
また、本願発明は、さらに、コンテンツ時刻検証手段を含み、
前記コンテンツ時刻検証手段は、前記時刻証明用ブロックチェーンから、検証対象のコンテンツのハッシュ値と同一のハッシュ値を含む履歴を検索し、
前記履歴が発見された場合には時刻証明がなされた旨の結果を返す、
段落0017、段落0018、または、段落0019に記載のコンテンツ時刻証明装置を提供することで上記課題を解決する。
【発明の効果】
【0021】
コンテンツの存在証明と時刻証明を安価かつ確実に行なえるシステム、方法、および、プログラムが提供される。
【図面の簡単な説明】
【0022】
【
図1】本願発明に係るコンテンツ時刻証明システムの実施例の全体図である。
【
図2】本願発明に係るコンテンツ時刻証明システムの実施例で使用される時刻証明用ブロックチェーンのデータ構造を表わす図である。
【
図3】本願発明に係るコンテンツ時刻証明システムへのコンテンツの登録方法を表わすフローチャートである。
【
図4】本願発明に係るコンテンツ時刻証明システムのコンテンツの時刻検証方法を表わすフローチャートである。
【
図5】本願発明に係るシステムによるインターネットを経由したコンテンツの時刻証明システムの全体図である。
【発明を実施するための形態】
【0023】
以下に図を参照しながら本願発明の実施例について説明する。図はすべて例示である。
【0024】
図1に、本願発明に係るコンテンツ時刻証明システムの実施例の全体図を示す。コンテンツ・データベース(101)は、コンテンツの本体を保存するための手段であり、任意のファイル・システムあるいはDBMS(データベース管理システム)等の技術により実装してよい。コンテンツ・データベース(101)は、本願発明に係るコンテンツ時刻証明システムの管理者自身が集中管理するデータベースやファイル・システムであってもよいが、他の管理者が管理するデータベースやファイル・システムであってもよく、コンテンツ登録者(ユーザー)自身がローカルで管理するデータベースやファイル・システムであってもよく、外部のクラウド上で管理されるデータベースやファイル・システムであってもよい。ひとつのデータベースやファイル・システムに集中管理されるのではなく、複数の分散したデータ保存テクノロジーによりコンテンツを保存する実装形態であってもよい。なお、本願明細書において、「コンテンツ」とは保存の対象となるあらゆるデジタル・データを指すものとし、文書、イメージ、動画、音声等を含むものとする。
【0025】
時刻証明用ブロックチェーン(102)は、コンテンツのハッシュ値を保存することで、コンテンツの存在証明と時刻証明を実現するためのデータ保存手段である。PBFTをコンセンサス・アルゴリズムとして使用したプライベート・ブロックチェーンであることが望ましい。実際には、複数のコンピューター(ノード)上でデータを重複配置し、コンセンサス・アルゴリズムにしたがい、特定のノードのデータに不整合が生じた場合には、他のノードの情報に基づいて修復されるようになっていることが望ましい。
図2に、時刻証明用ブロックチェーン(102)のデータ構造の例を示す。所定数の履歴(レコード)を1つのブロックにまとめて保存するが、ブロックには1つ前のブロックのハッシュ値が保存されている。万一、一つのブロック内のデータが改竄されるとハッシュ値が変わり整合性が欠如する。整合性を維持するためには、対象ブロック以降のすべてのブロックの改竄が必要になるため、改竄が困難である。加えて、上記のように、ノード間のデータの不整合が生じるとコンセンサス・アルゴリズムによる修正が行なわれるため、システムの管理者であってもいったん記録されたブロックの改竄、すなわち、履歴の改竄は事実上不可能である。時刻証明用ブロックチェーン(102)のブロックを追加する際のコンセンサス・アルゴリズムとしては、PBFTに替えてPoW等の任意のアルゴリズムを使用してもよいが、履歴の登録処理のFIFO(先入れ先出し)が保証されるアルゴリズムであることが望ましい。
【0026】
タイムスタンプ提供サービス(103)は、ユーザーからの要求に答えて、電子証明書により内容を証明したタイムスタンプを提供する事業者である。政府により認定されており、裁判等において法的な効果があることが立証されている時刻認証業務認定事業者を使用することが望ましいが、たとえば、ビットコインのパブリック・ブロックチェーン等が持つタイムスタンプ提供機能を使用してもよい。複数のタイムスタンプ提供サービス(103)を使用してもよい。特に、海外での利用に対応するために、各国政府により法的効果を認定されているタイムスタンプ提供サービス(103)を複数使用してもよい。
【0027】
コンテンツ追加プログラム(104)は、ユーザーから提出されたコンテンツを時刻証明用ブロックチェーン(102)に追加する処理を行なうコンピューター・プログラムである。コンテンツ追加プログラム(104)のロジックの詳細は後述する。
【0028】
コンテンツ検証プログラム(105)は、コンテンツが時刻証明用ブロックチェーン(102)に保存された情報とマッチするかを検証するためのコンピューター・プログラムである。コンテンツ追加プログラム(105)のロジックの詳細は後述する。
【0029】
本願発明に係るコンテンツ時刻証明システムでは、上記以外にも、データベースの保守機能、ユーザー認証機能等が必要になるが、図示していない。上記ソフトウェア機能はコンピューター・ハードウェア上で実現可能であり、クラウド上で実現してもよい。
【0030】
図3に本願発明に係るコンテンツ時刻証明システムへのコンテンツの登録方法を表わすフローチャートを示す。
【0031】
コンテンツ追加プログラム(104)は、登録の対象となるコンテンツを得る(S301)とそのハッシュ値を計算し(S302)、ハッシュ値を含む履歴を時刻証明用ブロックチェーン(102)に追加する(S303)。実際の追加処理は所定数の履歴をまとめてブロック単位で行なわれてよい。ハッシュ計算は十分な強度があることが立証されたアルゴリズム、たとえば、SHA-256等により行なうことが望ましい。ハッシュ値に加えて、コンテンツの名称、登録者の識別子、システム時刻等から得たおおよそのタイムスタンプ等の付加的情報も履歴に含めて、時刻証明用ブロックチェーン(102)に追加してよい。追加的処理として、コンテンツ追加プログラム(104)は、登録対象のコンテンツをコンテンツ・データベース(101)に保存してもよいが図示していない。また、S301のステップにおけるコンテンツの取得処理は、ウェブ画面からのユーザー入力、他のプログラムとの連携、データベースからの読み出し等、任意の方法で行なってよい。
【0032】
コンテンツ追加プログラム(104)は所定の条件に合致する場合のみに(S304)タイムスタンプ提供サービス(103)からタイムスタンプを取得し(S305)、時刻証明用ブロックチェーン(102)に追加する(S306)。通常、タイムスタンプ情報は、タイムスタンプ提供サービス(103)から電子証明書付きの形式で送信されるので、それをそのまま時刻証明用ブロックチェーン(102)に追加することが望ましい。なお、S304、S305、S306の処理は、S301、S302、S303の処理に続けて逐次的に実行する必要はなく、別プログラムとして稼働してもよい。たとえば、バックグラウンドで常時稼働しているプログラムが一定時間ごとにS304、S305、S306の処理を行なう実装であってもよい。
【0033】
タイムスタンプ提供サービス(103)からのタイムスタンプ取得は、すべてのコンテンツに対して行なうのではなく、所定の条件に合致する場合にのみ行なう、たとえば、所定時間毎に行なう(たとえば、1日に1回、もしくは、1時間に1回)、または、所定数のコンテンツ登録ごとに行なう(たとえば、1,000件のコンテンツ登録ごと)ことが望ましい。時刻証明用ブロックチェーン(102)の各ブロックに必ずタイムスタンプを含む履歴が保存されるように当該所定数を調整してもよい。複数のタイムスタンプ提供サービス(103)を仕様いている時は、そのそれぞれからタイムスタンプ情報を取得することが望ましい。この場合、タイムスタンプ提供サービス(103)ごとにタイムスタンプ取得の所定条件を変えてもよい。
【0034】
本願発明では、すべての登録コンテンツに対してタイムスタンプを取得しないようにすることで、登録コンテンツあたりのタイムスタンプ取得に要する費用を節約できる。典型的には、タイムスタンプ提供サービス(103)からタイムスタンプ取得には1件あたり数10円のコストを要するため、登録されるコンテンツ件数が多い場合にはこの節約額は無視できない金額となる。特に、複数国の制度に対応するために複数のタイムスタンプ事業者を使用している場合にはこの節約効果は大きい。
【0035】
時刻証明用ブロックチェーン(102)に追加されたコンテンツの履歴のすべてに、法的に認定されたタイムスタンプが付与されていなくても、おおよその時刻による時刻立証が可能である。たとえば、時刻証明用ブロックチェーン(102)上で2018年12月1日0時のタイムスタンプを含むブロックと2018年12月2日0時のタイムスタンプを含むブロックとの間に存在するブロックに保存されている履歴に相当するコンテンツは、2018年12月1日時点に存在していたことが証明可能である。現実の時刻証明においては正確な時刻ではなく、おおよその時刻と前後関係のみがわかれば良いケースも多い。たとえば、日本の特許法における先使用権の判断では日付の立証が行なえれば十分なことがほとんどであるため、コンテンツの時刻証明は日単位であってよい。このような目的であれば、タイムスタンプ提供サービス(103)からのタイムスタンプ取得を1日に1度行なうよう設定してよい。
【0036】
図4に本願発明に係るコンテンツ時刻証明システムのコンテンツの時刻検証方法を表わすフローチャートを示す。コンテンツ検証プログラム(105)は、コンテンツを取得すると(S401)、そのハッシュ値を計算する(S402)。S401のステップにおけるコンテンツの取得処理は、ウェブ画面からのユーザー入力、他のプログラムとの連携、データベースからの読み出し等、任意の方法で行なってよい。また、コンテンツの取得と合わせてコンテンツ登録のおおよその時刻もユーザーから取得しておくことが望ましい。次に、コンテンツ検証プログラム(105)は、時刻証明用ブロックチェーン(102)から、ユーザーに指定されたおおよその時刻範囲に相当するブロックを取得する(S403)。時刻が指定されていない場合は、すべてのブロックを取得してもよい。ブロックを逐次的に検索してもよいが、処理高速化のために、別途インデックスを構築しておき、インデックスから目的のブロックを検索できるようにしてもよい。次に、コンテンツ検証プログラム(105)は、取得したブロック内からユーザーから検証対象として取得したコンテンツのハッシュ値と同一のハッシュ値を含む履歴を含むものを検索する(S404)。そのような履歴が発見された場合は時刻検証がされた旨の結果と関連情報を端末や呼び出し元プログラムに返す(S405)。この場合に、時刻証明用ブロックチェーン(102)により証明された時刻範囲、および、ハッシュ値とともに保存されていた付加的情報(ユーザー識別子、コンテンツの名称等)も共に返すことが好ましい。たとえば、「指定のコンテンツ(ABCD)は、2016年1月1日中に存在していたことが証明されました。」というメッセージを表示してよい。同一のハッシュ値を含む履歴を含むものがなかった場合には、時刻検証がされなかった旨の結果を端末や呼び出し元プログラムに返す(S406)。
【0037】
以下に、本願発明を適用した応用例を示す。
図5に、本願発明に係るシステムによるインターネットを経由したコンテンツの時刻証明システムの全体図を示す。本実施例では、インターネット(501)を介して、ユーザーがWebクライアント(502)からコンテンツ(画像、写真、イラスト、文書等)の追加、および、検証を行なうことができる。本実施例では、コンテンツ本体の保存はユーザーの責任であるためコンテンツ・データベース(101)に相当する構成要素は示していないが、事業者側でもコンテンツの保存サービスを別途提供してもよい。コンテンツの時刻検証ができれば、たとえば、著作権上の争いがあった場合の証拠とすることができる。同様のことは、従来型のタイムスタンプ事業者のサービスを行なっても実現できるが、本願発明に係るシステムではタイムスタンプに要するコストがはるかに少なくてすむ。そのため、たとえば、コンテンツの登録・検証サービスを広告料モデルによってユーザーに対して無料で提供するビジネスモデル等が可能になる。なお、ユーザーがコンテンツをウェブ上やメディア等で公開することでもある程度の時刻証明が得られるが、本願発明に係る方法ではコンテンツの内容を公開せずに存在証明・時刻証明を行なえることに優位性がある。
【0038】
他の実施例として、メール・システムと本願発明に係るシステムを統合し、送受信されるすべてのメールの時刻証明を行なうようにしてもよい。メールのヘッダーにはタイムスタンプが付されているが、それはユーザーによって自由に編集可能であるため、当事者間で争いがあった場合の証拠能力としては弱いが、本願発明による時刻証明を付加することで、低いコストでメールのタイムスタンプの信頼性を向上できる。通常、企業組織内では連日多数のメールがやり取りされているため、そのすべてについてタイムスタンプ事業者からタイムスタンプを取得することはコスト的に非現実的であるが、本願発明によりこの問題を解決できる。
【0039】
ゲームやソーシャル・ネットワークで使用されるアバター画像を本願発明に係るシステムに登録することで、このアバターを登録してからの経過年、いわば、アバターが年齢を立証できるようにしてもよい。ある程度の年齢に達した際に、アバター画像を年齢にふさわしいものに変えることにようにしてもよい。アバター画像を限定販売した場合でも、本願発明に係るシステムにより真贋管理を行なうことができる。いわば、アバター戸籍管理システムとしてのビジネスモデルにも応用が可能である。
【0040】
(本願発明による顕著な技術的効果)
本願発明により、タイムスタンプ取得に必要な費用を最小限に抑えつつ、証拠能力が高いコンテンツの存在証明・時刻証明を行なうことができる。コンテンツごとに、タイムスタンプ事業者からタイムスタンプを取得する場合よりもコストを格段に小さくできる。その一方で、システム時刻だけに依存したタイムスタンプよりもはるかに信頼性が高い。本願発明の基礎技術はオープンソースとして利用可能なブロックチェーンであるため、システム構築コストも安価である。