(57)【要約】【課題】撮像装置により生成された画像データ間の連続性に関する改ざんを検知可能なように、画像データを生成する。【解決手段】撮像により画像データを逐次生成する。画像データに基づく確認情報を、画像データに後続して生成された着目画像データに付与する。確認情報が付与された後の着目画像データに対して、電子署名を生成する。【選択図】図２
2019205140.tif 000002
【特許請求の範囲】
【請求項１】
撮像により画像データを逐次生成する撮像手段と、
画像データに基づく確認情報を、前記画像データに後続して生成された着目画像データに付与する付与手段と、
前記確認情報が付与された後の着目画像データに対して、電子署名を生成する署名手段と、
を備えることを特徴とする撮像装置。
【請求項２】
前記確認情報は、前記画像データのハッシュ値であることを特徴とする、請求項１に記載の撮像装置。
【請求項３】
前記確認情報が付与された後の前記着目画像データのハッシュ値を、前記着目画像データに後続して生成された画像データに付与される確認情報として生成する生成手段をさらに備え、
前記署名手段は、前記ハッシュ値を用いて前記着目画像データに対する電子署名を生成する
ことを特徴とする、請求項１又は２に記載の撮像装置。
【請求項４】
前記着目画像データ及び前記着目画像データに対する電子署名を外部機器へ送信する送信手段をさらに備えることを特徴とする、請求項１から３のいずれか１項に記載の撮像装置。
【請求項５】
前記画像データの生成順序を示す検証情報を生成する手段をさらに備えることを特徴とする、請求項１から４のいずれか１項に記載の撮像装置。
【請求項６】
前記画像データの一部に基づく検証情報を生成する手段をさらに備えることを特徴とする、請求項１から４のいずれか１項に記載の撮像装置。
【請求項７】
前記画像データの一部に基づく検証情報が、前記画像データについての撮像時刻を示す情報又は撮像場所を示す情報であることを特徴とする、請求項５に記載の撮像装置。
【請求項８】
前記署名手段は、前記検証情報に対する電子署名をさらに生成することを特徴とする、請求項５から７のいずれか１項に記載の撮像装置。
【請求項９】
前記撮像装置は、イベントを検知したことに応じて、前記確認情報を前記着目画像データに付与しない第１の動作モードから、前記確認情報を前記着目画像データに付与する第２の動作モードに移行することを特徴とする、請求項１から８のいずれか１項に記載の撮像装置。
【請求項１０】
前記撮像装置は、イベントを検知したことに応じて、前記着目画像データの電子署名を生成しない第１の動作モードから、前記着目画像データの電子署名を生成する第２の動作モードに移行することを特徴とする、請求項１から８のいずれか１項に記載の撮像装置。
【請求項１１】
前記画像データは、複数の画像を表す映像データであることを特徴とする、請求項１から９のいずれか１項に記載の撮像装置。
【請求項１２】
画像データと、前記画像データに対する電子署名と、を取得する取得手段と、
前記電子署名を用いて前記画像データの完全性を検証する第１の検証手段と、
前記画像データから抽出した確認情報と、別の画像データと、を用いて、前記画像データと前記別の画像データとの連続性を検証する第２の検証手段と、を備え、
前記画像データには、先行して生成された画像データに基づく確認情報が付与されていることを特徴とする、情報処理装置。
【請求項１３】
前記取得手段は、前記画像データの生成順序を示す検証情報をさらに取得し、
前記第１の検証手段が前記画像データの完全性がないと判断したことに応じて、又は前記第２の検証手段が前記画像データと前記別の画像データとの間に連続性がないと判断したことに応じて、前記検証情報に基づいて前記画像データの生成順序を確認する手段をさらに備えることを特徴とする、請求項１２に記載の情報処理装置。
【請求項１４】
撮像装置が行う画像データの生成方法であって、
撮像により画像データを逐次生成する工程と、
画像データに基づく確認情報を、前記画像データに後続して生成された着目画像データに付与する付与工程と、
前記確認情報が付与された後の着目画像データに対して、電子署名を生成する署名工程と、
を有することを特徴とする生成方法。
【請求項１５】
情報処理装置が行う画像データの検証方法であって、
画像データと、前記画像データに対する電子署名と、を取得する取得工程と、
前記電子署名を用いて前記画像データの完全性を検証する第１の検証工程と、
前記画像データから抽出した確認情報と、別の画像データと、を用いて、前記画像データと前記別の画像データとの連続性を検証する第２の検証工程と、を有し、
前記画像データには、先行して生成された画像データに基づく確認情報が付与されていることを特徴とする、検証方法。
【請求項１６】
撮像により画像データを逐次生成する撮像手段を備える撮像装置が備えるコンピュータを、請求項１乃至１１の何れか１項に記載の撮像装置の付与手段及び署名手段として機能させるためのプログラム。
【請求項１７】
コンピュータを、請求項１２又は１３に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、情報処理装置、生成方法、及び検証方法に関する。
【背景技術】
【０００２】
ネットワークカメラで撮像した画像の改ざんの検知を可能とすることにより、ネットワークカメラで撮像した画像の証拠能力を保証する技術が重要になっている。例えば特許文献１は、カメラが撮像した画像に対する署名をカメラが生成し、画像と署名を合わせて外部に送信する技術を開示している。また、特許文献２は、画像のどの領域が改ざんされたのかを特定できるようにするために、カメラから動画を取得し、１つのフレームに含まれる各分割領域について電子署名を生成する技術を開示している。さらに、特許文献３は、複数のコンテンツを流通させる場合に、１つのコンテンツデータについてのハッシュ値を、別のコンテンツデータに電子透かしとして埋め込むことにより、コンテンツデータの改ざん検出を可能とする方法を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−４１８４１号公報
【特許文献２】特開２０１４−０９９８１６号公報
【特許文献３】特開２００５−０３３６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像の証拠能力を保証するためには、それぞれの画像の改ざんを検知するだけでなく、画像の撮影順序の改ざんを検知することが望ましい。ネットワークカメラから逐次出力された画像間の連続性が保たれていることを確認する方法としては、画像のファイル名又は画像のタイムスタンプを確認する方法が挙げられる。しかしながら、ファイル名はユーザが変更することが可能であるし、タイムスタンプは画像を閲覧するだけで更新されてしまうことがある。特許文献１〜３は、画像の改ざんを検知することを目的としており、画像間の連続性を検証することに着目していない。
【０００５】
また、特許文献２及び特許文献３は、動画又はコンテンツを取得したコンピュータが、改ざん検出のためのデータを生成する方法を開示している。しかしながら、ネットワークカメラから配信された画像に対してコンピュータが改ざん検出のためのデータを付加する場合、ネットワークカメラが画像を配信してからコンピュータが受け取るまでの間に改ざんが行われてしまう可能性がある。
【０００６】
本発明は、撮像装置により生成された画像データ間の連続性に関する改ざんを検知可能なように、画像データを生成する技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の目的を達成するために、例えば、本発明の撮像装置は以下の構成を備える。すなわち、
撮像により画像データを逐次生成する撮像手段と、
画像データに基づく確認情報を、前記画像データに後続して生成された着目画像データに付与する付与手段と、
前記確認情報が付与された後の着目画像データに対して、電子署名を生成する署名手段と、
を備える。
【発明の効果】
【０００８】
撮像装置により生成された画像データ間の連続性に関する改ざんを検知可能なように、画像データを生成することができる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る撮像装置の機能ブロック図。
【図２】実施形態１において生成される画像データ及び電子署名を説明する図。
【図３】実施形態１に係る処理のフローチャート。
【図４】実施形態１に係る処理のフローチャート。
【図５】実施形態２において生成される画像データ及び電子署名を説明する図。
【図６】実施形態３で生成されるハッシュテーブルを示す図。
【図７】実施形態４において生成される画像データ及び電子署名を説明する図。
【図８】実施形態５で生成されるハッシュテーブルを示す図。
【図９】実施形態６に係る処理のフローチャート。
【図１０】コントローラ部及び情報処理装置の機能ブロック図。
【発明を実施するための形態】
【００１０】
以下に、本発明に係るいくつかの実施形態を添付の図面に基づいて詳細に説明する。本発明の範囲は以下の実施形態に限定されない。
【００１１】
［実施形態１］
以下、本発明の実施形態１に係る撮像装置であるネットワークカメラ１００について説明する。図１は、実施形態１に係るネットワークカメラ１００の構成図である。ネットワークカメラ１００は撮像部１１０及びコントローラ部１２０を備える。撮像部１１０で得られた画像データはコントローラ部１２０へと転送される。ネットワークカメラ１００は、外部のネットワーク機器１３０との間で通信を行うことができる。
【００１２】
撮像部１１０は、撮像により画像データを逐次生成することができる。本実施形態において撮像部１１０は、画像データとして、１つの撮像画像を表す画像ファイルを生成する。撮像部１１０は、光学レンズ１１１、撮像素子１１２、信号処理回路１１３、撮像制御回路１１４、及びメモリ転送回路１１５を備える。光学レンズ１１１は、被写体からの光を撮像素子１１２上に結像させる。撮像素子１１２は、結像した光を電荷に変換することにより撮像信号を生成する。信号処理回路１１３は、撮像素子１１２により生成された撮像信号をデジタル化することにより画像データを生成する。
【００１３】
撮像制御回路１１４は、撮像画像の出力周期と同じ周期で動作するように撮像素子１１２を制御する。また、撮像制御回路１１４は、撮像素子１１２における電荷の蓄積時間が撮像画像の出力周期より長い場合は、撮像素子１１２から撮像信号が出力できない期間、信号処理回路１１３のフレームメモリに撮像画像を保持するように信号処理回路１１３を制御する。メモリ転送回路１１５は、信号処理回路１１３によって生成された画像データを、コントローラ部１２０に転送する。
【００１４】
コントローラ部１２０は、ＣＰＵ１２１、メモリ１２２、ネットワークＩ／Ｆ１２３、及び不揮発メモリ１２４を備える。このように、コントローラ部１２０の機能は、コンピュータにより実現してもよい。すなわち、図１０（Ａ）に示すように、コントローラ部１２０が有する付与部１２５、生成部１２６、及び署名部１２７などの機能は、プログラムにより表現することができる。そして、メモリ（例えばメモリ１２２又は不揮発メモリ１２４）に格納されたプログラムを、プロセッサ（例えばＣＰＵ１２１）が実行することにより、これらの機能を実現することができる。このようなプログラムは、ＣＤ−ＲＯＭ等のコンピュータが読み取り可能な記憶媒体に格納されていてもよい。
【００１５】
本実施形態においてメモリ１２２には、撮像部１１０から送られた画像データが格納される。ＣＰＵ１２１は、メモリ１２２上の画像データに基づく確認情報を生成する生成部として動作することができる。ここで、確認情報とは、画像データの少なくとも一部に基づくデータのことである。本実施形態においては、確認情報は画像データのハッシュ値である。より詳細には、ＣＰＵ１２１は、着目画像データに先行して生成された画像データの確認情報（ハッシュ値）が着目画像データに付与された後における、着目画像データのハッシュ値を、着目画像データの確認情報として生成する。この確認情報は、着目画像データに後続して生成された画像データに付与される。確認情報の付与については後述する。
【００１６】
もっとも、確認情報は、画像データの一部であってもよいし、画像データの一部を用いた処理により得られる値（例えばハッシュ値）であってもよい。また、確認情報は、画像データに対する電子署名（例えば、画像データのハッシュ値を秘密鍵で暗号化することにより得られた値）であってもよい。
【００１７】
本実施形態において、ＣＰＵ１２１は、電子署名が生成された画像データに基づく確認情報を、画像データに後続して生成された着目画像データに付与する付与部１２５として動作することができる。例えば、ＣＰＵ１２１は、第１の画像データについて計算されたハッシュ値を、第１の画像データに後続して生成された第２の画像データの一部として格納することができる。ＣＰＵ１２１は例えば、計算されたハッシュ値を、第２の画像データのメタデータ部又はヘッダ部等に格納することができる。ここで、第２の画像データは第１の画像データに後続して生成され、第１の画像データは第２の画像データに先行して撮像されている。言い換えれば、第２の画像データに含まれる撮像画像は、第１の画像データに含まれる撮像画像の後に連続して撮像されている。
【００１８】
本実施形態においては、第１の画像データについての確認情報を第２の画像データに付与することにより、第１の画像データと第２の画像データとの関係が特定される。より具体的には、第１の画像データに連続して第２の画像データが生成されたことを示すために、第１の画像データについての確認情報が第２の画像データに付与される。
【００１９】
後述するように、確認情報を生成するために用いられる画像データに対しては、電子署名が生成されている。したがって、先行して生成された画像データの電子署名を用いることで、先行して生成された画像データの完全性を確認することができ、また先行して生成された画像データから改ざんされていない正しい確認情報を得ることができる。また、後述するように、確認情報が付与された着目画像データに対しても電子署名が生成される。したがって、この電子署名を用いることで、着目画像データの完全性を確認することができ、また着目画像データに付与された改ざんされていない確認情報を得ることができる。そして、先行して生成された画像データの確認情報が、後続して生成された着目画像データに付与されていることを確認することにより、ネットワークカメラ１００において、２つの画像データが連続して生成されたことを確認することができる。もっとも、確認情報として、ハッシュ値のような画像データの一方向性関数値を用いる場合、先行して生成された画像データが電子署名で保護されていることは必須ではない。なぜなら、着目画像データに先行して生成されたかのように、着目画像データに付与されたハッシュ値と同じ値を返す画像データをねつ造することは困難だからである。
【００２０】
また、ＣＰＵ１２１は、確認情報が付与された後の着目画像データに対して電子署名を生成する署名部１２７として動作することができる。本実施形態の場合、ＣＰＵ１２１は、確認情報（ハッシュ値）が付与された後の着目画像データのハッシュ値を用いて、着目画像データに対する電子署名を生成することができる。電子署名の生成方法としては、例えばハッシュ値が格納された第２の画像データのハッシュ値を生成し、これをネットワークカメラ１００の秘密鍵（不図示）を用いて暗号化する方法が挙げられる。
【００２１】
ハッシュ値が格納された着目画像データと、着目画像データに対する電子署名とは、送信部として働くネットワークＩ／Ｆ１２３を介して、ネットワークカメラ１００の外部にある外部機器へと送信される。送信方法には、ネットワークカメラ１００が外部機器へとデータをプッシュする方法、及び情報処理装置１４０等の外部機器がネットワーク機器１３０を経由してネットワークカメラ１００からプルする方法が含まれる。
【００２２】
図１に示すように、ＣＰＵ１２１はハッシュ計算及び電子署名の生成を行ってもよい。しかしながら、本発明の構成は図１に示すものに限定されない。例えば、ＣＰＵ１２１とは異なる別のモジュールがこれらの処理を行ってもよい。
【００２３】
ネットワーク機器１３０は、ネットワークＩ／Ｆ１２３を介してネットワークカメラ１００と通信を行う。ネットワーク機器１３０の例としては、ネットワークハブ等の通信中継機器が挙げられる。情報処理装置１４０は、ネットワーク機器１３０及びネットワークＩ／Ｆ１２３を介してネットワークカメラ１００と通信することができる。例えば、情報処理装置１４０は、ネットワークＩ／Ｆ１２３を介してネットワークカメラ１００に対して様々な設定を行ってもよく、また不揮発メモリ１２４に保存されたデータを取得してもよい。情報処理装置１４０の例としては、パソコン又はスマートフォン等が挙げられる。
【００２４】
図２は、ネットワークカメラ１００が生成する情報の例を示す。この情報は、逐次出力される画像間の連続性を検証するために用いることができる。この情報は、画像ファイル間の連続性を検証するために用いることができ、例えば第２の画像ファイルに含まれる第２の撮像画像が、第１の画像ファイルに含まれる第１の撮像画像に連続して撮影されたのかを検証するために用いることができる。ネットワークカメラ１００は、これらの情報をネットワークカメラ１００内で作成し、及び画像データに付与することができる。また、図３は本実施形態に係る、画像データのハッシュ値及び電子署名を生成する方法のフローチャートの一例を示す。
【００２５】
以下、図２及び図３を参照して、実施形態１に係る処理例を詳細に説明する。ステップＳ３０１において、撮像部１１０により得られた画像データは、メモリ転送回路１１５を介してメモリ１２２に転送される。撮像部１１０は様々な画像データを逐次生成する。ステップＳ３０１を繰り返すことにより、生成された画像データはメモリ１２２に逐次転送される。
【００２６】
ステップＳ３０２において、ＣＰＵ１２１は、ステップＳ３０１においてメモリ１２２に転送された画像データが最初の画像データであるか否かを判定する。最初の画像データである場合、ステップＳ３０３においてＣＰＵ１２１は、この画像データ２１０（画像１の画像データ）にダミーとなるハッシュ値２１１を埋め込む。ここで、ダミーとなるハッシュ値は、例えば予め定められた値でありうるが、これには限定されない。図２の例では、画像データのメタデータ部であるＪＰＥＧヘッダにハッシュ値が埋め込まれている。しかしながら、画像データはＪＰＥＧフォーマットには限定されないし、またハッシュ値を埋め込む部分も限定されない。このように、本明細書において、画像データは、撮像画像を示すデータだけではなく、撮像時刻又は撮像場所を示す情報のような撮像画像のメタデータも含んでいる。
【００２７】
ステップＳ３０４においてＣＰＵ１２１は、ダミーのハッシュ値２１１が埋め込まれた画像１の画像データ２１０のハッシュ値（Ｈａｓｈ＃１）を計算する。また、ステップＳ３０５においてＣＰＵ１２１は、ダミーのハッシュ値２１１が埋め込まれた画像１の画像データ２１０の電子署名２１２（電子署名１）を生成する。例えば、ＣＰＵ１２１は、ネットワークカメラ１００の秘密鍵を用いて、Ｈａｓｈ＃１から電子署名１を生成することができる。
【００２８】
ＣＰＵ１２１による画像１のハッシュ計算及び電子署名１の生成処理に並行して、撮像部１１０によって画像１に連続して撮像された画像２の画像データは、メモリ転送回路１１５を介してメモリ１２２に転送される（ステップＳ３０１）。このステップＳ３０１においてメモリ１２２に転送された画像２は最初の画像ではないため、処理はステップＳ３０２からステップＳ３０６に進む。ステップＳ３０６においてＣＰＵ１２１は、画像２の画像データ２２０に、画像１の画像データ２１０のハッシュ値２２１（Ｈａｓｈ＃１）を埋め込む。ＣＰＵ１２１は、続くステップＳ３０４及びＳ３０５において、Ｈａｓｈ＃１が埋め込まれた画像データ２２０のハッシュ値（Ｈａｓｈ＃２）及び電子署名２２２（電子署名２）を生成する。
【００２９】
このように、ＣＰＵ１２１は、メモリ１２２に転送された画像ｎの画像データに、画像ｎ−１の画像データのハッシュ値（Ｈａｓｈ＃ｎ−１）を埋め込む。そして、ＣＰＵ１２１は、Ｈａｓｈ＃ｎ−１が埋め込まれた画像ｎの画像データのハッシュ値（Ｈａｓｈ＃ｎ）及び電子署名（電子署名ｎ）を生成する。このようなハッシュ値の埋め込み、ハッシュ計算、及び電子署名の生成が、メモリ１２２に転送された画像に対して順次行われる。
【００３０】
図４は、連続性を検証するための情報が埋め込まれた画像データ及び電子署名を、ネットワーク経由で送信し、又は不揮発メモリに保存する処理のフローチャートである。ステップＳ４０１においてＣＰＵ１２１は、画像データの電子署名が作成されたか否かをチェックする。電子署名が生成されていない場合、処理はステップＳ４０２からステップＳ４０１に戻り、ＣＰＵ１２１は再度電子署名が作成されたか否かをチェックする。こうして、画像データの電子署名が生成されるまで処理は待機する。
【００３１】
電子署名が生成されていた場合、処理はステップＳ４０２からステップＳ４０３に進み、ＣＰＵ１２１はハッシュ値が埋め込まれた画像データと電子署名とをどこに保存するかをチェックする。保存先がネットワーク上の装置（例えば情報処理装置１４０又はサーバ（不図示）である場合、処理はステップＳ４０４からステップＳ４０５に進む。ステップＳ４０５においてＣＰＵ１２１は、ハッシュ値が埋め込まれた画像データと電子署名とをネットワーク上の装置に送信する。保存先がネットワーク上の装置でない場合、処理はステップＳ４０４からステップＳ４０６に進み、ＣＰＵ１２１はハッシュ値が埋め込まれた画像データと電子署名とを不揮発メモリ１２４に保存する。
【００３２】
保存方法はこの方法に限定されない。例えば、画像データと電子署名とを、複数の箇所に保存することもできる。一例としては、画像データと電子署名と、ネットワーク上の装置及び不揮発メモリ１２４に保存することもできる。また、不揮発メモリ１２４の代わりに、ネットワークカメラ１００に接続可能なＳＤカード又ハードディスク等の記憶媒体に、画像データ及び電子署名を保存することもできる。さらには、通常は画像データ及び電子署名を所定の外部装置へ送信する一方で、送信が失敗したことに応じて画像データ及び電子署名を不揮発メモリ１２４に保存してもよい。
【００３３】
本実施形態では、逐次出力される画像間の連続性を検証するための情報が、常時ネットワークカメラ内で作成され、画像データに付与される。一方で、イベントと連携してこのような情報の生成が制御されてもよい。例えば、ネットワークカメラ１００は、イベントを検知したことに応じて、画像間の連続性を検証するための確認情報を生成しない第１の動作モードから、このような確認情報を生成する第２の動作モードに移行してもよい。また、ネットワークカメラ１００は、イベントを検知したことに応じて、確認情報を着目画像データに付与しない第１の動作モードから、確認情報を着目画像データに付与する第２の動作モードに移行してもよい。
【００３４】
具体例としては、画像上で特定のオブジェクトを検知したこと（例えば画像内の特定領域で人物を検知したこと）に応じて、このような情報の作成及び付与を開始してもよい。別の例として、ネットワークカメラ１００が備えるマイクが、所定の音を検知したこと（例えば悲鳴を検知したこと）に応じて、このような情報の作成及び付与を開始してもよい。
【００３５】
正常時の画像よりも異常時の画像の方が証拠として用いられる可能性が高いところ、このような構成によれば、異常が検知された場合に画像間の連続性を検証するための情報が生成される。このため、異常時における画像データの証拠能力を向上させることができる。一方、正常時においてはこのような情報の生成を行わなくてもよいため、ネットワークカメラ１００の処理負荷又はメモリ使用量を低減することができる。
【００３６】
別の例として、ネットワークカメラ１００は、イベントを検知したことに応じて、着目画像データの電子署名を生成しない第１の動作モードから、着目画像データの電子署名を生成する第２の動作モードに移行してもよい。このような構成によれば、異常時における画像データの証拠能力を向上させながら、正常時においてはネットワークカメラ１００の処理負荷又はメモリ使用量を低減することができる。この構成は、イベント検知に応じて確認情報の生成又は付与を制御する構成と組み合わせて用いてもよいし、単独で用いてもよい。
【００３７】
本実施形態の構成によれば、ネットワークカメラ１００が生成した画像データには、先行する画像データについてのハッシュ値のような確認情報が付与される。したがって、先行する画像データのハッシュ値と、続く画像データに付与されたハッシュ値とを比較することにより、先行する画像と続く画像とがネットワークカメラ１００により連続して撮像されたことを検証することができる。具体的な検証例は、実施形態６として説明する。
【００３８】
［実施形態２］
実施形態１では、１つの撮像画像についての画像データの確認情報が、後続する撮像画像についての画像データに埋め込まれ、また確認情報が埋め込まれた画像データの電子署名が生成された。しかしながら、この画像データは、複数の撮像画像を表すデータ、すなわち映像データであってもよい。実施形態２では、複数の撮像画像についての画像データのハッシュ値が、後続する複数の撮像画像についての画像データ（映像データ）に埋め込まれ、またハッシュ値が埋め込まれた画像データの電子署名が生成される。以下では一例として、複数の撮像画像が、ＭＰＥＧ技術におけるＩフレームを含むＧＯＰ（Ｇｒｏｕｐ  Ｏｆ  Ｐｉｃｔｕｒｅｓ）である場合について説明する。本実施形態によれば、逐次出力されるＧＯＰ間の連続性を検証するための情報を、ネットワークカメラ１００が作成し、画像データに付与することができる。
【００３９】
実施形態２に係る処理について、図３〜図５を参照して説明する。実施形態１と同様の処理については説明を省略する。図５（Ａ）は、本実施形態においてネットワークカメラ１００が生成する情報の例を示す。ステップＳ３０１において、複数の撮像画像がメモリ１２２に逐次転送される。ここで、ＣＰＵ１２１はさらに、データサイズを圧縮するため、複数の撮像画像に対してＧＯＰ構造に従う圧縮処理を行う。基本フレームとなるＩフレームの間隔はユーザが予め定めておくことができ、例えば、不揮発メモリ１２４に設定値が保存されていてもよい。このＩフレームの間隔に従い、ＧＯＰの長さを決定することができる。
【００４０】
作成されたＧＯＰが最初のＧＯＰ（例えばＧＯＰ＃１）である場合、ステップＳ３０３においてＣＰＵ１２１はこのＧＯＰのＧＯＰデータ５１０のヘッダ部にダミーとなるハッシュ値５１１を埋め込む。作成されたＧＯＰが２番目以降のＧＯＰである場合、ステップＳ３０６においてＣＰＵ１２１は直前のＧＯＰのハッシュ値をＧＯＰデータのヘッダ部に埋め込む。図５（Ａ）の例では、ＧＯＰ＃２のＧＯＰデータ５２０のヘッダ部には、ＧＯＰ＃１のＧＯＰデータ５１０のハッシュ値５２１が埋め込まれている。
【００４１】
ステップＳ３０４においてＣＰＵ１２１は、ハッシュ値が埋め込まれたＧＯＰのハッシュ値を計算する。また、ステップＳ３０４においてＣＰＵ１２１は、ハッシュ値が埋め込まれたＧＯＰの電子署名を生成する。例えば、ＣＰＵ１２１は、ダミーのハッシュ値５１１値が埋め込まれたＧＯＰデータ５１０のハッシュ値（Ｈａｓｈ＃１）及び電子署名（電子署名１）を生成することができる。また、ＣＰＵ１２１は、ＧＯＰ＃１のハッシュ値５２１（Ｈａｓｈ＃１）が埋め込まれたＧＯＰデータ５２０のハッシュ値（Ｈａｓｈ＃２）及び電子署名（電子署名２）を生成することができる。
【００４２】
このようにして、実施形態１と同様の方法で、ＣＰＵ１２１は、メモリ１２２上に順次作成されるＧＯＰのそれぞれに対し、直前のＧＯＰデータのハッシュ値の埋め込み、ハッシュ計算、及び電子署名の生成を行う。こうして得られた、連続性を検証するための情報が埋め込まれたＧＯＰデータ及び電子署名は、実施形態１と同様に、例えば図４のフローチャートに従って、ネットワーク経由で送信し、又は不揮発メモリに保存することができる。
【００４３】
ＧＯＰデータ中の他の場所にハッシュ値を埋め込むこともできる。例えば、図５（Ｂ）はＧＯＰ構造の別の例を示し、ここでハッシュ値はＩフレームのヘッダに埋め込まれている。
【００４４】
［実施形態３］
実施形態３に係るネットワークカメラ１００は、実施形態１と同様に画像データ（ＧＯＰデータを含む）の電子署名を生成することに加えて、画像データの生成順序（ＧＯＰの順序を含む）を示す検証情報を生成する。この検証情報は、画像間の連続性を検証する際に使用することができる。
【００４５】
図６に示すように、本実施形態において検証情報８００は、ハッシュテーブルとして表される。図６に示すハッシュテーブルは、撮像画像の順序を示す番号情報（画像１〜画像ｎ）及び画像データの識別情報（ハッシュ値）を保持している。もっとも、検証情報は図６に示すものに限定されない。このような検証情報８００に基づいて、ネットワークカメラ１００内での画像の生成順序及び画像が有するハッシュ値を知ることができる。
【００４６】
ＣＰＵ１２１は、上記のような検証情報を生成する生成部１２６として動作することができる。例えば、ＣＰＵ１２１は、テーブルに対して、撮像画像の順番と、ステップＳ３０４で得られた、ハッシュ値が埋め込まれた画像データのハッシュ値と、を追加することによりこの検証情報８００を生成することができる。すなわち、ＣＰＵ１２１は、ハッシュ値の埋め込み、ハッシュ計算、電子署名の生成、及び検証情報８００への追加を、メモリ１２２に転送された画像に対して順次行う。
【００４７】
ＣＰＵ１２１は、このように得られた検証情報８００に対する電子署名を生成することもできる。検証情報８００に対する電子署名を検証し、検証情報８００がネットワークカメラ１００によって作成され改ざんされていないことを確認することにより、後述するような検証情報８００を用いた異常の種類の判定結果を信頼することができる。検証情報８００は、撮像画像が不揮発メモリ１２４に転送される度に逐次更新することができる。この場合、検証情報８００に対する電子署名は、検証情報８００が更新されるたびに生成されてもよいし、検証情報８００のサイズが所定の大きさに達した際に生成されてもよい。
【００４８】
こうして得られた検証情報８００は、例えば図４のフローチャートに従って、ネットワーク経由で送信し、又は不揮発メモリに保存することができる。検証情報８００は、画像の配信方法に適した方法で送信することが望ましい。例えば、ファイル転送プロトコルを用いて画像を配信している場合であれば、画像の転送先と同一パスに対して、同一プロトコルを用いて検証情報１０００をファイルとして送信することができる。画像をストリーム配信している場合であれば、画像配信を行っているストリームとは別ストリームを用いて、検証情報１０００をコンテナに内包して送信することができる。
【００４９】
［実施形態４］
実施形態４に係るネットワークカメラ１００は、実施形態１と同様に画像データ（ＧＯＰデータを含む）の電子署名を生成することに加えて、画像データの一部に基づく検証情報を生成する。本実施形態における検証情報とは、画像データの少なくとも一部を用いて得られる情報のことである。この検証情報は、上述した確認情報とは異なっていてもよい。本実施形態において、画像データの一部に基づく検証情報とは、画像データの一部に対する電子署名である。画像データの一部とは、画像データについての（撮像画像の）撮像時刻を示すデータ又は撮像場所を示すデータでありうるが、特に限定されない。この電子署名は、画像データのうちどの部分が改ざんされたのかを検証するために用いることができる。図７は、実施形態４においてネットワークカメラ１００が生成する情報の例を示し、ここでは撮影時刻及び撮影場所の電子署名が生成されている。
【００５０】
ＣＰＵ１２１は、上記のような検証情報を生成する生成部として動作することができる。本実施形態において、ステップＳ３０５においてＣＰＵ１２１は、ハッシュ値が埋め込まれた画像データの電子署名を生成することに加えて、撮像画像の撮影時刻を示す情報の電子署名と、撮影場所を示す情報の電子署名と、を生成する。ＣＰＵ１２１は、撮影時刻及び撮影場所を示す情報を、例えば画像データのメタデータ部から取得することができる。電子署名を生成する方法は特に限定されず、例えば、撮影時刻を示す情報又は撮影場所を示す情報のハッシュ値と、ネットワークカメラ１００の秘密鍵と、を用いて電子署名を生成することができる。図７には、撮像画像ｎの画像データの電子署名ｎと、撮像画像ｎの撮影時刻を示す情報の電子署名ｎＴと、撮像画像ｎの撮影場所を示す情報の電子署名ｎＬと、が示されている。こうして得られた電子署名は、例えば図４のフローチャートに従って、ネットワーク経由で送信し、又は不揮発メモリ１２４に保存することができる。電子署名の送信方法としては、実施形態４で説明した検証情報８００の送信方法と同様の方法を用いることができる。
【００５１】
［実施形態５］
実施形態５に係るネットワークカメラ１００は、実施形態１と同様に画像データ（ＧＯＰデータを含む）の電子署名を生成することに加えて、画像データの一部に基づく検証情報を生成する。検証情報の種類は限定されないが、本実施形態において検証情報とは撮像データについての（撮像画像の）撮像時刻を示す情報又は撮像場所を示す情報である。この検証情報は、画像データのうちどの部分が改ざんされたのかを検証するために用いることができる。
【００５２】
図８に示されるように、本実施形態に係るネットワークカメラ１００が示す検証情報１０００は、ハッシュテーブルとして表される。図８に示すハッシュテーブルは、画像データの識別情報（ハッシュ値）、並びに撮影時刻を示す情報及び撮影場所を示す情報を保持している。図８の例では、撮影時刻を示す情報として、年月日時分秒が記録され、秒は１／１００秒単位で記録されている。また、撮影場所を示す情報としては緯度及び経度が記録されている。しかしながら、撮影時刻を示す情報及び撮影場所を示す情報は、このような情報には限定されない。なお、図８に示す検証情報１０００は、実施形態３と同様に撮像画像の順序を示している。しかしながら、撮像画像の順序を示す番号情報（画像１〜画像ｎ）を有することは必須ではないし、画像データの識別情報としてハッシュ値を有することも必須ではない。
【００５３】
ＣＰＵ１２１は、上記のような検証情報を生成する生成部として動作することができる。ＣＰＵ１２１は、テーブルに対して、撮像画像の順序と、ステップＳ３０４で得られた、ハッシュ値が埋め込まれた画像データのハッシュ値と、撮像画像の撮影時刻を示す情報と、撮像画像の撮影場所を示す情報と、を追加する。こうして、ＣＰＵ１２１は、検証情報１０００を生成することができる。すなわち、ＣＰＵ１２１は、ハッシュ値の埋め込み、ハッシュ計算、電子署名の生成、及び検証情報１０００への追加を、メモリ１２２に転送された画像に対して順次行う。こうして得られた検証情報１０００は、実施形態３と同様にネットワーク経由で送信し、又は不揮発メモリ１２４に保存することができる。さらに、実施形態３と同様に、検証情報１０００に対する電子署名を生成してもよい。なお、実施形態４と同様に、さらに画像データの一部に対する電子署名を生成してもよい。
【００５４】
［実施形態６］
実施形態６に係る情報処理装置１４０は、実施形態１でネットワークカメラ１００が生成した情報を用いて、画像間の連続性を検証する。情報処理装置１４０は、ネットワークカメラ１００から図２に示す画像データ及びその電子署名を順次受信し、図９のフローチャートに従って処理を行うことができる。情報処理装置１４０は、図１０（Ｂ）に示すように、取得部１４１と、第１の検証部１４２と、第２の検証部１４３と、を備える。これらの各部の機能は、上述のコントローラ部１２０と同様にコンピュータを用いて実現することができる。すなわち、情報処理装置１４０は、上述のコントローラ部１２０と同様にＣＰＵ１２１、メモリ１２２、ネットワークＩ／Ｆ１２３、及び不揮発メモリ１２４を有していてもよい。
【００５５】
ステップＳ１１００において、取得部１４１は画像データと、画像データに対する電子署名と、を取得する。ステップＳ１１０１〜Ｓ１１０３で、第１の検証部１４２は、電子署名を用いて、取得した画像データの完全性を検証する。例えば、ステップＳ１１０１で第１の検証部１４２は、取得した画像データのハッシュ値を計算することができる。また、ステップＳ１１０２で第１の検証部１４２は、電子署名から画像データのハッシュ値を取得することができる。例えば、第１の検証部１４２は、ネットワークカメラ１００の秘密鍵のペアとなる公開鍵を用いて、画像データのハッシュ値を取得することができる。ステップＳ１１０３で第１の検証部１４２は、ステップＳ１１０１で得られたハッシュ値とステップＳ１１０２で得られたハッシュ値とが一致するか否かを判定する。このハッシュ値が一致する場合に、画像データは完全であり改ざんされていないと判定することができる。ハッシュ値が一致する場合、処理はステップＳ１１０４からステップＳ１１０５に進む。
【００５６】
ステップＳ１１０５〜Ｓ１１０７において、第２の検証部１４３は、ステップＳ１１００で取得した画像データから抽出した確認情報と、別の画像データと、を用いて、画像データと別の画像データとの連続性を検証する。例えば、第２の検証部１４３は、着目画像データと、情報処理装置１４０に対して直前に入力された画像データと、の連続性を検証してもよい。また、第２の検証部１４３は、ファイル名又は撮像時刻等のメタデータに基づいて、着目画像データと、着目画像データの直前に生成されたことが示されている画像データとの、間の連続性を検証してもよい。ここで、既に説明したように、画像データには、先行して生成された画像データに基づく確認情報（例えばハッシュ値）が付与されている。また、別の画像データも、電子署名で保護しておくことができる。
【００５７】
例えば、ステップＳ１１０５で第２の検証部１４３は、別の画像データから確認情報（ハッシュ値）を算出する。また、ステップＳ１１０６で第２の検証部１４３は、ステップＳ１１００で取得した画像データに付与されている確認情報（ハッシュ値）を抽出する。ステップＳ１１０７で第２の検証部１４３は、抽出されたハッシュ値と、別の画像データのハッシュ値とが一致するか否かを判定する。ハッシュ値が一致する場合、画像データと別の画像データとは連続して生成されたと判定することができる。ハッシュ値が一致する場合、処理はステップＳ１１０８からステップＳ１１０９に進む。
【００５８】
ステップＳ１１０３でハッシュ値が一致しないと判定された場合、処理はステップＳ１１０４からステップＳ１１１１に進む。ステップＳ１１１１において第１の検証部１４２は、画像データに異常があると判定する。この場合、第１の検証部１４２は、異常を通知することができる。例えば、第１の検証部１４２は、情報処理装置１４０上で動作するソフトウェアを介して、情報処理装置１４０が有する表示装置に、異常を知らせる通知を表示することができる。また、第１の検証部１４２は、異常の種類を通知してもよい。例えば、この場合は、異常の種類として、画像データが改ざんされていることを通知することができる。
【００５９】
ステップＳ１１０７でハッシュ値が一致しないと判定された場合、処理はステップＳ１１０８からステップＳ１１１２に進む。ステップＳ１１１１において第２の検証部１４３は、画像データの順序に異常があると判定する。この場合、第２の検証部１４３は、第１の検証部１４２と同様に異常を通知することができ、また異常の種類を通知することができる。例えば、図２の例において、画像１の画像データ２１０のハッシュ値と、画像２の画像データ２２０に埋め込まれたハッシュ値２２１とが一致しなかったとする。この場合、画像１と画像２との間に連続性がないと通知することができる。
【００６０】
ステップＳ１１０９において、第１の検証部１４２は、検証対象の画像データが他にあるかどうかをチェックする。検証対象の画像データがまだ他にある場合、処理はステップＳ１１１０からステップＳ１１００に戻り、次の画像データに対してステップＳ１１０１〜Ｓ１１０８の処理を繰り返す。全ての画像データに対して検証が終わり、検証対象の画像データがもうない場合、処理は終了する。
【００６１】
このように、情報処理装置１４０は、先行して生成された画像データについての確認情報が付与されている画像データを用いて、先行する画像データと続く画像データとがネットワークカメラ１００により連続して撮像されたことを検証することができる。実施形態１に係る確認情報を用いて先行する画像データと続く画像データとの間の連続性を検知するためには、先行する画像データ及び続く画像データの２つがあれば十分であり、他のデータを参照することは必須ではない。このため、データ量及び処理負荷を低減することができる。また、先行する画像データ及び続く画像データは電子署名で保護されているため、先行する画像データ、又は続く画像データに付与された確認情報、を改ざんすることは困難である。このため、検知されないように画像データの順序を改ざんすることは困難である。
【００６２】
［実施形態７］
実施形態６では、画像データが改ざんされていること、及び画像データ間に連続性がないことを検出できた。実施形態７では、さらに実施形態３〜５のように作成された検証情報を参照して、どのような改ざんが行われたのかを検証する。
【００６３】
例えば、取得部１４１は、図６に示すような、画像データの生成順序を示す検証情報を取得することができる。この場合、第１の検証部１４２が画像データの完全性がないと判断したことに応じて、又は第２の検証部１４３が画像データと別の画像データとの間に連続性がないと判断したことに応じて、検証情報に基づいて画像データの生成順序を確認することができる。
【００６４】
例えば、第１の検証部１４２が画像データの完全性がないと判断したことに応じて行われるステップＳ１１１１において、第１の検証部１４２は、検証情報に基づいて画像データの順序を確認することができる。こうして、第１の検証部１４２は、検証情報を参照して、異常の種類を通知することができる。
【００６５】
ステップＳ１１０３で、画像３の画像データの改ざんが判定された場合を例として説明する。この場合、前後の画像２及び画像４の間に画像３が存在することを検証情報が示す場合、ネットワークカメラ１００が画像３を撮像したがその後画像３が改ざんされたと判定することができる。また、前後の画像２及び画像４が連続していることを検証情報が示す場合、画像３は不正に挿入されたと判定することができる。第１の検証部１４２は、このように判定された異常の種類を通知することができる。
【００６６】
第２の検証部１４３が、画像データと別の画像データとの間に連続性がないと判断したことに応じて行われるステップＳ１１１２において、第２の検証部１４３は、検証情報に基づいて画像データの順序を確認することができる。こうして、第２の検証部１４３は、検証情報を参照して、異常の種類を通知することができる。
【００６７】
ステップＳ１１０７で、画像２と画像３が連続していないと判定された場合を例として説明する。この場合、前後の画像２及び画像４の間に画像３が存在することを検証情報が示す場合、画像３が他の画像と差し替えられたと判定することができる。また、画像２及び画像４が連続していることを検証情報が示す場合、画像３は不正に挿入されたと判定することができる。
【００６８】
また、ステップＳ１１０７で、画像１と画像２、画像２と画像３、及び画像３と画像４が連続していないと判定された場合を例として説明する。この場合、検証情報に基づいて、画像２及び画像３が不正に挿入されたのか、画像２及び画像３が他の画像と差し替えられたのか、画像２と画像３の順序が逆になっているのか、を判定することができる。第２の検証部１４３は、このように判定された異常の種類を通知することができる。
【００６９】
また、取得部１４１は、図７，８に示すような、画像データの一部に基づく検証情報を取得することができる。この場合も、ステップＳ１１１１において第１の検証部１４２は、検証情報を参照して、画像データのどの部分が改ざんされたのかを判定することができる。こうして、第１の検証部１４２は、検証情報を参照して、異常の種類を通知することができる。例えば、実施形態４，５のように、撮像時刻又は撮像場所を示す情報、またはその電子署名を用いて、撮像時刻又は撮像場所を示す情報が改ざんされているか否かを判定することができる。第１の検証部１４３は、このように判定された異常の種類を通知することができる。
【００７０】
取得部１４１は、検証情報に加えて検証情報の電子署名をネットワークカメラ１００から取得することもでき、この場合検証情報の完全性を電子署名を用いて検証することができる。
【００７１】
以上の実施形態１〜７の構成によれば、ネットワークカメラ１００から逐次出力される画像間の連続性に関する改ざんが検知しやすくなり、画像の証拠能力を保証しやすくなる。
【００７２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７３】
１００：ネットワークカメラ、１１０：撮像部、１２０：コントローラ部、１２１：ＣＰＵ、１２２：メモリ、１２３：ネットワークＩ／Ｆ、１２４：不揮発メモリ、１３０：ネットワーク機器、１４０：情報処理装置
【図１】
2019205140.tif 000003
【図２】
2019205140.tif 000004
【図３】
2019205140.tif 000005
【図４】
2019205140.tif 000006
【図５】
2019205140.tif 000007
【図６】
2019205140.tif 000008
【図７】
2019205140.tif 000009
【図８】
2019205140.tif 000010
【図９】
2019205140.tif 000011
【図１０】
2019205140.tif 000012