【文献】
GASSEND, B., et al.,Controlled Physical Random Functions,Proceedings of the 18th Annual Computer Security Applications Conference,2002年12月,pp.149-160
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
(本開示に至った知見)
従来の画像偽造検出システムにおいては、秘密鍵による暗号化データを画像に付加させたり、暗号化したパターンを基にしたLED発光をカメラで撮影したりすることで、改竄防止や閲覧認証をするものがあった。つまり、秘密鍵による暗号データがセキュリティを担う要である。
【0011】
近年の暗号化技術の進歩により、例えば暗号回路の方式の代表的なものとしては3DES(Triple Data Encryption Standard)やAES(Advanced Encryption Standard)といったものが広く用いられている。これらの暗号化方式には、入出力となっている平文(すなわち、暗号前データ)と暗号文のペアを入手し、最高速のコンピュータを駆使して解析しても、現実的な時間内では秘密鍵を特定できないような高度な暗号アルゴリズムが採用されており、その安全性は確認されている。このように暗号データは計算量的安全性に守られている。
【0012】
一般的に秘密鍵は、ICの製造工程で、セキュリティが担保された設備環境下で、予めIC内部に書込まれ、IC間で事前にシェアされている。そして、それら事前にシェアされた秘密鍵をもつIC同士、またはICを搭載した装置と利用者が相互認証できるようにする。これにより、秘密鍵を知りえない不正規のICや利用者の成り済ましやデータ改竄、模造品などを排除する。例えば、認証する側が、乱数データを秘密鍵で暗号化し、認証される側に送信する。認証される側は、予めシェアされた秘密鍵で暗号化された乱数データを復号化して、もとの乱数データに戻し、その乱数データを認証する側に返信する。認証する側は、乱数データが一致することを確認する。これにより、認証される側が秘密鍵を持っていることが担保され、認証する側は認証される側を正規な対象者として認証する。データの通信も同様である。
【0013】
しかしながら、暗号化されたデータへのハッキングは安全であっても、近年の攻撃技術の進歩により、秘密鍵が直接ハッキングされる脆弱性が懸念されはじめた。
【0014】
古典的な手法のICでは、暗号鍵を内部のフューズROMまたは不揮発性メモリに保存していた。前者の構成には、X線投射などによってフューズ素子の状態を観察し、フューズ素子の導通・非導通を解析し、保存されている鍵情報をハッキングされ得る。後者の構成はX線投射では解析されない。しかし、不揮発性メモリのメモリ素子両端に直接プローブをあて電気的に素子の状態を読み取ることにより鍵情報をハッキングされ得る。そのため、セキュリティを強化したICは、内部回路に直接プローブを当てられないように最先端の微細プロセスを用いて製造される。つまり、最新技術のプローブの先端径よりも細い配線ルールをもつ微細プロセスでICを製造することで、プロービングによる解析の脅威を回避していた。
【0015】
先端プロセスを用いればプロービングや光学観察によって解析が困難になる。しかし、生産台数の少ないICの品種は、先端プロセスで製造すると高額になり商品競争力を失う。逆に、製造コストの低い古いプロセスで製造すると物理耐タンパ性が乏しくなる。よって、コストとセキュリティの両立が困難である。
【0016】
さらに、最近ではサイドチャンネル攻撃という手法がとられ始め、脅威とされてきている。サイドチャンネル攻撃とは、各信号処理回路の実行時の半導体デバイスの消費電力、および消費電力に依存する輻射電磁波などのサイドチャネル情報を用いて、秘密鍵を特定する手法である。この手法の一例として、DPA(Differential Power Analysisが挙げられる。この手法が脅威である理由は、攻撃者(すなわち、ハッカー)がICに物理的に損傷を与えず、実動作中に鍵情報をハッキングできることにある。不揮発性メモリに記憶された鍵情報は、暗号処理を実行することをトリガとしたタイミングで読み出される。DPAの原理に鑑みれば、そのタイミングと同じようなタイミングで読み出されたデータが特定され取得されれば、DPAによりデータ内容が解析される恐れがある。
【0017】
また、ICの内部仕様書が漏洩するとICの制御方法がハッカーに理解され、上述のように不揮発性メモリに保存されたデータ全てが、暗号鍵情報も含めてハードコピーされ、ICの複製が作成されてしまう。
【0018】
このように、最新のハッキング攻撃で容易に秘密鍵を盗む事例が報告されており、先行技術では映像を改竄や偽装から防止できなくなってきている。
【0019】
本開示は、秘密情報の漏洩による画像偽造攻撃を防止する画像偽造検出システムを提供すると共に、安全なカメラ監視システムを提供する。なお、画像偽造検出システムは、画像偽造防止装置の一例である。
【0020】
本開示の一態様に係る画像偽造防止装置は、少なくとも所定の期間において、時間の経過に伴って変化するチャレンジデータを生成するチャレンジデータ生成部と、物理的複製困難関数に基づき前記チャレンジデータに対応して、時間の経過に伴って変化する固有のレスポンスを生成する固有レスポンス生成部と、被写体を撮像して得られる被写体画像データを、前記レスポンスに対応して変化させる固有情報付加部と、を備える。
【0021】
ここで、物理的複製困難関数とは、物理的構造体がもつ製造ばらつきをもとによって具体化される関数であり、当該製造ばらつき(つまり当該関数)を、個体ごとに人為的に制御することが極めて困難であるという特徴を有するものである。そのため、前述の構成において、前記レスポンスは物理的な複製が実質的に不可能な個体識別情報であり、当該個体識別情報に対応して前記被写体画像データが変化することにより、前記被写体画像データの改竄検出が可能になる。
【0022】
また、前記固有情報付加部は、前記被写体を撮像して前記被写体画像データを生成し、所定の撮像パラメータの変更によって前記被写体画像データを調整可能な撮像素子を備え、前記固有情報付加部は、前記レスポンスに対応して前記撮像パラメータを変更することによって、前記被写体画像データを前記レスポンスに対応して変化させてもよい。
【0023】
このような構成によれば、基本的な構成要素である撮像素子を用いて、前記被写体画像データに前記固有情報を付加できるので、画像偽造防止装置の構成を簡素化できる。
【0024】
また、前記固有情報付加部は、所定の入力に対応した発光パターンで前記被写体を照明する発光素子を備え、前記固有情報付加部は、前記レスポンスに対応して前記発光素子の生成する発光パターンを変更することによって、前記被写体画像データを前記レスポンスに対応して変化させてもよい。
【0025】
このような構成によれば、照明用の発光素子を有するシステムにおいて、当該発光素子を利用して、前記被写体画像データに前記固有情報を付加できる。例えば、本画像偽造防止装置をドライブレコーダに適用する場合、前記発光素子を車両のヘッドライトとして実装することができる。
【0026】
また、前記固有情報付加部は、所定の入力に対応したキャラクタを生成して前記被写体画像データに付加するキャラクタ生成部を備え、前記固有情報付加部は、前記レスポンスに対応して前記キャラクタ生成部の生成するキャラクタを変更することによって、前記被写体画像データを前記レスポンスに対応して変化させてもよい。
【0027】
このような構成によれば、レスポンスに対応して変化する被写体画像データの部分を前記キャラクタが付加されている部分に限定し、その他の部分において、レスポンスに対応して変化していない本来の被写体画像データを得ることができる。
【0028】
また、前記画像偽造防止装置において、前記チャレンジデータは、時刻情報、位置情報、乱数の少なくとも一つを用いて生成されてもよく、また、製品個体情報、ユーザ固有情報、製品設置の拠点情報の少なくとも一つを用いて生成されてもよい。
【0029】
このような構成によれば、前記チャレンジデータに時刻情報などの被写体画像データごとユニークな情報を用いることによって、被写体画像データの偽造防止及び偽造検出の信頼性が向上する。
【0030】
また、前記画像偽造防止装置において、前記物理的複製困難関数は、抵抗変化型不揮発
性メモリに含まれる抵抗変化素子の抵抗値に基づく関数であってもよい。
【0031】
前記抵抗変化素子の抵抗値は、前記抵抗変化素子に複数存在する導通フィラメントパスの本数やパス経路のばらつきがもととなっている。導通フィラメントは所定以上の電気的ストレスが印加されない間は、同じ状態を維持するものの、所定以上の電気的ストレスが印加されると導通フィラメントの本数や経路がランダムに変更され、抵抗値のばらつき分布関係、すなわち抵抗変化型不揮発性メモリにおける物理的複製困難関数が更新される特徴がある。
【0032】
そのため前述の構成によれば、例えば製品の再利用おいて全く異なる物理的複製困難関数に変更して製品を再利用することができる。また、一度使用した製品を廃棄するとき、これまで改竄検出に用いていた物理的複製困難関数を消去し、安全に廃棄できるシステムを構築できる。その結果、装置の再利用や廃棄において、登録された古い物理的複製困難関数が悪用されるようなリスクを回避できる。
【0033】
また、前記画像偽造防止装置において、前記固有レスポンス生成部は、前記抵抗変化型不揮発性メモリに電気的ストレスを印加することにより前記物理的複製困難関数を変更する書き込み回路を備えてもよい。
【0034】
このような構成によれば、前記抵抗変化型不揮発性メモリに電気的ストレスを印加するという比較的簡便な手順によって、前述した製品の再利用や廃棄の安全性を確保できる。
【0035】
また、前記画像偽造防止装置は、変更後の物理的複製困難関数に基づく所定の情報を外部サーバに送信する送信回路をさらに備えてもよい。前記書き込み回路は、定期的又は不定期的に前記物理的複製困難関数の変更を行ってもよい。
【0036】
このような構成によれば、将来的にPUF自体を解析する未知の攻撃に対しても高い防御力を実現できるため、画像の偽造検出の信頼性がさらに向上する。
【0037】
また、前記画像偽造防止装置において、前記固有レスポンス生成部は、前記物理的複製困難関数の第1および第2の変換テーブルを含んでもよい。前記書き込み回路は、前記第1の変換テーブルを更新せずに、前記第2の変換テーブルを更新することにより、前記物理的複製困難関数を変更してもよい。前記固有レスポンス生成部は、前記第1の変換テーブルと前記更新された第2の変換テーブルの論理演算を行ってもよい。前記画像偽造防止装置は、前記論理演算の結果を外部サーバに送信する送信回路を備えてもよい。前記固有情報付加部は、前記レスポンスのデータと前記被写体画像データとから得られるダイジェストデータを生成するダイジェストデータ生成部を備えてもよい。前記固有情報付加部は、前記被写体画像データに前記ダイジェストデータを付加することにより、前記被写体画像データを変化させてもよい。
【0038】
以下、画像偽造検出システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0039】
(実施の形態1)
図1は、実施の形態1に係るシステムの全体構成を模式的に示す図である。
図1に示す画像偽造検出システム(画像偽造防止装置の一例)1は、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。すなわち、複製が困難な物理的特徴のデータを基にした固有情報を画像データに付加させる。これにより、各装置とユニークに結びついた記録画像を作成し、複製および改竄を防止することができる。画像偽造検出システム1は、撮像素子101、チャレンジデータ生成部102、及び固有レスポンス生成部103を備える。
【0040】
撮像素子101は、被写体の撮像を行う。被写体とは、本システムの撮像装置の撮像対象となる人物、物、風景等の全てのものであり、例えば、監視カメラの監視対象となる、人物、風景、物などである。監視カメラが設定されている場所は、屋外、屋内を問わない。例えば車両の車室内であっても良い。
【0041】
撮像素子101は、被写体の光学像を電気信号に変換する素子であり、例えばCCDイメージセンサやCMOSイメージ−センサなどである。
【0042】
撮像素子101で撮像する被写体画像には、撮像パラメータの変調によって固有情報が付加される。撮像素子101は、所定の撮像パラメータの変更によって撮像される被写体画像を調整することが可能である。撮像素子101は、固有レスポンス生成部103からのレスポンス(以下、レスポンスデータと呼ぶ場合がある)を受けて撮像パラメータを生成する。撮像素子101は、例えばレスポンスに応じてCCDの露光量やホワイトバランスを調整する。撮像素子101は、被写体を撮像して得られる被写体画像を、前記固有のレスポンスに対応して変化させる固有情報付加部100の一例である。
【0043】
チャレンジデータ生成部102は、少なくとも所定の期間において、時間の経過に伴って変化するチャレンジデータを生成する。
【0044】
チャレンジデータとは、時間の経過に従って変化する任意のデータである。例えば時刻情報、位置情報、乱数値など時間の経過に伴い変化する情報(以下、第一の情報と呼ぶ)を用いて生成されても良い。または、製品固体情報、ユーザ固有情報、製品設置の拠点情報などの識別情報(以下、第二の情報と呼ぶ)と、前述の第一の情報とを組み合わせて生成されてもよい。
【0045】
時刻情報は、本システム内にあっても良く、システム外から取得しても良い。例えば基地局や人工衛星から送信される電波等の無線信号から取得してもよい。位置情報は、GPS衛星からの位置情報を取得するか、携帯電話基地局からの情報を利用してもよい。製品個体情報としては、例えば車両識別番号(VIN)などを用いてもよい。
【0046】
前記チャレンジデータの元となる第一の情報および第二の情報は、そのまま映像信号のブランキング期間や映像の一部の画像データに付加されてもよい。改竄されているか否かの確認者(以降、改竄検証者ともいう)は、映像信号に付加された第一の情報および第二の情報を用いて、予め登録されたレスポンス情報からレスポンスデータを導き出し、前記映像信号に含まれるレスポンスデータと照合し、改竄の有無を検査する。
【0047】
固有レスポンス生成部103は、物理的複製困難関数に基づきチャレンジデータに対応して、時間の経過に伴って変化する固有のレスポンスを生成する。
【0048】
物理的複製困難関数(PUF)とは、物理的構造体がもつ製造ばらつきをもとに具体化される関数である。PUF技術において、チャレンジデータを固定したときに生成されるレスポンスデータはデバイスの個体ごとに異なるユニークな固体識別情報となる。すなわち、製造ばらつきを活用してデバイスの個体ごとに異なるユニークな固体識別情報を生成することができる。
【0049】
以降、本明細書では、固有レスポンス生成部103へ入力するチャレンジデータが予め指定された固定のチャレンジデータである場合、そのチャレンジデータに対するレスポンスデータを固体識別情報とし「PUF IDデータ」と呼ぶ。前記の予め指定された固定のチャレンジデータとは、前記第二の情報に含まれる情報などがあげられる。PUF IDデータは各個体の物理特性のばらつきに関連づけられた各デバイス固有の乱数データであると言える。デバイスの個体ごとにその物理特性を人為的に制御することが不可能であるため、物理的な複製が不可能な個体識別情報を生成することができる。このPUF IDデータは、第一の情報や第二の情報とは別に映像信号に付加されても良い。
【0050】
一方で、前記第一の情報をチャレンジデータとして用いた場合、チャレンジデータは、時間とともに変わる。前記の予め登録されたレスポンス情報とは、固有レスポンス生成部103が備えるPUFの変換モデルまたは変換のためのデータテーブル情報である。このような予め登録されたレスポンス情報を、本明細書では、PUF登録情報と呼ぶことにする。前記PUF登録情報は、データサーバーなどに登録される。改竄検証者は、ネットワークを介して、前記PUF登録情報を入手して検査をおこなう。
【0051】
チャレンジデータ生成部102はいかなる構成であっても良く、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)とメモリ等で構成される汎用的コンピュータでも良く、若しくは専用ハードウェアでも良い。汎用コンピュータで実現される場合は、処理の実行はソフトウェアによって行われ、プログラムはROM(Read Only Memory)等の記録媒体に記録される。専用ハードウェアはワイヤードロジックとして構成され、例えばASIC(Applicatoin Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)によって実現される。
【0052】
物理的複製困難関数は、例えば、SRAM(Static Random Access Memory)に電源を投入した際の当該SRAMの初期値があげられる。SRAMを構成しているメモリセルは、クロスカップルのインバータ回路で構成されている。この物理的複製困難関数は、ペアのインバータに含まれるトランジスタの閾値電圧の製造ばらつきに起因したものである。この場合、電源投入時の各メモリセルが、自らのばらつきにより、0または1の何れかの状態に収束する。よって、SRAMのメモリセルは、それぞれ、他のメモリセルとは異なる初期値に収束し得る。メモリセルは、SRAMのアドレスごとに配置されるので、チャレンジデータとしてアドレス情報を用いることができる。
【0053】
固有レスポンス生成部103は、前記第一の情報および第二の情報に従ってSRAMのアドレスを選択し、選択したアドレスに対応するメモリセルが収束した0または1の状態値をレスポンスとして出力する。このようなチャレンジデータとレスポンスの関係はSRAMごとにユニークであり、前記トランジスタの閾値のばらつきは人為的に制御できない。よって、複製が極めて困難な関数を生成することができる。
【0054】
また、物理的複製困難関数としては、配線や論理回路のスループットのばらつきを用いた物理的複製困難関数も例示できる。0から1に変わる立上がりエッジをもつ起動信号を一つの入力端子から入力し、前記起動信号を経路Aと経路Bに入力する。経路AおよびBの途中には、複数の経路選択回路が設けられる。各経路選択回路は、選択信号により、当該選択回路の前段と後段の接続を選択することができる。すなわち、各経路選択回路は、(1)前段の経路AおよびBがそのまま後段の経路AおよびBにそれぞれ接続するか、(2)前段経路Aは後段の経路Bへ、前段の経路Bは後段の経路Aにクロスして接続するかを選択できる。経路Aと経路Bの最終段には前記起動信号の到達時間を計測する判定器が設けられる。判定器は、経路Aの最終段から出力される起動信号の到達時間が、経路Bの最終段から出力される起動信号の到達時間よりも早ければ1、遅ければ0に変換する。
【0055】
このような物理的複製困難関数の方式をアービター方式という。アービター方式では、前記選択信号がチャレンジデータとなり、レスポンスは判定機の判定結果である。アービター方式は、このように配線遅延のばらつきや、前記選択回路のスループットのばらつきを用いている。これらの製造ばらつきも、個体ごとに人為的に制御することは極めて困難であり物理的複製困難関数となりうる。
【0056】
更に、物理的複製困難関数としては、抵抗変化型不揮発
性メモリに含まれる抵抗変化素子の抵抗値のばらつきに基づくものも例示できる。抵抗変化型不揮発性メモリに含まれる抵抗変化素子の抵抗値は、電気的ストレスを印加することにより、その抵抗値が高抵抗状態(HR状態)と低抵抗状態(LR状態)を推移できる。抵抗変化型不揮発
性メモリは、これらの2状態にディジタル情報の2値をそれぞれ割り当て、データを記憶する。抵抗変化素子の抵抗値は、変更可能である。抵抗変化型不揮発性メモリにおける物理的複製困難関数は、前記HR状態、またはLR状態の何れか一方にセットされたメモリセル群の抵抗値のばらつきを用いるものである。
【0057】
各抵抗状態のばらつきは、抵抗変化素子に複数存在する導通フィラメントパスの本数やパス経路のばらつきがもととなっている。導通フィラメントは、所定以上の電気的ストレスが印加されない間は同じ状態を維持する。しかし、所定以上の電気的ストレスが印加されると導通フィラメントの本数や経路がランダムに変更され、抵抗値のばらつき分布関係が更新される。これにより、抵抗変化型不揮発性メモリにおける物理的複製困難関数が更新される。
【0058】
この抵抗変化型不揮発性メモリの物理的複製困難関数の特徴は、SRAMやアービター方式の物理的複製困難関数には無い特徴である。この特徴に従えば、例えば、製品の再利用おいて、それまで使用していた物理的複製困難関数を全く異なる物理的複製困難関数に変更することができる。また、一度使用した製品について、これまで改竄検出に用いていた物理的複製困難関数を消去し、安全に廃棄できるシステムを構築できる。抵抗変化型不揮発性メモリを用いた物理的複製困難関数については、詳細を後述する。
【0059】
なお、固有レスポンス生成部103はいかなる構成であっても良く、CPU又はMPUとメモリ等で構成される汎用的コンピュータと、前記物理的複製困難関数とを複合した構成でも良く、若しくは専用ハードウェアでも良い。汎用コンピュータで実現される場合は、処理の実行はソフトウェアによって行われ、プログラムはROM等の記録媒体に記録される。専用ハードウェアはワイヤードロジックとして構成され、例えばASIC、FPGAによって実現される。
【0060】
(システムの基本動作)
次に、画像偽造検出システム1の動作の一例について
図1と、
図2のフローチャートを用いて説明する。
【0061】
まず、撮像素子101を含むカメラが被写体の撮影を開始する(S101)。チャレンジデータ生成部102が時刻情報と車両識別番号(VIN)を読み込み(S102)、両情報に基づいてチャレンジデータを生成し、固有レスポンス生成部103に送信する(S103)。固有レスポンス生成部103は、物理的複製困難関数(PUF)に基づき、チャレンジデータに対応したレスポンスデータを生成する(S104)。生成されたレスポンスデータは、撮像素子101に入力される(S105)。撮像素子101は、レスポンスデータに対応して撮像パラメータを変調することにより、被写体を撮像して得られる被写体画像に固有情報を付加する(S106)。
【0062】
固有情報が付加された被写体画像はECU(Electronic Control Unit)等を介して外部のサーバ(図示せず)に送信される。サーバは画像データから付加された固有情報(暗号情報)を抽出し、偽造の有無を判定する(S107)。正しいデータであると判定されれば偽造検出の処理は終了する。それに伴い、カメラは撮影を停止してもよい。偽造データであると判定された場合、画像偽造検出システム2は、カメラが設置された場所において警告を発したり、被写体の所有者や所定の機関に通報してもよい。
【0063】
なお、検証者が判定に用いる時刻情報は、別途無線回線やネットワークを介して装置から検証者に送られてもよいし、時刻表示器を実際に撮影して映像に含めても良い。更に、映像信号のブランク期間などに時刻情報を含めてもよいし、映像信号にキャラクタジェネレータにより付加させてもよい。これらの変形は、以降の実施形態にも適用される。
【0064】
以上のように、本実施形態では、撮像素子101の撮像パラメータの変調により画像へ固有情報を付加させ、この撮像パラメータの変化に伴い、撮像素子101により撮像される被写体を含む画像が変化する。この画像の変化と、レスポンスの変化とは、所定の期間において対応する。
【0065】
上記構成により、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。これにより、各装置とユニークに結びついた記録画像を作成できるため、複製および改竄を防止することができる。
【0066】
なお、上述の実施形態では、レスポンスの変化に対応付けられる被写体を含む画像の変化が、撮像パラメータの変化に伴うものである例を説明したが、本開示の画像偽造検出システムはこれに限られるものではない。所定の期間において、レスポンスの変化と撮像素子により撮像される被写体を含む画像の変化が対応すればよい。ここで、画像の変化とは、チャレンジデータに対して、固有レスポンスデータへ紐づく何らかの変調によって、画像に固有情報が付加される状態を指す。何らかの変調とは、固有レスポンスデータに紐づくものであればどのようなものでもかまわない。例えば画像情報のうち、色、明るさといった情報が変調される。また画像情報そのものが変調される必要はない。例えば、画像と同時に記録される音声情報が変調されてもよい。その際は、固有情報を、音声を僅かに変調することで付加させるか、超音波領域に付加させる。また、固有情報を、画像を所定の方式で表示させる際のブランキング期間の信号に付加させてもよい。
【0067】
(実施の形態2)
図3は、実施の形態2に係るシステムの全体構成を模式的に示す図である。
【0068】
実施の形態1では、固有レスポンス生成部103で生成されたレスポンスデータにより撮像素子101の撮像パラメータを変調させることにより、画像に固有情報を付加させた。本実施形態における画像偽造検出システム2では、レスポンスデータにより発光素子204の発光パターンを変化させることにより、画像に固有情報を付加させる点が、実施の形態1と異なる。
【0069】
図3に示す画像偽造検出システム(画像偽造防止装置の一例)2は、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。すなわち、複製が困難な物理的特徴のデータを基にした固有情報を画像データに付加させる。これにより、各装置とユニークに結びついた記録画像を作成し、複製および改竄を防止する。画像偽造検出システム2は、撮像素子201、チャレンジデータ生成部102、固有レスポンス生成部103、及び発光素子204を備える。
【0070】
発光素子204は、所定の入力に対応して発光パターンを生成する。より詳しくは、固有レスポンス生成部103で生成されたレスポンスデータを入力されると、レスポンスデータに基づいて固有の発光パターンを生成する。発光素子204は、生成された発光パターンで被写体を照明する。発光素子204は、被写体を撮像して得られる被写体画像を、前記固有のレスポンスに対応して変化させる固有情報付加部200の一例である。
【0071】
発光素子204は、電気信号を光信号に変換する素子であり、例えば半導体レーザ(LD)や発光ダイオード(LED)である。
【0072】
撮像素子201は、固有の発光パターンで照明された被写体を撮像することにより、固有情報が付加された被写体画像を得る。
【0073】
(システムの基本動作)
次に、画像偽造検出システム2の動作の一例について
図3と、
図4のフローチャートを用いて説明する。
【0074】
まず、撮像素子201を含むカメラが被写体の撮影を開始し、発光素子204が被写体の照明を開始する(S201)。チャレンジデータ生成部102が時刻情報と車両識別番号(VIN)を読み込み(S202)、両情報に基づいてチャレンジデータを生成し、固有レスポンス生成部103に送信する(S203)。固有レスポンス生成部103は、物理的複製困難関数(PUF)に基づき、チャレンジデータに対応したレスポンスデータを生成する(S204)。生成されたレスポンスデータは発光素子204に入力される(S205)。発光素子204は、レスポンスに対応して固有の発光パターンを生成し、被写体を照明するための発光パターンに固有情報を付加する(S206)。撮像素子201は発光素子204によって照明された被写体を撮像する。これにより、撮像素子201は固有情報が付加された被写体画像を得る(S207)。
【0075】
固有情報が付加された被写体画像は、ECU等を介して外部のサーバ(図示せず)に送信される。サーバは、画像データから付加された固有情報(暗号情報)を抽出し、偽造の有無を判定する(S208)。正しいデータであると判定されれば偽造検出の処理は終了する。それに伴い、カメラは撮影を停止し、発光素子は発光を停止してもよい。偽造データであると判定された場合、画像偽造検出システム2は、カメラが設置された場所において警告を発したり、被写体の所有者や所定の機関に通報してもよい。
【0076】
以上のように、本実施形態では、発光素子204の発光パターンを変化させることにより画像へ固有情報を付加させている。この発光パターンの変化に伴い、撮像素子201により撮像される被写体を含む画像が変化する。この画像の変化と、レスポンスの変化とは、所定の期間において対応する。
【0077】
上記構成により、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。これにより、各装置とユニークに結びついた記録画像を作成できるため、複製および改竄を防止することができる。なお、発光素子204が発する光は可視光でもよく、人間の目で知覚できない周波数の光であってもよい。
【0078】
また、発光パターンの変化は光量の変化(すなわち、輝度の変化)を想定しているが、これに限られない。変化量についても、人間の目が知覚できる程度の変化でもよく、人間には認知できない程度の微小または高速な変化であってもよい。可視光によるフリッカ通信の要領で発光パターンを変化させてもよい。
【0079】
(実施の形態3)
図5は、実施の形態3に係るシステムの全体構成を模式的に示す図である。
【0080】
実施の形態1では、固有レスポンス生成部103で生成されたレスポンスデータにより撮像素子101の撮像パラメータを変調させることにより、画像に固有情報を付加させた。本実施形態における画像偽造検出システム3では、レスポンスデータによりキャラクタ生成部305の生成するキャラクタを変化させることにより、画像に固有情報を付加させる点が、実施の形態1と異なる。
【0081】
図5に示す画像偽造検出システム(画像偽造防止装置の一例)3は、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。すなわち、複製が困難な物理的特徴のデータを基にした固有情報を画像データに付加させる。これにより、各装置とユニークに結びついた記録画像を作成し、複製および改竄を防止するシステムである。画像偽造検出システム3は、撮像素子301、チャレンジデータ生成部102、固有レスポンス生成部103、キャラクタ生成部305を備える。
【0082】
キャラクタ生成部305は、所定の入力に対応したキャラクタを生成する。より詳しくは、固有レスポンス生成部103で生成されたレスポンスデータを入力されると、レスポンスデータに基づいて固有のキャラクタを生成する。キャラクタ生成部305は、撮像素子301が撮像した被写体画像にキャラクタを付加する。これにより、固有情報が付加された被写体画像が得られる。キャラクタ生成部305は、被写体を撮像して得られる被写体画像を、前記固有のレスポンスに対応して変化させる固有情報付加部300の一例である。
【0083】
ここでキャラクタは、単純にアスキーなどの文字を画像の一部のエリアを置換えてもよいし、二次元バーコードのようなキャラクタコードで置換えても良いが、これに限られない。一般に、このように画像の一部を実際に撮像された映像ではなく人工的に作成された画像マッピング情報に置換える技術は、キャラクタジェネレータ機能とよばれ様々な先行技術があるので、詳細な技術説明は省略する。
【0084】
キャラクタ生成部305はいかなる構成であっても良く、CPU又はMPUとメモリ等で構成される汎用的マイクロコントローラユニット(MPU)でも良く、若しくは専用ハードウェアでも良い。汎用MPUで実現される場合は、処理の実行はソフトウェアによって行われ、プログラムはROMや不揮発性メモリ等の記録媒体に記録される。専用ハードウェアはワイヤードロジックとして構成され、例えばASIC、FPGAによって実現される。
【0085】
(システムの基本動作)
次に、画像偽造検出システム3の動作の一例について
図5と、
図6のフローチャートを用いて説明する。
【0086】
まず、撮像素子301を含むカメラが被写体の撮影を開始する(S301)。チャレンジデータ生成部102が時刻情報と車両識別番号(VIN)を読み込み(S302)、両情報に基づいてチャレンジデータを生成し、固有レスポンス生成部103に送信する(S303)。固有レスポンス生成部103は、物理的複製困難関数(PUF)に基づき、チャレンジデータに対応したレスポンスデータを生成する(S304)。生成されたレスポンスデータはキャラクタ生成部305に入力される(S305)。キャラクタ生成部305は、レスポンスに対応して固有のキャラクタを生成し、撮像素子301から送られた被写体画像に固有情報を付加する(S306)。
【0087】
固有情報が付加された被写体画像はECU等を介して外部のサーバ(図示せず)に送信され、サーバは画像データから付加された固有情報(すなわち、暗号情報)を抽出し、偽造の有無を判定する(S307)。正しいデータであると判定されれば偽造検出の処理は終了する。それに伴い、カメラは撮影を停止し、発光素子は発光を停止してもよい。偽造データであると判定された場合、画像偽造検出システム3は、カメラが設置された場所において警告を発したり、被写体の所有者や所定の機関に通報してもよい。
【0088】
以上のように、本実施形態では、キャラクタ生成部305の生成するキャラクタを変化させることにより画像へ固有情報を付加させている。このキャラクタの変化に伴い、撮像素子301により撮像される被写体を含む画像が変化する。この画像の変化と、レスポンスの変化とは、所定の期間において対応する。
【0089】
上記構成により、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。これにより、各装置とユニークに結びついた記録画像を作成できるため、複製および改竄を防止することができる。
【0090】
以上、実施の形態1〜3では、固有レスポンス生成部103で生成されたレスポンスデータにより、撮像素子101の撮像パラメータ、発光素子204の発光パターン、キャラクタ生成部305の生成するキャラクタを、それぞれ変化させることにより、画像に固有情報を付加させた。しかし、本開示はこれら例示に限られるものではない。実施の形態1〜3に開示の手段を組み合わせて、固有情報を付加させる手段を複数併用してもよい。
【0091】
なお、実施の形態1〜3では、チャレンジデータのもととなる情報が時間情報と車両識別番号である場合を例示した。しかしながら、既に述べたように、チャレンジデータのもととなる情報は、第一の情報および第二の情報の例として示した全てのデータのうち、何れか一つまたは何れか複数の組合せで置換えても良い。また、撮影された映像はネットワークを介して外部サーバに転送される例で示した。しかしながら、撮影された映像は、テープや不揮発性メモリなどにアーカイブされてもよい。アーカイブされた映像は、別途閲覧するときに改竄されていないことを証明するために用いられてもよい。さらに、例えば、監視カメラの映像のように犯罪現場の証拠品として利用されても良い。
【0092】
(変形例)
図7は、実施の形態の変形例に係る画像偽造検出システムの全体構成を示す図である。画像偽造検出システム4は、撮像素子401、チャレンジデータ生成部402、固有レスポンス生成部403、発光素子204、及びキャラクタ生成部405を備える。
【0093】
画像偽造検出システム(画像偽造防止装置の一例)4は、装置ごとにユニークで複製が物理的にできないデータを基にした固有情報を画像に付加させる。すなわち、複製が困難な物理的特徴のデータを基にした固有情報を画像データに付加させる。これにより、各装置とユニークに結びついた記録画像を作成し、複製および改竄を防止するシステムである。
【0094】
チャレンジデータ生成部402は、チャレンジデータを生成して固有レスポンス生成部403に送信する一方、第一の情報(例えば時間情報)をキャラクタ生成部405に送信する。
【0095】
固有レスポンス生成部403は、チャレンジデータに対応するレスポンスデータを生成し、発光素子204、撮像素子401、及びキャラクタ生成部405各々またはその一部に対して送信する。被写体画像に固有情報を付加させるために、レスポンスデータをどの構成に入力するかは、適宜選択される。
【0096】
例えば、撮像素子401にレスポンスデータを入力する場合は、実施の形態1のS101〜106と同様のステップで被写体画像に固有情報が付加される。
【0097】
例えば、発光素子204にレスポンスデータを入力する場合は、実施の形態2のS201〜207と同様のステップで被写体画像に固有情報が付加される。
【0098】
例えば、キャラクタ生成部405にレスポンスデータを入力する場合は、実施の形態3のS301〜306と同様のステップで被写体画像に固有情報が付加される。
【0099】
画像偽造検出システム4では、発光素子204、撮像素子401、及びキャラクタ生成部405のうちの2以上の構成要素を用いて被写体画像に固有情報を付加することができる。
【0100】
次のステップとして、固有情報が付加された被写体画像は、撮像素子401からキャラクタ生成部405に送信される。キャラクタ生成部405では、チャレンジデータ生成部402から受信した時刻情報を、さらに被写体画像に付加し、ECU等を介してサーバに送信する。
【0101】
このような構成では、被写体画像にPUFを基にしたユニークな情報と、絶対的な時間情報とが付加されることになり、偽造判定の信頼性がより向上する。画像偽造検出システム4では、発光素子204、撮像素子401、及びキャラクタ生成部405が、固有情報付加部500に含まれる。
【0102】
なお、実施の形態1〜3および変形例で説明したシステムの動作は例示であり、上述の内容に限定されない。例えば、チャレンジデータ生成部102は、第一の情報としての時刻情報、第二の情報としての車両識別番号をマージしてチャレンジデータを生成しているが、これら以外の情報を第一の情報、第二の情報として用いてもよい。また、チャレンジデータ生成部102は、第一の情報のみ、または第二の情報のみを用いてチャレンジデータを生成することも可能である。また、チャレンジデータ生成部102がチャレンジデータ生成のために組み合わせる情報数は2つより多くてもよい。
【0103】
また、画像偽造検出のための一連の動作は、所定の期間において実行されるものであり、連続的に常に実行される必要はない。画像偽造検出のための一連の動作が、断続的/周期的に繰り返し実行されることによりセキュリティ性を高めるのが望ましい。
【0104】
また、固有レスポンス生成部103、403と、撮像素子101、401、発光素子204、またはキャラクタ生成部305、405との間に、一方向性のハッシュ関数回路(図示せず)を配置してもよい。この構成では、固有レスポンス生成部103、403が生成したレスポンスデータが、ハッシュ関数回路を介して撮像素子101、401、発光素子204、またはキャラクタ生成部305、405に入力される。用いるハッシュ関数は、ハッシュ関数規格SHAを満たすものが望ましい。ハッシュ関数回路を配置することで、データ通信途中での改竄検知をより確実に行うことができ、認証の信頼性が向上する。
【0105】
(抵抗変化型不揮発性メモリを用いたPUFの例示)
ここで、抵抗変化型不揮発
性メモリを用いたPUFについて説明する。
図8は、本開示の抵抗変化型の不揮発
性メモリの具体的な構成例を示すブロック図である。なお、
図8はあくまで一例であり、本実施形態の物理的複製困難関数(PUF)を備えた抵抗変化型の不揮発性メモリの具体的構成が
図8に示される構成に限定されるものではない。
【0106】
図8に示すように、実施例の不揮発性メモリ10は、半導体基板上にメモリ本体部22を備えている。また、不揮発性メモリ10は、さらに、データ入出力回路6と、制御回路15と、アドレス入力回路16と、誤り訂正およびパリティ生成回路400と、を備えている。
【0107】
メモリ本体部22は、読み出し回路11と、書き込み回路14と、カラムデコーダ回路17と、ロウデコーダ回路18と、メモリセルアレイ20と、中央値検出回路25と、を備えている。書き込み回路14は、選択されたメモリセル21へ、各動作における所定の電圧を印加して、記憶するデータに応じた抵抗値状態を書き込む。
【0108】
読み出し回路11は、ビット線に流れる電流の変化を、2値より大きい多値のディジタルデータとして読み出す回路である。このディジタルデータは、抵抗値に相関のある情報を示す抵抗値情報データである。一般的なメモリ装置において、記憶するデータに応じて書込まれた抵抗値状態から、もとのデータを読み出す場合は、所定の閾値と抵抗値を比べた大小関係の2値に判別する読み出し回路があればよい。これに対し、本実施のように抵抗値のばらつきから物理的複製困難関数を生成させるには、より高精度な抵抗値情報が必要となる。
【0109】
読み出し回路11は、通常のデータ読み出しにも使用できる。その場合、読み出し回路11は、前記抵抗値情報データを所定の閾値で2値に判別することで、もとの0/1データに復元する。一般に、抵抗値は、印加した電圧に対する電流値で定義される。しかし、前記抵抗値情報データは、これに限定されない。例えば、コンデンサに充電された電荷が、選択されたメモリセルを介して放電され、それに伴って検出電圧が低下し、所定のレベル以下まで低下するまでの時間に関する情報のデータを抵抗値情報データとして用いても良い。
【0110】
ロウデコーダ回路18は、メモリセルアレイ20に接続されている複数のm+1本のワード線WLの中から1つのワード線WLを選択する。
【0111】
カラムデコーダ回路17は、複数のn+1本のビット線BLと複数のn+1本のソース線SLの中から並列読み出し数であるs本のビット線BLと、それに対応するs本のソース線SLとを選択し、書き込み回路14および読み出し回路11へ接続する。
【0112】
これらの動作は、並列的に読み出しおよび/または書き込みが行われる行および/または列の数に応じて行うことが可能である。
【0113】
不揮発性メモリ10の読み出し回路11は、出力端子Aおよび出力端子Bと、入力端子Aとを有する。読み出し回路11は、入力端子Aを介して閾値を受け取る。この閾値は、読み出し回路11が、カラムデコーダ回路17から得られた信号を0または1のデータとして二値化するために利用される。
【0114】
また、読み出し回路11は、出力端子Bを介して、カラムデコーダ回路17から得られた信号を中央値検出回路25に出力する。この信号は、物理的複製困難関数(PUF)のレスポンスデータ(以降、PUFレスポンスデータ)を生成するために必要な中央値を算出するために中央値検出回路25によって利用される。
【0115】
さらに、読み出し回路11は、出力端子Aを介して、ユーザデータである0または1のデータ、および、PUFレスポンスデータである0または1のデータを出力する。ユーザデータを生成する際に利用される閾値と、PUFレスポンスデータを生成する際に利用される閾値とは異なっていてもよい。ユーザデータを生成する際に利用される入力Aと異なる閾値は、制御回路から入力される(図示せず)。
【0116】
ここで、抵抗変化素子の抵抗値のばらつきを用いた物理的複製困難関数の生成について説明する。
【0117】
図9Aは、抵抗変化素子の抵抗ばらつきを説明する説明図である。
図9Aのグラフにおいて、横軸は抵抗値に相関のある抵抗値情報を規格化した値である。縦軸は抵抗値のばらつき分布を示す標準偏差である。既に抵抗変化素子の抵抗状態にはHR状態とLR状態があることを述べた。各抵抗状態には、抵抗変化素子ごとにばらつきがある。
図9AのグラフはLR状態にある抵抗変化素子(メモリセル)の抵抗値ばらつき分布を示している。このように、抵抗値情報に対する標準偏差の分布が、ほぼ直線でプロットでき、理想的な正規分布に従うことが示される。
図9Aにあるように、このばらつき分布の中央値(標準偏差がゼロのポイント)で、0と1の2値データに分ければ、非常に乱数性の高いデータが得られる。このような中央値が、
図8の中央値検出回路25で演算され、入力端子Aを介して読み出し回路11へ、閾値として入力される。
【0118】
このようなメモリアレイの各アドレスに応じたデータが、PUFレスポンスデータを導き出す変換テーブル情報を成すことになる。
【0119】
図9Bは抵抗変化素子23の抵抗変化のメカニズムを説明する説明図である。
図9Bにおいて、抵抗変化素子23は、第1電極231と第2電極232との間に抵抗変化層233と高抵抗層234が介在する構成を有する。抵抗変化層233は、例えば金属酸化物、より詳細には例えば遷移金属酸化物で構成することができる。第1電極231は接続プラグ237を介して図外のトランジスタへ接続され、メモリセルが構成される。
【0120】
可変状態にあるメモリセルの抵抗変化素子23は、第1電極231と第2電極232との間に電気的信号が印加されることによって、第1電極231と第2電極232との間の抵抗値が複数の可変抵抗値範囲の間を可逆的に遷移する性質を有する。
【0121】
製造直後で初期状態にあるメモリセルの抵抗変化素子23の高抵抗層234は絶縁状態にある。この高抵抗層234は、抵抗変化層233よりも酸化度が高い状態にある。絶縁とは、具体的には2MΩ以上とすることができる。初期抵抗値範囲は、抵抗変化素子23の材料、大きさ、形状、及び製造条件等によってある程度調整することができる。例えば、特に抵抗変化層233が積層構造である場合、酸素濃度の高い層の厚み、および形成時の酸素濃度によって任意に調整可能であるが、個別のメモリセルごとには調整できない。初期状態の抵抗変化素子23も、素子ごとにばらつきをもっており、この状態のメモリセル群からもPUFレスポンスデータを得ることができる。
【0122】
初期状態の抵抗変化素子23は、所定の電気的ストレスを印加することにより、抵抗値がHR状態とLR状態に変化できる変化状態に推移できる。このような電気的ストレスをフォーミングストレスという。一旦、可変状態になった抵抗変化素子23は初期状態に戻ることはできず、前記フォーミングストレスより小さい電気的信号により、HR状態とLR状態間を可逆的に推移できる。抵抗変化素子23の抵抗値を読み出す場合は可変抵抗値範囲の間で変化させる電気的信号およびフォーミングストレスのいずれよりも小さな電圧を印加して読み出される。
【0123】
フォーミングストレスが印加されると、
図9Bにおいて高抵抗層234の一部に濃いグレーで示した酸素欠陥発生エリア235が発生する。この酸素欠陥発生エリア235は、電気的信号の印加により酸素欠陥236が発生したり、消滅したりする抵抗変化エリアとなる。酸素欠陥236が発生する量や配置は、書換えのたびにランダムに変化する。
【0124】
LR状態にあるメモリセルのなかでも抵抗値の低いメモリセルはフィラメント状態Aのように酸素欠陥236の密度が高く、多くのフィラメントパスがつながった状態である。一方、LR状態にあるメモリセルのなかでも抵抗値の高いメモリセルはフィラメント状態Bのように酸素欠陥236の密度が低く、フィラメントパスの繋がりが少ない状態である。書き換えるたびに、酸素欠陥236の量や配置はランダムに変わるため、フィラメント状態Aにあったメモリセルが状態Bになったり、逆にフィラメント状態Bにあったメモリセルが状態Aになったりして人的に制御できない推移を示す。この特性を用いることで前記物理的複製困難関数の更新が可能となる。書き込み回路14は、メモリセルを書き換えて前記物理的複製困難関数を更新する。
【0125】
抵抗変化層233および高抵抗層234は金属酸化物から構成されてもよい。抵抗変化層233および高抵抗層234は、酸素不足型の金属酸化物から構成された層を備えてもよい。抵抗変化層233および高抵抗層234を構成する金属酸化物は、遷移金属酸化物およびアルミニウム酸化物の少なくともいずれか一方であってもよい。また、抵抗変化層233および高抵抗層234を構成する金属酸化物は、タンタル酸化物、鉄酸化物、ハフニウム酸化物およびジルコニウム酸化物の少なくともいずれかであってもよい。また、抵抗変化層233および高抵抗層234を構成する金属酸化物として、チタン(Ti)酸化物、ニッケル(Ni)酸化物、鉄(Fe)酸化物等を用いることができる。第1電極231および第2電極232の材料には、例えば、イリジウム(Ir)、白金(Pt)、タングステン(W)、銅(Cu)、アルミニウム(Al)、窒化チタン(TiN)、窒化タンタル(TaN)および窒化チタンアルミニウム(TiAlN)等を用いることができる。
【0126】
引き続き、中央値検出回路25の動作の一例について説明する。
【0127】
読み出し回路11は抵抗値情報データを入力端子Aに入力される閾値と比較して、等しければ0、大きければ1、小さければ−1の中央値誤差信号を出力端子Bから出力する。出力端子Bから出力される中央値誤差信号は並列的に読み出されるチャンネル数(s)だけ同時に出力される。s個の中央値誤差信号は、中央値検出回路25に入力される。中央値検出回路25は演算回路であり、たとえば半導体集積回路を用いて実現され得る。中央値検出回路25は中央値誤差信号が小さくなるようにフィードバック制御されて算出した抵抗中央値を読み出し回路11の入力端子Aに出力する。前記フィードバック制御を適切に行うことで、
図9Aに示したばらつき中央値を演算し、前記物理的複製困難関数の変換テーブルとなるデータを読み出す閾値を生成する。
【0128】
なお、中央値を求める方法はこの例には限られない。例えば、メモリの所要量は大きくなるが、中央値検出回路で複数の抵抗値を記憶してソートする方法により中央値を求めてもよい。
【0129】
図10は、上述したように、抵抗値のばらつき分布の中央値を検出し、その中央値を閾値として各メモリセルの抵抗値から0/1の2値データにした模式図である。前述したように並列に読み出し可能なビット数をsビットとしていたが、
図10では、16ビットの場合を例示しており、これらのビットをそれぞれDQ0〜DQ15としている。縦方向に各アドレス値が示されており、各アドレスに対してランダムなデータが出力されていることが分かる。このようにアドレスに対する物理的複製困難関数の変換テーブルが生成され、この変換テーブルは装置ごとにユニークで、かつ複製できないテーブルである。つまり、
図10のアドレス値をチャレンジデータとして受け取り、それに応じたDQデータをPUFレスポンスデータとして出力することができる。
【0130】
装置外部に出力されるPUFレスポンスは、直接出力するとテーブルが推測されるため、ハッシュなどの一方向関数により変換して出力することが望ましい。なお、抵抗値のばらつきから生成される前記変換テーブルデータは、データ誤りを含むことがある。従って、
図8の誤り訂正及びパリティ生成回路400は、別途誤り訂正用のパリティデータを設けて、前記変換テーブルデータに発生したデータ誤りを訂正し、常に同じテーブルにする機能を有する。誤り訂正技術については公知の技術であるため詳細は省略する。
【0131】
以上のように、固有レスポンス生成部103で用いるPUFに抵抗変化型不揮発
性メモリを用いることで、偽造防止の要となる物理的複製困難関数を構成できるだけでなく、前記物理的複製困難関数の更新が可能である。よって、装置の廃棄や再利用において登録された古い物理的複製困難関数が悪用されるようなリスクを回避できる。また、所定の電気的ストレスを印加することで異なる物理的複製困難関数に変更する処理を定期的又は不定期的に行ってもよい。この場合、変更後の物理的複製困難関数から新たに得られたばらつき情報を外部のサーバに登録し、定期的にPUFを更新する。当該ばらつき情報は、変更後の物理的複製困難関数に基づく所定の情報の一例である。この構成により、将来的にPUF自体を解析する未知の攻撃に対しても高い防御力を実現できるため、画像の偽造検出の信頼性がさらに向上する。
【0132】
また、固有レスポンス生成部103、403と、キャラクタ生成部305、405との間に、一方向性のハッシュ関数回路(図示せず)を配置してもよいことは既に述べた。しかし、ハッシュ関数を用いる構成は、この構成に限定されない。例えば、
図5で述べたキャラクタ生成部305または
図7で述べたキャラクタ生成部405は、撮像素子301または401から得られた映像データとPUFレスポンスデータを含む一連のデータからハッシュ値を求めても良い。このハッシュ値は、PUFレスポンスデータおよび映像データを含むデータ全体のダイジェストデータである。ハッシュ関数の特性から、PUFレスポンスデータおよび映像データでうち1bitでも変更が加えられると、ハッシュ値が変化する。つまり、ハッシュ関数を用いることにより、映像データが何らかの改ざんが成された場合、容易に検出することができる。
【0133】
図11に処理および送信データのイメージ図を示す。映像データは、非圧縮・圧縮データのどちらであっても良い。固有レスポンス生成部103または403は、チャレンジデータから物理的複製困難関数によってレスポンスデータを得る。キャラクタ生成部305または405は、このレスポンスデータと映像データからハッシュ値を算出する。よって、ECUが送信する送信データはチャレンジデータと映像データとハッシュ値を合わせたものとなる。受信側では、前記送信データを受信すると、データ内からチャレンジデータを抽出し、予め登録されたレスポンス情報(以下、データベースと呼ぶ場合がある)を、抽出したチャレンジデータに応じて呼び出す。更に受信側は、そのデータベースのレスポンスデータと映像データからハッシュ値を計算する。受信側は、送信データのハッシュ値と、受信側で計算したハッシュ値が一致するか否かで、改ざん検知を行うことができる。
【0134】
なお、前記ダイジェストデータはMAC(Message Authentication Code)を用いて生成しても良い。MACには、暗号回路用いてデータのダイジェストを生成するCMAC(Cipher-based Message Authentication Code)などがある。一方向関数に順ずるものであれば、MACの方式は限定されない。
【0135】
ReRAMにおいて、
図10で示すように、アドレスに対する物理的複製困難関数の変換テーブルが生成されることを述べた。つまりReRAMにおいては、
図10のようなアドレスと、それに応じたPUFデータが、生PUFデータ(Raw PUF data)として扱われ、ReRAMのPUFにおいて最もセキュリティを確保する必要のある重要なデータである。
図10のような生PUFデータは、セキュリティが確保された製造拠点においてデータサーバーなどに登録され、その後は装置から読み出されることがないようにする。これにより、重要な生PUFデータが外部に漏洩することを防止することができる。しかし、多くの人が介在するセキュリティ運用においては完全性を確保することは非常に困難であり、常に重要データの漏洩リスクを抱えている。
【0136】
前述したようにReRAMを用いた物理的複製困難関数は、更新できるという特徴を有する。この特徴を活かして生PUFのデータベースを更新することができる。一般的な方式において物理的複製困難関数は原理的に更新されることは無い。装置出荷時に製造拠点で登録された物理的複製困難関数は更新されることが無いため、データベースが漏洩するとセキュリティが担保されない。ReRAMを用いた本開示の画像偽造防止装置は出荷後のフィールド上で物理的複製困難関数を更新し、再登録することで、前述するようなセキュリティ上のリスクに対して対策することができる。
【0137】
図12に示すように、ReRAM上に
図10に示すような物理的複製困難関数の変換テーブルを少なくとも2領域以上具備する。この2領域の物理的複製困難関数の変換テーブルを
図12にあるようにPUF1とPUF2とする。PUF1とPUF2は装置出荷時に製造拠点で読み出され、データベースに登録されているとする。そして、出荷後は、回路上の制約により、PUF1とPUF2がビット毎に排他的論理和されたデータでしか読み出せない。以降、PUF1とPUF2の排他的論理和データをEXOR(PUF1,PUF2)と標記する。PUF1とPUF2はともに装置固有の乱数値となり、2つの乱数値の排他的論理和からは、PUF1とPUF2を容易に類推することは困難である。
【0138】
出荷後のフィールド上において、PUF1の物理的複製困難関数は変更されず、出荷時にデータベースに登録された値と等しい。しかし、PUF2は、ReRAMの特徴に従って、前述した方法により物理的複製困難関数が更新される。
図12に示すように、EXOR(PUF1,PUF2)は、ECUを介してデータベースサーバーに送信される。データベースサーバーでは、事前に登録されたPUF1から、PUF2のデータが算出できるため、PUF2の更新内容が特定できる。よって、データベースサーバーは、データベース上のPUF2のデータを更新することができる。例えば、画像データ送信装置をフィールド上に設置する場合、フィールド上で初めて電源を投入したときに一度だけ、このような更新手続きができるように回路上に制約を与える。これにより、EXOR(PUF1,PUF2)を読み出す機会が制限され、セキュリティが更に向上できる。
【0139】
なお、ReRAMからの読み出し、ECUからデータベースサーバーへの登録などの通信路は暗号通信を行ってセキュリティを更に向上してもよい。通信路の暗号については衆知の技術で種々の方式があるので詳細は割愛する。
【0140】
上述の実施の形態および変形例は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
【0141】
また、各実施の形態および変形例において、各処理(各機能)は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。例えば、撮像素子をドライブレコーダ用カメラの撮像素子として実装し、発光素子を車体のヘッドライトとして実装して連携させてもよい。この構成では、ドライブレコーダとしての真贋がより高い信頼性で証明できるため、保険サービスに適用することも可能である。
【0142】
本開示は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本開示の範囲内に包含されるものであることは言うまでもない。