説明

署名生成装置

【課題】署名生成装置において署名生成の有無が設定可能である場合、署名が付与されていないデータが、改竄によって署名データが削除されたのか、署名生成装置における設定によるものであるのか、判断できないという問題があった。
【解決手段】連続的に複数のデータを取得し、取得した取得データについて、署名データの生成を行う。また、署名生成装置が署名データの生成を行わない状態に制御されている場合には、取得データの数をカウントする。そして、署名生成装置において、署名データの生成を行わない状態から署名データの生成を行う状態への制御が行われた場合には、取得データおよび取得データのカウンタ値に基づいて、署名データを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視カメラ等の撮像装置で撮影された映像(画像)に電子署名してネットワークを介して発信・記録する署名生成装置に関し、特に、複数に分割された映像データに電子署名技術を用いる署名生成装置に関する。
【背景技術】
【0002】
従来から、ホテルやビル、コンビニエンスストアや金融機関、或いはダムや道路といった公共施設には、犯罪抑止や事故防止等の目的で、映像監視システムが設置されている。映像監視システムでは、監視対象をカメラ等の撮像装置で撮影し、撮影した映像を管理事務所や警備室等の監視センタへ伝送し、監視者がその映像を監視して、目的や必要性に応じて、注意や警告をし、或いは映像を録画や保存する。
【0003】
近年、このような映像監視システムの分野において、ネットワーク型の映像監視システムの普及が進みつつある。ネットワーク型の映像監視システムでは、監視カメラ映像をデジタル化して、インターネットに代表されるIPネットワークを介して、映像を伝送して監視を行う。
【0004】
現在、主流となっているネットワーク型映像監視システムでは、監視カメラに接続された映像発信装置から映像受信装置に向けて、ネットワークを介してライブ映像を配信する。このシステムは、常駐の監視者が、配信された映像(及び音声)を常時視聴し、問題発生時には状況に応じた対応をするといった監視形態に適合したシステムとなっている。
【0005】
一方、映像監視としては、上述のようなライブ映像監視を主体とする「ライブ型監視」の他に、「監視映像を記録や保存して、問題発生時に時間を遡って記録映像を見る」といった「記録型監視」の監視形態もあり、金融機関や商店を中心にこうした「記録型監視」の顧客ニーズが存在する。
【0006】
ネットワーク型映像監視システムでは、このような「記録型監視」のニーズに対応可能な「蓄積配信サーバ」を用いることが可能である。
【0007】
また、映像の証拠性を高めるために、映像データに対し、電子署名を行って、ネットワークに流れる映像データ及び記録された映像データの改竄の検知を可能にする署名つきネットワーク型映像監視システムの普及が進みつつある。
【0008】
図5は、このようなネットワーク型映像監視システムとして使用可能な映像配信システムの構成例を示す。図5に示す映像監視システムは、ネットワーク媒体901、映像生成装置902、映像発信装置903、映像受信装置904、映像表示装置905A及び905B、蓄積配信サーバ906、記録媒体907、リムーバブルメディア908、署名検証装置909、署名生成装置910により構成される。
【0009】
ネットワーク媒体901は、例えば、ネットワークケーブルや無線LAN、公衆回線等であり、発信されたデータを伝送する役割を持つ。また、ここにはルータやハブ等のネットワーク機器も含む。映像発信装置903、映像受信装置904、蓄積配信サーバ906、署名生成装置910は、ネットワーク媒体901に接続され、互いに通信できるようになっている。
【0010】
映像生成装置902は、例えば、カメラといった撮像素子を持った映像生成装置であり、入力される光を電気信号に変換して映像データを生成する役割を持つ。
【0011】
映像発信装置903は、例えば、映像生成装置902からの映像データを受け取るインターフェイス、画像コーデック、ネットワークインターフェイス等を内蔵したエンコーダ装置であり、映像生成装置902からの入力映像をネットワーク伝送に適した形に変換し、ネットワーク媒体901を介して署名生成装置910に送信する役割を持つ。具体的には、例えば、映像生成装置902からの入力映像がアナログ映像信号であった場合にはデジタル映像データに変換したり、ネットワーク媒体901の伝送帯域によって圧縮処理を施す等の処理を行う。なお、映像生成装置902と映像発信装置903とは、1つの装置として結合された形態であってもよい。
【0012】
映像受信装置904は、例えば、ネットワークインターフェイス、画像コーデック、映像表示装置905Aに映像を出力するインターフェイス、リムーバブルメディア908へのインターフェイス等を内蔵したデコーダ装置であり、ネットワーク媒体901を介して蓄積配信サーバから送信されてきた映像データを受信し、映像表示装置905Aが表示可能な形に変換し出力する等の役割を持つ。例えば、映像表示装置905Aがテレビモニタであった場合には、アナログ映像信号への変換処理を行ったり、受信した映像データが圧縮された映像データであった場合には、画像コーデックを使って伸張処理を施す等の処理を行う。
【0013】
また、映像受信装置904は、蓄積配信サーバ906より署名付きの映像を受信し、受信した署名情報および映像データを署名検証装置909において検証可能な方式でリムーバブルメディア908に保存する。この保存処理は、映像受信装置904を操作するユーザの指定によってなされてもよいし、映像受信装置904内のソフトウェアによって自動的になされてもよい。
【0014】
映像表示装置905A、905Bは、例えば、テレビモニタ、コンピュータのCRT(Cathode Ray Tube)、液晶モニタといった投影素子を持った映像表示装置で、電気信号を光に変えて映像を表示する役割を持つ。
【0015】
また、映像受信装置904は、蓄積配信サーバ906に対し、再生や早送り等の再生指示を行う操作インターフェイスも内蔵する。この操作インターフェイスは、例えば、コンピュータ画面のGUI(Graphical User Interface)、あるいは、映像受信装置904に接続された制御盤端末でも良い。
【0016】
なお、映像受信装置904と映像表示装置905Aとは、1つの装置として結合された形態であってもよい。例えば、テレビモニタに映像受信装置904が内蔵された形態、CRTを接続したコンピュータの形態、あるいは、表示装置を備えた携帯電話等の携帯端末装置の形態などが挙げられる。
【0017】
蓄積配信サーバ906は、例えば、ネットワークインターフェイスや記録媒体907へのインターフェイスを内蔵したコンピュータであり、映像発信装置903あるいは署名生成装置910からネットワーク媒体901を介して伝送されてきた映像データあるいは署名付き映像データを受信して接続された記録媒体907に記録する役割と、映像受信装置904からの映像配信要求等に応じて記録媒体907より要求された映像データあるいは署名付き映像データを取出し、ネットワーク媒体901を介して映像受信装置904に配信する役割を持つ。
【0018】
記録媒体907は、例えば、ハードディスクやディスクアレイ等の映像データを記録する媒体であり、蓄積配信サーバ906とは、例えば、SCSI(Small Computer System Interface)、ATA(AT Attachment)、Fibre Channelといった専用のインターフェイス、または、SAN(Storage Area Network)、NAS(Network Attached Storage)等のIPネットワークを用いたインターフェイス等によって接続される。
【0019】
リムーバブルメディア908は、例えば、DVD−RAM、MO、CD−RW等の光メディアとドライブの組み合わせ、あるいは、着脱可能なケースに装着されたハードディスク、USB(Universal Serial Bus)やIEEE1394といった着脱可能なインターフェイスを内蔵したハードディスク、メモリカード等であり、映像データを保存する役割を持つ媒体である。リムーバブルメディア908は、映像受信装置904あるいは署名検証装置909とは、例えば、SCSI、ATA、Fibre Channel等の専用のインターフェイス、または、SANやNAS等のIPネットワークを用いたインターフェイス、さらには、USBやIEEE1394等の通電中でも着脱可能なインターフェイス等によって接続される。
【0020】
署名検証装置909は、例えば、画像コーデック、映像表示装置905Bに映像を出力するインターフェイス、リムーバブルメディア908へのインターフェイス等を内蔵したデコーダ装置であり、リムーバブルメディア908内に記録された署名付き映像データを、映像表示装置905Bが表示可能な形に変換して出力する役割を持つ。例えば、映像表示装置905Bがテレビモニタであった場合には、アナログ映像信号への変換処理を行う。また、映像データに関連づけられている署名について所定の検証鍵を用いて署名検証処理を行う。また、映像データが圧縮された映像データであった場合には、画像コーデックを使って伸張処理を施す。なお、署名検証装置909と映像表示装置905Bとは、1つの装置として結合された形態であってもよい。あるいは、また、署名検証装置909と映像受信装置904とは、1つの装置として結合された形態でもよい。
【0021】
署名生成装置910は、例えば、ネットワークインターフェイスを内蔵した装置であり、映像発信装置903から受信した映像データの署名データを生成し、ネットワーク媒体901を介して蓄積配信サーバ906に送信する役割を持つ。なお、署名生成装置910は複数の映像発信装置903からの映像データを同時に処理し、署名データの生成を行う形態でもよい。
【0022】
なお、署名生成装置910と映像発信装置903とは、1つの装置として結合された形態であってもよい。また、署名生成装置910と蓄積配信サーバ906とは、1つの装置として結合された形態であってもよい。また、署名生成装置910と映像発信装置903と蓄積配信サーバ906の3つの装置が1つの装置として結合された形態であってもよい。
【0023】
また、図5においては、各装置は1台ずつである場合を示しているが、これらは互いに、複数台接続されることが可能である。また、蓄積配信サーバ906は、複数の署名生成装置910から発信されたそれぞれ異なった複数の映像データを同時に受信し記録を行いながら、さらに並行して、複数の映像受信装置904へ、それぞれ異なった複数の任意の映像データを同時に配信することが可能である。
【0024】
ここで、署名生成装置910での映像データの署名生成、映像受信装置904及び署名検証装置909での映像データの署名検証には、鍵と呼ばれるデータが必要である。ここで、署名生成と署名検証においては、生成と検証に同じ鍵を用いる共通鍵暗号方式を応用したHMAC(keyed−Hashing for Message Authentication Code)のような方式を用いても良いし、生成と検証に異なる鍵を用いる公開鍵暗号方式を応用したデジタル署名のような方式を用いても良い。
【0025】
上記のような映像監視システムの分野における映像データの特徴として、データ量が大きいという特徴がある。これにより、ネットワーク帯域の節約や記録装置の容量の節約などの目的のために映像データを抜粋して保存する場合があるが、この場合、毎秒30枚の異なる映像データを処理する必要があるなど、単位時間あたりの処理回数が多くなる。
【0026】
特許文献1に記載されている署名方式は、このように映像データを抜粋して保存する場合において、複数データから任意に抜粋して保存でき、なおかつ映像1枚あたりの署名生成の処理負荷を抑えることを可能としている。
【先行技術文献】
【特許文献】
【0027】
【特許文献1】特開2009−182864号公報
【発明の概要】
【発明が解決しようとする課題】
【0028】
ところで、署名処理は映像受信や配信などの他の処理と比較し、非常に負荷の高い処理である。そのため、署名生成装置910は、署名による処理負荷の上昇を避けるために、設定によって署名生成を行わない場合が存在する。特に、署名生成装置910が映像発信装置903あるいは蓄積配信サーバ906と結合された形をとるときには、署名による処理負荷の上昇を避けるために、署名生成設定がオフにされる場合がある。
【0029】
また、署名検証装置909においては映像データの改竄有無の判定が行われる。ここで、署名生成装置910の署名生成設定がオンであるにもかかわらず、映像データに署名が付与されていない場合、何者かが悪意を持って映像データの改竄を行っている可能性が高まるので、即座に、より高度な調査(データにアクセスすることが可能だった人物の調査など)が必要になる。一方で、署名生成装置910の署名生成設定がオフとなっていることにより、映像データに署名が付与されていない場合、署名検証装置909において署名検証する必要の無い映像データを誤って検証したか、署名生成装置910の署名生成設定を誤ってオフにしている可能性がある。よって、まず、それに応じた対処(例えば、署名生成設定をオンにする変更など)を行うべきである。
【0030】
しかし、特許文献1に代表される従来の署名方法は、映像データに署名が付与されていない場合、いずれの理由により映像データに署名が付与されていないのかが区別できないという問題があった。
【0031】
図6は、従来の署名方式で署名された映像データの例とその改竄例を示す図である。
【0032】
図6(A)に示されるデータ91は、従来の署名方式における署名付き映像データの例である。データ91において、Mi(i=1〜11。以下、同様。)は映像データ、Siは署名データを表す。ここでは、署名生成装置910における署名生成設定は、映像データM1〜M3では署名オフ、M4〜M8では署名オン、M9〜M11では署名オフになっている。また、図6(a)に示されるデータ92は従来の署名方式における署名付き映像データの改竄例である。データ92では、映像データM7をM’7に改竄した上で、署名データS7が削除されている。ここで、署名検証装置909でデータ92を検証するとき、署名生成設定がオフとなっていることで署名データが付与されていない映像データM1〜M3及びM9〜M11と、意図的な改竄がされて署名データが削除されている映像データM’7との区別が付かない。
【0033】
本発明は、署名生成装置910の署名生成設定の状態を署名検証装置909が信頼できる方法で取得できるようにする映像署名方法を提供し、署名検証装置909での検証後に、より的確な対処が行える映像署名システムを提供することを目的とする。
【課題を解決するための手段】
【0034】
上記課題を解決するために、本発明は、連続的に複数のデータを取得するデータ取得手段と、前記データ取得手段において取得される取得データについて、署名データの生成を行うか否かを制御する制御手段と、前記制御手段によって署名データの生成を行わない状態に制御されている場合には、前記取得データの数をカウントするカウント手段と、前記制御手段において、署名データの生成を行わない状態から署名データの生成を行う状態への制御が行われた場合に、前記取得データ、および前記カウント手段にてカウントされたカウンタ値に基づいて、署名データを生成する署名データ生成手段と、を有することを特徴とする署名生成装置を提案する。
【0035】
つまり、本発明の署名生成装置では、署名データの生成を行わないデータのカウンタ値を含めて署名データが生成される。よって、署名検証の対象であるデータに署名データが付与されていない場合でも、署名生成装置において署名設定がオフとなっているために署名データが付与されていないのか、データが改竄されたことにより署名データが付与されていないのかが判断可能である。また、カウンタ値も取得データとともに署名されるため、カウンタ値の改竄を検知することも可能である。
【発明の効果】
【0036】
以上のように、本発明によれば、署名検証の対象であるデータに署名データが付与されていない場合でも、データが改竄されたことで署名データが付与されていないのか否かが判断可能である。
【図面の簡単な説明】
【0037】
【図1】映像署名システムの構成例を示す図である。
【図2】署名生成装置100における署名生成方法のフローチャートである。
【図3】署名生成装置100によって署名された映像データの例とその改竄例を示す図である。
【図4】署名検証装置200における署名検証方法のフローチャートである。
【図5】従来の映像配信システム(ネットワーク型映像監視システム)の構成例を示す図である。
【図6】従来の署名方式によって署名された映像データの例とその改竄例を示す図である。
【図7】従来の署名つきネットワーク型映像監視システムにおける一連の映像と一度目の署名との関連を表す図である。
【図8】従来の署名つきネットワーク型映像監視システムにおける一連の映像と二度目の署名との関連を表す図である。
【図9】本発明の署名生成方法における1回目の署名処理について説明する図である。
【図10】本発明の署名生成方法における2回目の署名処理について説明する図である。
【図11】本発明の署名生成方法における1回目の署名処理について説明する図である。
【図12】本発明の署名生成方法における2回目の署名処理について説明する図である。
【図13】本発明の署名検証方法における検証処理の事前処理について説明する図である。
【図14】本発明の署名検証方法における検証処理について説明する図である。
【図15】本発明の署名検証方法のフローチャートである。
【発明を実施するための形態】
【0038】
本発明の実施形態について、図面を参照しながら、以下に説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示される。
【0039】
(映像署名システムの構成)
図1は、本実施形態に係る映像署名システムの構成例を示す図である。本実施形態に係る映像署名システム1は、署名生成装置100と、署名検証装置200とを含んで構成される。署名生成装置100は、映像データに対して署名を生成する装置である。署名検証装置200は、署名生成装置100にて生成された署名データを検証する装置である。なお、署名生成装置100および署名検証装置200は、図5に示されるような従来の映像配信システム(ネットワーク型映像監視システム)において、それぞれ、署名生成装置910、署名検証装置909として使用されうる。
【0040】
なお、以下に説明する署名生成装置100および署名検証装置200は、図示しないCPU(Central Processing Unit)、RAM(Random Access Memory)等のメモリ、ハードディスク等の記憶装置、ネットワークインターフェイス等の一般的なコンピュータの構成と同様の構成により実現される。また、署名生成装置100および署名検証装置200の各構成の機能は、例えば、各装置のCPUがハードディスク等に記憶されているプログラムを読み出して実行することにより、もしくは、例えば、FPGA(Field Programmable Gate Array)においてシーケンサロジックをカスタム設計することに実現される機能である。また、映像データや署名データ等の各データは、各装置のハードディスクやRAM等に記憶されるデータである。
【0041】
(署名生成装置の構成)
署名生成装置100は、データ取得部101と、制御部102と、カウント部103と、署名データ生成部104と、送信部105と、を有する。
【0042】
データ取得部101は、連続的に複数のデータを取得する。「複数のデータ」とは、例えばコンテンツを構成するデータであり、具体的には、映像、音声等を構成するデータや、通信ログ等を構成するテキスト形式のデータ等である。本実施形態においては、「複数のデータ」は、映像を構成する映像データである。また、「連続的に複数のデータを取得する」とは、例えば、映像コンテンツ等を構成する一連のデータを順次、受信すること等が該当する。
【0043】
また、「データを取得する」とは、主に外部の装置から通信によってデータを受信して取得すること等が想定されるが、署名生成装置100内の他の構成からデータを取得する場合もありうる。例えば、ハードディスク等に保存されているデータを読み出して取得する場合や、記録媒体等からデータを読み出す場合等がありうる。
【0044】
データ取得部101は、具体的には、例えば、ネットワークインターフェイスを介して映像等を構成するデータを受信し、受信したデータをRAM等の記憶装置に保存する。
【0045】
制御部102は、データ取得部101において取得される各データについて、署名データの生成を行うか否かを制御する。制御部102は、具体的には、例えば、あらかじめ署名生成装置100の記憶装置に記憶されている設定データに従って制御を行ったり、署名生成装置100のユーザから署名データの生成を行うか否かについての設定変更の入力を受け付けることで、その設定内容に従って制御を行う。
【0046】
制御部102は、具体的には、例えば、署名データの生成を行うか否かを示すRAM上の変数の値を変更することで、署名データの生成を行うか否かの制御を行う。また、後述する署名データ生成部104は、このRAM上の変数を読み出すことで、署名データを生成するか否かを判断する。
【0047】
カウント部103は、制御部102によって署名データの生成を行わない状態に制御されている場合には、データ取得部101において取得される取得データの数をカウントする。カウント部103は、具体的には、例えば、ネットワークインターフェイスを介してデータを受信するたびに、カウント数を示すRAM上の変数の値を一つカウントアップする(増加させる)。
【0048】
署名データ生成部104は、制御部102において、署名データの生成を行わない状態から署名データの生成を行う状態への制御が行われた場合に、データ取得部101にて取得した取得データ、およびカウント部103にてカウントされたカウンタ値に基づいて、署名データを生成する。
【0049】
また、署名データ生成部104は、例えばデータ取得部101で取得するデータが映像等のコンテンツを構成するデータであり、データ取得部101において取得したデータがコンテンツを構成するデータの中で最後に取得される映像データである場合にも、データ取得部101にて取得したデータ、およびカウント部103にてカウントされたカウンタ値に基づいて、署名データを生成する。
【0050】
署名データ生成部104は、具体的には、例えば、RAM等に記憶されている映像等を構成するデータと、カウンタ値を示す変数の値とを読み出して署名データを生成し、生成した署名データをRAM等に保存する。
【0051】
なお、本実施形態においては、署名データの生成を行うように制御がなされている場合であって、署名データの生成を行わない状態から署名データの生成を行う状態への制御が行われなかった場合(署名生成設定に変更がない場合)には、取得データ(映像データ)のみに対して署名データが生成される。
【0052】
送信部105は、署名データ生成部104にて署名データが生成された場合には、データ取得部101にて取得した取得データ、取得データのカウンタ値、および署名データを署名検証装置200に送信する。なお、署名データ生成部104において取得データのみから署名データが生成された場合には、取得データと署名データのみが署名検証装置200に送信される。また、署名データ生成部104にて署名データが生成されなかった場合には、映像データのみが署名検証装置200に送信される。
【0053】
送信部105は、具体的には、例えば、RAM等に記憶されている取得データと、署名データと、必要に応じてRAM上に保存されているカウンタ値を示す変数の値とを読み出して、ネットワークインターフェイスを介して署名検証装置200に送信する。
【0054】
(署名検証装置の構成)
署名検証装置200は、署名データ取得部201と、検証部202と、を有する。
【0055】
署名データ取得部201は、署名データ生成部104において署名データが生成され、送信部105から送信された取得データ、カウンタ値、および署名データを取得する。署名データ取得部201は、具体的には、例えば、ネットワークインターフェイスを介して取得データ、カウンタ値、および署名データを受信し、受信した取得データ等をハードディスクやRAM等に記憶する。
【0056】
検証部202は、署名データ取得部201において取得した取得データ、カウンタ値、および署名データに基づいて、署名の検証を行う。検証部202は、具体的には、例えば、ハードディスク等から映像データ、カウンタ値、および署名データを読み出して、署名データの検証処理を実行した後、この実行結果をRAM等に保存する。
【0057】
(署名生成装置の動作)
本実施形態に係る署名生成装置100における署名生成方法について、図2及び図3を用いて説明する。
【0058】
図2は、署名生成装置100における署名生成方法のフローチャートである。
【0059】
まず、初期化ステップS101では、様々なパラメータの初期値の設定やメモリの確保などが行われる。具体的には、例えば、署名生成設定がオフとなっている映像データをカウントするための署名オフ映像データのカウンタ(以下、「カウンタX」という。)の値が“0”に設定される。
【0060】
次に、映像受信ステップS102では、データ取得部101において、例えば図5の映像発信装置903などから映像データが受信され、メモリ上に保持される。
【0061】
次に、末尾判定ステップS103では、映像受信ステップS102で受信された映像データが一連の映像データの末尾となっているか否かが判定される。この判定の結果、映像データが一連の映像データの末尾であれば、映像カウンタ署名ステップS108Bに分岐し、末尾で無ければ、設定オン変更判定ステップS104に分岐する。
【0062】
設定オン変更判定ステップS104では、例えばユーザの設定などにより、新たに署名生成設定について設定オフから設定オンへの変更があるか否かが判定される。この判定の結果、設定オフから設定オンへの変更があれば、映像カウンタ署名ステップS108Aへ分岐し、設定オフから設定オンへの変更がなければ、設定オフ判定ステップS105へ分岐する。
【0063】
設定オフ判定ステップS105では、現在の署名生成設定が設定オンであるか設定オフであるかが判定される。この判定の結果、署名生成設定が設定オフであれば、カウンタ加算ステップS106へ分岐し、設定オンであれば、映像署名ステップS107に分岐する。
【0064】
カウンタ加算ステップS106では、カウント部103において、カウンタXの値が“1”増加される。
【0065】
映像署名ステップS107では、署名データ生成部104において、映像データのみが署名され、署名データが生成される。
【0066】
一方で、映像カウンタ署名ステップS108Aでは、署名データ生成部104において、映像データとカウンタXの値とが結合されて、署名データが生成される。
【0067】
次に、カウンタ初期化ステップS109では、カウンタXの値が“0”に初期化される。
【0068】
配信ステップS110Aでは、カウンタ加算ステップS106から移行してきた場合には映像データのみが、映像署名ステップS107から移行してきた場合には映像データおよび署名データが、カウンタ初期化ステップS109から移行してきた場合には映像データ、カウンタXの値、および署名データが、送信部105において、蓄積配信サーバ906に配信される。
【0069】
末尾判定ステップS103において、映像受信ステップS102で受信された映像データが一連の映像データの末尾であった場合の次のステップである映像カウンタ署名ステップS108B及び配信ステップS110Bにおける処理は、それぞれ、映像カウンタ署名ステップS108A及び配信ステップS110Aにおける処理と同様なので、説明を省略する。
【0070】
終了処理ステップS111ではメモリの解放など、署名生成装置100における処理の終了に関わる処理が行われる。
【0071】
(署名生成の具体例)
図3(A)は、本実施形態の署名生成装置100によって署名された映像データの例である。映像データM1〜M11は、例えば一つの映像を構成する一連の映像データである。
【0072】
例えば、図3(A)の映像データ11では、映像データM1〜M3までの3つの署名オフ時の映像データが存在する。よって、署名オン期間の先頭である映像データM4と一緒に署名される署名オフ映像データのカウンタの値C4(カウンタXの値)は“3”になる。
【0073】
また、映像データM4〜M8の期間は署名オンの状態であり、それぞれ署名データS4〜S8が付加されている。署名データS4は、映像データM4とカウンタ値C4とが結合されて生成された署名データであり、署名データS5〜S8は、それぞれ、映像データM5〜M8のみから生成された署名データである。
【0074】
映像データM9〜M11の期間は署名オフの状態であるが、映像データM11は一連の映像データ末尾のデータであるため、署名オフの状態であってもカウンタの値C11と共に署名され署名データS11が付与される。ここで、カウンタ値C11は“2”(映像データM9とM10の受信によりカウントされた値)となる
(署名検証装置の動作)
次に、本実施形態に係る署名検証装置200における署名検証方法について、図3及び図4を用いて説明する。
【0075】
図4は、署名検証装置200における署名検証方法のフローチャートである。
【0076】
まず、初期化ステップS201では、様々なパラメータの初期値の設定やメモリの確保などが行われる。具体的には、例えば、検証対象となる映像の番号nの値が“0”に初期化される。
【0077】
次に、映像番号n加算ステップS202では、検証対象となる映像の番号nに“1”が加算される。
【0078】
次に、映像読み込みステップS203では、署名データ取得部201において、検証対象の映像データMnが読み込まれる。併せて、映像データMnに付与されている署名データSnと署名オフ映像データのカウンタ値Cnも存在すれば読み込まれる。
【0079】
次に、署名値存在判定ステップS204では、署名データSnが存在するか否かが判定される。署名データSnが存在すれば、カウンタ存在判定ステップS206に分岐し、署名データSnが存在しなければ、結果情報保留格納ステップS205に分岐する。なお、この結果情報は、RAM等のメモリ上に設けられた記憶領域であって、映像の番号nに対応して設けられた記憶領域である。
【0080】
結果情報保留格納ステップS205では、映像の番号n毎に設けられた結果情報領域のn番に結果判定を一時「保留」することを表す値が格納される。
【0081】
カウンタ存在判定ステップS206では、カウンタ値Cnが存在するか否かが判定される。カウンタ値Cnが存在すれば、映像カウンタ署名検証ステップS211に分岐し、カウンタ値Cnが存在しなければ、映像署名検証ステップS207に分岐する。
【0082】
映像署名検証ステップS207では、検証部202において、検証対象の映像データMnと署名データSnから署名検証が行われる。
【0083】
次に、検証成功判定ステップS208では、映像署名検証ステップS207での検証結果が“成功”であれば、結果情報成功格納ステップS210Aに分岐し、“成功”でなければ、結果情報改竄格納ステップS209Aに分岐する。
【0084】
結果情報改竄格納ステップS209Aでは、映像の番号n毎に設けられた結果情報領域のn番に検証結果が「改竄」であったことを表す値が格納される。
【0085】
また、結果情報成功格納ステップS210Aでは、映像の番号n毎に設けられた結果情報領域のn番に検証結果が「成功」であったことを表す値が格納される。
【0086】
一方で、映像カウンタ署名検証ステップS211では、検証対象の映像データMnと、署名オフ映像データのカウンタ値Cnと、署名データSnとから署名検証が行われる。
【0087】
次に、検証成功判定ステップS212では、映像カウンタ署名検証ステップS211の検証結果が判定され、検証成功であれば、結果情報成功格納ステップS210Bに分岐し、検証失敗であれば結果情報改竄格納ステップS209Bに分岐する。
【0088】
なお、結果情報改竄格納ステップS209Bにおける処理は、結果情報改竄格納ステップS209Aにおける処理と同様なので説明を省略する。また、結果情報成功格納ステップS210Bにおける処理は、結果情報成功格納ステップS210Aにおける処理と同様なので説明を省略する。
【0089】
次に、保留結果情報署名オフ格納ステップS213では、結果情報の(n−カウンタ値)番から(n−1)番が「保留」を示す値であれば、この結果情報を「署名オフ」を示す値に書き換える処理が行われる。
【0090】
次に、映像末尾判定ステップS214では、検証対象の映像データが一連の映像の末尾の映像データであるか否かが判定される。末尾の映像データである場合には、保留中全結果情報改竄格納ステップS215に分岐し、末尾の映像データではない場合には、映像番号n加算ステップS202に戻る。
【0091】
保留中全結果情報改竄格納ステップS215では、全ての結果情報の中に「保留」を示す値のものがあれば、これらの結果情報を「改竄」を示す値に書き換える処理が行われる。
【0092】
最後に、結果表示終了処理ステップS216では、映像データの番号nと一致する結果情報の番号の領域に格納されている情報が読み出され、各々の映像データについて、3種の検証結果「成功」・「改竄」・「署名オフ」のいずれかが署名検証装置200のディスプレイ等に表示される。また、メモリの解放など、署名検証装置200における処理の終了に関わる処理が行われる。
【0093】
(署名検証の具体例)
以下、本実施形態に係る署名検証装置200における署名検証の具体例について説明する。
【0094】
例えば、図3(A)の署名生成装置100において署名され、改竄されていない映像データ11の署名検証が署名検証装置200で行われるとする。この場合、映像データM1,M2,M3,M9,M10は署名オフであり署名データが付与されていない。よって、上述した結果情報保留格納ステップS205において、各映像データに対応する結果情報に、検証結果の判定を一旦「保留」とすることを示す値が格納される。
【0095】
また、映像カウンタ署名検証ステップS211において映像データM4の検証が実行されるが、カウンタ値C4に“3”が格納されていることから、映像データM4の3つ前までの映像データM1,M2,M3は署名オフだったことが分かる。よって、保留結果情報署名オフ格納ステップS213において、映像データM1,M2,M3の結果情報には、「署名オフ」を示す値が格納される。映像データM9,M10についても同様である。
【0096】
以上より、各映像データの結果情報には、「成功」と「署名オフ」のいずれかを示す値が格納されることとなる。つまり、結果表示終了処理ステップS216において、映像データM1〜M11について、「成功」と「署名オフ」のいずれかの結果が表示出力等されるので、署名検証装置200を操作する検証者は、署名データが付与されていない映像データについても改竄されていないことが確認できる。これにより検証者は、「署名検証装置200での署名検証の範囲を映像データM4からM8まで、とすべきであったのに、誤って映像データM1からM11まで、としてしまっていないか?」をチェックしたり、逆に、「署名生成装置100における署名生成を実行する範囲の設定が誤っていなかったか?」をチェックすればよい。
【0097】
また、図3(a)の映像データ12は、本実施形態の署名生成装置100にて署名された映像データが意図的に改竄された例である。本例では、映像データM7を映像データM’7が改竄された上で、署名データS7が削除されている。
【0098】
このような場合に、署名検証装置200で署名検証が行われた場合、映像データM1,M2,M3,M’7,M9,M10は、上述した、結果情報保留格納ステップS205において、それぞれの結果情報に、検証結果の判定を一旦「保留」することを示す値が格納される。映像データM1,M2,M3,M9,M10の結果情報には、上述したように、保留結果情報に署名オフを格納ステップS213において「署名オフ」を示す値が格納される。
【0099】
一方で、映像データM’7については、結果情報に「保留」を示す値が格納された後、保留中全結果情報改竄格納ステップS215において、結果情報に「改竄」を示す値が格納される。結果として映像データM’7と映像データM1,M2,M3,M9,M10の区別ができる。
【0100】
また、図3(b)の映像データ13は、本実施形態の署名生成装置100にて署名された映像データが意図的に改竄された例である。本例では、映像データM7がM’7に改竄された上で、署名データS7が削除されている。さらに、映像データM8について、カウンタ値C’8が付加されている。このカウンタ値C’8には、「署名オフに制御された映像データが1つ(映像データM’7)である」ということを装うために、“1”が設定されているとする。
【0101】
この場合、本実施形態の署名検証装置200では、映像カウンタ署名検証ステップS211において、映像データM8と、カウンタ値C’8と、署名データS8とから署名検証が行われる。しかし、署名生成装置100においては、署名データS8は映像データM8に基づいて生成されているため、映像カウンタ署名検証ステップS211において署名の検証は失敗する。つまり、検証成功判定ステップS212では検証失敗と判定されるため、保留結果情報署名オフ格納ステップS213は実行されず、結果的に、映像データM’7の結果情報には、保留中全結果情報改竄格納ステップS215において「改竄」を示す値が格納される。これにより、「署名オフ」を示す値が結果情報に格納される映像データM1,M2,M3,M9,M10と、改竄された映像データM’7との区別ができる。また、映像データM’8の結果情報にも、検証成功判定ステップS212で検証失敗と判定されることにより、「改竄」を示す値が格納されることになる。
【0102】
また、図3(c)の映像データ14は、本実施形態の署名生成装置100にて署名された映像データが意図的に改竄された例である。本例では、映像データM7がM’7に改竄され、カウンタ値C4,C11及び署名データS4〜S8,S11が削除されている。
【0103】
署名検証装置200では、このような改竄がなされていると、保留中全結果情報改竄格納ステップS215において、全映像データM1〜M11の全結果情報に「改竄」を示す値が格納される。結果的に、改竄された映像データM’7と、署名生成装置100において「署名オフ」となっていた映像データM1,M2,M3,M9,M10との区別が付かないが、この場合は一連の映像データが全体的に意図的な「改竄」が行われたとして、より詳細な調査が行われるようになっていても、運用上問題はない。
【0104】
(他の実施形態)
なお、上記の実施形態においては、映像データについて署名が行われる場合について記載したが、署名が行われるデータは、映像データではなく、音声データや、ログなどのテキストデータ等、その他のデータであってもよい。
【0105】
また、上記の実施形態においては、署名生成装置100において署名データを生成する際に、データ取得部101で取得した取得データとともに、取得データのカウンタ(カウンタX)の値も署名するようになっているが、取得データのみから署名データを生成し、カウンタの値は署名せずに、取得データと署名データとに関連付けて署名検証装置200に送信するようになっていてもよい。この場合、署名検証装置200では、映像カウンタ署名検証ステップS211では、署名データの検証は、取得データに基づいて行われる。
【0106】
(付記)
以上、本発明に係る実施形態について詳細に説明したことからも明らかなように、上述の実施形態の一部または全部は、以下の各付記のようにも記載することができる。しかしながら、以下の各付記は、あくまでも本発明の単なる例示に過ぎず、本発明は、かかる場合のみに限るものではないことは言うまでもない。
【0107】
(付記1)
連続的に複数のデータを取得するデータ取得手段と、
前記データ取得手段において取得される取得データについて、署名データの生成を行うか否かを制御する制御手段と、
前記制御手段によって署名データの生成を行わない状態に制御されている場合には、前記取得データの数をカウントするカウント手段と、
前記制御手段において、署名データの生成を行わない状態から署名データの生成を行う状態への制御が行われた場合に、前記取得データ、および前記カウント手段にてカウントされたカウンタ値に基づいて、署名データを生成する署名データ生成手段と、
を有することを特徴とする署名生成装置。
【0108】
(付記2)
前記複数のデータはコンテンツを構成するデータであり、
前記署名データ生成手段は、
前記制御手段において、署名データの生成を行わない状態から署名データの生成を行う状態への制御が行われた場合に加えて、前記取得データが前記コンテンツを構成する複数のデータの中で最後に取得されるデータである場合にも、前記取得データ、および前記カウント手段にてカウントされたカウンタ値に基づいて、署名データを生成することを特徴とする付記1に記載の署名生成装置。
【0109】
この構成によれば、署名検証の対象であるデータに署名データが付与されていない場合でも、署名生成装置において署名設定がオフとなっているために署名データが付与されていないのか、データが改竄されたことにより署名データが付与されていないのかが判断可能である。
【0110】
(付記3)
付記1または付記2に記載の署名生成装置と、前記署名生成装置にて生成された署名データを検証する署名検証装置と、を有する映像署名システムであって、
前記署名検証装置は、
前記署名データ生成手段において署名データが生成された前記取得データ、前記カウンタ値、および前記署名データを前記署名生成装置から取得する署名データ取得手段と、
前記署名データ取得手段において取得した前記取得データ、前記カウンタ値、および前記署名データに基づいて、署名の検証を行う検証手段と、
を有することを特徴とする映像署名システム。
【0111】
(付記4)
取得したデータに署名データを生成するか否かの設定を行う署名生成装置において実行される署名生成方法であって、
連続的に複数のデータを取得するデータ取得ステップ(例えば、図2のステップS102)と、
前記データ取得ステップにおいて取得される取得データについて、署名データの生成を行うか否かについての設定変更を検知する検知ステップ(例えば、図2のステップS104)と、
前記署名生成装置において署名データの生成を行わないように設定されている場合には、前記取得データの数をカウントするカウントステップ(例えば、図2のステップS106)と、
前記検知ステップにおいて、署名データの生成を行わない状態から署名データの生成を行う状態への設定変更を検知した場合に、前記取得データおよび前記カウントステップにてカウントされたカウンタ値に基づいて、署名データを生成する署名データ生成ステップ(例えば、図2のステップS108A)と、
を有することを特徴とする署名生成方法。
【0112】
つまり、本発明の署名生成方法では、署名データの生成を行わないデータのカウンタ値を含めて署名データが生成される。よって、署名検証の対象であるデータに署名データが付与されていない場合でも、署名生成装置において署名設定がオフとなっているために署名データが付与されていないのか、データが改竄されたことにより署名データが付与されていないのかが判断可能である。また、カウンタ値も取得データとともに署名されるため、カウンタ値の改竄を検知することも可能である。
【0113】
(他の署名生成方法・署名検証方法)
以下、他の署名生成方法、署名検証方法について説明する。なお、以下の説明においては、デジタル署名技術の一種であるRSA−PSS(Probabilistic Signature Scheme)方式を用いることを前提とする。
【0114】
まず、従来の署名つきネットワーク型映像監視システムにおける署名生成方法について、図7を用いて説明する。以下に説明される例は、複数の映像データから構成される一連の映像に対してまとめて署名処理を行う場合であって、各映像データから算出されるハッシュ値に基づいて一のハッシュ値が算出され、この一のハッシュ値から署名値が算出される場合の従来の例である。
【0115】
図7は、従来の署名つきネットワーク型映像監視システムにおける一連の映像と一度目の署名との関連を表す図である。ここでは一例として、署名生成装置910での1回の署名生成時に処理する映像データの数nを4にした場合について記述している。
【0116】
図7においてM1〜M4は署名生成時に処理対象となる映像データであって、一の映像が分割された映像データである。h0,1〜h0,4は、それぞれM1〜M4をハッシュ関数hに入力して得られたハッシュ値である。h1,1は、h0,1とh0,2とを連結した結果をハッシュ関数hに入力して得られたハッシュ値である。h1,2,h2,1も同様である。署名生成エンジン801は、、h2,1と秘密鍵から署名値σ1(1)を算出する。映像データM1〜M4から生成された署名値σ1(1)は署名生成装置910から蓄積配信サーバ906経由で、映像受信装置904に配信される。さらに、映像受信装置904から署名検証装置909に配布される。任意抜粋保存された映像データも検証できるようにするために、各ハッシュ値も必要に応じて、映像データ及び署名と同様に配布される場合もある。
【0117】
ここで、蓄積配信サーバ906に保存した映像データM1〜M4を再度、署名生成装置910に送信して署名する場合の処理について説明する。図8は従来の署名つきネットワーク型映像監視システムにおける一連の映像と二度目の署名との関連を表す図である。
【0118】
署名生成装置910は、まず、M1〜M4のデータそのものと署名σ1(1)と公開鍵とを用いて検証する。検証に成功すると、図8に示すように、1回目の署名と同じく、ハッシュ値h0,1〜h0,4を算出し、さらにh1,1,h1,2,h2,1を算出し、署名生成エンジン801にh2,1と秘密鍵とを入力して署名値σ1(2)を算出する。ここで、映像データM1〜M4が改竄されていなければ、ハッシュ値h0,1〜h0,4およびh1,1,h1,2,h2,1は、図7で示した1回目のハッシュ値と全く同一の値となる。なお、秘密鍵は1回目と同一であってもよいし、同一の鍵長で異なっても良いし、鍵長自体が異なっても良い。ここで、一般に安全性が高いとされる署名生成方法では、同一の秘密鍵を使用しても1回目の署名値σ1(1)と2回目の署名値σ1(2)は乱数の利用によって異なる値となる。
【0119】
ところで、署名処理は他の処理と比較し、非常に負荷の高い処理である。よって、単純に映像1枚毎に署名生成処理を行うと、署名生成装置910が扱える映像の枚数は非常に小さなものになる。そこで、署名生成装置910は、特許文献1に記載されているように複数の映像をまとめて署名する方法を用いることによって映像1枚あたりの署名生成の処理負荷を抑え、多くの映像データの署名生成を実現している。
【0120】
ここで、定期的にあるいは何らかのイベント毎に署名済みの映像データに再度署名を行う必要がある場合がある。このようなとき、一般的には既存の署名値を検証した上で新たな署名を行う。この手順では、まず、映像データからハッシュ値を算出し、算出したハッシュ値と検証用の鍵と署名値から検証を行う。そして、検証が正常に行われた場合には、算出したハッシュ値と署名用の鍵から新たな署名値を生成する。一般的には、この手順において圧倒的に処理量が多いのは署名値の生成である。よって、署名済みの同一の映像データに再度署名を行う場合に、既存の署名値を検証することでのデメリットはほぼ無く、むしろ、その時点で改ざんを即座に検知できるというメリットがある。
【0121】
一方で、特許文献1に記載の手法では、1つのデータあたりの署名値の生成処理量が小さくなっている。また、ハッシュ値を算出する処理量は一般にデータサイズに比例するため、データサイズの大きい映像データの場合、この処理量は無視できないレベルになる。
【0122】
よって、以下に説明する本発明は、このような場合において、映像データのような連続する複数のデータが存在し、かつ個々のデータサイズが大きくても、再署名処理の処理量を比較的小さくすることが可能な映像署名システムを提供することを目的とする。
【0123】
また、以下に説明する本発明は、再署名処理の処理量を比較的小さくすることが可能な映像署名システムにおいて、検証処理の量が増えるが、その増加分をできるだけ抑えることが可能な映像署名システムを提供することを目的とする。
【0124】
なお、以下に説明する映像署名システムは、図5と同様に署名生成装置、署名検証装置等の装置から構成可能であるが、署名生成装置および署名検証装置の詳細な構成については図示しない。
【0125】
[署名生成方法:例1]
本発明の署名生成方法の第一の実施例について、以下に説明する。
【0126】
署名生成装置における1回目の署名処理について図9を用いて説明する。図9において、C1及びh3,1(1)以外は図7と同様であるので説明を省略する。ここでC1は、署名の回数、あるいは時刻、あるいは権限の上下を表す情報のような署名毎に識別可能かつ序列可能な値を含むデータ列である。以後の説明ではC1は署名回数(1回目の署名回数を表すので数値“1”)として説明する。
【0127】
図9において、C1とh2,1とを連結してハッシュ関数hに入力するとハッシュ値h3,1(1)が得られる。署名生成エンジン301でハッシュ値h3,1(1)と秘密鍵から署名値σ1(1)を算出するのは図7と同様である。ここで、本例では、1回目の署名処理のときの途中の計算値であるハッシュ値h2,1とカウンタ値(署名回数)C1を、映像データM1〜M4及び1回目の署名値σ1(1)とともに蓄積配信サーバに保存する。
【0128】
次に、2回目の署名処理について図10を用いて説明する。映像データM1〜M4を再度、署名生成装置において署名するとき、蓄積配信サーバはハッシュ値h2,1と署名回数C1を署名生成装置に送信する。署名生成装置ではC2(2回目の署名回数を表すので数値“2”)とh2,1とを連結してハッシュ関数hに入力するとハッシュ値h3,1(2)が得られる。署名回数を表すC1、C2が異なるため、図9のh3,1(1)と図10のh3,1(2)は異なる値である。署名生成エンジン301でハッシュ値h3,1(2)と秘密鍵から署名値σ1(2)を算出するのは図9と同様である。1回目のときすでにハッシュ値h2,1は保存しているので、今回はC2と署名値σ1(2)のみ保存するために署名生成装置から蓄積配信サーバに送信される。
3回目以降の署名もCの値をカウントアップして同様の処理を行う。
【0129】
このようにすることで、M1〜M4をハッシュ関数hに入力してh0,1〜h0,4を算出するという処理量の大きな処理を行わず、2回目以降の署名を可能にしている。
【0130】
なお、以上に説明した署名生成方法は、図示しない署名生成装置によって実行される。
【0131】
[署名生成方法:例2]
本発明の署名生成方法の第二の実施例について、以下に説明する。
【0132】
署名生成装置における1回目の署名処理について図11を用いて説明する。図11において、ハッシュ処理及び署名生成エンジン301の処理自体は図9と同一である。ここで、図9では1つのハッシュ値h2,1のみを保存していたが、本実施例は、映像データM1〜M4をハッシュ関数に入力して得られた値であるh0,1〜h0,4を保存する。
【0133】
次に、2回目の署名処理について図12を用いて説明する。ここでは、2回目に映像データM1〜M4を再度署名するのではなく、M2〜M5を署名する場合について述べる。ここで映像データM5はM4に続く映像データであり、M1〜M4とは別に署名された映像データである。蓄積配信サーバはハッシュ値h0,2〜h0,5とカウンタ値(署名回数)C1を署名生成装置に送信する。ここでハッシュ値h0,5は映像データM5をハッシュ関数に入力して得られた値であり、他のハッシュ値と同様に蓄積配信サーバに保存されていたものである。
【0134】
署名生成装置ではh0,2とh0,3を連結した結果をハッシュ関数hに入力してハッシュ値h1,1(2)を算出し、h0,4とh0,5を連結した結果をハッシュ関数hに入力してハッシュ値h1,2(2)を算出する。次にh1,1(2)とh1,2(2)を連結した結果をハッシュ関数hに入力してハッシュ値h2,1(2)を算出する。次にC2(2回目の署名回数を表すので数値“2”)とh2,1(2)を連結してハッシュ関数hに入力するとハッシュ値h3,1(2)が得られる。
【0135】
ここで、署名回数を表すC1、C2が異なるため、図11のh1,1,h1,2,h2,1,h3,1(1)と図12のh1,1(2),h1,2(2),h2,1(2),h3,1(2)はそれぞれ異なる値である。署名生成エンジン301でハッシュ値h3,1(2)と秘密鍵から署名値σ1(2)を算出するのは図9と同様である。1回目のときすでにハッシュ値h0,2〜h0,5は保存しているので、今回は署名値σ1(2)のみ保存するために署名生成装置から蓄積配信サーバに送信される。1回目のときすでにハッシュ値h0,2〜h0,5は保存しているので、今回はC2と署名値σ1(2)のみ保存するために署名生成装置から蓄積配信サーバに送信される。3回目以降もCの値をカウントアップして同様の処理を行う。
【0136】
第二の実施例は第一の実施例と比較し、ハッシュ値h1,1(2),h1,2(2),h2,1(2) を算出する分処理が余計に必要だがハッシュ値の算出の処理量はデータサイズに比例する。例えばハッシュ関数hがSHA−256のとき、わずか(256ビットと256ビットを連結した)512ビットのデータを入力とするハッシュ処理が3回加わるのみなので、この余計に必要な処理にかかる処理量は非常に小さい。一方で、第一の実施例では1回目の署名と2回目の署名は同一の映像データを署名対象とする場合にしか適用できないが、第二の実施例ではそのような制限は無く、1回目の署名と異なる映像データを2回目の署名の対象とすることができる。
【0137】
なお、以上に説明した署名生成方法は、図示しない署名生成装置によって実行される。
【0138】
[署名検証方法]
次に本発明の署名検証方法について、以下に説明する。
【0139】
上述したように、本発明のように2回目以降の署名時に前回の署名の検証を行わない場合、通常、全ての署名の検証を行う必要がある。ここでは、検証回数をより少なくする署名検証方法について述べる。
【0140】
まず、検証処理の事前処理について図13を用いて説明する。図13は署名された映像データM1の署名検証するときの事前処理について説明する図である。まず、映像データM1のハッシュ値h0,1を算出し、次にh0,1と別途保存しておいたh0,2とを連結したもののハッシュ値h1,1を算出し、次にh1,1と別途保存しておいたh1,2とを連結したもののハッシュ値h2,1を算出する。なお、この事前処理は1つの映像データに対し、1度行えば良い。
【0141】
次に署名値毎に行う検証処理について図14を用いて説明する。図14は本発明の事前処理において算出されたハッシュ値と署名値から検証結果を出力する処理について説明する図である。まず、事前処理において算出されたハッシュ値h2,1をカウンタ値C1,…,p(pは2以上の整数)と連結したもののハッシュ値h3,1(1,…,p)を算出し、このh2,1(1,…,p)と署名値σ1(1,…,p)を署名検証エンジン302に入力することで検証結果を得られる。ここで、1,…,pは複数の署名のそれぞれにつけられた番号を表す。例えば、h3,1(1,…,p)はh3,1(1)、h3,1(2)、・・・、h3,1(p)の意味である。また、検証結果は「検証成功」あるいは「検証失敗」を表す2値の値である。
【0142】
次に映像データM1に複数(3個以上)の署名値が付与されている場合に、どこまで「検証成功」であったかを、より少ない処理量で示す方法について、図15を用いて説明する。図15は本発明のp個(本説明においてはpは3以上の整数)の署名値が1つの映像データに対して付与されていた場合の検証処理のフローチャートである。ここで複数の署名データσ1,…,pが付与された順序はカウンタ値C1,…,pによって事前に順序づけられている。すなわち、p個の署名データσ1,…,pとカウンタ値C1,…,pはそれぞれ対応付けられている。
【0143】
図15において、ステップS301Aはσpの検証処理、ステップS301Bはσ1の検証処理、ステップS301Cはσkの検証処理、ステップS302A、S302B、S302Cはそれぞれσp、σ1、σkの成功判定処理、ステップS303は2分探索初期値格納処理、ステップS304は検証対象k算出処理、ステップS305はH更新処理、ステップS306はL更新処理、ステップS307はLとHの同一判定処理、ステップS308は最終検証結果判定処理、ステップS309Aは全て失敗を出力処理、ステップS309Bは全て成功を出力処理、ステップS309Cはσk-1とσk間で変更あり出力処理、ステップS309Dはσkとσk+1間で変更あり出力処理、ステップS310は終了処理である。
【0144】
なお、図15におけるステップS301A、S301B、S301Cにおける各検証処理はそれぞれ図14において説明した処理を行う。
【0145】
まず、σpの検証処理(ステップS301A)では最も新しい署名であるσpの検証処理を行う。次に成功判定処理(ステップS302A)では、σ1の検証結果が「検証成功」か「検証失敗」かの判定を行い、「検証失敗」であれば、以後の署名データ全てが検証失敗となるのは明らかなので、全て失敗を出力処理(ステップS309A)に分岐する。全て失敗を出力処理(ステップS309A)では署名検証装置の操作者に対して、全ての署名検証が失敗したことを表すメッセージを出力する。「検証成功」であれば、σ1の検証処理(ステップS301B)に分岐する。
【0146】
σ1の検証処理(ステップS301B)では最も古い署名であるσ1の検証処理を行う。次に、成功判定処理(ステップS302B)では、σ1の検証結果が「検証成功」か「検証失敗」かの判定を行い、「検証成功」であれば、全ての署名データが検証成功となるのは明らかなので、全て成功を出力処理(ステップS309B)に分岐する。全て成功を出力処理(ステップS309B)では署名検証装置の操作者に対して、全ての署名検証が成功したことを表すメッセージを出力する。「検証失敗」であれば、2分探索初期値格納処理(ステップS303)に分岐する。
【0147】
2分探索初期値格納処理(ステップS303)では変数Lに“2”を格納し、変数Hにp-1の値を格納する。次に、検証対象k算出処理(ステップS304)では、(L+H)/2の値をkに格納する。次に、σkの検証処理(ステップS301C)ではσkの検証処理を行う。次に、LとHの同一判定処理(ステップS307)ではLとHの値を比較し、同一であればσkの最終検証結果判定処理(ステップS308)に分岐し、同一でなければσkの成功判定処理(ステップS302C)に分岐する。
【0148】
成功判定処理(ステップS302C)では、σkの検証結果が「検証成功」か「検証失敗」かの判定を行い、「検証成功」であれば、H更新処理(ステップS305)に分岐し、「検証失敗」であれば、L更新処理(ステップS306)に分岐する。L更新処理(ステップS306)ではk+1を変数Lに格納し、検証対象k算出処理(ステップS304)に戻る。H更新処理(ステップS305)ではk-1を変数Hに格納し、検証対象k算出処理(ステップS304)に戻る。
【0149】
σkの最終検証結果判定処理(ステップS308)では、σkの成功判定処理(ステップS302C)と同じ判定を行い、σkの検証結果が「検証成功」であれば、σk-1とσk間で変更あり出力処理(ステップS309C)に分岐し、σkの検証結果が「検証失敗」であれば、σkとσk+1間で変更あり出力処理(ステップS309D)に分岐する。
【0150】
σk-1とσk間で変更あり出力処理(ステップS309C)では署名検証装置の操作者に対して、σk-1の署名が実行されてから、σkの署名が実行されるまでの間に映像データの変更がなされたことを示すメッセージを出力する。σkとσk+1間で変更あり出力処理(ステップS309D)では署名検証装置の操作者に対して、σkの署名が実行されてから、σk+1の署名が実行されるまでの間に映像データの変更がなされたことを示すメッセージを出力する。最後に終了処理(ステップS310)では使用したメモリの解放など、終了する際に必要な処理を行う。
【0151】
すなわち、以上に説明した署名検証方法では、原則、すべての署名データの検証を行わずに済むため、本発明の署名生成方法に対して効率的に署名検証可能である。
【0152】
なお、以上に説明した署名検証方法は、図示しない署名検証装置によって実行される。
【符号の説明】
【0153】
100 署名生成装置
101 データ取得部
102 制御部
103 カウント部
104 署名データ生成部
105 送信部
200 署名検証装置
201 署名データ取得部
202 検証部
901 ネットワーク媒体
902 映像生成装置
903 映像発信装置
904 映像受信装置
905A、905B 映像表示装置
906 蓄積配信サーバ
907 記録媒体
908 リムーバブルメディア
909 署名検証装置
910 署名生成装置

【特許請求の範囲】
【請求項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

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2011−234335(P2011−234335A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−201849(P2010−201849)
【出願日】平成22年9月9日(2010.9.9)
【出願人】(000001122)株式会社日立国際電気 (5,007)
【Fターム(参考)】