JP4261724B2 - 署名データ生成装置及び画像検証装置 - Google Patents

署名データ生成装置及び画像検証装置 Download PDF

Info

Publication number
JP4261724B2
JP4261724B2 JP2000057077A JP2000057077A JP4261724B2 JP 4261724 B2 JP4261724 B2 JP 4261724B2 JP 2000057077 A JP2000057077 A JP 2000057077A JP 2000057077 A JP2000057077 A JP 2000057077A JP 4261724 B2 JP4261724 B2 JP 4261724B2
Authority
JP
Japan
Prior art keywords
data
signature data
digital image
image data
secret information
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.)
Expired - Fee Related
Application number
JP2000057077A
Other languages
English (en)
Other versions
JP2000324334A5 (ja
JP2000324334A (ja
Inventor
聡 若尾
恵市 岩村
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 JP2000057077A priority Critical patent/JP4261724B2/ja
Priority to US09/521,424 priority patent/US7296161B1/en
Publication of JP2000324334A publication Critical patent/JP2000324334A/ja
Publication of JP2000324334A5 publication Critical patent/JP2000324334A5/ja
Application granted granted Critical
Publication of JP4261724B2 publication Critical patent/JP4261724B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル画像データに対する不正な処理を検出するための技術に関する。
【0002】
【従来の技術】
近年、撮影した画像を従来の銀塩写真や8mmフィルムに記録するのではなく、ディジタルデータとして記録媒体に記録する画像入力装置(例えば、デジタルカメラ)が実用化されている。
【0003】
【発明が解決しようとする課題】
ところが、通常、ディジタルデータは、アナログデータと異なり加工が容易で、修正、改竄、偽造、合成等を簡単に行うことができる。このため、ディジタルデータは、銀塩写真等と比較して信憑性が低く、証拠能力に乏しいという問題があった。
【0004】
このような問題を解決するために、ディジタルデータに対する修正、改竄、偽造、合成等を検出するための技術が提案されている。例えば、この技術の一例として、ハッシュ関数と公開鍵暗号方式とを組み合わせたシステムが提案されている。
【0005】
以下、図28を用いて従来のシステムを説明する。公開鍵暗号方式とは、暗号鍵と復号鍵とが異なり、暗号鍵を公開し、復号鍵を秘密に保持する方式である。
【0006】
まず、送信側(出力側)の構成と動作について説明する。
▲1▼ディジタルデータMをハッシュ関数Hを用いて圧縮し、一定長の出力hを演算する。
▲2▼暗号鍵Keを用いて上述のhを暗号化し、出力sを求める。この出力sをディジタル署名データと呼ぶ。
▲3▼出力回路は、ディジタル署名データsとディジタルデータMとを一組として出力する。
【0007】
次に、受信側(検出側)構成と動作について説明する。
▲4▼ディジタルデータMとそれに対応するディジタル署名データsとを入力する。
▲5▼ディジタル署名データsを暗号鍵Keに対応する復号鍵Kdで復号し、出力h''を生成する。
▲6▼ディジタルデータMを送信側と同じハッシュ関数Hを用いて演算し、出力h'を求める。
▲7▼比較回路は、▲5▼で求めた出力h''と▲6▼で求めた出力h'とを比較し、一致すれば入力されたディジタルデータMを不正な処理のされていない正当なデータであると判断し、不一致であれば不正な処理のされたデータと見なす。
【0008】
このように従来のシステムでは、ハッシュ関数Hと暗号鍵Keとにより生成したディジタル署名データsを用いて、ディジタルデータMに対する修正、改竄、偽造、合成等を検出していた。
【0009】
しかしながら、上述のシステムには次のような問題がある。
【0010】
まず、公開鍵暗号方式の暗号化回路及びその復号化回路は、回路構成が複雑であり、小型化が難しいという問題がある。また、それらの回路の演算量は膨大であり、処理時間が長くなるという問題もある。特に、公開鍵暗号方式は、べき乗演算と剰余演算とが必要であり、共通鍵暗号方式(暗号鍵と復号鍵とが同一となる暗号方式)に比べて演算が複雑且つ膨大となるため、処理速度の高速化が大変難しい。つまり、従来のシステムでは、処理速度の高速化とシステムの小型化の双方を両立させることは難しいという問題がある。
【0011】
又、処理速度を早くするためには、より高性能のCPU(中央演算処理装置)とより大容量のメモリとを用いて、ハードウェアの性能を向上させる必要がある。しかしながら、このような構成では、システム全体の大規模化やコストアップを招くだけであり、安価で小型で高速なシステムをユーザに提供することはできない。
【0012】
そこで、本発明は、ディジタル画像データに対する不正な処理(改竄、偽造等)を、簡単な構成で、安価に且つ安全に検出することのできる署名データ生成装置及び画像検証装置を提供することを目的とする。
【0013】
【課題を解決するための手段】
上述のような目的を達成するために、本発明に係る署名データ生成装置は、署名データ生成装置であって、ディジタル画像データを生成するディジタル画像データ生成手段と、前記署名データ生成装置を識別するための情報と、前記署名データ生成装置と接続可能な外部装置を識別するための情報とを用いて、秘密情報を生成する秘密情報生成手段と、前記ディジタル画像データと、前記秘密情報とを用いて所定の演算を行う演算手段と、前記所定の演算の結果を用いて、前記ディジタル画像データに対する不正な処理を検出するための署名データを生成する署名データ生成手段とを有することを特徴とする。
【0014】
発明に係る画像検証装置は、画像検証装置であって、ディジタル画像データと、前記ディジタル画像データに対する不正な処理を検出するための第1の署名データとを入力手段と、前記ディジタル画像データ及び前記第1の署名データを生成した署名データ生成装置を識別するための情報と、前記画像検証装置に接続された外部装置を識別するための情報とを用いて、秘密情報を生成する秘密情報生成手段と、前記ディジタル画像データと、前記秘密情報とを用いて所定の演算を行う演算手段と、前記所定の演算の結果を用いて、前記ディジタル画像データに対する不正な処理を検出するための第の署名データを生成する署名データ生成手段と、前記第1の署名データと、前記第2の署名データとを用いて、前記ディジタル画像データに不正な処理がされているか否かを判定する判定手段とを有することを特徴とする。
【0023】
【発明の実施の形態】
以下、本発明に係る署名データ生成装置及び画像検証装置について図面を用いて詳細に説明する。
【0024】
(基本構成)
まず、図1を用いて、各実施例に共通するディジタル画像検証システムの基本構成と処理手順とについて説明する。このシステムは、ディジタル画像データからディジタル署名データを生成するディジタル画像入力装置10と、そのディジタル署名データを用いてディジタル画像データに対する不正な処理を検出する画像検証装置20とからなる。各装置は、ネットワーク(例えば、インターネット、電話回線網、移動体通信網等)、各機器に共通のディジタルインタフェース、取り外し可能な記憶媒体(例えば、光ディスク、磁気ディスク、光磁気ディスク、半導体メモリ等)を介して接続される。
【0025】
尚、図1において、画像入力装置10と画像検証装置20とは、同一の秘密情報S12を共有する。この秘密情報S12は、読み出し専用の記録媒体等に記録され、外部に漏れることがないように管理する。
【0026】
まず、画像入力装置10は、ディジタル画像データP11と秘密情報S12とに基づいて、ディジタル署名データh13を生成する。具体的に説明すると、画像入力装置10は、秘密情報S12を用いてディジタル画像データP11に所定の操作(例えば、付加、多重、或いは合成)を加えた後、その結果を一方向性関数(例えば、ハッシュ関数等の逆関数の生成が困難或いは不可能な関数)で演算し、その演算結果からディジタル署名データh13を生成する。このディジタル署名データh13は、対応するディジタル画像データP11と共に一時的に記録され、必要に応じて外部出力される。
【0027】
このような処理によって得られたディジタル署名データh13は、ディジタル画像データP11と秘密情報S12とに対して固有の情報となる。従って、秘密情報S12と所定の操作とを知らなければ、ディジタル画像データP11に対応するディジタル署名データh13を不正に作り出すことはできないため、ディジタル署名データh13に基づいてディジタル画像データP11の正当性を安全に検証することができる。又、一方向性関数の性質により、ディジタル署名データh13から元のデータ(即ち、秘密情報S12を用いて所定の操作を加えたディジタル画像データP11)を知ることもできないため、ディジタル署名データh13に基づいてディジタル画像データP11の正当性(或いは、完全性(integrity)ともいう)を安全に検証することができる。
【0028】
次に、画像検証装置20は、ディジタル画像データP'21と共にディジタル署名データh'23を外部入力する。画像検証装置20は、ディジタル画像データP'21と秘密情報S22(上述の秘密情報S12と同一の情報である)とを用いて画像入力装置10と同様の処理を行い、ディジタル署名データh''24を生成する。
【0029】
このディジタル署名データh''24は、ディジタル画像データP'21と共に外部入力されたディジタル署名データh'23と比較される。両者が一致した場合、画像検証装置20は、ディジタル画像データP'21を正当なデータであると判断する。一方、ディジタル画像データP'21が外部入力される前に不正に処理されていた場合、両者は不一致となる。この場合、画像検証装置20は、ディジタル画像データP'21を不正に処理されたデータであると判断する。
【0030】
このような手順により、画像検証処装置20は、外部入力されたディジタル画像データP'21に対して不正な処理(例えば、修正、改竄、偽造、合成等の改変処理)が施されているか否かを検出することができる。
【0031】
以上のように、本実施例では、公開鍵暗号方式のような複雑な暗号化技術を用いることなく、簡単で安価な回路構成と少ない演算量で高速にディジタル署名データを生成することができる。そして、このディジタル署名データにより、ディジタル画像データの著作権を保護し、該ディジタル画像データに対する不正な処理(修正、改竄、偽造、合成等の改変処理)を確実に検出することができる。
【0032】
次に、図2に示す画像入力装置10及び画像検証装置20の基本的な構成について詳細に説明する。
【0033】
(1)画像入力装置の構成
図2は、画像入力装置10の構成の一例を示す図である。ここで、画像入力装置10は、デジタルカメラ、カメラ一体型デジタルレコーダ、スキャナ等の撮像機能を有する電子機器である。
【0034】
図2において、撮像部201は、CCDやレンズ等からなり、被写体の光学像を電気信号に変換し、その電気信号を更に所定フォーマットのディジタル画像データに変換する。作業用メモリ202は、ディジタル画像データ等を一時的に保管し、ディジタル画像データに対する高能率符号化処理、後述のディジタル署名データの生成等に使用される。
【0035】
記録再生部203は、取り外し可能な記録媒体(例えば、光ディスク、磁気ディスク、光磁気ディスク、半導体メモリ等)に、撮像部201により生成され、高能率符号化されたディジタル画像データとそれに対応するディジタル署名データとを一組として記録する。駆動部204は、撮像部201や記録再生部203の機械的動作を制御する。
【0036】
外部インタフェース部205は、ネットワーク(例えば、インターネット、電話回線網、移動体通信網等)に接続可能なディジタルインタフェースであり、ディジタル署名データを付加したディジタル画像データを、所定の外部装置に送信する。
【0037】
制御/演算部206は、ROM207に格納されている各種のプログラムに従って画像入力装置10全体の動作を制御する制御回路210、ディジタル画像データを高能率符号化する(例えば、DCT変換やウェーブレット変換されたディジタル画像データを量子化し、可変長符号化する)画像処理回路211、後述のディジタル署名データの生成に必要なハッシュ関数演算や各種の演算処理を行う演算回路212、ディジタル署名データの生成に必要な秘密情報(例えば、画像入力装置10を識別するためのID情報等)を格納するメモリ213、演算回路212に必要な乱数を生成する乱数発生回路214を含む。
【0038】
ROM207は読み出し専用メモリであり、画像入力装置10全体の動作を制御するプログラム、画像処理を制御するプログラム、ディジタル署名データの生成処理を制御するプログラム等を格納している。操作部208は、ユーザからの各種の指示を受け付け、その指示に対応する制御信号を制御/演算部206に供給する。
【0039】
(2)画像検証装置の構成
図3は、画像検証装置20の構成の一例を示す図である。ここで、画像検証装置20は、パーソナルコンピュータ、ワークステーション等の情報処理装置やそれらに接続可能な拡張ボードである。
【0040】
図3において、外部インタフェース部301は、ネットワークからディジタル署名データを付加したディジタル画像データ(ここで、ディジタル画像データは、高能率符号化されている)を入力するディジタルインタフェースである。又、外部インタフェース部301は、取り外し可能な記録媒体とも接続可能である。そして、その記録媒体に記録されたディジタル画像データをディジタル署名データと共に入力する。
【0041】
作業用メモリ302は、ディジタル画像データ等を一時的に保管し、ディジタル画像データに対する伸長復号処理、後述のディジタル署名データの生成等に使用される。
【0042】
制御/演算部303は、ROM305に格納されている各種のプログラムに従って画像検証装置20全体の動作を制御する制御回路310、ディジタル画像データを伸長復号する(例えば、可変長復号し、逆量子化した後、逆DCT変換や逆ウェーブレット変換する)画像処理回路311、後述のディジタル署名データの生成に必要なハッシュ関数演算やディジタル画像データを検証するための演算処理を行う演算回路312、ディジタル署名データの生成に必要な秘密情報を格納するメモリ313、演算回路312に必要な乱数を生成する乱数発生回路314を含む。
【0043】
表示部304は、ディジタル画像データを視覚的に表示する。又、表示部304は、そのディジタル画像データの検証結果をユーザに視覚的に表示する。尚、表示部304は、画像検証装置20と取り外し可能である。
【0044】
ROM305は、読み出し専用メモリであり、画像検証装置20全体の動作を制御するプログラム、画像処理を制御するプログラム、ディジタル画像データの検証処理を制御するプログラムを格納している。操作部306は、ユーザからの各種の指示を受け付け、その指示に対応する制御信号を制御/演算部303に供給する。
【0045】
以下、第1〜第6の実施例では、図2の画像入力装置10が、ディジタル画像データと秘密情報とに基づいて、ディジタル署名データを生成する手順について詳細に説明する。
【0046】
又、第7〜第12の実施例では、図4の画像検証装置20が、画像入力装置10にて生成されたディジタル署名データに基づいて、ディジタル画像データの正当性を検証する手順について詳細に説明する。
【0047】
(第1の実施例)
第1の実施例では、画像入力装置10が、機器固有の秘密情報Sとハッシュ関数とを用いてディジタル署名データhを生成する処理について説明する。具体的に説明すると、ディジタル画像データPと秘密情報Sとを用いて予め定められた規則の演算を行い、ハッシュ関数を用いてその演算結果を演算し、その演算結果をディジタル画像データPに対するディジタル署名データhとする。
【0048】
図4は、第1の実施例の処理手順を説明するフローチャートである。以下、図4を用いて、ディジタル署名データhを生成する手順を説明する。
【0049】
ステップS401において、操作部208は、ある被写体の光学像を撮像するか否かを指示する。撮像が指示された場合、制御/演算部206はステップS402を実行する。
【0050】
ステップS402において、撮像部201は、被写体の光学像を電気信号に変換し、その電気信号を更に所定フォーマットのディジタル画像データPを生成する。その後、ディジタル画像データPは、作業用メモリ202に格納される。
【0051】
ステップS403において、制御/演算部206(に含まれる画像処理回路211)は、作業用メモリ202に格納されたディジタル画像データPを1画面分の静止画像毎に高能率符号化する。1つの静止画像を高能率符号化する手法として例えば、DCT変換方式(具体的には、複数画素からなるブロック毎にDCT変換、量子化及び可変量符号化する方式)、ウェーブレット変換方式(具体的には、複数画素からなるブロック毎にウェーブレット変換、量子化及び可変長符号化する方式)、JPEG方式、JBIG方式、MH方式、MMR方式、MPEG方式等を用いてもよい。尚、以下の実施例では、JPEG方式を用いて高能率符号化する場合について説明する。
【0052】
ステップS404において、制御/演算部206は、画像入力装置10の持つ秘密情報Sをメモリ213から読み出す。
【0053】
ステップS405において、制御/演算部206(に含まれる演算回路212)は、上述の秘密情報Sと例えばJPEG方式で高能率符号化されたディジタル画像データP(以下、JPEGデータと称する)とを用いて、予め定められた規則に基づく所定の演算を行う。
【0054】
ここで、秘密情報Sと所定の演算処理とについて説明する。
【0055】
まず、秘密情報Sとは、画像入力機器10の製造時に設定される機器固有の情報であり、一般に公開されることのない情報である。この秘密情報Sは、外部から容易に入手することができないように制御/演算部206の内部に組み込まれている。以下、第1の実施例では、上述の秘密情報Sを例えば“11111111”として説明する。
【0056】
次に、上述の所定の演算処理について図5を用いて説明する。所定の演算処理とは、あるJPEGデータ列から所定の位置のバイトデータを選択した後、そのバイトデータと秘密情報Sとをビット毎に排他的論理和演算し、そのバイトデータを別のデータに変換する処理のことである。ここで、所定の位置とは、JPEGデータ列上の任意の位置に設定することができるが、第1の実施例では最上位のバイトデータを演算対象として説明する。
【0057】
ステップS406において、制御/演算部206(に含まれる演算回路212)は、ハッシュ関数を用いて、所定の演算処理の施されたJPEGデータを演算し、ディジタル署名データhを生成する。
【0058】
ここで、ハッシュ関数について説明する。
【0059】
ハッシュ関数Hとは、任意のビット長のディジタルデータMから、一定のビット長となる出力hを生成する機能を持つ。この出力hは、ハッシュ値と呼ばれる(又は、ディジタル署名、メッセージダイジェスト、ディジタル指紋等とも呼ばれる)。通常、ハッシュ関数には、一方向性と衝突耐性とが要求される。一方向性とは、ハッシュ値hが与えられた際に、h=H(M)となるディジタルデータMの算出が計算量的に困難であることを示す。又、衝突耐性とは、ディジタルデータMが与えられた際に、H(M)=H(M')となるディジタルデータM'(M≠M')の算出およびH(M)=H(M')且つM≠M'となるディジタルデータM、M'の算出が計算量的に困難であることを示す。ハッシュ関数には、MD−2、MD−4、MD−5、SHA−1、RIPEMD−128、RIPEMD−160等の方式が知られている。第1の実施例では、MD−5方式を使用する例について説明する。尚、このMD−5方式を用いて生成されるディジタル署名データのビット長は128ビットとなる。
【0060】
ステップS407において、記録再生部203は、制御/演算部206にて生成されたディジタル署名データとそれに対応するディジタル画像データとを、取り外し可能な記録媒体に記録したり、ネットワークを介して他の機器に出力したりする。
【0061】
尚、図4に示す一連の処理手順を制御するプログラムは、ROM207に格納されている。このプログラムは、制御/演算部206(に含まれる制御回路210)によって読み出され、ユーザの撮像指示毎に起動される。これにより、ディジタル画像Pを撮像する毎に、それに対応したディジタル署名データhを生成することができる。
【0062】
以上説明したように第1の実施例では、高能率符号化されたディジタル画像データPと画像入力装置10に固有の秘密情報Sとを用いて所定の演算を行い、その演算結果をハッシュ関数で演算した結果が、ディジタル署名データhとなる。このように構成することによって、第1の実施例では、安全性も信頼性も高いディジタル署名データhを、従来のシステムに比べて非常に簡単な構成によって実現することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0063】
この結果、秘密情報Sと所定の演算とを知らなければ、ディジタル画像データPに対応するディジタル署名データhを不正に作り出すことはできないため、ディジタル署名データhに基づいてディジタル画像データPの正当性を安全に検証することができる。又、一方向性関数の性質により、ディジタル署名データhから元のデータ(即ち、秘密情報Sを用いて所定の演算を行なったディジタル画像データP)を知ることもできないため、ディジタル署名データhからディジタル画像データPの正当性を安全に検証することができる。
【0064】
尚、第1の実施例では、秘密情報Sを画像入力装置10の製造時に設定された情報としたがそれに限るものではない。画像検証装置20の秘密情報と共有できるものであれば、乱数発生回路214が所定のアルゴリズムに基づいて生成したビット列でもよい。
【0065】
又、第1の実施例では、上述の所定の演算処理の一例として、JPEGデータのバイトデータと秘密情報とを排他的論理和演算する構成について説明したがそれに限るものではない。秘密情報Sを、高能率符号化されたディジタル画像データPの一部に付加、合成、あるいは多重する処理で且つ逆演算可能な処理であれば、いかなる演算処理であってもよい。
【0066】
又、第1の実施例では、ディジタル画像データPとディジタル署名データhとを同じタイミングで生成する手順について説明したがそれに限るものではない。ディジタル画像データPを画像入力装置10から外部へ出力する前に必ずディジタル署名データhを生成する構成であれば、ディジタル署名データhはどのタイミングで生成してもよい。例えば、ディジタル画像データPを外部インタフェース205を介して外部に出力する場合には、一度記録媒体に格納した後、そのディジタル画像データPを外部へ出力する前に、ディジタル署名データhを生成するようにしてもよい。但し、ディジタル画像データPを取り外し可能な記録媒体に記憶する場合には、上述の手順でディジタル署名データhを生成する。
【0067】
(第2の実施例)
第2の実施例では、第1の実施例に比べてより安全性の高いディジタル署名データhを生成する手順について詳細に説明する。
【0068】
図6は、第2の実施例の処理手順を説明するフローチャートである。以下、図6を用いて、ディジタル署名データhを生成する手順を説明する。
【0069】
ステップS601〜S603の処理は、上述の第1の実施例のステップS401〜S403と同様の処理としてその説明を省略する。
ステップS604において、制御/演算部206(に含まれる乱数発生回路214)は、所定の情報(例えば、高能率符号化されたディジタル画像データPのデータ量)を基にして、ビット長mの乱数Rを生成する。この乱数Rが第2の実施例の秘密情報Sである。
【0070】
次のステップS605〜S606では、第2の実施例における所定の演算を説明する。
【0071】
ステップS605において、制御/演算部206(に含まれる演算回路212)は、図7に示すように、1画像分のJPEGデータを所定の大きさ(例えば128ビット長)のブロックDi(i=1,2,3…n)に分割する。ここで、D1を最上位ブロックとする。JPEGデータの総量が128の倍数にならない場合、128の倍数となるようにパディングする。例えば、図7に示すように、最後のブロックに“000・・・000”を付加する。
【0072】
ステップS606において、制御/演算部206(に含まれる演算回路212)は、上述の乱数Rと上述のn個のブロックとを用いて以下に示す手順の演算を行う。
【0073】
まず、制御/演算部206は、図8に示すように、乱数Rのビット数mをnビット(図7に示すブロックDiの個数nと同じ)とする。例えば、m≧nの場合、最上位ビットからnビットまでのビット列を有効とし、それ以外のビット列を切り捨てる。又、m<nの場合、不足分のデータとして“111…111”を付加する。
【0074】
次に、制御/演算部206は、図9に示すように、各ブロックD1〜Dnと各乱数R1〜Rnとを用いて所定の演算を行う。具体的に説明すると、乱数RのビットRiとブロックDiの最下位ビットとの間で排他的論理和演算を行い、その演算をi=1〜nまで繰り返す。
【0075】
ここで、ステップS606の演算は、乱数RiとブロックDiの最下位ビットとの間の排他的論理和演算としたがそれに限るものではない。各ブロックDiの一部に秘密情報(ビット長mの乱数Rの一部)を付加、合成、多重する処理で且つ逆演算可能な処理であればいかなる演算処理であってもよい。
【0076】
ステップS607において、制御/演算部206(に含まれる演算回路212)は、ステップS606の出力をハッシュ関数で演算し、ディジタル署名データhを生成する。尚、第2の実施例では、第1の実施例と同様に、MD−5方式のハッシュ関数を用いる。従って、ディジタル署名データhのビット長は、128ビットとなる。
【0077】
ステップS607の演算処理の一例について詳細に説明する。
【0078】
まず、制御/演算部206は、ステップS606の出力から1つまたは複数個のブロックDを選択する。その後、制御/演算部206は、選択されたブロックをハッシュ関数で演算し、ディジタル署名データhを生成する。
【0079】
また、ステップS605〜S607の演算処理の他の例について、図10〜12を用いて詳細に説明する。
【0080】
制御/演算部206は、後述する3つの動作モードの何れか1つ又はこれらの組み合わることによりハッシュ値を求める。特に、第1のモードや第3のモードでは、あるブロック(1ブロックは、kビット)の演算結果を用いて他のブロックのハッシュ値を求めるため、より安全性の高いディジタル署名データhを生成することができる。又、前のブロックの演算結果が、次のブロックの演算結果に反映されるため、ブロック毎にJPEGデータの正当性を検証することもできる。
【0081】
▲1▼第1のモード
第1のモードについて図10を用いて説明する。図10は、制御/演算部206の構成の一部を示す図である。
【0082】
図10において、演算回路212は、所定のビット単位でハッシュ関数演算を行うハッシュ関数回路1001と、ハッシュ関数回路1001の出力hの一部(Kビット)を記憶するレジスタ1002と、JPEGデータをKビットのブロックに分割する演算回路1003と、演算回路1003の出力とレジスタ1002の出力とを排他的論理和演算する演算回路1004とから構成される。
【0083】
ハッシュ関数回路1001の出力である128ビットのハッシュ値hの一部(Kビット)は、レジスタ1002に入力される。レジスタ1002には、例えば、ハッシュ値hの上位64ビットが一時的に格納される。
【0084】
レジスタ1002に格納されたKビットは、1ブロックのJPEGデータと排他的論理和演算され、その演算結果はハッシュ関数回路1001に供給される。
【0085】
上述の演算は、所定のブロックに達するまで、各ブロックに対して繰り返される。そして、その所定のブロックから求めたハッシュ値がディジタル署名データとして出力される。
【0086】
ここで、最初の演算では、レジスタ1002に初期値を格納しておく必要がある。その初期値は、例えば図13に示すように、乱数Rの下位Kビットを用いることができる。
【0087】
尚、ブロックDiの大きさが64の倍数とならない場合には、例えば後述の第3のモードと組合せて余りのビット列を演算するように構成してもよい。
【0088】
▲2▼第2のモード
第2のモードについて図11を用いて説明する。図11は、制御/演算部206の構成の一部を示す図である。
【0089】
図11において、演算回路212は、所定のビット単位でハッシュ関数演算を行うハッシュ関数回路1101と、ハッシュ関数回路1101に必要な入力値を供給するレジスタ1102と、ハッシュ関数回路1101の出力hの一部(Kビット)を出力するセレクタ1103と、JPEGデータをKビットのブロックに分割する演算回路1104と、演算回路1104の出力とセレクタ1103の出力とを排他的論理和演算する演算回路1105とから構成される。
【0090】
ハッシュ関数回路1101は、乱数発生回路214にて生成された秘密情報(即ち、乱数R)を初期値とするレジスタ1102の値をハッシュ関数で演算する。
【0091】
ハッシュ関数回路1101の出力である128ビットのハッシュ値hは、セレクタ1103に入力される。セレクタ1103は、128ビットのハッシュ値hの内、例えば下位Kビットを出力する。このKビットは、次にハッシュ関数演算されるデータとしてレジスタ1102に格納される。
【0092】
上述の演算は、所定のブロックに達するまで、各ブロックに対して繰り返される。そして、その所定のブロックから求めたハッシュ値がディジタル署名データとして出力される。
【0093】
尚、最初のハッシュ関数演算に必要な初期値は、例えば図13に示すように、上述の乱数Rの下位Kビットを用いることができる。
【0094】
▲3▼第3のモード
第3のモードについて図12を用いて説明する。図12は、制御/演算部206の構成の一部を示す図である。
【0095】
図12において、演算回路212は、所定のビット単位でハッシュ関数演算を行うハッシュ関数回路1201と、ハッシュ関数回路1201に必要な入力値を供給するレジスタ1202と、ハッシュ関数回路1201の出力hの一部(Kビット)を出力するセレクタ1203と、PEGデータをKビットのブロックに分割する演算回路1204と、演算回路1204の出力とセレクタ1203の出力とを排他的論理和演算する演算回路1205とから構成される。
【0096】
ハッシュ関数回路1201は、乱数発生回路214にて生成された秘密情報を初期値とするレジスタ1202の値を順次ハッシュ関数演算する。
【0097】
ハッシュ関数回路1201の出力である128ビットのハッシュ値hは、セレクタ1203に入力される。セレクタ1203は、128ビットのハッシュ値hの内、例えば下位Kビットを出力する。このKビットは、1ブロックのJPEGデータと排他的論理和演算され、その演算結果の一部は再びレジスタ1202に格納される。
【0098】
上述の演算は、所定のブロックに達するまで、各ブロックに対して繰り返される。そして、その所定のブロックから求めたハッシュ値がディジタル署名データとして出力される。
【0099】
尚、最初のハッシュ関数演算に必要な初期値は、例えば図13に示すように、上述の乱数Rの下位Kビットを用いることができる。
【0100】
ステップS608において、記録再生部203は、制御/演算部206にて生成されたディジタル署名データhとそれに対応するディジタル画像データPとを、取り外し可能な記録媒体に記録したり、ネットワークを介して他の機器に出力したりする。
【0101】
尚、図6に示す一連の処理手順を制御するプログラムは、ROM207に格納されている。このプログラムは、制御/演算部206(に含まれる制御回路210)によって読み出され、ユーザの撮像指示毎に起動される。
【0102】
以上のように第2の実施例では、ある長さの乱数Rから生成された秘密情報Sと高能率符号化されたディジタル画像データPとを用いて所定の演算を行い、その演算結果をハッシュ関数で演算してディジタル署名データhを生成する。このように構成することによって、第2の実施例では、従来のシステムに比べて安全性も信頼性も高いディジタル署名データhを簡単な構成によって実現することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0103】
又、第2の実施例では、ハッシュ関数演算を上述の動作モードの1つまたは複数を組み合わせて実現することにより、第1の実施例に比べてより安全性の高いディジタル署名データ生成アルゴリズムを提供することができる。
【0104】
更に、第2の実施例では、第1の実施例と同様に、ディジタル署名データhを用いて、ディジタル画像データPがどの画像入力装置にて撮像されたかを特定することもできる。
【0105】
(第3の実施例)
第1、第2の実施例では、ハッシュ関数を用いてディジタル署名データhを生成する手順について説明した。
【0106】
これに対して、第3の実施例では、ハッシュ関数ではなく、共通鍵暗号を用いてディジタル署名データhを生成する手順について詳細に説明する。
【0107】
図14は、第3の実施例の処理手順を説明するフローチャートである。以下、図14を用いて、ディジタル署名データhを生成する手順を説明する。
【0108】
ステップS1401〜S1403の処理は、上述の第1の実施例のステップS401〜S403と同様の処理としてその説明を省略する。
【0109】
ステップS1404において、制御/演算部206は、画像入力装置10の持つ固有の秘密情報Sをメモリ213から読み出す。第3の実施例では、“1111…1111”(128ビット)を秘密情報Sとして説明する。
【0110】
ステップS1405において、制御/演算部206(に含まれる演算回路212)は、作業用メモリ202に保持されたJPEGデータを共通鍵暗号方式に基づいて暗号化する。ここで、JPEGデータを共通鍵暗号化する暗号鍵は、秘密情報Sから生成する。
【0111】
共通鍵暗号方式には現在様々なものが提案されているが、第3の実施例ではDES方式を用いる。DES方式を使用する場合、暗号鍵のビット長は56ビットであるので、秘密情報Sの上位56ビットを暗号鍵とする(図15参照)。ここで、この暗号鍵のビット長は、使用する共通鍵暗号方式の種類によって異なるものである。従って、FEAL-nX,MITSY,IDEAを使用する場合、暗号鍵は128ビットであるので、秘密情報Sの上位128ビットを暗号鍵とする。又、FEAL-n,MULTI2を使用する場合、暗号鍵は64ビットであるので、秘密情報Sの上位64ビットを暗号鍵とする。
【0112】
ステップS1405における共通鍵暗号化処理について詳細に説明する。
【0113】
制御/演算部206は、後述する3つの動作モード(即ち、CBCモード、CFBモード、OFBモード)の何れか1つ又はこれらの組み合わせにより、JPEGデータを暗号化する。何れの動作モードにおいても、入力データを撹乱しながら暗号化することができるため、より安全性の高い暗号化処理を実現できる。
【0114】
▲1▼CBC(Cipher Block Chaining)モード
CBCモードを図16を用いて説明する。図16は、制御/演算部206の一部(即ち、演算回路212)を示す図である。
【0115】
図16において、演算回路212は、64ビット単位で暗号化を行う暗号化回路1601と、暗号化回路1601の出力を一時的に保持するレジスタ1602と、JPEGデータとレジスタ1602の出力とを排他的論理和演算する演算回路1603とから構成される。
【0116】
暗号化回路1601は、64ビットからなるブロック毎に、JPEGデータを暗号化する。暗号化回路1601の出力は、レジスタ1602に一時的に格納される。レジスタ1602に格納された64ビットのデータは、次のブロックと排他的論理和演算され、その演算結果は暗号化回路1601に供給される。最終的に、全てのブロックを暗号化した結果が暗号データとして出力される。この暗号データの一部が、ディジタル署名データhとなる。
【0117】
ここで、最初のブロックの暗号化では、レジスタ1602に初期値を格納しておく必要がある。その初期値は、例えば、秘密情報Sの下位64ビットを用いる(図15参照)。
【0118】
尚、ブロックの大きさが64の倍数とならない場合には、例えば後述のOFBモードと組合せて余りのビット列を暗号化するように構成してもよい。
【0119】
▲2▼OFB(Output Feedback)モード
OFBモードについて図17を用いて説明する。図17は、制御/演算部206の一部(即ち、演算回路212)を示す図である。
【0120】
図17において、演算回路212は、64ビット単位で暗号化を行う暗号化回路1701と、暗号化回路1701に必要な入力値を供給するレジスタ1702と、暗号化回路1701の出力を選択的に出力するセレクタ1703と、JPEGデータとセレクタ1703の出力とを排他的論理和演算する演算回路1704とから構成される。
【0121】
暗号化回路1701は、レジスタ1702に格納された64ビットのデータを暗号化する。暗号化回路1701の出力は、セレクタ1703に入力される。セレクタ1703は、例えば下位Kビットを出力する。このKビットは、次に暗号化されるデータとしてレジスタ1702に格納される。セレクタ1703から出力されたKビットは、JPEGデータの各ブロック(1ブロックは、Kビット)と排他的論理和演算され、その結果が暗号データとなる。この暗号データの一部が、ディジタル署名データhとなる。
【0122】
尚、最初の暗号化に必要な初期値は、例えば、秘密情報Sの下位64ビットを用いる(図15参照)。
【0123】
▲3▼CFB(Cipher Feedback)モード
CFBモードについて図18を用いて説明する。図18は、制御/演算部206の一部(即ち、演算回路212)を示す図である。
【0124】
図18において、演算回路212は、64ビット単位で暗号化を行う暗号化回路1801と、暗号化回路1801に必要な入力値を供給するレジスタ1802と、暗号化回路1801の出力を選択的に出力するセレクタ1803と、JPEGデータとセレクタ1803の出力とを排他的論理和演算する演算回路1804とから構成される。
【0125】
暗号化回路1801は、レジスタ1802に格納された64ビットのデータを暗号化する。暗号化回路1801の出力は、セレクタ1803に入力される。
セレクタ1803は、例えば下位Kビットを出力する。セレクタ1803から出力されたKビットは、1ブロック(Kビット)のJPEGデータと排他的論理和演算され、その結果は再びレジスタ1802に格納される。最終的に、全てのブロックを処理した結果が暗号データとして出力される。この暗号データの一部が、ディジタル署名データhとなる。
【0126】
尚、最初の暗号化に必要な初期値は、例えば、秘密情報Sの下位64ビットを用いる(図15参照)。
【0127】
ステップS1406において、制御/演算部206(に含まれる演算回路212)は、ステップS1405にて生成された暗号データから特定のビット列をディジタル署名データとして抽出する。例えば、上述の暗号データの下位128ビットをディジタル署名データとする。
【0128】
ステップS1407において、記録再生部203は、制御/演算部206(に含まれる演算回路212)にて生成されたディジタル署名データhとそれに対応するディジタル画像データPとを、取り外し可能な記録媒体に記録したり、ネットワークを介して他の機器に出力したりする。
【0129】
尚、図14に示す一連の処理手順を制御するプログラムは、ROM207に格納されている。このプログラムは、制御/演算部206(に含まれる制御回路210)によって読み出され、ユーザの撮像指示毎に起動される。
【0130】
以上のように第3の実施例では、秘密情報Sの一部から生成した暗号鍵と高能率符号化されたディジタル画像データPとを用いて共通鍵暗号方式による暗号化を行い、暗号化されたデータからディジタル署名データhを生成する。このように構成することにより、第3の実施例では、第1、第2の実施例に比べて安全性も信頼性も向上させたディジタル署名データを生成することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0131】
又、第3の実施例では、ディジタル署名データhを用いて、ディジタル画像データがどの画像入力装置にて撮像されたかを特定することもできる。
【0132】
尚、第3の実施例では、秘密情報Sを“1111…1111”(128ビット)としたがこれに限るものではない。例えば、乱数発生回路214が所定のアルゴリズムに基づいて発生させた乱数とすることも可能である。但し、この秘密情報Sは画像検証装置20と共有される。
【0133】
(第4の実施例)
第3の実施例では、ハッシュ関数ではなく共通鍵暗号を用いてディジタル署名データhを生成する手順について説明した。
【0134】
これに対して、第4の実施例では、所定の演算(例えば、ビット挿入を含む逆演算可能な演算)を行い、その演算結果を共通鍵暗号方式で暗号化した後、暗号化されたデータからディジタル署名データhを生成する手順について説明する。
【0135】
図19は、第4の実施例の処理手順を説明するフローチャートである。以下、図19を用いて、ディジタル署名データhを生成する手順を説明する。
【0136】
ステップS1901〜S1903の処理は、上述の第1の実施例のステップS401〜S403と同様の処理としてその説明を省略する。
【0137】
ステップS1904〜S1906の処理は、上述の第2の実施例のステップS604〜S606と同様の処理(即ち、秘密情報である乱数RのビットRiとJPEGデータのブロックDiとを用いた排他的論理和演算)としてその説明を省略する。
【0138】
ここで、ステップS1906の演算は、上述のステップS606と同様に、乱数RiとブロックDiの最下位ビットとの間の排他的論理和演算としたがそれに限るものではない。各ブロックDiの少なくとも一部に秘密情報S(ビット長mの乱数R)の一部を付加、合成、多重する処理で且つ逆演算可能な処理であれば、いかなる演算処理であってもよい。
【0139】
ステップS1907において、制御/演算部206(に含まれる演算回路212)は、ステップS1906の出力を共通鍵暗号方式に従って暗号化する。ここで、制御/演算部206は、第3の実施例と同様に、DES方式を利用するものとし、その暗号化に必要な暗号鍵は、ステップS1904で生成した秘密情報Sの上位56ビットとする(図20参照)。
【0140】
ステップS1907における暗号化処理について詳細に説明する。
【0141】
制御/演算部206は、上述した3つの動作モード(即ち、CBCモード、CFBモード、OFBモード)の何れか1つ又はこれらの組み合わせ、乱数RのビットRiとJPEGデータのブロックDiとを排他的論理和演算した結果を、順次暗号化する。何れの動作モードにおいても、入力データを撹乱しながら暗号化することができるため、より安全性の高い暗号化を実現できる。
【0142】
ステップS1908において、制御/演算部206(に含まれる演算回路212)は、ステップS1907にて生成された暗号データから特定のビット列をディジタル署名データhとして抽出する。例えば、暗号データの下位128ビットをディジタル署名データhとする。
【0143】
ステップS1909において、記録再生部203は、制御/演算部206(に含まれる演算回路212)にて生成されたディジタル署名データhとそれに対応するディジタル画像データPとを、取り外し可能な記録媒体に記録したり、ネットワークを介して他の機器に出力したりする。
【0144】
尚、図19に示す一連の処理手順を制御するプログラムは、ROM207に格納されている。このプログラムは、制御/演算部206(に含まれる制御回路210)によって読み出され、ユーザの撮像指示毎に起動される。
【0145】
以上のように第4の実施例では、乱数Rから生成された秘密情報Sと高能率符号化されたディジタル画像データPとを用いて所定の演算を行い、その演算結果を共通鍵暗号方式により暗号化し、暗号化されたデータからディジタル署名データhを生成する。このように構成することにより、第4の実施例では、第3の実施例に比べて安全性も信頼性も向上させたディジタル署名データを生成することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0146】
又、第4の実施例では、ディジタル署名データhを用いて、あるディジタル画像データPがどの画像入力装置にて撮像されたかを特定することもできる。
【0147】
(第5の実施例)
第1〜第4の実施例では、画像入力装置10に固有の秘密情報Sに基づいて、ディジタル署名データhを生成する構成について説明した。このような構成により第1〜第4の実施例では、ディジタル署名データhを用いて、あるディジタル画像データPがどの画像入力装置にて撮像されたものであるかを特定することができる。
【0148】
これに対して、第5の実施例では、外部装置(例えば,ICカード等)を画像入力装置10に接続し、この外部装置に固有の秘密情報Sに基づいて、ディジタル署名データhを生成する構成について説明する。外部機器の持つ秘密情報Sは、例えば、画像入力装置10を識別するためのID情報、画像入力装置10を使用するユーザを識別するためのID情報とすることができる。このように構成することにより、第5の実施例では、ディジタル署名データhを用いて、ディジタル画像データがどの外部機器と接続された画像入力装置によって撮像されたものか、或いはどのユーザによって撮像されたものであるかを特定することができる。
【0149】
図21は、第5の実施例の処理手順を説明するフローチャートである。以下、図21を用いて、ディジタル署名データhを生成する手順を説明する。
【0150】
ステップS2101において、画像入力装置10の制御/演算処理部206は、外部I/F部205に外部装置40が接続されているか否かを検出する。
【0151】
ステップS2102において、画像入力装置10と外部装置40とは、相互認証を行い、互いに正当なものであるかどうかをチェックする。
【0152】
図22を用いて、画像入力装置10と外部装置40との相互認証処理について説明する。
【0153】
画像入力装置10は、乱数発生回路214を用いて認証用の乱数aを発生させ、その乱数aを外部I/F部205を介して外部装置40に送信する。
【0154】
次に外部装置40の暗号化回路43は、認証用の暗号鍵を用いて乱数aをAに変換し、その暗号データAを外部I/F部41を介して画像入力装置10へ送信する。
【0155】
又、画像入力装置10の暗号化回路2201は、乱数aを認証用の暗号鍵を用いてA’に変換する。比較回路2202は、その暗号データA’を外部装置40から送信された暗号データAと比較し、それらが一致すれば外部装置40を認証する。
【0156】
同様にして、外部装置40は、乱数発生回路42を用いて認証用の乱数bを発生させ、その乱数bを外部I/F部205を介して画像入力装置10に送信する。
【0157】
次に画像入力装置10の暗号化回路2201は、認証用の暗号鍵を用いて乱数bをBに変換し、その暗号データBを外部I/F部205を介して外部装置40へ送信する。
【0158】
又、外部装置40の暗号化回路43は、乱数bを認証用の暗号鍵を用いてB’に変換する。比較回路44は、その暗号データB’を画像入力装置10から送信された暗号データBと比較し、それらが一致すれば画像入力装置10を認証する。
【0159】
双方が正常に認証された場合、外部装置40は、メモリ45に格納された秘密情報Sを外部I/F部41を介して画像入力装置10に送信する。
【0160】
ステップS2103〜S2105の処理は、上述の第1の実施例のステップS401〜S403と同様の処理としてその説明を省略する。
【0161】
ステップS2106において、制御/演算部206は、外部I/F部205を介して入力された秘密情報Sをメモリ213に格納する。
【0162】
ステップS2107において、制御/演算部206(に含まれる演算回路212)は、秘密情報SとJPEG方式で高能率符号化されたディジタル画像データP(以下、JPEGデータと称する)とを用いて、予め定められた規則に基づく所定の演算を行う。ここで、演算回路212は、第1の実施例のステップS405と同様の演算を行う。
【0163】
ステップS2108において、制御/演算部206(に含まれる演算回路212)は、ステップS2107の演算結果をハッシュ関数で演算し、その結果からディジタル署名データhを生成する。ここで、演算回路212は、第1の実施例のステップS406と同様の演算処理を行う。
【0164】
ステップS2109において、記録再生部203は、制御/演算部206にて生成されたディジタル署名データhとそれに対応するディジタル画像データPとを、取り外し可能な記録媒体に記録したり、ネットワークを介して他の機器に出力したりする。
【0165】
尚、図21に示す一連の処理手順を制御するプログラムは、ROM207に格納されている。このプログラムは、制御/演算部206(に含まれる制御回路210)によって読み出され、ユーザの撮像指示毎に起動される。これにより、ディジタル画像を撮像する毎にその画像に対応したディジタル署名データhを生成することができる。
【0166】
以上のように第5の実施例では、高能率符号化されたディジタル画像データPと外部装置40の有する秘密情報Sとを用いて所定の演算を行い、その演算結果をハッシュ関数で演算した後、その演算結果からディジタル署名データhを生成する。このように構成することにより、第5の実施例では、従来のシステムに比べて安全性も信頼性も向上させたディジタル署名データを生成することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0167】
この結果、外部機器の秘密情報Sと所定の演算とを知らなければ、ディジタル画像データPに対応するディジタル署名データhを不正に作り出すことはできないため、ディジタル署名データhに基づいてディジタル画像データPの正当性を安全に検証することができる。又、一方向性関数の性質により、ディジタル署名データhから元のデータ(即ち、秘密情報Sを用いて所定の演算を行なったディジタル画像データP)を知ることもできないため、ディジタル署名データhからディジタル画像データPの正当性を安全に検証することができる。
【0168】
又、ディジタル署名データhを用いて、ディジタル画像データがどのユーザによって撮像されたかを特定することもできる。
【0169】
尚、第5の実施例では、ディジタル署名データhを生成する手順を第1の実施例と同様の手順としたがそれに限るものではない。上述の第2〜第4の実施例の何れも適用することができる。
【0170】
(第6の実施例)
第5の実施例では、画像入力装置10に外部装置40を接続し、この外部装置40の持つ固有の秘密情報に基づいてディジタル署名データを生成する構成について説明した。
【0171】
これに対して、第6の実施例では、画像入力装置10を外部装置40に接続し、この外部装置40に固有の秘密情報S2と画像入力装置10に固有の秘密情報S1の双方に基づいて、ディジタル署名データhを生成する構成について説明する。このように構成することにより第6の実施例では、ディジタル署名データhを用いて、ディジタル画像データPがどの外部機器と接続されたどの画像入力装置によって撮像されたものか、或いはどのユーザが使用するどの画像入力装置によって撮像されたものであるかを特定することができる。
【0172】
図21を用いて第6の実施例の処理手順を詳細に説明する。
【0173】
ステップS2101において、画像入力装置10の制御/演算処理部206は、外部I/F部205に外部装置40が接続されているか否かを検出する。
【0174】
ステップS2102において、画像入力装置10と外部装置40とは、相互認証を行い、互いに正当なものであるかどうかをチェックする。
【0175】
ステップS2103〜S2105の処理は、上述の第1の実施例のステップS401〜S403と同様の処理としてその説明を省略する。
【0176】
ステップS2106において、制御/演算部206は、画像入力装置10の持つ秘密情報S1をメモリ213から読み出すと共に、外部装置40の持つ秘密情報S2を外部I/F部205を介して入力する。そして、これらの秘密情報S1,S2を結合させ、新しい秘密情報Sを生成する。
【0177】
ここで、画像入力装置10の秘密情報S1を例えば“1111”とし、外部装置40の秘密情報S2を例えば“0000”とすると、新たに生成される秘密情報Sは、例えば“11110000”となる。尚、第6の実施例では、2つの秘密情報を単に結合することにより新たな秘密情報Sを生成する場合について説明したが、秘密情報Sから秘密情報S1,S2を抽出できる演算であれば、いかなる演算であってもよい。
【0178】
ステップS2107において、制御/演算部206(に含まれる演算回路212)は、秘密情報SとJPEG方式で高能率符号化されたディジタル画像データP(以下、JPEGデータと称する)とを用いて、予め定められた規則に基づく所定の演算を行う。ここで、演算回路212は、第1の実施例のステップS405と同様の演算を行う。
【0179】
ステップS2108において、制御/演算部206(に含まれる演算回路212)は、ステップS2107の演算結果をハッシュ関数で演算し、その結果からディジタル署名データhを生成する。
【0180】
ステップS2109において、記録再生部203は、制御/演算部206にて生成されたディジタル署名データhとそれに対応するディジタル画像データPとを、取り外し可能な記録媒体に記録したり、ネットワークを介して他の機器に出力したりする。
【0181】
尚、図21に示す一連の処理手順を制御するプログラムは、ROM207に格納されている。このプログラムは、制御/演算部206(に含まれる制御回路210)によって読み出され、ユーザの撮像指示毎に起動される。これにより、ディジタル画像を撮像する毎にその画像に対応したディジタル署名データを生成することができる。
【0182】
以上説明したように、第6の実施例では、高能率符号化されたディジタル画像データPと、画像入力装置10の秘密情報S1と外部装置40の秘密情報S2とから生成された秘密情報Sとを用いて所定の演算を行い、その演算結果をハッシュ関数で演算した後、その演算結果を用いてディジタル署名データhを生成する。このように構成することにより、第6の実施例では、従来のシステムに比べて安全性も信頼性も向上させたディジタル署名データを生成することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0183】
又、ディジタル署名データhを用いて、ディジタル画像データがどの外部機器と接続された画像入力装置によって撮像されたものか、或いはどのユーザによって使用された画像入力装置にて撮像されたものかを特定することもできる。
【0184】
尚、第6の実施例では、ディジタル署名データhを生成する手順を第1の実施例と同様の手順としたがそれに限るものではない。上述の第2〜第4の実施例の何れも適用することができる。
【0185】
(第7の実施例)
第7の実施例では、第1の実施例の画像入力装置10が生成したディジタル署名データhを用いて、ディジタル画像データPの正当性を確認する画像検証装置20について説明する。
【0186】
図23は、第7の実施例の処理手順の一例を説明するフローチャートである。以下、図23を用いて、画像検証装置20がディジタル画像データPを検証する手順を説明する。
【0187】
ステップS2301において、外部I/F部301は、画像入力装置10が生成したディジタル画像データPとそれに対応するディジタル署名データhとを入力し、それらを画像検証装置20の作業用メモリ302に格納する。ここで、ディジタル画像データPは、例えば、JPEG方式で高能率符号化されている(以下、ディジタル画像データPを単にJPEGデータと称する)。
【0188】
ステップS2302において、操作部306は、ユーザの操作入力に基づき、どのJPEGデータの正当性を検証するか否かを選択する。検証が指示された場合、制御/演算部303はステップS2303を実行する。
【0189】
ステップS2303において、制御/演算部303は、メモリ313から秘密情報Sを読み出す。ここで、この秘密情報Sは、第1の実施例の画像入力装置10と本実施例の画像検証装置20との間で秘密に共有する情報である。従って、本実施例の秘密情報Sは、第1の実施例と同様に“11111111”である。尚、この秘密情報Sは、読み出し専用の記録媒体等の中に保存され、外部に出力できないように管理されている。
【0190】
ステップS2304において、制御/演算部303(に含まれる演算回路312)は、秘密情報SとJPEGデータとを用いて、第1の実施例のステップS405と同様の演算を行う。つまり、JPEGデータの最上位バイトと秘密情報Sとを、ビット毎に排他的論理和演算する。
【0191】
ステップS2305において、制御/演算部303(に含まれる演算回路312)は、ステップS2304の演算結果をハッシュ関数で演算する。ここでは、第1の実施例と同様のハッシュ関数を使用して、ステップS406と同様の処理を行う。
【0192】
ステップS2306において、制御/演算部303(に含まれる演算回路312)は、ステップS2305の演算結果と選択されたJPEGデータのディジタル署名データhとを比較する。比較の結果、これらのデータが一致した場合には、JPEGデータを正当なものと判断し、一致しなかった場合には、JPEGデータに何らかの不正な処理(即ち、JPEGデータに対する修正、改竄、偽造、合成等の改変処理)が行われたものと判断する。
【0193】
ステップS2307において、表示部304は、ステップS2306の比較結果が一致した場合、選択したJPEGデータが正常で、不正な処理の施されていないことを示す表示画像或いはメッセージを表示する。又、この比較結果が一致しなかった場合、不正な処理を示す警告画像或いは警告メッセージを表示する。これにより、ユーザは、選択したJPEGデータの正当性を視覚的に分かり易く認識することができる。
【0194】
尚、図23に示す一連の処理手順を制御するプログラムは、ROM305に格納されている。このプログラムは、制御/演算部303(に含まれる制御回路312)によって読み出され、所望の画像の検証を指示する毎に起動する。
【0195】
以上の手順により、選択されたJPEGデータの正当性が確認されなかった場合、制御回路310は各処理回路を制御して該JPEGデータを廃棄する。
【0196】
以上説明したように、第7の実施例では、第1の実施例の画像入力装置10にて撮像され、高能率符号化されたディジタル画像データPの正当性を、従来のシステムに比べて簡単な構成で認識することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0197】
(第8の実施例)
第8の実施例では、第2の実施例の画像入力装置10が生成したディジタル署名データhを用いて、ディジタル画像データPの正当性を確認する画像検証装置20について説明する。
【0198】
図24は、第8の実施例の処理手順の一例を説明するフローチャートである。以下、図24を用いて、画像検証装置20がディジタル画像データPを検証する手順を説明する。
【0199】
ステップS2401、S2402の処理は、上述の第7の実施例のステップS2301、S2302と同様の処理としてその説明を省略する。
【0200】
ステップS2403において、制御/演算部303(に含まれる乱数発生回路)は、ビット長mの乱数R(即ち、秘密情報S)を生成する。乱数Rを生成するためのプログラムは、ROM305に格納されている。このプログラムは、第2の実施例の画像入力装置10の保持するプログラムと同一であり、乱数Rは、第2の実施例の乱数Rと同一である。尚、このプログラム及び乱数Rは、外部に出力できないように管理されている。
【0201】
ステップS2404において、制御/演算部303(に含まれる演算回路312)は、図7に示すように、選択されたJPEGデータを128ビットのブロックDi(i=1〜n)に分割する。データ量が128ビットにならないブロックについては、“000…000”をパディングする。尚、ステップS2404の処理は、第2の実施例のステップS605と同様の処理である。
【0202】
ステップS2405において、制御/演算部303(に含まれる演算回路312)は、乱数Rとn個のブロックとを用いて、第2の実施例のステップS606と同様の演算を行う。つまり、乱数RのビットRiとブロックDiの最下位ビットとの間の排他的論理和演算を、i=1〜nとなるまで繰り返す。
【0203】
ステップS2406において、制御/演算部303(に含まれる演算回路312)は、ステップS2405の演算結果に対してハッシュ関数演算を行う。ここでは、第2の実施例と同様のハッシュ関数を使用して、ステップS607と同様の処理を行う。
【0204】
ステップS2407において、制御/演算部303(に含まれる演算回路312)は、ステップS2406の演算結果と選択されたJPEGデータのディジタル署名データhとを比較する。比較の結果、これらのデータが一致した場合には、JPEGデータを正当なものと判断し、一致しなかった場合には、JPEGデータに何らかの不正な処理(即ち、JPEGデータに対する修正、改竄、偽造、合成等の改変処理)が行われたものと判断する。
【0205】
ステップS2408において、表示部304は、ステップS2407の比較結果を画像或いはメッセージで表示する。これにより、ユーザは、選択したJPEGデータの正当性を視覚的に分かり易く認識することができる。
【0206】
尚、図24に示す一連の処理手順を制御するプログラムは、ROM305に格納されている。このプログラムは、制御/演算部303(に含まれる制御回路312)によって読み出され、所望の画像の検証を指示する毎に起動する。
【0207】
以上の手順により、選択されたJPEGデータの正当性が確認されなかった場合、制御回路310は各処理回路を制御して該JPEGデータを廃棄する。
【0208】
以上説明したように、第8の実施例では、第2の実施例の画像入力装置10にて撮像され、高能率符号化されたディジタル画像データPの正当性を、従来のシステムに比べて簡単な構成で認識することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0209】
(第9の実施例)
第9の実施例では、第3の実施例の画像入力装置10が生成したディジタル署名データhを用いて、ディジタル画像データPの正当性を確認する画像検証装置20について説明する。
【0210】
図25は、第9の実施例の処理手順の一例を説明するフローチャートである。以下、図25を用いて、画像検証装置20がディジタル画像データPを検証する手順を説明する。
【0211】
ステップS2501、S2502の処理は、上述の第7の実施例のステップS2301、S2302と同様の処理としてその説明を省略する。
【0212】
ステップS2503において、制御/演算部303は、メモリ313から秘密情報Sを読み出す。ここで、この秘密情報Sは、第3の実施例の画像入力装置10と本実施例の画像検証装置20との間で共有する情報である。従って、本実施例の秘密情報Sは、第3の実施例と同様に“11111111”である。尚、この秘密情報は、読み出し専用の記録媒体等の中に保存され、外部に出力できないように管理されている。
【0213】
ステップS2504において、制御/演算部303(に含まれる演算回路312)は、第3の実施例のステップS1405と同様に、選択されたJPEGデータを共通鍵暗号方式で暗号化する。
【0214】
ステップS2505において、制御/演算部303(に含まれる演算回路312)は、ステップS2504にて生成された暗号データから特定のビット列を抽出する。例えば、第3の実施例と同様に、上述の暗号データの下位128ビットを抽出する。
【0215】
ステップS2506において、制御/演算部303(に含まれる演算回路312)は、ステップS2505の抽出結果と選択されたJPEGデータのディジタル署名データhとを比較する。比較の結果、これらのデータが一致した場合には、JPEGデータを正当なものと判断し、一致しなかった場合には、JPEGデータに何らかの不正な処理(即ち、JPEGデータに対する修正、改竄、偽造、合成等の改変処理)が行われたものと判断する。
【0216】
ステップS2507において、表示部304は、ステップS2506の比較結果を画像或いはメッセージで表示する。これにより、ユーザは、選択したJPEGデータの正当性を視覚的に分かり易く認識することができる。
【0217】
尚、図25に示す一連の処理手順を制御するプログラムは、ROM305に格納されている。このプログラムは、制御/演算部303(に含まれる制御回路312)によって読み出され、所望の画像の検証を指示する毎に起動する。
【0218】
以上の手順により、選択されたJPEGデータの正当性が確認されなかった場合、制御回路310は各処理回路を制御して該JPEGデータを廃棄する。
【0219】
以上説明したように、第9の実施例では、第3の実施例の画像入力装置10にて撮像され、高能率符号化されたディジタル画像データPの正当性を、従来のシステムに比べて簡単な構成で認識することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0220】
(第10の実施例)
第10の実施例では、第4の実施例の画像入力装置10が生成したディジタル署名データhを用いて、ディジタル画像データPの正当性を確認する画像検証装置20について説明する。
【0221】
図26は、第10の実施例の処理手順の一例を説明するフローチャートである。以下、図26を用いて、画像検証装置20がディジタル画像データPを検証する手順を説明する。
【0222】
ステップS2601、S2602の処理は、上述の第7の実施例のステップS2301、S2302と同様の処理としてその説明を省略する。
【0223】
ステップS2603〜S2605の処理は、上述の第8の実施例のステップS2403〜S2405と同様の処理としてその説明を省略する。
【0224】
ステップS2606において、制御/演算部303(に含まれる演算回路312)は、第4の実施例のステップS1907と同様に、選択されたJPEGデータを共通鍵暗号方式で暗号化する。
【0225】
ステップS2607において、制御/演算部303(に含まれる演算回路312)は、ステップS2606にて生成された暗号データから特定のビット列を抽出する。例えば、第3の実施例と同様に、上述の暗号データの下位128ビットを抽出する。
【0226】
ステップS2608において、制御/演算部303(に含まれる演算回路312)は、ステップS2607の抽出結果と選択されたJPEGデータのディジタル署名データhとを比較する。比較の結果、これらのデータが一致した場合には、JPEGデータを正当なものと判断し、一致しなかった場合には、JPEGデータに何らかの不正な処理(即ち、JPEGデータに対する修正、改竄、偽造、合成等の改変処理)が行われたものと判断する。
【0227】
ステップS2609において、表示部304は、ステップS2608の比較結果を画像或いはメッセージで表示する。これにより、ユーザは、選択したJPEGデータの正当性を視覚的に分かり易く認識することができる。
【0228】
尚、図26に示す一連の処理手順を制御するプログラムは、ROM305に格納されている。このプログラムは、制御/演算部303(に含まれる制御回路312)によって読み出され、所望の画像の検証を指示する毎に起動する。
【0229】
以上の手順により、選択されたJPEGデータの正当性が確認されなかった場合、制御回路310は各処理回路を制御して該JPEGデータを廃棄する。
【0230】
以上説明したように、第10の実施例では、第4の実施例の画像入力装置10にて撮像され、高能率符号化されたディジタル画像データPの正当性を、従来のシステムに比べて簡単な構成で認識することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。
【0231】
(第11の実施例)
第11の実施例では、第5の実施例の画像入力装置10が生成したディジタル署名データhを用いて、ディジタル画像データPの正当性を確認する画像検証装置20について説明する。
【0232】
図27は、第11の実施例の処理手順の一例を説明するフローチャートである。以下、図27を用いて、画像検証装置20がディジタル画像データPを検証する手順を説明する。
【0233】
ステップS2701において、画像検証装置20の制御/演算処理部303は、外部I/F部301に外部装置40が接続されているか否かを検出する。
【0234】
ステップS2702において、画像検証装置20と外部装置40とは、相互認証を行い、互いに正当なものであるかどうかをチェックする。
【0235】
ステップS2703、S2704の処理は、上述の第7の実施例のステップS2301、S2302と同様の処理としてその説明を省略する。
【0236】
ステップS2705において、制御/演算部303は、外部I/F部301を介して入力された外部装置40に固有の秘密情報Sをメモリ313に格納し、管理する。
【0237】
ステップS2706において、制御/演算部303(に含まれる演算回路312)は、秘密情報SとJPEGデータとを用いて、予め定められた規則に基づく所定の演算を行う。ここで、演算回路312は、第7の実施例のステップS2304と同様の演算を行う。
【0238】
ステップS2707において、制御/演算部303(に含まれる演算回路312)は、ステップS2706の演算結果をハッシュ関数で演算する。ここで、演算回路312は、第7の実施例のステップS2305と同様の演算を行う。
【0239】
ステップS2708において、制御/演算部303(に含まれる演算回路312)は、ステップS2707の演算結果と選択されたJPEGデータのディジタル署名データhとを比較する。比較の結果、これらのデータが一致した場合には、JPEGデータを正当なものと判断し、一致しなかった場合には、JPEGデータに何らかの不正な処理(即ち、JPEGデータに対する修正、改竄、偽造、合成等の改変処理)が行われたものと判断する。
【0240】
ステップS2709において、表示部304は、ステップS2708の比較結果を画像或いはメッセージで表示する。これにより、ユーザは、選択したJPEGデータの正当性を視覚的に分かり易く認識することができる。
【0241】
尚、図27に示す一連の処理手順を制御するプログラムは、ROM305に格納されている。このプログラムは、制御/演算部303(に含まれる制御回路312)によって読み出され、所望の画像の検証を指示する毎に起動する。
【0242】
以上の手順により、選択されたJPEGデータの正当性が確認されなかった場合、制御回路310は各処理回路を制御して該JPEGデータを廃棄する。
【0243】
以上説明したように、第11の実施例では、第5の実施例の画像入力装置10にて撮像され、高能率符号化されたディジタル画像データPの正当性を、従来のシステムに比べて簡単な構成で認識することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。更に、ディジタル署名データhを用いて、ディジタル画像データがどの外部機器によって撮像されたものか、或いはどのユーザにて撮像されたものかを特定することもできる。
【0244】
(第12の実施例)
第12の実施例では、第6の実施例の画像入力装置10が生成したディジタル署名データhを用いて、ディジタル画像データPの正当性を確認する画像検証装置20について説明する。
【0245】
図27を用いて、第12の実施例の処理手順の一例を説明する。
【0246】
ステップS2701〜S2704の処理は、上述の第11の実施例と同様の処理としてその説明を省略する。
【0247】
ステップS2705において、制御/演算部303は、画像入力装置10と供給する秘密情報S1をメモリ313から読み出し、外部装置40に固有の秘密情報S2を外部I/F部301を介して入力する。そして、第6の実施例と同様に、これらの秘密情報S1,S2を結合し、新しい秘密情報Sを生成する。
【0248】
ステップS2706において、制御/演算部303(に含まれる演算回路312)は、秘密情報SとJPEGデータとを用いて、予め定められた規則に基づく所定の演算を行う。ここで、演算回路312は、第7の実施例のステップS2304と同様の演算処理を行う。
【0249】
ステップS2707において、制御/演算部303(に含まれる演算回路312)は、ステップS2706の演算結果をハッシュ関数で演算する。ここで、演算回路312は、第7の実施例のステップS2305と同様の演算処理を行う。
【0250】
ステップS2708において、制御/演算部303(に含まれる演算回路312)は、ステップS2707の演算結果と選択されたJPEGデータのディジタル署名データhとを比較する。比較の結果、これらのデータが一致した場合には、JPEGデータを正当なものと判断し、一致しなかった場合には、JPEGデータに何らかの不正な処理(即ち、JPEGデータに対する修正、改竄、偽造、合成等の改変処理)が行われたものと判断する。
【0251】
ステップS2709において、表示部304は、ステップS2708の比較結果を画像或いはメッセージで表示する。これにより、ユーザは、選択したJPEGデータの正当性を視覚的に分かり易く認識することができる。
【0252】
尚、図27に示す一連の処理手順を制御するプログラムは、ROM305に格納されている。このプログラムは、制御/演算部303(に含まれる制御回路312)によって読み出され、所望の画像の検証を指示する毎に起動する。
【0253】
以上の手順により、選択されたJPEGデータの正当性が確認されなかった場合、制御回路310は各処理回路を制御して該JPEGデータを廃棄する。
【0254】
以上説明したように、第12の実施例では、第6の実施例の画像入力装置10にて撮像され、高能率符号化されたディジタル画像データPの正当性を、従来のシステムに比べて簡単な構成で認識することができる。又、従来のシステムに比べて安価に構成することも、処理速度を高速化することもできる。更に、上述のディジタル署名データhを用いて、ディジタル画像データがどの外部機器と接続された画像入力装置によって撮像されたものか、或いはどのユーザによって使用された画像入力装置にて撮像されたものかを特定することもできる。
【0255】
尚、本発明はその精神、又は主要な特徴から逸脱することなく、他の様々な形で実施することができる。
【0256】
例えば、第1〜第6の実施例では、画像入力装置10内においてディジタル署名データを生成したが、該ディジタル署名データを画像入力装置10に接続された外部装置40にて生成することも可能である。このように構成した場合、各装置が互いの装置を認証した後、ディジタル署名データの生成に必要な処理プログラム、高能率符号化されたディジタル画像データ等を画像入力装置10から外部装置40に送信し、ディジタル署名データを生成する。
【0257】
又、第1〜第6の実施例では、ディジタル署名データの生成に必要な演算処理を画像入力装置10と外部装置40とに分散させ、各装置が共同してディジタル署名データを生成することも可能である。このように構成した場合、各装置が互いの装置を認証した後、ディジタル署名データの生成に必要な処理プログラム、高能率符号化されたディジタル画像データ等の中で必要な部分のみを画像入力装置10から外部装置40に送信し、ディジタル署名データを生成する。
【0258】
又、第7〜第12の実施例では、画像検証装置20が外部入力されたディジタル画像データを用いてディジタル署名データを生成したが、該ディジタル署名データを画像検証装置20に接続された外部装置40にて生成することも可能である。このように構成した場合、各装置が互いの装置を認証した後、ディジタル署名データの生成に必要な処理プログラム、外部入力されたディジタル画像データ等を画像検証装置20から外部装置40に送信し、ディジタル署名データを生成する。
【0259】
又、第7〜第12の実施例では、ディジタル署名データの生成に必要な演算処理を画像検証装置20と外部装置40とに分散させ、各装置が共同してディジタル署名データを生成することも可能である。このように構成した場合、各装置が互いの装置を認証した後、ディジタル署名データの生成に必要な処理プログラム、外部入力されたディジタル画像データ等の中で必要な部分のみを画像検証装置20から外部装置40に送信し、ディジタル署名データを生成する。
【0260】
又、第7〜第12の実施例では、図23〜図27に示す一連の処理手順を制御するプログラムは、所望の画像の検証を指示する毎に起動する構成として説明したが、所望の画像を外部入力することに自動的に起動するように構成してもよい。
【0261】
従って、前述の各実施例ではあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。
【0262】
【発明の効果】
以上のように、本発明によれば、ディジタル画像データに対する不正な処理(改竄、偽造等)簡単な構成で、安価に且つ安全に検出することができる
【図面の簡単な説明】
【図1】本実施例のディジタル画像検証システムについて説明する図。
【図2】本実施例の画像入力装置の基本構成について説明するブロック図。
【図3】本実施例の画像検証装置の基本構成について説明するブロック図。
【図4】第1の実施例の処理手順を説明するフローチャート。
【図5】第1の実施例における所定の演算処理を説明する図。
【図6】第2の実施例の処理手順を説明するフローチャート。
【図7】第2の実施例におけるJPEGデータを表す図。
【図8】第2の実施例における秘密情報を説明する図。
【図9】第2の実施例における所定の演算処理を説明する図。
【図10】第2の実施例におけるハッシュ関数演算の第1のモードを説明する図。
【図11】第2の実施例におけるハッシュ関数演算の第2のモードを説明する図。
【図12】第2の実施例におけるハッシュ関数演算の第3のモードを説明する図。
【図13】第1〜第3のモードにおける使用される初期値を説明する図。
【図14】第3の実施例の処理手順を説明するフローチャート。
【図15】第3の実施例における秘密情報を説明する図。
【図16】第3の実施例におけるCBCモードを説明する図。
【図17】第3の実施例におけるCFBモードを説明する図。
【図18】第3の実施例におけるOFBモードを説明する図。
【図19】第4の実施例の処理手順を説明するフローチャート。
【図20】第4の実施例における秘密情報を説明する図。
【図21】第5、第6の実施例の処理手順を説明するフローチャート。
【図22】画像入力装置と外部装置とを説明する図。
【図23】第7の実施例の処理手順を説明するフローチャート。
【図24】第8の実施例の処理手順を説明するフローチャート。
【図25】第9の実施例の処理手順を説明するフローチャート。
【図26】第10の実施例の処理手順を説明するフローチャート。
【図27】第11、第12の実施例の処理手順を説明するフローチャート。
【図28】従来のシステムを説明する図。

Claims (16)

  1. 署名データ生成装置であって、
    ディジタル画像データを生成するディジタル画像データ生成手段と、
    前記署名データ生成装置を識別するための情報と、前記署名データ生成装置に接続された外部装置を識別するための情報とを用いて、秘密情報を生成する秘密情報生成手段と、
    前記ディジタル画像データと、前記秘密情報とを用いて所定の演算を行う演算手段と、
    前記所定の演算の結果を用いて、前記ディジタル画像データに対する不正な処理を検出するための署名データを生成する署名データ生成手段と
    を有することを特徴とする署名データ生成装置。
  2. 前記演算手段は、前記ディジタル画像データと前記秘密情報とを用いて、逆演算可能な演算を行うことを特徴とする請求項1に記載の署名データ生成装置。
  3. 前記署名データ生成手段は、逆演算の困難な演算を用いて前記署名データを生成することを特徴とする請求項1又は2に記載の署名データ生成装置。
  4. 前記逆演算の困難な演算は、ハッシュ関数を用いた演算であることを特徴とする請求項3に記載の署名データ生成装置。
  5. 前記逆演算の困難な演算は、共通鍵暗号を実現する演算であることを特徴とする請求項3に記載の署名データ生成装置。
  6. 前記所定の演算が行われる前に、前記ディジタル画像データを圧縮する圧縮手段をさらに有することを特徴とする請求項1からのいずれか1項に記載の署名データ生成装置。
  7. 前記署名データ生成装置は、撮像機能を有する電子機器であることを特徴とする請求項1からのいずれか1項に記載の署名データ生成装置。
  8. 前記ディジタル画像データと、前記署名データとを外部装置に送信する送信手段をさらに有することを特徴とする請求項1からのいずれか1項に記載の署名データ生成装置。
  9. 前記ディジタル画像データと、前記署名データとを記録媒体に記録する記録手段をさらに有することを特徴とする請求項1からのいずれか1項に記載の署名データ生成装置。
  10. 画像検証装置であって、
    ディジタル画像データと、前記ディジタル画像データに対する不正な処理を検出するための第1の署名データとを入力手段と、
    前記ディジタル画像データ及び前記第1の署名データを生成した署名データ生成装置を識別するための情報と、前記画像検証装置に接続された外部装置を識別するための情報とを用いて、秘密情報を生成する秘密情報生成手段と、
    前記ディジタル画像データと、前記秘密情報とを用いて所定の演算を行う演算手段と、
    前記所定の演算の結果を用いて、前記ディジタル画像データに対する不正な処理を検出するための第の署名データを生成する署名データ生成手段と、
    前記第1の署名データと、前記第2の署名データとを用いて、前記ディジタル画像データに不正な処理がされているか否かを判定する判定手段と
    を有することを特徴とする画像検証装置。
  11. 前記演算手段は、前記ディジタル画像データと前記秘密情報とを用いて、逆演算可能な演算を行うことを特徴とする請求項1に記載の画像検証装置。
  12. 前記署名データ生成手段は、逆演算の困難な演算を用いて前記第の署名データを生成することを特徴とする請求項1又は1に記載の署名データ生成装置。
  13. 前記逆演算の困難な演算は、ハッシュ関数を用いた演算であることを特徴とする請求項1に記載の画像検証装置。
  14. 前記逆演算の困難な演算は、共通鍵暗号を実現する演算であることを特徴とする請求項1に記載の画像検証装置。
  15. 前記ディジタル画像データは、圧縮されたディジタル画像データであることを特徴とする請求項1から14のいずれか1項に記載の画像検証装置。
  16. 前記判定手段の判定結果を表示する表示手段をさらに有することを特徴とする請求項1から15のいずれか1項に記載の画像検証装置。
JP2000057077A 1999-03-10 2000-03-02 署名データ生成装置及び画像検証装置 Expired - Fee Related JP4261724B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000057077A JP4261724B2 (ja) 1999-03-10 2000-03-02 署名データ生成装置及び画像検証装置
US09/521,424 US7296161B1 (en) 1999-03-10 2000-03-08 Image processing apparatus and image processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-63174 1999-03-10
JP6317499 1999-03-10
JP2000057077A JP4261724B2 (ja) 1999-03-10 2000-03-02 署名データ生成装置及び画像検証装置

Publications (3)

Publication Number Publication Date
JP2000324334A JP2000324334A (ja) 2000-11-24
JP2000324334A5 JP2000324334A5 (ja) 2007-04-26
JP4261724B2 true JP4261724B2 (ja) 2009-04-30

Family

ID=26404264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000057077A Expired - Fee Related JP4261724B2 (ja) 1999-03-10 2000-03-02 署名データ生成装置及び画像検証装置

Country Status (2)

Country Link
US (1) US7296161B1 (ja)
JP (1) JP4261724B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107614195B (zh) * 2015-05-25 2020-10-27 川崎重工业株式会社 齿轮机构的组装装置及组装方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058215B2 (en) 2001-01-18 2006-06-06 Canon Kabushiki Kaisha Data processing system, maintenance apparatus and image processing apparatus
JP4543570B2 (ja) * 2001-03-14 2010-09-15 ソニー株式会社 検証システム
JP4717329B2 (ja) * 2003-03-14 2011-07-06 キヤノン株式会社 デジタル署名生成装置
US7945785B2 (en) * 2003-06-02 2011-05-17 Seiko Epson Corporation Security of data over a network
JP2005143094A (ja) 2003-10-14 2005-06-02 Canon Inc 画像検証システム、管理方法、及びコンピュータ読み取り可能な記憶媒体
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US20070289023A1 (en) * 2004-03-01 2007-12-13 Bjorn Bunte Mobile Game Download to a Cellular Phone Via a Down Load Module by an Internet Access
US7822278B1 (en) * 2005-09-20 2010-10-26 Teradici Corporation Methods and apparatus for encoding a digital video signal
US20070074028A1 (en) * 2005-09-28 2007-03-29 Kabushiki Kaisha Toshiba Image forming apparatus
JP4919690B2 (ja) * 2006-04-19 2012-04-18 シーイエス エレクトロニカ インダストリア エ コメルスィオ リミタダ 磁気カード読み取りシステム
JP2008113172A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd コンテンツ送信装置、コンテンツ受信装置及びコンテンツ暗号化方法
EP2009587A1 (en) * 2007-06-29 2008-12-31 Deutsche Thomson OHG Method for distributing display information to a remote display device, a corresponding display device, a system for distributing display information and a signal comprising display information
TW201121280A (en) * 2009-12-10 2011-06-16 Mao-Cong Lin Network security verification method and device and handheld electronic device verification method.
US9258127B2 (en) * 2012-07-09 2016-02-09 Cisco Technology, Inc. System and method for providing cryptographic video verification
US9059858B1 (en) * 2013-03-11 2015-06-16 Ca, Inc. User characteristic based digital signature of documents
US9104856B2 (en) * 2013-03-15 2015-08-11 Mobilesphere Holdings II LLC System and method for computer authentication with user modification of an image using a shared secret
JP2015170954A (ja) * 2014-03-06 2015-09-28 学校法人立命館 暗号装置、復号装置、それらを備えたセキュリティーシステム、それらで実行されるプログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
US10091003B2 (en) * 2016-03-18 2018-10-02 Adobe Systems Incorporated Mobile signature embedded in desktop workflow

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0635956B1 (en) 1993-07-20 2003-10-22 Canon Kabushiki Kaisha Encryption apparatus, communication system using the same and method therefor
US5499294A (en) * 1993-11-24 1996-03-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Digital camera with apparatus for authentication of images produced from an image file
US5666419A (en) 1993-11-30 1997-09-09 Canon Kabushiki Kaisha Encryption device and communication apparatus using same
JPH0973337A (ja) 1995-09-05 1997-03-18 Canon Inc 課金装置、情報受信装置及び通信システム
ATE224124T1 (de) * 1997-01-27 2002-09-15 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur übertragung von inhaltsinformation und darauf bezogener zusatzinformation
US5898779A (en) * 1997-04-14 1999-04-27 Eastman Kodak Company Photograhic system with selected area image authentication
US6611599B2 (en) * 1997-09-29 2003-08-26 Hewlett-Packard Development Company, L.P. Watermarking of digital object
US6647126B1 (en) * 2000-01-28 2003-11-11 Eastman Kodak Company Authorizing the production of visual images from digital images

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107614195B (zh) * 2015-05-25 2020-10-27 川崎重工业株式会社 齿轮机构的组装装置及组装方法

Also Published As

Publication number Publication date
US7296161B1 (en) 2007-11-13
JP2000324334A (ja) 2000-11-24

Similar Documents

Publication Publication Date Title
JP4261724B2 (ja) 署名データ生成装置及び画像検証装置
US5907619A (en) Secure compressed imaging
JP3154325B2 (ja) 認証情報を画像に隠し込むシステム及び画像認証システム
Lin et al. A robust image authentication method distinguishing JPEG compression from malicious manipulation
US7216232B1 (en) Method and device for inserting and authenticating a digital signature in digital data
JP4037614B2 (ja) 損失を伴い伝送される画像の保全性確認方法
JP4669187B2 (ja) 圧縮イメージ内に透かしを組み込む方法、圧縮されたイメージからすかしを回復する方法、ならびに記録媒体
CN1741449B (zh) 数据处理系统及其控制方法、计算机程序和可读记录介质
US20040003261A1 (en) Information processing method and information processing apparatus
KR20210114323A (ko) 강력한 선택적 이미지, 비디오, 및 오디오 콘텐츠 인증
WO2003021861A1 (en) A system and method for protecting the content of digital cinema products
JP2000083159A (ja) 透かしを使用してデ―タ・セットの配布と認証を行う方法および装置
EP1766568A1 (en) Systems and methods for digital content security
US7930544B2 (en) Data processing apparatus and its method
CN107426172A (zh) 一种身份信息的匹配推送方法及装置
Kavitha et al. A survey on medical image encryption
US6023511A (en) Cryptosystem for encrypting digital image or voice file
Memon et al. Distortion-bounded authentication techniques
Johnson et al. Homomorphic signatures for digital photographs
Ziaullah et al. Image feature based authentication and digital signature for wireless data transmission
JP4802388B2 (ja) 暗号化装置、復号化装置および通信システム
Benrhouma Cryptanalysis of a hamming code and logistic-map based pixel-level active forgery detection scheme
Umamageswari et al. Novel algorithm for secure medical image communication using roi based digital lossless watermarking and ds
JPH11194709A (ja) 電子認証方法及びシステム
EP1560362A1 (en) Authentication method and system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees