説明

映像署名システム

【課題】一連の映像に対して署名を生成する署名生成装置と、署名検証を行う署名検証装置を有する映像署名システムで、1回の署名生成の範囲を超えて映像の連続性を検証する。
【解決手段】署名生成装置では、初期ハッシュ値算出手段が一連の映像が分割された複数の連続する映像データについてa回目の署名においては(a−1)回目の署名が行われる所定数のデータの内で末尾の映像データに関するデータを先頭のデータとし、前記末尾の映像データに続く(所定数−1)個の連続する映像データを2番目から所定数番目のデータとして、これらの各データに対してハッシュ値を算出する。最終ハッシュ値取得手段が所定数個のハッシュ値と所定のハッシュ関数を用いて所定の処理手順により1個のハッシュ値を取得し、署名生成手段が当該1個のハッシュ値に対して署名を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、監視カメラ等の撮像装置で撮影された映像(画像)を電子署名してネットワークを介して発信や記録する映像処理システムに関し、特に、複数に分割された映像データに電子署名技術を用いる映像署名システムに関する。
【背景技術】
【0002】
従来から、ホテルやビル、コンビニエンスストアや金融機関、或いはダムや道路といった公共施設には、犯罪抑止や事故防止等の目的で、映像監視システムが設置されている。映像監視システムでは、監視対象をカメラ等の撮像装置で撮影し、撮影した映像を管理事務所や警備室等の監視センタへ伝送し、監視者がその映像を監視して、目的や必要性に応じて、注意や警告をし、或いは映像を録画や保存する。
【0003】
近年、このような映像監視システムの分野において、監視カメラ映像をデジタル化して、インターネットに代表されるIPネットワークを介して、映像を伝送して監視を行うネットワーク型の映像監視システムの普及が進みつつある。
現在、主流となっているネットワーク型映像監視システムでは、監視カメラに接続された映像発信装置から映像受信装置に向けて、ネットワークを介してライブ映像を配信する。このシステムは、常駐の監視者が、常時、配信された映像(及び音声)を視聴し、問題発生時には状況に応じた対応をするといった監視形態に適合したシステムとなっている。
【0004】
一方、映像監視としては、上述のようなライブ映像監視を主体とする「ライブ型監視」の他に、「監視映像を記録や保存して、問題発生時に時間を遡って記録映像を見る」といった「記録型監視」の監視形態もあり、金融機関や商店を中心にこうした「記録型監視」の顧客ニーズが存在する。
ネットワーク型映像監視システムでは、このような「記録型監視」のニーズに対応可能な「映像蓄積配信サーバ」を用いることが可能である。
【0005】
また、映像の証拠性を高めるために、映像データに対して、電子署名を行って、ネットワークに流れる映像データ及び記録された映像データの改ざんの検知を可能にする署名付きネットワーク型映像監視システムの普及が進みつつある。
【0006】
このような署名付きネットワーク型映像監視システムとして使用可能な映像配信システムの一構成例が、後述する実施例で参照される図1に示されている。なお、ここでは、説明の便宜上から、図1を参照するが、本発明を不要に限定する意図は無い。
以下では、署名生成と署名検証に、デジタル署名技術の一種であるRSA−PSS方式を用いた場合を例として説明する。
【0007】
ここで、映像監視システムのような分野における映像データの特徴として、データ量が大きく、ネットワーク帯域の節約や記録装置の容量の節約などの目的のために映像データを抜粋して保存する場合があり、例えば毎秒30枚などといったように単位時間当たりの処理回数が多いといった特徴がある。
これに対して、例えば、複数のデータから任意に抜粋して保存することができ、且つ、映像1枚当たりの署名生成の処理負荷を抑えて効率化を図ることが検討等されている(以下で、「技術例1」と言う)。
【発明の開示】
【発明が解決しようとする課題】
【0008】
映像監視システムにおける署名検証では、分割された単一フレームの映像データの検証だけでなく、連続した映像データを連続性も含めて検証したい場合がある。例えば、連続した映像データのうち都合の悪い部分だけを抜き取って編集されたものではないかという確認や、連続した映像データに別の任意の署名付き映像データが挿入されて編集されていないかという確認や、ある連続した映像データの途中の映像データが別の映像データに入れ替えられていないかという確認などを行いたい場合がある。
なお、上述した「技術例1」のように、複数のデータから任意に抜粋して保存することができ、且つ、映像1枚当たりの署名生成の処理負荷を抑えた署名方式を採用したとしても、例えば、抜粋していない部分について、映像データの連続性まで含めて確認したいような場合がある。
【0009】
図7及び図8を参照して、従来例に係る署名付きネットワーク型映像監視システムにおける署名生成方法を説明する。
図7及び図8には、署名生成装置5での1回の署名生成時に処理するメッセージの数nを4とした場合の例を示してある。
本例では、映像データを分割して処理し、その理由は、例えば、映像符号化の並列処理のためであり、また、後日に、映像の一部分(例えば、重要部分など)のみを残して、記憶容量を節約するためである。
なお、本例では、分割された映像データは、JPEGの1フレームであるとして説明する。
【0010】
図7には、署名付きネットワーク型映像監視システムにおける一連の映像と署名の関連の一例を模式的に示してある。
なお、説明の便宜上から、図7では、後述する実施例で参照される図2に示されるものと同様な署名生成エンジン31については、同一の符号を付してある。
また、aは2以上の整数であるとする。
【0011】
1(a−1)〜M4(a−1)は、(a−1)回目の署名生成時に処理される分割された映像データであり、M1(a)〜M4(a)は、a回目の署名生成時に処理される分割された映像データである。
0,1(a−1)〜h0,4(a−1)及びh0,1(a)〜h0,4(a)は、それぞれ、M1(a−1)〜M4(a−1)及びM1(a)〜M4(a)をハッシュ関数hに入力して得られたハッシュ値である。
【0012】
1,1(a−1)は、h0,1(a−1)とh0,2(a−1)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
同様に、h1,2(a−1)は、h0,3(a−1)とh0,4(a−1)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
また、h1,1(a)は、h0,1(a)とh0,2(a)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
同様に、h1,2(a)は、h0,3(a)とh0,4(a)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
【0013】
2,1(a−1)は、h1,1(a−1)とh1,2(a−1)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
また、h2,1(a)は、h1,1(a)とh1,2(a)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
署名生成エンジン31は、h2,1(a−1)と秘密鍵から署名値σ(a−1)を算出し、また、h2,1(a)と秘密鍵から署名値σ(a)を算出する。
【0014】
映像データM1(a−1)〜M4(a−1)及びM1(a)〜M4(a)、署名値σ(a−1)及びσ(a)は、署名生成装置5から、映像蓄積配信サーバ4経由で、或いは、直接的に、映像受信装置3へ配信される。
これらの情報は、更に、映像受信装置3から署名検証装置6へ配布される。また、任意抜粋保存された映像データも検証できるようにするために、各ハッシュ値についても、必要に応じて、映像データ及び署名と同様に配布される場合もある。
また、(a+1)回目以降の署名生成等についても同様である。
【0015】
図8には、署名生成装置5により行われる処理の一例のフローチャートを示してある。
なお、説明の便宜上から、図8では、後述する実施例で参照される図3に示されるものと同様な処理については同一の符号を付してあるが、ここでは、本発明を不要に限定する意図は無い。
【0016】
まず、初期化処理では(ステップS1)、必要なメモリの確保や変数の初期化処理などを行う。
次に、カウンタ値(i)カウントアップ処理では(ステップS2)、変数iに1を加える。
次に、映像データ(M)の受信・映像バッファへの格納処理では(ステップS3)、映像発信装置2から受信した映像データ(M)を映像バッファに格納する。
【0017】
映像データ(M)のハッシュ値h0,i算出処理では(ステップS4)、格納した映像バッファの映像データ(M)のハッシュ値h0,iを生成する。
iが1回の署名生成時に処理するメッセージの数(本例では、4)に到達したかの判定処理では(ステップS5)、iが1回の署名生成時に処理するメッセージの数である4であるか否かによって分岐する。具体的には、iが4に達していなければ、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、iが4に達している場合には、カウンタ値(i)を0にする処理(ステップS31)へ分岐する。
【0018】
カウンタ値(i)を0にする処理では(ステップS31)、変数iに0を格納する。
次に、h0,1とh0,2の連結値のハッシュ値h1,1算出処理では(ステップS7)、ステップS4の処理で算出したハッシュ値h0,1とh0,2の連結値のハッシュ値h1,1を算出する。
次に、h0,3とh0,4の連結値のハッシュ値h1,2算出処理では(ステップS8)、ステップS4の処理で算出したハッシュ値h0,3とh0,4の連結値のハッシュ値h1,2を算出する。
次に、h1,1とh1,2の連結値のハッシュ値h2,1算出処理では(ステップS9)、ステップS7及びステップS8の処理で算出したハッシュ値h1,1とh1,2の連結値のハッシュ値h2,1を算出する。
【0019】
次に、署名(σ)生成処理では(ステップS10)、ステップS9で算出したh2,1と秘密鍵を署名エンジン31に入力することにより、署名(σ)を生成する。
次に、署名(σ)配信処理では(ステップS11)、署名(σ)を映像蓄積配信サーバ4などに配信する。このとき、本例では、映像も同時に配信するが、他の構成例として、映像については、映像蓄積配信サーバ4が映像発信装置2から直接受信するようにしてもよい。また、ハッシュ値も同時に配信してもよい。
【0020】
映像バッファのクリア処理では(ステップS32)、使用した映像バッファを再使用できるようにクリアする。
映像受信終了判定処理では(ステップS13)、受信すべき映像の有無を確認し、受信すべき映像が有れば、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、受信すべき映像が無ければ、終了処理(ステップS14)へ分岐する。
終了処理では(ステップS14)、確保したメモリの解放など、処理を終了するために必要な処理を行う。
【0021】
図7及び図9を参照して、従来例に係る署名付きネットワーク型映像監視システムにおける署名検証方法を説明する。なお、本例の署名検証方法は、図7及び図8に示される署名生成方法に対応したものである。
図9には、署名検証装置6により行われる処理の一例のフローチャートを示してある。
なお、説明の便宜上から、図9では、後述する実施例で参照される図3及び図4に示されるものと同様な処理については同一の符号を付してあるが、ここでは、本発明を不要に限定する意図は無い。また、説明の便宜上から、図9では、図8に示されるものと同様な処理については同一の符号を付してある。
【0022】
まず、初期化処理では(ステップS1)、必要なメモリの確保や変数の初期化処理などを行う。
次に、カウンタ値(i)カウントアップ処理では(ステップS2)、変数iに1を加える。
次に、映像データ(M)の読み込み・映像バッファへの格納処理では(ステップS21)、映像データ(M)を署名検証装置6に接続されたリムーバブルメディア21から読み込み、映像バッファに格納する。
【0023】
映像データ(M)のハッシュ値h0,i算出処理では(ステップS4)、格納した映像バッファの映像データ(M)のハッシュ値h0,iを生成する。
iが1回の署名生成時に処理するメッセージの数(本例では、4)に到達したかの判定処理では(ステップS5)、iが1回の署名生成時に処理するメッセージの数である4であるか否かによって分岐する。具体的には、iが4に達していなければ、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、iが4に達している場合には、カウンタ値(i)を0にする処理(ステップS31)へ分岐する。
【0024】
カウンタ値(i)を0にする処理では(ステップS31)、変数iに0を格納する。
次に、h0,1とh0,2の連結値のハッシュ値h1,1算出処理では(ステップS7)、ステップS4の処理で算出したハッシュ値h0,1とh0,2の連結値のハッシュ値h1,1を算出する。
次に、h0,3とh0,4の連結値のハッシュ値h1,2算出処理では(ステップS8)、ステップS4の処理で算出したハッシュ値h0,3とh0,4の連結値のハッシュ値h1,2を算出する。
次に、h1,1とh1,2の連結値のハッシュ値h2,1算出処理では(ステップS9)、ステップS7及びステップS8の処理で算出したハッシュ値h1,1とh1,2の連結値のハッシュ値h2,1を算出する。
【0025】
署名(σ)読み込み処理では(ステップS22)、署名(σ)を署名検証装置6に接続されたリムーバブルメディア21から読み込む。
次に、署名(σ)とハッシュ値h2,1からの署名検証処理では(ステップS23)、署名(σ)とハッシュ値h2,1及び公開鍵を入力として、署名検証の成否を返す。
映像バッファのクリア処理では(ステップS32)、使用した映像バッファを再使用できるようにクリアする。
【0026】
映像読み込み終了判定処理では(ステップS24)、署名検証装置6に接続されたリムーバブルメディア21から、次に読み込むべき映像があるか否かを判定する。そして、次に読み込むべき映像があれば、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、次に読み込むべき映像が無ければ、検証結果表示処理(ステップS25)へ分岐する。
【0027】
検証結果表示処理では(ステップS25)、署名検証処理(ステップS23)で出力された署名検証の成否を署名検証装置6の映像表示装置12上に表示する。
具体的には、例えば、後述する実施例で参照される図6に示されるように、署名検証成功であれば検証結果ダイアログ55を表示し、署名検証失敗であれば検証結果ダイアログ56を表示する。
終了処理では(ステップS14)、確保したメモリの解放など、処理を終了するために必要な処理を行う。
【0028】
ここで、一例として、図3に示されるM1(a−1)の署名検証を行うときの手順について述べる。
まず、署名検証装置6は、M1(a−1)そのものをハッシュ関数hに入力してハッシュ値h0,1(a−1)を算出する。次に、算出したハッシュ値h0,1(a−1)とM2(a−1)から算出したハッシュ値h0,2(a−1)をハッシュ関数hに入力してハッシュ値h1,1(a−1)を算出する。同様にして、h1,1(a−1)とh1,2(a−1)からh2,1(a−1)を算出する。この値と公開鍵を署名検証エンジン31に入力すると署名検証することができる。このとき、M1(a−1)が改ざんされたデータである場合には、署名検証に失敗する。
【0029】
例えば、M1(a−1)、M2(a−1)、M3(a−1)、M4(a−1)の署名検証に成功したとき、映像データM1(a−1)、M2(a−1)、M3(a−1)、M4(a−1)は連続であると言える。また、M1(a)、M2(a)、M3(a)、M4(a)の署名検証に成功したとき、映像データM1(a)、M2(a)、M3(a)、M4(a)は連続であると言える。これは、映像データの順番を入れ替えたり、一部を抜き取ったり、別の映像を挿入したりすれば、署名の検証に失敗するためである。
【0030】
しかしながら、M4(a−1)とM1(a)とは連続であるが、その連続性を確認する手法が無いという問題があった。例えば、M1(a)、M2(a)、M3(a)、M4(a)が抜き取られ、M4(a−1)の次にM1(a+1)があっても、抜き取られたことが分からなかった。
このように、従来の方式では、連続性の確認を行うことを十分には実現することができないという問題があった。
【0031】
本発明は、このような従来の事情に鑑み為されたもので、1回の署名生成の範囲を超えて映像の連続性を検証することができる映像署名システムを提供することを目的とする。
【課題を解決するための手段】
【0032】
上記目的を達成するため、本発明では、一連の映像に対して署名を生成する署名生成装置と、前記一連の映像の一部又は全部と前記署名を用いて署名検証を行う署名検証装置を有する映像署名システムにおいて、次のような構成とした。
すなわち、前記署名生成装置では、初期ハッシュ値算出手段が、前記一連の映像が分割された複数の連続する映像データについて、a(aは2以上の整数)回目の署名においては、(a−1)回目の署名が行われる所定数のデータの内で末尾である前記所定数番目の映像データに関するデータを先頭である1番目のデータとするとともに、前記末尾の映像データに続く(前記所定数−1)個の連続する映像データを2番目から所定数番目のデータとして、これら前記所定数個の各データに対して所定のハッシュ関数を用いてハッシュ値を算出する。最終ハッシュ値取得手段が、前記初期ハッシュ値算出手段により算出された前記所定数個のハッシュ値と所定のハッシュ関数を用いて所定の処理手順により1個のハッシュ値を取得する。署名生成手段が、前記最終ハッシュ値取得手段により取得されたハッシュ値に対して署名を生成する。
また、前記署名検証装置では、前記初期ハッシュ値算出手段と同じ機能を有する第1の手段が、前記初期ハッシュ値算出手段と同じ処理を行う。前記最終ハッシュ値取得手段と同じ機能を有する第2の手段が、前記最終ハッシュ値取得手段と同じ処理を行う。署名検証手段が、前記第2の手段により取得されたハッシュ値と前記署名を用いて署名検証を行う。
【0033】
従って、ある(a−1)回目の署名が行われる所定数のデータの内で末尾の映像データに関するデータを次のa回目の署名において先頭のデータとすることにより、(a−1)回目の署名が行われる所定数のデータとa回目の署名が行われる所定数のデータとの連続性を検証することができ、1回の署名生成の範囲を超えて映像の連続性を検証することができる。
【0034】
ここで、署名の対象となる一連の映像としては、種々なものが用いられてもよい。
また、署名検証の対象としては、例えば、一連の映像の一部が用いられてもよく、或いは、一連の映像の全部が用いられてもよい。
また、1回分の署名が行われるデータの数(所定数)としては、種々な数が用いられてもよい。
また、ハッシュ関数としては、種々なものが用いられてもよい。
また、1個のハッシュ値に対して署名を生成する処理では、例えば、秘密鍵のデータが用いられる。
また、1個のハッシュ値と署名を用いて署名検証を行う処理では、例えば、公開鍵のデータが用いられる。
【0035】
本発明に係る映像署名システムでは、次のような構成とした。
すなわち、一構成例として、前記初期ハッシュ値算出手段は、前記一連の映像が分割された複数の連続する映像データについて、a回目の署名においては、(a−1)回目の署名が行われる所定数のデータの内で末尾である前記所定数番目の映像データに関するデータを先頭である1番目のデータとする場合に、前記末尾の映像データそのものを前記先頭のデータとする。
他の一構成例として、前記初期ハッシュ値算出手段は、前記一連の映像が分割された複数の連続する映像データについて、a回目の署名においては、(a−1)回目の署名が行われる所定数のデータの内で末尾である前記所定数番目の映像データに関するデータを先頭である1番目のデータとする場合に、前記末尾の映像データを所定のハッシュ関数に入力して得られたハッシュ値を前記先頭のデータとする。
【発明の効果】
【0036】
以上説明したように、本発明に係る映像署名システムによると、(a−1)回目の署名生成とa回目の署名生成とで、使用するデータに重複部分(同一又は関連するデータ)を設けるようにしたため、1回の署名生成の範囲を超えて映像の連続性を検証することができる。
【発明を実施するための最良の形態】
【0037】
本発明に係る実施例を図面を参照して説明する。
図1には、本発明の一実施例に係る署名付きネットワーク型映像監視システムとして使用可能な映像配信システムの構成例を示してある。
本例の映像配信システムは、映像生成装置1と、映像発信装置2と、映像受信装置3及び映像表示装置11と、映像蓄積配信サーバ4及び記録媒体13と、署名生成装置5と、署名検証装置(映像閲覧装置)6及び映像表示装置12と、ネットワーク媒体7と、リムーバブルメディア21を備えている。
【0038】
ネットワーク媒体7は、例えば、ネットワークケーブルや無線LAN(Local Area Network)や公衆回線等から構成され、発信されたデータを伝送する機能を有している。本例では、ネットワーク媒体7には、ルータやハブ等のネットワーク機器も含む。映像発信装置2、映像受信装置3、映像蓄積配信サーバ4、署名生成装置5は、ネットワーク媒体7に接続されており、互いに通信することができる。
【0039】
映像生成装置1は、例えば、カメラといった撮像素子を持った映像生成装置であり、光を電気へ変換して映像を生成する機能を有している。
映像発信装置2は、例えば、映像生成装置1からの映像を受け取るインターフェイスと画像コーデック、ネットワークインターフェイスを内蔵したエンコーダ装置であり、映像生成装置1からの入力映像をネットワーク伝送に適した形へ変換して、ネットワーク媒体7へ発信する機能を有している。映像発信装置2は、例えば、映像生成装置1からの入力映像がアナログ映像であった場合にはデジタル変換し、また、ネットワーク媒体7の伝送帯域によっては、圧縮処理を施すことを行う。
なお、映像生成装置1と映像発信装置2は、例えば、1つの装置として結合された形態で構成されてもよい。
【0040】
映像受信装置3は、例えば、ネットワークインターフェイスと画像コーデック、映像表示装置11へ映像を出力するインターフェイス、リムーバブルメディア21へのインターフェイスを内蔵したデコーダ装置であり、ネットワーク媒体7を伝送されてきた映像を受信し、映像表示装置11が表示可能な形へ変換して出力する機能を有している。映像受信装置3は、例えば、映像表示装置11がテレビモニタである場合には、アナログ変換を行い、また、受信した映像が圧縮映像であった場合には、画像コーデックを使用して伸張処理を施すことを行う。
【0041】
また、映像受信装置3は、署名付きの映像を受信し、受信した署名と映像を署名検証装置6において検証可能な方式でリムーバブルメディア21に保存する機能を有している。この保存は、映像受信装置3を操作するユーザの指定によって行われてもよく、或いは、映像受信装置3内のソフトウエアによって自動的に行われてもよい。
【0042】
図5には、映像受信装置3が、ユーザの指定により、受信した映像をリムーバブルメディア21に保存するための画面の一例を示してある。
この画面は、映像表示装置11に表示される。
本例の画面には、保存する範囲の指定欄41と、保存するフォルダ名の入力欄42と、保存実行ボタン43が表示されている。
ユーザは、記録媒体13に記録されている映像データのうち、いずれの部分をリムーバブルメディア21に保存するかを保存する範囲指定欄41に、例えば「2007年1月1日1時1分1秒〜1007年1月1日1時7分7秒」といったように、入力して指定する。次に、ユーザは、この映像データをいずれの所に保存するかを保存するフォルダ名入力欄42に、例えば「E:¥Incident¥」といったように、入力して指定する。最後に、ユーザが保存実行ボタン43を押下すると、保存が実行される。
【0043】
映像表示装置11は、例えば、テレビモニタ、コンピュータのCRT、液晶モニタといった投影素子を持った映像表示装置であり、電気を光へ変換して映像を表示する機能を有している。
なお、映像受信装置3と映像表示装置11は、例えば、1つの装置として結合された形態で構成されてもよい。具体例としては、テレビモニタに内蔵された形態や、CRTを接続したコンピュータの形態や、或いは、表示装置を備えた携帯電話等の携帯端末の形態などを用いることができる。
【0044】
また、映像受信装置3は、映像蓄積配信サーバ4に対して、再生や早送り等の再生指示を行う操作インターフェイスを内蔵している。このインターフェイスは、例えば、コンピュータ画面のGUI(Graphical User Interface)、或いは、映像受信装置3に接続された制御盤端末などから構成することができる。
【0045】
映像蓄積配信サーバ4は、例えば、ネットワークインターフェイスや、記録媒体13へのインターフェイスを内蔵したパーソナルコンピュータ(PC)から構成され、映像発信装置2或いは署名生成装置5からネットワーク媒体7を介して伝送されてきた映像或いは署名付き映像を受信し、接続された記録媒体13にこれらの映像を記録する機能と、映像受信装置3からの映像配信要求に応じて、記録媒体13から要求された映像或いは署名付き映像を取り出して、ネットワーク媒体7を介して映像受信装置3へこれらの映像を配信する機能を有している。
【0046】
記録媒体13は、例えば、ハードディスクやディスクアレイといった映像を記録する媒体であり、映像蓄積配信サーバ4と、例えば、SCSI(Small Computer System Interface)やATA(AT Attachment)、FibreChannelといった専用のインターフェイス、又は、SAN(Storage Area Network)やNAS(Network Attached Storage)といったIPネットワークを用いたインターフェイス等によって結ばれている。
【0047】
リムーバブルメディア21は、例えば、DVD−RAMやMO、CD−RWといった光メディアとドライブの組み合わせ、或いは、着脱可能なケースに装着されたハードディスク、USBやIEEE1394といった着脱可能なインターフェイスを内蔵したハードディスクから構成され、映像を保存する機能を有する媒体である。
リムーバブルメディア21は、映像受信装置3或いは署名検証装置6と、例えば、SCSIやATA、FibreChannelといった専用のインターフェイス、又は、SANやNASといったIPネットワークを用いたインターフェイス、更には、USBやIEEE1394といった通電中でも着脱可能なインターフェイス等によって結ばれる。
【0048】
署名検証装置6は、例えば、画像コーデック、映像表示装置12へ映像を出力するインターフェイス、リムーバブルメディア21へのインターフェイスを内蔵したデコーダ装置であり、リムーバブルメディア21内に記録された映像を、映像表示装置12が表示可能な形へ変換して出力する機能を有している。署名検証装置6は、例えば、映像表示装置12がテレビモニタである場合には、アナログ変換を行い、また、映像が署名付き映像データであった場合には、所定の鍵を用いて署名検証処理を行う。また、署名検証装置6は、例えば、映像が圧縮映像であった場合には、画像コーデックを使用して伸張処理を施すことを行う。
【0049】
映像表示装置12は、例えば、テレビモニタ、コンピュータのCRT、液晶モニタといった投影素子を持った映像表示装置であり、電気を光へ変換して映像を表示する機能を有している。
なお、署名検証装置6と映像表示装置12は、例えば、1つの装置として結合された形態で構成されてもよい。また、例えば、署名検証装置6と映像受信装置3が、1つの装置として結合された形態で構成されてもよい。
【0050】
図6には、一連の映像の再生機能と署名検証機能を持つ署名検証画面の一例を示してある。
この画面は、映像表示装置12に表示される。
本例の画面には、映像表示欄51と、映像操作ボタン群52(本例では、先頭、巻戻し、一時停止、再生、早送り、末尾)と、一連の映像データファイル指定欄53と、署名検証ボタン54と、検証結果ダイアログ55、56が表示される。
【0051】
ユーザは、リムーバブルメディア21に記録されている映像データ(例えば、「E:¥Incident¥」)を一連の映像データファイル指定欄53によって指定して、映像操作ボタン群52を操作することによって再生、巻戻し、早送りなどを行わせ、映像表示欄51に表示される一連の映像を閲覧する。
ユーザは、署名検証する場合には、署名検証ボタン54を押下する。すると、署名検証装置6は、一連の映像データファイル指定欄53で指定されたデータの署名検証を行い、検証結果によって、例えば、「この映像は改ざんされていません」という内容を通知する検証結果ダイアログ55、或いは、「警告:この映像は改ざんされています」という内容を通知する検証結果ダイアログ56を表示する。
なお、署名検証は、例えば、ボタンの押下によらずに、再生中、或いは、再生前に、署名検証装置により自動的に行われる構成としてもよい。
【0052】
署名生成装置5は、例えば、ネットワークインターフェイスを内蔵した装置であり、映像発信装置2から受信した映像の署名を生成し、それ(本例では、例えば、署名付き映像)をネットワーク媒体7へ発信する機能を有している。
なお、署名生成装置5では、複数の映像発信装置2からの映像を同時に処理して、署名の生成を行うような形態が用いられてもよい。
また、例えば、署名生成装置5と映像発信装置2が、1つの装置として結合された形態で構成されてもよい。また、例えば、署名生成装置5と映像蓄積配信サーバ4が、1つの装置として結合された形態で構成されてもよい。或いは、例えば、署名生成装置5と映像発信装置2と映像蓄積配信サーバ4の3つの機器が、1つの装置として結合された形態で構成されてもよい。
【0053】
ここで、説明の便宜上から、図1では、各機器2、3、5を各1個ずつしか示さなかったが、これらは映像蓄積配信サーバ4に対して、複数個接続されることが可能である。
映像蓄積配信サーバ4は、複数の映像発信装置2或いは複数の署名生成装置5から発信されるそれぞれ異なった複数の映像を同時に受信して記録を行いながら、更に並行して、複数の映像受信装置3へそれぞれ異なった複数の任意の映像を同時に配信することが可能となっている。
【0054】
上記したような映像配信システムでは、署名生成装置5での映像データの署名生成、映像受信装置3及び映像検証装置6での映像データの署名検証には、鍵と呼ばれるデータが必要である。
ここで、署名生成と署名検証には、生成と検証に同じ鍵を用いる共通鍵暗号方式を応用したHMAC(keyed−Hashing for Message Authentication Code)のような方式が用いられてもよく、或いは、生成と検証に異なる鍵を用いる公開鍵暗号方式を応用したデジタル署名のような方式が用いられてもよい。
本例では、署名生成と署名検証に、デジタル署名技術の一種であるRSA−PSS方式を用いた場合を例として説明する。
【0055】
図2、図3及び図4を参照して、映像の連続性を検証することが可能な方法について説明する。
図2には、映像の連続性を検証可能な方法の一例における、一連の映像と署名の関連の一例を模式的に示してある。
なお、aは2以上の整数であるとする。
本例では、(a−1)回目の署名生成時に処理される分割された映像データの末尾の映像データM4(a−1)を、a回目の署名生成時に処理される分割された映像データの先頭の映像データM1(a)と同一のものとしている。
なお、本例では、分割された映像データは、JPEGの1フレームであるとして説明する。
【0056】
具体的に説明する。
1(a−1)〜M4(a−1)は、(a−1)回目の署名生成時に処理される分割された映像データであり、M1(a)〜M4(a)は、a回目の署名生成時に処理される分割された映像データである。ここで、本例では、M1(a)=M4(a−1)としてある。同様に、本例では、M1(a+1)=M4(a)としてあり、以降も同様である。
0,1(a−1)〜h0,4(a−1)及びh0,1(a)〜h0,4(a)は、それぞれ、M1(a−1)〜M4(a−1)及びM1(a)〜M4(a)をハッシュ関数hに入力して得られたハッシュ値である。
【0057】
1,1(a−1)は、h0,1(a−1)とh0,2(a−1)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
同様に、h1,2(a−1)は、h0,3(a−1)とh0,4(a−1)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
また、h1,1(a)は、h0,1(a)とh0,2(a)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
同様に、h1,2(a)は、h0,3(a)とh0,4(a)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
【0058】
2,1(a−1)は、h1,1(a−1)とh1,2(a−1)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
また、h2,1(a)は、h1,1(a)とh1,2(a)を連結した結果をハッシュ関数hに入力して得られたハッシュ値である。
署名生成エンジン31は、h2,1(a−1)と秘密鍵から署名値σ(a−1)を算出し、また、h2,1(a)と秘密鍵から署名値σ(a)を算出する。
【0059】
映像データM1(a−1)〜M4(a−1)及びM1(a)〜M4(a)、署名値σ(a−1)及びσ(a)は、署名生成装置5から、映像蓄積配信サーバ4経由で、或いは、直接的に、映像受信装置3へ配信される。
これらの情報は、更に、映像受信装置3から署名検証装置6へ配布される。また、任意抜粋保存された映像データも検証できるようにするために、各ハッシュ値についても、必要に応じて、映像データ及び署名と同様に配布される場合もある。
また、(a+1)回目以降の署名生成等についても同様である。
【0060】
署名検証時には、M1(a−1)、M2(a−1)、M3(a−1)、M1(a)の署名検証に成功したときには、映像データM1(a−1)、M2(a−1)、M3(a−1)、M1(a)は連続であると言える。
また、M1(a)、M2(a)、M3(a)、M1(a+1)の署名検証に成功したときには、映像データM1(a)、M2(a)、M3(a)、M1(a+1)は連続であると言える。
そして、これら2つの連続性が確認されると、M1(a−1)、M2(a−1)、M3(a−1)、M1(a)、M2(a)、M3(a)、M1(a+1)の全てが連続であることが言える。
【0061】
図3には、本例の署名生成装置5により行われる処理の一例のフローチャートを示してある。
まず、初期化処理では(ステップS1)、必要なメモリの確保や変数の初期化処理などを行う。
次に、カウンタ値(i)カウントアップ処理では(ステップS2)、変数iに1を加える。
次に、映像データ(M)の受信・映像バッファへの格納処理では(ステップS3)、映像発信装置2から受信した映像データ(M)を映像バッファに格納する。
【0062】
映像データ(M)のハッシュ値h0,i算出処理では(ステップS4)、格納した映像バッファの映像データ(M)のハッシュ値h0,iを生成する。
iが1回の署名生成時に処理するメッセージの数(本例では、4)に到達したかの判定処理では(ステップS5)、iが1回の署名生成時に処理するメッセージの数である4であるか否かによって分岐する。具体的には、iが4に達していなければ、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、iが4に達している場合には、カウンタ値(i)を1にする処理(ステップS6)へ分岐する。
【0063】
カウンタ値(i)を1にする処理では(ステップS6)、変数iに1を格納する。
次に、h0,1とh0,2の連結値のハッシュ値h1,1算出処理では(ステップS7)、ステップS4の処理で算出したハッシュ値h0,1とh0,2の連結値のハッシュ値h1,1を算出する。
次に、h0,3とh0,4の連結値のハッシュ値h1,2算出処理では(ステップS8)、ステップS4の処理で算出したハッシュ値h0,3とh0,4の連結値のハッシュ値h1,2を算出する。
次に、h1,1とh1,2の連結値のハッシュ値h2,1算出処理では(ステップS9)、ステップS7及びステップS8の処理で算出したハッシュ値h1,1とh1,2の連結値のハッシュ値h2,1を算出する。
【0064】
次に、署名(σ)生成処理では(ステップS10)、ステップS9で算出したh2,1と秘密鍵を署名エンジン31に入力することにより、署名(σ)を生成する。
次に、署名(σ)配信処理では(ステップS11)、署名(σ)を映像蓄積配信サーバ4などに配信する。このとき、本例では、映像も同時に配信するが、他の構成例として、映像については、映像蓄積配信サーバ4が映像発信装置2から直接受信するようにしてもよい。また、ハッシュ値も同時に配信してもよい。
【0065】
以外の映像バッファのクリア及びMを新たなMとする処理では(ステップS12)、全ての映像バッファをクリアするのではなく、M以外の映像バッファをクリアして、Mを新たなMとしてメモリ上に保持する。これにより、新たなMのみがメモリ上に保持され、新たなM〜Mは格納待ちとなる。
映像受信終了判定処理では(ステップS13)、受信すべき映像の有無を確認し、受信すべき映像が有れば、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、受信すべき映像が無ければ、終了処理(ステップS14)へ分岐する。
終了処理では(ステップS14)、確保したメモリの解放など、処理を終了するために必要な処理を行う。
【0066】
図4には、本例の署名検証装置6により行われる処理の一例のフローチャートを示してある。
なお、説明の便宜上から、図4では、図3に示されるものと同様な処理については同一の符号を付してある。
【0067】
まず、初期化処理では(ステップS1)、必要なメモリの確保や変数の初期化処理などを行う。
次に、カウンタ値(i)カウントアップ処理では(ステップS2)、変数iに1を加える。
次に、映像データ(M)の読み込み・映像バッファへの格納処理では(ステップS21)、映像データ(M)を署名検証装置6に接続されたリムーバブルメディア21から読み込み、映像バッファに格納する。
【0068】
映像データ(M)のハッシュ値h0,i算出処理では(ステップS4)、格納した映像バッファの映像データ(M)のハッシュ値h0,iを生成する。
iが1回の署名生成時に処理するメッセージの数(本例では、4)に到達したかの判定処理では(ステップS5)、iが1回の署名生成時に処理するメッセージの数である4であるか否かによって分岐する。具体的には、iが4に達していなければ、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、iが4に達している場合には、カウンタ値(i)を1にする処理(ステップS6)へ分岐する。
【0069】
カウンタ値(i)を1にする処理では(ステップS6)、変数iに1を格納する。
次に、h0,1とh0,2の連結値のハッシュ値h1,1算出処理では(ステップS7)、ステップS4の処理で算出したハッシュ値h0,1とh0,2の連結値のハッシュ値h1,1を算出する。
次に、h0,3とh0,4の連結値のハッシュ値h1,2算出処理では(ステップS8)、ステップS4の処理で算出したハッシュ値h0,3とh0,4の連結値のハッシュ値h1,2を算出する。
次に、h1,1とh1,2の連結値のハッシュ値h2,1算出処理では(ステップS9)、ステップS7及びステップS8の処理で算出したハッシュ値h1,1とh1,2の連結値のハッシュ値h2,1を算出する。
【0070】
署名(σ)読み込み処理では(ステップS22)、署名(σ)を署名検証装置6に接続されたリムーバブルメディア21から読み込む。
次に、署名(σ)とハッシュ値h2,1からの署名検証処理では(ステップS23)、署名(σ)とハッシュ値h2,1及び公開鍵を入力として、署名検証の成否を返す。
【0071】
以外の映像バッファのクリア及びMを新たなMとする処理では(ステップS12)、全ての映像バッファをクリアするのではなく、M以外の映像バッファをクリアして、Mを新たなMとしてメモリ上に保持する。これにより、新たなMのみがメモリ上に保持され、新たなM〜Mは格納待ちとなる。
【0072】
映像読み込み終了判定処理では(ステップS24)、署名検証装置6に接続されたリムーバブルメディア21から、次に読み込むべき映像があるか否かを判定する。そして、次に読み込むべき映像があれば、カウンタ値(i)カウントアップ処理(ステップS2)へ分岐し、また、次に読み込むべき映像が無ければ、検証結果表示処理(ステップS25)へ分岐する。
【0073】
検証結果表示処理では(ステップS25)、署名検証処理(ステップS23)で出力された署名検証の成否を署名検証装置6の映像表示装置12上に表示する。
具体的には、例えば、図6に示されるように、署名検証成功であれば検証結果ダイアログ55を表示し、署名検証失敗であれば検証結果ダイアログ56を表示する。
終了処理では(ステップS14)、確保したメモリの解放など、処理を終了するために必要な処理を行う。
【0074】
ここで、上記したM以外の映像バッファのクリア及びMを新たなMとする処理(ステップS12)については、他の構成例として、Mを新たなMとするのではなく、Mのハッシュ値を新たなMとする構成が用いられてもよい。
この場合、署名検証時に、映像データ(M)の読み込み・映像バッファへの格納処理(ステップS21)で映像データ(M)を読み込んだときには、Mのハッシュ値を算出してから、次の映像データ(M)のハッシュ値h0,i算出処理(ステップS4)を行う。映像データ(M)のハッシュ値h0,i算出処理(ステップS4)では、iが1であるときには、映像データMのハッシュ値を算出するのではなく、算出済みのMのハッシュ値のハッシュ値を算出してh0,1とする。
このように、データサイズが大きい映像データではなく、映像データのハッシュ値を扱うようにすることで、メモリ使用量を減じることができる場合がある。
【0075】
なお、本例では、分割された映像データとして、JPEGの1フレームを用いた場合を説明したが、他の構成例として、映像をネットワーク媒体7に伝送する時の1パケットが用いられてもよく、或いは、MPEG(Moving Picture Experts Group)のGOV(Group Of Video object plane)のような単位が用いられてもよい。
また、本例では、映像データに適用した場合を示したが、例えば、映像データだけでなく、音声データや、その他映像に付随するメタデータなどに対して適用することも可能である。
【0076】
以上のように、本例では、複数の映像データに分割することが可能な一連の映像について、署名生成時に、複数の連続する分割された映像データM、M、・・・、M(nは2以上の整数)に対して、予め定められたハッシュ関数を用いてハッシュ値h(M)、h(M)、・・・、h(M)を計算し、これらハッシュ値h(M)、h(M)、・・・、h(M)の全てから、予め定められた処理とハッシュ関数を用いて1つのハッシュ値を生成し、前記1つのハッシュ値に対して署名値を計算し、前記各分割された映像データM(i=1、2、・・・、n)に対して署名Sを生成する方式において、前記1つのハッシュ値に対して署名値を計算する処理をt(tは2以上の整数)回繰り返して実行することで、一連の映像M1(1)、M2(1)、・・・、Mn(1)、M1(2)、M2(2)、・・・、Mn(2)、・・・、M1(t)、M2(t)、・・・、Mn(t)に署名を付与する署名生成装置5と、一連の映像の一部或いは全部の映像の映像データと署名から署名検証を行う署名検証装置6を備えた映像配信システム(映像署名システムの一例)において、a(aは2以上の整数)回目の電子署名実行のときに、分割された映像データM1(a)、M2(a)、・・・、Mn(a)のうちで、M1(a)をMn(a−1)と関連付けられたデータとすることで、署名検証装置6において、(a−1)回目の署名とa回目の署名の連続性を検証することを可能とした。
【0077】
一構成例として、Mn(a−1)と関連付けられたデータであるM1(a)を、分割された映像データMn(a−1)と同一の映像データとする。
他の一構成例として、Mn(a−1)と関連付けられたデータであるM1(a)を、分割された映像データMn(a−1)を所定のハッシュ関数に入力して得られた結果であるハッシュ値とする。
従って、本例では、1回の署名生成の範囲を超えて映像の連続性を検証することができる。
【0078】
なお、本例の映像配信システム(映像署名システムの一例)における署名生成装置5では、図2を例とすると、M1(a)=M4(a−1)として、所定数個(本例では、4個)の映像データであるM1(a)〜M4(a)のそれぞれに対してハッシュ関数hを用いてハッシュ値h0,1(a)〜h0,4(a)を算出する機能により初期ハッシュ値算出手段が構成されており、これら所定数個のハッシュ値h0,1(a)〜h0,4(a)とハッシュ関数hを用いて図2に示される処理手順により1個のハッシュ値h2,1(a)を取得する機能により最終ハッシュ値取得手段が構成されており、この1個のハッシュ値h2,1(a)に対して署名生成エンジン31により署名σ(a)を生成する機能により署名生成手段が構成されている。
また、本例の映像配信システム(映像署名システムの一例)における署名検証装置6では、初期ハッシュ値算出手段と同じ機能により第1の手段が構成されており、最終ハッシュ値取得手段と同じ機能により第2の手段が構成されており、これにより取得された1個のハッシュ値h2,1(a)と署名生成装置5により生成された署名σ(a)を用いて署名検証を行う機能により署名検証手段が構成されている。
【0079】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがROM(Read Only Memory)に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー(登録商標)ディスクやCD(Compact Disc)−ROM等のコンピュータにより読み取り可能な記録媒体や当該プログラム(自体)として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【0080】
【図1】本発明の一実施例に係る映像配信システムの構成例を示す図である。
【図2】本発明の一実施例に係る一連の映像と署名の関連の一例を模式的に示す図である。
【図3】本発明の一実施例に係る署名生成装置により行われる処理の手順の一例を示す図である。
【図4】本発明の一実施例に係る署名検証装置により行われる処理の手順の一例を示す図である。
【図5】受信した映像をリムーバブルメディアに保存する画面の一例を示す図である。
【図6】一連の映像の再生機能と署名検証機能を持つ署名検証画面の一例を示す図である。
【図7】背景技術に係る一連の映像と署名の関連の一例を模式的に示す図である。
【図8】背景技術に係る署名生成装置により行われる処理の手順の一例を示す図である。
【図9】背景技術に係る署名検証装置により行われる処理の手順の一例を示す図である。
【符号の説明】
【0081】
1・・映像生成装置、 2・・映像発信装置、 3・・映像受信装置、 4・・映像蓄積配信サーバ、 5・・署名生成装置、 6・・署名検証装置、 7・・ネットワーク媒体、 11、12・・映像表示装置、 13・・記録媒体、 21・・リムーバブルメディア、 31・・署名生成エンジン、 41・・保存する範囲指定欄、 42・・保存するフォルダ名入力欄、 43・・保存実行ボタン、 51・・映像表示欄、 52・・映像操作ボタン群、 53・・一連の映像データファイル指定欄、 54・・署名検証ボタン、 55、56・・検証結果ダイアログ、

【特許請求の範囲】
【請求項1】
一連の映像に対して署名を生成する署名生成装置と、前記一連の映像の一部又は全部と前記署名を用いて署名検証を行う署名検証装置を有する映像署名システムにおいて、
前記署名生成装置は、前記一連の映像が分割された複数の連続する映像データについて、a(aは2以上の整数)回目の署名においては、(a−1)回目の署名が行われる所定数のデータの内で末尾である前記所定数番目の映像データに関するデータを先頭である1番目のデータとするとともに、前記末尾の映像データに続く(前記所定数−1)個の連続する映像データを2番目から所定数番目のデータとして、これら前記所定数個の各データに対して所定のハッシュ関数を用いてハッシュ値を算出する初期ハッシュ値算出手段と、
前記初期ハッシュ値算出手段により算出された前記所定数個のハッシュ値と所定のハッシュ関数を用いて所定の処理手順により1個のハッシュ値を取得する最終ハッシュ値取得手段と、
前記最終ハッシュ値取得手段により取得されたハッシュ値に対して署名を生成する署名生成手段と、を備え、
前記署名検証装置は、前記初期ハッシュ値算出手段と同じ機能を有する第1の手段と、
前記最終ハッシュ値取得手段と同じ機能を有する第2の手段と、
前記第2の手段により取得されたハッシュ値と前記署名を用いて署名検証を行う署名検証手段と、
を備えたことを特徴とする映像署名システム。
【請求項2】
請求項1に記載の映像署名システムにおいて、
前記初期ハッシュ値算出手段は、前記一連の映像が分割された複数の連続する映像データについて、a回目の署名においては、(a−1)回目の署名が行われる所定数のデータの内で末尾である前記所定数番目の映像データに関するデータを先頭である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


【公開番号】特開2009−253305(P2009−253305A)
【公開日】平成21年10月29日(2009.10.29)
【国際特許分類】
【出願番号】特願2008−94565(P2008−94565)
【出願日】平成20年4月1日(2008.4.1)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】