説明

映像音声記録装置、データ処理方法

【課題】撮影された映像音声の一連の順序等の改竄を検出するのに大量の演算が必要となり処理が遅くなる。
【解決手段】撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と/または前記メタデータの改竄を検証するための認証コードを生成する映像音声記録装置であって、前記認証コードを2段階のハッシュ演算で算出する際に使用するための1段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを記録する内部記憶部と、前記映像音声と/または、該映像音声に付随するメタデータと、前記コンテキストに、2段階目のハッシュ演算を行うことで取得する認証コードを格納する不揮発性記憶媒体を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像音声記録装置、データ処理方法に関するものである。
【背景技術】
【0002】
近年、デジタルデータを読み書き可能な不揮発性記憶媒体としてSDメモリーカードやメモリースティック、コンパクトフラッシュ(登録商標)といった半導体メモリが普及してきている。これらの半導体メモリを使ってデータを処理する映像音声記録装置は、パーソナルコンピュータ、音響機器、映像機器、携帯電話、デジタルカメラ等の電化製品を始め、多岐に渡っている。半導体メモリ等の着脱可能で可搬性に優れた不揮発性記憶媒体は、映像音声記録装置間のデータのやり取りを担うブリッジメディアとして特に有用である。このため1つの不揮発性記憶媒体は複数の映像音声記録装置に装着されることが多い。
【0003】
デジタルカメラ、デジタルビデオカメラ、監視カメラあるいは、ドライビングレコーダなどで撮影したデジタル化された動画データや写真データは、再生機器で分離格納されたメタデータを活用したり、監視カメラで撮影された映像の付帯情報やドライビングレコーダで記録された速度情報などのメタデータを何らかの事件が発生した時の付帯情報として提供を行ったりする。したがって、蓄積された映像データとそれに付随するメタデータの信憑性は極めて重要な意味を持つ。
【0004】
従来、複数の映像音声記録装置においてデータを共有する仕組みとしてファイルシステムが導入され、このファイルシステム上でデータ交換を行うのが一般的であった。ファイルシステムは、汎用的に利用できる反面、コンピュータなどから自由に改竄・削除・あるいは故意に別データを追加することが可能である。そのため、写真や動画のデジタルデータの改竄検知手法として特許文献1乃至特許文献4に記載されているようないくつかの手法が考案されている。
【0005】
特許文献1によれば、画像データの記録時にNフィールド毎に選択された秘密鍵を用いてフィールド毎にハッシュ値を生成し、改竄の有無判定時に記録時と同じ処理手順によりフィールド毎にハッシュ値を生成し、比較することにより改竄の有無を判定する方法が開示されている。特許文献2によれば、第1検証装置は、ハッシュ値および第1検証データを用いて、画像データが改変されているか否かの検証を行う。改変されていない場合、第1検証装置は、画像データの第2検証データを生成する。第2検証装置は、画像データおよび第2検証データを用いて、画像データが改変されているか否かの検証を行う方法が開示されている。特許文献3によれば、デバイスIDを元に公開鍵暗号を使用した電子認証コードを付与する方法が開示されている。特許文献4によれば、電子透かしを用いて改竄検知を行う方法が開示されている。
【0006】
いずれの方法も画像データ・動画データの一部あるいはすべてのデジタルデータからハッシュ、公開鍵暗号、共通鍵暗号、電子透かしの手法を用いて画像ファイル、あるいは動画ファイルに1つまたは複数の電子認証コードを生成し、再生装置ないしは検証装置は、その電子認証コードと元のデジタルデータを比較し改竄がなされていないかどうかを判別する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−310038号公報
【特許文献2】特開2003−198543号公報
【特許文献3】特開2000−56681号公報
【特許文献4】特開2000−152148号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
先行技術文献の示す方法は画像、または、動画のファイルそれぞれの画像、または、動画データ及びそれらのデータに付随するメタデータの改竄は検知可能である。しかし、一連の撮影の行為における複数ファイルで構成される映像音声セットから一部の映像音声のコンテンツないしはメタデータが削除された場合、あるいはコンテンツの順序等が入れ替えられた場合、の検知はできない。複数ファイルで構成さえる映像音声セットから一部の映像音声のコンテンツないしはメタデータを格納したファイルが削除されたこと等も含めて検知するには、すべてのメタデータとコンテンツを元データとしてハッシュ関数(メッセージ圧縮関数)を利用して認証コードを生成し、認証コードを比較する方法が考えられる。
【0009】
メタデータとコンテンツが改竄や削除がなされていないかを検証するための認証コードとして、HMAC−SHA−1アルゴリズムを例にあげる。最初にHMAC−SHA−1で用いられるハッシュ関数(メッセージ圧縮関数)であるSHA−1について、図11を用いて説明する。SHA−1関数は、長大なデータであるメッセージ1100から数十バイトのダイジェスト1120を生成する関数である。
【0010】
メッセージを64バイト単位で分割する。分割した結果末端のブロックが64バイトに満たない場合は、値0でパディングする。(ステップS1101)
【0011】
ダイジェスト1120と同じ長さの初期ベクトル1110とブロック1を入力として、攪拌関数の集合体である圧縮関数で演算を行う。演算を行った結果とブロック2を入力として圧縮関数で再度演算を行う。これをブロックmまで繰り返し、最後の演算結果がダイジェスト1120である(ステップS1102)。
【0012】
ステップS1102の処理を以降SHA-1圧縮処理と呼ぶこととする。多段階の攪拌関数を通過させることにより、同一のダイジェストをとる2つのメッセージを求めることは困難となる。
【0013】
次に、認証コードの生成方法について、図5を用いて説明する。HMAC−SHA−1アルゴリズムにおいて、改竄検出を行う映像音声記録装置100と共通に保持する64バイトの共通暗号鍵と2つの64バイトの定数値ipad・opadのそれぞれと排他的論理和をした値を使用する。ipadは64個の0x36で構成される。opadは64個の0x5cで構成される。なお、ipad・opadの定数値は一例で他の値であってもよい。ここでは、ipadと前記暗号鍵と、を排他的論理和した値をi−key−pad511とし、opadと前記暗号鍵と、を排他的論理和した値をo−key−pad530とする。
【0014】
認証コードを生成する元データとして、i−key−pad511と改竄検知の対象となるコンテンツ及びメタデータを連結したものをメッセージ510として用いる。メッセージ510はブロック長毎に分割され、連結されたデータ末端ブロック長に満たない場合、メッセージ510にすべてが0で設定されたパディングデータ512を追加する。連結されたメッセージ510は、初期ベクトルをSHA−1の定義の中で規定された20バイトの固定値であるSHA−1規定初期ベクトル520として、SHA−1圧縮処理を実施する(ステップS501)。
【0015】
SHA−1圧縮処理を実施した結果、20バイトのダイジェストを540生成する。o−key−pad530、ダイジェスト540、パディングデータ550を連結し2段階目のメッセージ555に対して初期ベクトルをSHA−1規定初期ベクトル520と同値として、SHA−1アルゴリズムで処理する(ステップS502)。
【0016】
SHA−1アルゴリズムで処理した結果得られた20バイトのダイジェストを認証コード560とする。
【0017】
図5で示した認証コードの生成方法の場合、コンテンツとそれに付随するメタデータを追加するたびにすべてのコンテンツ・メタデータに対する演算をやり直す必要がある。さらに、撮像された写真セットに対する画像や付随するメタデータに対して改竄を検知しようとする場合、電源投入の際に不揮発性記憶媒体が他の機器によって更新される可能性があるため、認証コード検証を行い、改竄が確認されれば改竄状態を保持しておく必要がある。しかし、起動時に改竄されていないかどうかを検知する際にも全コンテンツに対する演算をやりなおした上で、不揮発性記憶媒体内の認証コードと比較する必要がある。このため、起動時や撮像時に演算時間が膨大になり、撮影枚数が増えるに従って、現実的な電源投入時間が保てなくなる。
【課題を解決するための手段】
【0018】
そこで、本発明の目的は、撮像時に不必要な認証コード演算を省略するとともに、電源投入時に不必要な検証演算を省略することが可能である。故に電源投入から撮像までの間隔、撮像から次の撮像までの間隔を短縮する映像音声記録装置、及びデータ処理方法を提供することである。
【0019】
本出願の映像音声記録装置は、撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と/または前記メタデータの改竄を検証するための認証コードと、を生成する映像音声記録装置であって、前記認証コードを2段階のハッシュ演算で算出する際に使用する1段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを記録する内部記憶部と、前記映像音声と/または、該映像音声に付随するメタデータと、前記コンテキストに、2段階目のハッシュ演算を行うことで取得する認証コードと、を格納する不揮発性記憶媒体と、を具備することを特徴とする。
【0020】
ここでは、前記コンテキストを備えることによって、撮像時において、高速に認証コードの更新が可能となる。さらに、電源投入時においても改竄がおこなわれていない正常系において、高速に認証コードの検証が可能となる。
【0021】
上記映像音声記録装置において、電源投入又は初期化時に、前記内部記憶部に記録されたコンテキストに基づいて、第二の認証コードを算出し、不揮発性記憶媒体内に格納された認証コードと前記第二の認証コードとを比較する比較演算部と、前記比較結果が等しい場合は、個々の映像データやメタデータ、それらの順序等が改竄されているかいないかに関わらず、前記コンテキストに基づいて新たな前記映像と/または前記メタデータを加えた認証コードを算出する制御部と、をさらに具備するものであってもよい。
【0022】
この場合、コンテキストから算出した第2の認証コードと不揮発性記憶媒体内に格納された認証コードを比較することで、電源投入時における記録媒体の認証コード検証処理において、すべてのコンテンツ・メタデータを使って演算する必要がなくなるため、高速に認証コードの検証が可能となる。
【0023】
上記映像音声記録装置において、前記2段階のハッシュ演算はHMACアルゴリズムを用いる。この場合、HMACアルゴリズムを用いることで、演算量の少なくできる。
【0024】
また、前記ハッシュ演算にSHA−1アルゴリズムを用いるものであってもよい。この場合、SHA−1アルゴリズムを用いることで、MD4やMD5といったハッシュアルゴリズムよりも安全性が高く、SHA-224,SHA−256といったハッシュアルゴリズムよりも演算量の少なくすることが可能である。
【0025】
さらに、映像音声記録装置は、前記コンテキストが、改竄検知対象となるすべての前記映像音声と/または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と/または前記メタデータの情報が含まれる部分で構成されることを特徴とするものであってもよい。
【0026】
また、実現の形態は、上記の映像音声記録装置に限定せず、上記内容を映像音声記録装置のハードウェアを用いたデータ処理方法として実現することも可能である。
【発明の効果】
【0027】
本発明によれば、複数の写真・動画セットに対しても改竄検知を行うことが可能となり、且つ撮像時に改竄検知用の認証コードを短時間で生成可能であり、電源投入時においても不必要な検証演算を省略することが可能である。故に電源投入から撮像までの間隔を短縮するという利点がある。
【図面の簡単な説明】
【0028】
【図1】本実施例における外観図
【図2】本実施例におけるブロック図
【図3】本実施例における電源投入から電源OFFまでのフローチャート
【図4】本実施例における不揮発性記憶装置の構成図
【図5】コンテンツ・メタデータから認証コードを生成するデータ処理方法を示した図
【図6】(a)認証コード検証部のデータ処理方法の前半を示した図、(b)認証コード検証部のデータ処理方法の考案を示した図、(c)パディングデータを追加してブロックを構成した図、(d)データ処理で用いるメッセージ例を示した図
【図7】認証コード検証部におけるメモリーカード初期化処理のデータ処理方法を示した図
【図8】認証コード検証部におけるすべてのメタデータとコンテンツから第2の認証コードとコンテキストを生成するデータ処理方法を示した図
【図9】認証コード算出部のデータ処理方法を示した図
【図10】コンテキストについて説明した図
【図11】SHA−1アルゴリズムについて説明した図
【発明を実施するための形態】
【0029】
(実施形態1)
<1.1:不揮発性記憶システム>
以下、本発明の一実施形態を図面に基づいて詳細に説明する。まず、本実施形態による映像音声管理システムについて説明する。図1は、映像音声管理システムの一例を示す図である。映像音声管理システムは、映像音声記録装置100、不揮発性記憶媒体300を備える。
【0030】
映像音声記録装置100は、撮影した映像音声を付随するメタデータとともに、接続されている不揮発性記憶媒体300に対して記録を行う。映像音声記録装置100は、例えば、デジタルカメラやデジタルビデオカメラ、監視カメラやドライブレコーダなどである。図1の例では、映像音声記録装置100はデジタルカメラであり、不揮発性記憶媒体300はメモリーカードとしており、これらが不揮発性記憶媒体システムの主要な構成要素をなす。なお、図1は一例であり、本発明はこれらに限定されるものではない。ここで、映像音声記録装置100は、映像音声データ(以下、コンテンツ)とこれらの付随情報(以下、メタデータ)とを不揮発性記憶媒体300に記録する。
【0031】
映像音声記録装置100は、撮像部120、表示部140、ユーザ入力部130及びスロット110を有する。
【0032】
<1.2:映像音声記録装置100>
(1.2.1:映像音声記録装置100の構成)
図2は、デジタルカメラである映像音声記録装置100の構成例を示す。映像音声記録装置100は、スロット110、撮像部120、ユーザ入力部130、表示部140、データ処理部150、暗号鍵保持部160、不揮発性内部記憶170、入出力処理部190を備える。
【0033】
スロット110は、外部の不揮発性記憶媒体300を装着するインターフェイスの一部である。
入出力処理部190は、スロット110に装着された不揮発性記憶媒体300に対してコマンドやデータ等の情報の受け渡しを行うインターフェイスの一部である。
【0034】
データ処理部150は、スロット110に接続された不揮発性記憶媒体300に格納されたデータもしくはこれから格納するデータを処理する部分である。例えば、スロット110に接続された不揮発性記憶媒体300に格納するデータが写真データやビデオデータである場合、撮像部120で撮影した写真データやビデオデータであるコンテンツとコンテンツに付随するメタデータを入出力処理部190経由で不揮発性記憶媒体300に書き込む等の動作を制御する。なお、データ処理部150は、上記以外のデータ処理(例えば、読み出したデータの再生や、編集したあとの書き戻し)や、映像音声記録装置100全体を制御する機能(電源制御、クロック制御等)の制御を行ってもよい。
【0035】
前記データ処理部150は、HMAC−SHA−1アルゴリズムを用いて、コンテンツ、メタデータに対する認証コードを算出する認証コード生成部151と、コンテンツ、メタデータと認証コードの関係が正しいかどうかを検証する認証コード検証部152を有する。本実施例では、HMAC−SHA−1を用いて説明するが、コンピュータシステムの処理能力、記憶容量、解読に対する安全性の考え方等に応じて、他のアルゴリズムを用いてもよい。
【0036】
暗号鍵保持部160は、映像データに対する認証コードを生成・検証するにあたって、それぞれの算出時に使用し、認証コードを利用する他の映像音声再生装置等と共有する秘密情報である暗号鍵を格納する。
【0037】
ユーザ入力部130は、ユーザからの入力を受け付ける部分である。
表示部140は、前記データ処理部150の処理結果や各処理の進行状況等をユーザに通知する部分である。
撮像部120は、光をCCD(電荷結合素子)やCMOS(相補形金属酸化膜半導体)等の素子を用いて電気的な映像信号に変換するイメージセンサから受け取ったデジタル映像信号を前記データ処理部150に送る。
【0038】
不揮発性記憶媒体300は、デジタルデータを格納する。不揮発性記憶媒体300は、メタデータ記憶領域310と、コンテンツ記憶領域320と、メタデータとコンテンツに対する改竄を検知するためのデータである認証コードを記憶する認証コード記憶領域330を有する。
不揮発性記憶媒体300は、代表的なものとしてNAND型のフラッシュメモリ等を用いたメモリーカードがあるが、本実施形態は、これに限定されるものではない。EEPROM、FeRAM、MRAM等の他の不揮発性の半導体メモリを用いることも可能である。更に、本実施形態は半導体メモリだけでなく、HDDや光ディスクのような記録媒体を利用してもよい。
【0039】
映像音声記録装置100内の不揮発性内部記憶170は、映像音声記録装置100から着脱不能な不揮発性の記憶領域で映像音声記録装置100以外からの入出力ができない領域を持ち、コンテキストを保持するコンテキスト保持領域171を有する。ここでコンテキストについて、図10で説明する。
【0040】
図10において、メッセージ510のブロック数をmとし、先頭ブロックからブロック1〜ブロックmと割り振ったとき、最後のブロックmを除いたブロック1〜ブロックm−1までのm−1個のブロックに対して、初期ベクトルをSHA−1規定初期ベクトル520としてSHA−1圧縮処理を実施(ステップS1001)したものを第1のダイジェスト1010とする。また、ブロックmのパディング部分を除いたものを余り1020とする。第1のダイジェスト1010と余り1020で構成される値をコンテキスト1030とする。コンテキスト1030の情報を用いることで、コンテンツ、メタデータが追加された際に、コンテキスト1030とコンテンツ、メタデータのみで新たな認証コードを生成することが可能となる。
【0041】
(1.2.2:不揮発性記憶媒体300の構成)
図4は、不揮発性記憶媒体300内の構成を模した図である。不揮発性記憶媒体300を管理するために、FATファイルシステムを使用する。コンテンツ記憶領域320、メタデータ記憶領域310、認証コード記憶領域330のいずれも、前記ファイルシステム上に存在する。本実施例において、コンテンツ記憶領域320は、撮像されたコンテンツを格納するため、/DCIMフォルダ以下にDCF規格に従って記録する。メタデータ記憶領域310は/PRIVATE/PANAMETAフォルダ以下を示し、コンテンツに対するメタデータを格納する。認証コード記憶領域330は/PRIVATE/PANAMETA/HMAC.DATと等価である。HMAC.DATは、20バイトのファイルであり、認証コードと等価である。
【0042】
(1.2.3:データ処理部150におけるデータ処理方法)
次に、データ処理部150における電源投入から電源OFFまでの流れについて図3のフローチャートを用いて説明する。
【0043】
ステップS301:電源投入後、認証コード検証部152において、不揮発性内部記憶170に記録されたコンテキスト及び、不揮発性記憶媒体300の認証コード記憶領域330に記録された認証コードを用いて検証を行う。認証コードの検証結果に応じてコンテキストをそのまま利用するか、不揮発性記憶媒体300に格納されたメタデータ及びコンテンツから再算出するか、改竄を検知し乱数を設定するかを判断し、ステップS302に進む。なお、前記判断を行う認証コード検証部152の詳細は、後述する「1.2.4 認証コード検証部152におけるデータ処理方法」で説明する。また、電源投入後にOperatingSystem、ファイルシステム、レンズ動作等の初期化など各種初期化処理も行われるが、本実施例とは関係ないため記載は省略する。
【0044】
ステップS302:ユーザがユーザ入力部130を用いて、ユーザから電源を切るか、撮影を行うかなどの指示を待つ。ユーザが指示を入力すると、ステップS303に進む。
【0045】
ステップS303:ステップS302で入力された指示が撮影要求の場合、ステップS306に進む。それ以外の指示の場合は、ステップS306に進む。
【0046】
ステップS304:ステップS302で入力された指示が電源オフの場合、各種終了処理を行った後、映像音声記録装置100の電源をOFFして、終了する。それ以外の指示の場合は、ステップS305に進む。
【0047】
ステップS305:ステップS302で入力された指示が撮影要求や電源オフ以外の指示、例えば撮像済みのコンテンツの再生や、削除、撮影方法の設定などの場合、当該指示を実行し、ステップS302に戻る。
【0048】
ステップS306:撮像部120のイメージセンサが受け取ったコンテンツを入出力処理部190経由で、コンテンツ記憶領域320に格納し、日付や露出、シャッタースピードなど前記コンテンツに付随するメタデータをメタデータ記憶領域310にそれぞれ格納し、ステップS307に進む。
【0049】
ステップS307:本認証コード生成処理では、コンテンツとメタデータを追加した状態で、認証コードの再計算を行い、認証コード記憶領域330に格納し、ステップS302に戻る。認証コード生成処理の詳細については、(1.2.7:認証コード生成部151におけるデータ処理方法)で説明する。
【0050】
(1.2.4:認証コード検証部152のデータ処理方法)
次に認証コード検証部152のデータ処理方法について、図6(a)から図6(d)を用いて説明する。
【0051】
認証コード検証部152では、以下に示す6つの状態を検知し、適切な処理を行うことを目的としている。
状態1)映像音声記録装置100に装着されている不揮発性記憶媒体300が、映像音声記録装置100の電源が遮断されている間に別の不揮発性記憶媒体に入れ替えられたため、コンテキストをクリアし、コンテンツ・メタデータからコンテキストを再計算する。
状態2)コンテンツ・メタデータが別の機械で正しく追記または削除されているため、コンテキストをクリアし、コンテンツ・メタデータからコンテキストを再計算する。
状態3)コンテンツ・メタデータが別の機械で改竄されているため、改竄検知状態を保持。
状態4)認証コードが改竄されている(認証コードとあわせてコンテンツ・メタデータのいずれかも改竄されている。)ため、改竄検知状態を保持。
状態5)認証コードがないため、記録されているすべてのコンテンツ・メタデータは、信頼できないデータとして一切利用しない。
状態6)電源が遮断されている間にコンテンツ、メタデータ、認証コードのいずれも改竄されておらず、不揮発性記憶媒体300の入れ替えも行われていない。
【0052】
前記6つの状態を検知し、適切な処理を行う認証コード検証部152の処理フローを以下、順を追って説明する。
【0053】
ステップS601:不揮発性記憶媒体300の認証コード記憶領域330から認証コード650取り出す。取り出せなかった場合は、認証コード650がまだ不揮発性記憶媒体にないか、ユーザによって削除された状態であり、不揮発性記憶媒体300には全くコンテンツ・メタデータがないか、コンテンツ・メタデータは信頼されないデータ(状態5)であるため、ステップS602に進む。取り出せた場合、ステップS603に進む。
【0054】
ステップS602:メモリーカードの初期化処理において、認証コードの初期値を認証コード記憶領域330に格納し、コンテキストの初期値をコンテキスト保持領域171に格納して、処理を終了する。メモリーカード初期化処理の詳細については、(1.2.5:認証コード検証部152のメモリーカード初期化方法)において説明する。
【0055】
ステップS603:コンテキスト保持領域171からコンテキストを取り出す。取り出されたコンテキスト、すなわち第1のダイジェスト651と余り652について、余り652は図6(c)で示すようにブロック長に足りない部分をゼロでパディングし、ブロック653として一時記憶領域180に保持する。保持後、ステップS604に進む。
【0056】
ステップS604:第1のダイジェスト651を初期ベクトルとして、ブロック653をSHA−1アルゴリズムで処理する。処理の結果生成された20バイトのダイジェスト654を一時記憶領域180に保持する。保持後、ステップS605に進む。
【0057】
ステップS605:図6(d)で示すようにo−key−pad530とダイジェスト654と44バイトの値0で構成されるパディングデータ550を連結したメッセージ656を入力とし、SHA−1規定初期ベクトル520を初期ベクトルとして、SHA-1圧縮処理を実施し、認証コード655を一時記憶領域180に保持する。保持後、ステップS606に進む。
【0058】
ステップS606:ステップS601で取り出した認証コード650と、ステップS605で算出された認証コード655を比較する。一致する場合、コンテンツ・メタデータが改竄されている(状態3)か、電源が遮断されている間にコンテンツ、メタデータ、認証コードのいずれも改竄されておらず、不揮発性記憶媒体300の入れ替えも行われていない(状態6)を意味する。前記状態3ないしは状態6であることを判断した場合、処理を終了する。すなわち、コンテキスト保持領域171に格納されたコンテキストも不揮発性記憶媒体300の認証コード記憶領域330に格納された認証コードも変更しないため、状態3においては改竄状態が保持され、状態6においても正常状態が保持されている。一致しない場合は、ステップS607に進む。
【0059】
ステップS607:不揮発性記憶媒体300に格納されているすべてのメタデータとコンテンツから第2の認証コード855、コンテキスト853を生成し、ステップS608に進む。すべてのメタデータとコンテンツから第2の認証コード855を生成する方法は(1.2.6:認証コード検証部152におけるすべてのメタデータとコンテンツから認証コードを生成する方法)において別途説明する。
【0060】
ステップS608:ステップS601で取り出した認証コード650と算出された第2の認証コード855を比較する。一致する場合、ステップS609に進む。一致しない場合、ステップS610に進む。
【0061】
ステップS609:ステップS608の比較において一致する場合、不揮発性記憶媒体300が交換されている(状態1)か、コンテンツ・メタデータが別の機械で正しく追記または削除されている(状態2)ことを意味する。そのため、ステップS607で算出したコンテキスト853を新しいコンテキストとしてコンテキスト保持領域171に格納し、処理を終了する。
【0062】
ステップS610:一致しない場合は、認証コードが改竄されている状態(状態4)を意味するため、コンテキスト657とは異なる適当な乱数値をコンテキスト保持領域171に格納し、処理を終了する。
認証コード検証部152により、正常系である(状態6)、すなわち不揮発性記憶媒体300が挿抜されず、改竄もされていない状態においては、コンテキストを用いることで、コンテンツおよびメタデータのすべてを用いて認証コードを再計算しなくてもよくなるため、大幅な起動時間の短縮を図ることが可能となる。
【0063】
(1.2.5:認証コード検証部152のメモリーカード初期化方法)
次に認証コード検証部152のメモリーカード初期化処理の詳細について図7を用いて説明する。
【0064】
ステップS701:メモリーカード初期化時においては、メタデータもコンテンツも存在していない状態である。そのため、認証コード生成に当たって元となるメッセージは、ブロック長と等価な長さのi−key−pad511のみである。そのため、初期ベクトルをSHA−1規定初期ベクトル520として、i−key−pad511をSHA−1アルゴリズムで処理し、第1のダイジェストの初期値750を生成する。生成後、ステップS702に進む。
【0065】
ステップS702:初期状態においては、i−key−pad511はブロック長と等価なため、余りの長さは0である。第1のダイジェスト750及び長さ0の余り751で構成されるコンテキスト752をコンテキスト保持領域171に格納し、ステップS703に進む。
【0066】
ステップS703:o−key−pad530とステップS701で生成した第1のダイジェスト750と44バイトのゼロデータで構成されたパディング550を連結したメッセージ754に対して初期ベクトルをSHA−1規定初期ベクトル520として、SHA−1圧縮処理を実施し、初期値の認証コード753を生成する。
【0067】
ステップS704:生成された認証コード753は認証コード領域330に格納する。
【0068】
以上により、改竄検知対象となるコンテンツ、メタデータがない状態において不揮発性記憶媒体300内に認証コードの初期値が、映像音声記録装置100内にコンテキストの初期値が設定される。
【0069】
(1.2.6:認証コード検証部152におけるすべてのメタデータとコンテンツから認証コードを生成する方法)
次にすべてのメタデータとコンテンツから第2の認証コード855とコンテキスト853を生成する方法を図8を用いて説明する。
【0070】
ステップS801:認証コードを生成する元データとして、i−key−pad511と改竄検知の対象となるすべてのコンテンツ及びメタデータを連結したものをメッセージ850として用いる。メッセージ850はブロック毎に分割され、連結されたデータ末端ブロック長に満たない場合、メッセージ850にすべてが0で設定されたパディングデータ512を追加する。ここで生成されたブロックの総数をm個とし、先頭ブロックから順にブロック1からブロックmとする。初期ベクトルをSHA−1規定初期ベクトル520として、ブロック1からブロックm−1までに対してSHA−1圧縮処理を実施し、第1のダイジェスト851を得る。SHA−1圧縮処理を実施した後、ステップS802に進む。
【0071】
ステップS802:ステップS801で生成された第1のダイジェスト851と最終ブロックmからパディング部分を除いた余り852で構成されるコンテキスト853を一時記憶領域180に格納する。一時記憶領域180に格納されたコンテキストはステップS609の条件に到達したとき、コンテキスト保持領域171に格納される。次にステップS803に進む。
【0072】
ステップS803:第1のダイジェスト851を初期ベクトルとして、ブロックmに対して、SHA−1圧縮処理を実施し、ダイジェスト854を生成し、ステップS804に進む。
【0073】
ステップS804:o−key−pad530とステップS803で生成したダイジェスト854と44バイトのゼロデータで構成されたパディング550を連結したメッセージに対して、初期ベクトルをSHA−1規定初期ベクトル520として、SHA−1圧縮処理を実施し、第2の認証コード855を生成する。次にステップS805に進む。
【0074】
ステップS805:生成された第2の認証コード855は一時記憶領域180に格納する。一時記憶領域180に格納された認証コードはステップS608の比較対象として使われる。
【0075】
(1.2.7:認証コード生成部151のデータ処理方法)
新たに撮影が行われてメタデータとコンテンツが追加された時の認証コード生成部151のデータ処理方法について、図9を用いて説明する。
【0076】
新たに撮影が行われると、撮影されたコンテンツと当該コンテンツデータに付随するメタデータであるコンテンツn+1、メタデータn+1が新たに生成され、不揮発性記憶媒体300に格納される。
【0077】
ステップS901:コンテキスト保持領域171から、第1のダイジェスト950と余り951を取り出し、ステップS902に進む。
【0078】
ステップS902:取り出された余り951とメタデータn+1、コンテンツn+1、ブロック長に満たない部分をゼロで埋めたパディングデータを結合したメッセージ953を64バイト単位のm個のブロック群に分割する。分割したのち、ステップS903に進む。
【0079】
ステップS903:ステップS901で取り出された第1のダイジェスト950を初期ベクトルとして、前記ブロック群で最終ブロックを除いたブロック1〜ブロックm−1に対して、SHA-1圧縮処理を実施し、ステップS904に進む。
【0080】
ステップS904:ステップS903を実施した結果得られるダイジェストを更新された第1のダイジェスト953と、最終ブロックからパディングデータを除いたものを新しい余り954で構成される更新されたコンテキスト955をコンテキスト保持領域171に格納する。格納後、ステップS905に進む。
【0081】
ステップS905:第1のダイジェストを初期ベクトルとして、ブロックmに対して、SHA−1圧縮処理を実施し、ダイジェスト957を得る。実施後、ステップS906に進む。
【0082】
ステップS906:o−key−pad530、ステップS905で得られたダイジェスト957、パディングデータ550を結合したメッセージ956に対して、初期ベクトルをSHA−1規定初期ベクトル520として、SHA−1圧縮処理を実施し、更新された認証コード960を得る。認証コードを得た後、ステップS907に進む。
【0083】
ステップS907:ステップS906で得られた更新された認証コード960を認証コード記憶領域330に格納し、処理を終了する。
【0084】
本データ処理方法に示す通り、直前の撮影状態におけるコンテキストを利用して、認証コードを算出することですべてのコンテンツ・メタデータを用いて演算する必要がないため、高速に認証コードの更新が可能である。
【0085】
<1.3:実施形態の効果>
以上のように、本実施形態による映像音声記録装置100は、不揮発性記憶媒体300に記録されたコンテンツ・メタデータの改竄検知のための認証コードを更新・検証する際に、前回撮影時に2段階のハッシュ演算で算出する際に使用する1段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを利用することで高速に更新・検証することが可能である。
【0086】
<2:変形例>
なお、本発明について、上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのはもちろんである。本発明の趣旨を逸脱しない範囲で実施変更することができる。以下のような場合も本発明に含まれる。
【0087】
(1)上記実施形態では、不揮発性記憶媒体300内の構造として、FATファイルシステム上に構築した実施例で説明したが、UDFやNTFSなどその他のファイルシステムを使用しても有効である。ファイルシステム上ではなく、不揮発性記憶媒体300の論理アドレス空間に直接コンテンツ・メタデータ・認証コードを配置してもよい。
【0088】
(2)上記実施形態では、コンテンツ・メタデータの両方を改竄検知の対象としたが、コンテンツのみ、メタデータのみを対象としてもよい。コンテンツのみを対象とした場合、メタデータは改竄検知の対象外となる。逆にメタデータのみを対象とした場合、コンテンツは改竄検知の対象外となる。
【0089】
(3)上記実施形態では、不揮発性記憶媒体300として、メモリーカードを用いて説明したが、光ディスクや、HDDなど電源が遮断されても記憶が維持可能なその他の記憶媒体を用いてもよい。
【0090】
(4)上記実施形態では、映像音声記録装置100をデジタルカメラとして説明したが、映像または音声、あるいはその両方を記録する装置であれば、携帯電話、デジタルビデオカメラ、ICレコーダ、監視カメラ、ドライビングレコーダ等なんでもよい。
【0091】
(5)上記実施形態では、コンテキストとして、改竄検知対象となるすべての前記映像音声と/または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と/または前記メタデータの情報が含まれる部分である余りで構成されるとしたが、段階のハッシュ演算で算出する際に使用する1段階目のハッシュ演算途中過程で導出される演算結果であればよい。たとえば、コンテキストとして、2段階目のハッシュ演算の結果である認証コードも合わせてコンテキストに格納しておけば、不揮発性内部記憶170が必要とする容量は増大するが、認証コード検証部152において、第1のダイジェストから認証コードを算出する過程が省略できるため、さらなる高速化も可能となる。
【0092】
(6)映像音声記録装置100と不揮発性記憶媒体300の接続方法として、不揮発記録装置300を着脱可能な、スロット110とスロット110に接続され不揮発性記憶媒体300との入出力を司る入出力部190を用いて説明したが、不揮発性記憶媒体300が映像音声記録装置100から着脱不能であっても、映像音声記憶装置100とパーソナルコンピュータやPDAなどの外部機器とをUSB等の有線ケーブルや無線LAN・Bluetooth等の無線経由を通じて接続し、前記外部機器から不揮発性記憶媒体が操作可能の場合においても有効である。
【産業上の利用可能性】
【0093】
本発明は、半導体メモリーカード等の不揮発性記憶媒体を使用した映像音声記録装置において改竄検知が必要な用途において有用である。
【0094】
警察が証拠写真を撮像するためのデジタルカメラや、工事写真の電子納品のためのカメラ、車載ドライビングレコーダ、監視カメラの用途において特に有用である。また、デジタルカメラが撮影した写真やメタデータをテレビが改竄検知を確認し、不正なデータの場合は不正動作防止のために再生しないといった用途にも有用である。
【符号の説明】
【0095】
100 映像音声記録装置
110 スロット
120 撮像部
130 ユーザ入力部
140 表示部
150 データ処理部
151 認証コード生成部
152 認証コード検証部
160 暗号鍵保持部
170 不揮発性内部記憶
171 コンテキスト保持領域
180 一時記憶領域
190 入出力処理部
300 不揮発性記憶媒体
310 メタデータ記憶領域
320 コンテンツ記憶領域
330 認証コード記憶領域

【特許請求の範囲】
【請求項1】
撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と/または前記メタデータの改竄を検証するための認証コードと、を生成する映像音声記録装置であって、
前記認証コードを2段階のハッシュ演算で算出する際に使用する1段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを記録する内部記憶部と、
前記映像音声と/または、該映像音声に付随するメタデータと、前記コンテキストに、2段階目のハッシュ演算を行うことで取得する認証コードと、を格納する不揮発性記憶媒体と、
を具備することを特徴とした映像音声記録装置。
【請求項2】
該映像音声記録装置の電源投入又は初期化時に、前記内部記憶部に記録されたコンテキストに基づいて、第二の認証コードを算出し、不揮発性記憶媒体内に格納された認証コードと前記第二の認証コードとを比較する比較演算部と、
前記比較結果が等しい場合は、個々の映像データやメタデータ、それらの順序等が改竄されているかいないかに関わらず、前記コンテキストに基づいて新たな前記映像と/または前記メタデータを加えた認証コードを算出する制御部と、
をさらに具備することを特徴とした請求項1に記載の映像音声記録装置。
【請求項3】
前記2段階のハッシュ演算はHMACアルゴリズムを用いる請求項1乃至2のいずれかに記載の映像音声記録装置。
【請求項4】
前記ハッシュ演算はSHA−1アルゴリズムを用いる請求項1乃至3のいずれかに記載の映像音声記録装置。
【請求項5】
前記コンテキストは、改竄検知対象となるすべての前記映像音声と/または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と/または前記メタデータの情報が含まれる部分で構成されることを特徴とする請求項1乃至4のいずれかに記載の映像音声記録装置。
【請求項6】
撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と/または前記メタデータの改竄を検証するための認証コードと、を生成するデータ処理方法であって、
前記認証コードを2段階のハッシュ演算で算出する際に使用するための1段階目のハッシュ演算途中過程で生成される演算結果であるコンテキストを内部記憶部に記録するステップと、
前記映像音声と/または、該映像音声に付随するメタデータと、前記コンテキストに、2段階目のハッシュ演算を行うことで取得する認証コードを不揮発性記憶媒体に格納するステップと、
を具備することを特徴としたデータ処理方法。
【請求項7】
電源投入又は初期化時に、前記内部記憶部に記録されたコンテキストに基づいて、第二の認証コードを算出し、不揮発性記憶媒体内に格納された認証コードと前記第二の認証コードとを比較する比較するステップと、
前記比較結果が等しい場合は、個々の映像データやメタデータ、それらの順序等が改竄されているかいないかに関わらず、前記コンテキストに基づいて新たな前記映像と/または前記メタデータを加えた認証コードを算出するステップと、
を具備することを特徴とする請求項6に記載のデータ処理方法。
【請求項8】
前記2段階のハッシュ演算はHMACアルゴリズムを用いる請求項6乃至7のいずれかに記載のデータ処理方法。
【請求項9】
前記ハッシュ演算はSHA−1アルゴリズムを用いる請求項6乃至8のいずれかに記載のデータ処理方法。
【請求項10】
前記コンテキストは、改竄検知対象となるすべての前記映像音声と/または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と/または前記メタデータの情報が含まれる部分で構成されることを特徴とする請求項6乃至9のいずれかに記載のデータ処理方法。

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


【公開番号】特開2011−142425(P2011−142425A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−956(P2010−956)
【出願日】平成22年1月6日(2010.1.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】