(57)【要約】【課題】従来、複数の映像をｎ個まとめて署名することで署名生成の処理負荷を軽減させる署名生成方法が存在するが、署名生成装置のＣＰＵやメモリなどを効率良く利用できるように、適切にｎの値を設定することは困難であった。【解決手段】一の映像データを構成する複数の画像データＭｉ（ｉ＝１，２，・・・，ｎ、かつ、ｎは２以上の整数）を受信して各画像データに対するハッシュ値を算出し、これらのハッシュ値から一のハッシュ値を算出し、この一のハッシュ値から一の署名情報を生成し、さらに、この一の署名情報に基づいて、各画像データに対して第二の署名情報Ｓｉを生成して付与する署名生成装置であって、ｎの値を、署名生成装置のＣＰＵ使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等に応じて変動させる。【選択図】  図１
2010245590.tif 000002
【特許請求の範囲】
【請求項１】
一の映像データを構成する複数の画像データを受信する受信手段と、
前記受信した複数の画像データＭｉ（ｉ＝１，２，・・・，ｎ、かつ、ｎは２以上の整数）から前記複数の画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、前記算出された複数のハッシュ値を用いた所定の処理に基づいて一のハッシュ値を算出するハッシュ値算出手段と、
前記一のハッシュ値に基づいて一の署名情報を生成する署名情報生成手段と、
前記複数の画像データのそれぞれに対して、前記一の署名情報に基づいて第二の署名情報Ｓｉを生成して、前記複数の画像データのそれぞれに対して前記第二の署名情報Ｓｉを関連づける署名情報付与手段と、
前記ｎの値を、自身内部の、前記映像データの処理状況に関する情報に基づいて変動させる制御手段と、
を有する署名生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視カメラ等の撮像装置で撮影された映像（画像）を電子署名してネットワークを介して発信・記録する署名生成装置に関し、特に、複数に分割された映像データに電子署名技術を用いる技術に関する。
【背景技術】
【０００２】
従来から、ホテルやビルディング、コンビニエンスストアや金融機関、或いはダムや道路といった公共施設には、犯罪抑止や事故防止等の目的で、映像監視システムが設置されている。映像監視システムでは、監視対象をカメラ等の撮像装置で撮影し、撮影した映像を管理事務所や警備室等の監視センタへ伝送し、監視者がその映像を監視して、目的や必要性に応じて、注意や警告をし、或いは映像を録画や保存する。
【０００３】
近年、このような映像監視システムの分野において、ネットワーク型の映像監視システムの普及が進みつつある。ネットワーク型の映像監視システムでは、監視カメラ映像をデジタル化して、インターネットに代表されるＩＰネットワークを介して、映像を伝送して監視を行う。現在、主流となっているネットワーク型映像監視システムでは、監視カメラに接続された映像発信装置から映像受信装置に向けて、ネットワークを介してライブ映像を配信する。このシステムは、常駐の監視者が、配信された映像（及び音声）を常時視聴し、問題発生時には状況に応じた対応をするといった監視形態に適合したシステムとなっている。
【０００４】
一方、映像監視としては、上述のようなライブ映像監視を主体とする「ライブ型監視」の他に、「監視映像を記録や保存して、問題発生時に時間を遡って記録映像を見る」といった「記録型監視」の監視形態もあり、金融機関や商店を中心にこうした「記録型監視」の顧客ニーズが存在する。ネットワーク型映像監視システムでは、このような「記録型監視」のニーズに対応可能な「映像蓄積配信サーバ」を用いることが可能である。
【０００５】
また、映像の証拠性を高めるために、映像データに対し、電子署名を行って、ネットワークに流れる映像データ及び記録された映像データの改ざんの検知を可能にする署名つきネットワーク型映像監視システムの普及が進みつつある。
【０００６】
ところで、署名処理は他の処理と比較し、非常に負荷の高い処理である。よって、単純に画像１枚毎に署名生成処理を行うと映像データ全体としては署名のための付加データの占める割合が多くなり、署名を生成して映像データに付与する署名生成装置が扱える画像の枚数自体は非常に小さなものになる。そこで、近年、複数の画像についてまとめて署名することによって画像１枚あたりの署名生成の処理負荷を抑え、署名生成装置が多くの映像データを扱うことが可能な署名生成方法が採用されている（例えば、特許文献１）。
【０００７】
図８は、このような署名付きネットワーク型映像監視システムの構成例を示す図である。同図において、映像生成装置１０２にて生成された映像は映像発信装置１０３により映像データとして署名生成装置１１０’に送信される（ＳＳ１）。署名生成装置１１０’では受信した映像データに対して署名を生成して付与した後、映像蓄積配信サーバ１０６に送信する（ＳＳ２）。映像蓄積配信サーバ１０６は、映像受信装置１０４からの要求等に応じて記録媒体１０７に記録しておいた署名付き映像データを配信する（ＳＳ３）。映像受信装置１０４に配信された署名付き映像データは、署名検証装置１０９にて署名の検証が行われる（ＳＳ４）。
【０００８】
また、図９は、図８を参照して説明した署名付きネットワーク型映像監視システムにおける署名生成装置１１０’の処理を示すフローチャートである。
【０００９】
まず、初期化処理Ｓ４０１では必要なメモリの確保や変数の初期化処理などを行う。
【００１０】
次に、映像受信終了判定処理Ｓ４０２では、外部から取得した情報などを用いて、映像受信を続行するか、終了するかの判定処理を行い、終了する場合は終了処理Ｓ４０８に分岐し、続行する場合は映像受信処理Ｓ４０３に分岐する。映像受信処理Ｓ４０３では、映像発信装置１０３から発信された映像データを受信する処理を行う。一方、終了処理Ｓ４０８では、確保したメモリの解放など、処理を終了するために必要な処理を行う。
【００１１】
次に、署名実行判定用フラグ取得処理Ｓ４０４’では、署名を実行するか否かの署名実行フラグを取得する。なお、署名実行フラグは、署名を実行すべきである場合にはＯＮを示す値となっており、署名を実行しない場合にはＯＦＦを示す値となっている。この署名実行判定用フラグ取得処理Ｓ４０４’の詳細は、図１０を参照して後に詳述する。
【００１２】
次に、署名実行判定処理Ｓ４０５では、取得した署名実行フラグがＯＮを示す値であれば複数画像データの署名生成処理Ｓ４０６に分岐し、署名実行フラグがＯＦＦを示す値であれば映像受信終了判定処理Ｓ４０２に分岐する。
【００１３】
複数画像データの署名生成処理Ｓ４０６では、受信済みかつ未署名のｎ枚（ｎは２以上の整数）の画像データに対してまとめて署名を生成して映像データに関連づける処理を行う。
【００１４】
より具体的には、映像受信処理Ｓ４０３において受信した映像データを複数の画像データに分割し、この画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、この算出された複数のハッシュ値を用いて一のハッシュ値を算出する。
【００１５】
さらに、この一のハッシュ値から、署名鍵を用いて署名値を算出する。ここで、署名鍵とは、具体的には、例えば公開鍵暗号方式における公開鍵などである。
【００１６】
また、この算出された署名値を用いて、映像データから得られた複数の画像データのそれぞれに対する署名データを生成し、各画像データと関連づける。
【００１７】
ここで、画像データと署名データとを「関連づける」とは、画像データと、その画像データの真正性を確かめるための署名データとを対応させることである。より具体的には、例えば、複数の画像データから構成される映像データのバイナリに各画像データの署名データを埋め込んだり、映像データの通信用ヘッダに各画像データの署名データを格納することで、画像データと署名データとを関連づけることが可能である。また、映像データと署名データとを別々に映像蓄積配信サーバ１０６に送信する場合には、送信する映像データを構成する各画像データと各画像データの署名データとの対応関係を示す情報を、映像データとともに映像蓄積配信サーバ１０６に送信すること等によって、画像データと署名データとを関連づけることが可能である。
【００１８】
図９に戻り、署名配信処理Ｓ４０７では、映像蓄積配信サーバ１０６などに生成された署名データ（及び映像データ）を配信する。その後、映像受信終了判定処理Ｓ４０２に戻る。
【００１９】
次に、図９中の署名実行判定用フラグ取得処理Ｓ４０４’の詳細な内容について、図１０を用いて説明する。図１０は、従来の署名生成装置１１０’の署名実行判定用フラグ取得処理Ｓ４０４’の内容を示すフローチャートである。
【００２０】
まず、ｎカウントアップ処理Ｓ１００１では、署名生成装置１１０’が取得済みかつ、署名されていない映像データの数であるｎの値に「１」を加算する。次に、ｎ閾値判定処理Ｓ１００２では、「現在のｎ」の値と署名生成装置１１０’に予め設定されている「ｎの閾値」とを比較し、「現在のｎ」の値が「ｎの閾値」未満であれば、署名実行フラグＯＦＦ処理Ｓ１００５に分岐する。署名実行フラグＯＦＦ処理Ｓ１００５では、署名実行フラグを、ＯＦＦを表す値に設定し、署名実行判定用フラグ取得処理を終了する。また、「現在のｎ」の値が「ｎの閾値」以上であれば、ｎの初期化処理Ｓ１００３に分岐する。ｎの初期化処理Ｓ１００３では、ｎの値を初期化する（具体的には０にする）。次に、署名実行フラグＯＮ処理Ｓ１００４では、署名実行フラグを、ＯＮを表す値に設定し、署名実行判定用フラグ取得処理を終了する。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００８−１７８０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００２２】
このように、署名生成装置１１０’が、より多くの画像をｎ個まとめて署名生成を行うと、画像１枚あたりの署名生成の処理負荷は１／ｎに小さくなる。
【００２３】
ここで、基本的にはｎの値は、映像発信装置１０３の発信する映像データサイズの最大値や映像データの頻度の最大値、同時に署名する映像発信装置１０３の装置数の最大値などに基づいて設定される。しかし、実際にはこれら全てが最大値をとることはあり得ないため、このようにして設定されたｎの値ではＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の性能を使い切れず、無駄が多いという課題があった。また、設定担当者が各値の最大値の見積もりを誤り、結果的に誤ったｎの値を設定することによって期待した性能がでない場合があるという課題があった。
【００２４】
また、署名生成装置１１０’が、より多くのｎ個の画像を１枚にまとめて署名生成を行うことで画像１枚あたりの署名生成の処理負荷が１／ｎに小さくなる一方で、映像発信装置１０３から発信済みではあるが、未だ署名が生成されていない画像がより多く存在することになる。すなわち、映像発信装置１０３から映像が発信される頻度が少ないと、例えば１時間前に発信された映像でも、まだ署名が生成されていないという事態が起こりうる。そうすると、映像受信装置１０４では、１時間前までの署名付き映像を利用できないことになるという課題があった。
【００２５】
また、さらに以下のような問題もあった。
【００２６】
署名生成装置１１０’は、映像データとは別に署名データだけ後で映像蓄積配信サーバ１０６に配信する場合と、映像データと同時に署名データを配信する場合とがある。後者の場合、署名データは映像データのバイナリに埋め込まれたり、通信のヘッダなど映像データの付加データ領域に格納されたりすること等によって映像蓄積配信サーバ１０６に配信される。
【００２７】
前者の場合、署名生成装置１１０’は映像データを受信するとハッシュ値だけ算出した後、映像データを映像蓄積配信サーバ１０６に配信し、複数の画像データをそのように扱った後、ハッシュ値から署名データを生成し、署名データを生成するために利用したハッシュ値と署名データとを映像蓄積配信サーバ１０６に配信すれば良い。このとき、複数のハッシュ値をメモリ上に保持しておく必要があるが、それらの保持に必要な記憶容量は映像データに比較して小さなものであり、さほど問題とはならない。
【００２８】
しかし、後者の場合、署名生成装置１１０’が、より多くのｎ個の画像を１枚にまとめて署名生成を行うことで画像１枚あたりの署名生成の処理負荷が１／ｎに小さくなる一方で、署名生成装置１１０’において画像データをｎ枚保持する必要があるので、必要なメモリの使用量が大きくなる。このメモリの使用量が主記憶装置（メインメモリ）の容量を超えると、署名生成装置１１０’は正常な動作ができなくなるという課題があった。あるいは署名生成装置１１０’の構成によっては補助記憶装置を使用できるが、低速なアクセスしかできない補助記憶装置を頻繁に使用すると装置全体の性能が低下するという課題があった。
【００２９】
本発明は、このような課題を解決するために為されたものであり、まとめて署名する画像の枚数ｎについて最適な値を動的に選択して署名生成を行う署名生成装置を提供することを目的とする。
【課題を解決するための手段】
【００３０】
上記課題を解決するために、本発明は、一の映像データを構成する複数の画像データを受信する受信手段と、前記受信した複数の画像データＭｉ（ｉ＝１，２，・・・，ｎ、かつ、ｎは２以上の整数）から前記複数の画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、前記算出された複数のハッシュ値を用いた所定の処理に基づいて一のハッシュ値を算出するハッシュ値算出手段と、前記一のハッシュ値に基づいて一の署名情報を生成する署名情報生成手段と、前記複数の画像データのそれぞれに対して、前記一の署名情報に基づいて第二の署名情報Ｓｉを生成して、前記複数の画像データのそれぞれに対して前記第二の署名情報Ｓｉを関連づける署名情報付与手段と、前記ｎの値を、自身内部の、前記映像データの処理状況に関する情報に基づいて変動させる制御手段と、を有する署名生成装置を提案する。これにより、署名生成装置のＣＰＵ使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等のような、映像データの処理状況に応じて、まとめて署名すべき画像の枚数であるｎの値を変動させることができる。
【００３１】
なお、「画像データ」とは、１枚の画像を構成するデータであってもよいし、複数枚の画像を構成するデータであってもよい。画像データが複数枚の画像を構成するデータである場合とは、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−１におけるＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅ）単位のデータである場合等が挙げられる。
【発明の効果】
【００３２】
本発明によれば、署名生成装置のＣＰＵ使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、などのような映像データの処理状況に応じて、まとめて署名すべき画像の枚数であるｎの値を適切に設定することが可能である。すなわち、署名生成装置のＣＰＵやメモリを効率良く利用することができるように、ｎの値が適切な値に設定される。
【図面の簡単な説明】
【００３３】
【図１】映像署名システムの構成例を示す図である。
【図２】署名生成装置１１０の構成例を示す図である。
【図３】署名生成装置１１０の構成例を示すブロック図である。
【図４】署名生成装置１１０の処理の流れを示すフローチャートである。
【図５】署名生成装置１１０の署名実行判定用フラグ取得処理Ｓ４０４における具体的な処理を示すフローチャートである。
【図６】署名生成装置１１０の複数画像データの署名生成処理Ｓ４０６における具体的な処理を説明する図である。
【図７】署名検証装置１０９の署名の検証における具体的な処理を説明する図である。
【図８】従来の映像監視システムの構成例を示す図である。
【図９】従来の署名生成装置１１０’の処理の流れを示すフローチャートである。
【図１０】従来の署名生成装置１１０’の署名実行判定用フラグ取得処理Ｓ４０４’における具体的な処理を示すフローチャートである。
【発明を実施するための形態】
【００３４】
本発明の実施形態について、図面を参照しながら、以下に説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示されている。
【００３５】
（実施形態１）
（映像署名システムの構成）
図１は、本発明に係る署名生成装置を利用した映像署名システムの構成例を示す。図１に示す映像署名システムは、ネットワーク媒体１０１、映像生成装置１０２、映像発信装置１０３、映像受信装置１０４、映像表示装置１０５Ａ及び１０５Ｂ、映像蓄積配信サーバ１０６、記録媒体１０７、リムーバブルメディア１０８、署名検証装置１０９、署名生成装置１１０により構成される。なお、図１における各装置間の処理の流れ（ＳＳ１、ＳＳ２、ＳＳ３、ＳＳ４）については図８と同様であるので、ここでの説明は省略する。
【００３６】
ネットワーク媒体１０１は、例えば、ネットワークケーブルや無線ＬＡＮ、公衆回線等であり、発信されたデータを伝送する役割を持つ。また、ここにはルータやハブ等のネットワーク機器も含む。映像発信装置１０３、映像受信装置１０４、映像蓄積配信サーバ１０６、署名生成装置１１０は、ネットワーク媒体１０１に接続され、互いに通信できるようになっている。
【００３７】
映像生成装置１０２は、例えば、カメラといった撮像素子を持った映像生成装置であり、入力される光を電気信号に変換して映像データを生成する役割を持つ。
【００３８】
映像発信装置１０３は、例えば、映像生成装置１０２からの映像データを受け取るインターフェイス、画像コーデック、ネットワークインターフェイス等を内蔵したエンコーダ装置であり、映像生成装置１０２からの入力映像をネットワーク伝送に適した形に変換し、ネットワーク媒体１０１を介して署名生成装置１１０に送信する役割を持つ。具体的には、例えば、映像生成装置１０２からの入力映像がアナログ映像信号であった場合にはデジタル映像データに変換したり、ネットワーク媒体１０１の伝送帯域によって圧縮処理を施す等の処理を行う。なお、映像生成装置１０２と映像発信装置１０３とは、１つの装置として結合された形態であってもよい。
【００３９】
映像受信装置１０４は、例えば、ネットワークインターフェイス、画像コーデック、映像表示装置１０５Ａに映像を出力するインターフェイス、リムーバブルメディア１０８へのインターフェイス等を内蔵したデコーダ装置であり、ネットワーク媒体１０１を介して映像蓄積配信サーバから送信されてきた映像データを受信し、映像表示装置１０５Ａが表示可能な形に変換し出力する等の役割を持つ。例えば、映像表示装置１０５Ａがテレビモニタであった場合には、アナログ映像信号への変換処理を行ったり、受信した映像データが圧縮された映像データであった場合には、画像コーデックを使って伸張処理を施す等の処理を行う。
【００４０】
また、映像受信装置１０４は、映像蓄積配信サーバ１０６より署名付きの映像を受信し、受信した署名情報および映像データを署名検証装置１０９において検証可能な方式でリムーバブルメディア１０８に保存する。この保存処理は、映像受信装置１０４を操作するユーザの指定によってなされてもよいし、映像受信装置１０４内のソフトウェアによって自動的になされてもよい。
【００４１】
映像表示装置１０５Ａ、１０５Ｂは、例えば、テレビモニタ、コンピュータのＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、液晶モニタといった投影素子を持った映像表示装置で、電気信号を光に変えて映像を表示する役割を持つ。
【００４２】
また、映像受信装置１０４は、映像蓄積配信サーバ１０６に対し、再生や早送り等の再生指示を行う操作インターフェイスも内蔵する。この操作インターフェイスは、例えば、コンピュータ画面のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、あるいは、映像受信装置１０４に接続された制御盤端末でも良い。
【００４３】
なお、映像受信装置１０４と映像表示装置１０５Ａとは、１つの装置として結合された形態であってもよい。例えば、テレビモニタに映像受信装置１０４が内蔵された形態、ＣＲＴを接続したコンピュータの形態、あるいは、表示装置を備えた携帯電話等の携帯端末装置の形態などが挙げられる。
【００４４】
映像蓄積配信サーバ１０６は、例えば、ネットワークインターフェイスや記録媒体１０７へのインターフェイスを内蔵したコンピュータであり、映像発信装置１０３あるいは署名生成装置１１０からネットワーク媒体１０１を介して伝送されてきた映像データあるいは署名付き映像データを受信して接続された記録媒体１０７に記録する役割と、映像受信装置１０４からの映像配信要求等に応じて記録媒体１０７より要求された映像データあるいは署名付き映像データを取出し、ネットワーク媒体１０１を介して映像受信装置１０４に配信する役割を持つ。
【００４５】
記録媒体１０７は、例えば、ハードディスクやディスクアレイ等の映像データを記録する媒体であり、映像蓄積配信サーバ１０６とは、例えば、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌといった専用のインターフェイス、または、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）等のＩＰネットワークを用いたインターフェイス等によって接続される。
【００４６】
リムーバブルメディア１０８は、例えば、ＤＶＤ−ＲＡＭ、ＭＯ、ＣＤ−ＲＷ等の光メディアとドライブの組み合わせ、あるいは、着脱可能なケースに装着されたハードディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）やＩＥＥＥ１３９４といった着脱可能なインターフェイスを内蔵したハードディスク、メモリカード等であり、映像データを保存する役割を持つ媒体である。リムーバブルメディア１０８は、映像受信装置１０４あるいは署名検証装置１０９とは、例えば、ＳＣＳＩ、ＡＴＡ、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ等の専用のインターフェイス、または、ＳＡＮやＮＡＳ等のＩＰネットワークを用いたインターフェイス、さらには、ＵＳＢやＩＥＥＥ１３９４等の通電中でも着脱可能なインターフェイス等によって接続される。
【００４７】
署名検証装置１０９は、例えば、画像コーデック、映像表示装置１０５Ｂに映像を出力するインターフェイス、リムーバブルメディア１０８へのインターフェイス等を内蔵したデコーダ装置であり、リムーバブルメディア１０８内に記録された署名付き映像データを、映像表示装置１０５Ｂが表示可能な形に変換して出力する役割を持つ。例えば、映像表示装置１０５Ｂがテレビモニタであった場合には、アナログ映像信号への変換処理を行う。また、映像データに関連づけられている署名について所定の検証鍵を用いて署名検証処理を行う。また、映像データが圧縮された映像データであった場合には、画像コーデックを使って伸張処理を施す。なお、署名検証装置１０９と映像表示装置１０５Ｂとは、１つの装置として結合された形態であってもよい。あるいは、また、署名検証装置１０９と映像受信装置１０４とは、１つの装置として結合された形態でもよい。
【００４８】
署名生成装置１１０は、例えば、ネットワークインターフェイスを内蔵した装置であり、映像発信装置１０３から受信した映像データの署名データを生成し、ネットワーク媒体１０１を介して映像蓄積配信サーバに送信する役割を持つ。なお、署名生成装置１１０は複数の映像発信装置１０３からの映像データを同時に処理し、署名データの生成を行う形態でもよい。
【００４９】
また、署名生成装置１１０は、映像データとは別に、署名データだけ後で映像蓄積配信サーバ１０６に配信する場合と、映像データと同時に映像データのバイナリに埋め込むか、通信のヘッダなど映像データの付加データ領域に格納する等によって映像蓄積配信サーバ１０６に配信することが可能である。
【００５０】
また、図２に示すように、署名生成装置１１０は、受信部２０１と、ハッシュ値算出部２０２と、署名情報生成部２０３と、署名情報付与部２０４と、送信部２０５と、制御部２０６と、を有する。各部の動作については、後述する。
【００５１】
なお、署名生成装置１１０と映像発信装置１０３とは、１つの装置として結合された形態であってもよい。また、署名生成装置１１０と映像蓄積配信サーバ１０６とは、１つの装置として結合された形態であってもよい。また、署名生成装置１１０と映像発信装置１０３と映像蓄積配信サーバ１０６の３つの装置が１つの装置として結合された形態であってもよい。
【００５２】
また、図１においては、各装置は１台ずつである場合を示しているが、これらは互いに、複数台接続されることが可能である。また、映像蓄積配信サーバ１０６は、複数の署名生成装置１１０から発信されたそれぞれ異なった複数の映像データを同時に受信し記録を行いながら、さらに並行して、複数の映像受信装置１０４へ、それぞれ異なった複数の任意の映像データを同時に配信することが可能である。
【００５３】
ここで、署名生成装置１１０での映像データの署名生成、映像受信装置１０４及び署名検証装置１０９での映像データの署名検証には、鍵と呼ばれるデータが必要である。ここで、署名生成と署名検証においては、生成と検証に同じ鍵を用いる共通鍵暗号方式を応用したＨＭＡＣ（ｋｅｙｅｄ−Ｈａｓｈｉｎｇ  ｆｏｒ  Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）のような方式を用いても良いし、生成と検証に異なる鍵を用いる公開鍵暗号方式を応用したデジタル署名のような方式を用いても良い。デジタル署名技術の一例として、ＲＳＡ−ＰＳＳ（ＲＳＡ  Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｓｉｇｎａｔｕｒｅ  Ｓｃｈｅｍｅ）方式が挙げられる。
【００５４】
（署名生成装置の具体的な構成）
ここで、署名生成装置１１０のより具体的な構成について説明する。図３は、署名生成装置１１０の構成例を示すブロック図である。図３に示すように、署名生成装置１１０は、ＣＰＵ３０１、不揮発性記憶装置３０２、ＲＡＭ３０３、ネットワークインターフェイス３０４、等を備えている。
【００５５】
不揮発性記憶装置３０２には、映像データ受信モジュール３１１、ハッシュ値算出モジュール３１２、署名情報生成モジュール３１３、署名情報付与モジュール３１４、映像データ送信モジュール３１５、制御モジュール３１６が保持されている。このうち、ハッシュ値算出モジュール３１２、署名情報生成モジュール３１３、署名情報付与モジュール３１４は、署名を生成して映像データに関連づけるための署名プログラム３１７を構成するモジュールである。
【００５６】
また、映像データ受信モジュール３１１、ハッシュ値算出モジュール３１２、署名情報生成モジュール３１３、署名情報付与モジュール３１４、映像データ送信モジュール３１５、制御モジュール３１６は、それぞれ、受信部２０１、ハッシュ値算出部２０２、署名情報生成部２０３、署名情報付与部２０４、送信部２０５、制御部２０６を実現するためのモジュールである。
【００５７】
このような構成において、不揮発性記憶装置３０２に記憶されている各モジュール３１１、３１２、３１３、３１４、３１５、３１６は、必要に応じてＲＡＭ３０３をワークエリアとして展開され、これらがＣＰＵ３０１にて実行されることで、各種の処理が行われる。
【００５８】
また、不揮発性記憶装置３０２には、署名情報生成モジュール３１３にて署名値を算出するために使用される署名鍵も記憶されている。
【００５９】
また、映像データ受信モジュール３１１によって映像発信装置１０３から発信された映像データを受信した場合には、その映像データはＲＡＭ３０３や不揮発性記憶装置３０２に記憶される。
【００６０】
また、ネットワークインターフェイス３０４は、ネットワーク媒体１０１を介して、映像発信装置１０３、映像蓄積配信サーバ１０６等と有線又は無線で接続するための有線又は無線の通信インターフェイスである。具体的には、光ファイバ、同軸ケーブル、無線等により通信を行うためのインターフェイスである。
【００６１】
なお、署名検証装置１０９の構成も図３の署名生成装置１１０の構成と同様である。すなわち、映像受信装置１０４が保存した署名付き映像データをリムーバブルメディア１０８から読み出し、映像データに関連づけられている署名について検証を行う検証モジュールが不揮発性記憶装置３０２に記憶されている。そして、この検証モジュールは、必要に応じてＲＡＭ３０３をワークエリアとして展開され、ＣＰＵ３０１にて実行されることで、署名検証の処理が行われる。なお、署名の検証に必要な検証鍵は、不揮発性記憶装置３０２等に記憶されている。
【００６２】
（署名生成装置の動作）
図４は、本実施形態に係る署名生成装置１１０の処理の流れを示すフローチャートである。
【００６３】
図４に示す署名生成装置１１０における処理は、基本的には、図１０に示した従来の署名生成装置１１０’における処理と同様である。
【００６４】
なお、図４に示す処理のうち、映像受信処理Ｓ４０３の処理は受信部２０１にて実行される。また、複数画像データの署名生成処理Ｓ４０６の処理はハッシュ値算出部２０２、署名情報生成部２０３、署名情報付与部２０４にて実行される。また、署名配信処理Ｓ４０７の処理は送信部２０５にて実行される。
【００６５】
（署名実行判定用フラグ取得処理の詳細）
次に、図４中の署名実行判定用フラグ取得処理Ｓ４０４の詳細な内容について、図５を用いて説明する。図５は、署名実行判定用フラグ取得処理Ｓ４０４における具体的な処理を示すフローチャートである。
【００６６】
まず、ＣＰＵ使用率判定処理Ｓ５０１では、署名生成装置１１０のＣＰＵ使用率をハードウェアから取得し、ＣＰＵ使用率が７０％未満であれば、ｎの閾値減算処理Ｓ５０２に分岐し、ＣＰＵ使用率が９０％以上であれば、ｎの閾値加算処理Ｓ５０３に分岐し、ＣＰＵ使用率が７０％以上かつ９０％未満であれば、メモリ使用率判定処理Ｓ５０４に分岐する。ｎの閾値減算処理Ｓ５０２では「ｎの閾値」から値αを減算する処理を行い、その後、メモリ使用率判定処理Ｓ５０４に遷移する。また、ｎの閾値加算処理Ｓ５０３では「ｎの閾値」に値αを加算する処理を行い、その後、メモリ使用率判定処理Ｓ５０４に遷移する。
【００６７】
ここで、「ｎの閾値」を減少させるということは、まとめて署名生成する画像データの数を少なくすることになり、署名生成装置１１０が使用可能なＣＰＵ使用率を大きくすることになる。逆に「ｎの閾値」を増加させるということは、まとめて署名生成する画像データの数を多くすることになり、署名生成装置１１０が使用可能なＣＰＵ使用率を小さくすることになる。また、値αは例えば規定の値（例えば１）でも良いし、例えば「ｎの閾値」×０．１のような「ｎの閾値」の割合に基づいた値でも良い。
【００６８】
次に、メモリ使用率判定処理Ｓ５０４では、署名生成装置１１０のメインメモリの使用率をハードウェアから取得して判定する処理を行う。例えば、メインメモリ使用率が７０％未満であれば、メモリ使用量の閾値加算処理Ｓ５０５に分岐し、メインメモリ使用率が９０％以上であれば、メモリ使用量の閾値減算処理Ｓ５０６に分岐し、メインメモリ使用率が７０％以上かつ９０％未満であれば、ｎ・メモリ使用量・経過時刻の更新処理Ｓ５０７に分岐する。
【００６９】
メモリ使用量の閾値加算処理Ｓ５０５では値βを加算して「メモリ使用量の閾値」を増加させる処理を行い、その後、ｎ・メモリ使用量・経過時刻の更新処理Ｓ５０７に遷移する。メモリ使用量の閾値減算処理Ｓ５０６では値βを減算して「メモリ使用量の閾値」を減少させる処理を行い、その後、ｎ・メモリ使用量・経過時刻の更新処理Ｓ５０７に遷移する。
【００７０】
ここで、「メモリ使用量の閾値」を増加させるということは、まとめて署名生成する画像データの数を大きくすることになり、署名生成装置１１０が使用可能なメモリ使用量を少なくすることになる。逆に「メモリ使用量の閾値」を減少させるということは、まとめて署名生成する画像データの数を小さくすることになり、署名生成装置１１０が使用可能なメモリ使用量を多くすることになる。また、値βは例えば規定の値（例えば１０Ｋバイト）でも良いし、例えば「メモリ使用量の閾値」×０．１のような「メモリ使用量の閾値」の割合に基づいた値でも良い。
【００７１】
ｎ・メモリ使用量・経過時刻の更新処理Ｓ５０７では、署名生成装置１１０が取得済みかつ、署名されていない画像データの数である「現在のｎ」の値に１を加算し、「現在のメモリ使用量」に今回の画像データ受信によって追加される分のメモリ使用量を加算し、「現在の経過時刻」に前回の画像データ取得からの経過時間を加算する。
【００７２】
次に、現在のｎ閾値判定処理Ｓ５０８は「現在のｎ」の値と「ｎの閾値」とを比較し、「現在のｎ」の値が「ｎの閾値」未満であれば、メモリ使用量閾値判定処理Ｓ５０９に分岐する。「現在のｎ」の値が「ｎの閾値」以上であれば、ｎ・メモリ使用量・経過時刻の初期化処理Ｓ５１１に分岐する。
【００７３】
メモリ使用量閾値判定処理Ｓ５０９は「現在のメモリ使用量」の値と「メモリ使用量の閾値」とを比較し、「現在のメモリ使用量」が「メモリ使用量の閾値」未満であれば、経過時刻閾値判定処理Ｓ５１０に分岐する。「現在のメモリ使用量」が「メモリ使用量の閾値」以上であれば、ｎ・メモリ使用量・経過時刻の初期化処理Ｓ５１１に分岐する。
【００７４】
経過時刻閾値判定処理Ｓ５１０は「現在の経過時刻」の値と「経過時刻の閾値」とを比較し、「現在の経過時刻」が「経過時刻の閾値」未満であれば、署名実行フラグＯＦＦ処理４０５に分岐する。「現在の経過時刻」が「経過時刻の閾値」以上であれば、ｎ・メモリ使用量・経過時刻の初期化処理Ｓ５１１に分岐する。
【００７５】
ｎ・メモリ使用量・経過時刻の初期化処理Ｓ５１１は、「現在のｎ」の値を初期化する（具体的には０にする）。また、「現在のメモリ使用量」の値を初期化する（具体的には０にする）。また、「現在の経過時刻」の値を初期化する（具体的には０にする）。その後、署名実行フラグＯＮ処理Ｓ５１２に遷移する。
【００７６】
次に、署名実行フラグＯＮ処理Ｓ５１２では署名実行フラグを、ＯＮを表す値に設定し、署名実行判定用フラグ取得処理を終了する。また、署名実行フラグＯＦＦ処理Ｓ５１３では署名実行フラグを、ＯＦＦを表す値に設定し、署名実行判定用フラグ取得処理を終了する。
【００７７】
以上のような署名実行判定用フラグ取得処理Ｓ４０４の終了後、署名実行判定処理Ｓ４０５において署名実行フラグＯＮであれば、複数画像データの署名生成処理Ｓ４０６を行うが、このとき、ｎ閾値判定処理Ｓ５０８で、「現在のｎ」の値が「ｎの閾値」以上であれば、まとめて署名する枚数ｎは「ｎの閾値」と同じになる。また、メモリ使用量閾値判定処理Ｓ５０９で、「現在のメモリ使用量」が「メモリ使用量の閾値」以上であれば、まとめて署名する枚数ｎはこの判定処理が行われた時点の「現在のｎ」の値と同じになる。同様に、経過時刻閾値判定処理Ｓ５１０で、「現在の経過時刻」が「経過時刻の閾値」以上であれば、まとめて署名する枚数ｎはこの判定処理が行われた時点の「現在のｎ」の値と同じになる。
【００７８】
以上のような処理を行うことで、まとめて署名する枚数ｎが動的に変更され、処理負荷の高い場合、メモリ使用率の高い場合、あるいは映像取得頻度が低く前回署名してから相当の時間が経過した場合には、適切なｎの値で画像データをまとめて署名することが可能になる。
【００７９】
また、本実施形態では、ＣＰＵ使用率判定処理Ｓ５０１あるいはメモリ使用率判定処理Ｓ５０４の判定結果によって、「ｎの閾値」あるいは「メモリ使用量の閾値」を変更しているが、これによってＣＰＵ使用率あるいはメモリ使用率が７０％〜９０％の間で安定する効果がある。なお、本実施形態ではＣＰＵ使用率判定処理Ｓ５０１及びメモリ使用率判定処理Ｓ５０４の判定に７０％未満及び９０％以上という値を例として用いたが、これは別の値であってもよい。
【００８０】
また、メインメモリの使用率を用いるのではなく、単位時間内のメモリスワップの頻度や大きさに基づいて「メモリ使用量の閾値」を変更するようにしても良い。
【００８１】
（実施形態２）
（映像署名システムの構成）
本実施形態に係る署名生成装置を利用した映像署名システムは、署名生成装置１１０において、図４の複数画像データの署名生成処理Ｓ４０６にて複数の画像データのそれぞれに対する複数のハッシュ値から一のハッシュ値を生成する際に、ハッシュ木を用いて複数のハッシュ値を連結して一のハッシュ値を生成する点が特徴である。
【００８２】
本実施形態に係る映像署名システム及び署名生成装置１１０のハードウェア構成は、それぞれ、実施形態１における映像署名システム、署名生成装置１１０のハードウェア構成と同様である。
【００８３】
また、署名生成装置１１０の動作については、基本的には図４に示した動作と同様であるが、本実施形態に係る署名生成装置１１０の特徴は複数画像データの署名生成処理Ｓ４０６における処理にあるので、この点について、以下、詳細に説明する。
【００８４】
（署名生成装置における複数画像データの署名生成処理の詳細）
図６は、署名生成装置１１０の複数画像データの署名生成処理Ｓ４０６における具体的な処理を説明する図である。図６では、８個の画像データＭ１，Ｍ２，・・・，Ｍ８に対して署名付き画像データを生成する場合（すなわち、ｎ＝８である場合）について示す。
【００８５】
本実施形態に係る署名生成装置では、図６に示すように、画像データから算出されるハッシュ値を２つ連結してさらにハッシュ値を算出するハッシュ木の構造を用いる。
【００８６】
まず、ハッシュ値算出部２０２は、ＲＡＭ３０３や不揮発性記憶装置３０２等に記憶されている各画像データに１〜８までの自然数の連番を付すことにより、画像データＭ１，Ｍ２，・・・，Ｍ８とし、各画像データＭｉ（ｉ＝１，２，・・・，８）の０段目のハッシュ値ｈ０，ｉを算出する。
【００８７】
次に、各画像データＭｉのハッシュ値ｈ０，ｉを順番に２個ずつ連結した値ｈ０，ｊ||ｈ０，ｊ＋１（ｊ＝１，３，５，７）を算出し、これらの値から１段目のハッシュ値ｈ１，ｋ（ｋ＝１，２，３，４）を算出する。なお、１段目では、０段目のハッシュ値を二つ連結しているため、４(＝８／２)個のハッシュ値が算出されることになる。
【００８８】
以上のように、ハッシュ値算出部２０２においては、ｍ段目（ｍは０又は正の整数）のハッシュ値を２個ずつ連結したｈｍ，ｐ||ｈｍ，ｐ＋１（ｐは奇数の正の整数）に対するハッシュ値を計算する処理をハッシュ値が一つになるまで繰り返して最終的にハッシュ値ｈ３，１を算出する。その後、署名情報生成部２０３において、算出されたハッシュ値ｈ３，１と不揮発性記憶装置３０２等に記憶されている署名鍵とを用いてハッシュ値ｈ３，１から署名値σを算出する。
【００８９】
そして、署名情報付与部２０４は、任意の画像データＭｉから算出されるハッシュ値に連結されたハッシュ値と、算出した署名値σと、画像データＭｉの番号（ハッシュ木に入力する位置）を特定する情報と、を有する署名Ｓｉを生成し、映像データＭｉに添付することで、署名付き映像データを生成する。
【００９０】
例えば、署名付き画像データを生成する映像データをＭ５とすると、映像データＭ５から算出されるハッシュ値（ｈ０，５、ｈ１，３、ｈ２，２）に連結されるハッシュ値は、ｈ０，６、ｈ１，４、ｈ２，１であるため、これらのハッシュ値を署名Ｓ５に含める。なお、これらのハッシュ値は、画像データＭ５から算出されるハッシュ値に連結する順序がわかるように署名Ｓ５に含めておく（図６では、連結する順に署名Ｓ５に含めるようにしている）。
【００９１】
なお、複数の画像データＭ１，・・・，Ｍ８は必ずしも時系列に沿って連続する映像とは限らない。
【００９２】
（署名検証装置における複数画像データの署名検証処理の詳細）
次に、署名検証装置１０９における署名の検証について具体的に説明する。ここでは、署名生成装置１１０において、図６にて示したような署名生成方法によって８個の画像データＭ１，Ｍ２，・・・，Ｍ８に関して署名付き画像データが生成されて配信された場合に、署名検証装置１０９にて各署名Ｓｉの検証を行う場合について説明する。
【００９３】
まず、署名付き画像データより画像データＭｉを抽出して、ハッシュ木の０段目のハッシュ値ｈ０，ｉを算出する。
【００９４】
次に、署名付き画像データよりハッシュ木の０段目のハッシュ値ｈ０，ａ（ａは、ｉが奇数の場合にはａ＝ｉ＋１、偶数の場合には、ａ＝ｉ−１）を抽出し、算出したハッシュ値ｈ０，ｉに連結して（ｉが奇数の場合にはｈ０，ｉ||ｈ０，ａ、ｉが偶数の場合にはｈ０，ａ||ｈ０，ｉ）、ハッシュ木の１段目のハッシュ値ｈ１，ｂ（ｂは、ｉが奇数の場合にはｂ＝（ｉ＋１）／２、偶数の場合には、ｂ＝ｉ／２）を算出する。
【００９５】
図７は、署名検証装置１０９において、画像データＭ５についての署名Ｓ５を検証する場合を示す。
【００９６】
署名検証装置１０９は、まず、画像データＭ５から算出されるハッシュ値ｈ０，５に、署名付き画像データに含まれているハッシュ値ｈ０，６を連結した値（ｈ０，５||ｈ０，６）から、ハッシュ値ｈ１，３を算出する。署名検証装置１０９は、この処理を署名付き画像データに含まれている全てのハッシュ値を連結するまで繰り返し行うことで、最終的にハッシュ値ｈ３，１を算出する。
【００９７】
さらに、署名付き画像データに含まれている署名値σと、不揮発性記憶装置等に記憶されている検証鍵とを用いて署名値σから検証値を算出する。
【００９８】
そして、署名検証装置１０９は、算出したハッシュ値ｈ３，１と、算出した検証値とが一致する場合には、映像データＭｉの真正性が検証されたと判断する。
【００９９】
（まとめ）
以上説明したように、本発明によれば、署名生成装置のＣＰＵ使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等に応じて、まとめて署名を生成すべき画像の枚数ｎの値を適切に設定することが可能である。すなわち、署名生成装置のＣＰＵやメモリを効率良く利用することができるように、ｎの値が適切な値に設定される。
【０１００】
（請求項に関する付記）
本発明については、請求項の記載に関して、以下の態様が考えられる。
【０１０１】
（請求項２）
前記制御手段は、単位時間あたりの処理装置使用率、画像データＭ１を受信してから所定の時間が経過すること、及び、前記複数の画像データＭｉの処理に使用されているメモリ使用量が所定容量に達すること、の少なくとも一つに基づいて、ｎの値を変動させることを特徴とする請求項１に記載の署名生成装置。これにより、署名生成装置のＣＰＵの使用状況、メモリの使用状況、画像データの受信状況の少なくとも一つに応じて、ｎの値を適切な値に設定することが可能である。
【０１０２】
（請求項３）
前記制御手段は、前記複数の画像データＭｉの処理に使用されているメモリ使用量が所定容量に達することに基づいてｎの値を変動させる場合には、前記所定容量は、単位時間あたりの自身内部の、主記憶装置の使用率、又は補助記憶装置の使用頻度に基づいて変動することを特徴とする請求項２に記載の署名生成装置。これにより、署名生成装置の主記憶装置の使用率又は補助記憶装置の使用頻度に基づいて、画像データＭｉの処理に使用されるメモリ量の上限が決定される。
【０１０３】
（請求項４）
前記ハッシュ値算出手段は、前記複数の画像データのそれぞれに対する各ハッシュ値のうちいずれかを複数組み合わせてハッシュ値を算出する処理を繰り返すことで前記一のハッシュ値を算出し、前記署名情報付与手段は、前記第二の署名情報Ｓｉを、前記一の署名情報と、前記一のハッシュ値を算出するまでに組み合わされた各ハッシュ値と、を含むように生成すること、を特徴とする請求項１から３のいずれか一に記載の署名生成装置。これにより、署名情報のデータ長を比較的短くすることが可能となり、メモリ容量や通信帯域を圧迫せずに映像の署名及び署名の検証を行うことができる。
【０１０４】
（請求項５）
請求項１から４のいずれか一に記載の署名生成装置と、前記署名生成装置から送信される、前記第二の署名情報Ｓｉが関連づけられている前記映像データを受信して、この映像データを構成する複数の画像データの一部又は全部の画像データ、及び、これらの画像データに関連づけられている署名情報Ｓｉと、によって署名の検証を行う署名検証装置と、からなる映像署名システム。これにより、署名生成装置のＣＰＵ使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、等に応じて、まとめて署名すべき画像の枚数ｎの値が適切に設定されるので、効率良く、映像の署名及び署名の検証を行うことができる。
【０１０５】
（請求項６）
一の映像データを構成する複数の画像データを受信する受信ステップと、前記受信した複数の画像データＭｉ（ｉ＝１，２，・・・，ｎ、かつ、ｎは２以上の整数）から前記複数の画像データのそれぞれに対するハッシュ値をそれぞれ算出し、さらに、前記算出された複数のハッシュ値を用いた所定の処理に基づいて一のハッシュ値を算出するハッシュ値算出ステップと、前記一のハッシュ値に基づいて一の署名情報を生成する署名情報生成ステップと、前記複数の画像データのそれぞれに対して、前記一の署名情報に基づいて第二の署名情報Ｓｉを生成して、前記複数の画像データのそれぞれに対して前記第二の署名情報Ｓｉを関連づける署名情報付与ステップと、を有する署名生成方法であって、前記ｎの値は、自身内部の、前記映像データの処理状況に関連する情報に基づいて変動することを特徴とする署名生成方法。これにより、署名生成装置のＣＰＵ使用率、メモリ使用量、署名生成装置に送信されてくる映像データの頻度、などのような映像データの処理状況に応じて、まとめて署名すべき画像の枚数であるｎの値を適切に設定することが可能である。すなわち、署名生成装置のＣＰＵやメモリを効率良く利用することができるように、ｎの値が適切な値に設定される。
【符号の説明】
【０１０６】
１０１  ネットワーク媒体
１０２  映像生成装置
１０３  映像発信装置
１０４  映像受信装置
１０５Ａ、１０５Ｂ  映像表示装置
１０６  映像蓄積配信サーバ
１０７  記録媒体
１０８  リムーバブルメディア
１０９  署名検証装置
１１０、１１０’  署名生成装置
２０１  受信部
２０２  ハッシュ値算出部
２０３  署名情報生成部
２０４  署名情報付与部
２０５  送信部
２０６  制御部
３０１  ＣＰＵ
３０２  不揮発性記憶装置
３０３  ＲＡＭ
３０４  ネットワークインターフェイス
３１１  映像データ受信モジュール
３１２  ハッシュ値算出モジュール
３１３  署名情報生成モジュール
３１４  署名情報付与モジュール
３１５  映像データ送信モジュール
３１６  制御モジュール
３１７  署名プログラム
【図１】
2010245590.tif 000003
【図２】
2010245590.tif 000004
【図３】
2010245590.tif 000005
【図４】
2010245590.tif 000006
【図５】
2010245590.tif 000007
【図６】
2010245590.tif 000008
【図７】
2010245590.tif 000009
【図８】
2010245590.tif 000010
【図９】
2010245590.tif 000011
【図１０】
2010245590.tif 000012