JP2019004331A - データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム - Google Patents

データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム Download PDF

Info

Publication number
JP2019004331A
JP2019004331A JP2017117775A JP2017117775A JP2019004331A JP 2019004331 A JP2019004331 A JP 2019004331A JP 2017117775 A JP2017117775 A JP 2017117775A JP 2017117775 A JP2017117775 A JP 2017117775A JP 2019004331 A JP2019004331 A JP 2019004331A
Authority
JP
Japan
Prior art keywords
data
hash
fusion
unit
signature
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.)
Pending
Application number
JP2017117775A
Other languages
English (en)
Inventor
岳人 黒子
Takehito Kuroko
岳人 黒子
小林 寛
Hiroshi Kobayashi
寛 小林
均 並木
Hitoshi Namiki
均 並木
山本 良二
Ryoji Yamamoto
良二 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017117775A priority Critical patent/JP2019004331A/ja
Priority to US15/972,583 priority patent/US20180365300A1/en
Publication of JP2019004331A publication Critical patent/JP2019004331A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】 ストリーミング配信する時系列データ群の真正性を保証できるようにする。【解決手段】 データ配信装置は、所定区間の第1の時系列データのメタデータ領域に、対応する区間の第2の時系列データをハッシュ化したハッシュデータを組み込むことで、融合データを生成する生成手段と、複数の前記融合データに応じた署名値を算出する署名手段と、前記融合データと、対応する区間の第2の時系列データと、前記署名値とを出力する出力手段とを有する。【選択図】図7

Description

本発明は、データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラムに関する。
従来より、動画データを所定区間ごとに分割し、ストリーミング配信する配信技術が知られている。加えて、ストリーミング配信した配信先において動画データの真正性を保証できるよう、配信時に、動画データを構成する時系列データ群(撮像データ及び音声データ)それぞれに、署名を付加する改竄防止技術が知られている。
しかしながら、従来の改竄防止技術の場合、ネットワークの不具合等により、所定区間の動画データの一部に欠損が生じると、配信先において署名検証を行うことができなくなるという問題があった。このため、実際に改竄が行われていなくても、配信中に欠損が生じれば、配信先では真正性を保証することができなかった。
また、従来の改竄防止技術の場合、所定区間の撮像データと音声データとの間の対応付けについて改竄が行われると、これを検知することができないという問題があった。このため、配信先では、所定区間の撮像データと音声データとの間の対応付けについての真正性を保証することができなかった。
本発明は上記課題に鑑みてなされたものであり、ストリーミング配信する時系列データ群の真正性を保証できるようにすることを目的とする。
本発明の各実施形態に係るデータ配信装置は、例えば、以下のような構成を有する。すなわち、
所定区間の第1の時系列データのメタデータ領域に、対応する区間の第2の時系列データをハッシュ化したハッシュデータを組み込むことで、融合データを生成する生成手段と、
複数の前記融合データに応じた署名値を算出する署名手段と、
前記融合データと、対応する区間の第2の時系列データと、前記署名値とを出力する出力手段とを有する。
本発明の各実施形態によれば、ストリーミング配信する時系列データ群の真正性を保証することができる。
データ配信システムのシステム構成の一例を示す図である。 秘密分散のプロトコルを説明するための第1の図である。 秘密分散のプロトコルを説明するための第2の図である。 秘密分散のプロトコルを説明するための第3の図である。 データ配信装置のハードウェア構成の一例を示す図である。 データ配信部の機能構成を示す図である。 配信データ生成部の機能構成の一例を示す図である。 融合データの生成方法を示す図である。 配信データの生成方法を示す図である。 配信データ生成部より出力される配信データの一例を示す図である。 撮像データ取得処理及び音声データ取得処理の流れを示すフローチャートである。 配信処理の流れを示すフローチャートである。 データ検証部の機能構成の一例を示す図である。 秘密分散データ検証処理の流れを示すフローチャートである。 音声データ検証処理の流れを示すフローチャートである。 秘密分散データまたは音声データの欠損例を示す図である。 秘密分散データまたは音声データの改竄例を示す図である。 データ配信システムの管理者によって設定変更可能な設定情報を示す図である。 データ配信システムのシステム構成の他の一例を示す図である。 データ配信システムのシステム構成の他の一例を示す図である。 データ配信システムのシステム構成の他の一例を示す図である。
以下、本発明の各実施形態について添付の図面を参照しながら説明する。なお、各実施形態に係る明細書及び図面の記載に際して、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
[第1の実施形態]
<1.データ配信システムのシステム構成>
はじめに、データ配信システムのシステム構成について説明する。図1は、データ配信システムのシステム構成の一例を示す図である。
図1に示すように、データ配信システム100は、撮像装置110、音声入力装置120、データ配信装置130、データ検証装置140を有する。第1の実施形態において、データ配信装置130と、データ検証装置140とは、ネットワーク150を介して通信可能に接続される。
撮像装置110は、第1の時系列データである撮像データを生成する装置である。撮像装置110は、生成した撮像データを順次、データ配信装置130に送信する。
音声入力装置120は、第2の時系列データである音声データを生成する装置である。音声入力装置120は、生成した音声データを順次、データ配信装置130に送信する。
データ配信装置130には、データ配信プログラムがインストールされており、当該プログラムが実行されることで、データ配信装置130は、データ配信部131として機能する。
データ配信部131は、撮像データ(第1の時系列データ)と音声データ(第2の時系列データ)とを取得し、所定区間の各時系列データの真正性と、所定区間の時系列データ同士の対応付けについての真正性と、を保証可能な配信データを生成して配信する。
具体的には、データ配信部131は、所定区間の撮像データ及び対応する区間の音声データを複数用いて秘密分散プロトコルに基づく秘密分散データ及び署名値を生成する(詳細は後述)。また、データ配信部131は、生成した秘密分散データ及び署名値と、秘密分散データの生成に用いた音声データとを、配信データとしてネットワーク150を介してデータ検証装置140に配信する。なお、データ配信部131は、配信データのうち、秘密分散データ及び音声データについては、データ検証装置140に対してストリーミング配信する。
データ検証装置140には、データ検証プログラムがインストールされており、当該プログラムが実行されることで、データ検証装置140は、データ検証部141として機能する。
データ検証部141は、データ配信装置130より、配信データとして、秘密分散データと、音声データと、署名値とを受信し、データ格納部142に格納する。また、データ検証部141は、データ格納部142に格納した秘密分散データに基づいて算出した秘密情報と、署名値に基づいて算出した秘密情報とを用いて、秘密分散データについての署名検証を行う。更に、データ検証部141は、署名検証を行った秘密分散データと、音声データとの比較を行う。
これにより、データ検証部141では、所定区間の撮像データの真正性、所定区間の音声データの真正性、及び、所定区間の撮像データと音声データとの間の対応付けについての真正性、を保証することができる。
なお、秘密分散データの場合、データ配信装置130よりストリーミング配信された際に、欠損が発生したとしても、データ検証部141において、署名検証を行うことができる。秘密分散プロトコルを用いて生成された秘密分散データは、署名検証でのデータ欠損に対する耐性が高いためである。
<2.秘密分散プロトコルの説明>
次に、署名検証でのデータ欠損に対する耐性が高い秘密分散データの生成に用いられる秘密分散プロトコルについて、図2〜図4を用いて簡単に説明する。図2〜図4は、秘密分散のプロトコルを説明するための第1〜第3の図である。
(1)概要
一般に、(k−1)次の多項式は、k個の独立な解が存在すれば一意に定めることができ、(k−1)個以下の解では、(k−1)次の多項式を一意に定めることができない。図2(a)は、独立した2個の解((x,y)、(x,y))に基づいて、1次の多項式(y=αx+α)を一意に定めた様子を示している。
また、図2(b)は、独立した3個の解((x,y)、(x,y)、(x,y))に基づいて、2次の多項式(y=α+αx+α)を一意に定めた様子を示している。更に、図2(c)は、独立したk個の解((x,y)、(x,y)、・・・(x,y))に基づいて、(k−1)次の多項式(y=αk−1k−1+αk−2k−2+・・・αx+α)を一意に定めた様子を示している。
秘密分散プロトコルは、多項式とその解との間のこのような関係を利用したものである。図3に示すように、秘密分散プロトコルを用いる場合、秘密情報を生成するデータ生成者は、生成した秘密情報を(k−1)次の多項式の0次の項(α)に埋め込むとともに、(k−1)次の多項式の複数の解を生成して、それぞれの解を分けて保持する。これにより、仮に、複数の解のうちの一部の解が漏えいしたとしても、秘密情報(α)が復元されることはない。つまり、秘密分散プロトコルは、漏えいに対する耐性が高いという特性を有する。
加えて、図3に示すように、秘密分散プロトコルによれば、データ利用者は、データ生成者より複数の解のうちのk個の解を取得すれば、秘密情報(α)を復元することができる。k個の解を用いて(k−1)次の多項式を一意に定めることができるからである。つまり、秘密分散プロトコルは、データ欠損に対する耐性が高いという特性も有している。
第1の実施形態では、このうち、データ欠損に対する耐性が高いという特性に着目して、時系列のデータに秘密分散プロトコルを適用している。
(2)秘密分散プロトコルの時系列のデータへの適用
第1の実施形態におけるデータ配信装置130では、所定区間の時系列データ及び対応する時系列データに基づいて融合データを生成し、生成した融合データに秘密分散プロトコルを適用することで、署名検証でのデータ欠損に対する耐性の向上を実現している。図4を参照しながら具体的に説明する。
データ配信装置130では、まず、所定区間の時系列のデータである撮像データと対応する区間の時系列データである音声データとに基づいて、n個(nは2以上の整数)の融合データを生成する。なお、以下では、n個の融合データのうち、i番目の融合データを"X"と表す。また、融合データ(X)に含まれる各データの和算値(融合データ和算値)を"Z"とおく。
続いて、データ配信装置130では、n個の融合データ和算値(Z)に基づいて、(k−1)次の多項式のn個の解を生成する。このとき、(k−1)次の多項式のk個(kは1以上でn未満の整数)のパラメータ(αk−1、αk−2、・・・α)には、乱数値を用いる。なお、本実施形態では、変数xにn個の融合データ和算値(Z)を代入することで算出されるn個の変数yの値のうち、i番目の値を、パラメータ情報"Y"と表す。Yは、下式に基づいて算出することができる。
Figure 2019004331
この結果、データ配信装置130では、n個の融合データ和算値(Z)から、(k−1)次の多項式(y=αk−1k−1+αk−2k−2+・・・αx+α)のn個の解(Z,Y)を算出することができる。データ配信装置130では、算出したn個の解(Z,Y)に対応するn個の融合データ(X)とパラメータ情報(Y)との組を、秘密分散データとして、データ検証装置140に配信する。
データ検証装置140では、n個の秘密分散データ(X,Y)のうちの一部が欠損した場合であっても、秘密分散データ(X,Y)がk個集まれば、k個の解(Z,Y)を導出することができる。これにより、データ検証装置140では、k個の解(Z,Y)に基づいてパラメータ(αk−1、αk−2、・・・α)を算出することができる。
ここで、k個の秘密分散データ(X,Y)が改竄されていなかったとする。この場合、下記の2つのパラメータは一致するはずである。
・データ検証装置140でk個の秘密分散データ(X,Y)に基づいて算出されるパラメータ(αk−1、αk−2、・・・α)。
・データ配信装置130がn個の解(Z,Y)を生成する際に用いた(k−1)次の多項式のパラメータ(αk−1、αk−2、・・・α)。
一方、k個の秘密分散データが改竄されていた場合には、これらは一致しない。つまり、これらが一致するか否かを判定することで、署名検証を行うことができ、一致した場合(署名検証に成功した場合)に、秘密分散データの真正性(秘密分散データが改竄されていないこと)を保証することができる。
なお、本実施形態において、データ検証装置140は、このうちの1つのパラメータ(α)が一致することで、秘密分散データ(X,Y)の署名検証が成功したと判定する。つまり、本実施形態においては、パラメータ(α)が秘密情報となる(秘密情報は、秘密分散データがk個集まることで算出可能となる情報と定義することができる)。なお、データ検証装置140において署名検証の成否を判定できるようにするために、データ配信装置130では、下式に示すようなSignアルゴリズムを用いて秘密情報(α)に署名を付加することで署名値(S)を算出し、データ検証装置140に配信する。
Figure 2019004331
なお、式2において、skmovとは、データ配信装置130において生成される署名鍵を指す。
署名値(S)を受信したデータ検証装置140では、Signアルゴリズムに対応するVrfyアルゴリズムを用いて、検証鍵に基づき秘密情報(α)を算出する。また、データ検証装置140では、k個の秘密分散データ(X,Y)から算出した秘密情報(α)と、署名値(S)から算出した秘密情報(α)とが一致するか否かを判定する。そして、秘密情報が一致していた場合、データ検証装置140では、署名検証に成功したと判定する。一方、秘密情報が一致していなかった場合、データ検証装置140では、署名検証に失敗したと判定する。
なお、以下の説明においては、データ配信装置130より配信される署名値(S)は、n個の秘密分散データ(X,Y)と対応付けられているものとする。
<3.データ配信システムのハードウェア構成>
次に、データ配信システム100を構成する、データ配信装置130及びデータ検証装置140のハードウェア構成について説明する。なお、データ配信装置130のハードウェア構成とデータ検証装置140のハードウェア構成とは基本的に同じであるため、ここでは、データ配信装置130のハードウェア構成について説明する。図5は、データ配信装置のハードウェア構成の一例を示す図である。
図5に示すように、データ配信装置130は、CPU(Central Processing Unit)501、ROM(Read Only Memory)502、RAM(Random Access Memory)503を有する。なお、CPU501、ROM502、RAM503は、いわゆるコンピュータを形成する。また、データ配信装置130は、補助記憶装置504、I/F(Interface)装置505、ドライブ装置506を有する。なお、データ配信装置130を構成する各ハードウェアは、バス507を介して相互に接続されている。
CPU501は、補助記憶装置504にインストールされた各種プログラム(例えば、データ配信プログラム等)を実行する。
ROM502は、不揮発性メモリである。ROM502は、補助記憶装置504にインストールされた各種プログラムをCPU501が実行するために必要な各種プログラム、データ等を記憶する、主記憶デバイスとして機能する。具体的には、ROM502はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を記憶する。
RAM503は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM503は、補助記憶装置504にインストールされた各種プログラムがCPU501によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
補助記憶装置504は、インストールされた各種プログラムや、各種プログラムを実行する際に用いるデータ等を記憶する。
I/F(Interface)装置505は、データ配信装置130が撮像装置110や音声入力装置120と接続したり、ネットワーク150と接続するための接続デバイスである。ドライブ装置506は記録媒体510をセットするためのデバイスである。ここでいう記録媒体510には、CD−ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。あるいは、記録媒体510には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
なお、補助記憶装置504に格納される各種プログラムは、例えば、配布された記録媒体510がドライブ装置506にセットされ、該記録媒体510に記録された各種プログラムがドライブ装置506により読み出されることでインストールされる。あるいは、補助記憶装置504に格納される各種プログラムは、I/F装置505を介してネットワークからダウンロードされることでインストールされてもよい。
<4.データ配信部の機能構成>
次に、データ配信装置130にて実現されるデータ配信部131の詳細な機能構成について説明する。図6は、データ配信部の機能構成を示す図である。
図6に示すように、データ配信部131は、撮像データ入力部601、撮像データ作成部602、音声データ入力部603、音声データ作成部604、配信データ生成部605、配信部606を有する。
撮像データ入力部601は、撮像装置110より送信された撮像データを取得する。撮像データ作成部602は、取得した撮像データを所定フォーマット(例えば、H.264/MPEG4(Moving Picture Experts Group phase 4)等)に変換する。
音声データ入力部603は、音声入力装置120より送信された音声データを取得する。音声データ作成部604は、取得した音声データを所定フォーマット(例えば、AAC(Advanced Audio Cording)等)に変換する。
配信データ生成部605は、所定区間の撮像データと対応する区間の音声データとに基づいて融合データ(X)を生成し、生成した融合データ(X)に基づいて、パラメータ情報(Y)を算出する。また、配信データ生成部605は、融合データ(X)とパラメータ情報(Y)との組である秘密分散データ(X,Y)を生成し、対応する区間の音声データとともに、配信部606に通知する。更に、配信データ生成部605は、秘密分散データ(X,Y)がk個集まることで算出可能な秘密情報(α)を用いて署名値(S)を算出し、配信部606に通知する。
配信部606は出力手段の一例である。配信部606は、配信データ生成部605より通知された秘密分散データ及び音声データをパケット化し、ネットワーク150を介してデータ検証装置140に対してストリーミング配信する。また、配信部606は、配信データ生成部605より通知された署名値を、ネットワーク150を介してデータ検証装置140に対して配信する。
なお、秘密分散データ及び音声データをパケット化する際のパケット形式は送信形式によって決まり、送信形式がネットワークインタフェース形式の場合には、パケット形式はRTSP形式またはUDP形式となる。また、送信形式がUSBインタフェース形式の場合には、パケット形式はアイソクロナス形式となる。
<5.配信データ生成部の機能構成>
次に、配信データ生成部605の詳細な機能構成について図8〜図10を参照しながら、図7を用いて説明する。図7は、配信データ生成部の機能構成の一例を示す図である。
図7に示すように、配信データ生成部605は、データバッファ部701、ハッシュ生成部702、融合データ生成部703、データカウンタ部704、署名パラメータ生成部705を有する。また、配信データ生成部605は、パラメータ情報生成部706、秘密分散データ生成部707、署名部708、音声データ出力部709を有する。
データバッファ部701は、撮像データ作成部602から通知された撮像データと、音声データ作成部604から通知された音声データとを、対応付けて格納する。
ハッシュ生成部702は、データバッファ部701に格納された音声データから、所定区間の撮像データ(i番目の撮像データ)に対応する区間のm個の音声データを読み出す。なお、読み出したm個の音声データのうち、j番目の音声データを(A)とする。
ハッシュ生成部702は、j番目の音声データ(A)をハッシュ化することで、音声ハッシュデータ(H(A))を生成する。また、ハッシュ生成部702は、生成したm個の音声ハッシュデータ(H(A))を、融合データ生成部703に通知する。
融合データ生成部703は生成手段の一例である。融合データ生成部703は、データバッファ部701に格納されたi番目の撮像データ(V)を読み出すとともに、ハッシュ生成部702より、m個の音声ハッシュデータ(H(A))を取得する。また、融合データ生成部703は、撮像データ(V)内の所定領域(例えば、メタデータ領域)に、m個の音声ハッシュデータ(H(A))を組み込むことで、融合データ(X)を生成する。更に、融合データ生成部703は、生成した融合データ(X)をパラメータ情報生成部706に通知する。
ここで、融合データ(X)を生成するまでの上記処理の流れを、図8を参照しながら更に詳細に説明する。図8は、融合データの生成方法を示す図である。図8に示すように、データバッファ部701に格納される撮像データ810は時系列データであり、融合データ生成部703は、所定区間の撮像データV、V、V、V・・・ごとに撮像データ810を読み出す。
同様に、データバッファ部701に格納される音声データ820は時系列データであり、ハッシュ生成部702は、所定区間の音声データA〜A10・・・ごとに音声データ820を読み出す。なお、図8において、撮像データ810と音声データ820とで、時間軸tに対して、同じ時間帯に配置されている、所定区間の撮像データと所定区間の音声データとは、互いに対応付けられているものとする。
図8の例では、所定区間の撮像データVと所定区間の音声データA、Aとが互いに対応づけられている。同様に、所定区間の撮像データVと所定区間の音声データA、A、Aとが互いに対応付けられている。更に、所定区間の撮像データVと所定区間の音声データA、Aとが互いに対応付けられている。
音声ハッシュデータ830(H(A)〜H(A10))は、ハッシュ生成部702が、音声データ820(A〜A10)をそれぞれハッシュ化することで算出される。算出された音声ハッシュデータ830(H(A)〜H(A10))のうち、音声ハッシュデータH(A)、H(A)は、所定区間の撮像データVと対応付けられる。また、音声ハッシュデータH(A)〜H(A)は、所定区間の撮像データVと対応付けられる。更に、音声ハッシュデータH(A)、H(A)は、所定区間の撮像データVと対応付けられる。融合データ生成部703は、音声ハッシュデータ830(H(A)〜H(A))を、所定区間の撮像データV〜Vに組み込むことで、融合データ840を生成する。
図8の例は、所定区間の撮像データVのメタデータ領域に、音声ハッシュデータH(A)、H(A)が組み込まれることで、融合データ(X)が生成されたこと示している。同様に、図8の例は、所定区間の撮像データVのメタデータ領域に、音声ハッシュデータH(A)、H(A)、H(A)が組み込まれることで、融合データ(X)が生成されたこと示している。同様に、図8の例は、所定区間の撮像データVのメタデータ領域に、音声ハッシュデータH(A)、H(A)が組み込まれることで、融合データ(X)が生成されたこと示している。
なお、図8において、"署名単位"とは、署名値(α)を算出する所定区間の撮像データの集合を指す。図8の例の場合、3つの所定区間の撮像データにより形成されるため、署名単位(n)=3となる。
図7の説明に戻る。データカウンタ部704は、データバッファ部701に格納される所定区間の撮像データの数をカウントし、カウント値が署名単位(n)に到達した場合に、署名パラメータ生成部705及び署名部708に通知する。上述した通り、署名単位(n)=3であるため、データバッファ部701に、所定区間の撮像データV〜Vが格納されると、データカウンタ部704は、カウント値が署名単位(n)に到達したことを、署名パラメータ生成部705及び署名部708に通知する。
署名パラメータ生成部705は、乱数生成器を有し、データカウンタ部704より、カウント値が署名単位(n)に到達した旨の通知を受けると、乱数生成器により生成されたk個の乱数値をパラメータ(αk−1、αk−2、・・・α)として取得する。また、署名パラメータ生成部705は、取得したパラメータ(αk−1、αk−2、・・・α)をパラメータ情報生成部706に通知する。更に、署名パラメータ生成部705は、パラメータ(α)を秘密情報として署名部708に通知する。
パラメータ情報生成部706は算出手段の一例である。パラメータ情報生成部706は、融合データ生成部703において生成された署名単位(n)分の融合データ(X)と、署名パラメータ生成部705において取得されたパラメータ(αk−1、αk−2、・・・α)とを取得する。また、パラメータ情報生成部706は、取得した署名単位(n)分の融合データ(X)から、署名単位(n)分の融合データ和算値(Z)を算出する。更に、パラメータ情報生成部706は、署名単位(n)分の融合データ和算値(Z)とパラメータ(αk−1、αk−2、・・・α)とに基づき、式1を用いて、署名単位(n)分のパラメータ情報(Y)を算出する。
秘密分散データ生成部707は、融合データ(X)とパラメータ情報(Y)とを対応付けることで、署名単位(n)分の秘密分散データ(X,Y)を生成し、出力する。
音声データ出力部709は、データバッファ部701から、所定区間の撮像データ(V)に対応する区間のm個の音声データ(A)を読み出し、出力する。
署名部708は署名手段の一例である。署名部708は、データカウンタ部704より、カウント値が署名単位(n)に到達した旨の通知を受けると、署名パラメータ生成部705より出力された秘密情報(α)を用いて、署名値(S)を算出する。なお、本実施形態において、署名値(S)の算出には、Signアルゴリズムを用いるものとして説明するが、署名値(S)の算出に用いる署名アルゴリズムは、Signアルゴリズムに限定されない。例えば、RSAアルゴリズム、RSASSA−PSSアルゴリズムを用いても、あるいはElGamalアルゴリズムを用いてもよい。
ここで、秘密分散データ(X,Y)、音声データ(A)、署名値(S)を出力するまでの上記処理の流れ(つまり、配信データを出力するまでの処理の流れ)を図9を参照しながら更に詳細に説明する。図9は、配信データの生成方法を示す図である。
図9に示すように、融合データ生成部703により、融合データ(X)が生成されたとする。この場合、パラメータ情報生成部706は、融合データ(X)に含まれる所定区間の撮像データ(V)と、対応する区間の音声ハッシュデータ(H(A)、H(A))との和算値(融合データ和算値(Z))を算出する。また、パラメータ情報生成部706は、算出した和算値(融合データ和算値(Z))とパラメータ(α、α)とに基づいて、パラメータ情報(Y)を生成する。
同様に、融合データ生成部703により、融合データ(X)が生成されたとする。この場合、パラメータ情報生成部706は、融合データ(X)に含まれる所定区間の撮像データ(V)と、対応する区間の音声ハッシュデータ(H(A)、H(A)、H(A))との和算値(融合データ和算値(Z))を算出する。また、パラメータ情報生成部706は、算出した和算値(融合データ和算値(Z))とパラメータ(α、α)とに基づいて、パラメータ情報(Y)を生成する。
同様に、融合データ生成部703により、融合データ(X)が生成されたとする。この場合、パラメータ情報生成部706は、融合データ(X)に含まれる所定区間の撮像データ(V)と、対応する区間の音声ハッシュデータ(H(A)、H(A))との和算値(融合データ和算値(Z))を算出する。また、パラメータ情報生成部706は、算出した和算値(融合データ和算値(Z))とパラメータ(α、α)とに基づいて、パラメータ情報(Y)を生成する。
これにより、秘密分散データ生成部707は、秘密分散データとして、(X,Y)、(X,Y)、(X,Y)を出力することができる。
一方、音声データ出力部709は、データバッファ部701に格納された所定区間の音声データ(A、A、A、・・・A)を出力する。また、署名部708は、秘密情報(α)を用いて署名値(S)を算出し、出力する。
この結果、配信データ生成部605からは、署名単位(n)分の配信データとして、秘密分散データ(X,Y)、(X,Y)、(X,Y)と、音声データ(A、A、A、・・・A)と、署名値(S)とが出力されることになる。
図10は、配信データ生成部より出力される配信データの一例を示す図である。図10の秘密分散データ1010に示すように、パラメータ情報(Y)は、所定区間の撮像データ(V)のメタデータ領域に組み込まれて出力される。同様に、パラメータ情報(Y)は、所定区間の撮像データ(V)のメタデータ領域に組み込まれ、パラメータ情報(Y)は、所定区間の撮像データ(V)のメタデータ領域に組み込まれてそれぞれ出力される。
また、音声データ820の所定区間の音声データ(A、A、A、・・・A)は、秘密分散データ1010に含まれる所定区間の撮像データ(V、V、V)それぞれに対応付けて出力される。
更に、署名値1020は、署名単位(n)分の秘密分散データ1010に対応付けて出力される。
<6.データ配信部による処理>
次に、データ配信部131において実行される各処理(撮像データ取得処理、音声データ取得処理、配信処理)の流れについて説明する。
(1)撮像データ取得処理及び音声データ取得処理
はじめに、撮像データ取得処理及び音声データ取得処理の流れについて説明する。図11は、撮像データ取得処理及び音声データ取得処理の流れを示すフローチャートである。
図11(a)に示す撮像データ取得処理は、データ配信システム100が起動することで、データ配信部131により実行される。ステップS1001において、撮像データ入力部601は、撮像装置110より送信された撮像データを取得する。
ステップS1002において、撮像データ作成部602は、取得された撮像データを所定フォーマットに変換する。ステップS1003において、撮像データ作成部602は、所定フォーマットに変換した撮像データを、データバッファ部701に格納する。
ステップS1004において、撮像データ入力部601は、撮像データの取得を継続するか否かを判定する。撮像データの取得を継続する場合には(ステップS1004においてNoの場合には)、ステップS1001に戻る。一方、撮像データの取得を終了する場合には(ステップS1004においてYesの場合には)、撮像データ取得処理を終了する。
同様に、図11(b)に示す音声データ取得処理は、データ配信システム100が起動することで、データ配信部131により実行される。ステップS1011において、音声データ入力部603は、音声入力装置120より送信された音声データを取得する。
ステップS1012において、音声データ作成部604は、取得された音声データを所定フォーマットに変換する。ステップS1013において、音声データ作成部604は、所定フォーマットに変換した音声データを、データバッファ部701に撮像データと対応付けて格納する。
ステップS1014において、音声データ入力部603は、音声データの取得を継続するか否かを判定する。音声データの取得を継続する場合には(ステップS1014においてNoの場合には)、ステップS1011に戻る。一方、音声データの取得を終了する場合には(ステップS1014においてYesの場合には)、音声データ取得処理を終了する。
(2)配信処理
次に、配信処理の流れについて説明する。図12は、配信処理の流れを示すフローチャートである。データ配信システム100が起動することで、データ配信部131により図12に示す配信処理が実行される。
ステップS1201において、融合データ生成部703は、データバッファ部701から、所定区間の撮像データ(V)を読み出す。また、ハッシュ生成部702は、データバッファ部701から、所定区間の撮像データ(V)に対応する区間のm個の音声データ(A)を読み出す。
ステップS1202において、ハッシュ生成部702は、読み出したm個の音声データ(A)をハッシュ化し、m個の音声ハッシュデータ(H(A))を生成する。
ステップS1203において、融合データ生成部703は、データバッファ部701から読み出した所定区間の撮像データ(V)に、m個の音声ハッシュデータ(H(A))を組み込むことで、融合データ(X)を生成する。
ステップS1204において、データカウンタ部704は、融合データ生成部703が署名単位(n)分の融合データを生成したか否かを判定する。ステップS1204において、署名単位(n)分の融合データを生成していないと判定した場合には(ステップS1204においてNoの場合には)、ステップS1201に戻る。
一方、ステップS1204において、署名単位(n)分の融合データを生成したと判定した場合には(ステップS1204においてYesの場合には)、ステップS1205に進む。ステップS1205において、署名パラメータ生成部705は、乱数生成器により生成されたk個の乱数値をパラメータ(αk−1、αk−2、・・・α)として取得する。
ステップS1206において、パラメータ情報生成部706は、署名単位(n)分の融合データ(X)と、k個のパラメータ(αk−1、αk−2、・・・α)とを取得する。また、パラメータ情報生成部706は、取得した署名単位(n)分の融合データ(X)から署名単位(n)分の融合データ和算値(Z)を算出する。更に、パラメータ情報生成部706は、算出した署名単位(n)分の融合データ和算値(Z)と、k個のパラメータとを用いて、署名単位(n)分のパラメータ情報(Y)を算出する。
ステップS1207において、秘密分散データ生成部707は、融合データ(X)とパラメータ情報(Y)との組である秘密分散データ(X,Y)を生成する。
ステップS1208において、署名部708は、署名パラメータ生成部705において取得されたパラメータ(α)を秘密情報として取得し、取得した秘密情報(α)に署名を付加する。これにより、署名部708では、取得した秘密情報(α)に基づく署名値(S)を算出する。
ステップS1209において、配信部606は、秘密分散データ生成部707により生成された秘密分散データ(X,Y)と音声データ(A)とをパケット化し、ストリーミング配信する。
ステップS1210において、配信部606は、署名部708により算出された署名値(S)を配信する。
ステップS1211において、配信データ生成部605は、配信処理を継続するか否かを判定する。ステップS1211において、配信処理を継続すると判定した場合(ステップS1211においてNoの場合)には、ステップS1201に戻る。一方、ステップS1211において、配信処理を終了すると判定した場合(ステップS1211においてYesの場合)には、配信処理を終了する。
<7.データ検証装置の機能構成>
次に、データ検証装置140にて実現されるデータ検証部141の詳細な機能構成について説明する。図13は、データ検証部の機能構成の一例を示す図である。
図13に示すように、データ検証部141は、秘密分散データ受信部1301、音声データ受信部1302、署名値受信部1303、格納処理部1304を有する。また、データ検証部141は、署名値演算部1306、署名値検証部1307、ハッシュ値算出部1308、音声データ検証部1309を有する。
秘密分散データ受信部1301は、データ配信装置130よりストリーミング配信された、署名単位(n)分の秘密分散データ(融合データ(X)と、パラメータ情報(Y)との組)を受信する。
音声データ受信部1302は、データ配信装置130よりストリーミング配信された、秘密分散データに対応する音声データ(A)を受信する。
署名値受信部1303は、データ配信装置130より配信された、秘密分散データに対応する署名値(S)を受信する。
格納処理部1304は、秘密分散データ受信部1301において受信された秘密分散データと、音声データ受信部1302において受信された音声データと、署名値受信部1303において受信された署名値とを、対応付けてデータ格納部142に格納する。
署名値演算部1306は、署名検証の成否として、データ格納部142に秘密分散データがk個以上格納されたか否かを判定し、k個未満であると判定した場合には、署名検証に失敗したと判定する。
また、署名値演算部1306は、秘密分散データがk個以上格納されたと判定した場合、データ格納部142よりk個の秘密分散データを読み出す。署名値演算部1306は秘密情報算出手段として機能し、読み出したk個の秘密分散データ(X,Y)に基づいて、下式を用いて秘密情報(α)を算出する。
Figure 2019004331
なお、上式において、Zは、融合データ(X)に含まれる所定区間の撮像データ(V)と、対応する区間のm個の音声ハッシュデータ(H(A))との和算値(融合データ和算値)を示す。
署名値検証部1307は第1の判定手段の一例である。署名値検証部1307は、データ格納部142に格納された署名値(S)を読み出し、下式に示すvrfyアルゴリズムを用いて、検証鍵vkmovに基づき秘密情報(α)を算出する。
Figure 2019004331
なお、署名値検証部1307は、署名検証の成否として、署名値演算部1306において算出された秘密情報(α)と、署名値(S)に基づいてvrfyアルゴリズムを用いて算出した秘密情報(α)とを比較する。比較の結果、両者が一致していれば、署名値検証部1307では、署名検証に成功した(秘密分散データ(X,Y)が改竄されていない)と判定する。一方、両者が一致していなければ、署名値検証部1307では、署名検証に失敗した(秘密分散データ(X,Y)が改竄されている)と判定する。
ハッシュ値算出部1308はハッシュ生成手段の一例である。ハッシュ値算出部1308は、データ格納部142に格納された、秘密分散データ(X,Y)に対応付けられた音声データ(A)を読み出し、ハッシュ化することで、m個の音声ハッシュデータ(H(A))を生成する。ハッシュ値算出部1308は、生成したm個の音声ハッシュデータ(H(A))を音声データ検証部1309に通知する。
音声データ検証部1309は第2の判定手段の一例である。音声データ検証部1309は、データ格納部142に格納された秘密分散データ(X,Y)に組み込まれたm個の音声ハッシュデータ(H(A))を読み出す。音声データ検証部1309は、読み出したm個の音声ハッシュデータ(H(A))と、ハッシュ値算出部1308から通知されたm個の音声ハッシュデータ(H(A))とを比較する。
ここで、署名値検証部1307において既に秘密分散データ(X,Y)が改竄されていないと判定されていたとする。この場合、両者が一致していれば、音声データ検証部1309は、データ格納部142に格納されたm個の音声データ(A)は改竄されていないと判定する。更に、音声データ検証部1309は、所定区間の撮像データ(V)と対応する区間のm個の音声データ(A)との間の対応付けについても改竄されていないと判定する。
一方、両者が一致していなければ、音声データ検証部1309は、データ格納部142に格納されたm個の音声データ(A)のいずれかが改竄されていると判定する。あるいは、音声データ検証部1309は、所定区間の撮像データ(V)と対応する区間のm個の音声データ(A)との間の対応付けが改竄されていると判定する。
<8.データ検証部による処理>
次に、データ検証部141により実行される処理(秘密分散データ検証処理、音声データ検証処理)の流れについて説明する。
(1)秘密分散データ検証処理
はじめに、秘密分散データ検証処理の流れについて説明する。図14は、秘密分散データ検証処理の流れを示すフローチャートである。データ検証装置140が、データ配信装置130と通信可能に接続されることで、データ検証部141により図14に示すフローチャートが実行される。
ステップS1401において、秘密分散データ受信部1301は、秘密分散データ(X,Y)を受信し、音声データ受信部1302は、音声データ(A)を受信する。また、署名値受信部1303は、署名値(S)を受信する。更に、格納処理部1304は、受信した秘密分散データ(X,Y)、音声データ(A)、署名値(S)を対応付けて、データ格納部142に格納する。
ステップS1402において、格納処理部1304は、所定時間が経過したか否かを判定する。ステップS1402において、所定時間が経過していないと判定した場合には、所定時間が経過するまで待機する。
一方、ステップS1402において、所定時間が経過したと判定した場合には、ステップS1403に進む。ステップS1403において、署名値演算部1306は、データ格納部142にk個以上の秘密分散データ(X,Y)が格納されたか否かを判定する。
ステップS1403において、k個以上の秘密分散データ(X,Y)が格納されていないと判定した場合には(ステップS1403においてNoの場合には)、ステップS1407に進み、署名値演算部1306は、署名検証に失敗したと判定する。
一方、ステップS1403において、k個以上の秘密分散データ(X,Y)が格納されたと判定した場合には(ステップS1403においてYesの場合には)、ステップS1404に進む。ステップS1404において、署名値演算部1306は、データ格納部142より、k個の秘密分散データ(X,Y)を読み出し、融合データ和算値(Z)を算出したうえで、式3を用いて秘密情報(α)を算出する。
ステップS1405において、署名値検証部1307は、データ格納部142に格納された署名値(S)を読み出し、vrfyアルゴリズムを用いて、検証鍵(vkmov)に基づき秘密情報(α)を算出する。
ステップS1406において、署名値検証部1307は、署名値演算部1306において算出された秘密情報(α)と、署名値(S)に基づいてvrfyアルゴリズムを用いて算出した秘密情報(α)とを比較する。比較の結果、両者が一致していなければ、ステップS1407に進み、署名検証に失敗した(秘密分散データ(X,Y)が改竄されている)と判定する。
一方、ステップS1406における比較の結果、両者が一致していれば、ステップS1408に進み、署名検証に成功した(秘密分散データ(X,Y)が改竄されていない)と判定する。
ステップS1409において、格納処理部1304は、データ配信装置130との通信が継続しているか否かを判定し、通信が継続していると判定した場合には(ステップS1409においてYesの場合には)、ステップS1401に戻る。一方、通信が切断したと判定した場合には(ステップS1409においてNoの場合には)、秘密分散データ検証処理を終了する。
(2)音声データ検証処理
次に、音声データ検証処理の流れについて説明する。図15は、音声データ検証処理の流れを示すフローチャートである。データ検証装置140が、データ配信装置130と通信可能に接続されることで、データ検証部141により図15に示すフローチャートが実行される。
ステップS1501において、ハッシュ値算出部1308は、所定区間の音声データ(A)に対応する秘密分散データ(X,Y)が、署名値検証部1307において署名検証に成功したか否かを判定する。ステップS1501において署名検証に成功していないと判定された場合には(ステップS1501においてNoの場合には)、次の所定区間の音声データを処理対象とする。
一方、ステップS1501において署名検証に成功していると判定された場合には(ステップS1501においてYesの場合には)、ステップS1502に進む。ステップS1502において、音声データ検証部1309は、署名検証に成功していると判定された秘密分散データ(X,Y)を、データ格納部142より読み出す。
ステップS1503において、ハッシュ値算出部1308は、読み出された秘密分散データ(X,Y)に対応するm個の所定区間の音声データ(A)を、データ格納部142より読み出す。
ステップS1504において、ハッシュ値算出部1308は、読み出したm個の所定区間の音声データ(A)をハッシュ化し、m個の音声ハッシュデータ(H(A))を生成する。
ステップS1505において、音声データ検証部1309は、読み出した秘密分散データ(X,Y)に組み込まれたm個の音声ハッシュデータ(H(A))と、ステップS1504において生成されたm個の音声ハッシュデータ(H(A))とを比較する。
ステップS1506において、両者が一致していないと判定された場合には(ステップS1506においてNoの場合には)、ステップS1508に進む。ステップS1508において、音声データ検証部1309は、ステップS1503において読み出された所定区間の音声データ(A)が改竄されていると判定する。あるいは、音声データ検証部1309は、ステップS1503において読み出された所定区間の音声データ(A)と、対応する区間の撮像データ(V)との間の対応付けが改竄されていると判定する。
一方、ステップS1506において、両者が一致していると判定された場合には(ステップS1506においてYesの場合には)、ステップS1507に進む。ステップS1507において、音声データ検証部1309は、ステップS1503において読み出されたm個の所定区間の音声データ(A)が改竄されていないと判定する。更に、音声データ検証部1309は、ステップS1503において読み出されたm個の所定区間の音声データ(A)と、撮像データ(V)との間の対応付けが改竄されていないと判定する。
ステップS1509において、格納処理部1304は、データ配信装置130との通信が継続しているか否かを判定し、通信が継続していると判定した場合には(ステップS1509においてYesの場合には)、ステップS1501に戻る。一方、通信が切断したと判定した場合には(ステップS1509においてNoの場合には)、音声データ検証処理を終了する。
<9.適用例>
次に、データ配信システム100の適用例として、秘密分散データまたは音声データが欠損した場合の例と、秘密分散データまたは音声データが改竄された場合の例とについて説明する。
(1)秘密分散データまたは音声データの欠損例
はじめに、秘密分散データまたは音声データの欠損例について説明する。図16は、秘密分散データまたは音声データの欠損例を示す図である。
図16(a)に示すように、秘密分散データ1601に含まれる署名単位(ここでは、n=3)分の融合データとパラメータ情報との組((X,Y)〜(X,Y))のうち、1つの組((X,Y)の組)において欠損が発生したとする。
このような場合であっても、データ検証装置140では、秘密分散データとして、k個(ここでは、k=2)の融合データとパラメータ情報との組を受信できているため、秘密情報(α)を算出することができる。つまり、秘密分散データ1601において欠損が発生しても、秘密分散データ1601について署名検証を行うことができる。
なお、秘密分散データ1601において欠損が発生した場合、音声データ1602における欠損が発生していなかったとしても、対応する区間の音声データ(A、A、A)については、比較する秘密分散データがない。
しかしながら、音声データ検証部1309では、以下の条件が成立すれば、対応する区間の音声データ(A、A、A)についても、改竄が行われていないと判定する。
・秘密分散データ1601が改竄されていないと判定されている。
・音声データ1602のうち、所定区間の音声データ(A、A、A、A)について、改竄が行われていないと判定されている。
・音声データ1602のうち、所定区間の音声データ(A、A、A、A)と対応する区間の撮像データ(V、V)との間の対応付けにおいて改竄が行われていないと判定されている。
なお、対応する区間の音声データ(A、A、A)について改竄が行われていないと判定した場合、音声データ検証部1309では、所定区間の撮像データ(V)と撮像データ(V)との間に、欠損した所定区間の撮像データが存在することを認識できる。この場合、音声データ検証部1309では、当該所定区間の撮像データの欠損が、改竄により発生したものではないと認識する。
一方、図16(b)に示すように、秘密分散データ1611においては欠損が発生しなかったが、音声データ1612の一部において欠損が発生したとする。このような場合、データ検証装置140では、秘密分散データ1611について署名検証を行うことができることはいうまでもない。また、音声データ検証部1309においても、所定区間の音声データ(A、A、A、A)について、改竄が行われているか否かの検証を行うことができる。更に、対応する区間の撮像データ(V、V)との間の対応付けについて改竄が行われているか否かの検証を行うことができる。
なお、このような場合、音声データ検証部1309では、所定区間の撮像データ(V)に対応する区間の音声データについて、欠損が発生したことを認識することができる。また、音声データ検証部1309では、当該区間の音声データの欠損が、改竄により発生したものではないと認識する。
(2)秘密分散データまたは音声データの改竄例
次に、秘密分散データまたは音声データが改竄された場合の例について説明する。図17は、秘密分散データまたは音声データの改竄例を示す図である。
図17(a)に示すように、音声データ1702において、所定区間の音声データ(A)が改竄されたとする。この場合、秘密分散データ1701について改竄が行われていなかったとすると、秘密分散データ1701に組み込まれた音声ハッシュデータ(H(A))と、所定区間の音声データ(A)をハッシュ化した音声ハッシュデータとは一致しない。
これにより、音声データ検証部1309では、音声データ1702の所定区間の音声データ(A)が改竄された判定することができる。
一方、図17(b)に示すように、秘密分散データ1711において、所定区間の撮像データ(V)が改竄されたとする。この場合、秘密分散データ1711に基づいて算出される秘密情報(α)と、署名値(S)に基づいて算出される秘密情報(α)とは一致しない。
これにより、音声データ検証部1309では、秘密分散データ1711が改竄されたと判定することができる。
一方、図17(c)に示すように、秘密分散データ1721に対して、音声データ1722全体をずらすことで、秘密分散データ1721と音声データ1722との間の対応付けが改竄されたとする。この場合、音声データ1722自体は改竄されていないため、従来の改竄防止技術では、改竄を検知することができなかった。これに対して、本実施形態では、所定区間の撮像データと対応する区間の音声ハッシュデータとを組み合わせた秘密分散データ1721と、音声データ1722とを比較するため、このような改竄を検知することができる。
また、図17(d)に示すように、秘密分散データ1731に対して、音声データ1732が署名単位で入れ替えられることで、秘密分散データ1731と音声データ1732との間の対応付けが改竄されたとする。この場合、音声データ1732は、署名単位では改竄されていないため、従来の改竄防止技術では、改竄を検知することができなかった。これに対して、本実施形態では、所定区間の撮像データと対応する区間の音声ハッシュデータとを組み合わせた秘密分散データ1731と、音声データ1732とを比較するため、このような改竄を検知することができる。
<10.まとめ>
以上の説明から明らかなように、本実施形態に係るデータ配信システムでは、
・データ配信装置が、所定区間の撮像データと対応する区間の音声ハッシュデータとに基づいて、署名単位(n)分の融合データ(X)を生成する。また、生成した署名単位(n)分の融合データ(X)に基づいて、k個(1≦k<n)の乱数値が含まれる(k−1)次の多項式を満たすパラメータ情報(Y)を算出する。
・データ配信装置が、生成した融合データ(X)とパラメータ情報(Y)とを対応付けた署名単位(n)分の秘密分散データ(X、Y)と、対応する区間の音声データ(A)とをデータ検証装置にストリーミング配信する。
・データ配信装置が、秘密分散データ(X、Y)がk個集まることで算出可能となる秘密情報(α)に、署名を付加することで署名値(S)を算出し、算出した署名値(S)をデータ検証装置に配信する。
これにより、データ検証装置では、データ配信装置がストリーミング配信した署名単位(n)分の秘密分散データのうち、k個の秘密分散データを受信すれば、当該k個の秘密分散データに基づいて秘密情報を算出することができる。つまり、本実施形態に係るデータ配信システムによれば、(n−k)個のデータ欠損が許容される。
また、データ検証装置では、データ配信装置が配信した署名値から算出される秘密情報と比較することで、署名検証を行い、秘密分散データの真正性を保証することができる。つまり、データ検証装置では、データ配信装置が配信した秘密分散データの一部が欠損した場合であっても、署名検証を行い、秘密分散データの真正性を保証することができる。この結果、ストリーミング配信された撮像データの真正性を保証することができる。
また、データ検証装置では、真正性が保証された秘密分散データと音声データとを比較することで、ストリーミング配信された音声データ自体が改竄されていないかを判定し、音声データの真正性を保証することができる。更に、データ検証装置では、所定区間の撮像データと対応する区間の音声データとの間の対応付けが改竄されていないかを判定し、所定区間の撮像データと対応する区間の音声データとの間の対応付けについての真正性を保証することができる。
このように、本実施形態によれば、ストリーミング配信する時系列データ群の真正性を保証することができる。
[第2の実施形態]
上記第1の実施形態において、データ配信装置130及びデータ検証装置140が予め定められた処理を実行するものとして説明した。しかしながら、データ配信装置130及びデータ検証装置140の処理の実行方法はこれに限定されず、データ配信システム100の管理者の指示に基づいて、適宜、設定を変更して処理を実行してもよい。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
図18は、データ配信システムの管理者によって設定変更可能な設定情報を示す図である。このうち、図18(a)は、データ配信システム100の管理者によって設定変更可能なデータ配信装置130の設定情報1810の一例を示している。図18(a)に示すように、設定情報1810には、情報の項目として、"名称"、"設定内容"、"設定値例"が含まれる。
"名称"には、データ配信装置130において設定変更される設定対象が格納される。図18(a)の例は、
・データ配信装置130に対して、改竄検知の仕組みを適用するか否かを設定する"適用有無"、
・秘密分散プロトコルを適用する際に用いるパラメータを設定する"秘密分散パラメータ"、
・ハッシュ化する際のハッシュ関数を設定する"ハッシュ化方法"、
・署名値を算出する際の算出方法を設定する"暗号化方法"、
・秘密分散データの生成開始のトリガを設定する"開始トリガ"、
・秘密分散データの生成終了のトリガを設定する"終了トリガ"、
が含まれることを示している。
なお、図18(a)の例によれば、データ配信システム100の管理者は、"適用有無"に対して、設定値"ON"、"OFF"を選択することができる。また、データ配信システム100の管理者は、"秘密分散パラメータ"に対して、設定値"k"、"n"を設定することができる。また、データ配信システム100の管理者は、"ハッシュ化方法"を、"MD5"、"SHA−1"、"SHA―2"等の中から選択することができる。また、データ配信システム100の管理者は、"暗号化方法"を、"RSA"、"DSA"、"DES"、"AES"等の中から選択することができる。また、データ配信システム100の管理者は、"開始トリガ"を、"システム起動時"、"撮像データ入力開始時"、"音声データ入力開始時"、"ユーザ指定時"等の中から選択することができる。また、データ配信システム100の管理者は、"終了トリガ"を、"システム終了時"、"撮像データの入力が所定時間なかった場合"、"音声データの入力が所定時間なかった場合"、"ユーザ指定時"等の中から選択することができる。
一方、図18(b)は、データ配信システム100の管理者によって設定変更可能なデータ検証装置140の設定情報1820の一例を示している。図18(b)に示すように、設定情報1820には、情報の項目として、"名称"、"設定内容"、"設定値例"が含まれる。
"名称"には、データ検証装置140において設定変更される設定対象が格納される。図18(b)の例は、
・データ検証装置140に対して、改竄検知の仕組みを適用するか否かを設定する"適用有無"、
・改竄を検知した場合の表示方法を設定する"検知表示"、
が含まれることを示している。
なお、図18(b)の例によれば、データ配信システム100の管理者は、"適用有無"に対して、設定値"ON"、"OFF"を選択することができる。また、データ配信システム100の管理者は、"検知表示"として、"表示する"、"表示しない"を選択することができる。
以上の説明から明らかなように、本実施形態におけるデータ配信システムによれば、データ配信装置の設定情報及びデータ検証装置の設定情報を、管理者の指示に基づいて変更することができる。
[第3の実施形態]
上記第1及び第2の実施形態において、データ配信装置130は、時系列データとして、撮像データと音声データとを取得し、音声データをハッシュ化した音声ハッシュデータを撮像データに組み込むことで、融合データを生成した。しかしながら、時系列データの組み合わせは、撮像データと音声データとに限定されない。例えば、撮像データと温度データとを取得して、温度データをハッシュ化した温度ハッシュデータを撮像データに組み込むことで、融合データを生成してもよい。この場合、データ配信装置130では、生成した融合データに基づく秘密分散データと、温度データと、署名値とを配信データとして配信することになる。
図19は、データ配信システムのシステム構成の他の一例を示す図である。図1との相違点は、データ配信システム1900の場合、音声入力装置120の代わりに、温度測定装置1910がデータ配信装置130に接続されている点である。
このように、音声データ以外の時系列データを、撮像データと組み合わせた場合でも、同様の処理を行うことで、上記第1の実施形態と同様の効果を享受することができる。
また、上記第1及び第2の実施形態では、2つの時系列データを取得し、一方の時系列データをハッシュ化して、他方の時系列データに組み込むことで、融合データを生成した。しかしながら、時系列データの組み合わせは2つに限定されず、3つ以上であってもよい。
例えば、撮像データと音声データと温度データとを取得して、音声データをハッシュ化した音声ハッシュデータと、温度データをハッシュ化した温度ハッシュデータとを、撮像データに組み込むことで、融合データを生成してもよい。この場合、データ配信装置130では、生成した融合データに基づく秘密分散データと、音声データと、温度データと、署名値とを配信データとして配信することになる。
図20は、データ配信システムのシステム構成の他の一例を示す図である。図1との相違点は、データ配信システム2000の場合、音声入力装置120に加えて、温度測定装置1910がデータ配信装置130に接続されている点である。
このように、2つの時系列データを、撮像データと組み合わせた場合でも、同様の処理を行うことで、上記第1の実施形態と同様の効果を享受することができる。
また、上記第1及び第2の実施形態では、異なる種類の時系列データを取得し、一方の種類の時系列データをハッシュ化して、他方の種類の時系列データに組み込むことで融合データを生成した。しかしながら、時系列データは異なる種類に限定されず、同じ種類の時系列データであってもよい。
例えば、撮像データと撮像データとを取得して、一方の撮像データをハッシュ化した撮像ハッシュデータを、他方の撮像データに組み込むことで、融合データを生成してもよい。この場合、データ配信装置130では、生成した融合データに基づく秘密分散データと、一方の撮像データと、署名値とを配信データとして配信することになる。
図21は、データ配信システムのシステム構成の他の一例を示す図である。図1との相違点は、データ配信システム2100の場合、音声入力装置120に代えて、撮像装置2110がデータ配信装置130に接続されている点である。
このように、同じ種類の2つの時系列データを組み合わせた場合でも、同様の処理を行うことで、上記第1の実施形態と同様の効果を享受することができる。
[その他の実施形態]
上記第1乃至第3の実施形態では、データカウンタ部704を配し、n個の所定区間の撮像データ(V)ごとに、署名値(S)を算出する構成とした。しかしながら、署名値を算出するタイミングは、n個の所定区間の撮像データ(V)ごとでなくてもよい。例えば、所定時間分の撮像データ(V)ごとに署名値を算出する構成としてもよい。
また、上記第1乃至第3の実施形態では、融合データを生成するにあたり、時系列データをハッシュ化して組み込むものとしたが、時系列データを示すデータに変換する処理であれば、ハッシュ化以外の処理を行ってもよい。
また、上記第1乃至第3の実施形態では、秘密分散プロトコルを適用する場合について説明したが、秘密分散プロトコルを用いることなく、融合データに応じた署名値を算出するように構成してもよい。この場合、配信データ生成部605は、融合データと、対応する区間の音声データと、署名値とを配信データとして出力する。
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせなど、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
100 :データ配信システム
110 :撮像装置
120 :音声入力装置
130 :データ配信装置
131 :データ配信部
140 :データ検証装置
141 :データ検証部
142 :データ格納部
605 :配信データ生成部
701 :データバッファ部
702 :ハッシュ生成部
703 :融合データ生成部
704 :データカウンタ部
705 :署名パラメータ生成部
706 :パラメータ情報生成部
707 :秘密分散データ生成部
708 :署名部
1301 :秘密分散データ受信部
1302 :音声データ受信部
1303 :署名値受信部
1304 :格納処理部
1306 :署名値演算部
1307 :署名値検証部
1308 :ハッシュ値算出部
1309 :音声データ検証部
1910 :温度測定装置
2110 :撮像装置
特開2011−075867号公報

Claims (11)

  1. 所定区間の第1の時系列データのメタデータ領域に、対応する区間の第2の時系列データをハッシュ化したハッシュデータを組み込むことで、融合データを生成する生成手段と、
    複数の前記融合データに応じた署名値を算出する署名手段と、
    前記融合データと、対応する区間の第2の時系列データと、前記署名値とを出力する出力手段と
    を有することを特徴とするデータ配信装置。
  2. 複数の前記融合データに基づいて、k個(kは1以上でn未満の整数)の値が含まれる(k−1)次の多項式を満たす、複数のパラメータ情報を算出する算出手段を更に有し、
    前記署名手段は、複数の前記融合データと複数の前記パラメータ情報とに応じた前記署名値を算出することを特徴とする請求項1に記載のデータ配信装置。
  3. 前記署名手段は、前記融合データと前記パラメータ情報との組がk個集まることで算出される、秘密分散プロトコルに基づく秘密情報に基づいて、前記署名値を算出し、
    前記出力手段は、前記融合データと前記パラメータ情報との組と、対応する区間の前記第2の時系列データと、前記署名値とを出力することを特徴とする請求項2に記載のデータ配信装置。
  4. 前記算出手段は、前記融合データに含まれる、所定区間の前記第1の時系列データと、対応する区間の前記第2の時系列データをハッシュ化した前記ハッシュデータとの和算値を、(k−1)次の多項式に代入することで、前記パラメータ情報を算出することを特徴とする請求項3に記載のデータ配信装置。
  5. 請求項1に記載のデータ配信装置と接続されるデータ検証装置であって、
    前記出力手段により出力された、対応する区間の前記第2の時系列データをハッシュ化し、ハッシュデータを生成するハッシュ生成手段と、
    前記出力手段により出力された、前記融合データに含まれるハッシュデータと、前記ハッシュ生成手段により生成されたハッシュデータとが一致するか否かを判定する判定手段と
    を有することを特徴とするデータ検証装置。
  6. 請求項3に記載のデータ配信装置と接続されるデータ検証装置であって、
    前記出力手段により出力された、前記融合データと前記パラメータ情報との組がk個集まった場合に、前記秘密分散プロトコルに基づく秘密情報を算出する秘密情報算出手段と、
    前記出力手段により出力された前記署名値に基づいて算出される秘密情報と、前記秘密情報算出手段により算出された秘密情報とが一致するか否かを判定する第1の判定手段と
    を有することを特徴とするデータ検証装置。
  7. 前記第1の判定手段により一致すると判定された場合に、前記出力手段により出力された、対応する区間の前記第2の時系列データをハッシュ化し、ハッシュデータを生成するハッシュ生成手段と、
    前記出力手段により出力された、前記融合データに含まれるハッシュデータと、前記ハッシュ生成手段により生成されたハッシュデータとが一致するか否かを判定する第2の判定手段と
    を更に有することを特徴とする請求項6に記載のデータ検証装置。
  8. 前記第2の判定手段は、一致すると判定した場合、対応する区間の前記第2の時系列データが改竄されていないと判定することを特徴とする請求項7に記載のデータ検証装置。
  9. データ配信装置とデータ検証装置とを有するデータ配信システムであって、
    前記データ配信装置は、
    所定区間の第1の時系列データのメタデータ領域に、対応する区間の第2の時系列データをハッシュ化したハッシュデータを組み込むことで、融合データを生成する生成手段と、
    複数の前記融合データに応じた署名値を算出する署名手段と、
    前記融合データと、対応する区間の第2の時系列データと、前記署名値とを出力する出力手段とを有し、
    前記データ検証装置は、
    前記出力手段により出力された、対応する区間の前記第2の時系列データをハッシュ化し、ハッシュデータを生成するハッシュ生成手段と、
    前記出力手段により出力された、前記融合データに含まれるハッシュデータと、前記ハッシュ生成手段により生成されたハッシュデータとが一致するか否かを判定する判定手段と
    を有することを特徴とするデータ配信システム。
  10. 所定区間の第1の時系列データのメタデータ領域に、対応する区間の第2の時系列データをハッシュ化したハッシュデータを組み込むことで、融合データを生成する生成工程と、
    複数の前記融合データに応じた署名値を算出する署名工程と、
    前記融合データと、対応する区間の第2の時系列データと、前記署名値とを出力する出力工程と
    をコンピュータに実行させるためのデータ配信プログラム。
  11. 所定区間の第1の時系列データのメタデータ領域に、対応する区間の第2の時系列データをハッシュ化したハッシュデータを組み込むことで、融合データを生成する生成手段と、
    複数の前記融合データに応じた署名値を算出する署名手段と、
    前記融合データと、対応する区間の第2の時系列データと、前記署名値とを出力する出力手段と、
    を有するデータ配信装置と接続されるデータ検証装置のコンピュータに、
    前記出力手段により出力された、対応する区間の前記第2の時系列データをハッシュ化し、ハッシュデータを生成するハッシュ生成工程と、
    前記出力手段により出力された、前記融合データに含まれるハッシュデータと、前記ハッシュ生成工程において生成されたハッシュデータとが一致するか否かを判定する判定工程と
    を実行させるためのデータ検証プログラム。
JP2017117775A 2017-06-15 2017-06-15 データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム Pending JP2019004331A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017117775A JP2019004331A (ja) 2017-06-15 2017-06-15 データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム
US15/972,583 US20180365300A1 (en) 2017-06-15 2018-05-07 Data distribution apparatus and data distribution system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017117775A JP2019004331A (ja) 2017-06-15 2017-06-15 データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム

Publications (1)

Publication Number Publication Date
JP2019004331A true JP2019004331A (ja) 2019-01-10

Family

ID=64656840

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017117775A Pending JP2019004331A (ja) 2017-06-15 2017-06-15 データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム

Country Status (2)

Country Link
US (1) US20180365300A1 (ja)
JP (1) JP2019004331A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248858A1 (ja) * 2022-06-22 2023-12-28 キヤノン株式会社 動画ファイルにおける音声データを利用してブロックチェーンへ情報を登録するコンテンツ生成装置、コンテンツ管理装置、並びに、それらの制御方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248858A1 (ja) * 2022-06-22 2023-12-28 キヤノン株式会社 動画ファイルにおける音声データを利用してブロックチェーンへ情報を登録するコンテンツ生成装置、コンテンツ管理装置、並びに、それらの制御方法及びプログラム

Also Published As

Publication number Publication date
US20180365300A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
US10176309B2 (en) Systems and methods for authenticating video using watermarks
JP6648555B2 (ja) 情報処理装置及びプログラム
JP6511017B2 (ja) 契約合意方法、合意検証方法、契約合意装置および合意検証装置
JP4827468B2 (ja) 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US9143329B2 (en) Content integrity and incremental security
JP6495346B2 (ja) 情報処理システム
JP2008192135A (ja) 無欠性検証の可能なコンテンツ提供方法とコンテンツ利用方法、及びその装置
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
US11928986B2 (en) Content format conversion verification
US20120036350A1 (en) Information processing apparatus, information processing method, and program
JP2013055511A5 (ja)
US7904957B2 (en) Computer-readable recording medium recording a security management program, computer-readable recording medium recording a job submission management program, and security management method
WO2020199708A1 (zh) 一种针对授时证书生成请求的监控方法、装置及设备
US20220329446A1 (en) Enhanced asset management using an electronic ledger
WO2019061626A1 (zh) 一种数据校验方法及服务器
CN110309325A (zh) 基于区块链的数据处理方法、装置及存储介质
JP2005346658A (ja) オリジナルコンテンツ生成装置、派生コンテンツ生成装置、派生コンテンツ利用装置、オリジナルコンテンツ生成方法、派生コンテンツ生成方法、派生コンテンツ利用方法及び検証方法
JP2015513156A (ja) ビザンチン・フォールトトレランス及び閾値コイントス
JP2019004331A (ja) データ配信装置、データ検証装置、データ配信システム、データ配信プログラム及びデータ検証プログラム
JP2009128956A (ja) データ処理装置及びデータ処理方法及びプログラム
JP2011253511A (ja) 情報生成システム及びその方法
JP2013009245A (ja) 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
CN115550060A (zh) 基于区块链的可信证书验证方法、装置、设备和介质
JP5970193B2 (ja) 検索システム、検索方法および検索プログラム
JP5054717B2 (ja) 情報管理装置、コンテンツ取得装置、ユーザ検出プログラムおよびコンテンツ情報取得プログラム