(57)【特許請求の範囲】
【請求項１】
時系列のデータから、所定の区間に含まれるｎ個（２以上の整数）のデータを順次取得し、該取得したデータに基づいて、ｋ個（ｋは１以上でｎ未満の整数）の乱数値が含まれる（ｋ−１）次の多項式を満たすパラメータ情報を算出する算出手段と、
前記取得したデータと、該取得したデータに基づいて算出された前記パラメータ情報とを対応付けて出力する出力手段と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報との組がｋ個集まることで算出可能となる、秘密分散プロトコルに基づく秘密情報に、署名を付加して出力する第１の署名手段と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを送信するとともに、前記第１の署名手段が署名を付加して出力した前記秘密情報を送信する第１の送信手段と、
前記取得したデータのハッシュ値に署名を付加して出力する第２の署名手段と、
前記取得したデータのハッシュ値と、前記第２の署名手段が署名を付加して出力したハッシュ値とを送信する第２の送信手段と
を有することを特徴とするデータ生成装置。
【請求項２】
前記算出手段は、前記取得したデータのハッシュ値に基づいて、前記パラメータ情報を算出することを特徴とする請求項１に記載のデータ生成装置。
【請求項３】
前記算出手段が前記パラメータ情報を算出する際の条件を設定する設定手段を更に有することを特徴とする請求項１または２に記載のデータ生成装置。
【請求項４】
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを格納するとともに、前記第１の署名手段が署名を付加して出力した前記秘密情報を格納する格納手段を更に有することを特徴とする請求項１乃至３のいずれか１項に記載のデータ生成装置。
【請求項５】
前記取得したデータの重要度を決定する決定手段を更に有し、
前記算出手段は、前記取得したデータに基づいて、前記決定手段により決定された重要度に応じた数の前記パラメータ情報を算出することを特徴とする請求項１に記載のデータ生成装置。
【請求項６】
前記第１の送信手段は、
前記重要度が所定値以上であった場合、前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを複数回送信することを特徴とする請求項５に記載のデータ生成装置。
【請求項７】
前記重要度が所定値以上であった場合、前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを保持する保持手段を更に有し、
前記第１の送信手段は、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを送信した後に、送信先から再送要求を受信した場合に、前記保持手段に保持されている、前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを送信することを特徴とする請求項５に記載のデータ生成装置。
【請求項８】
データ生成装置と、該データ生成装置に接続されるデータ記憶装置とを有するデータ記録システムであって、
前記データ生成装置は、
時系列のデータから、所定の区間に含まれるｎ個（２以上の整数）のデータを順次取得し、該取得したデータに基づいて、ｋ個（ｋは１以上でｎ未満の整数）の乱数値が含まれる（ｋ−１）次の多項式を満たすパラメータ情報を算出する算出手段と、
前記取得したデータと、該取得したデータに基づいて算出された前記パラメータ情報とを対応付けて出力する出力手段と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報との組がｋ個集まることで算出可能となる、秘密分散プロトコルに基づく秘密情報に、署名を付加して出力する第１の署名手段と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報との第１の組を送信するとともに、前記第１の署名手段が署名を付加して出力した前記秘密情報を送信する第１の送信手段と、
前記取得したデータのハッシュ値に署名を付加して出力する第２の署名手段と、
前記取得したデータのハッシュ値と、前記第２の署名手段が署名を付加して出力したハッシュ値との第２の組を送信する第２の送信手段と
を有することを特徴とするデータ記録システム。
【請求項９】
前記データ記憶装置は、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報との前記第１の組を受信する受信手段と、
受信された前記第１の組の数がｋ個以上か否かに基づいて、署名検証の成否を判定する第１の改竄判定手段と
を有することを特徴とする請求項８に記載のデータ記録システム。
【請求項１０】
前記受信手段は、署名が付加された前記秘密情報を更に受信し、
前記データ記憶装置は、
前記第１の改竄判定手段によりｋ個以上と判定された場合に、ｋ個の前記第１の組に基づいて算出した前記秘密情報と、前記受信手段により受信された前記秘密情報とを比較することで、署名検証の成否を判定する第２の改竄判定手段を有することを特徴とする請求項９に記載のデータ記録システム。
【請求項１１】
前記受信手段は、前記第２の送信手段により送信された前記第２の組を更に受信し、
前記データ記憶装置は、更に、
受信された前記第２の組の署名検証が成功した場合に、該署名検証が成功した第２の組を用いて、受信された前記第１の組に含まれる前記取得したデータについて、署名検証の成否を判定する偽造判定手段を有することを特徴とする請求項９に記載にデータ記録システム。
【請求項１２】
前記偽造判定手段は、
受信された前記第１の組に含まれる前記取得したデータのハッシュ値と、受信された前記第２の組に含まれる前記取得したデータのハッシュ値とを比較することで、受信された前記第１の組に含まれる前記取得したデータの成否を判定することを特徴とする請求項１１に記載のデータ記録システム。
【請求項１３】
時系列のデータから、所定の区間に含まれるｎ個（２以上の整数）のデータを順次取得し、該取得したデータに基づいて、ｋ個（ｋは１以上でｎ未満の整数）の乱数値が含まれる（ｋ−１）次の多項式を満たすパラメータ情報を算出する算出工程と、
前記取得したデータと、該取得したデータに基づいて算出された前記パラメータ情報とを対応付けて出力する出力工程と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報との組がｋ個集まることで算出可能となる、秘密分散プロトコルに基づく秘密情報に、署名を付加して出力する第１の署名工程と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを送信するとともに、前記第１の署名工程において署名を付加して出力した前記秘密情報を送信する第１の送信工程と、
前記取得したデータのハッシュ値に署名を付加して出力する第２の署名工程と、
前記取得したデータのハッシュ値と、前記第２の署名工程において署名を付加して出力したハッシュ値とを送信する第２の送信工程と
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ生成装置、データ記録システム及びプログラムに関する。
【背景技術】
【０００２】
従来より、撮像装置等のデータ生成装置と、該データ生成装置において生成された時系列のデータ（動画像データ等）を受信して記憶するデータ記憶装置（サーバ装置等）と、を組み合わせてなるデータ記録システムが知られている。当該データ記録システムでは、データの真正性を保証するために、時系列のデータに対して署名を付加する場合がある。
【０００３】
ここで、データ記録システムにおいて、時系列のデータに対して署名を付加する方法としては、例えば、データ記憶装置側で付加する方法と、データ生成装置側で付加する方法とが挙げられる。このうち、データ記憶装置側で署名を付加する方法の場合、署名を付加する前にデータ記憶装置に記憶された時系列のデータが読み出され、改竄される可能性を排除できない。このため、データの真正性を保証するには、データ生成装置側で署名を付加してデータ記憶装置に記憶する構成とすることが望ましい（下記特許文献１等参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、データ生成装置側で署名を付加する構成とした場合、署名が付加されたデータをデータ記憶装置が受信した際に、データ欠損が１つでも発生していると、データ記憶装置側で署名検証を行うことができないという問題がある。この場合、たとえ欠損していないデータが改竄されていないデータであったとしても、データの真正性を保証することができない。
【０００５】
このようなことから、上記のようなデータ記録システムにおいては、データ生成装置側で署名を付加するにあたり、データ欠損に対する耐性を向上させ、データ欠損が発生しても、データ記憶装置側で署名検証が行えるように構成することが望ましい。
【０００６】
本発明は上記課題に鑑みてなされたものであり、署名検証でのデータ欠損に対する耐性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の各実施形態に係るデータ生成装置は、例えば、以下のような構成を有する。すなわち、
時系列のデータから、所定の区間に含まれるｎ個（２以上の整数）のデータを順次取得し、該取得したデータに基づいて、ｋ個（ｋは１以上でｎ未満の整数）の乱数値が含まれる（ｋ−１）次の多項式を満たすパラメータ情報を算出する算出手段と、
前記取得したデータと、該取得したデータに基づいて算出された前記パラメータ情報とを対応付けて出力する出力手段と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報との組がｋ個集まることで算出可能となる、秘密分散プロトコルに基づく秘密情報に、署名を付加して出力する第１の署名手段と、
前記取得したデータと、該取得したデータに対応付けて出力された前記パラメータ情報とを送信するとともに、前記第１の署名手段が署名を付加して出力した前記秘密情報を送信する第１の送信手段と、
前記取得したデータのハッシュ値に署名を付加して出力する第２の署名手段と、
前記取得したデータのハッシュ値と、前記第２の署名手段が署名を付加して出力したハッシュ値とを送信する第２の送信手段とを有する。
【発明の効果】
【０００８】
本発明の各実施形態によれば、署名検証でのデータ欠損に対する耐性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】データ記録システムのシステム構成の一例を示す図である。
【図２】秘密分散のプロトコルを説明するための図である。
【図３】秘密分散のプロトコルを説明するための図である。
【図４】第１の実施形態における撮像装置及びサーバ装置のハードウェア構成を示す図である。
【図５】第１の実施形態における撮像装置の機能構成を示す図である。
【図６】第１の実施形態における撮像装置の各部の動作を模式的に示した図である。
【図７】秘密分散データ生成処理の流れを示すフローチャートである。
【図８】サーバ装置の機能構成を示す図である。
【図９】データ検証処理の流れを示すフローチャートである。
【図１０】データ記録システムの適用例を示す図である。
【図１１】第２の実施形態における撮像装置の機能構成を示す図である。
【図１２】設定パラメータ記憶部に保持される設定パラメータ情報の一例を示す図である。
【図１３】第３の実施形態における撮像装置のハードウェア構成を示す図である。
【図１４】第３の実施形態における撮像装置の機能構成を示す図である。
【図１５】第３の実施形態における撮像装置の適用例を示す図である。
【図１６】第４の実施形態における撮像装置の機能構成を示す図である。
【図１７】第４の実施形態における撮像装置の各部の動作を模式的に示した図である。
【図１８】秘密分散データ生成処理の流れを示すフローチャートである。
【図１９】データ検証処理の流れを示すフローチャートである。
【図２０】データ記録システムの適用例を示す図である。
【図２１】秘密分散データ生成処理の流れを示すフローチャートである。
【図２２】秘密分散データ生成処理の流れを示すフローチャートである。
【図２３】秘密分散データ生成処理の流れを示すフローチャートである。
【図２４】秘密分散データ生成処理の流れを示すフローチャートである。
【図２５】秘密分散データ生成処理の流れを示すフローチャートである。
【図２６】データ記録システムのシステム構成の一例を示す図である。
【図２７】第８の実施形態における撮像装置の機能構成を示す図である。
【図２８】第８の実施形態における撮像装置の各部の動作を模式的に示した図である。
【図２９】秘密分散データ生成処理の流れを示すフローチャートである。
【図３０】サーバ装置の機能構成を示す図である。
【図３１】データ検証処理（偽造、改竄）の流れを示すフローチャートである。
【図３２】データ記録システムのシステム構成の一例を示す図である。
【図３３】署名処理の流れを示すフローチャートである。
【図３４】データ記録システムのシステム構成の一例を示す図である。
【図３５】署名処理の流れを示すフローチャートである。
【図３６】データ検証処理（偽造、改竄）の流れを示すフローチャートである。
【図３７】データ検証処理（偽造、改竄）の流れを示すフローチャートである。
【図３８】データ記録システムのシステム構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に際して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１１】
［第１の実施形態］
＜１．データ記録システムの構成＞
はじめに、データ記録システムの全体構成について説明する。図１は、データ記録システムのシステム構成の一例を示す図である。
【００１２】
図１に示すように、データ記録システム１００は、データ生成装置１１０と、データ記憶装置１２０とを有する。第１の実施形態において、データ生成装置１１０と、データ記憶装置１２０とは、ネットワークを介して通信可能に接続されている。
【００１３】
データ生成装置１１０は、時系列のデータを生成する装置である。第１の実施形態において、データ生成装置１１０は、以下、動画像データを生成する撮像装置として説明する。撮像装置１１０には、秘密分散データ生成プログラムがインストールされており、当該プログラムが実行されることで、撮像装置１１０は、秘密分散データ生成部１１１として機能する。
【００１４】
秘密分散データ生成部１１１は、生成された動画像データに、秘密分散プロトコルに基づくパラメータ情報を対応付けることで秘密分散データを生成し、データ記憶装置１２０に向けてストリーミング送信する。また、秘密分散データ生成部１１１は、データ記憶装置１２０が秘密分散データについて署名検証を行う際に用いる秘密情報に署名を付加し、署名を付加した秘密情報を署名値としてデータ記憶装置１２０に送信する。
【００１５】
データ記憶装置１２０は、データ生成装置１１０より送信される各種データを記憶する装置である。本実施形態において、データ記憶装置１２０は、以下、秘密分散データ及び署名値を記憶するサーバ装置として説明する。サーバ装置１２０には、データ検証プログラムがインストールされており、当該プログラムが実行されることで、サーバ装置１２０は、データ検証部１２１として機能する。
【００１６】
データ検証部１２１は、撮像装置１１０より送信された秘密分散データ及び署名値を受信し、データ格納部１２２に格納する。また、データ検証部１２１は、データ格納部１２２に格納した秘密分散データに基づいて算出した秘密情報と、データ格納部１２２に格納した署名値に基づいて算出した秘密情報とを用いて署名検証を行う。
【００１７】
なお、撮像装置１１０よりストリーミング送信される秘密分散データのうち、いくつかの秘密分散データが欠損した場合であっても、データ検証部１２１では、署名検証を行うことができる。秘密分散プロトコルを用いて生成された秘密分散データは、署名検証でのデータ欠損に対する耐性が高いためである。
【００１８】
＜２．秘密分散プロトコルの説明＞
次に、署名検証でのデータ欠損に対する耐性が高い秘密分散データを生成する際に用いられる秘密分散プロトコルについて、図２及び図３を用いて簡単に説明する。図２及び図３は、秘密分散のプロトコルを説明するための図である。
【００１９】
（１）概要
一般に、（ｋ−１）次の多項式は、ｋ個の独立な解が存在すれば一意に定めることができ、（ｋ−１）個以下の解では、（ｋ−１）次の多項式を一意に定めることができない。図２（ａ）は、独立な２個の解（（ｘ１，ｙ１）、（ｘ２，ｙ２））に基づいて、１次の多項式（ｙ＝α１ｘ＋α０）を一意に定めた様子を示している。また、図２（ｂ）は、独立な３個の解（（ｘ１，ｙ１）、（ｘ２，ｙ２）、（ｘ３，ｙ３））に基づいて、２次の多項式（ｙ＝α２ｘ２＋α１ｘ＋α０）を一意に定めた様子を示している。
【００２０】
更に、図３（ａ）は、独立なｋ個の解（（ｘ１，ｙ１）、（ｘ２，ｙ２）、・・・（ｘｋ，ｙｋ））に基づいて、（ｋ−１）次の多項式（ｙ＝αｋ−１ｘｋ−１＋αｋ−２ｘｋ−２＋・・・α１ｘ＋α０）を一意に定めた様子を示している。
【００２１】
秘密分散プロトコルは、多項式とその解との間のこのような関係を利用したものである。図３（ｂ）に示すように、秘密分散プロトコルを用いる場合、秘密情報を生成するデータ生成者は、生成した秘密情報を（ｋ−１）次の多項式の０次の項（α０）に埋め込むとともに、（ｋ−１）次の多項式の複数の解を生成して、それぞれの解を分けて保持する。これにより、仮に、複数の解のうちの一部の解が漏えいしたとしても、秘密情報（α０）が復元されることはない。つまり、秘密分散プロトコルは、漏えいに対する耐性が高いという特性を有する。
【００２２】
加えて、図３（ｂ）に示すように、秘密分散プロトコルによれば、データ利用者は、データ生成者より複数の解のうちのｋ個の解を取得すれば、秘密情報（α０）を復元することができる。ｋ個の解を用いて（ｋ−１）次の多項式を一意に定めることができるからである。つまり、秘密分散プロトコルは、データ欠損に対する耐性が高いという特性も有している。
【００２３】
第１の実施形態は、このうち、データ欠損に対する耐性が高いという特性に着目して、時系列のデータに秘密分散プロトコルを適用したものである。
【００２４】
（２）秘密分散プロトコルの時系列のデータへの適用
第１の実施形態における撮像装置１１０では、時系列のデータである動画像データに秘密分散プロトコルを適用することで、署名検証でのデータ欠損に対する耐性の向上を実現している。図３（ｃ）を参照しながら具体的に説明する。
【００２５】
撮像装置１１０では、まず、時系列のデータである動画像データからｎ個（ｎは２以上の整数）の単位データを取得する。ここで、「単位データ」とは、動画像データを構成する所定単位のデータを指す。所定単位のデータとは、例えば、撮像装置１１０がフレーム単位で処理を実行する場合には、それぞれのフレームが所定単位のデータとなる。また、例えば、撮像装置１１０がパケット単位で処理を実行する場合には、それぞれのパケットが所定単位のデータとなる。なお、以下では、ｎ個の単位データのうち、ｉ番目の単位データを"Ｄｉ"と表す。
【００２６】
続いて、撮像装置１１０では、ｎ個の単位データ（Ｄｉ）に基づいて、（ｋ−１）次の多項式のｎ個の解を生成する。このとき、（ｋ−１）次の多項式のｋ個（ｋは１以上でｎ未満の整数）のパラメータ（αｋ−１、αｋ−２、・・・α０）には、乱数値を用いる。なお、本実施形態では、変数ｘにｎ個の単位データ（Ｄｉ）を代入するにあたり、ハッシュ値を用いるものとし、Ｈａｓｈ（Ｄｉ）を代入することで算出されるｎ個の変数ｙの値のうち、ｉ番目の値を、パラメータ情報"Ｗｉ"と表す。Ｗｉは、下式に基づいて算出することができる。
【００２７】
【数１】
0006759818.tif 000002
この結果、撮像装置１１０では、ｎ個の単位データから、（ｋ−１）次の多項式（ｙ＝αｋ−１ｘｋ−１＋αｋ−２ｘｋ−２＋・・・α１ｘ＋α０）のｎ個の解（Ｄｉ，Ｗｉ）を算出することができる。撮像装置１１０では、算出したｎ個の解（Ｄｉ，Ｗｉ）を秘密分散データとして、サーバ装置１２０に送信する。つまり、秘密分散データは、単位データと、該単位データに対応付けられたパラメータ情報との組である。
【００２８】
サーバ装置１２０では、秘密分散データ（Ｄｉ，Ｗｉ）のうちの一部が欠損した場合であっても、秘密分散データがｋ個集まれば、パラメータ（αｋ−１、αｋ−２、・・・α０）が算出可能である。
【００２９】
ここで、ｋ個の秘密分散データが改竄されなかったとする。この場合、サーバ装置１２０でｋ個の秘密分散データに基づいて算出されるパラメータ（αｋ−１、αｋ−２、・・・α０）は、撮像装置１１０がｎ個の解を生成する際に用いた（ｋ−１）次の多項式のパラメータ（αｋ−１、αｋ−２、・・・α０）と一致するはずである。一方、ｋ個の秘密分散データが改竄された場合には、これらは一致しない。つまり、これらが一致するか否かを判定することで、署名検証を行うことができ、一致した場合（署名検証に成功した場合）に、秘密分散データの真正性（秘密分散データが改竄されていないこと）を保証することができる。
【００３０】
なお、本実施形態において、サーバ装置１２０は、このうちの１つのパラメータ（α０）が一致することで、秘密分散データ（Ｄｉ，Ｗｉ）の署名検証が成功したと判定する。つまり、本実施形態においては、パラメータ（α０）が秘密情報となる（秘密情報は、秘密分散データがｋ個集まることで算出可能となる情報と定義することができる）。なお、サーバ装置１２０において署名検証の成否を判定できるようにするために、撮像装置１１０では、下式に示すようなＳｉｇｎアルゴリズムを用いて秘密情報（α０）に署名を付加することで署名値（Ｓ）を算出し、サーバ装置１２０に送信する。
【００３１】
【数２】
0006759818.tif 000003
なお、式２において、ｓｋｃａｍとは、撮像装置１１０において生成される署名鍵を指す。
【００３２】
署名値（Ｓ）を受信したサーバ装置１２０では、Ｓｉｇｎアルゴリズムに対応するＶｒｆｙアルゴリズムを用いて、検証鍵に基づき秘密情報（α０）を算出する。また、サーバ装置１２０では、ｋ個の秘密分散データから算出した秘密情報（α０）と、署名値（Ｓ）から算出した秘密情報（α０）とが一致するか否かを判定する。そして、秘密情報が一致していた場合、サーバ装置１２０では、署名検証に成功したと判定し、秘密情報が一致していなかった場合、サーバ装置１２０では、署名検証に失敗したと判定する。
【００３３】
なお、以下の説明においては、撮像装置１１０より送信されるｎ個の秘密分散データには、それぞれ、単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）とを第１の組として対応付けるための情報が付加されているものとする。また、撮像装置１１０より送信される署名値（Ｓ）には、ｎ個の秘密分散データと対応付けるための情報が付加されているものとする。
【００３４】
＜３．データ記録システムのハードウェア構成＞
次に、データ記録システム１００を構成する、撮像装置１１０及びサーバ装置１２０のハードウェア構成について説明する。図４は、第１の実施形態における撮像装置及びサーバ装置のハードウェア構成を示す図である。
【００３５】
図４（ａ）に示すように、撮像装置１１０は、撮像センサ４０１、ＣＰＵ（Central Processing Unit）４０２を有する。また、撮像装置１１０は、ＲＯＭ（Read Only Memory）４０３、ＲＡＭ（Random Access Memory）４０４、Ｉ／Ｆ（Interface）４０５を有する。なお、撮像装置１１０を構成する各ハードウェアは、バス４０６を介して相互に接続されている。
【００３６】
撮像センサ４０１は、受光した光を電気信号に変換し、動画像データを生成する。ＣＰＵ４０２は、ＲＯＭ４０３に格納された各種プログラム（例えば、秘密分散データ生成プログラム）を実行するコンピュータである。
【００３７】
ＲＯＭ４０３は、ＣＰＵ４０２により実行される各種プログラムを格納したり、ＣＰＵ４０２が各種プログラムを実行する際に用いるその他のプログラム、データを格納する。ＲＡＭ４０４は、ＣＰＵ４０２が各種プログラムを実行する際のワークエリアを提供する。
【００３８】
Ｉ／Ｆ４０５は、ネットワークに接続され、該ネットワークを介して、サーバ装置１２０との間でデータの送受信を行う。
【００３９】
図４（ｂ）に示すように、サーバ装置１２０は、ＣＰＵ４１１、ＲＯＭ４１２、ＲＡＭ４１３、記憶装置４１４、Ｉ／Ｆ４１５を有する。サーバ装置１２０を構成する各ハードウェアは、バス４１６を介して相互に接続されている。
【００４０】
なお、サーバ装置１２０のハードウェア構成は、撮像装置１１０のハードウェア構成と概ね同じであるため、ここでは相違点のみ説明する。撮像装置１１０のハードウェア構成との相違点は、撮像センサ４０１を有していない点と、記憶装置４１４を有している点である。
【００４１】
記憶装置４１４は、ＣＰＵ４１１により実行されるプログラムとして、データ検証プログラムを格納する。サーバ装置１２０の場合、データ検証プログラムは、記憶装置４１４に格納され、ＲＯＭ４１２には、ＣＰＵ４１１がデータ検証プログラムを実行する際に用いるその他のプログラムが格納されているものとする。なお、記憶装置４１４は、データ格納部１２２を実現する。
【００４２】
＜４．撮像装置の機能構成＞
次に、撮像装置１１０にて実現される秘密分散データ生成部１１１の詳細な機能構成について説明する。図５は、第１の実施形態における撮像装置の機能構成を示す図である。
【００４３】
図５に示すように、秘密分散データ生成部１１１は、データ入力部５０１、圧縮部５０２、データバッファ部５０３、データカウンタ部５０４、署名パラメータ生成部５０５を有する。また、秘密分散データ生成部１１１は、ハッシュ生成部５０６、パラメータ情報生成部５０７、ストリームパケット生成部５０８、署名部５０９、データ送信部５１０を有する。
【００４４】
データ入力部５０１は、撮像センサ４０１により生成された動画像データを取得する。圧縮部５０２は、取得した動画像データを圧縮し、単位データを生成する。圧縮部５０２では、ＭＰＥＧやＨ．２６４等の任意の圧縮形式により動画像データを圧縮し、単位データを生成する。
【００４５】
データバッファ部５０３は、圧縮部５０２において生成された単位データを一時的に蓄積する。データカウンタ部５０４は、データバッファ部５０３に蓄積される単位データの数をカウントし、所定数（ｎ）に到達した場合に、署名パラメータ生成部５０５及び署名部５０９に通知する。
【００４６】
署名パラメータ生成部５０５は、乱数生成器を有し、データカウンタ部５０４より、所定数（ｎ）がカウントされた旨の通知を受けると、乱数生成器により生成されたｋ個の乱数値をパラメータ（αｋ−１、αｋ−２、・・・α０）として取得する。また、署名パラメータ生成部５０５は、取得したパラメータ（αｋ−１、αｋ−２、・・・α０）をパラメータ情報生成部５０７に通知する。更に、署名パラメータ生成部５０５は、パラメータ（α０）を秘密情報として署名部５０９に通知する。
【００４７】
ハッシュ生成部５０６は、データバッファ部５０３に蓄積された単位データから、単位データ（Ｄｉ）を順次取得し、ハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。なお、ハッシュ生成部５０６で単位データ（Ｄｉ）のハッシュ値を算出するのは、撮像装置１１０における処理負荷を低減させるためである。
【００４８】
パラメータ情報生成部５０７は、算出手段の一例であり、ハッシュ生成部５０６において算出されたハッシュ値（Ｈａｓｈ（Ｄｉ））と、署名パラメータ生成部５０５において取得されたパラメータ（αｋ−１、αｋ−２、・・・α０）とを取得する。また、パラメータ情報生成部５０７は、取得したハッシュ値とパラメータとに基づき、式１を用いて、パラメータ情報（Ｗｉ）を算出する。
【００４９】
ストリームパケット生成部５０８は、出力手段の一例であり、単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）とを対応付けることで、秘密分散データを取得する。ストリームパケット生成部５０８は、取得した秘密分散データ（Ｄｉ，Ｗｉ）をパケット化して出力する。なお、秘密分散データをパケット化する際のパケット形式は送信形式によって決まり、送信形式がネットワークインタフェース形式の場合には、パケット形式はＲＴＳＰ形式またはＵＤＰ形式となる。また、送信形式がＵＳＢインタフェース形式の場合には、パケット形式はアイソクロナス形式となる。
【００５０】
署名部５０９は、第１の署名手段の一例であり、データカウンタ部５０４より、所定数（ｎ）がカウントされた旨の通知を受けると、署名パラメータ生成部５０５より出力された秘密情報（α０）を用いて、署名値（Ｓ）を算出する。なお、本実施形態において、署名値（Ｓ）の算出には、Ｓｉｇｎアルゴリズムを用いるものとして説明するが、署名値（Ｓ）の算出に用いる署名アルゴリズムは、Ｓｉｇｎアルゴリズムに限定されない。例えば、ＲＳＡアルゴリズム、ＲＳＡＳＳＡ−ＰＳＳアルゴリズムを用いても、あるいはＥｌＧａｍａｌアルゴリズムを用いてもよい。
【００５１】
データ送信部５１０は、第１の送信手段の一例であり、ストリームパケット生成部５０８においてパケット化された秘密分散データ（Ｄｉ，Ｗｉ）と、署名パラメータ生成部５０５において算出された署名値（Ｓ）とを送信する。なお、データ送信部５１０では、パケット化された秘密分散データ（Ｄｉ，Ｗｉ）を、コネクションレス方式でストリーミング送信する。また、署名値（Ｓ）を、コネクション方式で送信する。
【００５２】
図６は、第１の実施形態における撮像装置の各部（データバッファ部５０３、ハッシュ生成部５０６、パラメータ情報生成部５０７、署名部５０９）の動作を模式的に示した図である。図６の例では、所定数ｎを"１０"としている。
【００５３】
図６に示すように、データバッファ部５０３に蓄積された単位データ（Ｄ１）をハッシュ生成部５０６が取得すると、ハッシュ生成部５０６では、ハッシュ値（Ｈａｓｈ（Ｄ１））を算出する。
【００５４】
また、パラメータ情報生成部５０７は、ハッシュ生成部５０６により算出されたハッシュ値（Ｈａｓｈ（Ｄ１））と、署名パラメータ生成部５０５より出力されたパラメータ（α９、α８、・・・α０）とを取得する。更に、パラメータ情報生成部５０７は、ハッシュ値（Ｈａｓｈ（Ｄ１））とパラメータ（α９、α８、・・・α０）とに基づき、パラメータ情報（Ｗ１）を算出し、出力する。
【００５５】
同様に、データバッファ部５０３に蓄積された他の単位データ（Ｄ２、Ｄ３、・・・Ｄ１０）についてもそれぞれ処理が行われることで、パラメータ情報生成部５０７からは、パラメータ情報（Ｗ２、Ｗ３、・・・Ｗ１０）が出力される。
【００５６】
データバッファ部５０３に蓄積された単位データ（Ｄ１、Ｄ２、・・・Ｄ１０）と、パラメータ情報生成部５０７から出力されたパラメータ情報（Ｗ１、Ｗ２、・・・Ｗ１０）とは、ストリームパケット生成部５０８にて対応付けられる。これにより、ストリームパケット生成部５０８では、秘密分散データ（（Ｄ１，Ｗ１）、（Ｄ２，Ｗ２）、・・・（Ｄ１０，Ｗ１０））を取得する。
【００５７】
一方、署名部５０９は、署名パラメータ生成部５０５より出力された秘密情報（α０）を用いて署名値（Ｓ）を算出する。
【００５８】
このように、撮像装置１１０の各部が動作することで、生成された動画像データに基づく秘密分散データ及び署名値を出力することができる。
【００５９】
＜５．秘密分散データ生成部による処理＞
次に、秘密分散データ生成部１１１による秘密分散データ生成処理の流れについて説明する。図７は、秘密分散データ生成処理の流れを示すフローチャートである。撮像センサ４０１による動画像データの生成が開始されると、秘密分散データ生成部１１１では、図７に示すフローチャートを実行する。
【００６０】
ステップＳ７０１において、データ入力部５０１は、撮像センサ４０１により生成された動画像データを取得する。また、圧縮部５０２は、取得された動画像データを圧縮して単位データを生成し、データバッファ部５０３に蓄積する。
【００６１】
ステップＳ７０２において、ハッシュ生成部５０６は、データバッファ部５０３より単位データ（Ｄｉ）を取得し、ハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。
【００６２】
ステップＳ７０３において、データカウンタ部５０４は、データバッファ部５０３に所定数（ｎ）の単位データが蓄積されたか否かを判定する。ステップＳ７０３において、所定数（ｎ）の単位データが蓄積されていない場合には、ハッシュ生成部５０６が所定数（ｎ）の単位データについてハッシュ値を算出していないと判定し、ステップＳ７０１に戻る。一方、ステップＳ７０３において、所定数（ｎ）の単位データが蓄積された場合には、ハッシュ生成部５０６が所定数（ｎ）の単位データについてハッシュ値を算出したと判定し、ステップＳ７０４に進む。
【００６３】
ステップＳ７０４において、署名パラメータ生成部５０５は、乱数生成器により生成されたｋ個の乱数値をパラメータ（αｋ−１、αｋ−２、・・・α０）として取得する。
【００６４】
ステップＳ７０５において、パラメータ情報生成部５０７は、所定数（ｎ）のハッシュ値（Ｈａｓｈ（Ｄｉ））と、ｋ個のパラメータ（αｋ−１、αｋ−２、・・・α０）とを取得する。また、パラメータ情報生成部５０７は、取得した所定数（ｎ）のハッシュ値と、ｋ個のパラメータとを用いて、ｎ個のパラメータ情報（Ｗｉ）を算出する。
【００６５】
ステップＳ７０６において、署名部５０９は、署名パラメータ生成部５０５において取得されたパラメータ（α０）を秘密情報として取得し、取得した秘密情報（α０）に署名を付加する。これにより、署名部５０９では、取得した秘密情報（α０）に基づく署名値（Ｓ）を算出して出力する。
【００６６】
ステップＳ７０７において、ストリームパケット生成部５０８は、データバッファ部５０３に蓄積された単位データ（Ｄｉ）とパラメータ情報生成部５０７より出力されたパラメータ情報（Ｗｉ）とを対応付けることで、秘密分散データを取得する。また、ストリームパケット生成部５０８は、取得した秘密分散データをパケット化して出力する。更に、データ送信部５１０は、パラメータ情報生成部５０７より出力された秘密分散データを、ネットワークを介してサーバ装置１２０にストリーミング送信する。
【００６７】
ステップＳ７０８において、データ送信部５１０は、署名部５０９より出力された署名値（Ｓ）を、ネットワークを介してサーバ装置１２０に送信する。
【００６８】
ステップＳ７０９において、データ入力部５０１は、秘密分散データ生成処理を終了するか否かを判定する。撮像センサ４０１により生成された動画像データの入力が継続している場合には、秘密分散データ生成処理を終了せずに、ステップＳ７０１に戻る。一方、動画像データの入力が停止したと判定した場合には、秘密分散データ生成処理を終了する。
【００６９】
＜６．サーバ装置の機能構成＞
次に、サーバ装置１２０にて実現されるデータ検証部１２１の詳細な機能構成について説明する。図８は、サーバ装置の機能構成を示す図である。
【００７０】
図８に示すように、データ検証部１２１は、データ受信部８０１、格納処理部８０２、署名値演算部８０３、署名値検証部８０４を有する。
【００７１】
データ受信部８０１は、受信手段の一例であり、撮像装置１１０より送信された、秘密分散データ（単位データ（Ｄｉ）と、該単位データに対応付けられたパラメータ情報（Ｗｉ）との組）と、署名値（Ｓ）とを受信する。
【００７２】
格納処理部８０２は、データ受信部８０１において受信された秘密分散データと署名値とをデータ格納部１２２に格納する。
【００７３】
署名値演算部８０３は、第１の改竄判定手段の一例である。署名値演算部８０３は、署名検証の成否として、データ格納部１２２に秘密分散データがｋ個以上格納されたか否かを判定し、ｋ個未満であると判定した場合には、署名検証に失敗したと判定する。
【００７４】
また、署名値演算部８０３は、秘密分散データがｋ個以上格納されたと判定した場合には、データ格納部１２２よりｋ個の秘密分散データを読み出す。署名値演算部８０３は、読み出したｋ個の秘密分散データに基づいて、下式を用いて秘密情報（α０）を算出する。
【００７５】
【数３】
0006759818.tif 000004
署名値検証部８０４は、データ格納部１２２に格納された署名値（Ｓ）を読み出し、ｖｒｆｙアルゴリズムを用いて、検証鍵ｖｋｃａｍに基づき秘密情報（α０）を算出する。
【００７６】
【数４】
0006759818.tif 000005
なお、署名値検証部８０４は、第２の改竄判定手段の一例である。署名値検証部８０４は、署名検証の成否として、署名値演算部８０３において算出された秘密情報（α０）と、署名値（Ｓ）に基づいてｖｒｆｙアルゴリズムを用いて算出した秘密情報（α０）とを比較する。比較の結果、両者が一致していれば、署名値検証部８０４では、署名検証に成功した（秘密分散データが改竄されていない）と判定する。一方、両者が一致していなければ、署名値検証部８０４では、署名検証に失敗した（秘密分散データが改竄されている）と判定する。
【００７７】
なお、署名値演算部８０３及び署名値検証部８０４における署名検証の判定結果は、例えば、データ格納部１２２に格納されてもよい。これにより、サーバ装置１２０では、署名検証に成功したと判定された秘密分散データに含まれる単位データのみを、外部の端末にストリーミング送信することができる。この結果、外部の端末（例えば、ネットワークを介して接続される情報端末）では、真正性が保証された動画像データのみを再生することができる。
【００７８】
＜７．データ検証部による処理＞
次に、データ検証部１２１によるデータ検証処理の流れについて説明する。図９は、データ検証処理の流れを示すフローチャートである。サーバ装置１２０が、撮像装置１１０と通信可能に接続されることで、図９に示すフローチャートが実行される。
【００７９】
ステップＳ９０１において、データ受信部８０１は、撮像装置１１０より送信された秘密分散データと署名値とを受信する。また、格納処理部８０２は、データ受信部８０１が受信した秘密分散データと署名値とをデータ格納部１２２に格納する。
【００８０】
ステップＳ９０２において、データ受信部８０１は、所定時間が経過したか否かを判定する。ステップＳ９０２において、所定時間が経過していないと判定した場合には、所定時間が経過するまで待機する。
【００８１】
一方、ステップＳ９０２において、所定時間が経過したと判定した場合には、ステップＳ９０３に進む。ステップＳ９０３において、署名値演算部８０３は、データ格納部１２２にｋ個以上の秘密分散データが格納されたか否かを判定する。
【００８２】
ステップＳ９０３において、ｋ個以上の秘密分散データが格納されていないと判定した場合には、ステップＳ９０７に進み、署名値演算部８０３は、署名検証に失敗したと判定する。
【００８３】
一方、ステップＳ９０３において、ｋ個以上の秘密分散データが格納されたと判定した場合には、ステップＳ９０４に進む。ステップＳ９０４において、署名値演算部８０３は、データ格納部１２２より、ｋ個の秘密分散データを読み出し、式３を用いて秘密情報（α０）を算出する。
【００８４】
ステップＳ９０５において、署名値検証部８０４は、データ格納部１２２に格納された署名値（Ｓ）を読み出し、ｖｒｆｙアルゴリズムを用いて、検証鍵ｖｋｃａｍに基づき秘密情報（α０）を算出する。
【００８５】
ステップＳ９０６において、署名値検証部８０４は、署名値演算部８０３において算出された秘密情報（α０）と、署名値（Ｓ）に基づいてｖｒｆｙアルゴリズムを用いて算出した秘密情報（α０）とを比較する。比較の結果、両者が一致していなければ、ステップＳ９０７に進み、署名検証に失敗した（秘密分散データが改竄されている）と判定する。
【００８６】
一方、ステップＳ９０６における比較の結果、両者が一致していれば、ステップＳ９０８に進み、署名検証に成功した（秘密分散データが改竄されていない）と判定する。
【００８７】
ステップＳ９０９において、データ受信部８０１は、撮像装置１１０との通信が継続しているか否かを判定し、通信が継続していると判定した場合には、ステップＳ９０１に戻る。一方、通信が切断したと判定した場合には、署名値演算部８０３または署名値検証部８０４が、データ格納部１２２に既に格納されている秘密分散データのうち、未処理の秘密分散データについて署名検証を行ったうえで、データ検証処理を終了する。
【００８８】
＜８．適用例＞
次に、データ記録システム１００の適用例について説明する。図１０は、データ記録システムの適用例を示す図である。図１０の例は、第１の実施形態における撮像装置１１０を、原子力発電所等の重要施設に設置し、サーバ装置１２０を、複数の企業（企業Ａ〜企業Ｃ）に設置した様子を示している。
【００８９】
原子力発電所等の重要施設の場合、２４時間稼働するため、当該施設に設置される撮像装置は、２４時間連続して、真正性が保証される動画像データをストリーミング送信する必要がある。
【００９０】
これに対して、第１の実施形態における撮像装置１１０の場合、撮像装置１１０における処理負荷が低いため、上記のようなニーズにも対応することができる。第１の実施形態における撮像装置１１０の場合、単位データに署名を付加するわけではなく、秘密情報（α０）に署名を付加するため、署名の付加に要する処理負荷が低いからである。更に、第１の実施形態における撮像装置１１０の場合、単位データをハッシュ化してパラメータ情報を生成するため、単位データの処理に要する処理負荷も低いからである。
【００９１】
図１０に示すように、秘密分散データ及び署名値が送信されることで、データ欠損が発生した場合でも、各企業では、署名検証を行うことができ、動画像データについて真正性を保証することができる。また、複数の企業に同報送信されるため、特定の企業が、真正性が保証された動画像データを隠蔽するといった事態を回避することができる。
【００９２】
＜９．まとめ＞
以上の説明から明らかなように、本実施形態に係るデータ記録システムでは、
・撮像装置が、生成した動画像データから、ｎ個の単位データ（Ｄｉ）を順次取得し、取得した単位データ（Ｄｉ）に基づいて、ｋ個（１≦ｋ＜ｎ）の乱数値が含まれる（ｋ−１）次の多項式を満たすパラメータ情報（Ｗｉ）を算出する。
・撮像装置が、取得した単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）とを対応付けたｎ個の秘密分散データを、サーバ装置に送信する。
・撮像装置が、秘密分散データがｋ個集まることで算出可能となる秘密情報に、署名を付加することで署名値（Ｓ）を算出し、算出した署名値をサーバ装置に送信する。
【００９３】
これにより、サーバ装置では、撮像装置が送信したｎ個の秘密分散データのうち、ｋ個の秘密分散データを受信すれば、当該ｋ個の秘密分散データに基づいて秘密情報を算出することができる（（ｎ−ｋ）個のデータ欠損が許容される）。そして、撮像装置が送信した署名値から算出される秘密情報と比較することで、署名検証を行い、秘密分散データの真正性を保証することができる。つまり、サーバ装置では、撮像装置が送信した秘密分散データの一部が欠損した場合であっても、署名検証を行い、秘密分散データの真正性を保証することが可能となる。
【００９４】
この結果、第１の実施形態によれば、署名検証でのデータ欠損に対する耐性を向上させることができる。
【００９５】
［第２の実施形態］
上記第１の実施形態では、秘密分散データ生成部１１１の各部が、予め定められた動作を行うものとして説明した。しかしながら、秘密分散データ生成部１１１の各部は、外部から入力された条件に応じて動作を変更するように構成してもよい。以下、第２の実施形態について、上記第１の実施形態との相違点を中心に説明する。
【００９６】
図１１は、第２の実施形態における撮像装置の機能構成を示す図である。図１１に示す撮像装置１１０の機能構成の各構成要素のうち、図５に示した撮像装置１１０の機能構成の各構成要素と同様の構成要素については、同一の符号を付し、ここでは説明を省略する。
【００９７】
図５との相違点は、秘密分散データ生成部１１００が、設定パラメータ入力部１１０１と設定パラメータ記憶部１１０２とを有する点である。
【００９８】
設定パラメータ入力部１１０１は、設定手段の一例であり、設定パラメータの入力を受け付ける。設定パラメータとは、秘密分散データ生成部１１００の各部が動作する際の条件を規定したものである。圧縮部５０２、データバッファ部５０３、データカウンタ部５０４、ハッシュ生成部５０６、ストリームパケット生成部５０８、署名部５０９の各部は、設定パラメータ入力部１１０１において入力された設定パラメータに応じた動作を行う。
【００９９】
設定パラメータ記憶部１１０２は、設定パラメータ入力部１１０１が入力を受け付けた設定パラメータを設定パラメータ情報として保持する。
【０１００】
図１２は、設定パラメータ記憶部に保持される設定パラメータ情報の一例を示す図である。図１２に示すように、設定パラメータ情報１２００には、情報の項目として、"設定パラメータ種類"と"設定内容"とが含まれる。
【０１０１】
"設定パラメータ種類"には、設定パラメータの種類が保持される。設定パラメータ情報１２００の場合、"設定パラメータ種類"には、「バッファリング情報」、「ストリームパケット生成情報」、「圧縮形式情報」、「ハッシュ情報」、「署名情報」、「閾値情報」が保持されている。
【０１０２】
"設定内容"には、設定パラメータの種類に対応する設定パラメータの内容が保持される。設定パラメータ情報１２００の場合、「バッファリング情報」に対応して、「バッファ単位に関する情報」（パケットサイズ、フレーム数等）が保持されている。
【０１０３】
また、設定パラメータ情報１２００の場合、「ストリームパケット生成情報」に対応して、「プロトコルに関する情報」（ＲＴＰ（Real-time Transport Protocol）、ＵＤＰ（User Datagram Protocol）等）が保持されている。また、設定パラメータ情報１２００の場合、「圧縮形式情報」に対応して、「圧縮形式に関する情報」（Ｈ．２６４、ＭＰＥＧ（Moving Picture Experts Group）等）が保持されている。また、設定パラメータ情報１２００の場合、「ハッシュ情報」に対応して、「ハッシュアルゴリズムに関する情報」（ＳＨＡ（Secure Hash Algorithm）１、ＳＨＡ２５６等）が保持されている。
【０１０４】
また、設定パラメータ情報１２００の場合、「署名情報」に対応して、「署名アルゴリズムに関する情報」（ＲＳＡ（Rivest Shamir Adleman）アルゴリズム、ＥｌＧａｍａｌアルゴリズム等）が保持されている。更に、設定パラメータ情報１２００の場合、「閾値情報」に対応して、「閾値に関する情報」（ｎ、ｋ等）が保持されている。
【０１０５】
秘密分散データ生成部１１００の各部は、それぞれ、対応する「設定パラメータ種類」を識別し、識別した「設定パラメータ種類」に対応する「設定内容」を読み出して、「設定内容」に応じた動作を行う。
【０１０６】
このように、第２の実施形態におけるデータ記録システムによれば、秘密分散データ生成部１１００の各部を、外部から入力した設定パラメータに基づいて動作させることができる。
【０１０７】
［第３の実施形態］
上記第１及び第２の実施形態において撮像装置１１０は、秘密分散データ（Ｄｉ，Ｗｉ）をパケット化し、ネットワークを介して外部のサーバ装置１２０に対してストリーミング送信する構成とした。しかしながら、秘密分散データは、必ずしもネットワークを介して外部のサーバ装置１２０にストリーミング送信する必要はなく、撮像装置１１０の内部に補助記憶装置を設け、当該補助記憶装置に格納するようにしてもよい。以下、第３の実施形態について、第１の実施形態との相違点を中心に説明する。
【０１０８】
＜１．撮像装置のハードウェア構成＞
図１３は、第３の実施形態における撮像装置のハードウェア構成を示す図である。図４（ａ）に示した撮像装置１１０のハードウェア構成との相違点は、図１３の撮像装置１３００の場合、補助記憶装置１３０１を有している点である。補助記憶装置１３０１は、格納手段の一例であり、所定期間分の秘密分散データ及び署名値を蓄積する容量を有しているものとする。また、補助記憶装置１３０１に蓄積されたデータは、Ｉ／Ｆ４０５を介して撮像装置１３００の外部から読み出すことができるものとする。なお、補助記憶装置１３０１は、ＳＤ（Secure Digital）カードのように、取り出し可能な記録媒体であってもよい。
【０１０９】
＜２．撮像装置の機能構成＞
図１４は、第３の実施形態における撮像装置の機能構成を示す図である。図５に示した機能構成との相違点は、図１４の秘密分散データ生成部１４００の場合、ストリームパケット生成部５０８の代わりにデータ結合部１４０１を有する点、及び、記憶制御部１４０２を有する点である。
【０１１０】
データ結合部１４０１は、出力手段の一例であり、単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）とを対応付けることで秘密分散データ（Ｄｉ，Ｗｉ）を取得し、記憶制御部１４０２に出力する。記憶制御部１４０２は、データ結合部１４０１より出力された秘密分散データ（Ｄｉ，Ｗｉ）と、署名部５０９より出力された署名値（Ｓ）とを、補助記憶装置１３０１に格納する。また、記憶制御部１４０２は、データ送信部５１０を介して、撮像装置１３００の外部から読み出し要求を受信した場合に、補助記憶装置１３０１に格納されている秘密分散データ（Ｄｉ，Ｗｉ）と署名値（Ｓ）とを読み出す。更に、データ送信部５１０は、記憶制御部１４０２により読み出された秘密分散データ（Ｄｉ，Ｗｉ）と署名値（Ｓ）とを、データ送信部５１０を介して外部に出力する。
【０１１１】
＜３．適用例＞
図１５は、第３の実施形態における撮像装置の適用例を示す図である。図１５の例は、撮像装置１３００をドライブレコーダとして、車両１５００内に設置した場合を示している。図１５において、撮像装置１３００は、生成した秘密分散データ及び署名値を、撮像装置１３００内部の補助記憶装置１３０１に記録する。これにより、例えば、車両１５００に事故等が発生した場合に、事故等が発生した際の秘密分散データ及び署名値を取り出すとともに、秘密分散データについて署名検証を行うことができる。また、このとき取り出した秘密分散データにデータ欠損が発生していた場合でも、真正性を保証することができる。
【０１１２】
なお、第３の実施形態では、撮像装置１１０の内部に補助記憶装置１３０１を設けるものとして説明したが、撮像装置１１０に外付けの補助記憶装置を設け、秘密分散データ（Ｄｉ，Ｗｉ）を当該補助記憶装置に格納するように構成してもよい。
【０１１３】
［第４の実施形態］
上記第１乃至第３の実施形態において、秘密分散データ生成部は、１つの単位データ（Ｄｉ）に対して、１つのパラメータ情報（Ｗｉ）を対応付ける構成とした。しかしながら、単位データ（Ｄｉ）の中には重要度の高い単位データも含まれており、このような重要度の高い単位データについては、データ欠損に対する耐性をより向上させる方が望ましい。そこで、第４の実施形態では、単位データ（Ｄｉ）の重要度に応じて、対応付けるパラメータ情報（Ｗｉ）の数を変更し、重要度の高い単位データ（Ｄｉ）には、より多くのパラメータ情報（Ｗｉ）を対応付けることで、データ欠損に対する耐性を向上させる。以下、第４の実施形態について、第１の実施形態との相違点を中心に説明する。
【０１１４】
＜１．撮像装置の機能構成＞
図１６は、第４の実施形態における撮像装置の機能構成を示す図である。図１６に示す撮像装置１１０の機能構成の各構成要素のうち、図５に示した撮像装置１１０の機能構成の各構成要素と同様の構成要素については、同一の符号を付し、ここでは説明を省略する。
【０１１５】
図５との相違点は、図１６の秘密分散データ生成部１６００の場合、重要度決定部１６０１を有する点、ハッシュ生成部１６０２及びパラメータ情報生成部１６０３の機能が、図５のハッシュ生成部５０６及びパラメータ情報生成部５０７の機能とは異なる点である。
【０１１６】
重要度決定部１６０１は、決定手段の一例であり、単位データ（Ｄｉ）に対する重要度を決定する。なお、本実施形態において単位データ（Ｄｉ）の重要度は、"ｐｉ"と表す。重要度決定部１６０１は、データバッファ部５０３に蓄積された単位データから、単位データ（Ｄｉ）を順次取得し、決定したそれぞれの重要度（ｐｉ）とともにハッシュ生成部１６０２に通知する。
【０１１７】
ハッシュ生成部１６０２は、重要度決定部１６０１より通知された単位データ（Ｄｉ）について、下式に基づいてハッシュ値を算出する。
【０１１８】
【数５】
0006759818.tif 000006
ただし、ｊ＝１〜ｐｉ
ハッシュ生成部１６０２では、生成したハッシュ値（Ｈａｓｈ（Ｄｉｊ））をパラメータ情報生成部１６０３に通知する。
【０１１９】
パラメータ情報生成部１６０３は、ハッシュ生成部１６０２において算出されたハッシュ値（Ｈａｓｈ（Ｄｉｊ））と、署名パラメータ生成部５０５において取得されたパラメータ（αｋ−１、αｋ−２、・・・α０）とを取得する。また、パラメータ情報生成部１６０３は、取得したハッシュ値とパラメータとに基づき、下式を用いて、パラメータ情報（Ｗｉ_j）を算出する。
【０１２０】
【数６】
0006759818.tif 000007
図１７は、第４の実施形態における撮像装置の各部（データバッファ部５０３、重要度決定部１６０１、ハッシュ生成部１６０２、パラメータ情報生成部１６０３、署名部５０９）の動作を模式的に示した図である。図１７の例では、所定数ｎを"１０"としている。
【０１２１】
図１７に示すように、データバッファ部５０３に蓄積された単位データ（Ｄ１）を重要度決定部１６０１が取得すると、重要度決定部１６０１は、単位データ（Ｄ１）の重要度（ｐ１）を決定する（ここでは、ｐ１＝３と決定したとする）。
【０１２２】
ハッシュ生成部１６０２は、重要度決定部１６０１より単位データ（Ｄ１）と重要度（ｐ１）とを取得すると、ハッシュ値（Ｈａｓｈ（Ｄｉｊ））を算出する。ｐ１＝３の場合、ハッシュ生成部１６０２では、ハッシュ値として、Ｈａｓｈ（Ｄ１）１、Ｈａｓｈ（Ｄ１）２、Ｈａｓｈ（Ｄ１）３を算出する。
【０１２３】
パラメータ情報生成部１６０３は、ハッシュ生成部１６０２により算出されたハッシュ値（Ｈａｓｈ（Ｄ１）１、Ｈａｓｈ（Ｄ１）２、Ｈａｓｈ（Ｄ１）３）と、パラメータ（α９、α８、・・・α０）に基づき、パラメータ情報を算出する。
【０１２４】
具体的には、パラメータ情報生成部１６０３は、パラメータ情報として、Ｗ１_１、Ｗ１_２、Ｗ１_３を算出する。
【０１２５】
同様に、データバッファ部５０３に蓄積された他の単位データ（Ｄ２、Ｄ３、・・・Ｄ１０）についてもそれぞれ処理が行われることで、パラメータ情報生成部１６０３からは、パラメータ情報（Ｗ２_１、Ｗ２_２、・・・Ｗ１０_１、・・・Ｗ１０_５）が出力される。
【０１２６】
データバッファ部５０３に蓄積された単位データ（Ｄ１、Ｄ２、・・・Ｄ１０）と、パラメータ情報生成部５０７から出力されたパラメータ情報（Ｗ２_１、Ｗ２_２、・・・Ｗ１０_５）とは、ストリームパケット生成部５０８にて対応付けられる。これにより、ストリームパケット生成部５０８では、秘密分散データ（（Ｄ１，Ｗ１_１）、（Ｄ１，Ｗ１_２）、・・・（Ｄ１０，Ｗ１０_５））を取得する。
【０１２７】
このように、本実施形態によれば、重要度の高い単位データ（Ｄｉ）ほど、多くの秘密分散データが生成されることになる。この結果、重要度の高い単位データほど、データ欠損に対する耐性を向上させることができる。
【０１２８】
＜２．秘密分散データ生成部による処理＞
次に、秘密分散データ生成部１６００による秘密分散データ生成処理の流れについて説明する。図１８は、秘密分散データ生成処理の流れを示すフローチャートである。なお、ここでは、図７に示した秘密分散データ生成処理との相違点を中心に説明する。図７に示した秘密分散データ生成処理との相違点は、ステップＳ１８０１〜Ｓ１８０４である。
【０１２９】
ステップＳ１８０１において、重要度決定部１６０１は、単位データ（Ｄｉ）の重要度（ｐｉ）を決定する。ステップＳ１８０２において、ハッシュ生成部１６０２は、重要度に応じた数のハッシュ値（Ｈａｓｈ（Ｄｉｊ））を算出する。
【０１３０】
ステップＳ１８０３において、パラメータ情報生成部１６０３は、重要度に応じた数のパラメータ情報（Ｗｉ_ｊ）を算出する。ステップＳ１８０４において、ストリームパケット生成部５０８は、データバッファ部５０３に蓄積された単位データ（Ｄｉ）とパラメータ情報生成部１６０３より出力されたパラメータ情報（Ｗｉ_ｊ）とを対応付けることで、秘密分散データを取得する。また、ストリームパケット生成部５０８は、取得した秘密分散データをパケット化して出力する。更に、データ送信部５１０は、ストリームパケット生成部５０８より出力された秘密分散データを、ネットワークを介してサーバ装置１２０にストリーミング送信する。
【０１３１】
＜３．データ検証部による処理＞
次に、本実施形態におけるサーバ装置１２０のデータ検証部１２１によるデータ検証処理の流れについて説明する。図１９は、データ検証処理の流れを示すフローチャートである。なお、ここでは、図９に示したデータ検証処理との相違点を中心に説明する。図９に示したデータ検証処理との相違点は、ステップＳ１９０１、Ｓ１９０２である。
【０１３２】
ステップＳ１９０１において、署名値演算部８０３は、単位データ（Ｄｉ）に対応付けられたパラメータ情報（Ｗｉ_ｊ）の数が、データ格納部１２２に所定数以上あるか否かを判定する。
【０１３３】
ステップＳ１９０１において、所定数未満であると判定した場合には、ステップＳ９０７に進み、署名検証に失敗したと判定する。
【０１３４】
一方、ステップＳ１９０１において、所定数以上あると判定した場合には、ステップＳ９０３に進む。
【０１３５】
また、ステップＳ１９０２において、署名値演算部８０３は、データ格納部１２２より、ｋ個の秘密分散データを読み出し、下式を用いて秘密情報（α０）を算出する。
【０１３６】
【数７】
0006759818.tif 000008
このように、本実施形態におけるサーバ装置１２０では、秘密分散データの数に加え、それぞれの単位データ（Ｄｉ）に対応付けられたパラメータ情報（Ｗｉ_ｊ）の数も、署名検証の成否の判定に用いる。
【０１３７】
＜４．適用例＞
次に、第４の実施形態におけるデータ記録システム１００の適用例について説明する。図２０は、データ記録システムの適用例を示す図である。このうち、図２０（ａ）は、撮像装置１１０を定点カメラとして用いた場合を示している。撮像装置１１０を定点カメラとして用いた場合、重要度決定部１６０１では、例えば、単位データ（Ｄｉ）から特定物（人、車両など）が検知されたか否かに応じて、重要度を決定する。あるいは、重要度決定部１６０１では、単位データ（Ｄｉ）と背景画像との差分を算出し、差分の大きさに応じて、重要度を決定する。あるいは、重要度決定部１６０１では、単位データ（Ｄｉ）から動体が検知されたか否かに応じて、重要度を決定する。
【０１３８】
図２０（ｂ）は、撮像装置１１０に集音マイクを付加し、監視カメラとして用いた場合を示している。撮像装置１１０に集音マイクを付加した場合、重要度決定部１６０１では、例えば、集音マイクで検出した音声に応じて、重要度を決定する。
【０１３９】
図２０（ｃ）は、撮像装置１１０に加速度センサを付加し、車両のドライブレコーダとして用いた場合を示している。撮像装置１１０に加速度センサを付加した場合、重要度決定部１６０１では、例えば、加速度センサが異常な振動、衝撃を検知したか否かに応じて、重要度を決定する。
【０１４０】
このように、第４の実施形態におけるデータ記録システムによれば、重要度の高い単位データについて、データ欠損に対する耐性をより向上させることができる。
【０１４１】
［第５の実施形態］
上記第４の実施形態では、単位データ（Ｄｉ）ごとに重要度を決定し、重要度の高い単位データほど、データ欠損に対する耐性を向上させる構成とした。これに対して、第５の実施形態では、重要度の高い単位データについては、別途、秘密分散データ及び署名値を生成する構成とする。これにより、重要度の高い単位データに基づいて生成された秘密分散データ及び署名値を区別して受信することが可能となる。この結果、重要度の高い単位データに基づいて生成された秘密分散データについて、効率的に署名検証を行うことができるようになる。以下、第５の実施形態について、第４の実施形態との相違点を中心に説明する。
【０１４２】
図２１及び図２２は、秘密分散データ生成処理の流れを示すフローチャートである。なお、図２１に示す秘密分散データ生成処理のフローチャートは、ステップＳ２１０１を除き、図１８に示すフローチャートと同じである。したがって、ステップＳ２１０１以外の処理についての説明は省略する。
【０１４３】
ステップＳ２１０１において、ハッシュ生成部１６０２は、重要度決定部１６０１において決定された重要度（ｐｉ）が所定値以上であるか否かを判定する。ステップＳ２１０１において所定値未満であると判定された場合には、ステップＳ１８０２に進む。
【０１４４】
一方、ステップＳ２１０１において所定値以上であると判定された場合には、図２２に進む。
【０１４５】
図２２に示すように、重要度が所定値以上であると判定された場合、本実施形態における秘密分散データ生成部１６００では、２通りの処理を並行して実行する。第１の処理は、重要度が所定値未満であると判定された場合と同じ処理である。すなわち、図２２（ａ）のステップＳ２２０１において、ハッシュ生成部１６０２が重要度に応じた数のハッシュ値を算出した後、図２１のステップＳ７０３に戻る。
【０１４６】
第２の処理は、重要度が所定値以上であると判定された場合に、データバッファ部５０３に蓄積されている単位データについて、別途、秘密分散データを生成する処理である。
【０１４７】
具体的には、ステップＳ２２１１において、ハッシュ生成部１６０２は、データバッファ部５０３に蓄積されている単位データそれぞれについて、重要度に応じた数のハッシュ値を算出する。
【０１４８】
ステップＳ２２１２において、署名パラメータ生成部５０５は、乱数生成器により生成されたｋ個の乱数値（第２の乱数値）をパラメータ（αｋ−１、αｋ−２、・・・α０）として取得する。ステップＳ２２１３において、パラメータ情報生成部１６０３は、ステップＳ２２１１において算出したハッシュ値それぞれについて、重要度に応じた数のパラメータ情報（Ｗｉ_ｊ）を算出する（第２のパラメータ情報）。
【０１４９】
ステップＳ２２１４において、署名部５０９は、ステップＳ２２１２において署名パラメータ生成部５０５が取得したパラメータ（α０）を秘密情報として取得し、取得した秘密情報（α０）に署名を付加する。これにより、署名部５０９では、取得した秘密情報（α０）に基づく署名値（Ｓ）を算出して出力する。
【０１５０】
ステップＳ２２１５において、ストリームパケット生成部５０８は、データバッファ部５０３に蓄積された単位データ（Ｄｉ）とパラメータ情報生成部１６０３より出力されたパラメータ情報（Ｗｉ_ｊ）とを対応付けることで、秘密分散データを取得する。また、ストリームパケット生成部５０８は、取得した秘密分散データをパケット化して出力する。更に、データ送信部５１０は、ストリームパケット生成部５０８より出力された秘密分散データを、ネットワークを介してストリーミング送信する。
【０１５１】
ステップＳ２２１６において、データ送信部５１０は、署名部５０９より出力された署名値（Ｓ）をネットワークを介して送信する。その後、図２１のステップＳ７０９に戻る。
【０１５２】
なお、ステップＳ２２１５及びステップＳ２２１６においてそれぞれ秘密分散データ及び署名値を送信する際の送信先は、ステップＳ１８０４及びステップＳ７０８においてそれぞれ秘密分散データ及び署名値を送信する際の送信先とは異なるものとする。あるいは、送信先は同じでも、サーバ装置１２０において両者は識別して受信されるものとする。
【０１５３】
このように、第５の実施形態では、単位データの重要度が所定値以上であると判定された場合に、データバッファ部５０３に蓄積されている単位データについて、別途、秘密分散データ及び署名値を生成する。
【０１５４】
これにより、重要度の高い単位データに基づいて生成された秘密分散データ及び署名値を、それ以外の単位データに基づいて生成された秘密分散データ及び署名値と区別することが可能となる。この結果、重要度の高い単位データに基づいて生成された秘密分散データについて、署名検証を効率的に行うことが可能になる。
【０１５５】
［第６の実施形態］
上記第５の実施形態では、単位データの重要度が所定値以上であると判定された場合に、データバッファ部に蓄積されている単位データについて、別途、秘密分散データ及び署名値を生成する構成とした。これに対して、第６の実施形態では、単位データの重要度が所定値以上であると判定された場合に、当該単位データに基づいて生成された秘密分散データを複数回ストリーミング送信する。これにより、第６の実施形態によれば、重要度の高い単位データに基づいて生成された秘密分散データについて、データ欠損の可能性を低減させることができる。
【０１５６】
図２３は、秘密分散データ生成処理の流れを示すフローチャートである。なお、図２１に示した秘密分散データ生成処理のフローチャートとの相違点は、ステップＳ２３０１〜Ｓ２３０５である。
【０１５７】
ステップＳ２１０１において、重要度（ｐｉ）が所定値以上であると判定されると、本実施形態では、ステップＳ２３０１に進む。ステップＳ２３０１において、ストリームパケット生成部５０８は、重要度（ｐｉ）が所定値以上であると判定された単位データ（Ｄｉ）に基づいて生成される秘密分散データの送信回数を複数回（例えば、２回）に設定する。
【０１５８】
ステップＳ２３０２において、ストリームパケット生成部５０８は、データバッファ部５０３に蓄積された単位データ（Ｄｉ）とパラメータ情報生成部１６０３より出力されたパラメータ情報（Ｗｉ_ｊ）とを対応付けることで、秘密分散データを取得する。また、ストリームパケット生成部５０８は、取得した秘密分散データをパケット化して出力する。
【０１５９】
ステップＳ２３０３において、データ送信部５１０は、ストリームパケット生成部５０８より出力された秘密分散データの送信回数が、複数回に設定されているか否かを判定する。ステップＳ２３０３において、複数回に設定されていないと判定された場合には、ステップＳ２３０４に進み、秘密分散データをネットワークを介してサーバ装置１２０にストリーミング送信する。一方、ステップＳ２３０３において、複数回に設定されていると判定された場合には、ステップＳ２３０５に進む。
【０１６０】
ステップＳ２３０５において、データ送信部５１０は、秘密分散データをネットワークを介してサーバ装置１２０に複数回ストリーミング送信する。
【０１６１】
このように、第６の実施形態によれば、単位データの重要度が所定値以上であると判定された場合に、当該単位データに基づいて生成された秘密分散データを、複数回送信する。これにより、第６の実施形態によれば、重要度の高い単位データに基づいて生成された秘密分散データについて、データ欠損の可能性を低減させることができる。
【０１６２】
［第７の実施形態］
上記第６の実施形態では、単位データの重要度が所定値以上であると判定された単位データに基づいて生成された秘密分散データを、複数回ストリーミング送信する構成とした。これに対して、第７の実施形態では、単位データの重要度が所定値以上であると判定された単位データに基づいて生成された秘密分散データを、一時的に保持する構成とする。これにより、第７の実施形態では、ストリーミング送信した後に送信先のサーバ装置１２０から再送要求があった場合に、再送することが可能となり、データ欠損の可能性を低減させることができるからである。
【０１６３】
図２４、図２５は、秘密分散データ生成処理の流れを示すフローチャートである。なお、図２１に示した秘密分散データ生成処理のフローチャートとの相違点は、ステップＳ２４０１〜Ｓ２４０２、ステップＳ２５０１〜Ｓ２５０５である。
【０１６４】
ステップＳ２１０１において、重要度（ｐｉ）が所定値以上であると判定されると、本実施形態では、ステップＳ２４０１に進む。ステップＳ２４０１において、ストリームパケット生成部５０８は、重要度（ｐｉ）が所定値以上であると判定された単位データ（Ｄｉ）に基づいて生成された秘密分散データを保存対象に設定する。
【０１６５】
ステップＳ２４０２において、ストリームパケット生成部５０８は、データバッファ部５０３に蓄積された単位データ（Ｄｉ）とパラメータ情報生成部１６０３より出力されたパラメータ情報（Ｗｉ_ｊ）とを対応付けることで、秘密分散データを取得する。また、ストリームパケット生成部５０８は、取得した秘密分散データをパケット化して出力する。
【０１６６】
図２５のステップＳ２５０１において、データ送信部５１０は、ステップＳ２４０２において出力された秘密分散データが保存対象に設定されているか否かを判定する。ステップＳ２５０１において、保存対象に設定されていないと判定された場合には、ステップＳ２５０３に進む。一方、ステップＳ２５０１において、保存対象に設定されていると判定された場合には、ステップＳ２５０２に進む。
【０１６７】
ステップＳ２５０２において、データ送信部５１０は、ステップＳ２４０２において出力された秘密分散データをＲＡＭ４０４に一時的に保持する。この場合、ＲＡＭ４０４は、パケット化された秘密分散データを一時的に保持する保持手段として機能する。
【０１６８】
ステップＳ２５０３において、データ送信部５１０は、ストリームパケット生成部５０８より出力された秘密分散データをネットワークを介してサーバ装置１２０にストリーミング送信する。
【０１６９】
ステップＳ２５０４において、データ送信部５１０は、サーバ装置１２０より再送要求を受信したか否かを判定する。ステップＳ２５０４において再送要求を受信したと判定した場合には、ステップＳ２５０５に進む。
【０１７０】
ステップＳ２５０５において、データ送信部５１０は、再送要求のあった秘密分散データを、ＲＡＭ４０４より読み出して再度ストリーミング送信する。
【０１７１】
このように、第７の実施形態では、単位データの重要度が所定値以上であると判定された単位データに基づいて生成された秘密分散データを、一時的に保持する。これにより、第７の実施形態によれば、当該秘密分散データについて、サーバ装置１２０より再送要求があった場合に、再送することができる。この結果、第７の実施形態によれば、重要度の高い単位データに基づいて生成された秘密分散データについて、データ欠損の可能性を低減させることができる。
【０１７２】
［第８の実施形態］
上記第１乃至第７の実施形態では、秘密分散プロトコルを適用することで、データ欠損が発生した場合でも、秘密分散データの真正性（秘密分散データが改竄されていないこと）が保証できる構成について説明した。しかしながら、上記第１乃至第７の実施形態の場合、サーバ装置１２０にて、一旦、署名検証が成功すると、署名検証を行う際に用いた（ｋ−１）次の多項式（ｙ＝αｋ−１ｘｋ−１＋αｋ−２ｘｋ−２＋・・・α１ｘ＋α０）が判明することになる。
【０１７３】
このため、サーバ装置１２０では、当該判明した（ｋ−１）次の多項式を利用して、新たな秘密分散データ（Ｄｎ＋１，Ｗｎ＋１等）を生成することができる。（ｋ−１）次の多項式の変数ｘに任意の値を入れて変数ｙを算出することで、（ｋ−１）次の多項式を満たす新たな秘密分散データを生成することができるからである。これは、サーバ装置１２０において、新たな秘密分散データの偽造が可能であることを意味する。
【０１７４】
そこで、以降の実施形態では、サーバ装置１２０における秘密分散データの偽造を防止するための機能について説明する。
【０１７５】
＜１．データ記録システムの構成＞
はじめに、第８の実施形態におけるデータ記録システムの全体構成について説明する。図２６は、第８の実施形態におけるデータ記録システムのシステム構成の一例を示す図である。
【０１７６】
図１に示したデータ記録システム１００との相違点は、図２６のデータ記録システム２６００の場合、秘密分散データ生成部２６１０が、秘密分散データ、署名値（Ｓ）に加えて、Ｄｉｇｅｓｔと署名値（Ｔ）の組（第２の組）を送信する点である。
【０１７７】
"Ｄｉｇｅｓｔ"とは、秘密分散データに含まれる単位データ（Ｄｉ）のハッシュ値（Ｈａｓｈ（Ｄｉ））を連結したものであり、下式により表される。
【０１７８】
【数８】
0006759818.tif 000009
また、署名値（Ｔ）は、下式に示すＳｉｇｎアルゴリズムを用いて、Ｄｉｇｅｓｔに署名を付加することで算出される値である。
【０１７９】
【数９】
0006759818.tif 000010
更に、図２６において、図１に示したデータ記録システム１００との相違点は、データ検証部２６２０の機能が、データ検証部１２１の機能とは異なる点である。具体的には、データ検証部２６２０が、データ検証部１２１の機能に加え、署名値（Ｔ）を用いて、Ｄｉｇｅｓｔに含まれるハッシュ値（Ｈａｓｈ（Ｄｉ））について署名検証を行う機能を有する点である。
【０１８０】
データ検証部２６２０では、秘密分散データの真正性（秘密分散データが改竄されていないこと）を検証する前に、まず、署名値（Ｔ）を用いて、Ｄｉｇｅｓｔに含まれるハッシュ値（Ｈａｓｈ（Ｄｉ））について署名検証を行う。そして、データ検証部２６２０では、署名検証に成功したハッシュ値（Ｈａｓｈ（Ｄｉ））を用いて、秘密分散データに含まれる単位データ（Ｄｉ）の真正性（単位データ（Ｄｉ）が偽造されていないこと）を検証する。その後、秘密分散データの真正性（秘密分散データが改竄されていないこと）を検証する。
【０１８１】
このように、データ検証部２６２０では、データの真正性として、データが偽造されていないこと、及び、データが改竄されていないこと、を検証する。
【０１８２】
＜２．撮像装置の機能構成＞
図２７は、第８の実施形態における撮像装置の機能構成を示す図である。図２７に示す撮像装置１１０の機能構成の各構成要素のうち、図５に示した撮像装置１１０の機能構成の各構成要素と同様の構成要素については、同一の符号を付し、ここでは説明を省略する。
【０１８３】
図５との相違点は、図２７の秘密分散データ生成部２６１０の場合、ハッシュ生成部５０６がハッシュ値（Ｈａｓｈ（Ｄｉ））のＤｉｇｅｓｔを生成し、データ送信部５１０及び署名部２７０１に通知する点である。
【０１８４】
また、図５との相違点は、図２７の秘密分散データ生成部２６１０の場合、署名部２７０１を有する点である。署名部２７０１は、第２の署名手段の一例であり、ハッシュ生成部５０６より、ハッシュ値（Ｈａｓｈ（Ｄｉ））のＤｉｇｅｓｔを受信すると、上式（式９）を用いて、Ｄｉｇｅｓｔに署名を付加することで、署名値（Ｔ）を生成する。また、署名部２７０１は、生成した署名値（Ｔ）をデータ送信部５１０に通知する。
【０１８５】
また、図５との相違点は、図２７の秘密分散データ生成部２６１０の場合、データ送信部５１０が、第２の送信手段として機能し、秘密分散データ（Ｄｉ，Ｗｉ）と、署名値（Ｓ）とに加えて、Ｄｉｇｅｓｔと、署名値（Ｔ）とを送信する点である。
【０１８６】
図２８は、第８の実施形態における撮像装置の各部（データバッファ部５０３、ハッシュ生成部５０６、パラメータ情報生成部５０７、署名部５０９、署名部２７０１）の動作を模式的に示した図である。図２８の例では、所定数ｎを"１０"としている。
【０１８７】
図２８に示すように、ハッシュ生成部５０６は、生成したハッシュ値（Ｈａｓｈ（Ｄｉ））を連結してＤｉｇｅｓｔを生成する。
【０１８８】
署名部２７０１は、ハッシュ生成部５０６において生成されたハッシュ値（Ｈａｓｈ（Ｄｉ））のＤｉｇｅｓｔを取得すると、Ｓｉｇｎアルゴリズムを用いて署名を付加し、署名値（Ｔ）を算出する。
【０１８９】
＜３．秘密分散データ生成部による処理＞
次に、撮像装置１１０の秘密分散データ生成部２６１０による秘密分散データ生成処理の流れについて説明する。図２９は、秘密分散データ生成処理の流れを示すフローチャートである。なお、ここでは、図７に示した秘密分散データ生成処理との相違点を中心に説明する。図７に示した秘密分散データ生成処理との相違点は、ステップＳ２９０１、Ｓ２９０２である。
【０１９０】
ステップＳ２９０１において、ハッシュ生成部５０６は、ハッシュ値（Ｈａｓｈ（Ｄｉ））のＤｉｇｅｓｔを生成し、署名部２７０１は、Ｄｉｇｅｓｔに基づき、署名値（Ｔ）を算出する。
【０１９１】
ステップＳ２９０２において、データ送信部５１０は、ハッシュ生成部５０６より通知されたハッシュ値（Ｈａｓｈ（Ｄｉ））のＤｉｇｅｓｔと、署名部２７０１より通知された署名値（Ｔ）とを、サーバ装置１２０に送信する。
【０１９２】
＜４．サーバ装置の機能構成＞
次に、サーバ装置１２０にて実現されるデータ検証部２６２０の詳細な機能構成について説明する。図３０は、サーバ装置の機能構成を示す図である。
【０１９３】
図８に示した機能構成との相違点は、図３０の場合、真正性署名値検証部３００１と、データ真正性検証部３００２とを有する点である。
【０１９４】
真正性署名値検証部３００１は、秘密分散データ生成部２６１０より送信され、データ格納部１２２に格納されたＤｉｇｅｓｔと、署名値（Ｔ）とを読み出す。また、真正性署名値検証部３００１は、下式に示すｖｒｆｙアルゴリズムを用いて、検証鍵ｖｋｃａｍに基づきＤｉｇｅｓｔを算出する。
【０１９５】
【数１０】
0006759818.tif 000011
更に、真正性署名値検証部３００１は、データ格納部１２２より読み出されたＤｉｇｅｓｔと、上式（式１０）に示すｖｒｆｙアルゴリズムを用いて算出したＤｉｇｅｓｔとを比較する。比較の結果、両者が一致していれば、真正性署名値検証部３００１は、データ格納部１２２より読み出したＤｉｇｅｓｔについて、署名検証に成功した（Ｄｉｇｅｓｔに含まれるハッシュ値（Ｈａｓｈ（Ｄｉ））が正しい）と判定する。一方、両者が一致していなければ、真正性署名値検証部３００１は、署名検証に失敗した（Ｄｉｇｅｓｔに含まれるハッシュ値（Ｈａｓｈ（Ｄｉ）が正しくない）と判定する。
【０１９６】
なお、真正性署名値検証部３００１は、署名検証に成功したと判定した場合、判定結果をデータ真正性検証部３００２に通知する。
【０１９７】
データ真正性検証部３００２は、偽造判定手段の一例である。データ真正性検証部３００２は、真正性署名値検証部３００１より署名検証に成功した旨の判定結果を受信すると、データ格納部１２２に格納された秘密分散データに含まれる単位データ（Ｄｉ）を読み出し、ハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。
【０１９８】
また、データ真正性検証部３００２は、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））と、真正性署名値検証部３００１において署名検証に成功したＤｉｇｅｓｔに含まれるハッシュ値（Ｈａｓｈ（Ｄｉ））とを比較する。比較の結果、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））が全て、Ｄｉｇｅｓｔに含まれていれば、データ真正性検証部３００２は、署名検証に成功した（秘密分散データに含まれる単位データ（Ｄｉ）が偽造されていない）と判定する。一方、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））に、Ｄｉｇｅｓｔに含まれていないハッシュ値があった場合には、データ真正性検証部３００２は、署名検証に失敗した（秘密分散データに含まれる単位データ（Ｄｉ）が偽造されている）と判定する。
【０１９９】
このように、データ真正性検証部３００２は、データ格納部１２２より読み出した秘密分散データに含まれる単位データ（Ｄｉ）の真正性（単位データ（Ｄｉ）が偽造されていないこと）を保証することができる。
【０２００】
＜５．データ検証部によるデータ検証処理＞
次に、本実施形態におけるサーバ装置１２０のデータ検証部２６２０によるデータ検証処理（偽造、改竄）の流れについて説明する。図３１は、データ検証処理（偽造、改竄）の流れを示すフローチャートである。なお、ここでは、図９に示したデータ検証処理との相違点を中心に説明する。図９に示したデータ検証処理との相違点は、ステップＳ３１０１〜Ｓ３１０５である。
【０２０１】
ステップＳ３１０１において、データ受信部８０１は、撮像装置１１０より送信されたＤｉｇｅｓｔと署名値（Ｔ）とを受信する。また、格納処理部８０２は、データ受信部８０１が受信したＤｉｇｅｓｔと署名値（Ｔ）とをデータ格納部１２２に格納する。
【０２０２】
ステップＳ３１０２において、真正性署名値検証部３００１は、データ格納部１２２に格納された署名値（Ｔ）を用いて、データ格納部１２２に格納されたＤｉｇｅｓｔについて署名検証を行う。具体的には、真正性署名値検証部３００１は、署名値（Ｔ）についてｖｒｆｙアルゴリズムを用いて算出したＤｉｇｅｓｔと、データ格納部１２２に格納されたＤｉｇｅｓｔとが一致するか否かを判定する。これにより、真正性署名値検証部３００１は、データ格納部１２２に格納されたＤｉｇｅｓｔが正しいか否かを判定する。
【０２０３】
判定の結果、データ格納部１２２に格納されたＤｉｇｅｓｔが正しくないと判定した場合（ステップＳ３１０２においてＮｏの場合）には、ステップＳ９０７に進む。この場合、真正性署名値検証部３００１は、データ格納部１２２より読み出したＤｉｇｅｓｔについて、署名検証に失敗したと判定する。
【０２０４】
一方、判定の結果、データ格納部１２２に格納されたＤｉｇｅｓｔが正しいと判定した場合（ステップＳ３１０２においてＹｅｓの場合）には、ステップＳ３１０３に進む。
【０２０５】
ステップＳ３１０３において、データ真正性検証部３００２は、データ格納部１２２に格納された秘密分散データに含まれる単位データ（Ｄｉ）を読み出し、ハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。
【０２０６】
ステップＳ３１０４において、データ真正性検証部３００２は、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））と、真正性署名値検証部３００１において署名検証に成功したＤｉｇｅｓｔに含まれるハッシュ値（Ｈａｓｈ（Ｄｉ））とを比較する。比較の結果、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））の中に、Ｄｉｇｅｓｔに含まれていないハッシュ値があった場合には（ステップＳ３１０４においてＮｏの場合には）、ステップＳ９０７に進む。この場合、データ真正性検証部３００２は、データ格納部１２２より読み出した秘密分散データに含まれる単位データ（Ｄｉ）について、署名検証に失敗した（秘密分散データに含まれる単位データ（Ｄｉ）が偽造されている）と判定する。
【０２０７】
一方、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））が全てＤｉｇｅｓｔに含まれていた場合には（ステップＳ３１０４においてＹｅｓの場合には）、データ真正性検証部３００２は、ステップＳ９０３に進む。
【０２０８】
ステップＳ３１０５において、データ真正性検証部３００２は、署名検証に成功した（秘密分散データに含まれる単位データ（Ｄｉ）が偽造されていない）と判定する。
【０２０９】
ステップＳ３１０５において署名検証に成功したと判定した場合には、ステップＳ９０３に進み、以降、秘密分散データが改竄されているか否かの署名検証を行う。署名検証の結果、署名検証に成功した場合、ステップＳ９０８では、秘密分散データが改竄されていないと判定する。
【０２１０】
以上の説明から明らかなように、第８の実施形態におけるデータ記録システムでは、
・撮像装置が、秘密分散データに含まれる単位データ（Ｄｉ）のハッシュ値のＤｉｇｅｓｔと、Ｓｉｇｎアルゴリズムを用いて該Ｄｉｇｅｓｔに署名を付加することで算出される署名値（Ｔ）とを、サーバ装置に送信する。
・サーバ装置が、撮像装置１１０より受信した署名値（Ｔ）を用いて、Ｄｉｇｅｓｔについて署名検証を行う。
・Ｄｉｇｅｓｔについて署名検証に成功した場合、サーバ装置が、撮像装置１１０より受信した秘密分散データに含まれる単位データ（Ｄｉ）について、署名検証に成功したＤｉｇｅｓｔを用いて、真正性（単位データ（Ｄｉ）が偽造されていないこと）を検証する。
【０２１１】
これにより、第８の実施形態におけるデータ記録システムによれば、秘密分散データの偽造を防止することができる。
【０２１２】
［第９の実施形態］
上記第８の実施形態では、秘密分散データの偽造を防止するにあたり、撮像装置１１０が、Ｄｉｇｅｓｔと署名値（Ｔ）とを生成し、サーバ装置１２０に送信する構成とした。これに対して、第９の実施形態では、別途、真正性保証サーバを配し、当該真正性保証サーバが、Ｄｉｇｅｓｔと署名値（Ｔ）とを生成し、サーバ装置１２０に送信する。以下、第９の実施形態について説明する。
【０２１３】
＜１．データ記録システムの構成＞
はじめに、第９の実施形態におけるデータ記録システムの全体構成について説明する。図３２は、データ記録システムのシステム構成の一例を示す図である。
【０２１４】
図１に示したデータ記録システム１００との相違点は、図３２のデータ記録システム３２００の場合、真正性保証サーバ３２１０を有しており、ネットワークを介してデータ生成装置１１０及びサーバ装置１２０と通信可能に接続されている点である。また、図３２のデータ記録システム３２００の場合、秘密分散データ生成部１１１が、秘密分散データ及び署名値（Ｓ）を、サーバ装置１２０及び真正性保証サーバ３２１０に同報送信する点である。更に、真正性保証サーバ３２１０からサーバ装置１２０に対して、Ｄｉｇｅｓｔと署名値（Ｔ）の組（第２の組）を送信する点である。
【０２１５】
真正性保証サーバ３２１０は、サーバ装置１２０と同様のハードウェア構成（図４（ｂ）参照）を有する。真正性保証サーバ３２１０には、データ検証プログラム及び署名プログラムがインストールされており、当該プログラムが実行されることで、真正性保証サーバ３２１０は、データ検証部１２１及び署名部３２１１として機能する。
【０２１６】
データ検証部１２１の機能は、図８に示すサーバ装置１２０が有するデータ検証部１２１の機能と同じであるため、ここでは説明を省略する。
【０２１７】
署名部３２１１は、第２の署名手段の他の一例であり、署名処理を行う。具体的には、署名部３２１１は、データ検証部１２１によるデータ検証処理において、秘密分散データの真正性（秘密分散データが改竄されていないこと）の検証に成功した場合、秘密分散データに含まれる単位データ（Ｄｉ）のハッシュ値を算出する。
【０２１８】
また、署名部３２１１は、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））を連結することで、Ｄｉｇｅｓｔを生成する。また、署名部３２１１は、下式に示すＳｉｇｎアルゴリズムを用いて、生成したＤｉｇｅｓｔに署名を付加することで、署名値（Ｔ）を生成する。
【０２１９】
【数１１】
0006759818.tif 000012
更に、署名部３２１１は、第２の送信手段としても機能し、生成したＤｉｇｅｓｔと署名値（Ｔ）の組（第２の組）を、サーバ装置１２０に送信する。
【０２２０】
なお、上記説明では、秘密分散データ生成部１１１が、秘密分散データと署名値（Ｓ）とを同報送信するものとして説明したが、秘密分散データのみを同報送信するようにしてもよい。この場合、真正性保証サーバ３２１０では、データ検証部１２１によるデータ検証処理は行われず、署名部３２１１による署名処理のみが行われる。
【０２２１】
＜２．真正性保証サーバによる署名処理＞
次に、真正性保証サーバ３２１０による署名処理の流れについて説明する。図３３は、署名処理の流れを示すフローチャートである。真正性保証サーバ３２１０が、撮像装置１１０及びサーバ装置１２０と通信可能に接続されることで、図３３に示すフローチャートが実行される。
【０２２２】
ステップＳ３３０１において、データ検証部１２１は、撮像装置１１０より送信された秘密分散データ及び署名値（Ｓ）を受信する。
【０２２３】
ステップＳ３３０２において、データ検証部１２１は、データ検証処理を行う。なお、データ検証処理の詳細は、図９を用いて説明済みであるため、ここでは説明を省略する。また、ここでは、ステップＳ３３０１において受信した秘密分散データの真正性の検証に成功したものとして説明する。
【０２２４】
ステップＳ３３０３において、署名部３２１１は、秘密分散データに含まれる単位データ（Ｄｉ）について、ハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。
【０２２５】
ステップＳ３３０４において、署名部３２１１は、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））を連結して、Ｄｉｇｅｓｔを生成する。
【０２２６】
ステップＳ３３０５において、署名部３２１１は、Ｓｉｇｎアルゴリズムを用いて、生成したＤｉｇｅｓｔに署名を付加することで、署名値（Ｔ）を生成する。
【０２２７】
ステップＳ３３０６において、署名部３２１１は、生成したＤｉｇｅｓｔと署名値（Ｔ）の組を、サーバ装置１２０に送信する。
【０２２８】
これにより、サーバ装置１２０のデータ検証部２６２０において、真正性署名値検証部３００１が、真正性保証サーバ３２１０より受信した署名値（Ｔ）を用いて、Ｄｉｇｅｓｔについて署名検証を行うことができる。
【０２２９】
また、Ｄｉｇｅｓｔについての署名検証に成功した場合、データ検証部２６２０において、データ真正性検証部３００２が、偽造判定手段として機能することができる。具体的には、データ真正性検証部３００２が、撮像装置１１０より受信した秘密分散データに含まれる単位データ（Ｄｉ）について、署名検証に成功したＤｉｇｅｓｔを用いて、真正性（単位データ（Ｄｉ）が偽造されていないこと）を検証することができる。
【０２３０】
＜３．まとめ＞
以上の説明から明らかなように、第９の実施形態におけるデータ記録システムでは、
・真正性保証サーバが、秘密分散データに含まれる単位データ（Ｄｉ）のハッシュ値のＤｉｇｅｓｔを生成するとともに、生成したＤｉｇｅｓｔに署名を付加することで署名値（Ｔ）を生成する。
・真正性保証サーバが、生成したＤｉｇｅｓｔ及び署名値（Ｔ）を、サーバ装置に送信する。
【０２３１】
これにより、第９の実施形態におけるデータ記録システムによれば、上記第８の実施形態と同様、秘密分散データの偽造を防止することができる。また、第９の実施形態におけるデータ記録システムによれば、第８の実施形態におけるデータ記録システムと比較して、撮像装置１１０の処理負荷を低減させることができる。
【０２３２】
［第１０の実施形態］
上記第９の実施形態では、真正性保証サーバ３２１０を配し、秘密分散データに含まれる単位データ（Ｄｉ）について、サーバ装置１２０において、真正性（単位データ（Ｄｉ）が偽造されていないこと）が検証できる構成とした。
【０２３３】
これに対して、第１０の実施形態では、サーバ装置１２０において、秘密分散データに含まれる単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）の両方について、真正性が検証できる構成とする。以下、第１０の実施形態について、上記第９の実施形態との相違点を中心に説明する。
【０２３４】
＜１．データ記録システムの構成＞
図３４は、データ記録システムのシステム構成の一例を示す図である。図３２に示したデータ記録システム３２００との相違点は、署名部３４１１とデータ検証部３４２０である。
【０２３５】
データ記録システム３４００において、署名部３４１１は、第２の署名手段に加えて第３の署名手段としても機能する。
【０２３６】
具体的には、第２の署名手段として機能する場合、署名部３４１１は、撮像装置１１０より送信された秘密分散データに含まれる単位データ（Ｄｉ）のハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。また、署名部３４１１は、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））を連結することで、Ｄｉｇｅｓｔ１を生成し、生成したＤｉｇｅｓｔ１に署名を付加することで、署名値（Ｔ）を生成する。
【０２３７】
また、第３の署名手段として機能する場合、署名部３４１１は、撮像装置１１０より送信された秘密分散データに含まれるパラメータ情報（Ｗｉ）を取得し、取得したパラメータ情報（Ｗｉ）を連結することで、Ｄｉｇｅｓｔ２を生成する。また、署名部３４１１は、生成したＤｉｇｅｓｔ２に署名を付加することで、署名値（Ｕ）を生成する。
【０２３８】
更に、署名部３４１１は、第２の送信手段に加えて第３の送信手段としても機能する。具体的には、第２の送信手段として機能する場合、署名部３４１１は、第２の組（Ｄｉｇｅｓｔ１及び署名値（Ｔ））をサーバ装置１２０に送信する。また、第３の送信手段として機能する場合、署名部３４１１は、第３の組（Ｄｉｇｅｓｔ２及び署名値（Ｕ））を、サーバ装置１２０に送信する。
【０２３９】
また、データ記録システム３４００において、データ検証部３４２０は、秘密分散データに含まれる単位データ（Ｄｉ）に加え、パラメータ情報（Ｗｉ）の真正性（パラメータ情報（Ｗｉ）が偽造されていないこと）を検証する機能を有する。
【０２４０】
具体的には、データ検証部３４２０の真正性署名値検証部３００１が、真正性保証サーバ３４１０より受信した署名値（Ｕ）を用いて、Ｄｉｇｅｓｔ２について署名検証を行う。
【０２４１】
また、Ｄｉｇｅｓｔ２について署名検証に成功した場合、データ検証部３４２０において、データ真正性検証部３００２は、秘密分散データに含まれるパラメータ情報（Ｗｉ）について、署名検証に成功したＤｉｇｅｓｔ２を用いて真正性を検証する。
【０２４２】
これにより、データ検証部３４２０は、秘密分散データに含まれるパラメータ情報（Ｗｉ）の真正性（パラメータ情報（Ｗｉ）が偽造されていないこと）を検証することができる。
【０２４３】
＜２．署名部による署名処理＞
次に、真正性保証サーバ３４１０の署名部３４１１による署名処理の流れについて説明する。図３５は、署名処理の流れを示すフローチャートである。図３３のフローチャートとの相違点は、ステップＳ３５０１〜Ｓ３５０３である。
【０２４４】
ステップＳ３５０１において、署名部３４１１は、秘密分散データに含まれるパラメータ情報（Ｗｉ）に基づいて、Ｄｉｇｅｓｔ２を生成する。
【０２４５】
ステップＳ３５０２において、署名部３４１１は、生成したＤｉｇｅｓｔ２に署名を付加することで、署名値（Ｕ）を生成する。
【０２４６】
ステップＳ３５０３において、署名部３４１１は、ステップＳ３３０４、Ｓ３３０５において生成したＤｉｇｅｓｔ１及び署名値（Ｔ）と、ステップＳ３５０２、Ｓ３５０３において生成したＤｉｇｅｓｔ２及び署名値（Ｕ）とを、サーバ装置１２０に送信する。
【０２４７】
＜３．データ検証部によるデータ検証処理（偽造、改竄）＞
次に、本実施形態において、データ検証部３４２０によるデータ検証処理（偽造、改竄）の流れについて説明する。図３６は、データ検証処理（偽造、改竄）の流れを示すフローチャートである。なお、ここでは、図３１に示したデータ検証処理（偽造、改竄）との相違点を中心に説明する。図３１に示したデータ検証処理（偽造、改竄）との相違点は、ステップＳ３６０１及びステップＳ３６０２〜Ｓ３６０６である。
【０２４８】
ステップＳ３６０１において、データ受信部８０１は、真正性保証サーバ３２１０より送信されたＤｉｇｅｓｔ１、署名値（Ｔ）、Ｄｉｇｅｓｔ２、署名値（Ｕ）を受信する。また、格納処理部８０２は、データ受信部８０１が受信したＤｉｇｅｓｔ１、署名値（Ｔ）、Ｄｉｇｅｓｔ２、署名値（Ｕ）をデータ格納部１２２に格納する。
【０２４９】
ステップＳ３６０２において、真正性署名値検証部３００１は、データ格納部１２２に格納された署名値（Ｔ）を用いて、データ格納部１２２に格納されたＤｉｇｅｓｔ１について署名検証を行う。具体的には、真正性署名値検証部３００１は、署名値（Ｔ）についてｖｒｆｙアルゴリズムを用いて算出したＤｉｇｅｓｔ１と、データ格納部１２２に格納されたＤｉｇｅｓｔ１とが一致するか否かを判定する。これにより、真正性署名値検証部３００１は、データ格納部１２２に格納されたＤｉｇｅｓｔ１が正しいか否かを判定する。
【０２５０】
判定の結果、データ格納部１２２に格納されたＤｉｇｅｓｔ１が正しくないと判定した場合（ステップＳ３６０２においてＮｏの場合）には、図３７のステップＳ９０７に進む。この場合、真正性署名値検証部３００１は、データ格納部１２２より読み出したＤｉｇｅｓｔ１について、署名検証に失敗したと判定する。
【０２５１】
一方、判定の結果、データ格納部１２２に格納されたＤｉｇｅｓｔ１が正しいと判定した場合（ステップＳ３６０２においてＹｅｓの場合）には、ステップＳ３６０３に進む。
【０２５２】
ステップＳ３６０３において、データ真正性検証部３００２は、データ格納部１２２に格納された秘密分散データに含まれる単位データ（Ｄｉ）を読み出し、ハッシュ値（Ｈａｓｈ（Ｄｉ））を算出する。
【０２５３】
ステップＳ３６０４において、データ真正性検証部３００２は、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））と、真正性署名値検証部３００１において署名検証に成功したＤｉｇｅｓｔ１に含まれるハッシュ値（Ｈａｓｈ（Ｄｉ））とを比較する。比較の結果、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））の中に、Ｄｉｇｅｓｔ１に含まれていないハッシュ値があった場合には（ステップＳ３６０４においてＮｏの場合には）、図３７のステップＳ９０７に進む。この場合、データ真正性検証部３００２は、データ格納部１２２より読み出した秘密分散データに含まれる単位データ（Ｄｉ）について、署名検証に失敗した（秘密分散データに含まれる単位データ（Ｄｉ）が偽造されている）と判定する。
【０２５４】
一方、算出したハッシュ値（Ｈａｓｈ（Ｄｉ））が全てＤｉｇｅｓｔ１に含まれていた場合には（ステップＳ３６０４においてＹｅｓの場合には）、データ真正性検証部３００２は、ステップＳ３６０５に進む。
【０２５５】
ステップＳ３６０５において、真正性署名値検証部３００１は、データ格納部１２２に格納された署名値（Ｕ）を用いて、データ格納部１２２に格納されたＤｉｇｅｓｔ２について署名検証を行う。具体的には、真正性署名値検証部３００１は、署名値（Ｕ）についてｖｒｆｙアルゴリズムを用いて算出したＤｉｇｅｓｔ２と、データ格納部１２２に格納されたＤｉｇｅｓｔ２とが一致するか否かを判定する。これにより、真正性署名値検証部３００１は、データ格納部１２２に格納されたＤｉｇｅｓｔ２が正しいか否かを判定する。
【０２５６】
判定の結果、データ格納部１２２に格納されたＤｉｇｅｓｔ２が正しくないと判定した場合（ステップＳ３６０５においてＮｏの場合）には、図３７のステップＳ９０７に進む。この場合、真正性署名値検証部３００１は、データ格納部１２２より読み出したＤｉｇｅｓｔ２について、署名検証に失敗したと判定する。
【０２５７】
一方、判定の結果、データ格納部１２２に格納されたＤｉｇｅｓｔ２が正しいと判定した場合（ステップＳ３６０５においてＹｅｓの場合）には、ステップＳ３６０６に進む。
【０２５８】
ステップＳ３６０６において、データ真正性検証部３００２は、データ格納部１２２に格納された秘密分散データに含まれる単位データ（Ｗｉ）を読み出し、真正性署名値検証部３００１において署名検証に成功したＤｉｇｅｓｔ２と比較する。
【０２５９】
比較の結果、読み出した単位データ（Ｗｉ）の中に、Ｄｉｇｅｓｔ２に含まれていないパラメータ情報があった場合には（ステップＳ３６０６においてＮｏの場合には）、図３７のステップＳ９０７に進む。この場合、データ真正性検証部３００２は、データ格納部１２２より読み出した秘密分散データに含まれるパラメータ情報（Ｗｉ）について、署名検証に失敗した（秘密分散データに含まれるパラメータ情報（Ｗｉ）が偽造されている）と判定する。
【０２６０】
一方、読み出したパラメータ情報（Ｗｉ）が全てＤｉｇｅｓｔ２に含まれていた場合には（ステップＳ３６０６においてＹｅｓの場合には）、データ真正性検証部３００２は、ステップＳ３６０７に進む。
【０２６１】
ステップＳ３６０７において、データ真正性検証部３００２は、署名検証に成功した（秘密分散データに含まれる単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）のいずれも偽造されていない）と判定する。
【０２６２】
ステップＳ３６０７において署名検証に成功したと判定した場合には、図３７のステップＳ９０３に進み、以降、秘密分散データが改竄されているか否かの署名検証を行う。署名検証の結果、署名検証に成功した場合、ステップＳ９０８において、署名値検証部８０４は、秘密分散データが改竄されていないと判定する。
【０２６３】
このように、第１０の実施形態によれば、サーバ装置１２０は、秘密分散データに含まれる単位データ（Ｄｉ）とパラメータ情報（Ｗｉ）の両方について、真正性を検証することが可能となる。
【０２６４】
なお、図３６の説明では、秘密分散データに含まれる単位データ（Ｄｉ）全てについて真正性を検証してから、パラメータ情報（Ｗｉ）の真正性の検証を開始する構成とした。しかしながら、真正性の検証の順序はこれに限定されず、パラメータ情報（Ｗｉ）全てについて真正性を検証してから、単位データ（Ｄｉ）の真正性の検証を開始するように構成してもよい。あるいは、単位データ（Ｄｉ）についての真正性の検証とパラメータ情報（Ｗｉ）についての真正性の検証とを交互に行うように構成してもよい。
【０２６５】
［第１１の実施形態］
上記第９及び第１０の実施形態では、撮像装置１１０が秘密分散データ及び署名値（Ｓ）を同報送信する場合について説明した。これに対して、第１１の実施形態では、ルータ装置を配し、ルータ装置が秘密分散データ及び署名値（Ｓ）を同報送信する。以下、第１１の実施形態について説明する。
【０２６６】
図３８は、データ記録システムのシステム構成の一例を示す図である。図３４に示したデータ記録システム３４００との相違点は、ルータ装置３８１０を有する点である。
【０２６７】
ルータ装置３８１０は、撮像装置１１０と接続され、撮像装置１１０より送信された秘密分散データ及び署名値（Ｓ）を、ネットワークを介して接続されたサーバ装置１２０及び真正性保証サーバ３４１０に同報送信する。
【０２６８】
このように、ルータ装置３８１０を配することで、撮像装置１１０の送信負荷を軽減させることができる。
【０２６９】
［その他の実施形態］
上記第１乃至第１１の実施形態では、撮像装置１１０において生成される動画像データに対して、秘密分散プロトコルを適用する場合について説明した。しかしながら、秘密分散プロトコルを適用する対象は、動画像データに限定されない。音声データや温度データ等、任意の時系列データに対して適用することができる。
【０２７０】
また、上記第１乃至第１１の実施形態では、データカウンタ部５０４を配し、所定数（ｎ）の単位データ（Ｄｉ）ごとに、署名値（Ｓ）を算出する構成とした。しかしながら、署名値を算出するタイミングは、所定数（ｎ）の単位データ（Ｄｉ）ごとでなくてもよい。例えば、所定時間分の単位データ（Ｄｉ）ごとに署名値を算出する構成としてもよい。つまり、署名値（Ｓ）の算出は、時系列データの所定の区間の単位データに対して行われればよい。
【０２７１】
また、上記第１乃至第１１の実施形態では、ハッシュ生成部５０６が単位データ（Ｄｉ）のハッシュ値を算出し、パラメータ情報生成部５０７が、ハッシュ生成部５０６で算出されたハッシュ値に基づいて、パラメータ情報（Ｗｉ）を算出する構成とした。しかしながら、パラメータ情報生成部５０７は、単位データ（Ｄｉ）に基づいて、直接、パラメータ情報（Ｗｉ）を算出するように構成してもよい。
【０２７２】
また、上記第１乃至第１１の実施形態では、ＣＰＵ４０２が秘密分散データ生成プログラムを実行することで、秘密分散データ生成部を実現するものとして説明した。しかしながら、秘密分散データ生成部は、例えば、ＧＰＵ（Graphics Processing Unit）を用いて実現してもよい。
【０２７３】
また、上記第８の実施形態では、秘密分散データ生成部２６１０が、Ｄｉｇｅｓｔと署名値（Ｔ）とを送信する構成としたが、上記第１０の実施形態と同様に、Ｄｉｇｅｓｔ１と署名値（Ｔ）、Ｄｉｇｅｓｔ２と署名値（Ｕ）を送信する構成としてもよい。この場合、署名部２７０１が第２及び第３の署名手段として機能し、データ送信部５１０が第１乃至第３の送信手段として機能することになる。
【０２７４】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０２７５】
１００                        ：データ記録システム
１１０                        ：データ生成装置（撮像装置）
１１１                        ：秘密分散データ生成部
１２０                        ：データ記憶装置（サーバ装置）
１２１                        ：データ検証部
１２２                        ：データ格納部
５０１                        ：データ入力部
５０２                        ：圧縮部
５０３                        ：データバッファ部
５０４                        ：データカウンタ部
５０５                        ：署名パラメータ生成部
５０６                        ：ハッシュ生成部
５０７                        ：パラメータ情報生成部
５０８                        ：ストリームパケット生成部
５０９                        ：署名部
５１０                        ：データ送信部
８０１                        ：データ受信部
８０２                        ：格納処理部
８０３                        ：署名値演算部
８０４                        ：署名値検証部
１１０１                      ：設定パラメータ入力部
１１０２                      ：設定パラメータ記憶部
１２００                      ：設定パラメータ情報
１３０１                      ：補助記憶装置
１４０１                      ：データ結合部
１４０２                      ：記憶制御部
１６０１                      ：重要度決定部
２６１０                      ：秘密分散データ生成部
２６２０                      ：データ検証部
２７０１                      ：署名部
３００１                      ：真正性署名値検証部
３００２                      ：データ真正性検証部
３２１０                      ：真正性保証サーバ
３２１１                      ：署名部
３４１１                      ：署名部
３４２０                      ：データ検証部
【先行技術文献】
【特許文献】
【０２７６】
【特許文献１】特開２０１５−０８８８５５号公報
【図１】
0006759818.tif 000013
【図２】
0006759818.tif 000014
【図３】
0006759818.tif 000015
【図４】
0006759818.tif 000016
【図５】
0006759818.tif 000017
【図６】
0006759818.tif 000018
【図７】
0006759818.tif 000019
【図８】
0006759818.tif 000020
【図９】
0006759818.tif 000021
【図１０】
0006759818.tif 000022
【図１１】
0006759818.tif 000023
【図１２】
0006759818.tif 000024
【図１３】
0006759818.tif 000025
【図１４】
0006759818.tif 000026
【図１５】
0006759818.tif 000027
【図１６】
0006759818.tif 000028
【図１７】
0006759818.tif 000029
【図１８】
0006759818.tif 000030
【図１９】
0006759818.tif 000031
【図２０】
0006759818.tif 000032
【図２１】
0006759818.tif 000033
【図２２】
0006759818.tif 000034
【図２３】
0006759818.tif 000035
【図２４】
0006759818.tif 000036
【図２５】
0006759818.tif 000037
【図２６】
0006759818.tif 000038
【図２７】
0006759818.tif 000039
【図２８】
0006759818.tif 000040
【図２９】
0006759818.tif 000041
【図３０】
0006759818.tif 000042
【図３１】
0006759818.tif 000043
【図３２】
0006759818.tif 000044
【図３３】
0006759818.tif 000045
【図３４】
0006759818.tif 000046
【図３５】
0006759818.tif 000047
【図３６】
0006759818.tif 000048
【図３７】
0006759818.tif 000049
【図３８】
0006759818.tif 000050