JP2019047331A - データ生成装置、データ生成方法、プログラム及びデータ記録システム - Google Patents
データ生成装置、データ生成方法、プログラム及びデータ記録システム Download PDFInfo
- Publication number
- JP2019047331A JP2019047331A JP2017168504A JP2017168504A JP2019047331A JP 2019047331 A JP2019047331 A JP 2019047331A JP 2017168504 A JP2017168504 A JP 2017168504A JP 2017168504 A JP2017168504 A JP 2017168504A JP 2019047331 A JP2019047331 A JP 2019047331A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- information
- output
- output data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】 データの真正性を保証可能なデータ記録システムにおいて実用性を向上させる。【解決手段】 時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出手段と、前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成手段と、前記所定の区間を示す区間情報を生成する区間情報生成手段と、前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力手段とを有する。【選択図】図6
Description
本発明は、データ生成装置、データ生成方法、プログラム及びデータ記録システムに関する。
従来より、撮像装置等のデータ生成装置と、該データ生成装置により生成された時系列のデータ(動画像データ等)を記憶するデータ記憶装置(サーバ装置等)と、を組み合わせたデータ記録システムが知られている。
当該データ記録システムでは、例えば、データ生成装置にて時系列のデータに署名を付与し、データ記憶装置にて署名検証を行うことで、データの真正性を保証することができる(下記特許文献1等参照)。
しかしながら、上記データ記録システムの場合、署名を付与したデータにおいて、データ欠損が発生すると、データ記憶装置において署名検証を行うことができなくなるといった問題があった。
このため、たとえ欠損していないデータにおいて改竄等が行われていなかったとしても、当該データの真正性を保証することができず、上記データ記録システムは、実用性に欠けるといった問題があった。
本発明は上記課題に鑑みてなされたものであり、データの真正性を保証可能なデータ記録システムにおいて実用性を向上させることを目的とする。
本発明の各実施形態に係るデータ生成装置は、例えば、以下のような構成を有する。すなわち、
時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成手段と、
前記所定の区間を示す区間情報であって、隣接する区間との連続性を示す区間情報を生成する区間情報生成手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力手段とを有する。
時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成手段と、
前記所定の区間を示す区間情報であって、隣接する区間との連続性を示す区間情報を生成する区間情報生成手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力手段とを有する。
本発明の各実施形態によれば、データの真正性を保証可能なデータ記録システムにおいて実用性を向上させることができる。
以下、本発明の各実施形態について添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に際して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
[第1の実施形態]
<1.データ記録システムの全体構成>
はじめに、データ記録システムの全体構成について説明する。図1は、データ記録システムの全体構成の一例を示す図である。
<1.データ記録システムの全体構成>
はじめに、データ記録システムの全体構成について説明する。図1は、データ記録システムの全体構成の一例を示す図である。
図1に示すように、データ記録システム100は、データ生成装置110と、データ記憶装置120とを有する。データ生成装置110と、データ記憶装置120とは、ネットワークを介して通信可能に接続される。
データ生成装置110は、時系列のデータを生成する装置であり、例えば、動画像データを生成する撮像装置等により実現される。データ生成装置110には、秘密分散データ生成プログラムがインストールされており、当該プログラムを実行することで、データ生成装置110は、秘密分散データ生成部111として機能する。
秘密分散データ生成部111は、生成された時系列のデータに、秘密分散プロトコルに基づくパラメータ情報を対応付けることで秘密分散データを生成する。また、秘密分散データ生成部111は、生成した秘密分散データを含む「出力データ」を、データ記憶装置120にストリーミング送信する。
データ記憶装置120は、データ生成装置110より送信される出力データを記憶する装置であり、サーバ装置等により実現される。データ記憶装置120には、データ検証プログラムがインストールされており、当該プログラムを実行することで、データ記憶装置120は、データ検証部121として機能する。
データ検証部121は、データ格納部122に格納された出力データの真正性を検証する。なお、データ検証部121は、データ生成装置110よりストリーミング送信される出力データにおいて欠損が発生した場合であっても、出力データの真正性を検証することができる。出力データに含まれる秘密分散データは、秘密分散プロトコルを用いて生成されており、欠損に対する耐性が高いためである。
<2.秘密分散プロトコルの説明>
次に、秘密分散データの生成に用いられる秘密分散プロトコルについて、図2及び図3を用いて簡単に説明する。図2及び図3は、秘密分散プロトコルを説明するための図である。
次に、秘密分散データの生成に用いられる秘密分散プロトコルについて、図2及び図3を用いて簡単に説明する。図2及び図3は、秘密分散プロトコルを説明するための図である。
(1)秘密分散プロトコルの概要
一般に、(k−1)次の多項式は、k個の独立な解が存在すれば一意に定めることができ、(k−1)個以下の解では、(k−1)次の多項式を一意に定めることができない。図2(a)は、独立な2個の解((x1,y1)、(x2,y2))に基づいて、1次の多項式(y=α1x+α0)を一意に定めた様子を示している。
一般に、(k−1)次の多項式は、k個の独立な解が存在すれば一意に定めることができ、(k−1)個以下の解では、(k−1)次の多項式を一意に定めることができない。図2(a)は、独立な2個の解((x1,y1)、(x2,y2))に基づいて、1次の多項式(y=α1x+α0)を一意に定めた様子を示している。
また、図2(b)は、独立な3個の解((x1,y1)、(x2,y2)、(x3,y3))に基づいて、2次の多項式(y=α2x2+α1x+α0)を一意に定めた様子を示している。
更に、図2(c)は、独立なk個の解((x1,y1)、(x2,y2)、・・・(xk,yk))に基づいて、(k−1)次の多項式(y=αk−1xk−1+αk−2xk−2+・・・α1x+α0)を一意に定めた様子を示している。
秘密分散プロトコルは、多項式とその解との間のこのような関係を利用したものである。図3(a)に示すように、秘密分散プロトコルを用いる場合、秘密情報を生成するデータ生成者は、生成した秘密情報を(k−1)次の多項式の0次の項(α0)に埋め込むとともに、(k−1)次の多項式の複数の解を生成して、それぞれの解を分けて保持する。これにより、仮に、複数の解のうちの一部の解が漏えいしたとしても、秘密情報(α0)が復元されることはない。つまり、秘密分散プロトコルは、漏えいに対する耐性が高いという特性を有する。
加えて、図3(a)に示すように、秘密分散プロトコルによれば、データ利用者は、データ生成者より複数の解のうちのk個の解を取得すれば(仮に(n−k)個の解が欠損したとしても)、秘密情報(α0)を復元することができる。k個の解があれば(k−1)次の多項式を一意に定めることができるからである。つまり、秘密分散プロトコルは、データ欠損に対する耐性が高いという特性も有している。
本実施形態では、このうち、データ欠損に対する耐性が高いという特性に着目して、時系列のデータに秘密分散プロトコルを適用している。
(2)秘密分散プロトコルの時系列のデータへの適用
次に、秘密分散プロトコルの時系列のデータへの適用について、図3(b)を参照しながら具体的に説明する。
次に、秘密分散プロトコルの時系列のデータへの適用について、図3(b)を参照しながら具体的に説明する。
本実施形態では、秘密分散プロトコルを時系列のデータに適用することで、欠損検証と署名検証とを実現するとともに、署名検証でのデータ欠損に対する耐性の向上を実現している。
図3(b)は、時系列のデータを処理するデータ生成装置及びデータ記憶装置に秘密分散プロトコルを適用した場合の処理の概要を示している。
秘密分散プロトコルを適用した場合、データ生成装置では、まず、時系列データの所定の区間に含まれるn個(nは2以上の整数)の単位データを取得する。ここで、「単位データ」とは、時系列データを構成する所定単位のデータを指す。所定単位のデータとは、例えば、データ生成装置が撮像装置であって、当該撮像装置がフレーム単位で動画像データを処理する場合には、それぞれのフレームが所定単位のデータとなる。また、例えば、当該撮像装置がパケット単位で動画像データを処理する場合には、それぞれのパケットが所定単位のデータとなる。なお、以下では、時系列データの所定の区間に含まれるn個の単位データのうち、i番目の単位データを"Di"と表す。
続いて、データ生成装置では、n個の単位データ(Di)に基づいて、(k−1)次の多項式のn個の解を生成する。このとき、(k−1)次の多項式のk個(kは1以上でn未満の整数)のパラメータ(αk−1、αk−2、・・・α0)には、例えば、乱数値を用いる。
なお、(k−1)次の多項式の変数xにn個の単位データ(Di)を代入してn個の変数yを算出するにあたり、ハッシュ値を用いる場合にあっては、データ生成装置は、Hash(Di)を算出し、算出したHash(Di)を変数xに代入する。n個のHash(Di)を変数xに代入することで算出されるn個の変数yの値のうち、i番目の値を、パラメータ情報"Wi"と表す。なお、Wiは、下式に基づいて算出される。
ここで、データ生成装置により送信されるn個の秘密分散データ(Di,Wi)は、その一部が欠損した場合であっても、k個集まれば、パラメータ(αk−1、αk−2、・・・α0)を一意に定めることができる。
そこで、データ生成装置では、このうちの1つのパラメータ(α0)を秘密情報とし、当該秘密情報(α0)に署名を付与することで署名値(S)を生成する。データ生成装置では、例えば、下式に示すようなSignアルゴリズムを用いて署名値(S)を生成する。
図3(b)に示すように、データ生成装置が、n個の秘密分散データ(Di,Wi)それぞれに、署名値(S)を対応付けて、データ記憶装置に送信することで、データ記憶装置では、欠損検証と署名検証とを行うことができる。
具体的には、データ記憶装置では、秘密分散データ(Di,Wi)がk個以上かk個未満かを判定することで欠損検証を行う。
秘密分散データ(Di,Wi)がk個未満であった場合、データ記憶装置では、欠損((n−k)個以上の欠損)が発生したため、署名検証を行うことができないと判定する。
一方、秘密分散データ(Di,Wi)がk個以上であった場合、データ記憶装置では、署名検証を行うことができると判定し、署名値(S)を抽出する。また、データ記憶装置では、Signアルゴリズムに対応するVrfyアルゴリズムを用いることで、署名値(S)に基づいて秘密情報(α0)を演算する(下式参照)。
データ記憶装置では、更に、k個の秘密分散データ(Di,Wi)を抽出し、抽出した秘密分散データ(Di,Wi)から、下式に基づいて、秘密情報(α0)を演算する。
ここで、k個の秘密分散データが改竄されていなかったとする。この場合、k個の秘密分散データ(Di,Wi)から演算した秘密情報(α0)は、署名値(S)から演算した秘密情報(α0)と一致する。
一方、k個の秘密分散データが改竄された場合には、これらは一致しない。つまり、これらが一致するか否かを判定することで、署名検証を行うことができ、一致した場合(署名検証に成功した場合)に、データ記憶装置では、秘密分散データ(Di,Wi)が改竄されていないことを保証することができる。
このように、秘密分散プロトコルを時系列データに適用することで、欠損検証と署名検証とを実現できる。また、(n−k)個未満のデータ欠損を許容するため、署名検証でのデータ欠損に対する耐性を向上させることができる。
<3.データ記録システム100における出力データの真正性を検証するための処理の概要>
次に、データ記録システム100における出力データの真正性を検証するための処理の概要について説明する。上述したとおり、n個の秘密分散データ(Di,Wi)それぞれに署名値(S)を対応付けたデータを送信することで、データ記憶装置では、
・欠損検証:(n−k)個以上の欠損が発生したか否か
・署名検証:改竄が行われたか否か
を判定することができる。
次に、データ記録システム100における出力データの真正性を検証するための処理の概要について説明する。上述したとおり、n個の秘密分散データ(Di,Wi)それぞれに署名値(S)を対応付けたデータを送信することで、データ記憶装置では、
・欠損検証:(n−k)個以上の欠損が発生したか否か
・署名検証:改竄が行われたか否か
を判定することができる。
しかしながら、欠損検証と署名検証だけでは、所定の区間ごとに送信されるn個の秘密分散データ(Di,Wi)を含む出力データ全体が、切り抜かれた場合に、これを検証することができない。
そこで、本実施形態におけるデータ生成装置110では、更に、所定の区間ごとに、区間情報の一例であるインデックス値(Gj)を生成する。そして、本実施形態におけるデータ生成装置110では、所定の区間ごとに送信されるn個の秘密分散データ(Di,Wi)それぞれに、署名値(Sj)だけでなくインデックス値(Gj)も合わせて対応付ける。
つまり、本実施形態におけるデータ生成装置110では、n個の秘密分散データ(Di,Wi)それぞれに、署名値(S)とインデックス値(Gj)とが対応付けられた出力データを送信する。なお、このとき対応付けられたインデックス値(Gj)は隣接する区間との連続性を表すために、下式の関係を有しているものとする。
・n個の秘密分散データ(Di,Wi)
・n個の秘密分散データ(Di,Wi)ごとに共通の署名値(Sj)
・n個の秘密分散データ(Di,Wi)ごとに共通のインデックス値(Gj)
を含む出力データを、データ記憶装置120に送信する。
これにより、本実施形態におけるデータ記憶装置120は、それぞれの出力データについて、欠損検証と署名検証とを行うことができる。加えて、本実施形態におけるデータ記憶装置120では、出力データ間においてインデックス値(Gj)が連続しているか否かを判定する連続性検証を行うことができる。これにより、本実施形態におけるデータ記憶装置120によれば、所定の区間ごとに送信される出力データそのものが、切り抜かれた場合であっても、これを検証することができる。
つまり、本実施形態におけるデータ記憶装置120では、出力データの真正性を検証するために、
・欠損検証:各出力データにおいて、(n−k)個以上の欠損が発生したか否か
・署名検証:各出力データにおいて、改竄が行われたか否か
・連続性検証:出力データの切り抜きが行われたか否か
を判定する。
・欠損検証:各出力データにおいて、(n−k)個以上の欠損が発生したか否か
・署名検証:各出力データにおいて、改竄が行われたか否か
・連続性検証:出力データの切り抜きが行われたか否か
を判定する。
<4.データ記録システムのハードウェア構成>
次に、データ記録システム100を構成する、データ生成装置110及びデータ記憶装置120のハードウェア構成について説明する。図5は、データ生成装置及びデータ記憶装置のハードウェア構成を示す図である。
次に、データ記録システム100を構成する、データ生成装置110及びデータ記憶装置120のハードウェア構成について説明する。図5は、データ生成装置及びデータ記憶装置のハードウェア構成を示す図である。
図5(a)に示すように、データ生成装置110は、データ生成センサ501を有する。また、データ生成装置110は、CPU(Central Processing Unit)502、ROM(Read Only Memory)503、RAM(Random Access Memory)504を有する。CPU502、ROM503、RAM504はいわゆるコンピュータを形成する。更に、データ生成装置110は、I/F(Interface)装置505を有する。なお、データ生成装置110を構成する各ハードウェアは、バス506を介して相互に接続されている。
データ生成センサ501は、時系列データを生成する。データ生成装置110が、例えば撮像装置であった場合、データ生成センサ501は、受光した光を電気信号に変換し、動画像データを生成する。
CPU502は、ROM503に格納された各種プログラム(例えば、秘密分散データ生成プログラム)を実行する。
ROM503は、CPU502により実行される各種プログラムや、CPU502が各種プログラムを実行する際に用いるその他のプログラム、データを格納する。RAM504は、CPU502が各種プログラムを実行する際のワークエリアを提供する。
I/F装置505は、ネットワークに接続され、該ネットワークを介して、データ記憶装置120に出力データを送信する。
図5(b)に示すように、データ記憶装置120は、CPU511、ROM512、RAM513、補助記憶装置514、表示装置515、操作装置516、I/F装置517を有する。データ記憶装置120を構成する各ハードウェアは、バス518を介して相互に接続されている。
なお、データ記憶装置120のハードウェア構成は、データ生成装置110のハードウェア構成と概ね同じであるため、ここでは相違点のみ説明する。データ生成装置110のハードウェア構成との相違点は、データ生成センサ501を有していない点と、補助記憶装置514、表示装置515、操作装置516を有している点である。
補助記憶装置514は、CPU511により実行されるプログラムである、データ検証プログラムと、データ生成装置110から送信される出力データとを格納する。データ記憶装置120の場合、データ検証プログラムは、補助記憶装置514に格納され、ROM512には、CPU511がデータ検証プログラムを実行する際に用いるその他のプログラムが格納されているものとする。また、補助記憶装置514は、出力データを格納するデータ格納部122を実現する。
表示装置515は、出力データの真正性を検証することで得た検証結果等を表示する表示デバイスである。操作装置516は、データ記憶装置120のユーザがデータ記憶装置120に対して各種指示を入力するための入力デバイスである。
<5.データ生成装置の機能構成>
次に、データ生成装置110にて実現される秘密分散データ生成部111の詳細な機能構成について説明する。図6は、データ生成装置の機能構成を示す図である。
次に、データ生成装置110にて実現される秘密分散データ生成部111の詳細な機能構成について説明する。図6は、データ生成装置の機能構成を示す図である。
図6に示すように、秘密分散データ生成部111は、データ入力部601、圧縮部602、データバッファ部603、データカウンタ部604、署名パラメータ生成部605を有する。また、秘密分散データ生成部111は、インデックス生成部606、ハッシュ生成部607、パラメータ情報生成部608、署名部609、ストリームパケット生成部610、データ送信部611を有する。
データ入力部601は、データ生成センサ501により生成された時系列データを取得する。圧縮部602は、取得した時系列データを圧縮し、単位データを生成する。時系列データが、例えば動画像データであった場合、圧縮部602は、MPEGやMotion−JPEG、H.264等の任意の圧縮形式により動画像データを圧縮し、単位データを生成する。
データバッファ部603は、圧縮部602において生成された単位データを一時的に蓄積する。
データカウンタ部604は、データバッファ部603に蓄積された単位データの数をカウントする。また、データカウンタ部604は、単位データの数が所定数(n)に到達するごとに(つまり、時系列データの所定の区間ごとに)、署名パラメータ生成部605、インデックス生成部606、署名部609に、所定数(n)の単位データが蓄積された旨を通知する。なお、データカウンタ部604は、所定数(n)をカウントするごとに、カウント値(i)をリセットする。
更に、データカウンタ部604は、所定の区間の数をカウントし、インデックス生成部606に通知する。データカウンタ部604は、カウント値(i)をリセットするごとに、カウント値(j)をインクリメントする。
署名パラメータ生成部605は、乱数生成器を有し、データカウンタ部604より、所定数(n)の単位データが処理された旨の通知を受けると、乱数生成器により生成されたk個の乱数値をパラメータ(αk−1、αk−2、・・・α0)として取得する。また、署名パラメータ生成部605は、取得したパラメータ(αk−1、αk−2、・・・α0)をパラメータ情報生成部608に通知する。更に、署名パラメータ生成部605は、パラメータ(α0)を秘密情報として署名部609に通知する。
インデックス生成部606は区間情報生成手段の一例である。インデックス生成部606は、データカウンタ部604より、所定数(n)の単位データが蓄積された旨の通知を受けると、インデックス値(Gj)を生成する。インデックス値(Gj)は、所定の区間に含まれる所定数(n)の単位データに共通の区間情報であって、前回生成したインデックス値(Gj−1)との連続性(つまり、隣接する区間との連続性)を示す値である。また、インデックス生成部606は、生成したインデックス値(Gj)を、ストリームパケット生成部610及びハッシュ生成部607に通知する。
ハッシュ生成部607は、データバッファ部603に蓄積された単位データから、所定数(n)の単位データ(Di)を順次取得し、インデックス生成部606から取得したインデックス値(Gj)とともに、ハッシュ値(Hash(Gj+Di))を算出する。なお、ハッシュ生成部607で単位データ(Gj+Di)のハッシュ値を算出するのは、データ生成装置110における処理負荷を低減させるためである。
パラメータ情報生成部608は、算出手段の一例であり、ハッシュ生成部607において算出されたハッシュ値(Hash(Gj+Di))と、署名パラメータ生成部605より通知されたパラメータ(αk−1、αk−2、・・・α0)とを取得する。また、パラメータ情報生成部608は、取得したハッシュ値とパラメータとに基づき、下式を用いて、パラメータ情報(Wi)を算出する。更に、パラメータ情報生成部608は、生成したパラメータ情報(Wi)を、ストリームパケット生成部610に通知する。
なお、上述したとおり、本実施形態において、署名値(Sj)の生成には、Signアルゴリズムを用いるものとして説明するが、署名値(Sj)の生成に用いる署名アルゴリズムは、Signアルゴリズムに限定されない。例えば、RSAアルゴリズム、RSASSA−PSSアルゴリズムを用いても、あるいはElGamalアルゴリズムを用いてもよい。
ストリームパケット生成部610は出力手段の一例である。ストリームパケット生成部610は、単位データ(Di)とパラメータ情報(Wi)とを対応付けることで、秘密分散データを取得する。また、ストリームパケット生成部610は、取得した所定数(n)の秘密分散データ(Di,Wi)それぞれに、インデックス値(Gj)と署名値(Sj)とを対応付けることで出力データ(Di,Wi,Gj,Sj)を生成する。
また、ストリームパケット生成部610は、生成した出力データ(Di,Wi,Gj,Sj)をパケット化して出力する。なお、出力データをパケット化する際のパケット形式は送信形式によって決まり、送信形式がネットワークインタフェース形式の場合には、パケット形式はRTSP形式またはUDP形式となる。また、送信形式がUSBインタフェース形式の場合には、パケット形式はアイソクロナス形式となる。
データ送信部611は、ストリームパケット生成部610においてパケット化された出力データ(Di,Wi,Gj,Sj)を送信する。なお、データ送信部611では、パケット化された出力データ(Di,Wi,Gj,Sj)を、コネクションレス方式でデータ記憶装置120に対してストリーミング送信する。
図7は、データ生成装置の各部(データバッファ部603、インデックス生成部606、ハッシュ生成部607、パラメータ情報生成部608、署名部609)の動作を模式的に示した図である。図7の例では、所定数(n)を"10"、k="5"、カウント値(j)="1"としている。
図7に示すように、ハッシュ生成部607は、データバッファ部603に蓄積された単位データ(D1)と、インデックス生成部606により生成されたインデックス値(G1)とを取得し、ハッシュ値(Hash(G1+D1))を算出する。
また、パラメータ情報生成部608は、ハッシュ生成部607により算出されたハッシュ値(Hash(G1+D1))と、署名パラメータ生成部605より出力されたパラメータ(α4、α3、・・・α0)とを取得する。更に、パラメータ情報生成部608は、ハッシュ値(Hash(G1+D1))とパラメータ(α4、α3、・・・α0)とに基づき、パラメータ情報(W1)を算出する。
同様に、データバッファ部603に蓄積された他の単位データ(D2、D3、・・・D10)についてもそれぞれ同様の処理が行われることで、パラメータ情報生成部608は、パラメータ情報(W2、W3、・・・W10)を算出する。
一方、署名部609は、署名パラメータ生成部605より通知された秘密情報(α0)を用いて署名値(S1)を生成する。
データバッファ部603に蓄積された単位データ(D1、D2、・・・D10)と、パラメータ情報生成部608にて算出されたパラメータ情報(W1、W2、・・・W10)とは、ストリームパケット生成部610にて対応付けられる。これにより、ストリームパケット生成部610では、秘密分散データ((D1,W1)、(D2,W2)、・・・(D10,W10))を取得する。
更に、インデックス生成部606で生成されたインデックス値(G1)、及び、署名部609により生成された署名値(S1)は、ストリームパケット生成部610にて、秘密分散データ((D1,W1)・・・(D10,W10))それぞれに対応付けられる。この結果、出力データ((D1,W1,G1,S1)・・・(D10,W10,G1,S1))が生成される。
このように、データ生成装置110の各部が動作することで、データ生成装置110では、所定区間ごとに出力データ(秘密分散データ+インデックス値+署名値)を送信することができる。
<6.秘密分散データ生成部による出力データ生成処理>
次に、秘密分散データ生成部111による出力データ生成処理の流れについて説明する。図8は、出力データ生成処理の流れを示すフローチャートである。データ生成センサ501により時系列データが生成されると、秘密分散データ生成部111では、図8に示すフローチャートを実行する。
次に、秘密分散データ生成部111による出力データ生成処理の流れについて説明する。図8は、出力データ生成処理の流れを示すフローチャートである。データ生成センサ501により時系列データが生成されると、秘密分散データ生成部111では、図8に示すフローチャートを実行する。
ステップS801において、データカウンタ部604は、単位データの数をカウントするカウント値(i)に"0"を代入する。また、データカウンタ部604は、所定の区間の数をカウントするカウント値jに"1"を代入する。
ステップS802において、データ入力部601は、データ生成センサ501により生成された時系列データを取得する。また、圧縮部602は、取得された時系列データを圧縮して単位データを生成し、単位データ(Di)をデータバッファ部603に蓄積する。
ステップS803において、データカウンタ部604は、カウント値(i)をインクリメントし、ステップS804に進む。
ステップS804において、データカウンタ部604は、所定数(n)の単位データが蓄積されたか否かを判定する。ステップS804において、所定数(n)の単位データが蓄積されていないと判定した場合には、ステップS802に戻る。一方、ステップS804において、所定数(n)の単位データが蓄積されたと判定した場合には、ステップS805に進む。
ステップS805において、インデックス生成部606は、インデックス値(Gj)を生成する。
ステップS806において、ハッシュ生成部607は、インデックス生成部606で生成されたインデックス値(Gj)と、データバッファ部603に蓄積された単位データ(Di)とをハッシュ化し、ハッシュ値(Hash(Gj+Di))を算出する。
ステップS807において、パラメータ情報生成部608は、署名パラメータ生成部605よりパラメータ(αk−1、αk−2、・・・α0)を取得する。
ステップS808において、パラメータ情報生成部608は、ハッシュ値(Hash(Gj+Di))とパラメータ(αk−1、αk−2、・・・α0)とに基づき、パラメータ情報(Wi)を算出する。
ステップS809において、署名部609は、署名パラメータ生成部605より出力された秘密情報(α0)に基づき、署名値(Sj)を生成する。
ステップS810において、ストリームパケット生成部610は、取得した所定数(n)の秘密分散データ(Di,Wi)それぞれに、インデックス値(Gj)と署名値(Sj)とを対応付けることで出力データを生成する。また、ストリームパケット生成部610は、生成した出力データをパケット化する。更に、データ送信部611は、パケット化された出力データをストリーミング送信する。
ステップS811において、データ入力部601は、出力データ生成処理を終了するか否かを判定する。データ生成センサ501により生成された時系列データの入力が継続している場合には、出力データ生成処理を終了せずに、ステップS812に進む。
ステップS812において、データカウンタ部604は、カウント値(i)をリセットするとともに、カウント値(j)をインクリメントし、ステップS802に戻る。これにより、次の所定数(n)の単位データについての出力データが、ストリーミング送信される。
一方、ステップS811において、時系列データの入力が停止したと判定した場合には、出力データ生成処理を終了する。
<7.データ記憶装置の機能構成>
次に、データ記憶装置120にて実現されるデータ検証部121の詳細な機能構成について説明する。図9は、データ記憶装置の機能構成を示す図である。
次に、データ記憶装置120にて実現されるデータ検証部121の詳細な機能構成について説明する。図9は、データ記憶装置の機能構成を示す図である。
図9に示すように、データ検証部121は、データ受信部901、格納処理部902、署名値抽出部903、秘密分散データ抽出部904、署名値演算部905、署名値検証部906、連続性検証部907、検証結果出力部908を有する。
データ受信部901は、受信手段の一例であり、データ生成装置110より送信された出力データ(Di,Wi,Gj,Sj)を順次受信する。
格納処理部902は、データ受信部901において受信された出力データをデータ格納部122に格納する。
署名値抽出部903は、第2の演算手段の一例である。署名値抽出部903は、データ格納部122に格納された出力データに含まれる署名値(Sj)を抽出する。また、署名値抽出部903は、署名値(Sj)について、検証鍵を用いて、上式(式3)に基づいて秘密情報(α0)を演算する。また、署名値抽出部903は、演算した秘密情報(α0)を署名値検証部906に通知する。
秘密分散データ抽出部904は、第1の判定手段の一例である。秘密分散データ抽出部904は、データ格納部122に格納された出力データであって、署名値抽出部903により抽出された署名値(Sj)と同じ署名値(Sj)を含む出力データから、秘密分散データ(Di,Wi)を抽出する。
また、秘密分散データ抽出部904は、抽出した秘密分散データ(Di,Wi)が、k個以上か否かを判定する。秘密分散データ(Di,Wi)が、k個未満であった場合、秘密分散データ抽出部904は、当該出力データにおいて、(n−k)個以上の欠損が発生したと判定し、欠損検証結果を検証結果出力部908に通知する。また、秘密分散データ(Di,Wi)が、k個以上であった場合、秘密分散データ抽出部904は、抽出した秘密分散データ(Di,Wi)を署名値演算部905に通知する。
署名値演算部905は、第1の演算手段の一例である。署名値演算部905は、秘密分散データ抽出部904より受信したk個の秘密分散データ(Di,Wi)から下式に基づいて秘密情報(α0)を演算し、演算した秘密情報(α0)を署名値検証部906に通知する。
連続性検証部907は、第3の判定手段の一例である。連続性検証部907は、データ格納部122に格納された出力データであって、署名値抽出部903により抽出された署名値(Sj)と同じ署名値(Sj)を含む出力データから、インデックス値(Gj)を抽出する。
また、連続性検証部907は、前回抽出したインデックス値(Gj−1)と、今回抽出したインデックス値(Gj)とを対比し、インデックス値が連続しているか否かを判定することで、連続性検証を行う。連続性検証部907は、インデックス値が連続していないと判定した場合、連続性検証結果を検証結果出力部908に通知する。
検証結果出力部908は表示手段の一例である。検証結果出力部908は、データ格納部122に格納された出力データに対応付けて、検証結果を格納する。また、検証結果出力部908は、検証結果を表示するための表示画面を生成し、表示装置515に、生成した表示画面を表示する。
検証結果出力部908は、データ格納部122に格納されたいずれの出力データについても、欠損検証結果、改竄検証結果、連続性検証結果を受信しなかった場合には、データ格納部122に格納された出力データが真正性を有すると判定する。この場合、検証結果出力部908は、データ格納部122に格納された出力データが、真正性を有するデータであることを示す表示画面を生成し、表示装置515に表示する。
また、検証結果出力部908は、欠損検証結果を受信した場合には、データ格納部122に格納された出力データの中に、署名検証を行うのに充分な秘密分散データを受信できなかった出力データがあったことを示す表示画面を生成し、表示装置515に表示する。
また、検証結果出力部908は、改竄検証結果または連続性検証結果を受信した場合には、データ格納部122に格納された出力データの中に、改竄が検出された出力データがあったことを示す表示画面を生成し、表示装置515に表示する。
更に、検証結果出力部908は、検証結果を表示するための表示画面を表示したことに応じて、出力データの表示指示が入力された場合には、表示指示された出力データをデータ格納部122から読み出して、表示装置515に表示する。
<8.データ検証部によるデータ検証処理>
次に、データ検証部121によるデータ検証処理の流れについて説明する。図10は、第1の実施形態におけるデータ検証処理の流れを示すフローチャートである。データ記憶装置120のデータ格納部122に、出力データが格納されることで、図10に示すフローチャートが実行される。
次に、データ検証部121によるデータ検証処理の流れについて説明する。図10は、第1の実施形態におけるデータ検証処理の流れを示すフローチャートである。データ記憶装置120のデータ格納部122に、出力データが格納されることで、図10に示すフローチャートが実行される。
ステップS1001において、署名値抽出部903は、同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データをカウントするカウント値(j)に"1"を代入する。
ステップS1002において、署名値抽出部903は、データ格納部122に格納された出力データのうち、署名値(Sj)が対応付けられた秘密分散データを含む出力データを処理対象として特定する。ここでは、署名値抽出部903は、署名値(S1)が対応付けられた秘密分散データを処理対象として特定する。また、署名値抽出部903は、処理対象の出力データに含まれる署名値(Sj)を抽出する(ここでは、署名値(S1)を抽出する)。更に、署名値抽出部903は、抽出した署名値(Sj)について、検証鍵を用いて秘密情報(α0)を演算する。
ステップS1003において、秘密分散データ抽出部904は、抽出された署名値(Sj)と同じ署名値(Sj)を含む出力データ(処理対象の出力データ)から、秘密分散データ(Di,Wi)を抽出する。
ステップS1004において、秘密分散データ抽出部904は、抽出した秘密分散データ(Di,Wi)がk個以上あるか否かを判定する。ステップS1004において、k個未満であると判定した場合には(ステップS1004においてNoの場合には)、ステップS1005に進む。
ステップS1005において、秘密分散データ抽出部904は、処理対象の出力データにおいて、秘密分散データの欠損が(n−k)個以上発生したと判定し、ステップS1012に進む。
一方、ステップS1004において、k個以上であると判定した場合には(ステップS1003においてYesの場合には)、ステップS1006に進む。
ステップS1006において、署名値演算部905は、k個の秘密分散データ(Di,Wi)に基づいて秘密情報(α0)を演算する。
ステップS1007において、署名値検証部906は、署名値(Sj)から演算された秘密情報(α0)と、k個の秘密分散データ(Di,Wi)から演算された秘密情報(α0)とを比較し、両者が一致するか否かを判定する。ステップS1007において一致しないと判定した場合には(ステップS1007においてNoの場合には)、ステップS1008に進む。
ステップS1008において、署名値検証部906は、処理対象の出力データに含まれる秘密分散データが改竄されたと判定し、ステップS1012に進む。
一方、ステップS1007において、一致すると判定した場合(ステップS1007においてYesの場合には)、ステップS1009に進む。
ステップS1009において、連続性検証部907は、処理対象の出力データに含まれるインデックス値(Gj)と、前回の処理対象の出力データに含まれていたインデックス値(Gj−1)とが連続しているか否かを判定する。ステップS1009において、連続していないと判定された場合には(ステップS1009においてNoの場合には)、ステップS1010に進む。
ステップS1010において、連続性検証部907は、インデックス値(Gj)の出力データと、インデックス値(Gj−1)の出力データとの間の出力データが、切り抜かれたと判定し、ステップS1012に進む。
一方、ステップS1009において、連続していると判定された場合には(ステップS1009においてYesの場合には)、ステップS1011に進む。ステップS1011において、検証結果出力部908は、処理対象の出力データについて検証に成功したと判定し、ステップS1012に進む。
ステップS1012において、検証結果出力部908は、検証結果(欠損、改竄、切り抜き、検証成功)をデータ格納部122に記録する。
ステップS1013において、署名値抽出部903は、次の処理対象の出力データがデータ格納部122に格納されているか否かを判定する。ステップS1013において、次の処理対象の出力データがデータ格納部122に格納されていると判定した場合(ステップS1013においてYesの場合)には、ステップS1014に進む。
ステップS1014において、署名値抽出部903は、カウント値(j)をインクリメントして、ステップS1002に戻る。
一方、ステップS1013において、次の処理対象の出力データがデータ格納部122に格納されていないと判定した場合(ステップS1013においてNoの場合)には、ステップS1015に進む。
ステップS1015において、検証結果出力部908は、データ格納部122に格納されている出力データの真正性についての判定結果を出力する。
<9.データ検証部によるデータ検証処理の効果>
次に、データ検証部121によるデータ検証処理の効果について説明する。図11は、データ検証処理の効果を説明するための図である。このうち、図11(a)は、それぞれ同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データ1101〜出力データ1107についてデータ検証処理を行った様子を示している。
次に、データ検証部121によるデータ検証処理の効果について説明する。図11は、データ検証処理の効果を説明するための図である。このうち、図11(a)は、それぞれ同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データ1101〜出力データ1107についてデータ検証処理を行った様子を示している。
図11(a)の場合、出力データ1101〜出力データ1107のいずれにおいても、秘密分散データの欠損が発生しておらず、また、改竄された秘密分散データも含まれていない。更には、出力データ1101〜出力データ1107それぞれのインデックス値(G1〜G7)は、隣接する出力データ間で連続しており、出力データの切り抜きも行われていない。このため、データ検証部121では、出力データ1101〜出力データ1107について、真正性を有すると判定することができる。
図11(b)は、それぞれ同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データ1111〜出力データ1117についてデータ検証処理を行った様子を示している。図11(b)の場合、出力データ1111、1113において、秘密分散データの欠損1151、1152が発生しているが、出力データ1111、1113には、k個以上の秘密分散データが含まれるため署名検証を行うことができる。
また、図11(b)の場合、出力データ1111〜出力データ1117のいずれにも、改竄された秘密分散データは含まれていない。更には、出力データ1111〜出力データ1117それぞれのインデックス値(G1〜G7)は、隣接する出力データ間で連続しており、出力データの切り抜きも行われていない。このため、データ検証部121では、出力データ1111〜出力データ1117について、真正性を有すると判定することができる。
図11(c)は、それぞれ同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データ1121〜出力データ1127についてデータ検証処理を行った様子を示している。図11(c)の場合、出力データ1121、1123、1126において、秘密分散データの欠損1161、1162、1163が発生しており、出力データ1121、1123、1126には、k個以上の秘密分散データが含まれていない。このため、出力データ1121、1123、1126については、署名検証を行うことができない。この結果、データ検証部121では、出力データ1121〜出力データ1127について、真正性を検証することができないと判定する。
図11(d)は、それぞれ同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データ1131〜出力データ1137についてデータ検証処理を行った様子を示している。図11(d)の場合、秘密分散データの欠損は発生していないが、出力データ1132、1133に、改竄された秘密分散データ1171、1172が含まれる。このため、データ検証部121では、出力データ1131〜出力データ1137について、真正性がないと判定する。
図11(e)は、それぞれ同じ署名値(Sj)が対応付けられた秘密分散データを含む出力データ1141〜出力データ1146についてデータ検証処理を行った様子を示している。図11(e)の場合、出力データ1141〜出力データ1146のいずれにおいても、秘密分散データの欠損が発生しておらず、また、改竄された秘密分散データも含まれていない。
しかしながら、出力データ1144のインデックス値(G4)と、出力データ1145のインデックス値(G5)とが連続しておらず、出力データ1144と出力データ1145の間の出力データが切り抜かれている。このため、データ検証部121では、出力データ1141〜1146について、真正性がないと判定する。
このように、データ検証部121によるデータ検証処理によれば、出力データにおける欠損検証、署名検証、出力データ間の連続性検証の観点から、出力データの真正性を検証することができる。
<10.表示画面例>
次に、データ検証処理が実行されることでデータ記憶装置120に表示される表示画面について説明する。図12は、第1の実施形態におけるデータ記憶装置の表示画面の一例を示す図である。
次に、データ検証処理が実行されることでデータ記憶装置120に表示される表示画面について説明する。図12は、第1の実施形態におけるデータ記憶装置の表示画面の一例を示す図である。
図12において、表示画面1210は、データ検証部121によりデータ検証処理が開始された直後の表示画面を示している。表示画面1210に示すように、データ検証処理の実行中、検証結果出力部908は、"検証中"であることを表示する。
一方、表示画面1220は、データ検証部121によりデータ検証処理が実行され、検証成功と判定された場合の表示画面を示している。表示画面1220に示すように、検証成功と判定された場合、検証結果出力部908は、"信頼性のあるデータ"であることを表示する。
また、表示画面1230は、データ検証部121によりデータ検証処理が実行され、出力データの中に、秘密分散データの欠損が(n−k)個以上であると判定された出力データがあったと判定した場合の表示画面を示している。表示画面1230に示すように、秘密分散データの欠損が(n−k)個以上であると判定された出力データがあった場合、検証結果出力部908は、"検証に十分なデータが得られなかった"ことを表示する。
また、表示画面1240は、データ検証部121によりデータ検証処理が実行され、出力データの中に、改竄が検出された出力データがあったと判定された場合、または、切り抜かれた出力データがあったと判定された場合の表示画面を示している。
表示画面1240に示すように、改竄が検出された出力データがあった場合、または、切り抜かれた出力データがあったと判定された場合、検証結果出力部908は、"改竄が検出された"ことを表示する。また、検証結果出力部908は、あわせて詳細ボタン1241を表示する。
表示画面1240において詳細ボタン1241が押圧されると、検証結果出力部908は、更に、表示画面1250を表示する。表示画面1250は、改竄された秘密分散データが含まれる出力データを確認するための確認ボタン1251と、切り抜き箇所を確認するための確認ボタン1252とを含む。
表示画面1260は、確認ボタン1251または1252が押圧されることで、表示される表示画面である。確認ボタン1251が押圧された場合、検証結果出力部908は、改竄された秘密分散データが含まれる出力データを、表示画面1250に表示する。
また、確認ボタン1252が押圧された場合、検証結果出力部908は、切り抜きがあると判定された前後の出力データを、表示画面1250に表示する。
<11.まとめ>
以上の説明から明らかなように、本実施形態に係るデータ記録システムでは、
・データ生成装置が、生成した時系列データから、n個の単位データ(Di)を順次取得し、取得した単位データ(Di)に基づいて、k個(1≦k<n)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報(Wi)を算出する。
・データ生成装置が、秘密分散データがk個集まることで演算可能となる秘密情報(α0)に、署名を付与することで署名値(Sj)を生成する。
・データ生成装置が、n個の秘密分散データ(Di,Wi)ごとに(それぞれの区間に)共通のインデックス値(Gj)を生成する。
・データ生成装置が、n個の秘密分散データ(Di,Wi)それぞれに、署名値(Sj)及びインデックス値(Gj)を対応付けることで出力データを生成し、生成した出力データをデータ記憶装置にストリーミング送信する。
以上の説明から明らかなように、本実施形態に係るデータ記録システムでは、
・データ生成装置が、生成した時系列データから、n個の単位データ(Di)を順次取得し、取得した単位データ(Di)に基づいて、k個(1≦k<n)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報(Wi)を算出する。
・データ生成装置が、秘密分散データがk個集まることで演算可能となる秘密情報(α0)に、署名を付与することで署名値(Sj)を生成する。
・データ生成装置が、n個の秘密分散データ(Di,Wi)ごとに(それぞれの区間に)共通のインデックス値(Gj)を生成する。
・データ生成装置が、n個の秘密分散データ(Di,Wi)それぞれに、署名値(Sj)及びインデックス値(Gj)を対応付けることで出力データを生成し、生成した出力データをデータ記憶装置にストリーミング送信する。
これにより、データ記憶装置では、データ生成装置が送信した出力データに含まれるn個の秘密分散データのうち、k個の秘密分散データを受信すれば、当該k個の秘密分散データに基づいて秘密情報を演算することができる。
つまり、第1の実施形態によれば、(n−k)個の秘密分散データの欠損を許容することが可能となり、実用性に欠けるといった問題を解消することができる。
また、データ記憶装置では、同じ署名値(Sj)を含む出力データごとに、秘密分散データの欠損が(n−k)個以上発生したか否かを判定する欠損検証を行うことができる。また、データ記憶装置では、同じ署名値(Sj)を含む出力データごとに、秘密分散データの改竄が行われたか否かを判定する署名検証を行うことができる。また、データ記憶装置では、同じ署名値(Sj)を含む出力データの切り抜きが行われたか否かを判定する連続性検証を行うことができる。
つまり、第1の実施形態によれば、出力データの真正性を、欠損検証、署名検証、連続性検証の観点から保証することができる。
[第2の実施形態]
上記第1の実施形態では、データ記憶装置120が検証結果を出力するにあたり、データ格納部122に格納された出力データ全てについて、データ検証処理を実行してから、検証結果を出力するものとして説明した。しかしながら、検証結果の出力方法はこれに限定されず、出力データの表示中に、データ検証処理を並行して実行し、検証結果を出力するように構成してもよい。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
上記第1の実施形態では、データ記憶装置120が検証結果を出力するにあたり、データ格納部122に格納された出力データ全てについて、データ検証処理を実行してから、検証結果を出力するものとして説明した。しかしながら、検証結果の出力方法はこれに限定されず、出力データの表示中に、データ検証処理を並行して実行し、検証結果を出力するように構成してもよい。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
<1.データ検証部によるデータ検証処理>
はじめに、データ検証部121によるデータ検証処理の流れについて説明する。図13は、第2の実施形態におけるデータ検証処理の流れを示すフローチャートである。図10に示すフローチャートとの相違点は、ステップS1301である。
はじめに、データ検証部121によるデータ検証処理の流れについて説明する。図13は、第2の実施形態におけるデータ検証処理の流れを示すフローチャートである。図10に示すフローチャートとの相違点は、ステップS1301である。
ステップS1301において、検証結果出力部908は、処理対象の出力データを表示装置515に表示するとともに、検証結果を表示する。
<2.表示画面例>
次に、データ検証処理が実行されることでデータ記憶装置120の表示装置515に表示される表示画面について説明する。図14は、第2の実施形態におけるデータ記憶装置の表示画面の一例を示す図である。
次に、データ検証処理が実行されることでデータ記憶装置120の表示装置515に表示される表示画面について説明する。図14は、第2の実施形態におけるデータ記憶装置の表示画面の一例を示す図である。
図14において、表示画面1410は、データ検証部121によりデータ検証処理が開始された直後の表示画面を示している。表示画面1410に示すように、第2の実施形態においては、データ検証処理と並行して出力データを表示する。
また、表示画面1410において、バー1411は、データ検証処理の処理状況を示している。なお、バー1411に示す処理状況において処理された出力データは、いずれも検証成功と判定されているため、表示画面1410には、"信頼性のある出力データ"であることが表示されている。
一方、表示画面1420は、データ検証部121により処理された、処理対象の出力データの中に、改竄が検出された出力データがあったと判定されたか、または、切り抜かれた出力データがあったと判定された場合の表示画面を示している。この場合、表示画面1420には、"改竄の可能性がある"ことが表示される。また、表示画面1420には、詳細ボタン1421が表示される。
表示画面1420において詳細ボタン1421が押圧されると、検証結果出力部908は、表示画面1430を表示する。表示画面1430は、表示画面1440に戻るための戻るボタン1431を含む。また、表示画面1430は、改竄された秘密分散データが含まれる出力データを確認するためのjumpボタン1432と、切り抜き箇所を確認するためのjumpボタン1433とを含む。
表示画面1440は、表示画面1430において、戻るボタン1431が押圧された場合に表示される。表示画面1440には、データ検証処理が実行されている出力データが表示される。なお、表示画面1450は、データ検証処理が終了したことを示している。
一方、表示画面1460は、表示画面1430においてjumpボタン1432または1433が押圧されることで、表示される表示画面である。
検証結果出力部908は、jumpボタン1432が押圧されると、改竄された秘密分散データが含まれると判定された出力データを、表示画面1460に表示する。表示画面1470は、改竄された秘密分散データが含まれると判定された出力データの表示が終了したことを示している。
同様に、jumpボタン1433が押圧された場合、検証結果出力部908は、切り抜きがあると判定された出力データの1つ前の出力データ(インデックス値=Gj−1の出力データ)を、表示画面1460に表示する。表示画面1470は、切り抜きがあると判定された出力データ(インデックス値=Gjの出力データ)の表示が終了したことを示している。
<3.まとめ>
以上の説明から明らかなように、本実施形態に係るデータ記録システムでは、データ記憶装置120が、出力データの表示と、データ検証処理とを並行して実行する。これにより、本実施形態によれば、出力データを見ながら、データ検証処理を実行させることが可能となる。
以上の説明から明らかなように、本実施形態に係るデータ記録システムでは、データ記憶装置120が、出力データの表示と、データ検証処理とを並行して実行する。これにより、本実施形態によれば、出力データを見ながら、データ検証処理を実行させることが可能となる。
[その他の実施形態]
上記第1及び第2の実施形態では、データ生成装置110において生成される時系列データの一例として、動画像データを例示した。しかしながら、データ生成装置110において生成される時系列データは動画像データに限られず、例えば、音声データや温度データ等、任意の時系列データであってもよい。
上記第1及び第2の実施形態では、データ生成装置110において生成される時系列データの一例として、動画像データを例示した。しかしながら、データ生成装置110において生成される時系列データは動画像データに限られず、例えば、音声データや温度データ等、任意の時系列データであってもよい。
また、上記第1及び第2の実施形態では、インデックス値(Gj)が1ずつ増加するものとして説明したが、インデックス値(Gj)は、区間の連続性が検証できる数字または文字であれば何でもよい。また、下式に示すようにハッシュ値であってもよい。隣接する区間のインデックス値(Gj)とインデックス値(Gj+1)とが、ハッシュ関数を介して関係づけられるため、連続性を検証することが可能となるからである。
また、上記第1乃至第2の実施形態では、パラメータ情報生成部608が、ハッシュ値に基づいてパラメータ情報(Wi)を算出する構成とした。しかしながら、パラメータ情報生成部608は、ハッシュ化していない単位データ(Di)に基づいて、パラメータ情報(Wi)を算出するように構成してもよい。
また、上記第1及び第2の実施形態では、CPU502が秘密分散データ生成プログラムを実行することで、秘密分散データ生成部を実現するものとして説明した。しかしながら、秘密分散データ生成部は、例えば、GPU(Graphics Processing Unit)を用いて実現してもよい。
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
100 :データ記録システム
110 :データ生成装置(撮像装置)
111 :秘密分散データ生成部
120 :データ記憶装置(サーバ装置)
121 :データ検証部
122 :データ格納部
601 :データ入力部
602 :圧縮部
603 :データバッファ部
604 :データカウンタ部
605 :署名パラメータ生成部
606 :インデックス生成部
607 :ハッシュ生成部
608 :パラメータ情報生成部
609 :署名部
610 :ストリームパケット生成部
611 :データ送信部
901 :データ受信部
902 :格納処理部
903 :署名値抽出部
904 :秘密分散データ抽出部
905 :署名値演算部
906 :署名値検証部
907 :連続性検証部
908 :検証結果出力部
110 :データ生成装置(撮像装置)
111 :秘密分散データ生成部
120 :データ記憶装置(サーバ装置)
121 :データ検証部
122 :データ格納部
601 :データ入力部
602 :圧縮部
603 :データバッファ部
604 :データカウンタ部
605 :署名パラメータ生成部
606 :インデックス生成部
607 :ハッシュ生成部
608 :パラメータ情報生成部
609 :署名部
610 :ストリームパケット生成部
611 :データ送信部
901 :データ受信部
902 :格納処理部
903 :署名値抽出部
904 :秘密分散データ抽出部
905 :署名値演算部
906 :署名値検証部
907 :連続性検証部
908 :検証結果出力部
Claims (10)
- 時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成手段と、
前記所定の区間を示す区間情報を生成する区間情報生成手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力手段と
を有することを特徴とするデータ生成装置。 - 前記区間情報生成手段により生成される前記区間情報は、隣接する区間の連続性を示す情報であることを特徴とする請求項1に記載のデータ生成装置。
- データ生成装置が実行するデータ生成方法であって、
時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出工程と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成工程と、
前記所定の区間を示す区間情報を生成する区間情報生成工程と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力工程と
を有することを特徴とするデータ生成方法。 - 時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出工程と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成工程と、
前記所定の区間を示す区間情報を生成する区間情報生成工程と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力工程と
をコンピュータに実行させるためのプログラム。 - データ生成装置と、該データ生成装置に接続されるデータ記憶装置とを有するデータ記録システムであって、
前記データ生成装置は、
時系列のデータから、所定の区間に含まれるn個(nは2以上の整数)のデータを順次取得し、取得したデータに基づいて、k個(kは1以上でn未満の整数)の乱数値が含まれる(k−1)次の多項式を満たすn個のパラメータ情報を算出する算出手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報との組がk個集まることで演算可能となる、秘密分散プロトコルに基づく秘密情報に署名を付与することで、署名値を生成する署名値生成手段と、
前記所定の区間を示す区間情報を生成する区間情報生成手段と、
前記取得したデータと前記取得したデータに基づいて算出された前記パラメータ情報とのn個の組それぞれに、前記署名値と、前記区間情報とが対応付けられた出力データを出力する出力手段と
を有することを特徴とするデータ記録システム。 - 前記データ記憶装置は、
前記出力データを受信する受信手段と、
前記受信手段により受信された前記出力データに含まれる前記組の数がk個未満の場合、前記出力データにおいて欠損が発生したと判定する第1の判定手段と
を有することを特徴とする請求項5に記載のデータ記録システム。 - 前記データ記憶装置は、
前記受信手段により受信された前記出力データに含まれる前記組の数がk個以上であった場合に、k個の前記組に基づいて秘密情報を演算する第1の演算手段と、
前記受信手段により受信された前記出力データに含まれる前記署名値に基づいて秘密情報を演算する第2の演算手段と、
前記第1の演算手段により演算された前記秘密情報と、前記第2の演算手段により演算された前記秘密情報とを比較することで、前記出力データについて改竄が行われたか否かを判定する第2の判定手段と
を更に有することを特徴とする請求項6に記載のデータ記録システム。 - 前記データ記憶装置は、
前記受信手段により受信された前記出力データに含まれる前記区間情報が、他の出力データに含まれる区間情報に対して連続する情報であるか否かを判定する第3の判定手段を更に有することを特徴とする請求項7に記載のデータ記録システム。 - 前記データ記憶装置は、
前記受信手段により受信された前記出力データを表示する表示手段を更に有し、
前記表示手段は、前記出力データの表示中に、前記第1の判定手段乃至第3の判定手段により判定された判定結果を、更に表示することを特徴とする請求項8に記載のデータ記録システム。 - 前記データ記憶装置は、
前記第2の判定手段または第3の判定手段により判定された判定結果を表示する表示手段を更に有し、
前記表示手段は、前記第2の判定手段により改竄されていると判定された出力データ、または、前記第3の判定手段により連続する情報でないと判定された区間情報を含む前記出力データを表示することを特徴とする請求項8に記載のデータ記録システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017168504A JP2019047331A (ja) | 2017-09-01 | 2017-09-01 | データ生成装置、データ生成方法、プログラム及びデータ記録システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017168504A JP2019047331A (ja) | 2017-09-01 | 2017-09-01 | データ生成装置、データ生成方法、プログラム及びデータ記録システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019047331A true JP2019047331A (ja) | 2019-03-22 |
Family
ID=65814782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017168504A Withdrawn JP2019047331A (ja) | 2017-09-01 | 2017-09-01 | データ生成装置、データ生成方法、プログラム及びデータ記録システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019047331A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020184439A1 (ja) | 2019-03-14 | 2020-09-17 | フォスター電機株式会社 | アクチュエータ及びこれを備えるディスプレイ |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004336702A (ja) * | 2003-04-15 | 2004-11-25 | Ntt Communications Kk | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム |
JP2005051734A (ja) * | 2003-07-15 | 2005-02-24 | Hitachi Ltd | 電子文書の真正性保証方法および電子文書の公開システム |
JP2008178097A (ja) * | 2007-01-19 | 2008-07-31 | Samsung Electronics Co Ltd | コンテンツの無欠性を確認するためのコンテンツ提供装置及び方法、及びコンテンツ使用装置及び方法、並びにコンテンツ使用装置を廃止するコンテンツ提供装置及び方法 |
JP2011075867A (ja) * | 2009-09-30 | 2011-04-14 | Fujitsu Ltd | 署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名生成プログラム、および署名検証プログラム |
JP2012194489A (ja) * | 2011-03-17 | 2012-10-11 | Nec Soft Ltd | 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム |
WO2013130281A1 (en) * | 2012-02-29 | 2013-09-06 | Altnet, Inc. | Stream recognition and filtering |
JP2017041841A (ja) * | 2015-08-21 | 2017-02-23 | パナソニックIpマネジメント株式会社 | 署名生成システム、署名生成装置及び署名生成方法 |
JP2017098672A (ja) * | 2015-11-19 | 2017-06-01 | パナソニックIpマネジメント株式会社 | 通信システム、通信方法及びカメラ装置 |
JP2017169183A (ja) * | 2016-03-14 | 2017-09-21 | 株式会社リコー | データ生成装置、データ記録システム及びプログラム |
-
2017
- 2017-09-01 JP JP2017168504A patent/JP2019047331A/ja not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004336702A (ja) * | 2003-04-15 | 2004-11-25 | Ntt Communications Kk | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム |
JP2005051734A (ja) * | 2003-07-15 | 2005-02-24 | Hitachi Ltd | 電子文書の真正性保証方法および電子文書の公開システム |
JP2008178097A (ja) * | 2007-01-19 | 2008-07-31 | Samsung Electronics Co Ltd | コンテンツの無欠性を確認するためのコンテンツ提供装置及び方法、及びコンテンツ使用装置及び方法、並びにコンテンツ使用装置を廃止するコンテンツ提供装置及び方法 |
JP2011075867A (ja) * | 2009-09-30 | 2011-04-14 | Fujitsu Ltd | 署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名生成プログラム、および署名検証プログラム |
JP2012194489A (ja) * | 2011-03-17 | 2012-10-11 | Nec Soft Ltd | 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム |
WO2013130281A1 (en) * | 2012-02-29 | 2013-09-06 | Altnet, Inc. | Stream recognition and filtering |
JP2017041841A (ja) * | 2015-08-21 | 2017-02-23 | パナソニックIpマネジメント株式会社 | 署名生成システム、署名生成装置及び署名生成方法 |
JP2017098672A (ja) * | 2015-11-19 | 2017-06-01 | パナソニックIpマネジメント株式会社 | 通信システム、通信方法及びカメラ装置 |
JP2017169183A (ja) * | 2016-03-14 | 2017-09-21 | 株式会社リコー | データ生成装置、データ記録システム及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020184439A1 (ja) | 2019-03-14 | 2020-09-17 | フォスター電機株式会社 | アクチュエータ及びこれを備えるディスプレイ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5368637B1 (ja) | 時刻認証システムおよび時刻認証プログラム | |
US9251401B1 (en) | Facial recognition to positively identify a live person subject | |
JP6460683B2 (ja) | コンテンツをウォーターマーキングする方法 | |
CN111143883B (zh) | 基于区块链的数字内容取证方法、装置及设备 | |
US20190199509A1 (en) | Processing apparatus, processing method, storage medium, and encryption processing system | |
WO2016104476A1 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
CN107171808B (zh) | 一种电子档案真实性的验证方法及装置 | |
CN113807415A (zh) | 联邦特征选择方法、装置、计算机设备和存储介质 | |
JP2019047331A (ja) | データ生成装置、データ生成方法、プログラム及びデータ記録システム | |
JP5014081B2 (ja) | データ処理装置及びデータ処理方法及びプログラム | |
JP6053238B2 (ja) | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム | |
JP2018054841A (ja) | データ生成装置、データ生成方法、プログラム及びデータ記録システム | |
US12014535B2 (en) | System, client apparatus, data processing method, computer program and recording medium | |
KR20180064279A (ko) | 영상 데이터의 무결성 검증 장치 및 방법 | |
CN116821941A (zh) | 数据加密解密方法、装置、设备及存储介质 | |
JP6759818B2 (ja) | データ生成装置、データ記録システム及びプログラム | |
JP2019004331A (ja) | データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム | |
TWI734259B (zh) | 電子簽章認證裝置及其方法 | |
CN113065168A (zh) | 录像数据真实性存储与校验的方法、装置及存储介质 | |
JP5702269B2 (ja) | 並列映像解析装置、並列映像解析方法及び並列映像解析プログラム | |
JP5688662B2 (ja) | コンテンツ不正使用判定装置及び方法及びプログラム | |
TW202133056A (zh) | 基於量子運算的真亂數產生方法 | |
JP2007304888A (ja) | ファイル管理装置、ファイル管理方法、及びこれらを実現するプログラム | |
US20170302457A1 (en) | Signature apparatus, signature method, verification apparatus, verification method, and non-transitory computer-readable storage medium | |
CN112380573B (zh) | 一种块链式账本中的数字签名方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200707 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210317 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210427 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20210910 |