説明

署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名生成プログラム、および署名検証プログラム

【課題】長時間、かつリアルタイムで記録される映像データが改ざんされていないことの証明に加え、時系列に連続記録され、中抜きや差し替え等がないことを第三者に証明可能とする署名生成方法、署名検証方法を提供する。
【解決手段】連続する一連のデータを受信し、受信されたデータを受信するごとに、データを要約した要約情報を生成する。生成した要約情報が所定数になったらブロック単位で順次取得し、取得されたブロックとそのブロックに前後する少なくとも一方のブロックから選ばれた要約情報とを署名対象に設定し、署名対象に対して電子署名を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ストリーミングデータに対する署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名検証プログラム、および署名生成プログラムに関する。
【背景技術】
【0002】
近年、店舗や繁華街、集合住宅等での監視カメラ設置や、業務車両へのドライブレコーダ設置等が一般化し、動画像を証拠物件として取り扱う事例が増加している。また、電話による取引やサポート業務のトラブル対策として、店舗が顧客とオペレータとの会話を録音し証拠として保持することも常識となりつつある。
【0003】
現在、動画像や音声を証拠とする場合、ビデオテープや画像・音声ファイルをそのまま提供している。しかし、画像・音声保存のデジタル化が進めば、それらの改ざんや編集は容易になり、証拠として取り扱う場合は署名やタイムスタンプといった第三者証明が必要となる。現に電話オペレータの音声をタイムスタンプ付きで録音・記録するサービスや製品が販売されており、今後このような技術のニーズが高まることが予想される。
【0004】
一方で、増加する監視カメラ等に対して、撮影された映像の利用に対するプライバシの保護が問題となり、総務省等で議論が行われている。また、個人情報保護法の施行等により、個人のプライバシ情報の利用が厳しく制限され、本人の要求があれば、開示や部分的な削除等が必要である。
【0005】
前述した、証拠性とプライバシ保護の両立という課題に対して、電子文書の一部に対する部分的な原本性の保証や、秘匿することを目的とした墨塗り署名技術の研究が進んでいる。特に、ある文書に対して施された署名が、文書の一部を秘匿することによって検証できなくなる問題を解決する電子文書の墨塗り署名技術が開示されている(たとえば、下記特許文献1を参照。)。具体的には、電子文書の内容を項目分割し、各項目の要約情報を算出、各項目の要約情報の集まりに対して電子署名を付加する方式である。ここで、要約情報とは、メッセージダイジェストという、暗号学的一方向性ハッシュ関数を用いて算出されたハッシュ情報に相当する。
【0006】
この技術を適用することにより、署名付き電子文書に対して墨塗りを施した状態でも署名検証が可能、かつ、秘匿のための墨塗り、変更、追加した箇所以外は改変がないことを第三者証明することが可能となる。さらに、この技術を動画像・音声データに適用することが可能で、動画像データの原本性の保証、署名対象からのプライバシ保護可能なデータ抽出を目的とした技術が開示されている(たとえば、下記特許文献2を参照。)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特願2006−528342号公報
【特許文献2】特開2009−152713号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述した従来技術において、長時間かつリアルタイムで記録される映像データに適用した状態で、記録中に異常が発生し記録が停止する事象が発生した場合、それまで記録した映像データの原本性の証明が行えないという問題があった。異常となるケースとしては、映像記録装置の強制電源断等である。
【0009】
監視カメラを設置する利用者側からすれば、それまで記録された映像内に重要な証拠が存在する可能性があるため、記録データは逐一証明付きで保存できた方がよい。証明するための電子署名を付けるタイミングは、録画停止ボタンを押下する等の正式な手続きをもって、電子署名が付されることになり、付された電子署名によってその映像データが原本であることの第三者証明がはじめて可能になる。しかし、異常時には、電子署名処理を行うことができないため、改ざんされていないことの第三者証明を行うことができない。
【0010】
したがって、記録された映像とその改ざん検知情報となる、メッセージダイジェストの集まりだけでは、改ざんされていないことの証明にはならない。特に24時間365日連続して記録される監視カメラ等では、停電等による強制停止の事象発生は完全には防げず、いつ記録が強制停止されるか判断できないため、なんらかの対策が必要である。
【0011】
上述した課題に対して、たとえば、映像記録が30fps(frame per second)として、1秒間に30フレームを記録している場合、10秒間で300フレームが記録されることとなり、これを一つの保証単位として取り扱うことにする。この場合、異常等により映像記録が停止した場合でも、それまで記録された映像データの非改ざん証明は可能になる。
【0012】
しかしながら、この場合、300フレーム単位での非改ざん証明は可能になるが、各ブロックにまたがるフレーム間が時系列に連続していることを保証できないという問題があった。連続していることの保証とは、故意・過失による不正な差し替えや中抜きがされていないことの保証を示す。
【0013】
本発明は、上述した従来技術による問題点を解消するため、長時間、かつリアルタイムで記録される映像データが改ざんされていないことを証明することを目的とする。また、時系列に連続記録され、中抜きや差し替え等がないことを第三者に保証できる署名生成装置、署名生成方法、および署名生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
上述した課題を解決し、目的を達成するため、開示の署名生成装置は、連続する一連のデータを受信するごとに、データを要約した要約情報を生成する。生成した要約情報が所定数になったらブロック単位で順次取得し、取得されたブロックとそのブロックに前後する少なくとも一方のブロックから選ばれた要約情報とを署名対象に設定する。署名対象に対して電子署名を生成し、受信されたデータと署名対象と電子署名を記憶装置に送信することを要件とする。
【発明の効果】
【0015】
本署名生成装置、署名生成方法、および署名生成プログラムによれば、中抜きや差し替え等がないことを第三者に保証できる電子署名を生成するという効果を奏する。また、本署名検証装置、署名検証方法、および署名検証プログラムによれば、中抜きや差し替え等がないことを第三者に保証できる電子署名を検証できるという効果を奏する。
【図面の簡単な説明】
【0016】
【図1】本発明の実施の形態にかかるシステムの構成図である。
【図2】認証機関装置102の機能的構成を示すブロック図である。
【図3】署名生成装置103の機能的構成を示すブロック図である。
【図4】映像抽出装置105の機能的構成を示すブロック図である。
【図5】署名検証装置107の機能的構成を示すブロック図である。
【図6】署名生成装置103のハードウェア構成を示すブロック図である。
【図7】署名生成装置103内の署名生成部303の機能的構成を示すブロック図である。
【図8】署名検証装置107内の署名検証部503の機能的構成を示すブロック図である。
【図9】署名アルゴリズムの概要を示す図である。
【図10】原動画情報の署名生成処理の概要を示す図である。
【図11】原動画情報の署名生成処理を示す図である。
【図12】原動画情報の署名検証処理を示す図である。
【図13】切り出し動画情報の署名生成処理を示す図である。
【図14】切り出し動画情報の署名検証処理を示す図である。
【図15】原動画情報の抽出操作を示す図である。
【図16】検証対象の動画情報、および検証情報の選択画面を示す図である。
【図17】切り出し動画情報の署名検証結果を示す図である。
【図18】電子署名の公開鍵登録処理を示すフローチャートである。
【図19】電子署名付き情報の送受信処理、および受信装置の検証処理を示すフローチャートである。
【図20−1】原動画情報の生成処理、および署名生成処理を示すフローチャート(その1)である。
【図20−2】原動画情報の生成処理、および署名生成処理を示すフローチャート(その2)である。
【図21】フレームダイジェスト情報の集合に対する電子署名生成処理を示すフローチャートである。
【図22−1】切り出し動画情報の生成処理、および署名生成処理を示すフローチャート(その1)である。
【図22−2】切り出し動画情報の生成処理、および署名生成処理を示すフローチャート(その2)である。
【図23】原動画情報の署名検証処理を示すフローチャートである。
【図24】切り出し動画情報の取り出し処理を示すフローチャートである。
【図25】切り出し動画情報の署名検証処理を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下に添付図面を参照して、本発明にかかる署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名生成プログラム、および署名検証プログラムの好適な実施の形態を詳細に説明する。
【0018】
図1は、本発明の実施の形態にかかるシステムの構成図である。本システムは認証機関装置102と、署名生成装置103と、映像抽出装置105と、署名検証装置107とで構成される。本システムはネットワーク101に接続可能である。署名生成装置103は、複数の映像記録端末104と接続されている。映像抽出装置105は、抽出者端末106と接続されている。署名検証装置107は、検証者端末108と接続されている。
【0019】
ネットワーク101は、インターネット、イントラネット、ワイドエリアネットワーク等のすべての通信回線網に相当する。認証機関装置102は、電子署名情報を管理する認証機関のサーバである。電子署名とは、署名対象を要約した要約情報を送信装置が保持する秘密鍵で暗号化した情報のことである。そして、送信装置は電子署名、署名対象、および公開鍵証明書を受信装置へ送信する。受信装置は、公開鍵証明書の有効性確認を行った上で、暗号化された電子署名を公開鍵証明書に含まれる公開鍵で復号し、署名対象から得た要約情報と比較を行う。この比較結果が同一か否かによって、正当な相手からの送信か否かを判断する。詳細は図19にて後述する。
【0020】
また、前述した要約情報とは、署名対象に対して暗号学的一方向性ハッシュ関数を用いて算出されたハッシュ情報であり、署名対象のサイズを圧縮できるという意味で、メッセージダイジェストとも言われる。また、暗号学的一方向性ハッシュ関数で生成されたハッシュ情報は、その署名対象からしか生成することができない唯一の情報となり、生成されたハッシュ情報から元の情報を復元することができないという特徴を持っている。
【0021】
このため、情報の暗号化や電子署名生成にはよく使われている。この暗号学的一方向性ハッシュ関数には、MD5、SHA−1、SHA−256のようなアルゴリズムがある。情報に対してどのアルゴリズムを用いて要約情報を生成しているかについての情報(ハッシュ情報生成アルゴリズム)は公開鍵証明書に記載されている。
【0022】
署名生成装置103は、後述する映像記録端末104から送信された情報を保存・蓄積し、署名生成処理を行うサーバである。映像記録端末104は、電子署名の対象となる情報、ここでは原本ストリーミングデータ(以降、原動画情報と説明)の撮影・記録を行うための端末である。たとえば、業務用監視カメラ等に相当する。映像記録端末104は署名生成装置103と通信可能である。
【0023】
映像抽出装置105は、署名生成装置103から送られてきた情報を蓄積し、後述する署名検証装置107へ送信された情報を蓄積するサーバである。映像抽出装置105は後述する抽出者端末106にて操作するが、映像抽出装置105にマウスやキーボード、ディスプレイ等を接続することで直接操作できるようにしてもよい。抽出者端末106は、映像抽出装置105の操作を行うための端末である。抽出者装置106は映像抽出装置105と通信可能である。
【0024】
署名検証装置107は、映像抽出装置105から送られてきた情報を蓄積し、送られてきた情報に付される電子署名の検証を行うサーバである。署名検証装置107は後述する検証者端末108にて操作するが、署名検証装置107にマウスやキーボード、ディスプレイ等を接続することで直接操作できるようにしてもよい。検証者端末108は、署名検証装置107の操作を行うための端末である。検証者端末108は署名検証装置107と通信可能である。
【0025】
図2は、認証機関装置102の機能的構成を示すブロック図である。認証機関装置102は、公開鍵DB(DataBase)201と、証明書発行部202と、証明書検証部203と、通信手段204で構成する。公開鍵DB201は、映像記録端末104、抽出者端末106の公開鍵を蓄積する。証明書発行部202は、要求に応じて公開鍵証明書を発行する。証明書検証部203は、公開鍵証明書の検証を行う。通信手段204は、ネットワーク101に接続しており、ネットワーク101経由で通信を行う。
【0026】
図3は、署名生成装置103の機能的構成を示すブロック図である。署名生成装置103は、映像管理DB301と、映像管理TB(Table)302と、署名生成部303と、通信手段304で構成する。映像管理DB301は、映像記録端末104から送信された情報と、映像抽出装置105へ送信された情報を蓄積する。映像管理TB302は、映像管理DB301へのアクセス制御を管理するテーブルである。署名生成部303は、映像データに対して電子署名とその署名対象を付加する。署名生成部303の機能は、図7にて後述する。通信手段304は、ネットワーク101に接続しており、ネットワーク101経由で通信を行う。
【0027】
図4は、映像抽出装置105の機能的構成を示すブロック図である。映像抽出装置105は、映像管理DB401と、映像管理TB402と、署名生成部403と、署名検証部404と、通信手段405で構成する。映像管理DB401は、署名生成装置103から送られてきた情報を蓄積する。映像管理TB402は、映像管理DB401へのアクセス制御を管理するテーブルである。署名生成部403は、映像に対して署名情報を付加する。署名検証部404は、署名生成装置103から送られてきた情報に付される署名情報の検証を行う。通信手段405は、ネットワーク101に接続しており、ネットワーク101経由で通信を行う。
【0028】
図5は、署名検証装置107の機能的構成を示すブロック図である。署名検証装置107は、映像管理DB501と、映像管理TB502と、署名検証部503と、通信手段504で構成する。映像管理DB501は、映像抽出装置105から送られてきた情報を蓄積する。映像管理TB502は、映像管理DB501へのアクセス制御を管理するテーブルである。署名検証部503は、映像抽出装置105から送られてきた情報に付される署名情報の検証を行う。通信手段504は、ネットワーク101に接続しており、ネットワーク101経由で通信を行う。
【0029】
前述したように、署名生成装置103はネットワーク101に接続しているが、オフラインでの運用も可能である。具体的には、たとえば、認証機関装置102が生成した公開鍵証明書を、フレキシブルディスクやCD(Compact Disc)等のリムーバブルメディアに書き込む。後に、署名生成装置103は、後述する図6の磁気ディスクドライブ604や光ディスクドライブ606を通じて、公開鍵証明書を読み込む。また、映像データに関しても同様に、電子署名を行った段階で署名生成装置103内の記憶領域に格納し、定期的に、映像データや電子署名をリムーバブルメディアに書き込む。その後、映像抽出装置105は映像データや電子署名をリムーバブルメディアに読み込む。
【0030】
(署名生成装置103のハードウェア構成)
図6は、署名生成装置103のハードウェア構成を示すブロック図である。図6において、署名生成装置103は、CPU(Central Processing Unit)601と、ROM(Read‐Only Memory)602と、RAM(Random Access Memory)603を備えている。さらに、磁気ディスクドライブ604と、磁気ディスク605と、光ディスクドライブ606と、光ディスク607を備えている。さらに、ディスプレイ608と、I/F(Interface)609と、キーボード610と、マウス611と、スキャナ612と、プリンタ613を備えている。また、各構成部はバス600によってそれぞれ接続されている。
【0031】
ここで、CPU601は、署名生成装置103の全体の制御を司る。ROM602は、ブートプログラムなどのプログラムを記憶している。RAM603は、CPU601のワークエリアとして使用される。磁気ディスクドライブ604は、CPU601の制御にしたがって磁気ディスク605に対するデータのリード/ライトを制御する。磁気ディスク605は、磁気ディスクドライブ604の制御で書き込まれたデータを記憶する。
【0032】
光ディスクドライブ606は、CPU601の制御にしたがって光ディスク607に対するデータのリード/ライトを制御する。光ディスク607は、光ディスクドライブ606の制御で書き込まれたデータを記憶したり、光ディスク607に記憶されたデータをコンピュータに読み取らせたりする。
【0033】
ディスプレイ608は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ608は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0034】
I/F609は、ネットワーク101に接続され、このネットワーク101を介して他の装置に接続される。そして、I/F609は、ネットワーク101と内部のインターフェイスを司り、外部装置からのデータの入出力を制御する。I/F609には、たとえばモデムやLANアダプタなどを採用することができる。
【0035】
キーボード610は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス611は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0036】
スキャナ612は、画像を光学的に読み取り、署名生成装置103内に画像データを取り込む。なお、スキャナ612は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ613は、画像データや文書データを印刷する。プリンタ613には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【0037】
署名検証装置107においても、署名生成装置103と同様のハードウェア構成である。すなわち、署名検証装置107は、CPUと、ROMと、RAMと、磁気ディスクドライブと、磁気ディスクと、光ディスクドライブと、光ディスクと、ディスプレイと、I/Fと、キーボードと、マウスと、スキャナと、プリンタと、を備えている。
【0038】
(署名生成装置103の機能的構成)
次に、署名生成装置103の機能的構成について説明する。図7は、署名生成装置103内の署名生成部303の機能的構成を示すブロック図である。署名生成部303は、受信部701と、要約情報生成部702と、取得部703と、設定部704と、電子署名生成部705と、送信部706で構成する。この制御部となる機能(受信部701〜送信部706)は、具体的には、たとえば、図6に示したROM602、RAM603、磁気ディスク605、光ディスク607などの記憶装置に記憶されたプログラムをCPU601が実行することにより、その機能を実現する。または、I/F609を経由して他のCPUが実行することにより、その機能を実現してもよい。
【0039】
受信部701は、映像記録端末104からの映像データを連続して受信する機能を有する。具体的には、たとえば、映像記録が30fpsである場合は、1秒間に30フレームを映像記録端末104から受信する。なお、抽出されたデータは、RAM603、磁気ディスク605、光ディスク607などの記憶領域に記憶される。
【0040】
要約情報生成部702は、受信部701によって受信されたフレームに対して、フレームのデータを要約した要約情報、たとえばフレームに対するダイジェストを順次生成する機能を有する。具体的には、たとえば、フレームを引数としてハッシュ関数に代入し、結果をフレームに対するダイジェストとする。以下、フレームに対するダイジェストをフレームダイジェスト情報とする。フレームの内容が改ざんされると、ハッシュ関数の結果が変化するため、検証者は、フレームが改ざんされたことを発見することが容易になる。なお、生成結果は、RAM603、磁気ディスク605、光ディスク607などの記憶領域に記憶される。
【0041】
取得部703は、要約情報生成部702によって生成されたフレームダイジェスト情報の総数が所定数に達した場合、一連のフレームダイジェスト情報を1つのブロック単位として取得する機能を有する。
【0042】
具体的には、たとえば、署名生成装置103が映像データを300フレーム分順次受信し、フレームダイジェスト情報を生成した状態で、フレーム1〜300のフレームダイジェスト情報を1つのブロック単位として扱うようにする。続けて、フレーム301〜600を順次受信し、フレームダイジェスト情報を生成した状態で、フレーム301〜600の300フレーム分のフレームダイジェスト情報を1つのブロックとして扱うようにする。また、フレーム756の受信後、録画が終了した場合には、フレーム601〜756の156フレームを1つのブロックとする。なお、取得したブロックは、RAM603、磁気ディスク605、光ディスク607などの記憶領域に記憶される。
【0043】
設定部704は、取得部703によって取得されたブロックに対して、ブロックのフレームダイジェスト情報と取得されたブロックに前後する少なくともいずれか一方のブロック内の任意のフレームダイジェスト情報を電子署名の署名対象に設定する機能を有する。前後のブロックに関して、前のブロック1つでもよいし、次のブロック1つでもよいし、前のブロックと次のブロックとの2つのブロックを、取得されたブロックのフレームダイジェスト情報とあわせて電子署名の署名対象に設定してもよい。また、次のブロック内のフレームダイジェスト情報を取得する際に、次のブロック内で最初に生成されたフレームダイジェスト情報を取得してもよい。
【0044】
また、取得されたブロックがすべてのブロックの中で先頭に位置する場合は、映像データの先頭を示す識別情報を署名対象に含めてもよい。同様に、取得されたブロックが、すべてのブロックの中で末尾に位置する場合は、映像データの末尾に位置する識別情報を署名対象に含めてもよい。
【0045】
具体的には、たとえば、フレーム301〜600のフレームダイジェスト情報を扱うブロックに対し、前のブロックからはフレーム300を、次のブロックからはフレーム601を含めて署名対象とする。また、フレーム1〜300のブロックの場合は、先頭を示す識別情報として、“START”といった文字列を識別情報にする。また、フレーム601〜756のブロックで、フレーム756の受信後、録画が終了した場合に、末尾を示す識別情報として、“NULL”といった文字列を識別情報にする。なお、取得したブロックは、RAM603、磁気ディスク605、光ディスク607などの記憶領域に記憶される。
【0046】
電子署名生成部705は、設定部704によって設定された署名対象に対して、署名対象に設定されたブロックの要約元となる映像データの電子署名を生成する機能を有する。具体的には、たとえば、取得部703によって取得された、フレーム301〜600のブロックは、フレーム300とフレーム601のフレームダイジェスト情報を含んだ署名対象が設定部704によって設定されている。そして、設定部704によって設定された署名対象に対して、署名生成装置103は電子署名を生成する。
【0047】
電子署名の生成例として、署名生成装置103は、署名対象に対してハッシュ関数を使用してハッシュ情報を生成し、ハッシュ情報に対して事前に生成した秘密鍵を用いて電子署名を生成する。秘密鍵で暗号化された電子署名は、公開鍵を用いることでハッシュ情報に戻る。したがって、第三者は、取得した署名対象と電子署名を、署名対象に対してハッシュ関数を使用してハッシュ情報にし、電子署名に対して公開鍵を用いて復号し、値が一致することで、検証することができる。なお、生成された電子署名は、RAM603、磁気ディスク605、光ディスク607などの記憶領域に記憶される。
【0048】
送信部706は、受信部701によって受信された映像データと、設定部704によって設定された署名対象と、電子署名生成部705によって生成された電子署名と、を関連付けて記憶装置に送信する機能を有する。署名対象と電子署名をあわせて署名情報とする。具体的には、たとえば、フレーム301〜600の映像データと、フレーム300〜601のフレームダイジェスト情報と、フレームダイジェスト情報に対する電子署名とを送信する。また、算出結果は、RAM603、磁気ディスク605、光ディスク607などの記憶領域に記憶させてもよい。
【0049】
映像抽出装置105内の署名生成部403に関しても、前述した署名生成部303と同様の機能を持つ。また、署名生成部403は、受信した映像データ、たとえば、フレーム1〜756の映像データに対し、一部分を切り出して電子署名を行ってもよい。具体的には、フレーム200〜550に対して電子署名を生成する。具体的な処理については、図13にて後述する。
【0050】
図8は、署名検証装置107内の署名検証部503の機能的構成を示すブロック図である。署名検証部503は、受信部801と、要約情報生成部802と、署名対象検証部803と、データ検証部804と、連続検証部805と、電子署名検証部806とで構成する。この制御部となる機能(受信部801〜電子署名検証部806)は、具体的には、たとえば、署名検証装置107のROM、RAM、磁気ディスク、光ディスクなどの記憶装置に記憶される。そして、記憶されたプログラムを署名検証装置107のCPUが実行することにより、その機能を実現する。または、I/Fを経由して他のCPUが実行することにより、その機能を実現してもよい。
【0051】
受信部801は、映像データと、映像データのフレームを要約した要約情報、たとえば、フレームダイジェスト情報を所定数の単位でブロックにした署名対象と、署名対象に対する電子署名と、を受信する機能を有する。署名対象には、該当のブロックを構成するフレームのフレームダイジェスト情報と、その前後する少なくともいずれか一方のブロックの中から選ばれたフレームダイジェスト情報で構成する。前後のブロックに関して、次のブロック1つでもよいし、前のブロック1つでもよいし、前のブロックと次のブロックとの2つのブロックでもよい。
【0052】
また、署名対象には、該当のブロックのフレームダイジェスト情報と一連のデータの先頭を示す識別情報とが含まれてもよいし、もしくは、該当のブロックのフレームダイジェスト情報と一連のデータの末尾を示す識別情報とが含まれてもよい。なお、受信されたデータは、署名検証装置107のRAM、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【0053】
具体的には、たとえば、映像データは、フレーム1〜756の映像データになる。署名対象に関して、前のブロックと次のブロックとの2つのブロックが含まれ、データの先頭を示す識別情報、データの末尾を示す識別情報も含まれる場合を例に挙げる。
【0054】
前述の例では、署名対象と電子署名の組が3つ存在し、1つ目の署名対象は、“START”といった文字列によって先頭を示す識別情報とフレーム1〜301のフレームダイジェスト情報とで構成され、電子署名は前述した署名対象に対する署名となる。2つ目の署名対象は、フレーム300〜601のフレームダイジェスト情報とで構成され、電子署名は前述した署名対象に対する署名となる。3つ目の署名対象は、フレーム601〜756のフレームダイジェスト情報と“NULL”といった文字列によって末尾を示す識別情報とで構成され、電子署名は前述した署名対象に対する署名となる。詳細は後述する図12にて説明する。
【0055】
要約情報生成部802は、受信部801によって受信されたフレームに対して、フレームのデータを要約した要約情報、たとえばフレームダイジェスト情報を生成する機能を有する。要約情報生成部802は、要約情報生成部702と同様の機能である。なお、受信されたデータは、署名検証装置107のRAM、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【0056】
署名対象検証部803は、受信部801によって受信された署名対象の正当性を、受信された電子署名に基づいて検証する機能を有する。具体的な例として、前述した2つ目の署名対象と電子署名について説明する。署名検証装置107は、初めに、署名対象に対して要約した要約情報、たとえば、ハッシュ値を求める。次に、電子署名を公開鍵にて復号し、前述したハッシュ値と復号した値が一致することで、署名対象の正当性を保証できる。なお、検証結果は、署名検証装置107のRAM、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【0057】
データ検証部804は、受信部801によって受信された一連のデータの正当性を、要約情報生成部802によって生成されたフレームダイジェスト情報と署名対象検証部803によって検証された署名対象とに基づいて検証する機能を有する。具体的な例として、前述した2つ目の署名対象と電子署名について説明する。一連のデータをフレーム301〜600のフレームダイジェスト情報を算出した算出結果と、署名対象に含まれるフレーム301〜600の値とをそれぞれ比較する。比較した結果、一致することで、各フレームの正当性を保証できる。なお、検証結果は、署名検証装置107のRAM、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【0058】
連続検証部805は、受信部801によって受信された複数のブロックが連続することに関する正当性を、要約情報生成部802によって生成されたフレームダイジェスト情報と署名対象検証部803によって検証された署名対象に基づいて検証する機能を有する。なお、検証結果は、署名検証装置107のRAM、磁気ディスク、光ディスクなどの記憶領域に記憶される。具体的な例として、前述した2つ目の署名対象と電子署名について説明する。
【0059】
2つ目の署名対象には、1つ目のブロックに含まれる、フレーム300のフレームダイジェスト情報が含まれている。2つ目の署名対象に含まれているフレーム300のフレームダイジェスト情報と、受信部801によって受信されたフレーム300を要約情報生成部802によって生成されたフレームダイジェスト情報と、を比較する。比較した結果、一致することで、2つ目の署名対象は、1つ目の署名対象の次に位置することを保証できる。同様に、2つ目の署名対象には、3つ目のブロックに含まれる、フレーム601のフレームダイジェスト情報が含まれている。同様の動作により、2つ目の署名対象は、3つ目の署名対象の前に位置することを保証できる。
【0060】
また、1つ目の署名対象には、“START”といった文字列によって先頭を示す識別情報が含まれているため、1つ目の署名対象のブロックがデータの先頭であることを保証できる。また、3つ目の署名対象には、“NULL”といった文字列によって末尾を示す識別情報が含まれているため、3つ目の署名対象のブロックがデータの末尾であることを保証できる。
【0061】
電子署名検証部806は、受信部801によって受信された映像データ、署名対象、および電子証明の正当性に関して、署名対象検証部803とデータ検証部804と連続検証部805とによって検証された検証結果に基づいて検証する。具体的には、たとえば、署名対象検証部803とデータ検証部804と連続検証部805の検証結果がすべて保証することができたという結果だった場合に、受信部801によって受信された映像データ、署名対象、および電子証明の正当性を保証することができる。なお、検証結果は、署名検証装置107のRAM、磁気ディスク、光ディスクなどの記憶領域に記憶される。
【0062】
映像抽出装置105内の署名検証部404に関しても、前述した署名検証部503と同様の機能を持つ。さらに署名検証部503は、映像データの中の一部分を抽出されたデータに関して、正当性を検証できることとしてもよい。たとえばフレーム1〜756の映像データに対し、フレーム200〜550に対して電子署名を付加されたデータに対し、正当性を検証する。具体的な処理については、図14にて後述する。
【0063】
上述した装置、端末を使用して、本実施の形態のシステムにおける処理を説明する。本実施の形態は、処理の役割によって各装置、端末が署名装置、抽出装置、検証装置となる。署名装置は、映像記録端末104の署名を付加することで、署名対象の原動画情報の内容を保証する。また、署名として、映像記録端末104を管理する管理者の情報で生成された電子署名でもよい。
【0064】
抽出装置は、映像記録端末104の署名が付加された原動画情報から、部分的にデータを抽出して、切り出し動画情報として検証装置に開示する。抽出方法には、抽出装置の情報を同時に開示し、どの装置がその抽出処理を行ったかを明示する顕名抽出と、抽出装置が抽出処理を匿名で行う匿名抽出の2種類ある。本実施の形態では、顕名抽出を行うことを前提に説明を行う。
【0065】
検証装置は、開示された切り出し動画情報が映像記録端末104によって保証されているかどうかを検証する。開示された切り出し動画情報は、映像記録端末104が署名をした原動画情報の一部であることに加え、その抽出が抽出装置によって行われたことを検証する。なお、電子署名の処理については、各装置が図18、図19にて後述する電子署名の手順を行うものとする。
【0066】
図9は、署名アルゴリズムの概要を示す図である。署名装置は、オリジナルデータ901を部分データに分割し、各部分データのハッシュ集合を計算し、ハッシュ情報集合902を生成する。その後、生成したハッシュ情報集合902が電子署名の署名対象となり、署名対象に対して署名装置の電子署名を行い、ハッシュ情報集合902と電子署名をあわせて署名装置の署名情報903とする。
【0067】
抽出装置は、署名装置が署名情報を施したデータから、部分データを抽出し、抽出データ904を生成する。その後、署名装置と同様の操作を行って、ハッシュ情報集合905、ハッシュ情報集合905を署名対象にし、抽出装置の電子署名を行い、ハッシュ情報集合905と電子署名をあわせて抽出装置の署名情報906とする。
【0068】
検出装置は、署名装置の署名情報903内の署名装置の電子署名にて、ハッシュ情報集合902の完全性を検証する。同様に、抽出装置の署名情報906内の抽出装置の電子署名にて、ハッシュ情報集合905の完全性を検証する。次に、開示された部分データからハッシュ情報集合を生成し、ハッシュ情報集合905と同一であることを検証する。最後に、署名装置と抽出装置のハッシュ情報集合を比較することで、抽出装置のハッシュ情報の範囲908は、元データの範囲907からの抽出であることがわかる。もし、抽出データ904のハッシュ情報にオリジナルデータ901のハッシュ情報が含まれていない場合は、その部分データは改ざんされていることになる。
【0069】
図10は、原動画情報の署名生成処理の概要を示す図である。図10では、本実施の形態で対象とするストリーミング情報について説明・定義を行う。映像記録端末104にて撮影された映像は、1画面分のデータをフレームとし、1秒間に30フレーム(30fps)で記録されることとし、かつ10秒間(300フレームの記録)に1回、署名生成装置103にて署名が付加されることを前提に説明する。
【0070】
具体的には、フレーム1〜300、フレーム301〜600といった、300フレーム単位で電子署名が付加される形態とする。フレーム601〜756のように、最後の集合は、フレーム900まで到達せず、756で録画が終了し、156フレームに対して電子署名が付加されることとする。署名対象となるフレーム1〜756の集まりを原動画情報と説明する。また、本実施の形態では、説明の便宜上、フレーム1〜756の25秒程度の短い映像となっている。しかし、実運用では、監視カメラ等で長時間の映像が記録されることが想定され、実際には、8時間程度の映像で約864000フレームもの画像が出力され、2880個の電子署名が生成される。
【0071】
図11は、原動画情報の署名生成処理を示す図である。映像記録端末104は、フレームの記録を開始する。録画開始要求は、たとえば、映像記録端末104に装備された録画開始ボタンが押下されることで実行される。また、電源投入と同時に録画の開始を自動で行ってもよい。
【0072】
記録されたフレームは、署名生成装置103が受信し、署名生成装置103は順次ダイジェスト化処理1101を行う。1つ目のブロックとして、フレーム1〜300の署名情報を生成するには、署名対象は、フレーム1〜300のフレームダイジェスト情報h1〜300と、映像データの先頭を示す識別情報で構成する。映像データの先頭を示す識別情報は、たとえば“START”といった情報、図11中StartInfoである。さらに、署名対象には、次のブロックとの連続を保証するためにフレーム301のフレームダイジェスト情報h301を図11中ContinueInfo−1−1のように含める。
【0073】
フレーム301のフレームダイジェスト情報h301の生成が終わった段階で、映像記録端末104の秘密鍵で映像記録端末104の電子署名1104の生成を行い、署名対象と電子署名をあわせて、署名情報を生成する。
【0074】
続けて、2つ目のブロックとして、フレーム301〜600の署名情報を生成する際も、フレーム301〜600を対象に、順次ダイジェスト化処理1102を行う。その後、フレーム1〜300の署名情報との連続を保証するために、署名対象にフレーム300のフレームダイジェスト情報h300を図11中ContinueInfo−1−2のように含める。同様に、フレーム601以降の署名情報との連続を保証するために、署名対象にフレーム601のフレームダイジェスト情報h601を図11中ContinueInfo−2−1のように含める。
【0075】
フレーム601のフレームダイジェスト情報h601の生成が終わった段階で、映像記録端末104の秘密鍵で映像記録端末104の電子署名1105の生成を行い、署名対象と電子署名をあわせて、署名情報を生成する。
【0076】
続けて、3つ目のブロックとして、映像記録端末104が録画終了要求を受け付け、フレーム756の記録で録画が終了した場合を説明する。録画終了要求は、たとえば、映像記録端末104に装備された録画終了ボタンが押下されることで実行される。
【0077】
記録されたフレームは、署名生成装置103が受信し、署名生成装置103は順次ダイジェスト化処理1103を行う。その後、フレーム301〜600の署名情報との連続を保証するために、署名対象にフレーム600のフレームダイジェスト情報h600を図11中ContinueInfo−2−2のように含める。また、映像データの末尾を示す識別情報、たとえば、“NULL”といった情報を、図11中EndInfoのように含める。
【0078】
署名生成装置103は録画終了指示を受信した状態で、映像記録端末104の秘密鍵で映像記録端末104の電子署名1106の生成を行い、署名対象と電子署名をあわせて、署名情報を生成する。
【0079】
図12は、原動画情報の署名検証処理を示す図である。署名検証装置107は、フレーム1〜756の原動画情報、フレーム1〜300の署名情報、フレーム301〜600の署名情報、フレーム601〜756の署名情報を受信する。
【0080】
初めに、各署名情報の署名対象の正当性の検証を行う。署名検証装置107は1つ目のブロックとしてフレーム1〜300の署名情報から、署名対象と映像記録端末104の電子署名1201とを取得し、正当性を検証する。2つ目のブロックとしてフレーム301〜600の署名情報、3つ目のブロックとしてフレーム601〜756の署名情報も、同様の処理で、映像記録端末104の電子署名1202、映像記録端末104の電子署名1203を使用して正当性を検証する。
【0081】
署名情報が生成時点から改ざんされていなく正当性が確認できたら、署名検証装置107は、原動画情報が不当に切り取られていないかを検証する。先頭を確認するため、先頭署名1204が、フレーム1〜300の署名情報の署名対象の先頭において、記録の先頭であることを識別する識別情報になっていることを確認する。識別情報の例として、たとえば、“START”等といった文字列が付与されていることを確認する。
【0082】
同様に、末尾を確認するため、末尾署名1205が、フレーム601〜756の署名情報の署名対象の末尾において、記録の末尾であることを識別する識別情報になっていることを確認する。識別情報の例として、たとえば、“NULL”等といった文字列が付与されていることを確認する。
【0083】
次に、署名検証装置107は、原動画情報に対して、フレーム1から順にフレームダイジェスト情報をダイジェスト化処理1206によって生成し、フレームごとのフレームダイジェスト情報h1、h2、・・・、h756までを生成する。そして署名対象に含まれているフレームダイジェスト情報と比較し、各フレームの正当性を検証する。
【0084】
それぞれのブロックごとに、各フレームの正当性を検証する。1つ目のブロックでは、フレーム1〜300の署名情報の署名対象としてのフレーム1〜300のフレームダイジェスト情報h1〜h300と、生成されたフレームダイジェスト情報h1〜h300に関して、比較処理1207を行い正当性を検証する。同様に、2つ目のブロックであるフレーム301〜600に関して比較処理1208を行い、3つ目のブロックであるフレーム601〜756に関して比較処理1209を行うことにより正当性を検証する。
【0085】
最後に、各ブロックが連続していることを検証する。1つ目のブロックのフレーム1〜300の署名情報には、2つ目のブロックに含まれる、フレーム301のフレームダイジェスト情報h301が存在する。署名検証装置107は、前述のフレームダイジェスト情報h301と、ダイジェスト化処理1206にて生成したフレーム301のフレームダイジェスト情報h301とに基づいて、連続確認処理1210を行う。これにより、1つ目のブロックの次には、2つ目のブロックが存在することが保証できる。
【0086】
同様に、2つ目のブロックに含まれる、フレーム300のフレームダイジェスト情報h300に基づいて、連続確認処理1210を行うことにより2つ目のブロックの前には、1つ目のブロックが存在することが保証できる。
【0087】
2つ目のブロックと3つ目のブロックに関しても同様の処理を行う。署名検証装置107は、2つ目のブロックに含まれるフレーム601のフレームダイジェスト情報h601に基づいて、連続確認処理1211を行うことによって2つ目のブロックの次には、3つ目のブロックが存在することが保証できる。3つ目のブロックに含まれるフレーム600のフレームダイジェスト情報h600に基づいて、連続確認処理1211を行うことによって3つ目のブロックの前には、2つ目のブロックが存在することが保証できる。
【0088】
図13は、切り出し動画情報の署名生成処理を示す図である。映像抽出装置105の署名生成部403は、抽出されたフレーム200〜550に基づいて、ダイジェスト化処理1301によってフレームダイジェスト情報を生成する。その後、生成されたフレームダイジェスト情報、図13中h200〜h550を署名対象とし、抽出を行った抽出者端末106の暗号鍵にて抽出者端末106の電子署名1302を生成する。
【0089】
この時、フレーム200〜550の350フレームを一つの署名対象として、一つの署名情報を生成しているが、運用によって原動画情報に対する署名情報の生成同様に、300フレームごとに分割して生成・管理してもよい。本実施の形態の場合では、300フレームと50フレームの2つとなる。
【0090】
また、MPEG(Moving Picture Experts Group)等のフレーム間予測を持つ動画フォーマットの場合、再生可能最小単位であるGOP(Group Of Pictures)の先頭で切り出しを行ってもよい。これにより、切り出し動画情報を切り出し位置から再生することができる。
【0091】
図14は、切り出し動画情報の署名検証処理を示す図である。署名検証装置107は、フレーム200〜550の切り出し動画情報、フレーム1〜300の署名情報、フレーム301〜600の署名情報、フレーム200〜550の署名情報を受信する。
【0092】
初めに、各署名情報の署名対象の正当性の検証を行う。署名検証装置107は1つ目のブロックとしてフレーム1〜300の署名情報から、署名対象と映像記録端末104の電子署名1401とを取得し、正当性を検証する。2つ目のブロックとしてフレーム301〜600の署名情報も、映像記録端末104の電子署名1402を使用して正当性を検証する。フレーム200〜550の署名情報も、抽出者端末106の電子署名1403を使用して正当性を検証する。
【0093】
署名情報内が生成時点から改ざんされておらず、正当性が確認できたら、署名検証装置107は、切り出し動画情報が正しく切り取られているかを検証する。この場合、フレーム1〜300の署名情報の署名対象の先頭である先頭署名1404を確認することで開始位置が確認できる。図14では、先頭署名1404は、映像データの先頭であることを識別する識別情報、“START”になっており、切り出し動画情報の抽出開始位置を確認できる。
【0094】
同様に、フレーム301〜600の署名情報の署名対象の末尾である末尾署名1405を確認することで終了位置を確認できる。図14では、末尾署名1405は、フレーム601のフレームダイジェスト情報h601になっており、記録の末尾であることを識別する識別情報、“NULL”ではないため、それ以降、電子署名が継続していることを確認できる。
【0095】
続けて、署名検証装置107は、フレーム200から順に再度フレームダイジェスト情報をダイジェスト化処理1406によって生成する。生成されたフレームダイジェスト情報と、フレーム200〜550の署名情報に記録されている該当のフレームのダイジェスト情報とに対して、比較処理1407を行う。比較処理1407により、切り出し動画情報がフレーム単位では切り出しを行った時点から改ざんがないことを保証できる。
【0096】
次に、フレーム200〜550の署名情報の、フレーム200〜300に対応するフレームダイジェスト情報h200〜h300と、フレーム1〜300の署名情報の中のフレームダイジェスト情報h200〜h300とに対して、比較処理1408を行う。同様に、フレーム200〜550の署名情報の、フレーム301〜550に対応するフレームダイジェスト情報h301〜h550と、フレーム301〜600の署名情報の中のフレームダイジェスト情報h301〜h550と、に対して、比較処理1409を行う。
【0097】
比較処理1409までを行ったことにより、切り出し動画情報がフレーム単位では原動画情報を生成した時点から、改ざんがなく切り出した範囲では原動画情報と同じ情報であることを保証できる。
【0098】
最後に、切り出し動画情報の範囲で各ブロックが連続していることを検証する。1つ目のブロックのフレーム1〜300の署名情報には、フレーム301のフレームダイジェスト情報h301が存在する。署名検証装置107は、前述のフレームダイジェスト情報h301と、ダイジェスト化処理1406にて生成したフレーム301のフレームダイジェスト情報h301と、に対して連続確認処理1410を行う。
【0099】
同様に、2つ目のブロックのフレーム301〜600の署名情報には、フレーム300のフレームダイジェスト情報h300が存在する。署名検証装置107は、前述のフレームダイジェスト情報h300と、ダイジェスト化処理1406にて生成したフレーム300のフレームダイジェスト情報h300と、に対して連続確認処理1410を行う。
【0100】
上記検証処理がすべて成功することにより、複数に分割された署名情報が連続していることが確認できる。さらに、フレームダイジェスト情報の比較により、切り出し動画情報に相当するフレーム200〜550は、原動画情報に相当するフレーム1〜756の一部であり、原動画情報が生成されてから変更されていないことを確認できる。
【0101】
図15は、原動画情報の抽出操作を示す図である。再生ボタン(PREVIEW)により、切り出し動画情報の再生を行いながら、必要な切り出しを行う範囲を指定することで、抽出者端末106は切り出し操作が可能となる。切り出しの方法としては、まず、シークバー(SEEKBAR)を利用して、切り出しを行う開始位置を指定し、指定位置の時点で開始ボタン(STARTSET)が押下されることで、抽出者端末106は切り出し開始位置を設定する。続けて、同様にシークバー(SEEKBAR)を利用して、切り出しを行う終了位置まで指定し、その位置の時点で終了ボタン(ENDSET)が押下されることで、抽出者端末106は切り出し終了位置を設定する。
【0102】
前述の指定により、切り出し範囲(CUTAREA)が決定するので、続けて、実行ボタン(EXTRACTRUN)が押下されることで、抽出者端末106は切り出し動画情報の生成を行う。本実施の形態では、抽出者端末106によってフレーム200〜550が切り出されたことを想定する。
【0103】
図16は、検証対象の動画情報、および検証情報の選択画面を示す図である。図16の例では署名検証には、切り出し動画情報と、原動画情報の選択が可能で、検証者端末108は、各動画情報の検証が行えるようになっている(VERIFYTYPE)。たとえば、VERIFYTYPEで切り出し動画情報が選択されると、切り出し動画情報と、原動画情報の署名情報、ならびに切り出し動画情報の署名情報を選択できるようになる。各フィールドの参照ボタン(GETSTREAM)が押下されることで、ファイル選択アプリケーション、たとえばエクスプローラ等上で各情報を選択することができる。
【0104】
具体的には、参照ボタンが押下されることで、署名検証装置107内の映像管理DB501に蓄積されている切り出し動画情報を参照・選択できるようになっている。本実施の形態では、原動画情報、および切り出し動画情報は、フレームの集合として扱われており、複数の静止画像を選択することとなる。また、選択された動画情報に対応する署名情報も複数選択する必要がある。本実施の形態における切り出し動画情報の署名検証処理では、切り出し動画情報と、原動画情報の署名情報と、切り出し動画情報の署名情報が必要である。
【0105】
具体的には、切り出し動画情報とは、フレーム200〜550である。原動画情報の署名情報とは、フレーム1〜300の署名情報、ならびにフレーム301〜600の署名情報である。切り出し動画情報の署名情報とは、フレーム200〜550の署名情報である。
【0106】
最後に、署名検証ボタン(VERIFYRUN)が押下されることで、署名検証装置107は、選択した切り出し動画情報の署名検証処理を実行する。また、本実施の形態では、検証者が原動画情報の署名情報、ならびに切り出し動画情報の署名情報を選択することとしていたが、検証者は、これら署名情報(検証情報)の存在を意識せず、切り出し動画情報のみ選択できる形態もあり得る。
【0107】
たとえば、切り出し動画情報の内容を容易に推測・識別可能なタイトルを付与し、検証者には、それらタイトルを集めた一覧を見せ、一覧から選択させる方法もあり得る。前述の場合に、一覧中のある動画情報が選択された際、選択された動画情報が、署名検証装置107内の映像管理DB501に蓄積されている、どの動画像情報なのかを識別するための、たとえば、リンク情報を保持しておく等の対策が必要となる。
【0108】
図17は、切り出し動画情報の署名検証結果を示す図である。検証者端末108は、この検証結果を表示することにより、切り出し動画情報が、原動画情報の一部であることを表示する。さらに、原動画情報のどの部分が切り出されたかを示す切り出し範囲と、その部分の改変有無を表示することで、検証者は切り出し動画情報の原本性を確認することが可能である(VERIFY1)。さらに、映像記録端末104、および抽出者端末106の電子署名の確認により、原動画情報はどの端末が生成したのか、切り出し動画情報はどの端末が生成したのかを確認可能である(VERIFY2)。
【0109】
また、原動画情報に対する検証も可能である。たとえば、図16中、VERIFYTYPEで、原動画情報が選択されると、検証者端末108は、原動画情報と、原動画情報の署名情報を選択できるようになる。この時、切り出し動画情報の署名情報の選択は不要である。続けて各フィールドの参照ボタン(図16中GETSTREAM)が押下されることで、原動画情報を選択できる。具体的には、参照ボタンが押下されることで、検証者端末108は、署名検証装置107内の映像管理DB501に蓄積されている原動画情報を参照・選択できるようになっている。
【0110】
最後に、署名検証ボタン(図16中VERIFYRUN)が押下されることで、選択した原動画情報の署名検証処理を実行する。この検証処理は、処理のイメージとしては、前述した図12となり、処理フローとしては後述する図23で示す方法で行われる。
【0111】
前述した装置群を使用して、原動画情報の生成処理および署名生成処理、切り出し動画情報の生成処理および署名生成処理、原動画情報の署名検証処理、切り出し動画情報の取り出し処理、切り出し動画情報の署名検証処理、の各フローを説明する。また、署名生成処理および署名検証処理で呼び出される電子署名の公開鍵登録処理、電子署名付き情報の送受信処理、および受信装置の検証処理のフローを説明する。
【0112】
図18は、電子署名の公開鍵登録処理を示すフローチャートである。図18では送信装置と認証機関装置102との間での公開鍵の登録を行うフローを示す。本実施の形態では、署名生成装置103、映像抽出装置105が電子署名の送信装置となる。
【0113】
初めに、送信装置は、鍵ペア(秘密鍵、および公開鍵)の生成を行う(ステップS1801)。続けて、証明書発行依頼情報の入力をする(ステップS1802)。入力される情報は、映像記録端末104、抽出者端末106に関する情報である。したがって、映像記録端末104が複数存在する場合は、それぞれの証明書発行依頼情報を入力してもよい。また、抽出者端末106においても、端末を使用するユーザが複数存在する場合には、そのユーザ分の証明書発行依頼情報を入力し、ユーザごとに公開鍵を使い分けてもよい。証明書発行依頼情報の入力が終了した後、送信装置は、その入力された証明書発行依頼情報と公開鍵を認証機関装置102へ送信する(ステップS1803)。
【0114】
認証機関装置102は、証明書発行依頼情報と公開鍵を通信手段204にて受信する(ステップS1804)。認証機関装置102の証明書発行部202は、公開鍵を含む公開鍵証明書を生成し(ステップS1805)、公開鍵DB201に生成した公開鍵証明書を蓄積する(ステップS1806)。その後、証明書発行部202は、通信手段204を制御し、ネットワーク101を介し、証明書発行依頼情報を送信してきた送信装置へ、発行した公開鍵証明書を送信する(ステップS1807)。
【0115】
公開鍵証明書を受信した送信装置は(ステップS1808)、ステップS1801で生成した秘密鍵、および認証機関装置102から発行された公開鍵証明書を自身が有する記憶装置に蓄積し(ステップS1809)、処理を完了する。記憶領域として、署名生成装置103は署名生成部303内の記憶領域、映像抽出装置105は署名生成部403内の記憶領域に保持する。
【0116】
図19は、電子署名付き情報の送受信処理、および受信装置の検証処理を示すフローチャートである。図19では送信装置と受信装置の間での電子署名付き情報の送受信処理、受信装置と認証機関装置102の間での電子署名の検証処理を示す。本実施の形態では、署名生成装置103と映像抽出装置105が送信装置となり、対応する受信装置は、映像抽出装置105と署名検証装置107となる。
【0117】
初めに、送信装置は、署名対象の要約情報(ハッシュ情報)を記憶領域に記憶している秘密鍵によって暗号化する(ステップS1901)。暗号化してできた情報が電子署名となる。続けて、送信装置は、署名対象と電子署名と同じく記憶領域に記憶している公開鍵証明書とを受信装置に送信する(ステップS1902)。
【0118】
受信装置は、署名対象と電子署名と公開鍵証明書とを受信し(ステップS1903)、受信した公開鍵証明書の有効期限や失効情報等を確認するため、認証機関装置102に対して公開鍵証明書を送信する(ステップS1904)。本実施の形態では、認証機関装置102が証明書発行・証明書検証の一連の機能をサポートしているものとする。次に認証機関装置102は公開鍵証明書を受信し(ステップS1905)、有効性の検証を行い(ステップS1906)、検証結果を受信装置に対して送信する(ステップS1907)。
【0119】
受信装置は、検証結果を受信し(ステップS1908)、検証結果が有効であるかを確認する(ステップS1909)。検証結果が有効でない場合には(ステップS1909:No)、受信装置は改変のないことを証明できないと判断し(ステップS1913)、処理を終了する。検証結果が有効である場合には(ステップS1909:Yes)、受信装置は受信した署名対象の要約情報(ハッシュ情報)を生成し(ステップS1910)、さらに受信した電子署名を公開鍵で復号する(ステップS1911)。そして生成した署名対象の要約情報と、電子署名を公開鍵で復号した値が一致するかを確認する(ステップS1912)。
【0120】
一致しない場合は(ステップS1912:No)、ステップS1913に移行し、処理を終了する。一致する場合は(ステップS1912:Yes)、受信装置は改変のないことが証明できたと判断し(ステップS1914)、署名対象を保持し(ステップS1915)、処理を終了する。ステップS1913を通った場合に、受信装置の操作端末、たとえば、映像抽出装置105であれば抽出者端末106、署名検証装置107であれば検証者端末108に対して、電子署名が証明できなかった旨の表示を行う通知処理を行ってもよい。
【0121】
図20−1、図20−2は、原動画情報の生成処理、および署名生成処理を示すフローチャートである。まず、図20−1において、映像記録端末104は、録画開始要求もしくは録画継続要求を受け付けたかを確認する(ステップS2001)。録画開始要求は、たとえば、映像記録端末104に装備された録画開始ボタンを押下することで発生する。また、電源投入と同時に録画開始要求を自動で行ってもよい。録画継続要求は、後述するステップS2011にて署名生成装置103が送信することで発生する。
【0122】
録画開始要求もしくは録画継続要求を受け付けていれば(ステップS2001:Yes)、映像記録端末104は、フレームを記録する(ステップS2003)。その後、記録したフレームを署名生成装置103に送信し(ステップS2004)、引き続きステップS2001に戻る。録画開始要求もしくは録画継続要求を受け付けていない場合は、(ステップS2001:No)、録画終了要求を受け付けているかを確認する(ステップS2002)。録画終了要求は、たとえば、映像記録端末104に装備された録画停止ボタンが押下されることで発生する。また、署名生成装置103から録画終了要求を送信してもよい。
【0123】
録画終了要求を受け付けていた場合は(ステップS2002:Yes)、映像記録端末104は、録画終了指示を署名生成装置103に送信する(ステップS2005)。録画終了指示とは、たとえば、“END”といった文字列のデータで、署名生成装置103では前述したデータを受信すると終了であることを判断する。
【0124】
録画終了要求を受け付けていない場合は(ステップS2002:No)、映像記録端末104は、引き続きステップS2001に戻る。録画開始要求を受けた後、録画継続要求も録画終了要求も受け付けずにステップS2001に戻った場合、録画継続中であるとして、ステップS2001:Yesとして、フレームの記録(ステップS2003)を行ってもよい。
【0125】
次に、図20−2において、署名生成装置103は、映像記録端末104からフレームもしくは録画終了指示を受信するまで待機する(ステップS2006)。フレームもしくは録画終了指示を受信したら(ステップS2007)、録画終了指示を受け付けたかを確認する(ステップS2008)。録画終了指示を受け付けていなければ(ステップS2008:No)、受信したフレームのダイジェスト情報を生成し保持する(ステップS2009)。ダイジェスト情報とは前述したフレームダイジェスト情報のことであり、前述した図11ではh1、h2、・・・、h756にあたる。フレームダイジェスト情報は、署名生成装置103内の映像管理TB302を介して、映像管理DB301に記憶する。
【0126】
次に、前述したブロック単位+1分、たとえば300+1フレーム分のダイジェスト生成処理が完了していなければ(ステップS2010:No)、署名生成装置103は、映像記録端末104に録画継続要求を送信する(ステップS2011)。映像記録端末104は要求受信後(ステップS2001)、フレームの記録を継続する(ステップS2003)。
【0127】
ブロック単位+1分のダイジェスト情報生成処理が完了した場合には(ステップS2010:Yes)、未署名のフレームダイジェスト情報の集合に対し、署名生成処理を行う(ステップS2013)。未署名のフレームダイジェスト情報の集合に対する署名生成処理の詳細は、図21にて後述する。現在のブロックの電子署名の署名対象と、生成された電子署名と、を署名生成装置103内の映像管理TB302を介して、映像管理DB301に蓄積する(ステップS2014)。
【0128】
署名対象と電子署名の具体例として、前述した図11で示すと、現ブロックの署名情報はフレーム1〜300となる。署名対象は、図11中StartInfoとフレームダイジェスト情報h1〜h300と図11中ContinueInfo−1−1であるフレームダイジェスト情報h301とで構成する。電子署名は、映像記録端末104の電子署名1104である。
【0129】
データを蓄積後、署名生成装置103は録画終了指示を受け付けたかを確認する(ステップS2015)。ステップS2010:Yesからのルートでは、S2015はNoのルートとなる。録画終了指示を受け付けていない場合には(ステップS2015:No)、ステップS2011に移行し、引き続き録画継続要求を映像記録端末104に送信する(ステップS2011)。ステップS2015:Yesのルートは後述する。送信後、署名生成装置103は、フレームを受信するまで待機する(ステップS2006)。
【0130】
ステップS2008にて、録画終了指示を受け付けた場合には(ステップS2008:Yes)、続けて、未署名のフレームダイジェスト情報が存在するかを確認する(ステップS2012)。存在する場合には(ステップS2012:Yes)、未署名のフレームダイジェスト情報の集合に対し、署名生成処理を行い(ステップS2013)、署名対象と電子署名を映像管理DB301に保持する(S2014)。
【0131】
ステップS2008:Yes、ステップS2012:Yesを通るルートでの署名対象、電子署名の具体例として、前述した図11で示すと、現ブロックの署名情報は、録画終了指示を受けた後であるため、フレーム601〜756である。署名対象は、図11中ContinueInfo−2−2であるフレームダイジェスト情報h600とフレームダイジェスト情報h601〜h756と図11中EndInfoである“NULL”といった文字列である。電子署名は、映像記録端末104の電子署名1106である。
【0132】
データを保持後、署名生成装置103は録画終了指示を受け付けたかを確認する(ステップS2015)。ステップS2008:Yesからのルートでは、ステップS2015はYesのルートとなる。録画終了指示を受け付けている場合には(ステップS2015:Yes)、原動画情報と署名対象と電子署名を映像抽出装置105に送信する(ステップS2016)。また、未署名のフレームダイジェスト情報が存在しない場合(ステップS2012:No)も、映像抽出装置105に前述した情報を送信する。送信後、署名生成装置103は、フレームを受信するまで待機する(ステップS2006)。
【0133】
ここで、原動画情報とは、上述したようにフレーム1〜756となり、署名対象と電子署名は、図11で示した通りとなる。すなわち、1つ目のブロックとして、フレームの対象が、フレーム1〜300になる。署名対象は、図11中StartInfoにて示した映像データの先頭を示す識別情報、“START”とフレームダイジェスト情報h1〜h300と図11中ContinueInfo−1−1にて示したフレームダイジェスト情報h301である。電子署名は、前述した署名対象を署名した、映像記録端末104の電子署名1104である。
【0134】
続けて、2つ目のブロックとして、フレームの対象が、フレーム301〜600になる。署名対象は、図11中ContinueInfo−1−2にて示したフレームダイジェスト情報h300と、フレームダイジェスト情報h301〜h600と、図11中ContinueInfo−2−1にて示したフレームダイジェスト情報h601である。電子署名は、前述した署名対象を署名した、映像記録端末104の電子署名1105である。
【0135】
最後に、3つ目のブロックとして、フレームの対象が、フレーム601〜756になる。署名対象は、図11中ContinueInfo−2−2にて示したフレームダイジェスト情報h600と、フレームダイジェスト情報h601〜756と、図11中EndInfoにて示した映像データの末尾を示す識別情報、“NULL”である。電子署名は、図11中前述した署名対象を署名した、映像記録端末104の電子署名1106である。
【0136】
映像抽出装置105は、原動画情報と署名対象と電子署名を受信するまで待機する(ステップS2017)。情報を受信したら(ステップS2018)、受信した情報を映像抽出装置105内の映像管理TB402を介して、映像管理DB401に蓄積する(ステップS2019)。以上で、原動画情報の生成処理、および署名生成処理を終了する。
【0137】
本実施の形態では、署名生成装置103と映像抽出装置105を分けて、署名生成する機能と一部を抽出する機能を分けたが、署名生成装置103が署名生成処理、保存・管理、一部抽出処理を一括して行う形態も考えられる。その場合には、映像抽出装置105はなくてもよい。
【0138】
図21は、フレームダイジェスト情報の集合に対する署名生成処理を示すフローチャートである。具体的には、対象のブロックに対して、電子署名の署名対象を生成し、署名生成処理を行う処理である。本処理は引数として、未署名のフレームダイジェスト情報の範囲を引き継いでいる。
【0139】
署名生成装置103は、録画終了指示を受け付けたかを確認する(ステップS2101)。受け付けていない場合(ステップS2101:No)、電子署名の保証範囲リストを、入力されたフレームダイジェスト情報の範囲から、末尾のフレームダイジェスト情報を除いた部分に設定する(ステップS2102)。受け付けていた場合(ステップS2101:Yes)、電子署名の保証範囲リストを、入力されたフレームダイジェスト情報の範囲に設定する(ステップS2103)。
【0140】
電子署名の保証範囲リストとは、対象のブロックがどのフレームまでかを表す変数である。末尾のフレームダイジェスト情報を除くのは、録画終了指示を受け付けていない場合、末尾のフレームダイジェスト情報は次のブロック内に位置し、対象のブロックと次のブロックとの連続を保証するのに使用するためである。
【0141】
続けて、署名生成装置103は、電子署名の保証範囲リストを電子署名の署名対象に複製する(ステップS2104)。次に、複製した電子署名の署名対象は原動画情報の先頭であるかを確認する(ステップS2105)。先頭でない場合には(ステップS2105:No)、電子署名の署名対象の先頭に、電子署名済みであるフレームダイジェスト情報の集合の末尾にあるフレームダイジェスト情報を連続保証ダイジェストとして付加する(ステップS2106)。具体的には、図11で示すと、2つ目のブロックでは、ContinueInfo−1−2で示されるh300であり、3つ目のブロックでは、ContinueInfo−2−2で示されるh600である。
【0142】
先頭である場合には(ステップS2105:Yes)、電子署名の署名対象の先頭に、先頭であることを識別する識別情報を付加する(ステップS2107)。具体的には、図11で示すと、1つ目のブロックの先頭に設定されている、StartInfoで示されている“START”といった文字列である。
【0143】
先頭部分の判断が終了したら、同様に末尾部分の判断を行う。署名生成装置103は、録画終了指示を受け付けたかを確認する(ステップS2108)。受け付けていない場合(ステップS2108:No)、電子署名の署名対象の末尾に、入力されたフレームダイジェスト情報の集合の末尾にあるフレームダイジェスト情報を連続保証ダイジェストとして付加する(ステップS2109)。具体的には、図11で示すと、1つ目のブロックでは、ContinueInfo−1−1で示されるh301であり、2つ目のブロックでは、ContinueInfo−2−1で示されるh601である。
【0144】
受け付けていた場合(ステップS2108:Yes)、電子署名の署名対象の末尾に、末尾であることを識別する識別情報を付加する(ステップS2110)。具体的には、図11で示すと、3つ目のブロックの末尾に設定されている、EndInfoで示されている“NULL”といった文字列である。
【0145】
署名対象の設定終了後、電子署名の署名対象に対して、映像記録端末の電子署名を生成する(ステップS2111)。生成後、電子署名の保証範囲リストに含まれたフレームダイジェスト情報を電子署名済みに設定する(ステップS2112)。上記処理により、対象のブロックと前後のブロックとが連続することに関する正当性を検証時に保証することができる情報を、署名対象に入れることができる。
【0146】
図22−1、図22−2は、切り出し動画情報の生成処理、および署名生成処理を示すフローチャートである。切り出し動画情報の生成を行うには、まず原動画情報が必要となる。したがって図22−1では原動画情報の取得を、図22−2では、切り出し動画情報の生成を行っている。
【0147】
まず、図22−1において、抽出者端末106は、映像抽出装置105に、切り出し対象の原動画情報の取り出し要求を送信する(ステップS2201)。送信後、抽出者端末106は、映像抽出装置105から応答があるまで待機する。
【0148】
映像抽出装置105は、切り出し対象の原動画情報の取り出し要求を受信する(ステップS2202)。受信後、映像抽出装置105内の映像管理TB402を介して、映像管理DB401に蓄積された切り出し対象の原動画情報と署名情報を取り出し、署名検証部404を介して、原動画情報の署名検証処理を行う(ステップS2203)。原動画情報の署名検証処理の詳細は、図23にて後述する。署名検証処理を行う理由は、切り出し処理を行う前に、原動画情報が改ざんされていないかどうかを確認するためである。
【0149】
原動画情報の署名検証処理の終了後、映像抽出装置105は、原動画情報の検証に成功したかを確認する(ステップS2204)。成功した場合は(ステップS2204:Yes)原動画情報を、失敗した場合は(ステップS2204:No)エラー通知をそれぞれ抽出者端末106に送信する(ステップS2205、S2206)。
【0150】
抽出者端末106は、映像抽出装置105からの受信内容を確認する(ステップS2207)。受信内容が原動画情報だった場合は(ステップS2207:Yes)、原動画情報を表示し(ステップS2208)、切り出し動画情報の生成を行う。受信内容が原動画情報でなかった場合は(ステップS2207:No)、エラーを受信したこととなり、エラー通知を表示し(ステップS2209)、処理を終了する。
【0151】
次に、図22−2において、抽出者端末106は、切り出し動画情報を生成する(ステップS2210)。生成する様子は、前述した図15である。本実施の形態では、フレーム200〜550が切り出されたことを想定する。切り出し動画情報の生成が完了すると、映像抽出装置105に対して、生成した切り出し動画情報を送信する(ステップS2211)。
【0152】
映像抽出装置105は、切り出し動画情報を受信し(ステップS2212)、署名生成部403は、切り出し動画情報に対する署名情報を生成する。生成の様子は、前述した図13となる。初めに、受信した切り出し動画情報の先頭のフレームを取得する(ステップS2213)。図13では、フレーム200である。続けて、取得したフレームのフレームダイジェスト情報を生成し、保持する(ステップS2214)。取得したフレームが最後のフレームかを確認し(ステップS2215)、最後のフレームまで達していない場合は(ステップS2215:No)、次のフレームを取得する(ステップS2216)。その後、引き続き、フレームダイジェスト情報を生成し保持する(ステップS2214)。
【0153】
最後のフレームまで達している場合は(ステップS2215:Yes)、フレームダイジェスト情報の集合、図13では、h200、h201、・・・、h550に対して、抽出者端末106の電子署名を生成する(ステップS2217)。図13では、抽出者端末106の電子署名1302である。
【0154】
切り出し動画情報に対する署名対象と電子署名とで構成される署名情報の生成が完了すると、映像抽出装置105内の映像管理TB402を介して、切り出し動画情報と署名対象と電子署名をペアにして、映像管理DB401に保持する(ステップS2218)。続けて、映像抽出装置105は、通信手段405を介し、署名検証装置107に対して、切り出し動画情報、原動画情報の署名対象と電子署名、切り出し動画情報の署名対象と電子署名を送信する(ステップS2219)。署名検証装置107は、通信手段504を介し、前述した情報を受信し(ステップS2220)、映像管理TB502を介して、映像管理DB501に蓄積する(ステップS2221)。
【0155】
図23は、原動画情報の署名検証処理を示すフローチャートである。前述した図12にて、署名検証処理の様子を示す。初めに、映像抽出装置105は、ブロック単位ごとの電子署名の検証を行い、すべての署名情報が生成時点から改ざんされていないことを確認する(ステップS2301)。確認する電子署名は、図12中では、映像記録端末104の電子署名1201〜1203である。
【0156】
検証に成功した場合(ステップS2301:Yes)、署名対象に、先頭署名、末尾署名が付加されているかを確認する(ステップS2302)。先頭署名は、先頭ブロックの、署名対象の先頭にある情報で、図12では、先頭署名1204は、データの先頭であることを識別する識別情報、“START”である。末尾署名は、末尾ブロックの署名対象の末尾にある情報で、図12では末尾署名1205は、データの末尾であることを識別する識別情報、“NULL”である。
【0157】
先頭署名と末尾署名が付加されている場合(ステップS2302:Yes)、映像抽出装置105は、原動画情報の先頭のフレームを取得し(ステップS2303)、取得したフレームのフレームダイジェスト情報を生成する(ステップS2304)。図12中では、ダイジェスト化処理1206であり、h1、h2、・・・、h756を生成する。
【0158】
生成後、生成したフレームダイジェスト情報と署名対象に記録されているフレームダイジェスト情報が一致するかを確認する(ステップS2305)。図12では、比較処理1207〜1209である。
【0159】
一致した場合には(ステップS2305:Yes)、映像抽出装置105は、生成したフレームダイジェスト情報が連続保証ダイジェスト情報として使用されているかを確認する(ステップS2306)。図12中で連続保証ダイジェスト情報として使用されているフレームダイジェスト情報は、h300、h301、h600、h601である。使用されていない場合(ステップS2306:No)、ステップS2308に移行する。
【0160】
使用されている場合(ステップS2306:Yes)、生成したフレームダイジェスト情報と連続保証ダイジェスト情報が一致するかを確認する(ステップS2307)。図12中では連続確認処理1210、1211である。
【0161】
一致した場合(ステップS2307:Yes)、もしくはステップS2306:Noの場合、取得したフレームに関する検証処理は終了したため、取得したフレームが末尾のフレームかを確認する(ステップS2308)。末尾のフレームでない場合は(ステップS2308:No)、次のフレームを取得し(ステップS2310)、引き続き次のフレームに対してフレームダイジェスト情報を生成し(ステップS2304)、検証処理を続ける。取得したフレームが末尾のフレームである場合は(ステップS2308:Yes)、原動画情報の署名検証処理に成功し(ステップS2309)、原動画情報を抽出者端末106に送信する。
【0162】
ステップS2301、S2302、S2305、S2307でNoだった場合には、原動画情報の署名検証処理に失敗したこととなり、抽出者端末106に失敗したことを通知する(ステップS2311)。
【0163】
図24は、切り出し動画情報の取り出し処理を示すフローチャートである。検証者端末108は、署名検証装置107に、切り出し動画情報の取り出し指示を送信する(ステップS2401)。切り出し動画情報の取り出し方法は、前述した図16で示す通りである。送信後、検証者端末108は、署名検証装置107から応答があるまで待機する。
【0164】
署名検証装置107は、切り出し動画情報の取り出し指示を受信する(ステップS2402)。受信後、署名検証装置107内の映像管理TB502を介して、映像管理DB501に蓄積された切り出し動画情報と原動画情報の署名対象および電子署名と切り出し動画情報の署名対象および電子署名を取り出す(ステップS2403)。署名検証部503を介して、切り出し動画情報の署名検証処理を行う(ステップS2404)。切り出し動画情報の署名検証処理の詳細は、図25にて後述する。
【0165】
切り出し動画情報の署名検証処理の終了後、署名検証装置107は、切り出し動画情報の検証に成功したかを確認する(ステップS2405)。成功した場合は(ステップS2405:Yes)切り出し動画情報の署名検証結果を、失敗した場合は(ステップS2405:No)エラー通知をそれぞれ検証者端末108に送信する(ステップS2406、S2407)。
【0166】
検証者端末108は、署名検証装置107からの受信内容を確認する(ステップS2408)。受信内容が切り出し動画情報の署名検証結果だった場合は(ステップS2408:Yes)、切り出し動画情報の署名検証結果を表示する(ステップS2409)。受信内容が切り出し動画情報の署名検証結果でなかった場合は(ステップS2408:No)、エラーを受信したこととなり、エラー通知を表示する(ステップS2410)。
【0167】
図25は、切り出し動画情報の署名検証処理を示すフローチャートである。前述した図14にて、署名検証処理の様子を示す。初めに、署名検証装置107は、原動画情報のブロック単位ごとの電子署名の検証と、切り出し動画情報の電子署名の検証を行い、すべての署名情報が生成時点から改ざんされていないことを確認する(ステップS2501)。確認する電子署名は、図14中では、映像記録端末104の電子署名1401、1402と、抽出者端末106の電子署名1403である。
【0168】
検証に成功した場合(ステップS2501:Yes)、原動画情報の署名対象の、先頭署名、末尾署名から抽出位置を確認する(ステップS2502)。先頭署名は、先頭ブロックの、署名対象の先頭にある情報で、図14では、先頭署名1404はデータの先頭を識別する識別情報、“START”である。末尾署名は、末尾ブロックの署名対象の末尾にある情報で、図14では、末尾署名1405は、フレーム601のフレームダイジェスト情報であるh601である。図14にて、末尾署名1405が、データの末尾を識別する識別情報、“NULL”ではないため、それ以降、電子署名が継続していることがわかる。
【0169】
抽出位置を確認後、署名検証装置107は、切り出し動画情報の先頭のフレームを取得し(ステップS2503)、取得したフレームのフレームダイジェスト情報を生成する(ステップS2504)。図14中では、ダイジェスト化処理1406であり、h200、h201、・・・、h550を生成する。
【0170】
生成後、生成したフレームダイジェスト情報と切り出し動画情報の署名対象に記録されているフレームダイジェスト情報が一致するかを確認する(ステップS2505)。図14では、比較処理1407である。
【0171】
一致した場合には(ステップS2505:Yes)、署名検証装置107は、生成したフレームダイジェスト情報と原動画情報の署名対象に記録されているフレームダイジェスト情報が一致するかを確認する(ステップS2506)。図14では、比較処理1408〜1409である。
【0172】
一致した場合には(ステップS2506:Yes)、署名検証装置107は、生成したフレームダイジェスト情報が連続保証ダイジェスト情報として使用されているかを確認する(ステップS2507)。図14中で連続保証ダイジェスト情報として使用されているフレームダイジェスト情報は、h300、h301である。使用されていない場合(ステップS2507:No)、ステップS2509に移行する。
【0173】
使用されている場合(ステップS2507:Yes)、生成したフレームダイジェスト情報と連続保証ダイジェスト情報が一致するかを確認する(ステップS2508)。図14中では連続確認処理1410である。
【0174】
一致した場合(ステップS2508:Yes)、もしくはステップS2507:Noの場合、取得したフレームに関する検証処理は終了したため、取得したフレームが末尾のフレームかを確認する(ステップS2509)。末尾のフレームでない場合は(ステップS2509:No)、次のフレームを取得し(ステップS2511)、引き続き次のフレームに対してフレームダイジェスト情報を生成し(ステップS2504)、検証処理を続ける。取得したフレームが末尾のフレームである場合は(ステップS2509:Yes)、切り出し動画情報の署名検証処理に成功したこととなり、切り出し動画情報の署名検証結果を検証者端末108に送信する(ステップS2510)。
【0175】
ステップS2501、S2505、S2506、S2508でNoだった場合には、原動画情報の署名検証処理に失敗したこととなり、抽出者端末108に失敗したことを通知する(ステップS2512)。
【0176】
以上説明したように、本実施の形態にかかる署名生成装置103によれば、一連のデータをブロック単位で分割し、該当のブロックにて前後する少なくともいずれか一方のブロック内のデータのメッセージダイジェストを用いて電子署名する。この電子署名により、ブロック列の連続性を担保することができる。
【0177】
また、前後する少なくともいずれか一方のブロックは、次のブロックであってもよい。これにより、該当のブロックと、次のブロックとの順で連続性を担保することができる。また、該当のブロックは、データの末尾ではなく、後方にデータが存在することを保証できる。
【0178】
また、前後する少なくともいずれか一方のブロックは、前のブロックと次のブロックであってもよい。これにより、前のブロックと、該当のブロックと、次のブロックとの順で連続性を担保することができる。また、該当のブロックは、データの先頭ではなく前方にデータが存在することを保証でき、さらに、データの末尾ではなく後方にデータが存在することを保証できる。
【0179】
また、次のブロックのメッセージダイジェストを含む際に、次のブロックの先頭のメッセージダイジェストを用いて署名してもよい。これにより、電子署名をいち早く生成することができる。
【0180】
また、前後する少なくともいずれか一方のブロックは、前のブロックであってもよい。これにより、前のブロックと、該当のブロックとの順で連続性を担保することができる。また、該当のブロックは、データの先頭ではなく前方にデータが存在することを保証できる。
【0181】
また、該当のブロックが先頭ブロックである場合に、先頭ブロックであることを示す識別情報を含めて電子署名を行ってもよい。これにより、該当のブロックは、データの先頭であることが保証できる。たとえば、改ざんによって該当のブロックの前に不当な他のブロックを連結させることができないことを保証できる。
【0182】
また、該当のブロックが末尾ブロックである場合に、末尾ブロックであることを示す識別情報を含めて電子署名を行ってもよい。これにより、該当のブロックは、データの末尾であることが保証できる。たとえば、改ざんによって該当のブロックの次に不当な他のブロックを連結させることができないことを保証できる。
【0183】
また、映像データから一定時間ごとに切り出したフレームの集合を、一連のデータとしてもよい。これにより、フレーム単位でメッセージダイジェスト情報を比較することができるため、フレーム単位で管理している映像フォーマットは本実施例を適用することができる。
【0184】
また、本実施の形態にかかる署名検証装置107によれば、一連のデータがブロック単位で分割され、該当のブロックにて前後する少なくともいずれか一方のブロック内のデータのメッセージダイジェストを用いた電子署名を受信する。この電子署名を検証することにより、ブロック列の連続性を証明することができる。
【0185】
また、前後する少なくともいずれか一方のブロックは、次のブロックであってもよい。これにより、該当のブロックと、次のブロックとの順で、連続性を検証できブロック間の差し替え、中抜きを防止することができる。
【0186】
また、前後する少なくともいずれか一方のブロックは、前のブロックと次のブロックでもよい。これにより、前のブロックと、該当のブロックと、次のブロックとの順で、連続性を検証できブロック間の差し替え、中抜きを防止することができる。
【0187】
また、前後する少なくともいずれか一方のブロックは、前のブロックであってもよい。これにより、前のブロックと、該当のブロックとの順で、連続性を検証できブロック間の差し替え、中抜きを防止することができる。
【0188】
また、該当のブロックが先頭ブロックである場合に、先頭ブロックであることを示す識別情報を含めた電子署名を受信してもよい。これにより、該当のブロックが先頭であることを検証でき、該当のブロックの前に不当なブロックが連結されることを防止することができる。
【0189】
また、該当のブロックが末尾ブロックである場合に、末尾ブロックであることを示す識別情報を含めた電子署名を受信してもよい。これにより、該当のブロックが末尾であることを検証でき、該当のブロックの次に不当なブロックが連結されることを防止することができる。
【0190】
また、署名情報のデータ量削減を目的として、特開2008−178048のような発明を利用し、ハッシュ情報を二分木で管理する手法を使用することも可能である。
【0191】
また、本実施の形態では、長時間、かつリアルタイムで記録される動画情報が改ざんされていないことの証明に加え、時系列に連続記録され、中抜きや差し替え等がないことが第三者に証明することが可能である。さらに、プライバシ保護等のために原動画情報の一部を切り出しても、切り出し位置の検出、および切り出し動画情報の原本性検証が可能となる。また、抽出者は、署名情報に対する電子署名から明らかとなるため、仮に抽出者や他の第三者が切り出し動画情報に対して何らかの改変・追加等を施した場合でも、その追跡は可能である。
【0192】
また、本実施の形態でのデータは映像データであったが、音声データや、連続する一連のテキストデータであってもよい。音声データは、たとえば、防犯用のマイクからの連続するデータである。また、連続する一連のテキストデータとしては、たとえば、24時間稼働するWebサーバのアクセスログ等である。本実施の形態を適用するならば、Webサーバが生成した1日間のログに対して、署名生成装置103はフレームダイジェスト情報を生成し、一か月単位のアクセスログを署名対象にして電子署名を生成することで、本発明を適用できる。
【0193】
なお、本実施の形態で説明した署名生成方法および署名検証方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本署名生成プログラムおよび本署名検証プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本署名生成プログラムおよび本署名検証プログラムは、インターネット等のネットワークを介して配布してもよい。
【0194】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0195】
(付記1)連続する一連のデータを受信する受信手段と、
前記受信手段によって受信されたデータを受信するごとに当該データを要約した要約情報を順次生成する要約情報生成手段と、
前記要約情報生成手段によって生成された一連の要約情報が所定数になった場合、前記一連の要約情報をブロック単位で順次取得する取得手段と、
前記取得手段によって取得された一連の要約情報となる現ブロックと前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報とを、署名対象に設定する設定手段と、
前記設定手段によって前記署名対象に設定された現ブロックの要約元となるデータ群に関する電子署名を生成する電子署名生成手段と、
前記電子署名生成手段によって生成された電子署名と前記電子署名が関連付けられた署名対象と前記署名対象に設定された現ブロックの要約元となるデータ群とを記憶装置に送信する送信手段と、
を備えることを特徴とする署名生成装置。
【0196】
(付記2)前記設定手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの次のブロックである場合、前記現ブロックと前記次のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする付記1に記載の署名生成装置。
【0197】
(付記3)前記設定手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの前のブロックと次のブロックである場合、前記現ブロックと前記前のブロックの中から選ばれた要約情報と前記次のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする付記1に記載の署名生成装置。
【0198】
(付記4)前記次のブロックの中から選ばれた要約情報は、前記次のブロック内の先頭の要約情報であることを特徴とする付記2または3に記載の署名生成装置。
【0199】
(付記5)前記設定手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの前のブロックである場合、前記現ブロックと前記前のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする付記1に記載の署名生成装置。
【0200】
(付記6)前記設定手段は、
前記現ブロックが先頭ブロックである場合、前記現ブロックと前記現ブロックが先頭ブロックであることを示す識別情報と前記次のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする付記2〜4のいずれか一つに記載の署名生成装置。
【0201】
(付記7)前記設定手段は、
前記現ブロックが末尾ブロックである場合、前記現ブロックと前記前のブロックの中から選ばれた要約情報と前記現ブロックが末尾ブロックであることを示す識別情報とを前記署名対象に設定することを特徴とする付記3または5に記載の署名生成装置。
【0202】
(付記8)前記受信手段は、
映像データから一定時間ごとに切り出したフレームを前記データとすることを特徴とする付記1〜7のいずれか一つに記載の署名生成装置。
【0203】
(付記9)受信手段と要約情報生成手段と取得手段と設定手段と電子署名生成手段と送信手段とを備えるコンピュータが、
前記受信手段により、連続する一連のデータを受信する受信工程と、
前記要約情報生成手段により、前記受信工程によって受信されたデータを受信するごとに当該データを要約した要約情報を順次生成する要約情報生成工程と、
前記取得手段により、前記要約情報生成工程によって生成された一連の要約情報が所定数になった場合、前記一連の要約情報をブロック単位で順次取得する取得工程と、
前記設定手段により、前記取得工程によって取得された一連の要約情報となる現ブロックと前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報とを、署名対象に設定する設定工程と、
前記電子署名生成手段により、前記設定工程によって前記署名対象に設定された現ブロックの要約元となるデータ群に関する電子署名を生成する電子署名生成工程と、
前記送信手段により、前記電子署名生成工程によって生成された電子署名と前記電子署名が関連付けられた署名対象と前記署名対象に設定された現ブロックの要約元となるデータ群とを記憶装置に送信する送信工程と、
を実行することを特徴とする署名生成方法。
【0204】
(付記10)コンピュータを、
連続する一連のデータを受信する受信手段、
前記受信手段によって受信されたデータを受信するごとに当該データを要約した要約情報を順次生成する要約情報生成手段、
前記要約情報生成手段によって生成された一連の要約情報が所定数になった場合、前記一連の要約情報をブロック単位で順次取得する取得手段、
前記取得手段によって取得された一連の要約情報となる現ブロックと前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報とを、署名対象に設定する設定手段、
前記設定手段によって前記署名対象に設定された現ブロックの要約元となるデータ群に関する電子署名を生成する電子署名生成手段、
前記電子署名生成手段によって生成された電子署名と前記電子署名が関連付けられた署名対象と前記署名対象に設定された現ブロックの要約元となるデータ群とを記憶装置に送信する送信手段、
として機能させることを特徴とする署名生成プログラム。
【0205】
(付記11)一連のデータと、前記データごとに当該データを要約した要約情報に関して当該要約情報を所定数ごとにまとめた一連の要約情報をブロック単位で扱い、検証の対象となる現ブロックと当該現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報(以下、「前後いずれかの要約情報」という)とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信する受信手段と、
前記受信手段によって受信されたデータごとに当該データを要約した要約情報(以下、「生成要約情報」という)を生成する要約情報生成手段と、
前記署名対象の正当性を、前記電子署名に基づいて検証する署名対象検証手段と、
前記データの正当性を、前記署名対象検証手段によって検証された前記署名対象と前記生成要約情報とに基づいて検証するデータ検証手段と、
前記現ブロックと当該現ブロックに前後する少なくともいずれか一方のブロックとが連続することに関する正当性を、前記生成要約情報のうち前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報と前記前後いずれかの要約情報とに基づいて検証する連続検証手段と、
前記署名対象検証手段と前記データ検証手段と前記連続検証手段とによって検証された検証結果に基づいて、前記データの正当性を検証する電子署名検証手段と、
を備えることを特徴とする署名検証装置。
【0206】
(付記12)前記受信手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの次のブロックである場合、前記データと、前記現ブロックと前記次のブロックの中から選ばれた要約情報(以下、「次の要約情報」という)とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信し、
前記連続検証手段は、
前記現ブロックと前記次のブロックとの順で連続することに関する正当性を、前記次の要約情報と前記生成要約情報のうち前記次のブロックの中から選ばれた要約情報とに基づいて検証することを特徴とする付記11に記載の署名検証装置。
【0207】
(付記13)前記受信手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの前のブロックと次のブロックである場合、前記データと、前記現ブロックと前記前のブロックの中から選ばれた要約情報(以下、「前の要約情報」という)と次の要約情報とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信し、
前記連続検証手段は、
前記前のブロックと前記現ブロックとの順で連続することに関する正当性を、前記生成要約情報のうち前記前のブロックの中から選ばれた要約情報と前記前の要約情報とに基づいて検証し、前記現ブロックと前記次のブロックとの順で連続することに関する正当性を、前記次の要約情報と前記生成要約情報のうち前記次のブロックの中から選ばれた要約情報とに基づいて検証することを特徴とする付記11に記載の署名検証装置。
【0208】
(付記14)前記受信手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの前のブロックである場合、前記データと、前記現ブロックと前の要約情報とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信し、
前記連続検証手段は、
前記前のブロックと前記現ブロックとの順で連続することに関する正当性を、前記生成要約情報のうち前記前のブロックの中から選ばれた要約情報と前記前の要約情報とに基づいて検証することを特徴とする付記11に記載の署名検証装置。
【0209】
(付記15)前記受信手段は、
前記データと、前記現ブロックと前記一連のデータの先頭を示す識別情報と前記次の要約情報とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信し、
前記連続検証手段は、
前記現ブロックと前記次のブロックとの順で連続することに関する正当性を、前記次の要約情報と前記生成要約情報のうち前記次のブロックの中から選ばれた要約情報とに基づいて検証し、前記現ブロックが先頭ブロックであることの正当性を、前記先頭を示す識別情報に基づいて検証することを特徴とする付記12または13に記載の署名検証装置。
【0210】
(付記16)前記受信手段は、
前記データと、前記現ブロックと前記前の要約情報と前記一連のデータの末尾を示す識別情報とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信し、
前記連続検証手段は、
前記前のブロックと前記現ブロックとの順で連続することに関する正当性を、前記生成要約情報のうち前記前のブロックの中から選ばれた要約情報と前記前の要約情報とに基づいて検証し、前記現ブロックが末尾ブロックであることの正当性を、前記末尾を示す識別情報に基づいて検証することを特徴とする付記13または14に記載の署名検証装置。
【0211】
(付記17)受信手段と要約情報生成手段と署名対象検証手段とデータ検証手段と連続検証手段と電子署名検証手段とを備えるコンピュータが、
前記受信手段により、一連のデータと、前記データごとに当該データを要約した要約情報に関して当該要約情報を所定数ごとにまとめた一連の要約情報をブロック単位で扱い、検証の対象となる現ブロックと当該現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報(以下、「前後いずれかの要約情報」という)とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信する受信工程と、
前記要約情報生成手段により、前記受信工程によって受信されたデータごとに当該データを要約した要約情報(以下、「生成要約情報」という)を生成する要約情報生成工程と、
前記署名対象検証手段により、前記署名対象の正当性を、前記電子署名に基づいて検証する署名対象検証工程と、
前記データ検証手段により、前記データの正当性を、前記署名対象検証工程によって検証された前記署名対象と前記生成要約情報とに基づいて検証するデータ検証工程と、
前記連続検証手段により、前記現ブロックと当該現ブロックに前後する少なくともいずれか一方のブロックとが連続することに関する正当性を、前記生成要約情報のうち前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報と前記前後いずれかの要約情報とに基づいて検証する連続検証工程と、
前記電子署名検証手段により、前記署名対象検証工程と前記データ検証工程と前記連続検証工程とによって検証された検証結果に基づいて、前記データの正当性を検証する電子署名検証工程と、
を実行することを特徴とする署名検証方法。
【0212】
(付記18)一連のデータと、前記データごとに当該データを要約した要約情報に関して当該要約情報を所定数ごとにまとめた一連の要約情報をブロック単位で扱い、検証の対象となる現ブロックと当該現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報(以下、「前後いずれかの要約情報」という)とで構成された署名対象と、前記署名対象に基づいて生成される前記現ブロックの要約元となるデータ群に関する電子署名と、を受信する受信手段、
前記受信手段によって受信されたデータごとに当該データを要約した要約情報(以下、「生成要約情報」という)を生成する要約情報生成手段、
前記署名対象の正当性を、前記電子署名に基づいて検証する署名対象検証手段、
前記データの正当性を、前記署名対象検証手段によって検証された前記署名対象と前記生成要約情報とに基づいて検証するデータ検証手段、
前記現ブロックと当該現ブロックに前後する少なくともいずれか一方のブロックとが連続することに関する正当性を、前記生成要約情報のうち前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報と前記前後いずれかの要約情報とに基づいて検証する連続検証手段、
前記署名対象検証手段と前記データ検証手段と前記連続検証手段とによって検証された検証結果に基づいて、前記データの正当性を検証する電子署名検証手段、
として機能させることを特徴とする署名検証プログラム。
【符号の説明】
【0213】
103 署名生成装置
107 署名検証装置
303 署名生成部
503 署名検証部
701 受信部
702 要約情報生成部
703 取得部
704 設定部
705 電子署名生成部
706 送信部
801 受信部
802 要約情報生成部
803 署名対象検証部
804 データ検証部
805 連続検証部
806 電子署名検証部

【特許請求の範囲】
【請求項1】
連続する一連のデータを受信する受信手段と、
前記受信手段によって受信されたデータを受信するごとに当該データを要約した要約情報を順次生成する要約情報生成手段と、
前記要約情報生成手段によって生成された一連の要約情報が所定数になった場合、前記一連の要約情報をブロック単位で順次取得する取得手段と、
前記取得手段によって取得された一連の要約情報となる現ブロックと前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報とを、署名対象に設定する設定手段と、
前記設定手段によって前記署名対象に設定された現ブロックの要約元となるデータ群に関する電子署名を生成する電子署名生成手段と、
前記電子署名生成手段によって生成された電子署名と前記電子署名が関連付けられた署名対象と前記署名対象に設定された現ブロックの要約元となるデータ群とを記憶装置に送信する送信手段と、
を備えることを特徴とする署名生成装置。
【請求項2】
前記設定手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの次のブロックである場合、前記現ブロックと前記次のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする請求項1に記載の署名生成装置。
【請求項3】
前記設定手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの前のブロックと次のブロックである場合、前記現ブロックと前記前のブロックの中から選ばれた要約情報と前記次のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする請求項1に記載の署名生成装置。
【請求項4】
前記次のブロックの中から選ばれた要約情報は、前記次のブロック内の先頭の要約情報であることを特徴とする請求項2または3に記載の署名生成装置。
【請求項5】
前記設定手段は、
前記現ブロックに前後する少なくともいずれか一方のブロックが前記現ブロックの前のブロックである場合、前記現ブロックと前記前のブロックの中から選ばれた要約情報とを前記署名対象に設定することを特徴とする請求項1に記載の署名生成装置。
【請求項6】
前記受信手段は、
映像データから一定時間ごとに切り出したフレームを前記データとすることを特徴とする請求項1〜5のいずれか一つに記載の署名生成装置。
【請求項7】
コンピュータを、
連続する一連のデータを受信する受信手段、
前記受信手段によって受信されたデータを受信するごとに当該データを要約した要約情報を順次生成する要約情報生成手段、
前記要約情報生成手段によって生成された一連の要約情報が所定数になった場合、前記一連の要約情報をブロック単位で順次取得する取得手段、
前記取得手段によって取得された一連の要約情報となる現ブロックと前記現ブロックに前後する少なくともいずれか一方のブロックの中から選ばれた要約情報とを、署名対象に設定する設定手段、
前記設定手段によって前記署名対象に設定された現ブロックの要約元となるデータ群に関する電子署名を生成する電子署名生成手段、
前記電子署名生成手段によって生成された電子署名と前記電子署名が関連付けられた署名対象と前記署名対象に設定された現ブロックの要約元となるデータ群とを記憶装置に送信する送信手段、
として機能させることを特徴とする署名生成プログラム。

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

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20−1】
image rotate

【図20−2】
image rotate

【図21】
image rotate

【図22−1】
image rotate

【図22−2】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2011−75867(P2011−75867A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−227783(P2009−227783)
【出願日】平成21年9月30日(2009.9.30)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(000237156)株式会社富士通アドバンストエンジニアリング (100)
【Fターム(参考)】