説明

署名生成装置

【課題】従来、複数の映像をn個まとめて署名することで署名生成の処理負荷を軽減させる署名生成方法が存在するが、署名生成装置のCPUやメモリなどを効率良く利用できるように、適切にnの値を設定することは困難であった。
【解決手段】一の映像データを構成する複数の画像データM(i=1,2,・・・,n、かつ、nは2以上の整数)を受信して各画像データに対するハッシュ値を算出し、これらのハッシュ値から一のハッシュ値を算出し、この一のハッシュ値から一の署名情報を生成し、さらに、この一の署名情報に基づいて、各画像データに対して第二の署名情報Sを生成して付与する署名生成装置であって、nの値を、署名生成装置のCPU使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等に応じて変動させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視カメラ等の撮像装置で撮影された映像(画像)を電子署名してネットワークを介して発信・記録する署名生成装置に関し、特に、複数に分割された映像データに電子署名技術を用いる技術に関する。
【背景技術】
【0002】
従来から、ホテルやビルディング、コンビニエンスストアや金融機関、或いはダムや道路といった公共施設には、犯罪抑止や事故防止等の目的で、映像監視システムが設置されている。映像監視システムでは、監視対象をカメラ等の撮像装置で撮影し、撮影した映像を管理事務所や警備室等の監視センタへ伝送し、監視者がその映像を監視して、目的や必要性に応じて、注意や警告をし、或いは映像を録画や保存する。
【0003】
近年、このような映像監視システムの分野において、ネットワーク型の映像監視システムの普及が進みつつある。ネットワーク型の映像監視システムでは、監視カメラ映像をデジタル化して、インターネットに代表されるIPネットワークを介して、映像を伝送して監視を行う。現在、主流となっているネットワーク型映像監視システムでは、監視カメラに接続された映像発信装置から映像受信装置に向けて、ネットワークを介してライブ映像を配信する。このシステムは、常駐の監視者が、配信された映像(及び音声)を常時視聴し、問題発生時には状況に応じた対応をするといった監視形態に適合したシステムとなっている。
【0004】
一方、映像監視としては、上述のようなライブ映像監視を主体とする「ライブ型監視」の他に、「監視映像を記録や保存して、問題発生時に時間を遡って記録映像を見る」といった「記録型監視」の監視形態もあり、金融機関や商店を中心にこうした「記録型監視」の顧客ニーズが存在する。ネットワーク型映像監視システムでは、このような「記録型監視」のニーズに対応可能な「映像蓄積配信サーバ」を用いることが可能である。
【0005】
また、映像の証拠性を高めるために、映像データに対し、電子署名を行って、ネットワークに流れる映像データ及び記録された映像データの改ざんの検知を可能にする署名つきネットワーク型映像監視システムの普及が進みつつある。
【0006】
ところで、署名処理は他の処理と比較し、非常に負荷の高い処理である。よって、単純に画像1枚毎に署名生成処理を行うと映像データ全体としては署名のための付加データの占める割合が多くなり、署名を生成して映像データに付与する署名生成装置が扱える画像の枚数自体は非常に小さなものになる。そこで、近年、複数の画像についてまとめて署名することによって画像1枚あたりの署名生成の処理負荷を抑え、署名生成装置が多くの映像データを扱うことが可能な署名生成方法が採用されている(例えば、特許文献1)。
【0007】
図8は、このような署名付きネットワーク型映像監視システムの構成例を示す図である。同図において、映像生成装置102にて生成された映像は映像発信装置103により映像データとして署名生成装置110’に送信される(SS1)。署名生成装置110’では受信した映像データに対して署名を生成して付与した後、映像蓄積配信サーバ106に送信する(SS2)。映像蓄積配信サーバ106は、映像受信装置104からの要求等に応じて記録媒体107に記録しておいた署名付き映像データを配信する(SS3)。映像受信装置104に配信された署名付き映像データは、署名検証装置109にて署名の検証が行われる(SS4)。
【0008】
また、図9は、図8を参照して説明した署名付きネットワーク型映像監視システムにおける署名生成装置110’の処理を示すフローチャートである。
【0009】
まず、初期化処理S401では必要なメモリの確保や変数の初期化処理などを行う。
【0010】
次に、映像受信終了判定処理S402では、外部から取得した情報などを用いて、映像受信を続行するか、終了するかの判定処理を行い、終了する場合は終了処理S408に分岐し、続行する場合は映像受信処理S403に分岐する。映像受信処理S403では、映像発信装置103から発信された映像データを受信する処理を行う。一方、終了処理S408では、確保したメモリの解放など、処理を終了するために必要な処理を行う。
【0011】
次に、署名実行判定用フラグ取得処理S404’では、署名を実行するか否かの署名実行フラグを取得する。なお、署名実行フラグは、署名を実行すべきである場合にはONを示す値となっており、署名を実行しない場合にはOFFを示す値となっている。この署名実行判定用フラグ取得処理S404’の詳細は、図10を参照して後に詳述する。
【0012】
次に、署名実行判定処理S405では、取得した署名実行フラグがONを示す値であれば複数画像データの署名生成処理S406に分岐し、署名実行フラグがOFFを示す値であれば映像受信終了判定処理S402に分岐する。
【0013】
複数画像データの署名生成処理S406では、受信済みかつ未署名のn枚(nは2以上の整数)の画像データに対してまとめて署名を生成して映像データに関連づける処理を行う。
【0014】
より具体的には、映像受信処理S403において受信した映像データを複数の画像データに分割し、この画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、この算出された複数のハッシュ値を用いて一のハッシュ値を算出する。
【0015】
さらに、この一のハッシュ値から、署名鍵を用いて署名値を算出する。ここで、署名鍵とは、具体的には、例えば公開鍵暗号方式における公開鍵などである。
【0016】
また、この算出された署名値を用いて、映像データから得られた複数の画像データのそれぞれに対する署名データを生成し、各画像データと関連づける。
【0017】
ここで、画像データと署名データとを「関連づける」とは、画像データと、その画像データの真正性を確かめるための署名データとを対応させることである。より具体的には、例えば、複数の画像データから構成される映像データのバイナリに各画像データの署名データを埋め込んだり、映像データの通信用ヘッダに各画像データの署名データを格納することで、画像データと署名データとを関連づけることが可能である。また、映像データと署名データとを別々に映像蓄積配信サーバ106に送信する場合には、送信する映像データを構成する各画像データと各画像データの署名データとの対応関係を示す情報を、映像データとともに映像蓄積配信サーバ106に送信すること等によって、画像データと署名データとを関連づけることが可能である。
【0018】
図9に戻り、署名配信処理S407では、映像蓄積配信サーバ106などに生成された署名データ(及び映像データ)を配信する。その後、映像受信終了判定処理S402に戻る。
【0019】
次に、図9中の署名実行判定用フラグ取得処理S404’の詳細な内容について、図10を用いて説明する。図10は、従来の署名生成装置110’の署名実行判定用フラグ取得処理S404’の内容を示すフローチャートである。
【0020】
まず、nカウントアップ処理S1001では、署名生成装置110’が取得済みかつ、署名されていない映像データの数であるnの値に「1」を加算する。次に、n閾値判定処理S1002では、「現在のn」の値と署名生成装置110’に予め設定されている「nの閾値」とを比較し、「現在のn」の値が「nの閾値」未満であれば、署名実行フラグOFF処理S1005に分岐する。署名実行フラグOFF処理S1005では、署名実行フラグを、OFFを表す値に設定し、署名実行判定用フラグ取得処理を終了する。また、「現在のn」の値が「nの閾値」以上であれば、nの初期化処理S1003に分岐する。nの初期化処理S1003では、nの値を初期化する(具体的には0にする)。次に、署名実行フラグON処理S1004では、署名実行フラグを、ONを表す値に設定し、署名実行判定用フラグ取得処理を終了する。
【先行技術文献】
【特許文献】
【0021】
【特許文献1】特開2008−178048号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
このように、署名生成装置110’が、より多くの画像をn個まとめて署名生成を行うと、画像1枚あたりの署名生成の処理負荷は1/nに小さくなる。
【0023】
ここで、基本的にはnの値は、映像発信装置103の発信する映像データサイズの最大値や映像データの頻度の最大値、同時に署名する映像発信装置103の装置数の最大値などに基づいて設定される。しかし、実際にはこれら全てが最大値をとることはあり得ないため、このようにして設定されたnの値ではCPU(Central Processing Unit)の性能を使い切れず、無駄が多いという課題があった。また、設定担当者が各値の最大値の見積もりを誤り、結果的に誤ったnの値を設定することによって期待した性能がでない場合があるという課題があった。
【0024】
また、署名生成装置110’が、より多くのn個の画像を1枚にまとめて署名生成を行うことで画像1枚あたりの署名生成の処理負荷が1/nに小さくなる一方で、映像発信装置103から発信済みではあるが、未だ署名が生成されていない画像がより多く存在することになる。すなわち、映像発信装置103から映像が発信される頻度が少ないと、例えば1時間前に発信された映像でも、まだ署名が生成されていないという事態が起こりうる。そうすると、映像受信装置104では、1時間前までの署名付き映像を利用できないことになるという課題があった。
【0025】
また、さらに以下のような問題もあった。
【0026】
署名生成装置110’は、映像データとは別に署名データだけ後で映像蓄積配信サーバ106に配信する場合と、映像データと同時に署名データを配信する場合とがある。後者の場合、署名データは映像データのバイナリに埋め込まれたり、通信のヘッダなど映像データの付加データ領域に格納されたりすること等によって映像蓄積配信サーバ106に配信される。
【0027】
前者の場合、署名生成装置110’は映像データを受信するとハッシュ値だけ算出した後、映像データを映像蓄積配信サーバ106に配信し、複数の画像データをそのように扱った後、ハッシュ値から署名データを生成し、署名データを生成するために利用したハッシュ値と署名データとを映像蓄積配信サーバ106に配信すれば良い。このとき、複数のハッシュ値をメモリ上に保持しておく必要があるが、それらの保持に必要な記憶容量は映像データに比較して小さなものであり、さほど問題とはならない。
【0028】
しかし、後者の場合、署名生成装置110’が、より多くのn個の画像を1枚にまとめて署名生成を行うことで画像1枚あたりの署名生成の処理負荷が1/nに小さくなる一方で、署名生成装置110’において画像データをn枚保持する必要があるので、必要なメモリの使用量が大きくなる。このメモリの使用量が主記憶装置(メインメモリ)の容量を超えると、署名生成装置110’は正常な動作ができなくなるという課題があった。あるいは署名生成装置110’の構成によっては補助記憶装置を使用できるが、低速なアクセスしかできない補助記憶装置を頻繁に使用すると装置全体の性能が低下するという課題があった。
【0029】
本発明は、このような課題を解決するために為されたものであり、まとめて署名する画像の枚数nについて最適な値を動的に選択して署名生成を行う署名生成装置を提供することを目的とする。
【課題を解決するための手段】
【0030】
上記課題を解決するために、本発明は、一の映像データを構成する複数の画像データを受信する受信手段と、前記受信した複数の画像データM(i=1,2,・・・,n、かつ、nは2以上の整数)から前記複数の画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、前記算出された複数のハッシュ値を用いた所定の処理に基づいて一のハッシュ値を算出するハッシュ値算出手段と、前記一のハッシュ値に基づいて一の署名情報を生成する署名情報生成手段と、前記複数の画像データのそれぞれに対して、前記一の署名情報に基づいて第二の署名情報Sを生成して、前記複数の画像データのそれぞれに対して前記第二の署名情報Sを関連づける署名情報付与手段と、前記nの値を、自身内部の、前記映像データの処理状況に関する情報に基づいて変動させる制御手段と、を有する署名生成装置を提案する。これにより、署名生成装置のCPU使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等のような、映像データの処理状況に応じて、まとめて署名すべき画像の枚数であるnの値を変動させることができる。
【0031】
なお、「画像データ」とは、1枚の画像を構成するデータであってもよいし、複数枚の画像を構成するデータであってもよい。画像データが複数枚の画像を構成するデータである場合とは、例えば、MPEG(Moving Picture Experts Group)−1におけるGOP(Group Of Picture)単位のデータである場合等が挙げられる。
【発明の効果】
【0032】
本発明によれば、署名生成装置のCPU使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、などのような映像データの処理状況に応じて、まとめて署名すべき画像の枚数であるnの値を適切に設定することが可能である。すなわち、署名生成装置のCPUやメモリを効率良く利用することができるように、nの値が適切な値に設定される。
【図面の簡単な説明】
【0033】
【図1】映像署名システムの構成例を示す図である。
【図2】署名生成装置110の構成例を示す図である。
【図3】署名生成装置110の構成例を示すブロック図である。
【図4】署名生成装置110の処理の流れを示すフローチャートである。
【図5】署名生成装置110の署名実行判定用フラグ取得処理S404における具体的な処理を示すフローチャートである。
【図6】署名生成装置110の複数画像データの署名生成処理S406における具体的な処理を説明する図である。
【図7】署名検証装置109の署名の検証における具体的な処理を説明する図である。
【図8】従来の映像監視システムの構成例を示す図である。
【図9】従来の署名生成装置110’の処理の流れを示すフローチャートである。
【図10】従来の署名生成装置110’の署名実行判定用フラグ取得処理S404’における具体的な処理を示すフローチャートである。
【発明を実施するための形態】
【0034】
本発明の実施形態について、図面を参照しながら、以下に説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
【0035】
(実施形態1)
(映像署名システムの構成)
図1は、本発明に係る署名生成装置を利用した映像署名システムの構成例を示す。図1に示す映像署名システムは、ネットワーク媒体101、映像生成装置102、映像発信装置103、映像受信装置104、映像表示装置105A及び105B、映像蓄積配信サーバ106、記録媒体107、リムーバブルメディア108、署名検証装置109、署名生成装置110により構成される。なお、図1における各装置間の処理の流れ(SS1、SS2、SS3、SS4)については図8と同様であるので、ここでの説明は省略する。
【0036】
ネットワーク媒体101は、例えば、ネットワークケーブルや無線LAN、公衆回線等であり、発信されたデータを伝送する役割を持つ。また、ここにはルータやハブ等のネットワーク機器も含む。映像発信装置103、映像受信装置104、映像蓄積配信サーバ106、署名生成装置110は、ネットワーク媒体101に接続され、互いに通信できるようになっている。
【0037】
映像生成装置102は、例えば、カメラといった撮像素子を持った映像生成装置であり、入力される光を電気信号に変換して映像データを生成する役割を持つ。
【0038】
映像発信装置103は、例えば、映像生成装置102からの映像データを受け取るインターフェイス、画像コーデック、ネットワークインターフェイス等を内蔵したエンコーダ装置であり、映像生成装置102からの入力映像をネットワーク伝送に適した形に変換し、ネットワーク媒体101を介して署名生成装置110に送信する役割を持つ。具体的には、例えば、映像生成装置102からの入力映像がアナログ映像信号であった場合にはデジタル映像データに変換したり、ネットワーク媒体101の伝送帯域によって圧縮処理を施す等の処理を行う。なお、映像生成装置102と映像発信装置103とは、1つの装置として結合された形態であってもよい。
【0039】
映像受信装置104は、例えば、ネットワークインターフェイス、画像コーデック、映像表示装置105Aに映像を出力するインターフェイス、リムーバブルメディア108へのインターフェイス等を内蔵したデコーダ装置であり、ネットワーク媒体101を介して映像蓄積配信サーバから送信されてきた映像データを受信し、映像表示装置105Aが表示可能な形に変換し出力する等の役割を持つ。例えば、映像表示装置105Aがテレビモニタであった場合には、アナログ映像信号への変換処理を行ったり、受信した映像データが圧縮された映像データであった場合には、画像コーデックを使って伸張処理を施す等の処理を行う。
【0040】
また、映像受信装置104は、映像蓄積配信サーバ106より署名付きの映像を受信し、受信した署名情報および映像データを署名検証装置109において検証可能な方式でリムーバブルメディア108に保存する。この保存処理は、映像受信装置104を操作するユーザの指定によってなされてもよいし、映像受信装置104内のソフトウェアによって自動的になされてもよい。
【0041】
映像表示装置105A、105Bは、例えば、テレビモニタ、コンピュータのCRT(Cathode Ray Tube)、液晶モニタといった投影素子を持った映像表示装置で、電気信号を光に変えて映像を表示する役割を持つ。
【0042】
また、映像受信装置104は、映像蓄積配信サーバ106に対し、再生や早送り等の再生指示を行う操作インターフェイスも内蔵する。この操作インターフェイスは、例えば、コンピュータ画面のGUI(Graphical User Interface)、あるいは、映像受信装置104に接続された制御盤端末でも良い。
【0043】
なお、映像受信装置104と映像表示装置105Aとは、1つの装置として結合された形態であってもよい。例えば、テレビモニタに映像受信装置104が内蔵された形態、CRTを接続したコンピュータの形態、あるいは、表示装置を備えた携帯電話等の携帯端末装置の形態などが挙げられる。
【0044】
映像蓄積配信サーバ106は、例えば、ネットワークインターフェイスや記録媒体107へのインターフェイスを内蔵したコンピュータであり、映像発信装置103あるいは署名生成装置110からネットワーク媒体101を介して伝送されてきた映像データあるいは署名付き映像データを受信して接続された記録媒体107に記録する役割と、映像受信装置104からの映像配信要求等に応じて記録媒体107より要求された映像データあるいは署名付き映像データを取出し、ネットワーク媒体101を介して映像受信装置104に配信する役割を持つ。
【0045】
記録媒体107は、例えば、ハードディスクやディスクアレイ等の映像データを記録する媒体であり、映像蓄積配信サーバ106とは、例えば、SCSI(Small Computer System Interface)、ATA(AT Attachment)、Fibre Channelといった専用のインターフェイス、または、SAN(Storage Area Network)、NAS(Network Attached Storage)等のIPネットワークを用いたインターフェイス等によって接続される。
【0046】
リムーバブルメディア108は、例えば、DVD−RAM、MO、CD−RW等の光メディアとドライブの組み合わせ、あるいは、着脱可能なケースに装着されたハードディスク、USB(Universal Serial Bus)やIEEE1394といった着脱可能なインターフェイスを内蔵したハードディスク、メモリカード等であり、映像データを保存する役割を持つ媒体である。リムーバブルメディア108は、映像受信装置104あるいは署名検証装置109とは、例えば、SCSI、ATA、Fibre Channel等の専用のインターフェイス、または、SANやNAS等のIPネットワークを用いたインターフェイス、さらには、USBやIEEE1394等の通電中でも着脱可能なインターフェイス等によって接続される。
【0047】
署名検証装置109は、例えば、画像コーデック、映像表示装置105Bに映像を出力するインターフェイス、リムーバブルメディア108へのインターフェイス等を内蔵したデコーダ装置であり、リムーバブルメディア108内に記録された署名付き映像データを、映像表示装置105Bが表示可能な形に変換して出力する役割を持つ。例えば、映像表示装置105Bがテレビモニタであった場合には、アナログ映像信号への変換処理を行う。また、映像データに関連づけられている署名について所定の検証鍵を用いて署名検証処理を行う。また、映像データが圧縮された映像データであった場合には、画像コーデックを使って伸張処理を施す。なお、署名検証装置109と映像表示装置105Bとは、1つの装置として結合された形態であってもよい。あるいは、また、署名検証装置109と映像受信装置104とは、1つの装置として結合された形態でもよい。
【0048】
署名生成装置110は、例えば、ネットワークインターフェイスを内蔵した装置であり、映像発信装置103から受信した映像データの署名データを生成し、ネットワーク媒体101を介して映像蓄積配信サーバに送信する役割を持つ。なお、署名生成装置110は複数の映像発信装置103からの映像データを同時に処理し、署名データの生成を行う形態でもよい。
【0049】
また、署名生成装置110は、映像データとは別に、署名データだけ後で映像蓄積配信サーバ106に配信する場合と、映像データと同時に映像データのバイナリに埋め込むか、通信のヘッダなど映像データの付加データ領域に格納する等によって映像蓄積配信サーバ106に配信することが可能である。
【0050】
また、図2に示すように、署名生成装置110は、受信部201と、ハッシュ値算出部202と、署名情報生成部203と、署名情報付与部204と、送信部205と、制御部206と、を有する。各部の動作については、後述する。
【0051】
なお、署名生成装置110と映像発信装置103とは、1つの装置として結合された形態であってもよい。また、署名生成装置110と映像蓄積配信サーバ106とは、1つの装置として結合された形態であってもよい。また、署名生成装置110と映像発信装置103と映像蓄積配信サーバ106の3つの装置が1つの装置として結合された形態であってもよい。
【0052】
また、図1においては、各装置は1台ずつである場合を示しているが、これらは互いに、複数台接続されることが可能である。また、映像蓄積配信サーバ106は、複数の署名生成装置110から発信されたそれぞれ異なった複数の映像データを同時に受信し記録を行いながら、さらに並行して、複数の映像受信装置104へ、それぞれ異なった複数の任意の映像データを同時に配信することが可能である。
【0053】
ここで、署名生成装置110での映像データの署名生成、映像受信装置104及び署名検証装置109での映像データの署名検証には、鍵と呼ばれるデータが必要である。ここで、署名生成と署名検証においては、生成と検証に同じ鍵を用いる共通鍵暗号方式を応用したHMAC(keyed−Hashing for Message Authentication Code)のような方式を用いても良いし、生成と検証に異なる鍵を用いる公開鍵暗号方式を応用したデジタル署名のような方式を用いても良い。デジタル署名技術の一例として、RSA−PSS(RSA Probabilistic Signature Scheme)方式が挙げられる。
【0054】
(署名生成装置の具体的な構成)
ここで、署名生成装置110のより具体的な構成について説明する。図3は、署名生成装置110の構成例を示すブロック図である。図3に示すように、署名生成装置110は、CPU301、不揮発性記憶装置302、RAM303、ネットワークインターフェイス304、等を備えている。
【0055】
不揮発性記憶装置302には、映像データ受信モジュール311、ハッシュ値算出モジュール312、署名情報生成モジュール313、署名情報付与モジュール314、映像データ送信モジュール315、制御モジュール316が保持されている。このうち、ハッシュ値算出モジュール312、署名情報生成モジュール313、署名情報付与モジュール314は、署名を生成して映像データに関連づけるための署名プログラム317を構成するモジュールである。
【0056】
また、映像データ受信モジュール311、ハッシュ値算出モジュール312、署名情報生成モジュール313、署名情報付与モジュール314、映像データ送信モジュール315、制御モジュール316は、それぞれ、受信部201、ハッシュ値算出部202、署名情報生成部203、署名情報付与部204、送信部205、制御部206を実現するためのモジュールである。
【0057】
このような構成において、不揮発性記憶装置302に記憶されている各モジュール311、312、313、314、315、316は、必要に応じてRAM303をワークエリアとして展開され、これらがCPU301にて実行されることで、各種の処理が行われる。
【0058】
また、不揮発性記憶装置302には、署名情報生成モジュール313にて署名値を算出するために使用される署名鍵も記憶されている。
【0059】
また、映像データ受信モジュール311によって映像発信装置103から発信された映像データを受信した場合には、その映像データはRAM303や不揮発性記憶装置302に記憶される。
【0060】
また、ネットワークインターフェイス304は、ネットワーク媒体101を介して、映像発信装置103、映像蓄積配信サーバ106等と有線又は無線で接続するための有線又は無線の通信インターフェイスである。具体的には、光ファイバ、同軸ケーブル、無線等により通信を行うためのインターフェイスである。
【0061】
なお、署名検証装置109の構成も図3の署名生成装置110の構成と同様である。すなわち、映像受信装置104が保存した署名付き映像データをリムーバブルメディア108から読み出し、映像データに関連づけられている署名について検証を行う検証モジュールが不揮発性記憶装置302に記憶されている。そして、この検証モジュールは、必要に応じてRAM303をワークエリアとして展開され、CPU301にて実行されることで、署名検証の処理が行われる。なお、署名の検証に必要な検証鍵は、不揮発性記憶装置302等に記憶されている。
【0062】
(署名生成装置の動作)
図4は、本実施形態に係る署名生成装置110の処理の流れを示すフローチャートである。
【0063】
図4に示す署名生成装置110における処理は、基本的には、図10に示した従来の署名生成装置110’における処理と同様である。
【0064】
なお、図4に示す処理のうち、映像受信処理S403の処理は受信部201にて実行される。また、複数画像データの署名生成処理S406の処理はハッシュ値算出部202、署名情報生成部203、署名情報付与部204にて実行される。また、署名配信処理S407の処理は送信部205にて実行される。
【0065】
(署名実行判定用フラグ取得処理の詳細)
次に、図4中の署名実行判定用フラグ取得処理S404の詳細な内容について、図5を用いて説明する。図5は、署名実行判定用フラグ取得処理S404における具体的な処理を示すフローチャートである。
【0066】
まず、CPU使用率判定処理S501では、署名生成装置110のCPU使用率をハードウェアから取得し、CPU使用率が70%未満であれば、nの閾値減算処理S502に分岐し、CPU使用率が90%以上であれば、nの閾値加算処理S503に分岐し、CPU使用率が70%以上かつ90%未満であれば、メモリ使用率判定処理S504に分岐する。nの閾値減算処理S502では「nの閾値」から値αを減算する処理を行い、その後、メモリ使用率判定処理S504に遷移する。また、nの閾値加算処理S503では「nの閾値」に値αを加算する処理を行い、その後、メモリ使用率判定処理S504に遷移する。
【0067】
ここで、「nの閾値」を減少させるということは、まとめて署名生成する画像データの数を少なくすることになり、署名生成装置110が使用可能なCPU使用率を大きくすることになる。逆に「nの閾値」を増加させるということは、まとめて署名生成する画像データの数を多くすることになり、署名生成装置110が使用可能なCPU使用率を小さくすることになる。また、値αは例えば規定の値(例えば1)でも良いし、例えば「nの閾値」×0.1のような「nの閾値」の割合に基づいた値でも良い。
【0068】
次に、メモリ使用率判定処理S504では、署名生成装置110のメインメモリの使用率をハードウェアから取得して判定する処理を行う。例えば、メインメモリ使用率が70%未満であれば、メモリ使用量の閾値加算処理S505に分岐し、メインメモリ使用率が90%以上であれば、メモリ使用量の閾値減算処理S506に分岐し、メインメモリ使用率が70%以上かつ90%未満であれば、n・メモリ使用量・経過時刻の更新処理S507に分岐する。
【0069】
メモリ使用量の閾値加算処理S505では値βを加算して「メモリ使用量の閾値」を増加させる処理を行い、その後、n・メモリ使用量・経過時刻の更新処理S507に遷移する。メモリ使用量の閾値減算処理S506では値βを減算して「メモリ使用量の閾値」を減少させる処理を行い、その後、n・メモリ使用量・経過時刻の更新処理S507に遷移する。
【0070】
ここで、「メモリ使用量の閾値」を増加させるということは、まとめて署名生成する画像データの数を大きくすることになり、署名生成装置110が使用可能なメモリ使用量を少なくすることになる。逆に「メモリ使用量の閾値」を減少させるということは、まとめて署名生成する画像データの数を小さくすることになり、署名生成装置110が使用可能なメモリ使用量を多くすることになる。また、値βは例えば規定の値(例えば10Kバイト)でも良いし、例えば「メモリ使用量の閾値」×0.1のような「メモリ使用量の閾値」の割合に基づいた値でも良い。
【0071】
n・メモリ使用量・経過時刻の更新処理S507では、署名生成装置110が取得済みかつ、署名されていない画像データの数である「現在のn」の値に1を加算し、「現在のメモリ使用量」に今回の画像データ受信によって追加される分のメモリ使用量を加算し、「現在の経過時刻」に前回の画像データ取得からの経過時間を加算する。
【0072】
次に、現在のn閾値判定処理S508は「現在のn」の値と「nの閾値」とを比較し、「現在のn」の値が「nの閾値」未満であれば、メモリ使用量閾値判定処理S509に分岐する。「現在のn」の値が「nの閾値」以上であれば、n・メモリ使用量・経過時刻の初期化処理S511に分岐する。
【0073】
メモリ使用量閾値判定処理S509は「現在のメモリ使用量」の値と「メモリ使用量の閾値」とを比較し、「現在のメモリ使用量」が「メモリ使用量の閾値」未満であれば、経過時刻閾値判定処理S510に分岐する。「現在のメモリ使用量」が「メモリ使用量の閾値」以上であれば、n・メモリ使用量・経過時刻の初期化処理S511に分岐する。
【0074】
経過時刻閾値判定処理S510は「現在の経過時刻」の値と「経過時刻の閾値」とを比較し、「現在の経過時刻」が「経過時刻の閾値」未満であれば、署名実行フラグOFF処理405に分岐する。「現在の経過時刻」が「経過時刻の閾値」以上であれば、n・メモリ使用量・経過時刻の初期化処理S511に分岐する。
【0075】
n・メモリ使用量・経過時刻の初期化処理S511は、「現在のn」の値を初期化する(具体的には0にする)。また、「現在のメモリ使用量」の値を初期化する(具体的には0にする)。また、「現在の経過時刻」の値を初期化する(具体的には0にする)。その後、署名実行フラグON処理S512に遷移する。
【0076】
次に、署名実行フラグON処理S512では署名実行フラグを、ONを表す値に設定し、署名実行判定用フラグ取得処理を終了する。また、署名実行フラグOFF処理S513では署名実行フラグを、OFFを表す値に設定し、署名実行判定用フラグ取得処理を終了する。
【0077】
以上のような署名実行判定用フラグ取得処理S404の終了後、署名実行判定処理S405において署名実行フラグONであれば、複数画像データの署名生成処理S406を行うが、このとき、n閾値判定処理S508で、「現在のn」の値が「nの閾値」以上であれば、まとめて署名する枚数nは「nの閾値」と同じになる。また、メモリ使用量閾値判定処理S509で、「現在のメモリ使用量」が「メモリ使用量の閾値」以上であれば、まとめて署名する枚数nはこの判定処理が行われた時点の「現在のn」の値と同じになる。同様に、経過時刻閾値判定処理S510で、「現在の経過時刻」が「経過時刻の閾値」以上であれば、まとめて署名する枚数nはこの判定処理が行われた時点の「現在のn」の値と同じになる。
【0078】
以上のような処理を行うことで、まとめて署名する枚数nが動的に変更され、処理負荷の高い場合、メモリ使用率の高い場合、あるいは映像取得頻度が低く前回署名してから相当の時間が経過した場合には、適切なnの値で画像データをまとめて署名することが可能になる。
【0079】
また、本実施形態では、CPU使用率判定処理S501あるいはメモリ使用率判定処理S504の判定結果によって、「nの閾値」あるいは「メモリ使用量の閾値」を変更しているが、これによってCPU使用率あるいはメモリ使用率が70%〜90%の間で安定する効果がある。なお、本実施形態ではCPU使用率判定処理S501及びメモリ使用率判定処理S504の判定に70%未満及び90%以上という値を例として用いたが、これは別の値であってもよい。
【0080】
また、メインメモリの使用率を用いるのではなく、単位時間内のメモリスワップの頻度や大きさに基づいて「メモリ使用量の閾値」を変更するようにしても良い。
【0081】
(実施形態2)
(映像署名システムの構成)
本実施形態に係る署名生成装置を利用した映像署名システムは、署名生成装置110において、図4の複数画像データの署名生成処理S406にて複数の画像データのそれぞれに対する複数のハッシュ値から一のハッシュ値を生成する際に、ハッシュ木を用いて複数のハッシュ値を連結して一のハッシュ値を生成する点が特徴である。
【0082】
本実施形態に係る映像署名システム及び署名生成装置110のハードウェア構成は、それぞれ、実施形態1における映像署名システム、署名生成装置110のハードウェア構成と同様である。
【0083】
また、署名生成装置110の動作については、基本的には図4に示した動作と同様であるが、本実施形態に係る署名生成装置110の特徴は複数画像データの署名生成処理S406における処理にあるので、この点について、以下、詳細に説明する。
【0084】
(署名生成装置における複数画像データの署名生成処理の詳細)
図6は、署名生成装置110の複数画像データの署名生成処理S406における具体的な処理を説明する図である。図6では、8個の画像データM,M,・・・,Mに対して署名付き画像データを生成する場合(すなわち、n=8である場合)について示す。
【0085】
本実施形態に係る署名生成装置では、図6に示すように、画像データから算出されるハッシュ値を2つ連結してさらにハッシュ値を算出するハッシュ木の構造を用いる。
【0086】
まず、ハッシュ値算出部202は、RAM303や不揮発性記憶装置302等に記憶されている各画像データに1〜8までの自然数の連番を付すことにより、画像データM,M,・・・,Mとし、各画像データM(i=1,2,・・・,8)の0段目のハッシュ値h0,iを算出する。
【0087】
次に、各画像データMのハッシュ値h0,iを順番に2個ずつ連結した値h0,j||h0,j+1(j=1,3,5,7)を算出し、これらの値から1段目のハッシュ値h1,k(k=1,2,3,4)を算出する。なお、1段目では、0段目のハッシュ値を二つ連結しているため、4(=8/2)個のハッシュ値が算出されることになる。
【0088】
以上のように、ハッシュ値算出部202においては、m段目(mは0又は正の整数)のハッシュ値を2個ずつ連結したhm,p||hm,p+1(pは奇数の正の整数)に対するハッシュ値を計算する処理をハッシュ値が一つになるまで繰り返して最終的にハッシュ値h3,1を算出する。その後、署名情報生成部203において、算出されたハッシュ値h3,1と不揮発性記憶装置302等に記憶されている署名鍵とを用いてハッシュ値h3,1から署名値σを算出する。
【0089】
そして、署名情報付与部204は、任意の画像データMから算出されるハッシュ値に連結されたハッシュ値と、算出した署名値σと、画像データMの番号(ハッシュ木に入力する位置)を特定する情報と、を有する署名Sを生成し、映像データMに添付することで、署名付き映像データを生成する。
【0090】
例えば、署名付き画像データを生成する映像データをMとすると、映像データMから算出されるハッシュ値(h0,5、h1,3、h2,2)に連結されるハッシュ値は、h0,6、h1,4、h2,1であるため、これらのハッシュ値を署名Sに含める。なお、これらのハッシュ値は、画像データMから算出されるハッシュ値に連結する順序がわかるように署名Sに含めておく(図6では、連結する順に署名Sに含めるようにしている)。
【0091】
なお、複数の画像データM,・・・,Mは必ずしも時系列に沿って連続する映像とは限らない。
【0092】
(署名検証装置における複数画像データの署名検証処理の詳細)
次に、署名検証装置109における署名の検証について具体的に説明する。ここでは、署名生成装置110において、図6にて示したような署名生成方法によって8個の画像データM,M,・・・,Mに関して署名付き画像データが生成されて配信された場合に、署名検証装置109にて各署名Sの検証を行う場合について説明する。
【0093】
まず、署名付き画像データより画像データMを抽出して、ハッシュ木の0段目のハッシュ値h0,iを算出する。
【0094】
次に、署名付き画像データよりハッシュ木の0段目のハッシュ値h0,a(aは、iが奇数の場合にはa=i+1、偶数の場合には、a=i−1)を抽出し、算出したハッシュ値h0,iに連結して(iが奇数の場合にはh0,i||h0,a、iが偶数の場合にはh0,a||h0,i)、ハッシュ木の1段目のハッシュ値h1,b(bは、iが奇数の場合にはb=(i+1)/2、偶数の場合には、b=i/2)を算出する。
【0095】
図7は、署名検証装置109において、画像データMについての署名Sを検証する場合を示す。
【0096】
署名検証装置109は、まず、画像データMから算出されるハッシュ値h0,5に、署名付き画像データに含まれているハッシュ値h0,6を連結した値(h0,5||h0,6)から、ハッシュ値h1,3を算出する。署名検証装置109は、この処理を署名付き画像データに含まれている全てのハッシュ値を連結するまで繰り返し行うことで、最終的にハッシュ値h3,1を算出する。
【0097】
さらに、署名付き画像データに含まれている署名値σと、不揮発性記憶装置等に記憶されている検証鍵とを用いて署名値σから検証値を算出する。
【0098】
そして、署名検証装置109は、算出したハッシュ値h3,1と、算出した検証値とが一致する場合には、映像データMの真正性が検証されたと判断する。
【0099】
(まとめ)
以上説明したように、本発明によれば、署名生成装置のCPU使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等に応じて、まとめて署名を生成すべき画像の枚数nの値を適切に設定することが可能である。すなわち、署名生成装置のCPUやメモリを効率良く利用することができるように、nの値が適切な値に設定される。
【0100】
(請求項に関する付記)
本発明については、請求項の記載に関して、以下の態様が考えられる。
【0101】
(請求項2)
前記制御手段は、単位時間あたりの処理装置使用率、画像データMを受信してから所定の時間が経過すること、及び、前記複数の画像データMの処理に使用されているメモリ使用量が所定容量に達すること、の少なくとも一つに基づいて、nの値を変動させることを特徴とする請求項1に記載の署名生成装置。これにより、署名生成装置のCPUの使用状況、メモリの使用状況、画像データの受信状況の少なくとも一つに応じて、nの値を適切な値に設定することが可能である。
【0102】
(請求項3)
前記制御手段は、前記複数の画像データMの処理に使用されているメモリ使用量が所定容量に達することに基づいてnの値を変動させる場合には、前記所定容量は、単位時間あたりの自身内部の、主記憶装置の使用率、又は補助記憶装置の使用頻度に基づいて変動することを特徴とする請求項2に記載の署名生成装置。これにより、署名生成装置の主記憶装置の使用率又は補助記憶装置の使用頻度に基づいて、画像データMの処理に使用されるメモリ量の上限が決定される。
【0103】
(請求項4)
前記ハッシュ値算出手段は、前記複数の画像データのそれぞれに対する各ハッシュ値のうちいずれかを複数組み合わせてハッシュ値を算出する処理を繰り返すことで前記一のハッシュ値を算出し、前記署名情報付与手段は、前記第二の署名情報Sを、前記一の署名情報と、前記一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含むように生成すること、を特徴とする請求項1から3のいずれか一に記載の署名生成装置。これにより、署名情報のデータ長を比較的短くすることが可能となり、メモリ容量や通信帯域を圧迫せずに映像の署名及び署名の検証を行うことができる。
【0104】
(請求項5)
請求項1から4のいずれか一に記載の署名生成装置と、前記署名生成装置から送信される、前記第二の署名情報Sが関連づけられている前記映像データを受信して、この映像データを構成する複数の画像データの一部又は全部の画像データ、及び、これらの画像データに関連づけられている署名情報Sと、によって署名の検証を行う署名検証装置と、からなる映像署名システム。これにより、署名生成装置のCPU使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等に応じて、まとめて署名すべき画像の枚数nの値が適切に設定されるので、効率良く、映像の署名及び署名の検証を行うことができる。
【0105】
(請求項6)
一の映像データを構成する複数の画像データを受信する受信ステップと、前記受信した複数の画像データM(i=1,2,・・・,n、かつ、nは2以上の整数)から前記複数の画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、前記算出された複数のハッシュ値を用いた所定の処理に基づいて一のハッシュ値を算出するハッシュ値算出ステップと、前記一のハッシュ値に基づいて一の署名情報を生成する署名情報生成ステップと、前記複数の画像データのそれぞれに対して、前記一の署名情報に基づいて第二の署名情報Sを生成して、前記複数の画像データのそれぞれに対して前記第二の署名情報Sを関連づける署名情報付与ステップと、を有する署名生成方法であって、前記nの値は、自身内部の、前記映像データの処理状況に関連する情報に基づいて変動することを特徴とする署名生成方法。これにより、署名生成装置のCPU使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、などのような映像データの処理状況に応じて、まとめて署名すべき画像の枚数であるnの値を適切に設定することが可能である。すなわち、署名生成装置のCPUやメモリを効率良く利用することができるように、nの値が適切な値に設定される。
【符号の説明】
【0106】
101 ネットワーク媒体
102 映像生成装置
103 映像発信装置
104 映像受信装置
105A、105B 映像表示装置
106 映像蓄積配信サーバ
107 記録媒体
108 リムーバブルメディア
109 署名検証装置
110、110’ 署名生成装置
201 受信部
202 ハッシュ値算出部
203 署名情報生成部
204 署名情報付与部
205 送信部
206 制御部
301 CPU
302 不揮発性記憶装置
303 RAM
304 ネットワークインターフェイス
311 映像データ受信モジュール
312 ハッシュ値算出モジュール
313 署名情報生成モジュール
314 署名情報付与モジュール
315 映像データ送信モジュール
316 制御モジュール
317 署名プログラム

【特許請求の範囲】
【請求項1】
一の映像データを構成する複数の画像データを受信する受信手段と、
前記受信した複数の画像データM(i=1,2,・・・,n、かつ、nは2以上の整数)から前記複数の画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、前記算出された複数のハッシュ値を用いた所定の処理に基づいて一のハッシュ値を算出するハッシュ値算出手段と、
前記一のハッシュ値に基づいて一の署名情報を生成する署名情報生成手段と、
前記複数の画像データのそれぞれに対して、前記一の署名情報に基づいて第二の署名情報Sを生成して、前記複数の画像データのそれぞれに対して前記第二の署名情報Sを関連づける署名情報付与手段と、
前記nの値を、自身内部の、前記映像データの処理状況に関する情報に基づいて変動させる制御手段と、
を有する署名生成装置。

【図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


【公開番号】特開2010−245590(P2010−245590A)
【公開日】平成22年10月28日(2010.10.28)
【国際特許分類】
【出願番号】特願2009−88841(P2009−88841)
【出願日】平成21年4月1日(2009.4.1)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】