説明

署名装置

【課題】階層符号化された映像データについて階層データごとに署名を行うと、映像データが階層化されてない場合に比較して署名処理時間と署名検証時間が階層数倍かかってしまう。また、階層間の関係については検証できない。すなわち、映像データ全体としての真正性の保証が困難である。
【解決手段】階層符号化された映像データを構成する階層データのそれぞれに対するハッシュ値を算出し、算出された複数のハッシュ値を階層データの階層順に二つ組み合わせてハッシュ値を算出する処理を繰り返すことで、映像データに対する一のハッシュ値を算出し、この一のハッシュ値に基づいて署名情報を生成する。そして、この署名情報と、映像データに対する一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含むように、映像データに対する第二の署名情報を生成する署名装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、階層符号化データから署名を生成し、生成した署名を検証する技術に関する。
【背景技術】
【0002】
監視対象とするエリアに監視カメラを設置し、この監視カメラで撮影した映像を、ネットワークを通じて警備会社などの監視センタに送信し、遠隔地を一括監視する映像監視システムでは、監視映像(例えば、JPEGやMPEGなど)を監視センタなどに設置した映像記録装置に長期間保存しておくが、保存した映像に対する証拠性を確保するためにデジタル署名の適用が望まれている。
【0003】
一方、伝送帯域の有効利用を目的として、最近では、階層符号化技術により、大画面用の高精細画像や携帯電話向けの低ビットレート画像を一度の符号化処理で生成するコーデックも市場に現われている。階層符号化された映像データは、低解像度データ、中解像度データ、高解像度データなどの複数の階層からなるデータから構成され、下位の階層である低解像度データからは、低解像度の映像が再生され、低解像度データと中位の階層である中解像度データから中解像度の映像が再生され、低解像度データと中解像度データと上位の階層である高解像度データからは高解像度の映像が再生される。
【0004】
階層符号化技術を採用した映像アプリケーションにおいては、映像記録装置の記憶容量の有効利用を図るため、記録映像のうち新しい映像は高画質で保存し、保存期間が長くなるに従い順次、上位階層データを消去することで、古い映像は低画質で保存しておきたいというニーズがある。
【0005】
このように映像データの上位階層のデータを削除する場合において、残存データの真正性を保証する署名技術として、例えば、特許文献1に記載の技術を用いて、階層データ毎に署名を行うことが考えられる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−178048号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、階層データ毎に署名を行う場合、階層化されてない場合に比較して、署名処理時間と署名検証時間とが階層数倍かかってしまう。また、階層間は独立に署名生成処理、署名検証処理を行うため、ある高階層データはある低階層データの上位層であるといった階層間関係については検証できない。すなわち、複数の階層データから構成される映像データとしての真正性の保証が困難という課題がある。
【0008】
そこで本発明は、上記問題点を解決し、階層符号化データが削除された場合であっても、映像データの真正性の保証をすることが可能な署名装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明は、階層符号化された映像データに対する署名情報を生成する署名装置であって、前記階層符号化された映像データの各階層を構成する階層データのそれぞれに対するハッシュ値を算出するハッシュ値算出手段と、前記算出された複数のハッシュ値を前記階層データの階層順に二つ組み合わせてハッシュ値を算出する処理を繰り返すことで、前記映像データに対する一のハッシュ値を算出する第二ハッシュ値算出手段と、前記一のハッシュ値に基づいて署名情報を生成する署名情報生成手段と、前記階層符号化された映像データに対して、前記署名情報と、前記一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含む第二の署名情報を生成する第二署名情報生成手段と、を備えることを特徴とする署名装置を提案する。
【0010】
これにより、本発明の署名装置にて生成された第二の署名情報が付与された署名付き映像データを記録、再生する装置などにおいて、階層データの一部を削除した場合であっても、映像データの真正性を保証するための署名の検証を行うことが可能である。
【発明の効果】
【0011】
以上のように、本発明によれば、各階層を構成する階層データのハッシュ値と組み合わされるハッシュ値が第二の署名情報に含まれるので、階層データの一部が削除された場合であっても、署名に含まれる削除された階層データのハッシュ値を使用して署名の検証を行うことができる。また、算出される一のハッシュ値は、複数の階層データから構成される映像データに対する一つのハッシュ値であるため、これにより映像データとしての真正性を保証できる。
【0012】
また、複数の階層データから構成される映像データに対して署名を生成するので、階層毎に署名を生成する場合に比較して、署名生成処理と署名検証処理とを高速化することができる。
【0013】
さらに、例えば、映像データに対する一のハッシュ値を算出する際に、階層データから算出されたハッシュ値を階層データの階層順に二つ組み合わせてハッシュ値を算出する処理を繰り返すことで、上位階層データをまとめたハッシュ値を署名に含むこと等が可能であり、階層データ削除時の署名検証処理を高速化することができる。
【0014】
即ち、本発明によれば、階層符号化データにおけるデータ削除に対応し、映像データの真正性を保証できる効率的な署名方法を提供することができる。
【図面の簡単な説明】
【0015】
【図1】映像署名システムの構成例を示す図である。
【図2】署名装置105の構成例を示す図である。
【図3】署名装置105の構成例を示すブロック図である。
【図4】検証装置106の構成例を示す図である。
【図5】検証装置106の構成例を示すブロック図である。
【図6】署名装置105の署名処理部212における具体的な処理を説明する図である。
【図7】署名装置105によって生成される署名付き映像データの具体例を示す図である。
【図8】検証装置106の署名検証部412における具体的な処理を説明する図である。
【図9】署名装置105の署名処理部212における具体的な処理を説明する図である。
【図10】署名装置105の構成例を示す図である。
【図11】署名装置105の乱数取得部217及び二分木生成部218における具体的な処理を説明する図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
【0017】
(実施形態1)
(映像署名システムの構成)
図1は、本発明に係る署名装置を利用した映像署名システムの構成例を示す図である。図1に示す映像署名システムは、映像生成装置101a、101b、エンコーダ102、記録装置103、表示装置104、署名装置105、及び検証装置106を備える。
【0018】
映像生成装置101a、エンコーダ102、記録装置103、表示装置104、署名装置105は、ネットワーク110を介して互いに情報を送受信することができるように構成されている。なお、本実施形態においては、検証装置106は、ネットワーク110に接続されていないが、ネットワーク110に接続されていてもよい。
【0019】
映像生成装置101a、101bにて生成された映像は、映像データとして、エンコーダ102にて必要な処理が施された後、記録装置103に送信される。記録装置103では、送信された映像データが記録、保持され、必要に応じて、表示装置104や他の記録装置(図示せず)に送信される。また、署名装置105は、映像データに対して署名を生成して映像データに付与する処理を行う。また、検証装置106は、署名付き映像データに付されている署名を検証する処理を行う。以下、各装置について詳述する。
【0020】
(映像生成装置の構成)
映像生成装置101a、101bは、撮像素子を備えるカメラ等により構成され、入力される光を電気信号に変換して映像データを生成する映像処理部(図示せず)を有する。また、映像生成装置101a、101bは、映像データを自身内部の記憶部(図示せず)に記憶し、他の映像生成装置、記録装置103及び表示装置104の少なくとも一つの装置からの要求、または、映像生成装置101a、101b自身の判断により、ネットワーク110を介して、他の映像生成装置、記録装置103及び表示装置104の少なくとも一つの装置に配信する配信機能を有する。ここで、映像生成装置101a、101b自身の判断とは、例えば、撮像した映像データの差分等により動体を検知した場合等を指す。
【0021】
(エンコーダの構成)
エンコーダ102は、映像生成装置101a、101bにて生成された映像データをネットワーク伝送に適した形式に変換する機能を有する。例えば、映像データがアナログ映像信号である場合にはデジタル映像信号への変換処理を行なったり、ネットワークの伝送帯域に応じて圧縮処理を行ったりする。なお、映像生成装置101aについては、その内部にエンコーダ102が内蔵されている。
【0022】
また、エンコーダ102は、映像データの階層符号化処理を行う。具体的には、映像データを、解像度に応じて、低解像度データ、中解像度データ、高解像度データなどの複数の階層からなるデータとする。
【0023】
なお、本実施形態においては、映像生成装置101bとエンコーダ102とを別々の装置として説明したが、これらが同じ装置(筐体)内に実現されていてもよい。
【0024】
(記録装置の構成)
記録装置103は、映像生成装置101a、101b、または、他の記録装置(図示せず)が配信した映像データを受信して、自身内部の記憶部(図示せず)に記憶する記憶制御部(図示せず)を有する。
【0025】
記録装置103の記憶制御部は、受信した複数の映像データの中から任意に一つ以上の映像データを抜粋して記憶部に記憶する(以下、「抜粋保存」と呼ぶ)ように制御することも可能である。抜粋されなかった映像データは記憶部には保存されず、破棄される。抜粋保存を行う際、抜粋保存の対象となる映像データの個数は、記録装置103において外部からの設定を受け付けるようになっていてもよいし、映像生成装置101a、101bにおいて決定したものが記録装置103に対して設定されるようになっていてもよい。
【0026】
また、記録装置103の記憶制御部は、受信した映像データの中から任意に一つ以上の階層データを削除して記憶部に記憶することも可能である。削除された階層データは記憶部には保存されず、破棄される。階層データを削除する際、削除の対象となる階層は、記録装置103において外部からの設定を受け付けるようになっていてもよいし、映像生成装置101a、101bにおいて決定されて記録装置103に設定されるようになっていてもよい。
【0027】
また、記録装置103は、他の記録装置及び表示装置104の少なくとも一方からの映像要求、または、記録装置103自身の判断により、ネットワーク110を介して、映像データを他の記録装置又は表示装置104に配信する配信機能も有する。
【0028】
(表示装置の構成)
表示装置104は、記録装置103から映像データを受信して表示する処理を制御する表示処理部(図示せず)を有する。また、表示処理部は、受信した複数の映像データの中から任意に少なくとも一つを抜粋して自身内部の記憶部(図示せず)に保存すること可能である。抜粋されなかった映像データは破棄される。抜粋保存を行う際、抜粋保存の対象となる映像データの個数は、表示装置104において外部からの設定を受け付けるようになっていてもよいし、映像生成装置101a、101b又は記録装置103において決定し表示装置104に設定されるようになっていてもよい。
【0029】
また、表示処理部は、受信した映像データの中から任意に少なくとも一つの階層データを削除して記憶部に保存すること可能である。削除された階層データは破棄される。階層データを削除する際、削除の対象となるデータの階層は、表示装置104において外部からの設定を受け付けるようになっていてもよいし、映像生成装置101a、101b又は記録装置103において決定し表示装置104に設定されるようになっていてもよい。
【0030】
(署名装置の構成)
署名装置105は、階層符号化された映像データに対して署名を生成して映像データに付与する処理を行う。図2は、本実施形態に係る署名装置の構成例を示す図である。署名装置105は、制御部210と、記憶部220と、送受信部230と、入力部240と、出力部250と、を有する。また、制御部210は、全体制御部211と、署名処理部212と、を有する。また、記憶部220は、映像データ記憶部221と、署名付きデータ記憶部222と、を有する。
【0031】
全体制御部211は、署名装置105における処理の全体を制御する機能を有する。また、映像データ記憶部221には、映像生成装置101a、101bで撮像されて予め定められたデータ形式に変換された複数の映像データが記憶される。また、署名処理部212は、映像データ記憶部221に記憶されている映像データに署名を付すことにより、署名付き映像データを生成する。そして、生成された署名付き映像データは、署名付きデータ記憶部222に記憶される。入力部240は、ユーザ入力等の外部からの情報の入力を受け付ける機能を有する。出力部250は外部に情報を出力する機能を有する。送受信部230は、ネットワークを介して情報の送受信を行うためのインタフェースである。
【0032】
また、署名処理部212は、ハッシュ値算出部213と、第二ハッシュ値算出部214と、署名情報生成部215と、第二署名情報生成部216と、を有する。これらの各部における処理の詳細については、後述する。
【0033】
(署名装置の具体的な構成)
ここで、署名装置105のより具体的な構成について説明する。図3は、署名装置105の構成例を示すブロック図である。図3に示すように、署名装置105は、CPU(Central
Processing Unit)301、不揮発性記憶装置302、RAM303、ネットワークインタフェース304、等を備えている。
【0034】
不揮発性記憶装置302には、全体制御プログラム310、署名処理プログラム320が保持されている。また、署名処理プログラム320には、ハッシュ値算出モジュール321、第二ハッシュ値算出モジュール322、署名情報生成モジュール323、第二署名情報生成モジュール324が含まれる。
【0035】
全体制御プログラム310、署名処理プログラム320は、それぞれ、図1中の全体制御部211、署名処理部212を実現するためのプログラムである。また、ハッシュ値算出モジュール321、第二ハッシュ値算出モジュール322、署名情報生成モジュール323、第二署名情報生成モジュール324は、それぞれ、ハッシュ値算出部213、第二ハッシュ値算出部214、署名情報生成部215、第二署名情報生成部216を実現するためのモジュールである。
【0036】
このような構成において、不揮発性記憶装置302に記憶されている各プログラム310、320、及び、各モジュール321、322、323、324は、必要に応じてRAM303をワークエリアとして展開され、これらがCPU301にて実行されることで、各種の処理が行われる。
【0037】
また、不揮発性記憶装置302には、署名情報生成モジュール323にて署名値を算出するために使用される署名鍵も記憶されている。ここで、署名鍵とは、具体的には、例えば公開鍵暗号方式における公開鍵などである。
【0038】
また、送受信部230を実現するネットワークインタフェース304によって映像データが受信された場合には、その映像データはRAM303や不揮発性記憶装置302に記憶される。すなわち、この時のRAM303や不揮発性記憶装置302は、映像データ記憶部221を実現するものである。
【0039】
また、ネットワークインタフェース304は、ネットワーク110を介して、映像生成装置101a、エンコーダ102、記録装置103、表示装置104等と有線又は無線で接続するための通信インタフェースである。具体的には、光ファイバ、同軸ケーブル、無線等により通信を行うためのインタフェースである。
【0040】
(検証装置の構成)
図2に戻り、検証装置106は、署名装置105によって署名付き映像データに付された署名を検証する処理を行う。図4は、検証装置の構成例を示す図である。検証装置106は、制御部410と、記憶部420と、入力部430と、出力部440と、を有する。また、制御部410は、全体制御部411と、署名検証部412と、を有する。また、記憶部420は、署名付きデータ記憶部421を有する。
【0041】
全体制御部411は、検証装置106における処理の全体を制御する機能を有する。また、署名付きデータ記憶部421には、署名装置105で生成された署名付き映像データが記憶される。署名検証部412は、署名付きデータ記憶部421に記憶されている署名付き映像データを検証する処理を行う。入力部430は、署名付き映像データやユーザ入力等の外部からの情報の入力を受け付ける機能を有する。出力部440は外部に情報を出力する機能を有する。署名検証部412における処理の詳細については、後述する。
【0042】
(検証装置の具体的な構成)
ここで、検証装置106のより具体的な構成について説明する。図5は、検証装置106の構成例を示すブロック図である。図5に示すように、検証装置106は、CPU501、不揮発性記憶装置502、RAM503、等を備えている。
【0043】
不揮発性記憶装置502には、全体制御プログラム510、署名検証プログラム520が保持されている。全体制御プログラム510、署名検証プログラム520は、それぞれ、図4中の全体制御部411、署名検証部412を実現するためのプログラムである。
【0044】
このような構成において、不揮発性記憶装置502に記憶されている各プログラム510、520は、必要に応じてRAM503をワークエリアとして展開され、これらがCPU501にて実行されることで、各種の処理が行われる。
【0045】
また、不揮発性記憶装置502には、署名検証プログラム520にて署名値を算出するために使用される検証鍵も記憶されている。
【0046】
また、入力部430によって署名付き映像データを受け付けた場合には、その署名付き映像データはRAM503や不揮発性記憶装置502に記憶される。すなわち、この時のRAM503や不揮発性記憶装置502は、署名付き映像データ記憶部421を実現するものである。
【0047】
ここで、上記に説明した、映像生成装置101a、エンコーダ102、記録装置103及び表示装置104のいずれについても、その内部に署名装置105を備えることも可能である。これにより、映像生成装置101a、エンコーダ102、記録装置103及び表示装置104の少なくとも一つの装置で生成した署名付き映像データを、映像生成装置101a、エンコーダ102、記録装置103及び表示装置104の少なくとも一つの装置において抜粋保存しておき、抜粋して保存しておいた署名付き映像データを検証装置106で検証することで、映像データの真正性を証明することができるようになる。
【0048】
また、映像生成装置101a、エンコーダ102、記録装置103及び表示装置104の少なくとも一つの装置で生成した署名付き映像データについては、階層データの一部を削除することができる。すなわち、映像生成装置101a、エンコーダ102、記録装置103、表示装置104及び署名装置105の少なくとも一つの装置において階層データを削除して保存しておき、保存しておいた署名付き映像データを検証装置106で検証することで、映像データの真正性を証明することができるようになる。
【0049】
(署名装置の動作)
図6及び図7は、署名装置105の署名処理部212における処理の具体例を説明する図である。図6及び図7は、低解像度、中解像度、高解像度の三階層に符号化された4つの映像データM、M、M、Mに対して署名付き映像データを生成する場合を示す。また、ここでは、各映像データから算出されるハッシュ値を二つ連結してさらにハッシュ値を算出するハッシュ木の構造を用いる場合について説明する。
【0050】
まず、図6に示すように、上記ハッシュ値算出部213において、映像データ記憶部221に記憶されている各映像データM(i=1,2,3,4、以下同じ)について、低解像度データi、中解像度データi、高解像度データiのハッシュ値h、h、hを算出する。
【0051】
次に、第二ハッシュ値算出部214において、各映像データについて、各階層データのハッシュ値h、h、hを上位階層からの順番に二つ連結して連結値を生成し、この連結値に対するハッシュ値を算出するという処理を繰り返すことで、一つのハッシュ値h012を算出する。
【0052】
次に、署名情報生成部215において、各映像データMについて生成された一つのハッシュ値h012から署名鍵を用いて署名値σを生成する。
【0053】
そして、第二署名情報生成部216において、各映像データMについて生成された署名値σに中解像度データiと低解像度データiのハッシュ値に連結されたハッシュ値h、h12を付加したものをMの署名データSとする。図7(a)は、i=1の時、すなわち、映像データMについて生成された署名付き映像データを示す図である。
【0054】
以上のようにして、署名装置105は、映像データM,・・・,M(kは正の整数)から署名データS,・・・,Sを生成する。
【0055】
また、映像生成装置101a、エンコーダ102、記録装置103、表示装置104又は署名装置105において、映像データM,・・・,Mからいくつかの映像データのみを抜粋保存する場合には、任意の自然数j(j=1,・・・,k)を選択し、jに対応する映像データMと、映像データMに対応する署名データSと、を署名付き映像データとして保存する。
【0056】
また、映像生成装置101a、エンコーダ102、記録装置103、表示装置104又は署名装置105において映像データMの各階層データのうち上位階層のデータを削除して保存する場合には、映像データMに含まれる削除対象の階層データを削除し、Mに含まれる残存階層データと署名データSと、を署名付き映像データとして保存する。例えば、図7(b)では高解像度データが削除された場合を示し、図7(c)では高解像度データと中解像度データとが削除されて、最下位階層のみが存在する場合を示している。なお、最下位階層のデータを削除すると映像データの再生はできなくなる。
【0057】
(検証装置の動作)
次に、図8を用いて、検証装置106の署名検証部412における処理の具体例を説明する。ここでは、図7に示した映像データMから生成された署名データSを検証する場合を一例として説明する。また、図8(a)は、Mの各階層データが三階層すべて揃っている場合(図7(a)に対応)、図8(b)は、Mの各階層データの最上位階層が削除されている場合(図7(b)に対応)、図8(c)は、Mの各階層データの上位階層が削除され、最下位階層のみが存在する場合(図7(c)に対応)においての署名検証方法を示す。以下、各例について説明する。
【0058】
まず、図8(a)は、Mの各階層データが三階層すべて揃っている場合の署名検証方法を示している。最初に、署名検証部412は、署名付き映像データより映像データMを抽出する。次に、署名検証部412は、映像データMの各階層データのハッシュ値h、h、hを算出し、これらのハッシュ値h、h、hを上位階層のハッシュ値から順番に二つ連結することで連結値を生成してハッシュ値を算出するという処理を繰り返す。これにより、最終的に一つのハッシュ値h012を算出する。
【0059】
そして、署名検証部412は、署名付き映像データに含まれている署名値σから検証鍵を用いて検証値を算出する。そして、署名検証部412は、算出したハッシュ値h012と、算出した検証値と、が一致する場合には、映像データMの真正性が検証されたと判断する。
【0060】
次に、図8(b)は、Mの各階層データのうちの高解像度データ1が削除されている場合の署名検証方法を示している。最初に、署名検証部412は、署名付き映像データより映像データMを抽出する。次に、署名検証部412は、映像データMの低解像度データ1と中解像度データ1について、それぞれハッシュ値h、hを算出する。そして、高解像度データ1が削除されているため、署名付き映像データに含まれている高解像度データ1のハッシュ値hを使用して、h、h、hを上位階層のハッシュ値から順番に二つ連結することで連結値を生成してハッシュ値を算出するという処理を繰り返す。これにより、最終的に一つのハッシュ値h012を算出する。
【0061】
そして、署名検証部412は、署名付き映像データに含まれている署名値σから検証鍵を用いて検証値を算出する。そして、署名検証部412は、算出したハッシュ値h012と、算出した検証値と、が一致する場合には、映像データMの真正性が検証されたと判断する。
【0062】
次に、図8(c)は、Mの各階層データのうちの高解像度データ1及び中解像度データ1が削除され、最下位階層のデータである低解像度データ1のみが存在する場合の署名検証方法を示している。最初に、署名検証部412は、署名付き映像データより映像データMを抽出する。次に、署名検証部412は、映像データMの低解像度データ1のハッシュ値hを算出する。そして、高解像度データ1と中解像度データ1とが削除されているため、低解像度データ1のハッシュ値と連結されるハッシュ値であって、署名付き映像データに含まれているハッシュ値h12を使用して、hとh12とを連結することで連結値を生成してハッシュ値を算出する。これにより、一つのハッシュ値h012を算出することができる。
【0063】
そして、署名検証部412は、署名付き映像データに含まれている署名値σから検証鍵を用いて検証値を算出する。そして、署名検証部412は、算出したハッシュ値h012と、算出した検証値と、が一致する場合には、映像データMの真正性が検証されたと判断する。
【0064】
(実施形態2)
本実施形態に係る署名装置を利用した映像署名システムは、署名装置105において、階層符号化された映像データを複数含む一の映像情報に対して署名値σを生成することを特徴とする。すなわち、図6を参照して説明した署名生成方法では、映像データごとに署名値σを生成したが、本実施形態では、映像情報ごとに署名値σを生成する点が特徴である。
【0065】
本実施形態に係る映像署名システム、署名装置105、検証装置106の構成は、それぞれ、実施形態1における映像署名システム、署名装置105、検証装置106の構成と同様である。
【0066】
以下、本実施形態の特徴点である署名装置105の署名処理部212における処理、及び、検証装置106の署名検証部412における処理について詳細に説明する。
【0067】
(署名装置の動作)
図9は、本実施形態に係る署名装置105の署名処理部212における処理の具体例を示す図である。図9の例においても、実施形態1の署名装置105と同様に、三階層に階層符号化された4つの映像データM、M、M、Mに対する署名付き映像データを生成するが、本実施形態の署名装置105の場合は、映像データ毎に一つのハッシュ値を生成した後、映像データ毎に署名値σを生成するのではなく、4つの映像データM、M、M、Mから構成される映像情報Aに対して署名値σを生成する。
【0068】
図9に示す署名生成方法は、ハッシュ値算出部213、第二ハッシュ値算出部214において、各映像データMについて、低解像度データi、中解像度データi、高解像度データiのハッシュ値h、h、hを算出し、これらを連結することで一つのハッシュ値h012を算出するところまでは、実施形態1の署名装置105における署名生成方法と同様である(図6参照)。本実施形態の署名装置105では、この後、さらに、署名情報生成部215において、映像データMとMについて算出されたハッシュ値h012とh012とを連結してハッシュ値h01212を算出し、映像データMとMについて算出されたハッシュ値h012とh012とを連結してハッシュ値h01234を算出する。さらに、この二つのハッシュ値h01212とh01234を連結して一つのハッシュ値h0121234を算出する。そして、この一つのハッシュ値h0121234について署名鍵を用いて署名値σを生成する。
【0069】
そして、第二署名情報生成部216において映像データMの署名データSを生成する場合には、署名値σ、中解像度データiと低解像度データiのハッシュ値に連結されたハッシュ値h、h12に加えて、映像情報Aに対する一のハッシュ値であるh0121234を算出するまでに連結された、ハッシュ値h012(iが奇数の場合にはp=i+1、iが偶数の場合にはp=i−1)、及び、ハッシュ値h012p(p+1)(i=1又はi=2の場合にはp=3、i=3又はi=4の場合にはp=1)を、映像データMの署名データSに含める。
【0070】
以上のようにして、署名装置105は、映像データM,・・・,Mから署名データS,・・・,Sを生成する。
【0071】
そして、映像生成装置101a、エンコーダ102、記録装置103、表示装置104又は署名装置105において映像データM,・・・,Mからいくつかの映像データのみを抜粋保存する場合には、任意の自然数jを選択し、jに対応する映像データMと、映像データMに対応する署名データSと、を署名付き映像データとして保存する。
【0072】
また、映像生成装置101a、エンコーダ102、記録装置103、表示装置104又は署名装置105において映像データMの各階層データのうち上位階層のデータを削除して保存する場合には、映像データMに含まれる削除対象の階層データを削除し、Mに含まれる残存階層データと署名データSと、を署名付き映像データとして保存する。なお、最下位階層のデータを削除すると映像データの再生はできなくなる。
【0073】
(検証装置の動作)
次に、本実施形態に係る検証装置106の署名検証部412における処理について説明する。ここでは、映像データMから生成された署名データSを検証する場合について説明する。
【0074】
まず、Mの各階層データが三階層すべて揃っている場合の署名検証方法について説明する。最初に、署名検証部412は、署名付き映像データより映像データMを抽出する。次に、署名検証部412は、映像データMの各階層データのハッシュ値h、h、hを算出し、これらのハッシュ値h、h、hを上位階層のハッシュ値から順番に二つ連結することで連結値を生成してハッシュ値を算出するという処理を繰り返す。これにより、一つのハッシュ値h012を算出する。
【0075】
さらに、このハッシュ値h012に、署名データSに含まれているハッシュ値h012を連結し、この連結値から算出したハッシュ値h01212に、署名データSに含まれているハッシュ値h01234を連結し、さらに、この連結値からハッシュ値h0121234を算出する。
【0076】
そして、署名検証部412は、署名付き映像データに含まれている署名値σから検証鍵を用いて検証値を算出する。そして、署名検証部412は、算出したハッシュ値h0121234と、算出した検証値と、が一致する場合には、映像データMの真正性が検証されたと判断する。
【0077】
次に、Mの各階層データのうちの高解像度データ1が削除されている場合の署名検証方法について説明する。最初に、署名検証部412は、署名付き映像データより映像データMを抽出する。次に、署名検証部412は、映像データMの低解像度データ1と中解像度データ1について、それぞれハッシュ値h、hを算出する。そして、高解像度データ1が削除されているため、署名付き映像データに含まれている高解像度データ1のハッシュ値hを利用して、h、h、hを上位階層のハッシュ値から順番に二つ連結することで連結値を生成してハッシュ値を算出するという処理を繰り返す。これにより、一つのハッシュ値h012を算出する。
【0078】
さらに、このハッシュ値h012に、署名データSに含まれているハッシュ値h012を連結し、この連結値から算出したハッシュ値h01212に、署名データSに含まれているハッシュ値h01234を連結し、さらに、この連結値からハッシュ値h0121234を算出する。
【0079】
そして、署名検証部412は、署名付き映像データに含まれている署名値σから検証鍵を用いて検証値を算出する。そして、署名検証部412は、算出したハッシュ値h0121234と、算出した検証値と、が一致する場合には、映像データMの真正性が検証されたと判断する。
【0080】
次に、Mの各階層データのうちの高解像度データ1及び中解像度データ1が削除され、最下位階層のデータである低解像度データ1のみが存在する場合の署名検証方法について説明する。最初に、署名検証部412は、署名付き映像データより映像データMを抽出する。次に、署名検証部412は、映像データMの低解像度データ1のハッシュ値hを算出する。そして、高解像度データ1と中解像度データ1とが削除されているため、低解像度データ1のハッシュ値と連結されるハッシュ値であって、署名付き映像データに含まれているハッシュ値h12を利用して、hとh12とを連結することで連結値を生成してハッシュ値を算出する。これにより、一つのハッシュ値h012を算出することができる。
【0081】
さらに、このハッシュ値h012に、署名データSに含まれているハッシュ値h012を連結し、この連結値から算出したハッシュ値h01212に、署名データSに含まれているハッシュ値h01234を連結し、さらに、この連結値からハッシュ値h0121234を算出する。
【0082】
そして、署名検証部412は、署名付き映像データに含まれている署名値σから検証鍵を用いて検証値を算出する。そして、署名検証部412は、算出したハッシュ値h0121234と、算出した検証値と、が一致する場合には、映像データMの真正性が検証されたと判断する。
【0083】
以上のように、本実施形態によれば、映像データMと、これに対応する署名データSにおいて、上位階層の映像データを削除しても残存する低階層の映像データの真正性の検証を行うことができる。
【0084】
(実施形態3)
本実施形態に係る署名装置を利用した映像署名システムは、署名装置105において、映像データの階層データからそれぞれのハッシュ値を算出する際に、乱数値を付加して算出する点が特徴である。
【0085】
例えば、複数の映像データを含む映像情報が動画像の映像情報である場合、同じフレーム(映像データ)が繰り返して出現する場合がある。このような場合、同じ内容の映像データの階層データからは同一のハッシュ値が算出される。よって、単に各映像データの階層データのみに基づいてハッシュ値を算出すると、一部の階層データが消去された場合でも、現存する階層データのハッシュ値と消去された階層データのハッシュ値が同一である場合には、消去された階層データが現存する階層データと同一内容の階層データであることが分かってしまい、結果的に消去された階層データを復元することができることになるという問題がある。
【0086】
そこで、本実施形態に係る署名装置においては、階層データに乱数値を付加してハッシュ値を算出することで、このような事態を回避することが可能となる。
【0087】
なお、本実施形態に係る映像署名システム、検証装置106の構成は、それぞれ、実施形態1における映像署名システム、検証装置106の構成と同様である。
【0088】
(署名装置の構成)
図10は、本実施形態に係る署名装置105の構成例を示す図である。署名装置105は、制御部210と、記憶部220と、送受信部230と、入力部240と、出力部250と、を有する。また、制御部210は、全体制御部211と、署名処理部212と、を有する。また、署名処理部212は、乱数取得部217と、二分木生成部218と、ハッシュ値算出部213と、第二ハッシュ値算出部214と、署名情報生成部215と、第二署名情報生成部216と、を有する。すなわち、実施形態1及び実施形態2に係る署名装置との構成の違いは、乱数取得部217と、二分木生成部218とをさらに有する点であり、他の構成については上述した通りである。よって、この乱数取得部217と二分木生成部218とにおける処理について、以下、詳述する。
【0089】
なお、本実施形態に係る署名装置105の具体的構成は、図3に示した構成と同様である。すなわち、不揮発性記憶装置302に保持される署名処理プログラム320の一部として、さらに、乱数取得部217を実現するための乱数取得モジュールと、二分木生成部218を実現するための二分木生成モジュールとが保持されており、これらのモジュールが必要に応じてRAM303をワークエリアとして展開されてCPU301にて実行されることで、それぞれの処理が実行される。
【0090】
(署名装置の動作)
図11は、乱数取得部217と二分木生成部218とにおける処理の具体例を説明する図である。図11においては、実施形態1及び実施形態2における具体例と同様に、4つの映像データM、M、M、Mにおける、それぞれの、低解像度データi、中解像度データi、高解像度データiからハッシュ値を算出する場合について説明する。ただし、基本的には、特許文献1に記載されている処理方法と同様であるので、以下では、主要な部分のみを詳述する。
【0091】
まず、乱数取得部217において、ルート乱数となる一つの乱数rを取得する。ここで、階層データの総数は、3×4=12、であるので、下記(式1)より、ルート乱数rは、r1,16となる。
【0092】
【数1】


次に、二分木生成部218において、このルート乱数r=r1,16から、特許文献1に記載の方法により、二分木のリーフ列を構成する乱数列が階層データの個数と同数となるように二分木を生成する。なお、この二分木を生成する方法については、特許文献1に記載されている方法と同様であるので、ここでは簡略して説明する。
【0093】
まず、ルート乱数r1,16から、r1,8と、r9,16とが生成される。ここで、r1,8=H(r1,16||L)、r9,16=H(r1,16||R)、である。なお、H()はハッシュ関数、||は前後の数値の結合、LとRは特定の数字列であってL≠R、である。
【0094】
次に、同様にして、乱数r1,8からは、r1,4と、r5,8とが生成される。また、r9,16については、
【0095】
【数2】


であるので、乱数r9,12のみが生成される。
【0096】
すなわち、分岐元乱数rm,nから分岐先乱数を生成する際には、下記の条件に基づいて生成される。
【0097】
【数3】


以上のような処理を繰り返すことで、乱数の二分木を生成していき、最終的にリーフ乱数列r,r,・・・,r12が生成される。
【0098】
そして、ハッシュ値算出部213において、これらの乱数列を用いて、下記(式2)の算出方法によって映像データM、M、M、Mにおけるそれぞれの低解像度データi、中解像度データi、高解像度データiのハッシュ値h、h、hを算出する。なお、e、e、eは、各解像度データのハッシュパラメータを示す。
【0099】
(式2)
=H(e||ri・3―2
=H(e||ri・3―1
=H(e||ri・3
なお、これ以降の、第二ハッシュ値算出部214、署名情報生成部215における処理は、実施形態1及び実施形態2にて説明した処理と同様である。また、第二署名情報生成部216においては、ルート乱数rを各映像データの署名データに含めるように生成する。
【0100】
また、図11の例においては、解像度データごとに異なる乱数が生成されるようになっているが、映像データごとに異なる乱数が生成されるようになっていてもよい。例えば、映像データM、M、M、Mに対して、乱数値r、r、r、rが生成されて、各映像データの各解像度データにおけるハッシュ値の算出に使用されるようになっていてもよい。乱数値r、r、r、rが互いに異なる値であれば、ある映像データの所定の解像度データが削除されたとしても、他の映像データの所定の解像度データからは復元することはできないからである。
【0101】
(検証装置の動作)
本実施形態に係る検証装置の署名検証部における処理は、基本的には、実施形態1又は実施形態2にて説明した検証装置106の署名検証部412の処理と同様であるが、各階層データからハッシュ値を算出する際に、映像データの署名データに含まれているルート乱数rを利用する点が異なる。すなわち、署名装置105と同様に、映像データの署名データに含まれているルート乱数rから二分木を生成し、上記(式2)の算出方法に基づいて各階層データに対するハッシュ値を算出する。なお、その後の処理は、実施形態1又は実施形態2にて説明した署名検証部412の処理と同様である。
【0102】
以上のように、本実施形態によれば、例えば、複数の映像データを含む映像情報が動画像の映像情報であって、同じ映像データが繰り返して出現するような場合であっても、現存する階層データから消去された階層データが復元されるような事態を回避することができる。
【0103】
(他の実施形態)
なお、上記の実施形態においては、署名対象データを映像データとして説明したが、他のデータでもよい。
【0104】
また、上記の実施形態においては、映像データの階層符号化の階層数が3の場合を説明したが、同様の方法により任意数に階層符号化されたデータに対する署名生成も可能である。
【0105】
また、上記の実施形態においては、各階層データから算出されたハッシュ値を上位の階層から連結するようになっているが、下位の階層から連結するようになっていてもよい。
【0106】
また、上記の実施形態においては、各階層データから算出されたハッシュ値から一のハッシュ値を算出するために、ハッシュ値どうしを組み合わせる方法として、ハッシュ値を連結して連結値に対してさらにハッシュ値を算出するようにしたが、別の方法によってハッシュ値を組み合わせるようにしてもよい。
【0107】
また、上記の実施形態において使用するハッシュ関数については、映像データもしくは映像情報に対する一のハッシュ値を算出する際に使用されるハッシュ関数と、それ以前におけるハッシュ値の算出の際に(階層データからハッシュ値を算出する際や、これらのハッシュ値を組み合わせてさらにハッシュ値を算出する際に)使用されるハッシュ関数は、同一のハッシュ関数(例えば、SHA−256など)を用いてもよく、また、異なるハッシュ関数を用いてもよい。異なるハッシュ関数を用いる場合とは、具体的には、例えば、映像データもしくは映像情報に対する一のハッシュ値から署名情報を生成する際に、RSA−PSS(RSA Probabilistic Signature Scheme)、ECDSA(Elliptic Curve Digital Signature Algorithm)などの署名方式を適用するようにしてもよい。
【0108】
なお、上記各実施形態では、署名装置105の署名処理部212や検証装置106の署名検証部412を、ソフトウェアで実現するものとして説明したが、専用のハードウェアを用いて実現してもよい。
【0109】
(まとめ)
以上のように、本発明によれば、各階層を構成する階層データのハッシュ値と組み合わされるハッシュ値が第二の署名情報に含まれるので、階層データの一部が削除された場合であっても、署名に含まれる削除された階層データのハッシュ値を使用して署名の検証を行うことができる。また、算出される一のハッシュ値は、複数の階層データから構成される映像データに対する一つのハッシュ値であるため、これにより映像データとしての真正性を保証できる。
【0110】
また、上記の実施形態の署名装置における署名生成方法が高い効率性を備える理由は以下の通りである。デジタル署名に使用する公開鍵暗号では、その署名生成処理に最も処理時間を要し、ハッシュの処理時間は署名生成処理時間と比較すると非常に短い。上記の実施形態における署名装置では、署名生成処理を階層データごとに行わず、映像データもしくは映像情報ごとに行うため、全体の処理時間を短縮することができる。
【0111】
(請求項に関する付記)
本発明については、請求項の記載に関して、以下の態様が考えられる。
【0112】
(請求項2)
階層符号化された映像データを複数含む一の映像情報に対して署名情報を生成する署名装置であって、
前記複数の映像データのそれぞれについて、前記階層符号化された映像データの各階層を構成する階層データのそれぞれに対するハッシュ値を算出するハッシュ値算出手段と、
前記複数の映像データのそれぞれについて、前記算出された複数のハッシュ値を前記階層データの階層順に二つ組み合わせてハッシュ値を算出する処理を繰り返すことで、前記複数の映像データのそれぞれに対する一のハッシュ値を算出する第二ハッシュ値算出手段と、
前記第二ハッシュ値算出手段によって前記複数の映像データのそれぞれについて算出されたハッシュ値のうち、いずれかを複数を組み合わせてハッシュ値を算出する処理を繰り返すことで、前記映像情報に対するハッシュ値を算出し、このハッシュ値に基づいて前記映像情報に対する署名情報を生成する署名情報生成手段と、
前記複数の映像データのそれぞれについて、前記署名情報と、前記映像情報に対する一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含む第二の署名情報を生成する第二署名情報生成手段と、
を備えることを特徴とする署名装置。
【0113】
これにより、この署名装置によって生成された第二の署名情報が付与された署名付き映像データを記録、再生する装置などにおいて、階層データの一部が削除された場合であっても、映像データの真正性を保証するための署名の検証を行うことが可能となる。さらに、複数の映像データからなる映像情報に対して署名が生成されるため、映像データごとに署名が生成される場合よりも、署名生成処理や署名検証処理の速度を向上させることができる。
【0114】
(請求項3)
乱数を取得する乱数取得手段と、
前記取得された乱数をルート乱数とする二分木を、前記二分木のリーフ列を構成する乱数列が前記階層データの総数と同数となるように生成する二分木生成手段と、
をさらに有し、
前記ハッシュ値算出手段は、前記階層データのそれぞれに対するハッシュ値をそれぞれ算出する際に、前記生成された二分木のリーフ乱数列と、前記階層データと、に基づいて、前記階層データのそれぞれに対するハッシュ値をそれぞれ算出し、
前記第二署名情報生成手段は、前記ルート乱数をも含むように前記第二の署名情報を生成すること、
を特徴とする請求項1又は2に記載の署名装置。
【0115】
これにより、例えば、複数の映像データを含む映像情報が動画像の映像情報であって、同じ映像データが繰り返して出現するような場合であっても、現存する階層データから消去された階層データが復元されるような事態を回避することができる。
【0116】
(請求項4)
請求項1から3のいずれか一に記載の署名装置において生成された前記第二の署名情報と関連づけられている階層符号化された映像データを受信して署名の検証を行う検証装置であって、
前記階層符号化された映像データにおいて、少なくとも一つの階層データが存在しない場合、前記存在しない階層データから算出されたハッシュ値であって、前記第二の署名情報に含まれるハッシュ値を利用して、署名の検証処理を行う署名検証部、
を備えることを特徴とする検証装置。
【0117】
これにより、第二の署名情報が付与された署名付き映像データを記録、再生する装置などにおいて、階層データの一部が削除された場合であっても、映像データの真正性を保証するための署名の検証を行うことが可能である。
【0118】
(請求項5)
階層符号化された映像データに対する署名情報を生成する署名生成方法であって、
前記階層符号化された映像データの各階層を構成する階層データのそれぞれに対するハッシュ値を算出するハッシュ値算出ステップと、
前記算出された複数のハッシュ値を前記階層データの階層順に二つ組み合わせてハッシュ値を算出する処理を繰り返すことで、前記映像データに対する一のハッシュ値を算出する第二ハッシュ値算出ステップと、
前記一のハッシュ値に基づいて署名情報を生成する署名情報生成ステップと、
前記階層符号化された映像データに対して、前記署名情報と、前記一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含む第二の署名情報を生成する第二署名情報生成ステップと、
を備えることを特徴とする署名生成方法。
【0119】
これにより、この署名生成方法にて生成された第二の署名情報が付与された署名付き映像データを記録、再生する装置などにおいて、階層データの一部が削除された場合であっても、映像データの真正性を保証するための署名の検証を行うことが可能である。
【符号の説明】
【0120】
101a、101b 映像生成装置
102 エンコーダ
103 記録装置
104 表示装置
105 署名装置
106 検証装置
110 ネットワーク
210 制御部
211 全体制御部
212 署名処理部
213 ハッシュ値算出部
214 第二ハッシュ値算出部
215 署名情報生成部
216 第二署名情報生成部
217 乱数取得部
218 二分木生成部
220 記憶部
221 映像データ記憶部
222 データ記憶部
230 送受信部
240 入力部
250 出力部
301 CPU
302 不揮発性記憶装置
303 RAM
304 ネットワークインタフェース
310 全体制御プログラム
320 署名処理プログラム
321 ハッシュ値算出モジュール
322 第二ハッシュ値算出モジュール
323 署名情報生成モジュール
324 第二署名情報生成モジュール
410 制御部
411 全体制御部
412 署名検証部
420 記憶部
421 データ記憶部
421 映像データ記憶部
430 入力部
440 出力部
501 CPU
502 不揮発性記憶装置
503 RAM
510 全体制御プログラム
520 署名検証プログラム

【特許請求の範囲】
【請求項1】
階層符号化された映像データに対する署名情報を生成する署名装置であって、
前記階層符号化された映像データの各階層を構成する階層データのそれぞれに対するハッシュ値を算出するハッシュ値算出手段と、
前記算出された複数のハッシュ値を前記階層データの階層順に二つ組み合わせてハッシュ値を算出する処理を繰り返すことで、前記映像データに対する一のハッシュ値を算出する第二ハッシュ値算出手段と、
前記一のハッシュ値に基づいて署名情報を生成する署名情報生成手段と、
前記階層符号化された映像データに対して、前記署名情報と、前記一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含む第二の署名情報を生成する第二署名情報生成手段と、
を備えることを特徴とする署名装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2010−251877(P2010−251877A)
【公開日】平成22年11月4日(2010.11.4)
【国際特許分類】
【出願番号】特願2009−96687(P2009−96687)
【出願日】平成21年4月13日(2009.4.13)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】