(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024138969
(43)【公開日】2024-10-09
(54)【発明の名称】情報処理プログラム、情報処理方法及び情報処理システム
(51)【国際特許分類】
G06F 21/64 20130101AFI20241002BHJP
G06F 21/10 20130101ALI20241002BHJP
【FI】
G06F21/64
G06F21/10
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023049710
(22)【出願日】2023-03-27
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】笠波 昌昭
(57)【要約】
【課題】デジタル作品に対する権利を適切に保護する情報処理プログラム、情報処理方法及び情報処理システムを提供する。
【解決手段】第1時点のデジタル作品の作品データを取得し、取得した第1時点の作品データの第1特徴量を算出し、第1特徴量及び第1時点を示す第1タイムスタンプ情報を含む第1ブロック情報を連続ブロック情報の1つとして記憶装置に記憶させ、第2時点のデジタル作品の作品データを取得し、取得した第2時点の作品データの第2特徴量を算出し、第2特徴量、第2時点を示す第2タイムスタンプ情報及び第1ブロック情報のハッシュ値を含む第2ブロック情報を連続ブロック情報の1つとして記憶装置に記憶させる。
【選択図】
図9
【特許請求の範囲】
【請求項1】
第1時点のデジタル作品の作品データを取得し、取得した前記第1時点の作品データの第1特徴量を算出し、
前記第1特徴量、前記第1時点を示す第1タイムスタンプ情報及び作者の電子署名を含む第1ブロック情報を連続ブロック情報の1つとして記憶装置に記憶させ、
第2時点の前記デジタル作品の作品データを取得し、取得した前記第2時点の作品データの第2特徴量を算出し、
前記第2特徴量、前記第2時点を示す第2タイムスタンプ情報、前記第1ブロック情報のハッシュ値及び作者の電子署名を含む第2ブロック情報を連続ブロック情報の1つとして前記記憶装置に記憶させる
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記第2時点以降の複数の所定時点で、前記デジタル作品の作品データを順次取得し、取得した前記所定時点毎の作品データの第3特徴量を算出し、
前記所定時点毎に、算出した前記第3特徴量、前記所定時点を示す第3タイムスタンプ情報、前記記憶装置が記憶する最新の連続ブロック情報のハッシュ値、及び、作者の電子署名を含む第3ブロック情報を連続ブロック情報の1つとして前記記憶装置に記憶させる
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記デジタル作品が完成した場合、完成した作品データの第4特徴量、完成時点を示す第4タイムスタンプ情報、前記記憶装置が記憶する最新の連続ブロック情報のハッシュ値、作者の電子署名、及び、完成したデジタル作品の完成作品データを含む最終ブロック情報を連続ブロック情報の1つとして前記記憶装置に記憶させ、
前記記憶装置が記憶する全ての連続ブロック情報を出力する
処理を前記コンピュータに実行させることを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
前記所定時点毎に、前記第3特徴量と前記記憶装置が記憶する最新の連続ブロック情報に含まれる前記第2特徴量又は前記第3特徴量とが同じ場合、前記第3ブロック情報の前記記憶装置に記憶させることを抑制する処理を前記コンピュータに実行させることを特徴とする請求項2に記載の情報処理プログラム。
【請求項5】
情報処理システムが、
第1時点のデジタル作品の作品データを取得し、取得した前記第1時点の作品データの第1特徴量を算出し、
前記第1特徴量、前記第1時点を示す第1タイムスタンプ情報及び作者の電子署名を含む第1ブロック情報を記憶装置に記憶させ、
第2時点の前記デジタル作品の作品データを取得し、取得した前記第2時点の作品データの第2特徴量を算出し、
前記第2特徴量、前記第2時点を示す第2タイムスタンプ情報、前記第1ブロック情報のハッシュ値及び作者の電子署名を含む第2ブロック情報を前記記憶装置に記憶させる
処理を実行することを特徴とする情報処理方法。
【請求項6】
クライアント及び中央サーバを有する情報処理システムであって、
前記クライアントは、
第1時点のデジタル作品の作品データを取得し、取得した前記第1時点の作品データの第1特徴量を算出し、第2時点の前記デジタル作品の作品データを取得し、取得した前記第2時点の作品データの第2特徴量を算出する作品特徴量取得部と、
前記第1時点で、前記第1特徴量、前記第1時点を示す第1タイムスタンプ情報及び作者の電子署名を含む第1ブロック情報をハッシュチェーンデータベースに格納し、前記第2時点で、前記第2特徴量、前記第2時点を示す第2タイムスタンプ情報、前記第1ブロック情報のハッシュ値及び作者の電子署名を含む第2ブロック情報を前記ハッシュチェーンデータベースに格納するブロック格納処理部とを備え、
前記中央サーバは、前記第1時点を示すタイムスタンプ情報を前記第1特徴量に付与し、前記第2時点を示すタイムスタンプ情報を前記第2特徴量に付与するタイムスタンプ付与部を備えた
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法及び情報処理システムに関する。
【背景技術】
【0002】
近年の著しいAI(Artificial Intelligence)技術の性能向上により、人の手による作品と比べても遜色のないレベルのデジタル作品の自動生成が容易となった。そのため、特定作者の作風に酷似した自動生成作品の大量流通や、自動生成技術を悪用して作者に成りすます第三者の存在などにより、オリジナルの作品の作者の利益が毀損されるおそれがある。
【0003】
一方、大量の自動生成作品が存在する中で、あるデジタル作品について特定の作者のオリジナルであることの証明ができれば、そのデジタル作品に対して大きな付加価値を生む可能性がある。このように、作者が公開したデジタル作品が、その作者のオリジナルであると証明することは、作者にとって大きなメリットとなる。
【0004】
そこで、公開されたデジタル作品が、公開した作者のオリジナルであることを証明する方法として、デジタル作品とともに制作過程を合わせて公開する方法が考えられる。人の手による制作過程のデータを手に入れることは、オリジナルの作者に与えられる特権であり、デジタル作品のオリジナル性の証明となり得る。この証明の実現方法としては、例えば、制作用データを公開して作品とともに電子署名を施す方法が考えられる。より具体的には、作者が予め署名用の鍵ペアを準備しておき、プロジェクトファイル等の作者が保持する制作用データと作品データとをまとめて電子署名を施すことで、そのデジタル作品が作者自身により作成された創作物であると証明することができる。
【0005】
なお、NFTにより作品に紐づくトークンの保有者及び保有履歴は証明可能であるが、NFTではその作品が誰により作成されたものかは証明されない。そのため、NFT等では、第三者が他人の作品を不正な方法で手に入れて、自分が制作した作品であるかのようにその作品を公開する等の行為は防ぐことが困難である。
【0006】
従来、デジタル作品の管理方法として、署名データの長期保存の際の鍵失効時における、署名データの特徴量を用いた簡易な再署名方法が提案されている。また、コンテンツとメタデータとを再帰的方法で暗号化して、より安全なコンテンツ配信を行う技術が提案されている。また、知的財産データのハッシュ値を取得して、ブロックチェーンに格納して管理することで、容量を抑えつつ流出耐性を備えた知的財産管理方法が提案されている。また、メディアコンテンツのハッシュ値をブロックチェーンに格納して管理することで、耐改竄性のある権利管理方法が提案されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002-006739号公報
【特許文献2】特表2008-516548号公報
【特許文献3】米国特許出願公開第2019/0280856号明細書
【特許文献4】米国特許出願公開第2020/0050741号明細書
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、制作用データを公開し作品と一緒に電子署名を施す方法では、制作用データに作者のノウハウ等が含まれている場合があり、公開が困難であることが考えられる。また、デジタル作品の作者が公開した制作用データは、それを基に第三者が類似作品を乱造する等、悪用されるおそれがある。さらに、デジタル作品の場合、作品の縮小又は拡大が頻繁に行われるが、縮小又は拡大されるとハッシュ値が変化してしまうため、正しく署名検証することが困難となる。加えて、第三者が他者の作品から制作用データを再現することで、他者の作品を自分の創作物であると偽ることも可能である。したがって、制作用データを公開し作品と一緒に電子署名を施す方法では、デジタル作品のオリジナル性を証明して、デジタル作品に対する権利を適切に保護することは困難である。
【0009】
また、上述した従来技術ではいずれも、対象となる作品データの変化を表現することが難しく、作品データの不正利用が容易であるため、デジタル作品に対する権利を適切に保護することは困難である。
【0010】
開示の技術は、上記に鑑みてなされたものであって、デジタル作品に対する権利を適切に保護する情報処理プログラム、情報処理方法及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本願の開示する情報処理プログラム、情報処理方法及び情報処理システムの一つの態様において、第1時点のデジタル作品の作品データを取得し、取得した前記第1時点の作品データの第1特徴量を算出し、前記第1特徴量及び前記第1時点を示す第1タイムスタンプ情報を含む第1ブロック情報を連続ブロック情報の1つとして記憶装置に記憶させ、第2時点の前記デジタル作品の作品データを取得し、取得した前記第2時点の作品データの第2特徴量を算出し、前記第2特徴量、前記第2時点を示す第2タイムスタンプ情報及び前記第1ブロック情報のハッシュ値を含む第2ブロック情報を連続ブロック情報の1つとして前記記憶装置に記憶させる。
【発明の効果】
【0012】
1つの側面では、本発明は、デジタル作品に対する権利を適切に保護することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施例に係る情報処理システムのブロック図である。
【
図2】
図2は、ハッシュチェーン構造の一例を示す図である。
【
図3】
図3は、ハッシュチェーンのサンプルを示す図である。
【
図4】
図4は、中央サーバの署名鍵ペアの作成段階を示す図である。
【
図5】
図5は、作者の署名鍵ペアの作成段階を示す図である。
【
図6】
図6は、ファイル情報の指定段階を示す図である。
【
図7】
図7は、中央サーバによる署名の付与及びクライアントによるハッシュチェーンの格納段階を示す図である。
【
図8】
図8は、ハッシュチェーンの出力段階を示す図である。
【
図9】
図9は、デジタル作品の公開段階を示す図である。
【
図10】
図10は、デジタル作品のオリジナル性の証明情報の生成処理のフローチャートである。
【
図11】
図11は、制作過程記録処理のフローチャートである。
【
図12】
図12は、完成作品記録処理のフローチャートである。
【
図13】
図13は、コンピュータのハードウェア構成図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示する情報処理プログラム、情報処理方法及び情報処理システムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理プログラム、情報処理方法及び情報処理システムが限定されるものではない。
【実施例0015】
図1は、実施例に係る情報処理システムのブロック図である。情報処理システム1は、作者端末装置10及び中央サーバ20を有する。情報処理システム1は、作者端末装置10を使用する特定の作者が作成したデジタル作品が、その特定の作者のオリジナル作品であることを証明するためのデータを生成するシステムである。
【0016】
作者端末装置10は、デジタル作品の作者が操作する装置である。作者端末装置10は、定期的にデジタル作品の作成過程の作品データの特徴量を取得して中央サーバ20へ送信する。そして、作者端末装置10は、タイムスタンプ、並びに、中央サーバ20及び作者の電子署名が付与された特徴量を中央サーバ20から取得して、それらの情報をハッシュチェーンとして繋げて保持する。
【0017】
中央サーバ20は、作者端末装置10から取得した特徴量の正当性を検証する。そして、検証が成功すると、中央サーバ20は、特徴量にタイムスタンプ、並びに、中央サーバ20及び作者の電子署名を付与して作者端末装置10へ返信する。
【0018】
作者は、以上の作者端末装置10及び中央サーバ20の処理により生成されたハッシュチェーンを完成したデジタル作品とともに公開することで、公開したデジタル作品が公開者である作者のオリジナルであることが証明できる。すなわち、作者は、デジタル作品のオリジナル性を証明できる。以下に、作者端末装置10及び中央サーバ20によるデジタル作品のオリジナル性の証明情報の生成処理の詳細について説明する。
【0019】
作者端末装置10は、デジタル作品のオリジナル性の証明情報の生成処理における作者側のプログラムであるクライアント100がインストールされる。クライアント100は、作者によるデジタル作品の制作の期間に作者端末装置10に常駐する。クライアント100は、署名鍵生成依頼部101、作品ファイル指定部102、作品特徴量取得部103、ブロック送信部104、ブロック格納処理部105、ハッシュチェーン出力部106及びハッシュチェーンデータベース107を有する。
【0020】
署名鍵生成依頼部101は、キーボード等の入力装置を介して、署名鍵の生成の指示を作者から受ける。そして、署名鍵生成依頼部101は、作者の署名鍵の生成を中央サーバ20に依頼する。
【0021】
作品ファイル指定部102は、作者の署名鍵の生成完了の通知を中央サーバ20から受ける。次に、作品ファイル指定部102は、図示しない入力装置を介して、作者によるデジタル作品の作品ファイル保存場所及びファイル種類等の作品ファイル情報の指定を受ける。ここで、作品ファイルは、作者がデジタル作品の制作に利用するファイルであり、制作中及び制作が完了したデジタル作品の作品データが格納される。作品ファイルは、作者端末装置10に保存されても良いし、作者端末装置10にからアクセス可能な他の情報処理装置に保存されてもよい。
【0022】
作品ファイル指定部102は、指定された作品ファイル情報にしたがって作品データを格納する作品ファイルを指定するとともに、制作途中又は制作が完了したデジタル作品の作品データの特徴量の取得を作品特徴量取得部103に指示する。
【0023】
作品特徴量取得部103は、作品ファイルの指定及び作品データの特徴量の取得の指示を作品ファイル指定部102から受ける。そして、作品特徴量取得部103は、指定された作品ファイルを例えば10分間隔のように定期的に取得する。そして、作品特徴量取得部103は、取得した作品ファイルからその時点での作品データを取得する。作品特徴量取得部103により最初に取得された特徴量が「第1特徴量」の一例にあたり、その次に取得された特徴量が「第2特徴量」の一例にあたり、その後定期的取得された特徴量が「第3特徴量」の一例にあたる。さらに、デジタル作品完成後の完成作品データの特徴量が「第4特徴量」の一例にあたる。
【0024】
次に、作品特徴量取得部103は、取得した作品データの特徴量を抽出する。ここで、作品特徴量取得部103が抽出する特徴量とは、作品データの特徴を数量的に表した情報であり、且つ、デジタル作品に小さな変化があっても同じ値となる情報である。より具体的には、作品特徴量取得部103は、所定量以下の変化が作品データに発生しても同じ値となる。
【0025】
例えば、デジタル作品が画像であれば、作品特徴量取得部103は、画像の知覚ハッシュ(pHash)を特徴量として算出する事ができる。pHashは、SHA(Secure Hash Algorithm)と異なり、画像の特徴そのものをハッシュ化することができる。pHashは、画像を縮小及び拡大しても同じ値になり、類似画像検索や同一画像判定に利用される技術である。すなわち、画像の作品データが縮小又は拡大されたデータについても、作品特徴量取得部103は、変更前の作品データと同じpHashを算出する。
【0026】
また、例えば、デジタル作品が文書であれば、作品特徴量取得部103は、文書のtf-idf(Term Frequency-Inverse Document Frequency)を特徴量として算出する事ができる。文書のtf-idfは、文書中に含まれる単語の文章中での重要さを表す統計的指標である。文書のtf-idfは、文書をベクトル化する技術であり、2つの文書間の類似度の判定に利用される技術である。例えば、文章の作品データの中の文末の情報等が変更されたデータについても、作品特徴量取得部103は、変更前の作品データと同じ文書のtf-idfを算出する。
【0027】
特徴量算出後、作品特徴量取得部103は、作品データの算出した特徴量をブロック送信部104へ出力する。さらに、作品特徴量取得部103は、文書ファイル情報をブロック送信部104へ出力する。
【0028】
ブロック送信部104は、作品特徴量等を含む署名対象となる各種データを中央サーバ20へ送信して電子署名の付与を受ける。ここで、中央サーバ20へ送信する署名対象となる各種データのまとまりを「ブロック」と呼ぶ。
【0029】
ブロック送信部104は、作品特徴量取得部103による特徴量の取得のタイミングに応じて、例えば10分間隔のように定期的にブロックを中央サーバ20へ送信してタイムスタンプ及び電子署名の付与を受ける。以下では、ブロック送信部104により今回の送信対象とされるブロックを「現ブロック」と呼ぶ。また、1つ前のタイミングでブロック送信部104により中央サーバ20に送信されたブロックを、「前ブロック」と呼ぶ。ブロックは、最終的にハッシュチェーンデータベース107に格納される。以下に、ブロック送信部104の動作の詳細について説明する。ハッシュチェーンデータベース107が、「記憶装置」の一例にあたり、ハッシュチェーンデータベース107に格納されるハッシュチェーンが、「連続ブロック情報」の一例にあたる。
【0030】
ブロック送信部104は、文書ファイル情報とともに作品データの特徴量の入力を作品特徴量取得部103から受ける。以下では、ブロック送信部104が作品特徴量取得部103から今回取得した作品データの特徴量を、「今回の特徴量」と呼ぶ。次に、ブロック送信部104は、文書ファイル情報を基にそのデジタル作品のハッシュチェーンをハッシュチェーンデータベース107の中から特定する。
【0031】
次に、今回のブロックの送信が中央サーバ20への初めてのブロックの送信の場合、ブロック送信部104は、作品特徴量取得部103から取得した今回の特徴量を含む現ブロックを中央サーバ20へ送信する。すなわち、最初のブロックには作品データの今回の特徴量が含まれればよい。この最初のブロックが、「第1ブロック情報」の一例にあたる。
【0032】
また、現ブロックの送信が中央サーバ20への2回目以降のブロックの送信の場合、ブロック送信部104は、作者からの制作完了ボタンの押下の有無により、デジタル作品が完成したか否かを判定する。制作完了ボタンが押下されておらず作品が未完成の場合、ブロック送信部104は、特定したハッシュチェーンの中から前ブロックに含まれる作品データの特徴量を取得する。以下では、前ブロックに含まれる作品データの特徴量を、「前回の特徴量」と呼ぶ。
【0033】
次に、ブロック送信部104は、今回の特徴量と前回の特徴量とを比較する。今回の特徴量と前回の特徴量とが同じ場合、ブロック送信部104は、ブロックの送信の処理を終了する。
【0034】
これに対して、今回の特徴量と前回の特徴量とが異なる場合、ブロック送信部104は、特定したハッシュチェーンの中から前ブロックを取得する。次に、ブロック送信部104は、前ブロックのハッシュ値を算出する。本実施例では、ブロック送信部104は、MD5アルゴリズム(Message Digest Algorithm 5)を用いてハッシュ値を算出する。そして、ブロック送信部104は、前ブロックのハッシュ値及び今回の特徴量を含む現ブロックを、前ブロックとともに中央サーバ20へ送信する。すなわち、デジタル作品が未完成であり且つ2回目以降のブロックの送信の場合、ブロックには、前回のブロックのハッシュ値及び今回の特徴量が含まれる。この2回目に送信されるブロックが「第2ブロック情報」の一例にあたり、その後に送信される各ブロックが「第3ブロック情報」の一例にあたる。
【0035】
ここで、本実施例では、処理負荷軽減してオリジナル性の証明処理の効率を向上させるために、今回の特徴量と前回の特徴量が同じ場合、ブロック送信部104は、現ブロックの送信を取り止めて今回のその後の処理をスキップした。ただし、これに限らず、ブロック送信部104は、特徴量に変化が無い場合でも現ブロックを送信してその現ブロックに対してタイムスタンプや署名の付与を受けてもよい。
【0036】
また、デジタル作品が完成した場合、ブロック送信部104は、特定したハッシュチェーンの中から前ブロックを取得する。次に、ブロック送信部104は、前ブロックのハッシュ値を算出する。さらに、ブロック送信部104は、作品ファイル情報に基づいて、完成したデジタル作品の作品データである完成作品データを作品ファイルから取得する。そして、ブロック送信部104は、前回のブロックのハッシュ値、今回の特徴量及び完成作品データを含むブロックを、前ブロックとともに中央サーバ20へ送信する。すなわち、デジタル作品が完成した場合のブロックの送信では、ブロックには、前回のブロックのハッシュ値、今回の特徴量及び完成作品データが含まれる。このデジタル作品が完成した場合のブロックが「最終ブロック情報」の一例にあたる。
【0037】
また、ブロック送信部104は、現ブロックの送信に対する応答として、前ブロックの正当性が確認されなかった旨の通知又は前ブロックハッシュ値情報の不一致の通知を受けた場合、署名付与処理の失敗の通知を図示しないモニタ等に表示させて作者に通知する。
【0038】
ブロック格納処理部105は、ブロック送信部104が送信した現ブロックにタイムスタンプ及び電子署名が付与されたブロックを中央サーバ20から受信する。そして、ブロック格納処理部105は、取得した現ブロックをデジタル作品のハッシュチェーンに追加してハッシュチェーンデータベース107に格納する。さらに、デジタル作品が完成した場合、ブロック格納処理部105は、ハッシュチェーンの出力をハッシュチェーン出力部106に指示する。
【0039】
ハッシュチェーンデータベース107は、デジタル作品のブロックのハッシュチェーンを格納するデータベースである。
図2は、ハッシュチェーン構造の一例を示す図である。デジタル作品のブロックには、ハッシュチェーン構造111に示すように、前ブロックのハッシュ値、完成作品データ、特徴量算出アルゴリズム、特徴量及び時刻が登録される。ただし、制作途中のブロックの場合、完成作品データは格納されない。以下では、完成作品データを含むブロックを「最後のブロック」と呼ぶ。
【0040】
また、
図3は、ハッシュチェーンのサンプルを示す図である。ただし、
図3に記載したデータは全てダミーのデータである。例えば、ハッシュチェーン112におけるブロック番号(block_num)が0のブロックが最初のブロックである。そして、ハッシュチェーン112においてブロック番号が1つずつ増える毎に次のブロックとなる。ハッシュチェーンデータベース107には、最初のブロックから順番に、最後のブロックが格納されるまでブロックが格納される。
【0041】
ハッシュチェーン出力部106は、ハッシュチェーンの出力指示をブロック格納処理部105から受ける。そして、ハッシュチェーン出力部106は、ハッシュチェーンデータベース107に格納された完成したデジタル作品のブロックのハッシュチェーンを出力して作者に提供する。
【0042】
作者は、完成作品とデジタル作品のブロックのハッシュチェーンを公開する。第三者は、完成作品データを含むブロックの電子署名からデジタル作品に付加されたハッシュチェーンにおける最後のブロックが作者により作成されたことが確認できる。また、第三者は、各ブロックを確認することで時系列に沿った特徴量の遷移を確認でき、適切な制作過程を経てデジタル作品が作者により作成されたことを確認できる。したがって、作者は、完成作品とデジタル作品のブロックのハッシュチェーンを公開することで、公開したデジタル作品が自身のオリジナルの作品であることを証明することができる。
【0043】
次に、中央サーバ20について説明する。中央サーバ20は、署名鍵生成部201、検証部202、タイムスタンプ付与部203、電子署名付与部204及び署名鍵データベース205を有する。
【0044】
署名鍵生成部201は、予めRSA方式の中央サーバ20の検証鍵と署名鍵との署名鍵ペアを生成する。そして、署名鍵生成部201は、中央サーバ20の署名鍵ペアを署名鍵データベース205に格納する。
【0045】
また、署名鍵生成部201は、署名鍵の生成依頼をクライアント100の署名鍵生成依頼部101から受ける。次に、署名鍵生成部201は、RSA方式の作者の署名鍵ペアを生成する。そして、署名鍵生成部201は、作者の署名鍵ペアを署名鍵データベース205に格納する。その後、署名鍵生成部201は、作者の署名鍵の生成完了をクライアント100の作品ファイル指定部102に通知する。
【0046】
検証部202は、クライアント100のブロック送信部104から送信された現ブロックを受信する。次に、前ブロックが付加されておらず現ブロックが最初のブロックである場合、検証部202は、受信した現ブロックをタイムスタンプ付与部203へ出力する。
【0047】
これに対して、現ブロックに前ブロックが付加されている場合、検証部202は、その前ブロックの電子署名を検証する。電子署名の検証により送られてきた前ブロックの正当性が確認されなかった場合、検証部202は、前ブロックの正当性が確認されなかった旨をクライアント100のブロック送信部104に通知して、処理を終了する。
【0048】
また、前ブロックの正当性が確認された場合、検証部202は、前ブロックからハッシュ値を算出する。また、検証部202は、受信した現ブロックから前ブロックのハッシュ値を取得する。そして、検証部202は、算出したハッシュ値と現ブロックから取得したハッシュ値とが一致するか否かを判定する。算出したハッシュ値と受信したブロックから取得したハッシュ値とが一致しなければ、検証部202は、前ブロックハッシュ値情報の不一致をクライアント100のブロック送信部104に通知して、処理を終了する。
【0049】
これに対して、前ブロックから算出したハッシュ値と現ブロックから取得した前ブロックのハッシュ値とが一致した場合、検証部202は、検証が成功したと判定する。そして、検証部202は、受信したブロックをタイムスタンプ付与部203へ出力する。
【0050】
タイムスタンプ付与部203は、時計を有する。タイムスタンプ付与部203は、ブロックの入力を検証部202から受ける。そして、タイムスタンプ付与部203は、自己の時計で示される時刻を現ブロックに付与する。その後、タイムスタンプ付与部203は、現ブロックを電子署名付与部204へ出力する。最初のブロックに与えられるタイムスタンプが、「第1タイムスタンプ情報」の一例にあたる。また、2番目のブロックに与えられるタイムスタンプが、「第2タイムスタンプ情報」の一例にあたる。また、2番目以降のブロックに与えられるタイムスタンプが、「第3タイムスタンプ情報」の一例にあたる。また、最後のブロックに与えられるタイムスタンプが、「第4タイムスタンプ情報」の一例にあたる。
【0051】
電子署名付与部204は、タイムスタンプが付与された現ブロックの入力をタイムスタンプ付与部203から受ける。次に、電子署名付与部204は、署名鍵データベース205に格納された中央サーバ20の署名鍵ペア及び作者の署名鍵ペアを取得する。そして、電子署名付与部204は、中央サーバ20の署名鍵ペア及び作者の署名鍵ペアを用いて現ブロックに中央サーバ20及び作者の電子署名を付与する。その後、電子署名付与部204は、タイムスタンプ及び電子署名が付与された現ブロックをクライアント100のブロック格納処理部105へ送信する。
【0052】
図4は、中央サーバの署名鍵ペアの作成段階を示す図である。
図5は、作者の署名鍵ペアの作成段階を示す図である。
図6は、ファイル情報の指定段階を示す図である。
図7は、中央サーバによる署名の付与及びクライアントによるハッシュチェーンの格納段階を示す図である。
図8は、ハッシュチェーンの出力段階を示す図である。
図9は、デジタル作品の公開段階を示す図である。次に、
図4~9を参照して、デジタル作品の公開までの処理の全体的な概要をまとめて説明する。ここでは、クライアント100が10分毎にブロックを中央サーバ20へ送信する場合で説明する。
【0053】
図4に示すように、中央サーバ20の署名鍵生成部201は、事前に検証鍵21及び署名鍵22を含む中央サーバ20の鍵ペアを生成する(ステップS1)。次に、署名鍵生成部201は、署名鍵データベース205に生成した検証鍵21及び署名鍵22を含む中央サーバ20の鍵ペアを格納する(ステップS2)。
【0054】
作者Pは、
図5に示すように、クライアントプログラム11を作者端末装置10にインストールする(ステップS3)。これにより、クライアント100が、作者端末装置10に常駐して動作する。次に、クライアント100の署名鍵生成依頼部101は、作者Pからの指示を受けて、署名鍵の生成依頼を中央サーバ20の署名鍵生成部201に対して行う(ステップS4)。中央サーバ20の署名鍵生成部201は、署名鍵生成依頼部101からの依頼を受けて、検証鍵23及び署名鍵24を含む作者Pの鍵ペアを生成する(ステップS5)。次に、署名鍵生成部201は、署名鍵データベース205に生成した検証鍵23及び署名鍵24を含む作者Pの鍵ペアを格納する(ステップS6)。
【0055】
作者Pは、デジタル作品の作成を開始する。そして、作者Pは、
図6に示すように、作品ファイル12を作成して作者端末装置10に格納する(ステップS7)。ここで、作品ファイル12の格納場所は、作者端末装置10でなくても良く、他のコンピュータ上であってもよい。作者Pは、クライアント100から提供される作品ファイルの管理用のユーザインタフェース15を用いて、作品ファイル12の格納場所及びファイル種類を含む作品ファイル情報をクライアント100の作品ファイル指定部102に送信して作品ファイルを指定する(ステップS8)。作品ファイル指定部102は、受信した作品ファイル情報にしたがって作品データを格納する作品ファイルを指定するとともに、制作途中又は制作が完了したデジタル作品の作品データの特徴量の取得を作品特徴量取得部103に指示する。
【0056】
次に、
図7を参照して、ブロックの生成及びハッシュチェーンの生成について説明する。クライアント100の作品特徴量取得部103は、作者Pにより制作が開始されたデジタル作品の作品データ13を含む作品ファイル12を取得する(ステップS11)。そして、クライアント100の特徴量取得部103は、作品ファイル12に含まれる作品データ13の今回の特徴量を算出する。クライアント100のブロック送信部104は、今回の特徴量を含む最初のブロックを中央サーバ20の検証部202へ送信する(ステップS12)。中央サーバ20の検証部202による最初のブロックの検証が成功すると、タイムスタンプ付与部203及び電子署名付与部204が、最初のブロックにタイムスタンプ及び電子署名を付与する。その後、中央サーバ20の電子署名付与部204は、タイムスタンプ及び電子署名が付与された最初のブロックをクライアント100のブロック格納処理部105に送信する(ステップS13)。クライアント100のブロック格納処理部105は、特徴量、タイムスタンプ及び電子署名を含む最初のブロックをハッシュチェーンデータベース107に格納する(ステップS14)。
【0057】
10分後に、クライアント100の作品特徴量取得部103は、作者Pが制作中のデジタル作品の作品データ13を含む作品ファイル12を取得する(ステップS15)。そして、クライアント100の特徴量取得部103は、作品ファイル12に含まれる作品データ13の今回の特徴量を算出する。クライアント100のブロック送信部104は、前ブロックに含まれる前回の特徴量と今回の特徴量とが異なる場合、前ブロックのハッシュ値及び今回の特徴量を含む2番目のブロックとともに前ブロックを中央サーバ20の検証部202へ送信する(ステップS16)。中央サーバ20の検証部202による2番目のブロックの検証が成功すると、タイムスタンプ付与部203及び電子署名付与部204が、2番目のブロックにタイムスタンプ及び電子署名を付与する。その後、中央サーバ20の電子署名付与部204は、タイムスタンプ及び電子署名が付与された2番目のブロックをクライアント100のブロック格納処理部105に送信する(ステップS17)。クライアント100のブロック格納処理部105は、前ブロックのハッシュ値、特徴量、タイムスタンプ及び電子署名を含む2番目のブロックをハッシュチェーンデータベース107に格納する(ステップS18)。
【0058】
次の10分後に、クライアント100の作品特徴量取得部103は、作者Pが制作中のデジタル作品の作品データ13を含む作品ファイル12を取得する(ステップS19)。そして、クライアント100の特徴量取得部103は、作品ファイル12に含まれる作品データ13の今回の特徴量を算出する。クライアント100のブロック送信部104は、前回のブロックに含まれる前回の特徴量と今回の特徴量とが同じであり、特徴量に変化がない場合、受信したブロックに対する以降の処理をスキップする(ステップS20)。
【0059】
その後、10分毎に、クライアント100及び中央サーバ20は、特徴量に変化があるか否かに応じて、ステップS15~S18又はステップS19~S20を繰り返す。ただし、クライアント100が中央サーバ20に送信したブロックが何番目のブロックかは、それまでに送信されたブロックの数によって変わる。
【0060】
そして、作者Pは、デジタル作品の作品データ13の作成が完了すると、制作完了ボタンを押下する。クライアント100の作品特徴量取得部103は、作者Pが制作中のデジタル作品の完成作品データである作品データ13を含む作品ファイル12を取得する(ステップS21)。そして、クライアント100の特徴量取得部103は、作品ファイル12に含まれる完成作品データの特徴量を算出する。クライアント100のブロック送信部104は、前ブロックのハッシュ値、完成作品データの特徴量及び完成作品データを含む最後のブロックとともに前ブロックを中央サーバ20の検証部202へ送信する(ステップS22)。中央サーバ20の検証部202による最後のブロックの検証が成功すると、タイムスタンプ付与部203及び電子署名付与部204が、最後のブロックにタイムスタンプ及び電子署名を付与する。その後、中央サーバ20の電子署名付与部204は、タイムスタンプ及び電子署名が付与された最後のブロックをクライアント100のブロック格納処理部105に送信する(ステップS23)。クライアント100のブロック格納処理部105は、前ブロックのハッシュ値、完成作品データの特徴量、完成作品データ、タイムスタンプ及び電子署名を含む最後のブロックをハッシュチェーンデータベース107に格納する(ステップS24)。
【0061】
クライアント100のハッシュチェーン出力部106は、デジタル作品が完成すると、ハッシュチェーンの出力の指示をブロック格納処理部105から受ける。そして、ハッシュチェーン出力部106は、
図8に示すように、ハッシュチェーンデータベース107に格納された完成したデジタル作品のブロックのハッシュチェーン14を出力して作者Pに提供する(ステップS25)。
【0062】
作者Pは、
図9に示すように、提供された完成したデジタル作品のブロックのハッシュチェーン14とともに完成したデジタル作品の作品データ13を公開する(ステップS26)。
【0063】
図10は、デジタル作品のオリジナル性の証明情報の生成処理のフローチャートである。次に、
図10を参照して、デジタル作品のオリジナル性の証明情報であるデジタル作品のブロックのハッシュチェーンの生成処理の流れを説明する。
【0064】
中央サーバ20の署名鍵生成部201は、予め中央サーバ20の鍵ペアを生成して署名鍵データベース205に格納する(ステップS101)。
【0065】
クライアント100の署名鍵生成依頼部101は、作者の署名鍵の生成を中央サーバ20の署名鍵生成部201に依頼する(ステップS102)。
【0066】
中央サーバ20の署名鍵生成部201は、クライアント100の署名鍵生成依頼部101からの依頼を受けて、作者の鍵ペアを生成して署名鍵データベース205に格納する(ステップS103)。
【0067】
クライアント100の作品ファイル指定部102は、作者から入力された作品ファイル情報を取得する(ステップS104)。
【0068】
クライアント100の作品ファイル指定部102は、取得した作品ファイル情報にしたがって作品データを格納する作品ファイルを指定するとともに、制作途中又は制作が完了したデジタル作品の作品データの特徴量の取得を作品特徴量取得部103に指示する。クライアント100の作品特徴量取得部103は、作品ファイル指定部102により指定された作品ファイルを取得する(ステップS105)。
【0069】
次に、クライアント100の作品特徴量取得部103は、作品ファイルに含まれる作品データの特徴量を算出する(ステップS106)。
【0070】
クライアント100のブロック送信部104は、作品データの特徴量及び作品ファイル情報を作品特徴量取得部103から取得する。そして、ブロック送信部104は、制作完了ボタンが作者により押下されたか否かにより、作品が未完成か否かを判定する(ステップS107)。
【0071】
作品が未完成の場合(ステップS107:肯定)、クライアント100のブロック送信部104及びブロック格納処理部105は、制作過程記録処理を実行する(ステップS108)。
【0072】
その後、クライアント100の作品特徴量取得部103は、制作完了ボタンが作者により押下された又は10分が経過したかのいずれかの条件が満たされたか否かを判定する(ステップS109)。いずれの条件も満たされていない場合(ステップS109:否定)、作品特徴量取得部103は、いずれかの条件が満たされるまで待機する。
【0073】
これに対して、いずれかの条件が満たされた場合(ステップS109:肯定)、デジタル作品のオリジナル性の証明情報の生成処理は、ステップS105へ戻る。
【0074】
一方、作品が完成した場合(ステップS107:否定)、クライアント100のブロック送信部104及びブロック格納処理部105は、完成作品記録処理を実行する(ステップS110)。
【0075】
その後、クライアント100のハッシュチェーン出力部106は、ハッシュチェーンデータベース107から完成したデジタル作品のハッシュチェーンを取得して出力して、作者に提供する(ステップS111)。
【0076】
図11は、制作過程記録処理のフローチャートである。
図11のフローに示した各処理は、
図10におけるステップS108で実行される処理の一例にあたる。次に、
図11を参照して、制作過程記録処理の流れを説明する。
【0077】
クライアント100のブロック送信部104は、現ブロックが最初のブロックか否かを判定する(ステップS201)。
【0078】
現ブロックが最初のブロックの場合(ステップS201:肯定)、クライアント100のブロック送信部104は、特徴量を含む現ブロックを中央サーバ20の検証部202へ送信する(ステップS202)。
【0079】
中央サーバ20の検証部202は、現ブロックをタイムスタンプ付与部203へ出力する。中央サーバ20のタイムスタンプ付与部203は、現ブロックにタイムスタンプを付与する(ステップS203)。
【0080】
次に、中央サーバ20の電子署名付与部204は、現ブロックに作者及び中央サーバ20の署名鍵で署名する(ステップS204)。
【0081】
次に、中央サーバ20の電子署名付与部204は、タイムスタンプ及び電子署名が付与された現ブロックをクライアント100のブロック格納処理部105へ送信する(ステップS205)。
【0082】
クライアント100のブロック格納処理部105は、中央サーバ20の電子署名付与部204から受信した現ブロックをハッシュチェーンデータベース107に格納する(ステップS206)。
【0083】
これに対して、現ブロックが最初のブロックでなく2番目以降のブロックの場合(ステップS201:否定)、クライアント100のブロック送信部104は、今回の特徴量と前回の特徴量とが異なるか否かを判定する(ステップS207)。今回の特徴量と前回の特徴量とが同一の場合(ステップS207:否定)、クライアント100のブロック送信部104は、制作過程記録処理を終了する。
【0084】
これに対して、今回の特徴量と前回の特徴量とが異なる場合(ステップS207:肯定)、クライアント100のブロック送信部104は、前ブロックのハッシュ値及び特徴量を含む現ブロックと前ブロックとを中央サーバ20の検証部202へ送信する(ステップS208)。
【0085】
中央サーバ20の検証部202は、前ブロックのハッシュ値及び特徴量を含む現ブロックと前ブロックとを、クライアント100のブロック送信部104から受信する。そして、検証部202は、前ブロックの電子署名及び現ブロック内のハッシュ値を検証する(ステップS209)。
【0086】
そして、中央サーバ20の検証部202は、検証が全て成功したか否かを判定する(ステップS210)。検証が全て成功した場合(ステップS210:肯定)、制作過程記録処理は、ステップS203へ戻る。
【0087】
これに対して、いずれかの検証が失敗した場合(ステップS210:否定)、中央サーバ20の検証部202は、検証失敗をクライアント100のブロック送信部104へ通知する(ステップS211)。この場合、クライアント100のブロック送信部104は、検証失敗の通知を受けて制作過程記録処理を終了する。
【0088】
図12は、完成作品記録処理のフローチャートである。
図12のフローに示した各処理は、
図10におけるステップS110で実行される処理の一例にあたる。次に、
図12を参照して、完成作品記録処理の流れを説明する。
【0089】
クライアント100のブロック送信部104は、前ブロックのハッシュ値、特徴量及び完成作品データを含む現ブロックと前ブロックとを中央サーバ20の検証部202へ送信する(ステップS301)。
【0090】
中央サーバ20の検証部202は、前ブロックのハッシュ値、特徴量及び完成作品データを含む現ブロックと前ブロックとを、クライアント100のブロック送信部104から受信する。そして、検証部202は、前ブロックの電子署名及び現ブロック内のハッシュ値を検証する(ステップS302)。
【0091】
そして、中央サーバ20の検証部202は、検証が全て成功したか否かを判定する(ステップS303)。
【0092】
検証が全て成功した場合(ステップS303:肯定)、中央サーバ20の検証部202は、最後のブロックである現ブロックをタイムスタンプ付与部203へ出力する。中央サーバ20のタイムスタンプ付与部203は、現ブロックにタイムスタンプを付与する(ステップS304)。
【0093】
次に、中央サーバ20の電子署名付与部204は、最後のブロックである現ブロックに作者及び中央サーバ20の署名鍵で署名する(ステップS305)。
【0094】
次に、中央サーバ20の電子署名付与部204は、最後のブロックであるタイムスタンプ及び電子署名が付与された現ブロックをクライアント100のブロック格納処理部105へ送信する(ステップS306)。
【0095】
クライアント100のブロック格納処理部105は、中央サーバ20の電子署名付与部204から受信した最後のブロックである現ブロックをハッシュチェーンデータベース107に格納する(ステップS307)。
【0096】
これに対して、いずれかの検証が失敗した場合(ステップS303:否定)、中央サーバ20の検証部202は、検証失敗をクライアント100のブロック送信部104へ通知する(ステップS308)。この場合、クライアント100のブロック送信部104は、検証失敗の通知を受けて制作過程記録処理を終了する。
【0097】
以上に説明したように、本実施例に係る情報処理システムは、デジタル作品の制作過程の作品データから一定時間毎に、変化が少ない場合に同じ値を取る特徴量を取得する。そして、情報処理システムは、特徴量に対して、タイムスタンプ、並びに、中央サーバ及び作者の電子署名を付与する。そして、情報処理システムは、デジタル作品の製作開始から完成までの、特徴量、タイムスタンプ、並びに、中央サーバ及び作者の電子署名が付与された特徴量をハッシュチェーンとして繋ぐ。また、情報処理システムは、最後のブロックに完成作品データを格納する。作者は、完成品データとともに、デジタル作品の製作開始から完成までのブロックのハッシュチェーンを公開する。
【0098】
これにより、第三者は、完成品データの特徴量に付された電子署名から、公開されたデジタル作品が、ハッシュチェーンを作成した作者により公開されたことが確認できる。また、各特徴量に付加された電子署名から、第三者は、制作過程の作品データが、デジタル作品を公開した作者により作成されたものであることを確認できる。また、ハッシュチェーンを用いることで、各特徴量が連続的に生成されたものであることが保証される。さらに、第三者は、タイムスタンプが付与された各特徴量を確認することで、時系列に沿って作品データの特徴量が遷移し最終的に完成作品データの特徴量となることから、デジタル作品を公開した作者により制作された作品であることが確認できる。以上により、デジタル作品が、それを公開した作者のオリジナルの作品であることを証明することが可能となる。このように、制作途中の作品データを公開することなく、制作工程の中で不自然な加工、修正がなかったか、及び、最終的に完成した作品の特徴量が完成作品データのものと一致するか、を第三者が検証可能になり、オリジナルか否かを判断できる。したがって、デジタル作品に対する権利を適切に保護することが可能となる。
【0099】
(変形例)
以下に、実施例に係る情報処理システムの変形例について説明する。実施例では、ブロック送信部104は、特徴量及びハッシュ値をブロックに含ませたが、ブロックには他の情報を含ませることも可能である。
【0100】
例えば、ブロック送信部104は、マウス、キーボード又はペンタブレットいずれかもしくはその組み合わせの操作といった操作ログファイルをブロックに含ませてもよい。他にも、ブロック送信部104は、MAC(Media Access Control)アドレスやIP(Internet Protocol)アドレスといった作者端末装置10の情報をブロックに含ませてもよい。また、ブロック送信部104は、作成場所のGPS(Global Positioning System)情報をブロックに含ませてもよい。また、ブロック送信部104は、制作途中の作品データ本体をブロックに含ませてもよい。
【0101】
このような情報をブロックに含めることで、作者が公開したデジタル作品を作成した蓋然性が高まり、公開されたデジタル作品が公開者である作者のオリジナルであることをより強固に主張することが可能となる。
【0102】
また、作者が、デジタル作品を制作するにあたりAI技術を利用することが考えられる。そこで、作者が制作過程でAI技術を利用した場合、ブロック送信部104は、AI技術ツールと連携してその情報をブロックに加えてもよい。例えば、ブロック送信部104は、モデル名やバージョン等の利用したモデル情報やパラメータ情報をブロックに含ませてもよい。また、ブロック送信部104は、AI技術によって作成した画像データをブロックに含ませてもよい。
【0103】
このような情報をブロックに含めることで、作品の中でAI技術を利用した部分と作者自身が創作した部分とを区別することができるようになり、デジタル作品に関してより細かなオリジナル性の主張が可能となる。他にも、作品がAI技術のみを利用したことが保証できれば、他者が作品の著作権を懸念せずに利用することも可能となる。
【0104】
さらに以上の説明では、デジタル作品の制作を例に、オリジナル性の証明情報の生成について説明したが、これに限らず、本実施例に係る情報処理システムは、以下の特徴を持つ電子情報のオリジナル性の証明に適用することができる。
【0105】
本実施例に係る情報処理システムによるオリジナル性の証明に適する電子情報は、例えば、更新が頻繁に発生する、更新のたびに大きな変更が発生しない、情報を全て公開することが難しい等の特徴を有する事が好ましい。また、本実施例に係る情報処理システムによるオリジナル性の証明に適する電子情報は、オリジナル性の証明が求められる場合があることがより好適である。
【0106】
具体的には、本実施例に係る情報処理システムは、次のような特徴を有するクローズドソースなソフトウェアのソースコード等に適用可能である。ソースコードの修正や追記が頻繁に発生する。ソースコードの丸ごと書き換えはほぼ発生しない。クローズドソースであり、ソースコードの公開は困難である。さらに、他者ソースコードの不正コピーといったライセンス違反を追及される等の、オリジナル性の証明を求められる場合がある。
【0107】
(ハードウェア構成)
図13は、コンピュータのハードウェア構成図である。次に、
図13を参照して、作者端末装置10及び中央サーバ20の各機能を実現するためのハードウェア構成の一例について説明する。
【0108】
作者端末装置10及び中央サーバ20は、いずれも
図13に示すコンピュータ90により実現可能である。コンピュータ90は、例えば、
図13に示すように、CPU(Central Processing Unit)91、メモリ92、ハードディスク93、ネットワークインタフェース94を有する。CPU91は、バスを介して、メモリ92、ハードディスク93及びネットワークインタフェース94に接続される。
【0109】
ネットワークインタフェース94は、外部装置との間の通信のためのインタフェースである。ネットワークインタフェース94は、作者端末装置10とサーバ20とにおいて相手との間の通信を中継する。
【0110】
ハードディスク93は、補助記憶装置である。作者端末装置10であれば、ハードディスク93は、
図1に例示したハッシュチェーンデータベース107の機能を実現する。また、ハードディスク93は、
図1に例示した、署名鍵生成依頼部101、作品ファイル指定部102、作品特徴量取得部103、ブロック送信部104、ブロック格納処理部105及びハッシュチェーン出力部106の機能を実現するためのプログラムを含む各種プログラムを格納する。また、サーバ20であれば、ハードディスク93は、
図1に例示した署名鍵データベース205の機能を実現する。また、ハードディスク93は、
図1に例示した、署名鍵生成部201、検証部202、タイムスタンプ付与部203及び電子署名付与部204の機能を実現するためのプログラムを含む各種プログラムを格納する。
【0111】
メモリ92は、主記憶装置である。メモリ92は、例えば、DRAM(Dynamic Random Access Memory)を用いることができる。
【0112】
CPU91は、ハードディスク93から各種プログラムを読み出して、メモリ92に展開して実行する。これにより、作者端末装置10であれば、CPU91は、
図1に例示した、署名鍵生成依頼部101、作品ファイル指定部102、作品特徴量取得部103、ブロック送信部104、ブロック格納処理部105及びハッシュチェーン出力部106の機能を実現する。また、サーバ20であれば、CPU91は、
図1に例示した、署名鍵生成部201、検証部202、タイムスタンプ付与部203及び電子署名付与部204の機能を実現する。