JP2006129079A - データ処理装置及びその方法 - Google Patents

データ処理装置及びその方法 Download PDF

Info

Publication number
JP2006129079A
JP2006129079A JP2004314717A JP2004314717A JP2006129079A JP 2006129079 A JP2006129079 A JP 2006129079A JP 2004314717 A JP2004314717 A JP 2004314717A JP 2004314717 A JP2004314717 A JP 2004314717A JP 2006129079 A JP2006129079 A JP 2006129079A
Authority
JP
Japan
Prior art keywords
information
key
verification
secret
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004314717A
Other languages
English (en)
Inventor
Keiichi Iwamura
岩村恵市
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2004314717A priority Critical patent/JP2006129079A/ja
Priority to US11/574,089 priority patent/US7930544B2/en
Priority to PCT/JP2005/019942 priority patent/WO2006046724A1/en
Publication of JP2006129079A publication Critical patent/JP2006129079A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】 例えば、製造メーカの負担及びユーザの操作を最小限に抑えつつ、改ざんを困難にする技術を提供する。
【解決手段】 第1、第2のデータ処理装置を備える検証情報生成システムであって、第1のデータ処理装置は、あらかじめ設定された第1の秘密情報を記憶保持する記憶保持手段と、第2のデータ処理装置より第2の秘密情報に関する情報を受信する受信手段と、第1の秘密情報と第2の秘密情報に関する情報から鍵情報を生成する鍵情報生成手段と、鍵情報を第2の秘密情報から導出可能とする鍵導出補助情報を生成する鍵導出補助情報生成手段と、検証対象情報と鍵情報に基づいて検証情報を生成する検証情報生成手段と、検証対象情報、検証情報、並びに鍵導出補助情報を出力する出力手段とを備え、第2の秘密情報は、第2のデータ処理装置にあらかじめ設定された情報である。
【選択図】 図5

Description

本発明は、デジタルデータの改ざん検出技術に関する。
近年、デジタルカメラが急速に普及している。デジタルカメラで撮影された画像は、電子的な画像データとして記憶保管することが可能であるため、従来の銀塩写真のように現像、プリントといった手間が省けるだけでなく、経年劣化がない、保管や検索が容易に行える、データを通信回線を用いて遠隔地に送信できるといった様々なメリットがある。このため、多くの業務分野でデジタルカメラが利用されている。
例えば、事故車の破損状況を撮影し、撮影された画像に基づいて事故査定を行う損害保険業界、建設現場での工事の進捗状況や仕様の確認のために建築物を撮影する建設業界が挙げられる。国土交通省では既に土木工事現場の記録用にデジタルカメラで撮影された画像の使用を認めている。
しかし、デジタル化されることによるデメリットも指摘されている。それは、市販のフォトレタッチツール等のアプリケーションプログラムを使用することで、パーソナルコンピュータ上で容易に加工や修正が出来てしまうことである。即ち、加工や修正が容易であるが故に、画像が証拠として扱われる事故の写真や報告書において、デジタルカメラで撮影された画像の信頼性が銀塩写真の画像と比較して低くなってしまうという点である。
銀塩写真でも画像の改変を行うことは不可能ではないが、その改変を行うためのコストが改変で得られるコストよりも非常に大きいか、画像の改変結果が不自然であることから実際には改変は行われにくく、それが証拠として採用される根拠になっている。従って損害保険業界、建設業界ではこの問題が将来大きな問題になることが懸念されており、このような欠点を克服するための仕組みが必要とされている。
現在では、暗号技術を利用したデジタル署名データによる画像データの改竄検出システムが提案されている(特許文献1)。
このシステムは、画像データを生成する画像生成装置(カメラ)と、画像データの完全性(改変されていないこと)を検証する画像検証装置で構成される。カメラは、カメラ固有の秘密情報と、撮影してデジタル化した画像データとに基づいて所定の演算を実行し、画像データを識別する情報(改竄を検知する)であるデジタル署名データを生成する。そして、デジタル署名データと画像データとを出力する。画像検証装置では、所定の演算を画像データに施した結果のデータと、デジタル署名データを上記生成時の演算の逆演算を施したデータとを比較することで検証を行う。また、上記特許ではデジタル署名データの生成にハッシュ関数(圧縮関数)と公開鍵暗号を使用している。
また、上記のデジタル署名データの代わりにMAC(Message Authentication Code)が用いられることもある。MACは共通鍵暗号やハッシュ関数等を使用して生成されるものであり、処理速度が公開鍵暗号よりも高速であることが特徴であるが、MACの生成、及び、検証に同一の共通鍵が用いられるため、共通鍵をカメラと画像検証装置の双方において厳重に管理する必要がある。
カメラで撮像した画像データは通常、カメラに接続されている小型のメモリーカード(不揮発性メモリ)に記憶され、メモリーカードは主としてフラッシュEEPROMによって構成される。最近の微細化技術によりメモリの高密度化が図られており、4cm四方の面積、高さ2〜3mm程度のメモリカードで数百Mバイトの記憶容量を持つものが製品化されている。さらに、上記フラッシュEEPROMに加えてCPU、RAM、ROMで構成される演算部を持ち、セキュリティー機能を実装している、メモリーカードやICカードが実用化されつつある。これらの演算機能を用いることにより、カメラの外部である、メモリカードやICカードにおいて、画像データ等の改ざんを検出するためのデータを生成することが可能となっている。
米国特許第5499294号公報
以下では、カメラのような画像生成装置を対象に、MACを用いて画像データの改ざんを検出するシステムを考える。ここでは、ICカードが改ざんの有無を検証するものとする。MACは前述したように共通鍵暗号を用いて検証データを作成し、検証する仕組みであり、その共通鍵が漏洩すると安全性は保障できない。従って、検証データの作成側はカメラに、検証側はICカードに、それぞれ同一の共通鍵を秘密に格納する必要がある。共通鍵を検証データの作成側と検証側でどのように共有/設定するかについて考察すると、次の2通りが考えられよう。
1.ユーザが共通鍵を生成し、カメラとICカードに設定する。
2.メーカが共通鍵を生成し、カメラとICカードに初めから共通鍵を設定しておく。
これらの場合、以下の問題が発生する。
1.共通鍵を設定したユーザは共通鍵を知ることができるので、このユーザだけは改ざんが可能である。従って、前記従来技術で述べたカメラ画像が改ざんされていないという証拠性は実現できていないことになる。また、ICカードの内容はユーザ毎に異なるので、1つのICカードで他のカメラの検証を行うことができない。これは、実際の使用において著しく不便である。
2.メーカの守秘がよく行われていれば共通鍵が漏洩することはなく、ユーザが共通鍵を知ることができないので安全性は高い。しかし、カメラやICカードの対毎に異なる共通鍵を設定することは生産工程を煩雑にする。そのため、全てのカメラと検証装置で同じ共通鍵が設定されると考えられる。この場合、1つのカメラの共通鍵が解析されれば、全てのカメラに被害が及ぶ。また、過去の検証データも改ざん可能になり信用できなくなる。
本発明は上記問題点に鑑みなされたものであり、例えば、製造メーカの負担及びユーザの操作を最小限に抑えつつ、改ざんを困難にする技術を提供することを目的とする。
上記目的を達成するため、例えば本発明による検証情報生成システムは以下の構成を備える。即ち、
第1、第2のデータ処理装置を備える検証情報生成システムであって、
前記第1のデータ処理装置は、
前記第1のデータ処理装置にあらかじめ設定された第1の秘密情報を記憶保持する記憶保持手段と、
前記第2のデータ処理装置より、第2の秘密情報に関する情報を受信する受信手段と、
前記第1の秘密情報と前記第2の秘密情報に関する情報から鍵情報を生成する鍵情報生成手段と、
前記鍵情報を前記第2の秘密情報から導出可能とする鍵導出補助情報を生成する鍵導出補助情報生成手段と、
検証対象情報と前記鍵情報に基づいて検証情報を生成する検証情報生成手段と、
前記検証対象情報、前記検証情報、並びに前記鍵導出補助情報を出力する出力手段とを備え、
前記第2の秘密情報は、前記第2のデータ処理装置にあらかじめ設定された情報である。
上記目的を達成するため、例えば本発明による改ざん検出システムは以下の構成を備える。即ち、
第1、第2のデータ処理装置を備える改ざん検出システムであって、
前記第2のデータ処理装置は、
前記第2のデータ処理装置にあらかじめ設定された第2の秘密情報を記憶保持する記憶保持手段と、
前記第1のデータ処理装置より、検証対象情報に関する検証情報と鍵導出補助情報を受信する受信手段と、
前記第2の秘密情報と前記鍵導出補助情報に基づいて鍵情報を導出する鍵情報導出手段と、
前記検証情報と前記鍵情報に基づいて前記検証対象情報の改ざんの有無を検出する改ざん検出手段とを備え、
前記鍵導出補助情報は、前記第1のデータ装置にあらかじめ設定されている第1の秘密情報を用いて生成されたものである。
尚、上記では秘密に管理される情報を秘密情報と称している。
本願発明によれば、例えば、製造メーカの負担及びユーザの操作を最小限に抑えつつ、改ざんを困難にする技術を提供することができる。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
<第1の実施形態>
図1は実施形態におけるシステム構成図である。図に示すように、このシステムは、認証対象の画像データを生成すると共に、その検証データを生成する画像生成装置11と、画像検証補助装置13と、それらと通信可能な耐攻撃装置12で構成される。
画像生成装置11は、MAC作成用の鍵を設定する機能と、画像データを生成/撮影する機能と、生成した画像データに対するMACデータを生成する機能と、補助パラメータ(例えばカメラの場合、撮影時刻、焦点距離、絞り値、ISO感度、測光モード、画像ファイルサイズ、撮影者情報等)を生成する機能と、MACデータ付き画像ファイル(画像データ、MACデータ、補助パラメータなどで構成)を生成する機能と、耐攻撃装置12と通信を行う機能とを有する。なお、画像生成装置11は、デジタルカメラ、デジタルビデオカメラ、スキャナなどの撮像装置であっても、カメラユニットを有する電子機器であってもよいが、簡単のため、以下ではカメラ(デジタルカメラ)として説明する。
耐攻撃装置12は、検証データの生成・検証に必要な情報を記憶する機能と、検証に必要な情報を計算する機能と、画像生成装置11や画像検証補助装置13とデータを通信する機能とを有する。なお、耐攻撃装置12はフラッシュEEPROMに加えてCPU、RAM、ROMで構成される演算部を持つ、セキュリティー機能付きメモリーカード、またはICカードである。簡単のため、以下ではICカードとして説明する。
画像検証補助装置13は、MACデータ付き画像ファイルを分離する機能と、分離した画像データのハッシュ値を計算する機能と、耐攻撃装置12と通信する機能と、その判定結果を表示する機能を有する。なお、画像検証補助装置13は、Webサーバのようなデータを蓄積し、データを配信可能なPCのようなものでも、CPUとメモリ等を有した小型機器であってもよいが、簡単のため、以下ではPCとして説明する。
図2は、実施形態におけるカメラ11のブロック構成図である。図において、22は操作部であって、カメラへの各種パラメータの設定、被写体の撮影指示などを行うスイッチやパネルなどからなるユーザとのインターフェース部である。25はCCD(電荷結合素子)等の光学センサーを有する撮像部であり、操作部22に入力された指示に従って被写体の画像データ及び補助パラメータを生成する。21は書き込み可能な不揮発性メモリで構成される鍵保持部である。23は制御部29からの要求に従って所定の演算を行う演算部(CPUやRAM、ROMまたは専用のICチップ等により構成される)、26は撮像した画像から所定形式の画像ファイルを生成し、不図示の着脱自在なメモリカードに書き込む画像ファイル生成部である。29は装置全体の制御を司る制御部、27はハッシュ値を演算するハッシュ生成部、28はMAC生成部である。24はICカード(耐攻撃装置)12と通信を行う通信部である。
図4は、実施形態におけるICカード12のブロック構成図である。図において、41は書き込み可能な不揮発性メモリで構成される鍵保持部であり、43は制御部47からの要求に従って所定の演算を行う演算部である。42は制御部47からの要求に従って所定のアルゴリズムにより乱数を生成する乱数生成部であり、45はMACを生成するMAC生成部である。47は装置全体の制御を司る制御部、46は画像データの完全性を判定する判定部、44は他の装置と通信を行う通信部である。
図6は実施形態における、PC(画像検証補助装置)13の機能ブロック構成図である。画像検証補助装置13は上記の如くPCで構成しているものとし、尚且つ、PCの構成は説明するまでもないであろうから、図では、画像検証補助装置として機能するプログラムが実行されている状態の構成を示している。すなわち、図に示す各機能部はCPUとその処理を行うプログラムによって構成されるものである。
図6において、62は画像ファイルから、画像データと検証データ(MACを含む)とを分離する画像ファイル分離部であり、63はハッシュ生成部、65は認証結果(改竄されているか否か等)を表示する表示部である。61は、ICカード(耐攻撃装置)と通信を行う通信部であり、66は装置全体の制御を司る制御部である。
上記構成において、カメラ11は生産工程において予め定められた秘密情報Aを鍵保持部21に持つとする。この秘密情報Aはメーカが提供する全カメラに共通の情報である。ここで、秘密情報A及び後述するai、Aiは数値を表し、所定のビット長をもつ数値として設定される。尚、鍵保持部21は鍵情報が漏れないように演算部23以外の外部への読み出しが出来ないような構成をとっているとする。
同様に、ICカード12は生産工程において予め定められた秘密情報Bを鍵保持部41に持つとする。この秘密情報Bはメーカが提供する全ICカードに共通の情報である。ここで、秘密情報Bは数値を表し、所定のビット長をもつ数値として設定されている。尚、鍵保持部41は鍵情報が漏れないように演算部43以外の外部への読み出しが出来ないような構成をとっているとする。
次に、カメラをユーザ毎又はカメラ毎に固有の秘密情報aiで個別化する、鍵個別化処理について、図3を用いて説明する。図3は鍵個別化処理のフローを示すフローチャートである。鍵個別化処理は、操作部22を通してユーザが任意の固有データaiをカメラに入力することと、次の演算部23の演算によって実現できる。
まず、操作部22からユーザ固有の秘密情報aiが入力される(ステップS31)。aiは、例えば英数字の文字列であり、操作部22を構成するスイッチやパネル等の簡単な操作により入力される。次に、カメラ11の制御部29は、演算部23において、記憶されていたAと入力されたaiを用いて、Ai=A×aiを計算するように制御する(ステップS32)。そして、その結果を前述の鍵保持部21に記憶するように制御する(ステップS33)。
このように、AiはA及びaiを入力として演算を行った結果であるが、Aはメーカの定めた共通の秘密情報、aiはユーザのみが知っている情報であるため、第3者(メーカも含む)がAiの値を知ることができないのみならず、ユーザ自身もAiの値を知ることができないことに留意する。
尚、カメラ11は更に乱数を生成する乱数生成部を備え、ユーザの初回使用時等にこの乱数生成部に基づいてaiを生成するような構成をとってもよい。この場合、aiを知り得るエンティティは存在しないことになり、安全性が更に高まることになる。
次に、カメラ11の撮像部25及び画像ファイル生成部26によって生成された画像ファイル(以下、単に画像とも呼ぶ)Dについて、カメラ11とICカード12との協力により、MACデータを含む検証データを生成する処理を、図5を用いて説明する。図5は、画像Dに対する検証データ(MACデータを含む)を生成する処理を示すフローチャートである。ただし以下において、XはGF(P)の原始根であり、Pは素数である。X^aの表記はX^a mod Pの省略とする。
まず、ICカード12は乱数生成部42を用いて乱数bjを生成する(ステップS51)。乱数bjの生成は、例えば、画像ファイルの検証情報を生成する度に行うような構成をとってもよいし、或いは、一定時間毎に行うような構成をとってもよい。ここで、乱数生成部42は適当な初期値と鍵を設定したDESやAESのような共通鍵暗号によって乱数を生成する。
次に、ICカード12の演算部43を用いてBBj=X^(B×bj)とBj=X^bjを計算する(ステップS52)。次に、生成したBBjとBjを通信部44を用いてカメラ11に送付する(ステップS53)。ここで、演算部43はCPUやRAM,ROMまたは専用のICチップ等により構成され、指定された演算を実行する。また、乱数bjや、BBj、Bj、及びこれらを計算する過程で用いた値は、ステップ53の処理後、メモリから消去する。
以上のICカード12の処理は、制御部29によって制御される。尚、BBj、BjよりB、bjを求めることは計算量的に困難であることに留意する。また、BBjは、秘密情報Bと、乱数bjより得られる値であり、全てのICカード12が共通に有する秘密情報Bのみから求めることはできないことに留意する。
次に、カメラ11はICカード12から通信部24を介して送られたBBjとBjから鍵Kij=BBj^Ai=X^(B×bj×Ai)とBAij=Bj^Ai=X^(bj×Ai)を演算部23において計算する(ステップS54)。
ここで、通信部24はICカードとの標準の通信プロトコルによって実装されている。尚、鍵Kijは、B、bj、A、aiの関数である。従って、鍵Kijは、全てのカメラが共通に保持する秘密情報A、全てのICカードが共通に保持する秘密情報Bのみからは求めることができないことに留意する。また、BAijは、bj、A、aiの関数であり、秘密情報Bに関する何らかの情報を取得できない限り、BAijより鍵Kijを求めることはできないことに留意する。
次に、カメラ11は鍵Kijを用いて画像Dに対するMACをMAC生成部28において生成する(ステップS55)。この時、MACは、画像Dをハッシュ生成部27において圧縮し、圧縮された値(ハッシュ値)に対してMAC生成部28において鍵Kijを用いて計算することによって得られる。
ここで、画像Dは、撮像部25により撮像された画像を、画像ファイル生成部26において圧縮しJPEG等の形式で出力した、画像ファイルとする。尚、画像ファイル生成部26によって生成される画像ファイルのファイル形式は、JFIF(JPEG File Interchange Format)、TIFF(Tagged Image File Format)及びGIF(Graphics Interchange Format)の何れかであっても、それらを拡張したものであっても、他の画像ファイルフォーマットであってもよい。
また、ハッシュ生成部27で用いられるハッシュ関数Hとしては、MD5、SHA1、RIPEMD等が一般的に知られている。
また、MAC生成部28におけるMACデータの生成アルゴリズムとしては、DESやAESなどの共通鍵暗号のCBC(Cipher Block Chaining)モードを用いる手法と、HMACと呼ばれる鍵付きのハッシュ関数を用いる手法が知られている。例えばDESのCBCモードの場合、対象となるデータをCBCモードで暗号化し、その最後のブロックの前半の32ビットをMACデータをする方法などがある。
次に、カメラ11は画像ファイル生成部26において生成された、画像D(画像ファイル)にMACとBAijを添付する(ステップS56)。よって、画像ファイルには画像DとMAC及び検証に用いるBAijを少なくとも含む。最後に、カメラ11は送られてきたBBjとBjと生成した鍵Kijを、一時的な使用に用いたメモリから消去する(ステップS57)。
以上、カメラ11における、ステップS54からステップS57の各処理は、カメラ11の制御部29によって制御される。
次に、MAC検証処理について図7を用いて説明する。MAC検証処理は図1に示すPC(画像検証補助装置)13と耐攻撃装置(ICカード)12によって行われる。
まず、PC13は画像DとMAC及び検証に用いるBAijを含む画像ファイルを不図示の画像入力部(通信部61を含む)から読み込む(ステップS70)。例えば、ネットワークを経由して画像ファイルを読み込む場合、画像入力部はネットワークインタフェース等である。
PC13は、読み込んだ画像ファイルを画像ファイル分離部62によって、画像DとMAC及び検証に用いるBAijに分離する(ステップS71)。次に、PC13は画像Dからハッシュ生成部63を用いてハッシュ値Hを生成する(ステップS72)。
PC13は、ICカード12への通信部61を用いて生成したハッシュ値Hと分離したMAC及び検証に用いるBAijを送る(ステップS73)。
ここで、画像検証補助装置13はPCであるので通信部61はICカードなどとのI/Oであり、画像ファイル分離部62、ハッシュ生成部63はCPUやRAM、ROM等によって実行される。
ICカード12は送られてきたBAijから検証用の鍵Kij=BAij^B=X^(B×bj×Ai)を演算部43において計算する(ステップS74)。ここで、送られてきたBAijがステップS54の処理において生成されたBAijと等しいときのみ、鍵KijはステップS54の処理において生成されたKijと等しくなることに留意する。
次に、ICカード12は、送られてきたハッシュ値Hに対するMAC2を、鍵Kijを用いてMAC生成部45において生成する(ステップS75)。そして、生成したMAC2と送られてきたMACを判定部46において比較し(ステップS76)、MACとMAC2が一致すれば改ざん無し(ステップS77)、一致しなければ改ざん有りと判定する(ステップS78)。
ここで、MAC生成アルゴリズムは、改竄を行った画像データD’について鍵Kijを知らずに改ざん無しという判定が得られるようなMAC2を求めることは計算量的に困難であることが知られている。更に、秘密情報Bに関する情報が得られない限り、Kij=BAij^Bを求めることはできないことに留意する。
次にその結果を通信部44を用いてPC13に送る(ステップS79)。ここで、MAC生成部45のMAC生成アルゴリズムは、カメラ12のMAC生成部28のアルゴリズムと同じであり、例えば、DESやAES等の共通鍵暗号を用いて計算される。また、判定部46はCPUなどによって実現される。
最後に、PC13は送られてきた判定結果をモニタ等の表示部65を用いて表示する(ステップS80)。すなわち、判定部46において改ざんなしと判定された場合、「改変なし」などと表示し、改ざんありと判定された場合、「改変あり」などと表示する。
以上、PC13におけるステップS70からS73、及び、ステップS80の処理は、PC13の制御部66によって制御される。また、ICカード12におけるステップS74からステップS79の処理は、ICカード12の制御部47によって制御される。
以上説明したように、本実施形態では、メーカが生産工程においてカメラ11に設定する秘密情報は、全てのカメラ11について同一であるため、生産工程は煩雑にならない。更に、カメラ11をユーザの設定により秘密情報を個別化した場合は、個別化された秘密情報を用いて検証情報を生成するため、仮に1つのカメラ11が解析されても被害が他のカメラに及ばない。ここで、ユーザの設定は操作部22の簡単な操作により実現され、また、ユーザの操作はこれのみであることに留意する。また、全てのカメラ11に共通に設定される情報は秘密に管理されるため、ユーザは知り得ず、従って、ユーザによる改ざんも困難である。
本実施形態では、ユーザの設定により秘密情報を個別化したが、必ずしも個別化しなくてもよいのは言うまでもない。個別化しない場合は、メーカにおける生産工程を煩雑にせず、なおかつユーザによる改ざんも困難であり、カメラ内での処理を減らすことができる。
また、メーカが生産工程においてICカード12に設定する秘密情報は、全てのICカード12について同一であるため、生産工程は煩雑にならない。また、所定のICカード12を用いて、全てのカメラ11の検証情報の生成、及び、全ての検証情報の検証を行うことができる。
また、本実施形態では、説明の都合上、鍵個別化処理とMAC生成処理とを分けて説明したが、ステップ54で鍵個別化処理を行いながら、鍵を生成するようにしてもよい。
<第2の実施形態>
第1の実施形態では、カメラ11において冪乗剰余演算を行う(ステップS54)構成について説明を行ったが、一般に冪乗剰余演算は高い演算能力を要する。そこで、本実施形態では、ICカード12はセキュリティに関連する高い演算機能をもつが、カメラ11はあまり演算能力が高くない場合でも、カメラ11において、検証データ(MACを含む)を生成することを可能とする構成について説明する。尚、本実施形態における画像生成装置11、耐攻撃装置12、画像検証補助装置13は第1の実施形態で説明した構成と同一なので説明を省略する。
この場合、図5に示したMAC生成処理は図10のように変形できる(鍵個別化処理等は第1の実施形態と同様に行われているとする)。
まず、カメラ11はICカード12に秘密情報Aiを送信する(ステップS101)。
次に、ICカード12は乱数生成部42を用いて乱数bjを生成する(ステップS102)。次に、ICカード12は演算部43を用いて、Kij=X^(Ai×B×bj)とBAij=X^(bj×Ai)を計算する(ステップS103)。次に、ICカード12は、生成したKijとBAijを、通信部44を用いてカメラ11に送付する(ステップS104)。そして、ICカード12はKijとBAijを送付後、Ai、bj、Kij、BAij、及びこれらを計算する過程で用いた値はメモリから消去する。
カメラ11はICカード12より受け取った鍵Kijを用いて、画像Dに対するMACをMAC生成部28において生成する(ステップS105)。この時、MACは、画像Dをハッシュ生成部27において圧縮し、圧縮された値(ハッシュ値)に対して鍵Kijを用いて計算すること等は、第1の実施形態と同様である。
次に、カメラ11は画像ファイル生成部26において画像Dの画像ファイルにMACとBAijを添付する(ステップS106)。最後に、カメラ11は送られてきたBAijと生成した鍵Kijを消去する(ステップS107)。
尚、第1実施形態と同様に、ステップS101、及び、ステップS105からS107の処理はカメラ11の制御部29によって、ステップS102からステップS104の処理はICカード12の制御部47によって、それぞれ制御される。
以上より、カメラ11に負荷をかけることなく(本実施形態では、冪乗剰余演算を行うことなく)、第1の実施形態と同様の処理が行えるようになる。
<第3の実施形態>
以下に、第3の実施形態を説明する。第1、第2の実施形態では、MACデータ生成処理を被写体の画像データに対してのみ生成する場合について説明したが、補助パラメータ(例えば、撮影時刻、焦点距離、絞り値、ISO感度、測光モード、画像ファイルサイズ、撮影者情報等)のような画像データのメタデータに当たる情報に対しても、画像データと同様の仕組によってMACデータを生成することができ、MAC検証処理も同様に補助パラメータに対して実現できる。尚、本実施形態における画像生成装置11、耐攻撃装置12、画像検証補助装置13は第1の実施形態で説明した構成と同一なので説明を省略する。
これは、画像データ及びメタデータはどちらも二値のデータであるので、画像データをメタデータに置き換える、すなわちハッシュ生成部27への入力を画像データからメタデータに切り替えることによって実現可能であることは明らかである。このデータ切り替えは制御部29により実現される。
その手順を図8、9に示す。図8はステップS58として補助パラメータへのMAC生成処理を図5のフローチャートに加えたものであり、図9は図7のフローチャートにおけるステップS72の処理をステップS82の補助パラメータへのハッシュ値生成に置き換えたものである。また、画像データの改ざんを検出する際は、図7の手順で行えばよい。また、図8はステップS55とステップS58により、画像データのMACと補助パラメータのMACを別々に生成しているが、画像データと補助パラメータを含めたものに対してMACを生成して、画像検証補助装置で共に改ざんされていないかを検出するようにしてもよい。
以上のような構成を実装することにより、画像データだけでなく、画像に関連するメタデータに関しても改ざんを検出することができるようになる。
<その他の実施形態>
以上、本願発明に係る実施形態を説明したが、本願発明は上記の構成に限られるものではない。
例えば、第1の実施形態では、MAC検証処理を図1における画像検証補助装置13(PC)、耐攻撃装置12(ICカード)と分離して説明したが、画像検証補助装置13と耐攻撃装置12を一体化した装置を用いる構成であっても良い。この場合、画像ファイルのみを画像生成装置11から画像検証補助装置13に入力すればよく、図7の処理は1つの装置内の処理になり、画像検証補助装置13と耐攻撃装置12の区別は必要なくなる。
また、鍵の個別化処理は簡単のためAi=A×aiで計算したが、Ai=f(A,ai)の関数であれば良い。即ち、この計算はAとaiを入力として所定の演算を行う計算であれば、どのようなものでもよい(例えば、Ai=A+aiでもよい)。
この場合、AiはA及びaiを入力として演算を行った結果であるが、Aはメーカの定めた共通の秘密情報、aiはユーザのみが知っている情報であるため、第3者(メーカも含む)がAiの値を知ることができないのみならず、ユーザ自身もAiの値を知ることができないことに留意する。
また、上記実施形態では、秘密情報Aはメーカが提供する全カメラに共通の情報であり、秘密情報Bはメーカが提供する全ICカードに共通の情報であるとしたが、機種ごとにそれぞれ異なる情報にするなど適宜変更してもいいのは言うまでもない。
また、本第1乃至第3の実施形態では、検証対象となる情報を画像データとする構成について説明を行ったが、これに限られるものではない。即ち、音声や動画、文書ファイル等、所定のデジタルデータについて適用可能である。
また、本第1乃至第3の実施形態では、検証対象となる情報を生成する装置をデジタルカメラとする構成について説明を行ったが、これに限られるものではない。即ち、ボイスレコーダ、デジタルビデオカメラ、携帯電話、PC等、所定の情報処理装置について適用可能である。
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本実施形態における画像検証システムの一構成例を説明する図である。 本実施形態における画像生成装置11の主要な機能構成を説明するブロック図である。 本実施形態における鍵個別化処理を説明するフローチャートである。 本実施形態における耐攻撃装置12の主要な機能構成を説明するブロック図である。 第1の実施形態におけるMAC生成処理を説明するフローチャートである。 本実施形態における画像検証補助装置13の主要機能構成を説明するブロック図である。 第1の実施形態におけるMAC検証処理を説明するフローチャートである。 第3の実施形態におけるMAC生成処理を説明するフローチャートである。 第3の実施形態におけるMAC検証処理を説明するフローチャートである。 第2の実施形態におけるMAC生成処理を説明するフローチャートである。

Claims (15)

  1. あらかじめ設定された第1の秘密情報を記憶保持する記憶保持手段と、
    第2の秘密情報に関する情報を取得する取得手段と、
    前記第1の秘密情報と前記第2の秘密情報に関する情報から鍵情報を生成する鍵情報生成手段と、
    前記鍵情報を前記第2の秘密情報から導出可能とする鍵導出補助情報を生成する鍵導出補助情報生成手段と、
    検証対象情報と前記鍵情報に基づいて検証情報を生成する検証情報生成手段と、
    前記検証対象情報、前記検証情報、並びに前記鍵導出補助情報を出力する出力手段とを備えることを特徴とするデータ処理装置。
  2. 前記鍵情報生成手段は、第3の情報を取得し、前記第3の情報と前記第1の秘密情報と前記第2の秘密情報に関する情報から鍵情報を生成することを特徴とする請求項1に記載のデータ処理装置。
  3. 前記第3の情報は、外部からの入力によって取得される情報であることを特徴とする請求項2に記載のデータ処理装置。
  4. 前記第3の情報は、乱数生成によって取得される情報であることを特徴とする請求項2に記載のデータ処理装置。
  5. 前記第2の秘密情報に関する情報は、外部から得られた情報であることを特徴とする請求項1乃至4のいずれか1項に記載のデータ処理装置。
  6. 前記第2の秘密情報に関する情報は、前記第2の秘密情報から所定の演算により得られた情報であることを特徴とする請求項1乃至5のいずれか1項に記載のデータ処理装置。
  7. 撮像手段を更に備え、当該撮像手段で撮像した画像データを前記検証対象情報として生成することを特徴とする請求項1乃至6のいずれか1項に記載のデータ処理装置。
  8. あらかじめ設定された第2の秘密情報を記憶保持する記憶保持手段と、
    検証対象情報に関する検証情報と鍵導出補助情報を入力する入力手段と、
    前記第2の秘密情報と前記鍵導出補助情報に基づいて鍵情報を導出する鍵情報導出手段と、
    前記検証情報と前記鍵情報に基づいて前記検証対象情報の改ざんの有無を検出する改ざん検出手段とを備え、
    前記検証情報は、前記第2の秘密情報に関する情報を用いて生成されたものであることを特徴とするデータ処理装置。
  9. 前記鍵導出補助情報は、外部装置にあらかじめ設定されている第1の秘密情報を用いて生成されており、前記検証情報は、前記第1の秘密情報と前記第2の秘密情報に関する情報を用いて生成されたものであることを特徴とする請求項8に記載のデータ処理装置。
  10. 第1、第2のデータ処理装置を備える検証情報生成システムであって、
    前記第1のデータ処理装置は、
    前記第1のデータ処理装置にあらかじめ設定された第1の秘密情報を記憶保持する記憶保持手段と、
    前記第2のデータ処理装置より、第2の秘密情報に関する情報を受信する受信手段と、
    前記第1の秘密情報と前記第2の秘密情報に関する情報から鍵情報を生成する鍵情報生成手段と、
    前記鍵情報を前記第2の秘密情報から導出可能とする鍵導出補助情報を生成する鍵導出補助情報生成手段と、
    検証対象情報と前記鍵情報に基づいて検証情報を生成する検証情報生成手段と、
    前記検証対象情報、前記検証情報、並びに前記鍵導出補助情報を出力する出力手段とを備え、
    前記第2の秘密情報は、前記第2のデータ処理装置にあらかじめ設定された情報であることを特徴とする検証情報生成システム。
  11. 第1、第2のデータ処理装置を備える改ざん検出システムであって、
    前記第2のデータ処理装置は、
    前記第2のデータ処理装置にあらかじめ設定された第2の秘密情報を記憶保持する記憶保持手段と、
    前記第1のデータ処理装置より、検証対象情報に関する検証情報と鍵導出補助情報を受信する受信手段と、
    前記第2の秘密情報と前記鍵導出補助情報に基づいて鍵情報を導出する鍵情報導出手段と、
    前記検証情報と前記鍵情報に基づいて前記検証対象情報の改ざんの有無を検出する改ざん検出手段とを備え、
    前記鍵導出補助情報は、前記第1のデータ装置にあらかじめ設定されている第1の秘密情報を用いて生成されたものであることを特徴とする改ざん検出システム。
  12. あらかじめ設定された第1の秘密情報を記憶保持する記憶保持工程と、
    第2の秘密情報に関する情報を取得する取得工程と、
    前記第1の秘密情報と前記第2の秘密情報に関する情報から鍵情報を生成する鍵情報生成工程と、
    前記鍵情報を前記第2の秘密情報から導出可能とする鍵導出補助情報を生成する鍵導出補助情報生成工程と、
    検証対象情報と前記鍵情報に基づいて検証情報を生成する検証情報生成工程と、
    前記検証対象情報、前記検証情報、並びに前記鍵導出補助情報を出力する出力工程とを備えることを特徴とするデータ処理方法。
  13. あらかじめ設定された第2の秘密情報を記憶保持する記憶保持工程と、
    検証対象情報に関する検証情報と鍵導出補助情報を入力する入力工程と、
    前記第2の秘密情報と前記鍵導出補助情報に基づいて鍵情報を導出する鍵情報導出工程と、
    前記検証情報と前記鍵情報に基づいて前記検証対象情報の改ざんの有無を検出する改ざん検出工程とを備え、
    前記検証情報は、前記第2の秘密情報に関する情報を用いて生成されたものであることを特徴とするデータ処理方法。
  14. 請求項12又は13に記載のデータ処理方法を実行するためのコンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2004314717A 2004-10-28 2004-10-28 データ処理装置及びその方法 Withdrawn JP2006129079A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004314717A JP2006129079A (ja) 2004-10-28 2004-10-28 データ処理装置及びその方法
US11/574,089 US7930544B2 (en) 2004-10-28 2005-10-25 Data processing apparatus and its method
PCT/JP2005/019942 WO2006046724A1 (en) 2004-10-28 2005-10-25 Data processing apparatus and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004314717A JP2006129079A (ja) 2004-10-28 2004-10-28 データ処理装置及びその方法

Publications (1)

Publication Number Publication Date
JP2006129079A true JP2006129079A (ja) 2006-05-18

Family

ID=36723275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004314717A Withdrawn JP2006129079A (ja) 2004-10-28 2004-10-28 データ処理装置及びその方法

Country Status (1)

Country Link
JP (1) JP2006129079A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006094479A (ja) * 2004-08-24 2006-04-06 Canon Inc データ処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2008028849A (ja) * 2006-07-24 2008-02-07 Kddi Corp ハイブリッド暗号化装置およびハイブリッド暗号化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006094479A (ja) * 2004-08-24 2006-04-06 Canon Inc データ処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2008028849A (ja) * 2006-07-24 2008-02-07 Kddi Corp ハイブリッド暗号化装置およびハイブリッド暗号化方法

Similar Documents

Publication Publication Date Title
EP1632907B1 (en) Data-processing system and method for controlling same, computer program, and computer-readable recording medium
JP3788056B2 (ja) 電子スチルカメラ
KR100794890B1 (ko) 정보 처리 방법, 위변조 검증 방법 및 장치, 저장 매체
JP2000152148A (ja) 電子カメラ
US7930544B2 (en) Data processing apparatus and its method
US8230216B2 (en) Information processing apparatus, control method therefor, information processing system, and program
US7949124B2 (en) Information processing apparatus, control method for the same, program and storage medium
KR100608168B1 (ko) 화상생성장치 및 검증데이터 생성방법
JP2004310386A (ja) 画像検証装置、画像検証方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
JP2001309159A (ja) 記録装置
JPH11220686A (ja) デジタルカメラ
JP2006129079A (ja) データ処理装置及びその方法
JP2006094536A (ja) 電子スチルカメラ
JP2006345450A (ja) 画像検証システム、撮像装置、並びに画像検証装置
JP2006129080A (ja) データ処理装置及びその方法
JP2007080071A (ja) 改変検知機能を有するシステム
JP2005309494A (ja) データ利用システム,記憶装置,データ利用方法,およびコンピュータプログラム
JP4804075B2 (ja) 登録局装置及びシステム
JP2005286823A (ja) 画像入力装置、通信システム、制御方法、コンピュータプログラム及び記憶媒体
JP2007180873A (ja) 画像ファイル生成装置、画像ファイル生成方法、出力装置、プログラム及び記憶媒体
KR100909885B1 (ko) 화상 데이터의 원본 확인이 가능한 촬상 장치 및 촬상 방법
JP2005332413A (ja) 電子スチルカメラ
JP2006295949A (ja) デジタルカメラ
JP2007019646A (ja) 画像検証システム、情報処理装置及び方法
JP2005197806A (ja) 画像生成装置および画像生成方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080108