(57)【要約】【課題】撮影された映像音声の一連の順序等の改竄を検出するのに大量の演算が必要となり処理が遅くなる。【解決手段】撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と／または前記メタデータの改竄を検証するための認証コードを生成する映像音声記録装置であって、前記認証コードを２段階のハッシュ演算で算出する際に使用するための１段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを記録する内部記憶部と、前記映像音声と／または、該映像音声に付随するメタデータと、前記コンテキストに、２段階目のハッシュ演算を行うことで取得する認証コードを格納する不揮発性記憶媒体を具備する。【選択図】図２
2011142425.tif 000002
【特許請求の範囲】
【請求項１】
撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と／または前記メタデータの改竄を検証するための認証コードと、を生成する映像音声記録装置であって、
前記認証コードを２段階のハッシュ演算で算出する際に使用する１段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを記録する内部記憶部と、
前記映像音声と／または、該映像音声に付随するメタデータと、前記コンテキストに、２段階目のハッシュ演算を行うことで取得する認証コードと、を格納する不揮発性記憶媒体と、
を具備することを特徴とした映像音声記録装置。
【請求項２】
該映像音声記録装置の電源投入又は初期化時に、前記内部記憶部に記録されたコンテキストに基づいて、第二の認証コードを算出し、不揮発性記憶媒体内に格納された認証コードと前記第二の認証コードとを比較する比較演算部と、
前記比較結果が等しい場合は、個々の映像データやメタデータ、それらの順序等が改竄されているかいないかに関わらず、前記コンテキストに基づいて新たな前記映像と／または前記メタデータを加えた認証コードを算出する制御部と、
をさらに具備することを特徴とした請求項１に記載の映像音声記録装置。
【請求項３】
前記２段階のハッシュ演算はＨＭＡＣアルゴリズムを用いる請求項１乃至２のいずれかに記載の映像音声記録装置。
【請求項４】
前記ハッシュ演算はＳＨＡ−１アルゴリズムを用いる請求項１乃至３のいずれかに記載の映像音声記録装置。
【請求項５】
前記コンテキストは、改竄検知対象となるすべての前記映像音声と／または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と／または前記メタデータの情報が含まれる部分で構成されることを特徴とする請求項１乃至４のいずれかに記載の映像音声記録装置。
【請求項６】
撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と／または前記メタデータの改竄を検証するための認証コードと、を生成するデータ処理方法であって、
前記認証コードを２段階のハッシュ演算で算出する際に使用するための１段階目のハッシュ演算途中過程で生成される演算結果であるコンテキストを内部記憶部に記録するステップと、
前記映像音声と／または、該映像音声に付随するメタデータと、前記コンテキストに、２段階目のハッシュ演算を行うことで取得する認証コードを不揮発性記憶媒体に格納するステップと、
を具備することを特徴としたデータ処理方法。
【請求項７】
電源投入又は初期化時に、前記内部記憶部に記録されたコンテキストに基づいて、第二の認証コードを算出し、不揮発性記憶媒体内に格納された認証コードと前記第二の認証コードとを比較する比較するステップと、
前記比較結果が等しい場合は、個々の映像データやメタデータ、それらの順序等が改竄されているかいないかに関わらず、前記コンテキストに基づいて新たな前記映像と／または前記メタデータを加えた認証コードを算出するステップと、
を具備することを特徴とする請求項６に記載のデータ処理方法。
【請求項８】
前記２段階のハッシュ演算はＨＭＡＣアルゴリズムを用いる請求項６乃至７のいずれかに記載のデータ処理方法。
【請求項９】
前記ハッシュ演算はＳＨＡ−１アルゴリズムを用いる請求項６乃至８のいずれかに記載のデータ処理方法。
【請求項１０】
前記コンテキストは、改竄検知対象となるすべての前記映像音声と／または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と／または前記メタデータの情報が含まれる部分で構成されることを特徴とする請求項６乃至９のいずれかに記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像音声記録装置、データ処理方法に関するものである。
【背景技術】
【０００２】
近年、デジタルデータを読み書き可能な不揮発性記憶媒体としてＳＤメモリーカードやメモリースティック、コンパクトフラッシュ（登録商標）といった半導体メモリが普及してきている。これらの半導体メモリを使ってデータを処理する映像音声記録装置は、パーソナルコンピュータ、音響機器、映像機器、携帯電話、デジタルカメラ等の電化製品を始め、多岐に渡っている。半導体メモリ等の着脱可能で可搬性に優れた不揮発性記憶媒体は、映像音声記録装置間のデータのやり取りを担うブリッジメディアとして特に有用である。このため１つの不揮発性記憶媒体は複数の映像音声記録装置に装着されることが多い。
【０００３】
デジタルカメラ、デジタルビデオカメラ、監視カメラあるいは、ドライビングレコーダなどで撮影したデジタル化された動画データや写真データは、再生機器で分離格納されたメタデータを活用したり、監視カメラで撮影された映像の付帯情報やドライビングレコーダで記録された速度情報などのメタデータを何らかの事件が発生した時の付帯情報として提供を行ったりする。したがって、蓄積された映像データとそれに付随するメタデータの信憑性は極めて重要な意味を持つ。
【０００４】
従来、複数の映像音声記録装置においてデータを共有する仕組みとしてファイルシステムが導入され、このファイルシステム上でデータ交換を行うのが一般的であった。ファイルシステムは、汎用的に利用できる反面、コンピュータなどから自由に改竄・削除・あるいは故意に別データを追加することが可能である。そのため、写真や動画のデジタルデータの改竄検知手法として特許文献１乃至特許文献４に記載されているようないくつかの手法が考案されている。
【０００５】
特許文献１によれば、画像データの記録時にＮフィールド毎に選択された秘密鍵を用いてフィールド毎にハッシュ値を生成し、改竄の有無判定時に記録時と同じ処理手順によりフィールド毎にハッシュ値を生成し、比較することにより改竄の有無を判定する方法が開示されている。特許文献２によれば、第１検証装置は、ハッシュ値および第１検証データを用いて、画像データが改変されているか否かの検証を行う。改変されていない場合、第１検証装置は、画像データの第２検証データを生成する。第２検証装置は、画像データおよび第２検証データを用いて、画像データが改変されているか否かの検証を行う方法が開示されている。特許文献３によれば、デバイスＩＤを元に公開鍵暗号を使用した電子認証コードを付与する方法が開示されている。特許文献４によれば、電子透かしを用いて改竄検知を行う方法が開示されている。
【０００６】
いずれの方法も画像データ・動画データの一部あるいはすべてのデジタルデータからハッシュ、公開鍵暗号、共通鍵暗号、電子透かしの手法を用いて画像ファイル、あるいは動画ファイルに１つまたは複数の電子認証コードを生成し、再生装置ないしは検証装置は、その電子認証コードと元のデジタルデータを比較し改竄がなされていないかどうかを判別する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−３１００３８号公報
【特許文献２】特開２００３−１９８５４３号公報
【特許文献３】特開２０００−５６６８１号公報
【特許文献４】特開２０００−１５２１４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
先行技術文献の示す方法は画像、または、動画のファイルそれぞれの画像、または、動画データ及びそれらのデータに付随するメタデータの改竄は検知可能である。しかし、一連の撮影の行為における複数ファイルで構成される映像音声セットから一部の映像音声のコンテンツないしはメタデータが削除された場合、あるいはコンテンツの順序等が入れ替えられた場合、の検知はできない。複数ファイルで構成さえる映像音声セットから一部の映像音声のコンテンツないしはメタデータを格納したファイルが削除されたこと等も含めて検知するには、すべてのメタデータとコンテンツを元データとしてハッシュ関数（メッセージ圧縮関数）を利用して認証コードを生成し、認証コードを比較する方法が考えられる。
【０００９】
メタデータとコンテンツが改竄や削除がなされていないかを検証するための認証コードとして、ＨＭＡＣ−ＳＨＡ−１アルゴリズムを例にあげる。最初にＨＭＡＣ−ＳＨＡ−１で用いられるハッシュ関数（メッセージ圧縮関数）であるＳＨＡ−１について、図１１を用いて説明する。ＳＨＡ−１関数は、長大なデータであるメッセージ１１００から数十バイトのダイジェスト１１２０を生成する関数である。
【００１０】
メッセージを６４バイト単位で分割する。分割した結果末端のブロックが６４バイトに満たない場合は、値０でパディングする。（ステップＳ１１０１）
【００１１】
ダイジェスト１１２０と同じ長さの初期ベクトル１１１０とブロック１を入力として、攪拌関数の集合体である圧縮関数で演算を行う。演算を行った結果とブロック２を入力として圧縮関数で再度演算を行う。これをブロックｍまで繰り返し、最後の演算結果がダイジェスト１１２０である（ステップＳ１１０２）。
【００１２】
ステップＳ１１０２の処理を以降ＳＨＡ-１圧縮処理と呼ぶこととする。多段階の攪拌関数を通過させることにより、同一のダイジェストをとる２つのメッセージを求めることは困難となる。
【００１３】
次に、認証コードの生成方法について、図５を用いて説明する。ＨＭＡＣ−ＳＨＡ−１アルゴリズムにおいて、改竄検出を行う映像音声記録装置１００と共通に保持する６４バイトの共通暗号鍵と２つの６４バイトの定数値ｉｐａｄ・ｏｐａｄのそれぞれと排他的論理和をした値を使用する。ｉｐａｄは６４個の０ｘ３６で構成される。ｏｐａｄは６４個の０ｘ５ｃで構成される。なお、ｉｐａｄ・ｏｐａｄの定数値は一例で他の値であってもよい。ここでは、ｉｐａｄと前記暗号鍵と、を排他的論理和した値をｉ−ｋｅｙ−ｐａｄ５１１とし、ｏｐａｄと前記暗号鍵と、を排他的論理和した値をｏ−ｋｅｙ−ｐａｄ５３０とする。
【００１４】
認証コードを生成する元データとして、ｉ−ｋｅｙ−ｐａｄ５１１と改竄検知の対象となるコンテンツ及びメタデータを連結したものをメッセージ５１０として用いる。メッセージ５１０はブロック長毎に分割され、連結されたデータ末端ブロック長に満たない場合、メッセージ５１０にすべてが０で設定されたパディングデータ５１２を追加する。連結されたメッセージ５１０は、初期ベクトルをＳＨＡ−１の定義の中で規定された２０バイトの固定値であるＳＨＡ−１規定初期ベクトル５２０として、ＳＨＡ−１圧縮処理を実施する（ステップＳ５０１）。
【００１５】
ＳＨＡ−１圧縮処理を実施した結果、２０バイトのダイジェストを５４０生成する。ｏ−ｋｅｙ−ｐａｄ５３０、ダイジェスト５４０、パディングデータ５５０を連結し２段階目のメッセージ５５５に対して初期ベクトルをＳＨＡ−１規定初期ベクトル５２０と同値として、ＳＨＡ−１アルゴリズムで処理する（ステップＳ５０２）。
【００１６】
ＳＨＡ−１アルゴリズムで処理した結果得られた２０バイトのダイジェストを認証コード５６０とする。
【００１７】
図５で示した認証コードの生成方法の場合、コンテンツとそれに付随するメタデータを追加するたびにすべてのコンテンツ・メタデータに対する演算をやり直す必要がある。さらに、撮像された写真セットに対する画像や付随するメタデータに対して改竄を検知しようとする場合、電源投入の際に不揮発性記憶媒体が他の機器によって更新される可能性があるため、認証コード検証を行い、改竄が確認されれば改竄状態を保持しておく必要がある。しかし、起動時に改竄されていないかどうかを検知する際にも全コンテンツに対する演算をやりなおした上で、不揮発性記憶媒体内の認証コードと比較する必要がある。このため、起動時や撮像時に演算時間が膨大になり、撮影枚数が増えるに従って、現実的な電源投入時間が保てなくなる。
【課題を解決するための手段】
【００１８】
そこで、本発明の目的は、撮像時に不必要な認証コード演算を省略するとともに、電源投入時に不必要な検証演算を省略することが可能である。故に電源投入から撮像までの間隔、撮像から次の撮像までの間隔を短縮する映像音声記録装置、及びデータ処理方法を提供することである。
【００１９】
本出願の映像音声記録装置は、撮影された映像音声と、該映像音声に付随するメタデータと、前記映像と／または前記メタデータの改竄を検証するための認証コードと、を生成する映像音声記録装置であって、前記認証コードを２段階のハッシュ演算で算出する際に使用する１段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを記録する内部記憶部と、前記映像音声と／または、該映像音声に付随するメタデータと、前記コンテキストに、２段階目のハッシュ演算を行うことで取得する認証コードと、を格納する不揮発性記憶媒体と、を具備することを特徴とする。
【００２０】
ここでは、前記コンテキストを備えることによって、撮像時において、高速に認証コードの更新が可能となる。さらに、電源投入時においても改竄がおこなわれていない正常系において、高速に認証コードの検証が可能となる。
【００２１】
上記映像音声記録装置において、電源投入又は初期化時に、前記内部記憶部に記録されたコンテキストに基づいて、第二の認証コードを算出し、不揮発性記憶媒体内に格納された認証コードと前記第二の認証コードとを比較する比較演算部と、前記比較結果が等しい場合は、個々の映像データやメタデータ、それらの順序等が改竄されているかいないかに関わらず、前記コンテキストに基づいて新たな前記映像と／または前記メタデータを加えた認証コードを算出する制御部と、をさらに具備するものであってもよい。
【００２２】
この場合、コンテキストから算出した第２の認証コードと不揮発性記憶媒体内に格納された認証コードを比較することで、電源投入時における記録媒体の認証コード検証処理において、すべてのコンテンツ・メタデータを使って演算する必要がなくなるため、高速に認証コードの検証が可能となる。
【００２３】
上記映像音声記録装置において、前記２段階のハッシュ演算はＨＭＡＣアルゴリズムを用いる。この場合、ＨＭＡＣアルゴリズムを用いることで、演算量の少なくできる。
【００２４】
また、前記ハッシュ演算にＳＨＡ−１アルゴリズムを用いるものであってもよい。この場合、ＳＨＡ−１アルゴリズムを用いることで、ＭＤ４やＭＤ５といったハッシュアルゴリズムよりも安全性が高く、ＳＨＡ-２２４，ＳＨＡ−２５６といったハッシュアルゴリズムよりも演算量の少なくすることが可能である。
【００２５】
さらに、映像音声記録装置は、前記コンテキストが、改竄検知対象となるすべての前記映像音声と／または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と／または前記メタデータの情報が含まれる部分で構成されることを特徴とするものであってもよい。
【００２６】
また、実現の形態は、上記の映像音声記録装置に限定せず、上記内容を映像音声記録装置のハードウェアを用いたデータ処理方法として実現することも可能である。
【発明の効果】
【００２７】
本発明によれば、複数の写真・動画セットに対しても改竄検知を行うことが可能となり、且つ撮像時に改竄検知用の認証コードを短時間で生成可能であり、電源投入時においても不必要な検証演算を省略することが可能である。故に電源投入から撮像までの間隔を短縮するという利点がある。
【図面の簡単な説明】
【００２８】
【図１】本実施例における外観図
【図２】本実施例におけるブロック図
【図３】本実施例における電源投入から電源ＯＦＦまでのフローチャート
【図４】本実施例における不揮発性記憶装置の構成図
【図５】コンテンツ・メタデータから認証コードを生成するデータ処理方法を示した図
【図６】（ａ）認証コード検証部のデータ処理方法の前半を示した図、（ｂ）認証コード検証部のデータ処理方法の考案を示した図、（ｃ）パディングデータを追加してブロックを構成した図、（ｄ）データ処理で用いるメッセージ例を示した図
【図７】認証コード検証部におけるメモリーカード初期化処理のデータ処理方法を示した図
【図８】認証コード検証部におけるすべてのメタデータとコンテンツから第２の認証コードとコンテキストを生成するデータ処理方法を示した図
【図９】認証コード算出部のデータ処理方法を示した図
【図１０】コンテキストについて説明した図
【図１１】ＳＨＡ−１アルゴリズムについて説明した図
【発明を実施するための形態】
【００２９】
（実施形態１）
＜１．１：不揮発性記憶システム＞
以下、本発明の一実施形態を図面に基づいて詳細に説明する。まず、本実施形態による映像音声管理システムについて説明する。図１は、映像音声管理システムの一例を示す図である。映像音声管理システムは、映像音声記録装置１００、不揮発性記憶媒体３００を備える。
【００３０】
映像音声記録装置１００は、撮影した映像音声を付随するメタデータとともに、接続されている不揮発性記憶媒体３００に対して記録を行う。映像音声記録装置１００は、例えば、デジタルカメラやデジタルビデオカメラ、監視カメラやドライブレコーダなどである。図１の例では、映像音声記録装置１００はデジタルカメラであり、不揮発性記憶媒体３００はメモリーカードとしており、これらが不揮発性記憶媒体システムの主要な構成要素をなす。なお、図１は一例であり、本発明はこれらに限定されるものではない。ここで、映像音声記録装置１００は、映像音声データ（以下、コンテンツ）とこれらの付随情報（以下、メタデータ）とを不揮発性記憶媒体３００に記録する。
【００３１】
映像音声記録装置１００は、撮像部１２０、表示部１４０、ユーザ入力部１３０及びスロット１１０を有する。
【００３２】
＜１．２：映像音声記録装置１００＞
（１．２．１：映像音声記録装置１００の構成）
図２は、デジタルカメラである映像音声記録装置１００の構成例を示す。映像音声記録装置１００は、スロット１１０、撮像部１２０、ユーザ入力部１３０、表示部１４０、データ処理部１５０、暗号鍵保持部１６０、不揮発性内部記憶１７０、入出力処理部１９０を備える。
【００３３】
スロット１１０は、外部の不揮発性記憶媒体３００を装着するインターフェイスの一部である。
入出力処理部１９０は、スロット１１０に装着された不揮発性記憶媒体３００に対してコマンドやデータ等の情報の受け渡しを行うインターフェイスの一部である。
【００３４】
データ処理部１５０は、スロット１１０に接続された不揮発性記憶媒体３００に格納されたデータもしくはこれから格納するデータを処理する部分である。例えば、スロット１１０に接続された不揮発性記憶媒体３００に格納するデータが写真データやビデオデータである場合、撮像部１２０で撮影した写真データやビデオデータであるコンテンツとコンテンツに付随するメタデータを入出力処理部１９０経由で不揮発性記憶媒体３００に書き込む等の動作を制御する。なお、データ処理部１５０は、上記以外のデータ処理（例えば、読み出したデータの再生や、編集したあとの書き戻し）や、映像音声記録装置１００全体を制御する機能（電源制御、クロック制御等）の制御を行ってもよい。
【００３５】
前記データ処理部１５０は、ＨＭＡＣ−ＳＨＡ−１アルゴリズムを用いて、コンテンツ、メタデータに対する認証コードを算出する認証コード生成部１５１と、コンテンツ、メタデータと認証コードの関係が正しいかどうかを検証する認証コード検証部１５２を有する。本実施例では、ＨＭＡＣ−ＳＨＡ−１を用いて説明するが、コンピュータシステムの処理能力、記憶容量、解読に対する安全性の考え方等に応じて、他のアルゴリズムを用いてもよい。
【００３６】
暗号鍵保持部１６０は、映像データに対する認証コードを生成・検証するにあたって、それぞれの算出時に使用し、認証コードを利用する他の映像音声再生装置等と共有する秘密情報である暗号鍵を格納する。
【００３７】
ユーザ入力部１３０は、ユーザからの入力を受け付ける部分である。
表示部１４０は、前記データ処理部１５０の処理結果や各処理の進行状況等をユーザに通知する部分である。
撮像部１２０は、光をＣＣＤ（電荷結合素子）やＣＭＯＳ（相補形金属酸化膜半導体）等の素子を用いて電気的な映像信号に変換するイメージセンサから受け取ったデジタル映像信号を前記データ処理部１５０に送る。
【００３８】
不揮発性記憶媒体３００は、デジタルデータを格納する。不揮発性記憶媒体３００は、メタデータ記憶領域３１０と、コンテンツ記憶領域３２０と、メタデータとコンテンツに対する改竄を検知するためのデータである認証コードを記憶する認証コード記憶領域３３０を有する。
不揮発性記憶媒体３００は、代表的なものとしてＮＡＮＤ型のフラッシュメモリ等を用いたメモリーカードがあるが、本実施形態は、これに限定されるものではない。ＥＥＰＲＯＭ、ＦｅＲＡＭ、ＭＲＡＭ等の他の不揮発性の半導体メモリを用いることも可能である。更に、本実施形態は半導体メモリだけでなく、ＨＤＤや光ディスクのような記録媒体を利用してもよい。
【００３９】
映像音声記録装置１００内の不揮発性内部記憶１７０は、映像音声記録装置１００から着脱不能な不揮発性の記憶領域で映像音声記録装置１００以外からの入出力ができない領域を持ち、コンテキストを保持するコンテキスト保持領域１７１を有する。ここでコンテキストについて、図１０で説明する。
【００４０】
図１０において、メッセージ５１０のブロック数をｍとし、先頭ブロックからブロック１〜ブロックｍと割り振ったとき、最後のブロックｍを除いたブロック１〜ブロックｍ−１までのｍ−１個のブロックに対して、初期ベクトルをＳＨＡ−１規定初期ベクトル５２０としてＳＨＡ−１圧縮処理を実施（ステップＳ１００１）したものを第１のダイジェスト１０１０とする。また、ブロックｍのパディング部分を除いたものを余り１０２０とする。第１のダイジェスト１０１０と余り１０２０で構成される値をコンテキスト１０３０とする。コンテキスト１０３０の情報を用いることで、コンテンツ、メタデータが追加された際に、コンテキスト１０３０とコンテンツ、メタデータのみで新たな認証コードを生成することが可能となる。
【００４１】
（１．２．２：不揮発性記憶媒体３００の構成）
図４は、不揮発性記憶媒体３００内の構成を模した図である。不揮発性記憶媒体３００を管理するために、ＦＡＴファイルシステムを使用する。コンテンツ記憶領域３２０、メタデータ記憶領域３１０、認証コード記憶領域３３０のいずれも、前記ファイルシステム上に存在する。本実施例において、コンテンツ記憶領域３２０は、撮像されたコンテンツを格納するため、／ＤＣＩＭフォルダ以下にＤＣＦ規格に従って記録する。メタデータ記憶領域３１０は／ＰＲＩＶＡＴＥ／ＰＡＮＡＭＥＴＡフォルダ以下を示し、コンテンツに対するメタデータを格納する。認証コード記憶領域３３０は／ＰＲＩＶＡＴＥ／ＰＡＮＡＭＥＴＡ／ＨＭＡＣ．ＤＡＴと等価である。ＨＭＡＣ．ＤＡＴは、２０バイトのファイルであり、認証コードと等価である。
【００４２】
（１．２．３：データ処理部１５０におけるデータ処理方法）
次に、データ処理部１５０における電源投入から電源ＯＦＦまでの流れについて図３のフローチャートを用いて説明する。
【００４３】
ステップＳ３０１：電源投入後、認証コード検証部１５２において、不揮発性内部記憶１７０に記録されたコンテキスト及び、不揮発性記憶媒体３００の認証コード記憶領域３３０に記録された認証コードを用いて検証を行う。認証コードの検証結果に応じてコンテキストをそのまま利用するか、不揮発性記憶媒体３００に格納されたメタデータ及びコンテンツから再算出するか、改竄を検知し乱数を設定するかを判断し、ステップＳ３０２に進む。なお、前記判断を行う認証コード検証部１５２の詳細は、後述する「１．２．４  認証コード検証部１５２におけるデータ処理方法」で説明する。また、電源投入後にＯｐｅｒａｔｉｎｇＳｙｓｔｅｍ、ファイルシステム、レンズ動作等の初期化など各種初期化処理も行われるが、本実施例とは関係ないため記載は省略する。
【００４４】
ステップＳ３０２：ユーザがユーザ入力部１３０を用いて、ユーザから電源を切るか、撮影を行うかなどの指示を待つ。ユーザが指示を入力すると、ステップＳ３０３に進む。
【００４５】
ステップＳ３０３：ステップＳ３０２で入力された指示が撮影要求の場合、ステップＳ３０６に進む。それ以外の指示の場合は、ステップＳ３０６に進む。
【００４６】
ステップＳ３０４：ステップＳ３０２で入力された指示が電源オフの場合、各種終了処理を行った後、映像音声記録装置１００の電源をＯＦＦして、終了する。それ以外の指示の場合は、ステップＳ３０５に進む。
【００４７】
ステップＳ３０５：ステップＳ３０２で入力された指示が撮影要求や電源オフ以外の指示、例えば撮像済みのコンテンツの再生や、削除、撮影方法の設定などの場合、当該指示を実行し、ステップＳ３０２に戻る。
【００４８】
ステップＳ３０６：撮像部１２０のイメージセンサが受け取ったコンテンツを入出力処理部１９０経由で、コンテンツ記憶領域３２０に格納し、日付や露出、シャッタースピードなど前記コンテンツに付随するメタデータをメタデータ記憶領域３１０にそれぞれ格納し、ステップＳ３０７に進む。
【００４９】
ステップＳ３０７：本認証コード生成処理では、コンテンツとメタデータを追加した状態で、認証コードの再計算を行い、認証コード記憶領域３３０に格納し、ステップＳ３０２に戻る。認証コード生成処理の詳細については、（１．２．７：認証コード生成部１５１におけるデータ処理方法）で説明する。
【００５０】
（１．２．４：認証コード検証部１５２のデータ処理方法）
次に認証コード検証部１５２のデータ処理方法について、図６（ａ）から図６（ｄ）を用いて説明する。
【００５１】
認証コード検証部１５２では、以下に示す６つの状態を検知し、適切な処理を行うことを目的としている。
状態１）映像音声記録装置１００に装着されている不揮発性記憶媒体３００が、映像音声記録装置１００の電源が遮断されている間に別の不揮発性記憶媒体に入れ替えられたため、コンテキストをクリアし、コンテンツ・メタデータからコンテキストを再計算する。
状態２）コンテンツ・メタデータが別の機械で正しく追記または削除されているため、コンテキストをクリアし、コンテンツ・メタデータからコンテキストを再計算する。
状態３）コンテンツ・メタデータが別の機械で改竄されているため、改竄検知状態を保持。
状態４）認証コードが改竄されている（認証コードとあわせてコンテンツ・メタデータのいずれかも改竄されている。）ため、改竄検知状態を保持。
状態５）認証コードがないため、記録されているすべてのコンテンツ・メタデータは、信頼できないデータとして一切利用しない。
状態６）電源が遮断されている間にコンテンツ、メタデータ、認証コードのいずれも改竄されておらず、不揮発性記憶媒体３００の入れ替えも行われていない。
【００５２】
前記６つの状態を検知し、適切な処理を行う認証コード検証部１５２の処理フローを以下、順を追って説明する。
【００５３】
ステップＳ６０１：不揮発性記憶媒体３００の認証コード記憶領域３３０から認証コード６５０取り出す。取り出せなかった場合は、認証コード６５０がまだ不揮発性記憶媒体にないか、ユーザによって削除された状態であり、不揮発性記憶媒体３００には全くコンテンツ・メタデータがないか、コンテンツ・メタデータは信頼されないデータ（状態５）であるため、ステップＳ６０２に進む。取り出せた場合、ステップＳ６０３に進む。
【００５４】
ステップＳ６０２：メモリーカードの初期化処理において、認証コードの初期値を認証コード記憶領域３３０に格納し、コンテキストの初期値をコンテキスト保持領域１７１に格納して、処理を終了する。メモリーカード初期化処理の詳細については、（１．２．５：認証コード検証部１５２のメモリーカード初期化方法）において説明する。
【００５５】
ステップＳ６０３：コンテキスト保持領域１７１からコンテキストを取り出す。取り出されたコンテキスト、すなわち第１のダイジェスト６５１と余り６５２について、余り６５２は図６（ｃ）で示すようにブロック長に足りない部分をゼロでパディングし、ブロック６５３として一時記憶領域１８０に保持する。保持後、ステップＳ６０４に進む。
【００５６】
ステップＳ６０４：第１のダイジェスト６５１を初期ベクトルとして、ブロック６５３をＳＨＡ−１アルゴリズムで処理する。処理の結果生成された２０バイトのダイジェスト６５４を一時記憶領域１８０に保持する。保持後、ステップＳ６０５に進む。
【００５７】
ステップＳ６０５：図６（ｄ）で示すようにｏ−ｋｅｙ−ｐａｄ５３０とダイジェスト６５４と４４バイトの値０で構成されるパディングデータ５５０を連結したメッセージ６５６を入力とし、ＳＨＡ−１規定初期ベクトル５２０を初期ベクトルとして、ＳＨＡ-１圧縮処理を実施し、認証コード６５５を一時記憶領域１８０に保持する。保持後、ステップＳ６０６に進む。
【００５８】
ステップＳ６０６：ステップＳ６０１で取り出した認証コード６５０と、ステップＳ６０５で算出された認証コード６５５を比較する。一致する場合、コンテンツ・メタデータが改竄されている（状態３）か、電源が遮断されている間にコンテンツ、メタデータ、認証コードのいずれも改竄されておらず、不揮発性記憶媒体３００の入れ替えも行われていない（状態６）を意味する。前記状態３ないしは状態６であることを判断した場合、処理を終了する。すなわち、コンテキスト保持領域１７１に格納されたコンテキストも不揮発性記憶媒体３００の認証コード記憶領域３３０に格納された認証コードも変更しないため、状態３においては改竄状態が保持され、状態６においても正常状態が保持されている。一致しない場合は、ステップＳ６０７に進む。
【００５９】
ステップＳ６０７：不揮発性記憶媒体３００に格納されているすべてのメタデータとコンテンツから第２の認証コード８５５、コンテキスト８５３を生成し、ステップＳ６０８に進む。すべてのメタデータとコンテンツから第２の認証コード８５５を生成する方法は（１．２．６：認証コード検証部１５２におけるすべてのメタデータとコンテンツから認証コードを生成する方法）において別途説明する。
【００６０】
ステップＳ６０８：ステップＳ６０１で取り出した認証コード６５０と算出された第２の認証コード８５５を比較する。一致する場合、ステップＳ６０９に進む。一致しない場合、ステップＳ６１０に進む。
【００６１】
ステップＳ６０９：ステップＳ６０８の比較において一致する場合、不揮発性記憶媒体３００が交換されている（状態１）か、コンテンツ・メタデータが別の機械で正しく追記または削除されている（状態２）ことを意味する。そのため、ステップＳ６０７で算出したコンテキスト８５３を新しいコンテキストとしてコンテキスト保持領域１７１に格納し、処理を終了する。
【００６２】
ステップＳ６１０：一致しない場合は、認証コードが改竄されている状態（状態４）を意味するため、コンテキスト６５７とは異なる適当な乱数値をコンテキスト保持領域１７１に格納し、処理を終了する。
認証コード検証部１５２により、正常系である（状態６）、すなわち不揮発性記憶媒体３００が挿抜されず、改竄もされていない状態においては、コンテキストを用いることで、コンテンツおよびメタデータのすべてを用いて認証コードを再計算しなくてもよくなるため、大幅な起動時間の短縮を図ることが可能となる。
【００６３】
（１．２．５：認証コード検証部１５２のメモリーカード初期化方法）
次に認証コード検証部１５２のメモリーカード初期化処理の詳細について図７を用いて説明する。
【００６４】
ステップＳ７０１：メモリーカード初期化時においては、メタデータもコンテンツも存在していない状態である。そのため、認証コード生成に当たって元となるメッセージは、ブロック長と等価な長さのｉ−ｋｅｙ−ｐａｄ５１１のみである。そのため、初期ベクトルをＳＨＡ−１規定初期ベクトル５２０として、ｉ−ｋｅｙ−ｐａｄ５１１をＳＨＡ−１アルゴリズムで処理し、第１のダイジェストの初期値７５０を生成する。生成後、ステップＳ７０２に進む。
【００６５】
ステップＳ７０２：初期状態においては、ｉ−ｋｅｙ−ｐａｄ５１１はブロック長と等価なため、余りの長さは０である。第１のダイジェスト７５０及び長さ０の余り７５１で構成されるコンテキスト７５２をコンテキスト保持領域１７１に格納し、ステップＳ７０３に進む。
【００６６】
ステップＳ７０３：ｏ−ｋｅｙ−ｐａｄ５３０とステップＳ７０１で生成した第１のダイジェスト７５０と４４バイトのゼロデータで構成されたパディング５５０を連結したメッセージ７５４に対して初期ベクトルをＳＨＡ−１規定初期ベクトル５２０として、ＳＨＡ−１圧縮処理を実施し、初期値の認証コード７５３を生成する。
【００６７】
ステップＳ７０４：生成された認証コード７５３は認証コード領域３３０に格納する。
【００６８】
以上により、改竄検知対象となるコンテンツ、メタデータがない状態において不揮発性記憶媒体３００内に認証コードの初期値が、映像音声記録装置１００内にコンテキストの初期値が設定される。
【００６９】
（１．２．６：認証コード検証部１５２におけるすべてのメタデータとコンテンツから認証コードを生成する方法）
次にすべてのメタデータとコンテンツから第２の認証コード８５５とコンテキスト８５３を生成する方法を図８を用いて説明する。
【００７０】
ステップＳ８０１：認証コードを生成する元データとして、ｉ−ｋｅｙ−ｐａｄ５１１と改竄検知の対象となるすべてのコンテンツ及びメタデータを連結したものをメッセージ８５０として用いる。メッセージ８５０はブロック毎に分割され、連結されたデータ末端ブロック長に満たない場合、メッセージ８５０にすべてが０で設定されたパディングデータ５１２を追加する。ここで生成されたブロックの総数をｍ個とし、先頭ブロックから順にブロック１からブロックｍとする。初期ベクトルをＳＨＡ−１規定初期ベクトル５２０として、ブロック１からブロックｍ−１までに対してＳＨＡ−１圧縮処理を実施し、第１のダイジェスト８５１を得る。ＳＨＡ−１圧縮処理を実施した後、ステップＳ８０２に進む。
【００７１】
ステップＳ８０２：ステップＳ８０１で生成された第１のダイジェスト８５１と最終ブロックｍからパディング部分を除いた余り８５２で構成されるコンテキスト８５３を一時記憶領域１８０に格納する。一時記憶領域１８０に格納されたコンテキストはステップＳ６０９の条件に到達したとき、コンテキスト保持領域１７１に格納される。次にステップＳ８０３に進む。
【００７２】
ステップＳ８０３：第１のダイジェスト８５１を初期ベクトルとして、ブロックｍに対して、ＳＨＡ−１圧縮処理を実施し、ダイジェスト８５４を生成し、ステップＳ８０４に進む。
【００７３】
ステップＳ８０４：ｏ−ｋｅｙ−ｐａｄ５３０とステップＳ８０３で生成したダイジェスト８５４と４４バイトのゼロデータで構成されたパディング５５０を連結したメッセージに対して、初期ベクトルをＳＨＡ−１規定初期ベクトル５２０として、ＳＨＡ−１圧縮処理を実施し、第２の認証コード８５５を生成する。次にステップＳ８０５に進む。
【００７４】
ステップＳ８０５：生成された第２の認証コード８５５は一時記憶領域１８０に格納する。一時記憶領域１８０に格納された認証コードはステップＳ６０８の比較対象として使われる。
【００７５】
（１．２．７：認証コード生成部１５１のデータ処理方法）
新たに撮影が行われてメタデータとコンテンツが追加された時の認証コード生成部１５１のデータ処理方法について、図９を用いて説明する。
【００７６】
新たに撮影が行われると、撮影されたコンテンツと当該コンテンツデータに付随するメタデータであるコンテンツｎ＋１、メタデータｎ＋１が新たに生成され、不揮発性記憶媒体３００に格納される。
【００７７】
ステップＳ９０１：コンテキスト保持領域１７１から、第１のダイジェスト９５０と余り９５１を取り出し、ステップＳ９０２に進む。
【００７８】
ステップＳ９０２：取り出された余り９５１とメタデータｎ＋１、コンテンツｎ＋１、ブロック長に満たない部分をゼロで埋めたパディングデータを結合したメッセージ９５３を６４バイト単位のｍ個のブロック群に分割する。分割したのち、ステップＳ９０３に進む。
【００７９】
ステップＳ９０３：ステップＳ９０１で取り出された第１のダイジェスト９５０を初期ベクトルとして、前記ブロック群で最終ブロックを除いたブロック１〜ブロックｍ−１に対して、ＳＨＡ-１圧縮処理を実施し、ステップＳ９０４に進む。
【００８０】
ステップＳ９０４：ステップＳ９０３を実施した結果得られるダイジェストを更新された第１のダイジェスト９５３と、最終ブロックからパディングデータを除いたものを新しい余り９５４で構成される更新されたコンテキスト９５５をコンテキスト保持領域１７１に格納する。格納後、ステップＳ９０５に進む。
【００８１】
ステップＳ９０５：第１のダイジェストを初期ベクトルとして、ブロックｍに対して、ＳＨＡ−１圧縮処理を実施し、ダイジェスト９５７を得る。実施後、ステップＳ９０６に進む。
【００８２】
ステップＳ９０６：ｏ−ｋｅｙ−ｐａｄ５３０、ステップＳ９０５で得られたダイジェスト９５７、パディングデータ５５０を結合したメッセージ９５６に対して、初期ベクトルをＳＨＡ−１規定初期ベクトル５２０として、ＳＨＡ−１圧縮処理を実施し、更新された認証コード９６０を得る。認証コードを得た後、ステップＳ９０７に進む。
【００８３】
ステップＳ９０７：ステップＳ９０６で得られた更新された認証コード９６０を認証コード記憶領域３３０に格納し、処理を終了する。
【００８４】
本データ処理方法に示す通り、直前の撮影状態におけるコンテキストを利用して、認証コードを算出することですべてのコンテンツ・メタデータを用いて演算する必要がないため、高速に認証コードの更新が可能である。
【００８５】
＜１．３：実施形態の効果＞
以上のように、本実施形態による映像音声記録装置１００は、不揮発性記憶媒体３００に記録されたコンテンツ・メタデータの改竄検知のための認証コードを更新・検証する際に、前回撮影時に２段階のハッシュ演算で算出する際に使用する１段階目のハッシュ演算途中過程で導出される演算結果であるコンテキストを利用することで高速に更新・検証することが可能である。
【００８６】
＜２：変形例＞
なお、本発明について、上記の実施形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのはもちろんである。本発明の趣旨を逸脱しない範囲で実施変更することができる。以下のような場合も本発明に含まれる。
【００８７】
（１）上記実施形態では、不揮発性記憶媒体３００内の構造として、ＦＡＴファイルシステム上に構築した実施例で説明したが、ＵＤＦやＮＴＦＳなどその他のファイルシステムを使用しても有効である。ファイルシステム上ではなく、不揮発性記憶媒体３００の論理アドレス空間に直接コンテンツ・メタデータ・認証コードを配置してもよい。
【００８８】
（２）上記実施形態では、コンテンツ・メタデータの両方を改竄検知の対象としたが、コンテンツのみ、メタデータのみを対象としてもよい。コンテンツのみを対象とした場合、メタデータは改竄検知の対象外となる。逆にメタデータのみを対象とした場合、コンテンツは改竄検知の対象外となる。
【００８９】
（３）上記実施形態では、不揮発性記憶媒体３００として、メモリーカードを用いて説明したが、光ディスクや、ＨＤＤなど電源が遮断されても記憶が維持可能なその他の記憶媒体を用いてもよい。
【００９０】
（４）上記実施形態では、映像音声記録装置１００をデジタルカメラとして説明したが、映像または音声、あるいはその両方を記録する装置であれば、携帯電話、デジタルビデオカメラ、ＩＣレコーダ、監視カメラ、ドライビングレコーダ等なんでもよい。
【００９１】
（５）上記実施形態では、コンテキストとして、改竄検知対象となるすべての前記映像音声と／または前記メタデータを一定のブロック単位に分割し、最終ブロックを除いたブロックをハッシュ演算した値と、最終ブロックのうち、前記映像音声と／または前記メタデータの情報が含まれる部分である余りで構成されるとしたが、段階のハッシュ演算で算出する際に使用する１段階目のハッシュ演算途中過程で導出される演算結果であればよい。たとえば、コンテキストとして、２段階目のハッシュ演算の結果である認証コードも合わせてコンテキストに格納しておけば、不揮発性内部記憶１７０が必要とする容量は増大するが、認証コード検証部１５２において、第１のダイジェストから認証コードを算出する過程が省略できるため、さらなる高速化も可能となる。
【００９２】
（６）映像音声記録装置１００と不揮発性記憶媒体３００の接続方法として、不揮発記録装置３００を着脱可能な、スロット１１０とスロット１１０に接続され不揮発性記憶媒体３００との入出力を司る入出力部１９０を用いて説明したが、不揮発性記憶媒体３００が映像音声記録装置１００から着脱不能であっても、映像音声記憶装置１００とパーソナルコンピュータやＰＤＡなどの外部機器とをＵＳＢ等の有線ケーブルや無線ＬＡＮ・Ｂｌｕｅｔｏｏｔｈ等の無線経由を通じて接続し、前記外部機器から不揮発性記憶媒体が操作可能の場合においても有効である。
【産業上の利用可能性】
【００９３】
本発明は、半導体メモリーカード等の不揮発性記憶媒体を使用した映像音声記録装置において改竄検知が必要な用途において有用である。
【００９４】
警察が証拠写真を撮像するためのデジタルカメラや、工事写真の電子納品のためのカメラ、車載ドライビングレコーダ、監視カメラの用途において特に有用である。また、デジタルカメラが撮影した写真やメタデータをテレビが改竄検知を確認し、不正なデータの場合は不正動作防止のために再生しないといった用途にも有用である。
【符号の説明】
【００９５】
１００  映像音声記録装置
１１０  スロット
１２０  撮像部
１３０  ユーザ入力部
１４０  表示部
１５０  データ処理部
１５１  認証コード生成部
１５２  認証コード検証部
１６０  暗号鍵保持部
１７０  不揮発性内部記憶
１７１  コンテキスト保持領域
１８０  一時記憶領域
１９０  入出力処理部
３００  不揮発性記憶媒体
３１０  メタデータ記憶領域
３２０  コンテンツ記憶領域
３３０  認証コード記憶領域
【図１】
2011142425.tif 000003
【図２】
2011142425.tif 000004
【図３】
2011142425.tif 000005
【図４】
2011142425.tif 000006
【図５】
2011142425.tif 000007
【図６】
2011142425.tif 000008
【図７】
2011142425.tif 000009
【図８】
2011142425.tif 000010
【図９】
2011142425.tif 000011
【図１０】
2011142425.tif 000012
【図１１】
2011142425.tif 000013