JP2013126189A - 画像処理装置、改竄防止方法及び改竄検知方法 - Google Patents
画像処理装置、改竄防止方法及び改竄検知方法 Download PDFInfo
- Publication number
- JP2013126189A JP2013126189A JP2011275061A JP2011275061A JP2013126189A JP 2013126189 A JP2013126189 A JP 2013126189A JP 2011275061 A JP2011275061 A JP 2011275061A JP 2011275061 A JP2011275061 A JP 2011275061A JP 2013126189 A JP2013126189 A JP 2013126189A
- Authority
- JP
- Japan
- Prior art keywords
- code
- frequency
- image
- unit
- coefficient
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32277—Compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/3233—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
- H04N2201/3235—Checking or certification of the authentication information, e.g. by comparison with data stored independently
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
- H04N2201/3233—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
- H04N2201/3236—Details of authentication information generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/328—Processing of the additional information
- H04N2201/3281—Encryption; Ciphering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N2201/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/328—Processing of the additional information
- H04N2201/3283—Compression
Abstract
【課題】圧縮を改竄とみなさずに、改竄されていないことを示す数学的根拠を有する画像処理装置を提供する。
【解決手段】画像処理装置11は、画像の周波数係数を計算する周波数計算部101と、周波数係数から、2つの周波数係数のペアを複数選択する係数選択部102と、選択された各ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び2つの周波数係数の大小関係に基づきコードを生成するコード生成部103と、コードを秘密鍵で暗号化し、電子署名を生成する電子署名生成部104と、を備える。
【選択図】図5
【解決手段】画像処理装置11は、画像の周波数係数を計算する周波数計算部101と、周波数係数から、2つの周波数係数のペアを複数選択する係数選択部102と、選択された各ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び2つの周波数係数の大小関係に基づきコードを生成するコード生成部103と、コードを秘密鍵で暗号化し、電子署名を生成する電子署名生成部104と、を備える。
【選択図】図5
Description
本発明は、コンテンツに対する改竄の防止又は検知を行う画像処理装置、改竄防止方法及び改竄検知方法に関する。
近年、ディジタル技術の発達と、ディジタル撮影が可能なカメラの出現により、飛躍的に静止画像、映像(以後両者を併せて画像とよぶ)の編集が容易になっている。画像の編集が容易になるのに伴って、撮影した画像の改竄が問題となっている。
ここで、テレビニュースによると、国や自治体が発注する工事では、作業が適正に行われていることを確認するため、現場写真の提出が義務付けられている。国がおよそ100件の公共工事を対象に、あわせて20万枚余りの現場写真を調べたところ、改竄の疑いが強いものが1000枚余り見つかっている。
画像の改竄は通常、画像編集ソフトによって行われる。例えば、交通事故の写真を自分に有利になるように信号の色を書き換えたりすることが容易に行える。
このようなディジタル画像の改竄防止技術としては、ディジタル署名や電子透かしがある。さらに電子透かしには、フラジャイル透かし、セミフラジャイル透かしと呼ばれるものがある。
図1は、各改竄防止技術の性質を説明するための図である。図1に示すように、各改ざん防止技術は、以下のような性質を持つ。
電子署名:再圧縮は改竄とみなされ、ハッキングに対する耐性は強い
フラジャイル透かし:再圧縮は改竄とみなされ、ハッキングに対する耐性は中
セミフラジャイル透かし:再圧縮は改竄とみなされず、ハッキングに対する耐性は弱い
再圧縮とは、圧縮された画像を再度圧縮することをいう。再圧縮は、例えばストレージ節約のために行われる。ハッキングとは、改竄を気づかれないように改竄することをいう。
電子署名:再圧縮は改竄とみなされ、ハッキングに対する耐性は強い
フラジャイル透かし:再圧縮は改竄とみなされ、ハッキングに対する耐性は中
セミフラジャイル透かし:再圧縮は改竄とみなされず、ハッキングに対する耐性は弱い
再圧縮とは、圧縮された画像を再度圧縮することをいう。再圧縮は、例えばストレージ節約のために行われる。ハッキングとは、改竄を気づかれないように改竄することをいう。
各改竄防止技術の中で最もよく利用されているものが電子署名である。電子署名は画像の中の画素値1ビットの改竄も許さない特徴があり、ハッキングにも非常に強い。
フラジャイル透かしは、電子透かし技術を用いる。編集によって非常に壊れやすい透かしを事前に埋めておき、透かしが壊されていないかどうかを調べることによって改竄の有無を検出する。フラジャイル透かしは、1bitの改竄も許さないため、画像圧縮も改竄とみなされる。また、フラジャイル透かしのハッキングに対する耐性は中程度である。
セミフラジャイル透かしは、大きな改竄だけを検出し、軽微な改竄は検出しない。この特徴は、画像再圧縮に対応するために開発されていることである。
図2は、再圧縮の問題点を説明するための図である。図2に示す例では、改竄検知対象の画像は、撮影時には、画質を良くするため、圧縮率を低く設定されている場合が多い。しかし、このような画像を例えばディスクに保存する場合は、再圧縮して画質を落としてでもストレージの容量を極力低くしたいという希望がある場合が多い。
しかし、電子署名、フラジャイル透かしは、1bitの相違も改竄とみなすので、署名や透かしで改竄検知機能が付加されていても、再圧縮することによって、保存された画像はすべて改竄された画像として判断されてしまう。
セミフラジャイル透かしは、悪意のある改竄のような明らかな改竄を検出し、画像の再圧縮は改竄とみなさないため、このような状況で使われやすい。しかし、セミフラジャイル透かしは、便利な反面、電子署名のように数学的にその強度が証明されていない。また、透かし埋め込みのアルゴリズムが漏洩すれば、一旦透かしを画像から外して、画像を改竄し、再度透かしを戻すような処理も可能である。このため、ハッキングに対する耐性が低い。
中村 高雄, 高嶋 洋一: "電子透かし", 映像情報メディア学会誌, 61, 7, pp.948-950 (2007)
ところで、改竄検知の結果は、裁判で証拠とされるべく、改竄されていないことを高い確率で証明されることが重要である。セミフラジャイル透かしは、電子署名と比較すると、改竄されていないことを数学的に示す根拠や、かつハッキングに対する耐性に関しても、電子署名に比べて数学的根拠が薄い。
そこで、開示の技術は、上記問題に鑑みてなされたものであり、圧縮を改竄とみなさずに、改竄されていないことを示す数学的根拠を有することができる画像処理装置、改竄防止方法及び改竄検知方法を提供することを目的とする。
開示の一態様における画像処理装置は、画像の周波数係数を計算する周波数計算部と、前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、選択された各ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、前記コードを秘密鍵で暗号化し、電子署名を生成する電子署名生成部と、を備える。
また、開示の他の態様における画像処理装置は、改竄検知対象の画像の周波数係数を計算する周波数計算部と、前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記コード生成部により生成されたコードとを比較し、前記画像に対する改竄の有無を確認する署名確認部と、を備える。
開示の技術によれば、圧縮を改竄とみなさずに、改竄されていないことを示す数学的根拠を有することができる。
以下、各実施例について、添付図面を参照しながら説明する。
<システム>
まず、開示の改竄防止、検知システムについて説明する。図3は、改竄を防止、検知するシステムの一例を示す図である。図3は、改竄防止装置1と改竄検知装置2の関係を示す。
まず、開示の改竄防止、検知システムについて説明する。図3は、改竄を防止、検知するシステムの一例を示す図である。図3は、改竄防止装置1と改竄検知装置2の関係を示す。
改竄防止装置1は、画像から生成されたコードを固有の秘密鍵によって暗号化し、電子署名とする。改竄防止装置1は、この秘密鍵に対応する公開鍵と、電子署名と、圧縮された画像を改竄検知装置2に渡す。
改竄検知装置2は、改竄検知対象の画像からコードを生成する。また、改竄検知装置2は、改竄防止装置1から受信した電子署名を秘密鍵に対応する公開鍵で復号し、コードを生成する。改竄検知装置2は、両者のコードを比較して、一致すれば改竄なし、一致しなければ改竄ありと判定する。このシステムは、画像が圧縮されていた場合、単に圧縮されただけでは改竄とみなさず、また、電子署名の枠組みで改竄検知を行うことができるので、数学的な強度が証明されている。以下、改竄防止装置1、改竄検知装置2それぞれについて詳しく説明する。
[実施例1]
まず、改竄防止装置1として機能する画像処理装置10について説明する。
まず、改竄防止装置1として機能する画像処理装置10について説明する。
<構成>
図4は、画像処理装置10の構成の一例を示す図である。図4に示す画像処理装置10は、画像に対する改竄を防止する改竄防止装置1として機能する。図4に示す画像処理装置10は、制御部11、主記憶部12、補助記憶部13、表示制御部14、記録媒体I/F部16、及びカメラI/F部18を有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
図4は、画像処理装置10の構成の一例を示す図である。図4に示す画像処理装置10は、画像に対する改竄を防止する改竄防止装置1として機能する。図4に示す画像処理装置10は、制御部11、主記憶部12、補助記憶部13、表示制御部14、記録媒体I/F部16、及びカメラI/F部18を有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
制御部11は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPU(Central Processing Unit)である。また、制御部11は、主記憶部12や補助記憶部
13に記憶されたプログラムを実行する演算装置である。制御部11は、各記憶部からデータを受け取り、演算、加工した上で、出力部や各記憶部に出力する。
13に記憶されたプログラムを実行する演算装置である。制御部11は、各記憶部からデータを受け取り、演算、加工した上で、出力部や各記憶部に出力する。
例えば、制御部11は、補助記憶部13に記憶される改竄防止プログラムを実行することで、画像に対する改竄防止機能の役割を果たす。
主記憶部12は、例えばRAM(Random Access Memory)などであり、制御部12が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶部である。また、主記憶部12は、プログラムやデータを置くワークメモリとして機能する。
補助記憶部13は、例えばHDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部13は、改竄防止プログラムを記憶する。
補助記憶部13は、カメラI/F部18から取得した画像を記憶する。また、補助記憶部13は、記録媒体17などから取得された画像などを記憶しておいてもよい。
表示制御部14は、画像やデータなどを表示部15に表示するため、表示制御を行う。
記録媒体I/F(インターフェース)部16は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された記録媒体17(例えば、フラッシュメモリなど)と画像処理装置10とのインターフェースである。
また、記録媒体17に、所定のプログラム(改竄防止プログラム)を格納し、この記録媒体17に格納されたプログラムは記録媒体I/F部16を介して画像処理装置10にインストールされる。インストールされた所定のプログラムは、画像処理装置10により実行可能となる。
なお、記録媒体17を例えばSDカードとした場合は、記録媒体I/F部16は、SDカードスロットである。
カメラI/F部18は、カメラ19で撮像された画像を取得する。取得された画像は、主記憶部12に記憶される。なお、カメラ19や表示部15は、画像処理装置10に内蔵されてもよい。
また、画像処理装置10は、通信部を有し、有線又は無線で通信を行う。通信部は、例えば、圧縮画像、公開鍵、電子署名を改竄検知装置2に送信する。
<改竄防止機能>
次に、改竄防止機能を有する制御部11について詳しく説明する。図5は、実施例1における改竄防止機能の一例を示すブロック図である。図5に示す制御部11は、周波数計算部101、係数選択部102、コード生成部103、署名生成部104、圧縮部105を有する。ここで、画像処理装置10は、改竄から保護したい画像、及び固有の秘密鍵を入力データとする。
次に、改竄防止機能を有する制御部11について詳しく説明する。図5は、実施例1における改竄防止機能の一例を示すブロック図である。図5に示す制御部11は、周波数計算部101、係数選択部102、コード生成部103、署名生成部104、圧縮部105を有する。ここで、画像処理装置10は、改竄から保護したい画像、及び固有の秘密鍵を入力データとする。
周波数計算部101は、画像の周波数係数を計算する。周波数計算部101は、例えば、JPEG(Joint Photographic Experts Group)のように、画像を8×8ブロックに分割し、それぞれのブロックに対して周波数変換を用いて周波数係数を計算する。周波数計算部101は、計算した周波数係数を係数選択部102に出力する。
係数選択部102は、任意の2つの周波数係数を組(ペア)にして複数選択する。2つの周波数係数の選択方法は、1つの周波数係数は、例えばラスタスキャン(走査)順に選択し、他方の周波数係数は、所定基準で選択する方法がある。係数選択部102は、選択した複数の周波数係数の組をコード生成部103に出力する。
コード生成部103は、選択された各組の2つの周波数係数の差分絶対値と閾値との比較結果及びその2つの周波数係数の大小関係に基づいてコードを生成する。生成されたコードは、署名生成部104に出力される。
署名生成部104は、取得したコードに対し、秘密鍵を用いて暗号化し、この暗号化されたコードを電子署名として出力する。署名生成部104は、主記憶部102などから秘密鍵を取得しておく。
圧縮部105は、画像を圧縮し、画像のデータサイズを小さくする。圧縮部105は、圧縮画像を出力する。なお、圧縮部105は、他の装置に備えられてもよく、必須の構成ではない。
画像処理装置10は、圧縮した圧縮画像、生成した電子署名、固有の秘密鍵の対となる公開鍵を出力する。これらの情報は、後の改竄検知に利用される。次に、改竄防止装置としての各処理について詳しく説明する。
《周波数計算部》
周波数計算部101は、画像を所定ブロック(例えば8×8画素ブロック)に分割する。周波数計算部101で用いられる周波数変換は、例えば、DCT(Discrete Cosine Transform)や、ウェーブレット変換などが用いられる。
周波数計算部101は、画像を所定ブロック(例えば8×8画素ブロック)に分割する。周波数計算部101で用いられる周波数変換は、例えば、DCT(Discrete Cosine Transform)や、ウェーブレット変換などが用いられる。
《係数選択部》
係数選択部102は、ブロック単位で計算された周波数係数のうち、2つの周波数係数の組を複数選択する。その選択方法は、例えば以下の2つを挙げる。
係数選択部102は、ブロック単位で計算された周波数係数のうち、2つの周波数係数の組を複数選択する。その選択方法は、例えば以下の2つを挙げる。
図6は、2つの周波数係数の組を選択する方法(その1)を示す図である。図6に示す例では、車が衝突している画像im11内の8×8のブロックbl11から周波数係数の組を選択する例である。
まず、係数選択部102は、周波数係数A0、A1、・・・を所定の走査(例えばラスタスキャン)順で選択し、このAnに対してペアとなる周波数係数Bnをランダムに選択する。このランダムな周波数係数Bnの位置については、改竄検知装置で共有しておく。
係数選択部102は、このようにして、周波数係数のペア(A0、B0)、(A1、B1)、・・・を決定する。このときのペアの選択方法は、1つのブロック内に閉じていてもかまわないし、複数のブロックにまたがっていてもよい。
図7は、2つの周波数係数の組を選択する方法(その2)を示す図である。図7に示す例では、2つのブロックにまたがって周波数係数のペアを選択する例である。図7に示すように、係数選択部102は、1つの周波数係数Anについては、bl11とbl12とでラスタスキャン順に選択し、他の周波数係数Bnについては、bl11とbl12とでまたがってランダムに選択する。
これにより、係数選択部102で選択された周波数係数のペア(An,Bn)は、2つのブロックにまたがり、第三者がこのペアを予測することが困難になる。
なお、係数選択部102は、後述するコード生成部103で生成されるnullコードの数を最小限にするために、A0から順にBの中で絶対差分を最大にするペアを選んでもよい。Aiに対して、ペアとなるBiは重複してもよい。このとき、選んだBiの情報は、改竄検出装置に出力される。
《コード生成部》
コード生成部103は、係数選択部102で選択された周波数係数のペアから式(1)、(2)を計算することによって、コードを生成する。コードはDで表される。
コード生成部103は、係数選択部102で選択された周波数係数のペアから式(1)、(2)を計算することによって、コードを生成する。コードはDで表される。
(コードDの性質)
コードDは、式(1)、(2)によれば、周波数係数の差分絶対値と閾値αとの比較結果、及び2つの周波数係数の大小関係から生成される。2つの選択された周波数係数同士の差分絶対値が閾値α以上の場合は、その大小関係によって「00」又は「11」のバイナリデータの値がその組に対して与えられる。また、2つの周波数係数の差分絶対値が閾値αより小さい場合は、nullコードを意味する「01」を与える。
コードDは、式(1)、(2)によれば、周波数係数の差分絶対値と閾値αとの比較結果、及び2つの周波数係数の大小関係から生成される。2つの選択された周波数係数同士の差分絶対値が閾値α以上の場合は、その大小関係によって「00」又は「11」のバイナリデータの値がその組に対して与えられる。また、2つの周波数係数の差分絶対値が閾値αより小さい場合は、nullコードを意味する「01」を与える。
nullコードを与える理由は、2つの周波数係数の差分絶対値が小さいと、圧縮後のこの2つの周波数係数の差分絶対値が0になる可能性があるからである。よって、この差分絶対値が閾値より小さい場合は、改竄の比較対象にはしないためにnullコードが与えられる。
(コードDが再圧縮の影響を受けない理由)
画像を圧縮する場合、圧縮前あるいは最初の圧縮後の画像の周波数係数の大小関係は、周波数係数の差が十分にある場合においては、画像圧縮を行ってもその大小関係が変化することはない。
画像を圧縮する場合、圧縮前あるいは最初の圧縮後の画像の周波数係数の大小関係は、周波数係数の差が十分にある場合においては、画像圧縮を行ってもその大小関係が変化することはない。
すなわち、コード生成部103は、コードDを生成する場合、各組の周波数係数の差分絶対値が閾値α以上の場合は「00」又は「11」のコードを与える。また、コード生成部103は、各組の周波数係数の差分絶対値が閾値αより小さい場合は、nullコード(「01」)を与える。
これにより、コード生成部103は、画像圧縮の影響を受けないコードDを生成することができる。コードDが画像圧縮の影響を受けないため、コードDから生成される電子署名も画像圧縮の影響を受けない。画像圧縮は、圧縮された画像を再度圧縮することも含む。
《署名生成部》
署名生成部104は、コード生成部103で生成されたコードDに対して、画像処理装置10(改竄防止装置)固有の秘密鍵により、暗号化して出力する。また、署名生成部104は、SHA−1などの既存ハッシュ関数を用いてハッシュ値を計算し、最後に秘密鍵を用いてハッシュ値を暗号化し、署名データとして出力してもよい。
署名生成部104は、コード生成部103で生成されたコードDに対して、画像処理装置10(改竄防止装置)固有の秘密鍵により、暗号化して出力する。また、署名生成部104は、SHA−1などの既存ハッシュ関数を用いてハッシュ値を計算し、最後に秘密鍵を用いてハッシュ値を暗号化し、署名データとして出力してもよい。
<具体例>
次に、具体例を用いて実施例1における改竄防止処理について説明する。図8は、コードDを生成する具体例(その1)を示す図である。図8に示す例では、係数選択部102は、例えば画像im11のブロックbl11内の周波数係数に対して、ペア(Ai,Bi)(i=0〜63)をそれぞれ選択する。図8に示す例では、周波数係数Aiは、ラスタスキャン順に選択され、周波数係数Biはランダムに選択される。
次に、具体例を用いて実施例1における改竄防止処理について説明する。図8は、コードDを生成する具体例(その1)を示す図である。図8に示す例では、係数選択部102は、例えば画像im11のブロックbl11内の周波数係数に対して、ペア(Ai,Bi)(i=0〜63)をそれぞれ選択する。図8に示す例では、周波数係数Aiは、ラスタスキャン順に選択され、周波数係数Biはランダムに選択される。
係数選択部102により、例えば以下のペアが選択されたとする。
(A0,B0)=(100,20)
(A1,B1)=(10,70)
(A2,B2)=(60,60)
(A3,B3)=(50,25)
・・・
(A62,B62)=(10,80)
(A63,B63)=(2,3)
このとき、閾値αを30とすると、コード生成部103は、式(1)に基づいて、ペア毎に次のバイナリデータを与える。
D0=00
D1=11
D2=01
D3=01
・・・
D62=11
D63=01
コード生成部103は、Diを順に並べてコードDを生成する。
D=00110101…1101
これにより、画像圧縮に影響を受けないコードを生成することができる。
(A0,B0)=(100,20)
(A1,B1)=(10,70)
(A2,B2)=(60,60)
(A3,B3)=(50,25)
・・・
(A62,B62)=(10,80)
(A63,B63)=(2,3)
このとき、閾値αを30とすると、コード生成部103は、式(1)に基づいて、ペア毎に次のバイナリデータを与える。
D0=00
D1=11
D2=01
D3=01
・・・
D62=11
D63=01
コード生成部103は、Diを順に並べてコードDを生成する。
D=00110101…1101
これにより、画像圧縮に影響を受けないコードを生成することができる。
<動作>
次に、実施例1における改竄防止装置1としての画像処理装置10の動作について説明する。図9は、実施例1における改竄防止処理の一例を示すフローチャートである。
次に、実施例1における改竄防止装置1としての画像処理装置10の動作について説明する。図9は、実施例1における改竄防止処理の一例を示すフローチャートである。
図9に示すステップS101で、周波数計算部101は、改竄防止対象の画像が入力されると、画像を、例えば8×8画素の複数のブロックに分割する。
ステップS102で、周波数計算部101は、全てのブロックに対し、周波数変換を行う。周波数変換は、例えばDCTやウェーブレット変換である。
ステップS103で、係数選択部102は、1つ又は複数のブロックを選択する。
ステップS104で、係数選択部102は、ブロック内の周波数係数をラスタ走査しA0、A1、A2、・・・、A63とする。また、係数選択部102は、各Aiに対して、そのペアとなるBiを選択し、決定する。
ステップS105で、コード生成部103は、式(1)に基づき、コードDを生成する。署名生成部104は、生成されたコードDを秘密鍵で暗号化する。また、署名生成部104は、ハッシュ関数を用いてハッシュをとってもよい。
ステップS106で、制御部11は、画像中の全てのブロックを処理したかを判定する。全てのブロックを処理していれば(ステップS106−YES)ステップS107に進み、全てのブロックを処理していなければ(ステップS106−NO)ステップS103に戻る。
ステップS107で、圧縮部105は、改竄防止対象の画像を圧縮する。
以上、実施例1によれば、圧縮を改竄とみなさずに、改竄されていないことを示す数学的根拠を有する改竄防止処理を行うことができる。これは、開示の技術が、数学的に強度が証明された電子証明の枠組みを用いているため、ハッキングに対する耐性は電子署名と同等であるからである。
また、画像の圧縮前後で、周波数係数の大小関係の性質を利用するので、画像圧縮を行っても、署名データの値が変更されないため、圧縮を改竄とみなさない。したがって、開示の技術は、圧縮を改竄とみなさず、ハッキングに対する耐性は強いといえる。
[実施例2]
次に、実施例2における画像処理装置10について説明する。実施例2における画像処理装置10は、改竄防止装置1として機能する。実施例2では、コードDのnullデータを減らすため、周波数係数にノイズを加算又は減算する。
次に、実施例2における画像処理装置10について説明する。実施例2における画像処理装置10は、改竄防止装置1として機能する。実施例2では、コードDのnullデータを減らすため、周波数係数にノイズを加算又は減算する。
<構成>
実施例2における画像処理装置10の構成は、実施例1における画像処理装置10と同様であるため、その説明を省略する。なお、実施例2における画像処理装置の構成を説明する際、図4に示す符号と同じ符号を用いて説明する。
実施例2における画像処理装置10の構成は、実施例1における画像処理装置10と同様であるため、その説明を省略する。なお、実施例2における画像処理装置の構成を説明する際、図4に示す符号と同じ符号を用いて説明する。
<改竄防止機能>
次に、改竄防止機能を有する制御部11について詳しく説明する。図10は、実施例2における改竄防止機能の一例を示すブロック図である。図10に示す機能で、図5に示す機能と同様の機能は同じ符号を付し、その説明を省略する。
次に、改竄防止機能を有する制御部11について詳しく説明する。図10は、実施例2における改竄防止機能の一例を示すブロック図である。図10に示す機能で、図5に示す機能と同様の機能は同じ符号を付し、その説明を省略する。
ノイズ加算部201は、係数選択部102により選択された周波数係数のペアの差分絶対値が、閾値未満であるが、この閾値から所定範囲内にある場合、この差分絶対値が閾値を超えるように2つの周波数係数の何れかにノイズを加算又は減算する。ノイズは、画質に影響を与えないような値とする。ノイズ加算部201は、ノイズを加算した周波数係数を含むブロックを有する画像を圧縮部202に出力する。
ノイズ加算部201は、ノイズを加算した周波数係数のペアを含む複数の周波数係数のペアをコード生成部103に出力する。コード生成部103、署名生成部104の処理は、実施例1と同様である。
圧縮部202は、ノイズ加算部201によりノイズが加算された周波数係数を含むブロックを有する画像に対し、圧縮処理を行う。圧縮画像は、改竄検知装置などに出力される。次に、ノイズ加算部201について詳しく説明する。
《ノイズ加算部》
ノイズ加算部201は、係数選択部102により選択された周波数係数のペアの差がある一定の範囲内の場合は、周波数係数の一方にノイズを加算又は減算して、係数の差を大きくする。
ノイズ加算部201は、係数選択部102により選択された周波数係数のペアの差がある一定の範囲内の場合は、周波数係数の一方にノイズを加算又は減算して、係数の差を大きくする。
式(3)は、式(1)、(2)によるコード生成の結果、nullコードが多いと、改竄検知能力が低下する問題を防いでいる。例えば、コードのすべてがnullコードの場合、改竄前のコードと改竄後に圧縮率を大きくした画像から計算したコードも全てnullコードになるため、改竄検知は不可能となる。
そこで、実施例2における改竄防止装置は、式(3)の動作を行うノイズ加算部201を持つことによって、nullコードを削減し、改竄検知能力を向上させる効果を持つ。たとえば、|Ai−Bi|の差分絶対値が9で、閾値αの値が10の場合、差分絶対値が+1あれば、nullコードを用いないで済む。
そこで、差分絶対値が閾値までわずかな場合は、ノイズを加算あるいは減算して、元画像を劣化させないレベルでAiとBiとの差分絶対値が閾値を超えるように設定する方がよい。
例えば、|Ai−Bi|の差分絶対値が9、β=9、α=10の場合、式(3)を用いれば、その差分絶対値はαとなるので、nullコードを用いないで済む。
また、その他の例として、Ai=12、Bi=3、α=10、β=8のとき、
8≦|12−3|<10であるので、
Ai=13(Bi=3)
あるいは
Bi=2(Ai=12)
上記の通り、ノイズ加算部201は、ノイズを用いて周波数係数の調整を行う。
8≦|12−3|<10であるので、
Ai=13(Bi=3)
あるいは
Bi=2(Ai=12)
上記の通り、ノイズ加算部201は、ノイズを用いて周波数係数の調整を行う。
また、閾値α、βは画像の圧縮率によって選択してもよい。圧縮率が高いと予想される場合には、αの値を大きく、βの値を小さくする。逆に圧縮率が低いと予想される場合にはαの値を小さく、βの値を大きくすることによって、誤検出を少なくすることができる。
閾値βは画質に影響するパラメータであるので、求める画質によって調整すればよい。βが小さい場合は、加算、減算されるノイズが多くなるので、画質は劣化する。画質、誤検出率はトレードオフの関係にあり、経験的に最適な値を設定するのが望ましい。ノイズ加算部201は、圧縮率をパラメータとして、α、βの取りうる値を表にしておき、動的にα、βを選択してもよい。
<具体例>
次に、具体例を用いて実施例2における改竄防止処理について説明する。図11は、コードDを生成する具体例(その2)を示す図である。図11に示す例では、係数選択部102は、例えば画像im11のブロックbl11内の周波数係数に対して、ペア(Ai,Bi)(i=0〜63)をそれぞれ選択する。図11に示す例では、周波数係数Aiは、ラスタスキャン順に選択され、周波数係数Biはランダムに選択される。
次に、具体例を用いて実施例2における改竄防止処理について説明する。図11は、コードDを生成する具体例(その2)を示す図である。図11に示す例では、係数選択部102は、例えば画像im11のブロックbl11内の周波数係数に対して、ペア(Ai,Bi)(i=0〜63)をそれぞれ選択する。図11に示す例では、周波数係数Aiは、ラスタスキャン順に選択され、周波数係数Biはランダムに選択される。
係数選択部102により、例えば以下のペアが選択されたとする。
(A0,B0)=(100,20)
(A1,B1)=(10,70)
(A2,B2)=(60,60)
(A3,B3)=(50,25)
・・・
(A62,B62)=(10,80)
(A63,B63)=(2,3)
α=30、β=25とすると、
(A3,B3)=(50,25)のペアだけが、式(3)の条件に当てはまるので、このペアは式(3)を用いて(A3,B3)=(55,25)に変更される。
(A0,B0)=(100,20)
(A1,B1)=(10,70)
(A2,B2)=(60,60)
(A3,B3)=(50,25)
・・・
(A62,B62)=(10,80)
(A63,B63)=(2,3)
α=30、β=25とすると、
(A3,B3)=(50,25)のペアだけが、式(3)の条件に当てはまるので、このペアは式(3)を用いて(A3,B3)=(55,25)に変更される。
次に、コード生成部103は、式(1)に基づいて、ペア毎に次のバイナリデータを与える。
D0=00
D1=11
D2=01
D3=00
・・・
D62=11
D63=01
コード生成部103は、Diを順に並べてコードDを生成する。
D=00110100…1101
これにより、画像圧縮に影響を受けないコードを生成することができる。
D0=00
D1=11
D2=01
D3=00
・・・
D62=11
D63=01
コード生成部103は、Diを順に並べてコードDを生成する。
D=00110100…1101
これにより、画像圧縮に影響を受けないコードを生成することができる。
<動作>
次に、実施例2における改竄防止装置の動作について説明する。図12は、実施例2における改竄防止処理の一例を示すフローチャートである。図12に示すステップS201〜S204、S206〜S208の処理は、図9に示すステップS101〜S104、S105〜S107の処理と同様であるため、その説明を省略する。
次に、実施例2における改竄防止装置の動作について説明する。図12は、実施例2における改竄防止処理の一例を示すフローチャートである。図12に示すステップS201〜S204、S206〜S208の処理は、図9に示すステップS101〜S104、S105〜S107の処理と同様であるため、その説明を省略する。
ステップS205で、ノイズ加算部201は、式(3)を用いて、条件を満たす周波数係数のペアにはノイズを加算する。これにより、nullコードを減らすことができ、改竄検知能力を向上させることができる。
以上、実施例2によれば、圧縮を改竄とみなさずに、改竄されていないことを示す数学的根拠を有する改竄防止処理に対する改竄検知能力をさらに向上させることができる。また、閾値βの値が小さければ、加算されるノイズの大きさも小さくなるため、画質に与える影響を抑えることができる。
[実施例3]
次に、実施例3における画像処理装置30について説明する。画像処理装置30は、改竄検知装置2として機能する。画像処理装置30は、実施例1や2の改竄防止装置1で出力した画像に対して共通の改竄検知処理を行う。
次に、実施例3における画像処理装置30について説明する。画像処理装置30は、改竄検知装置2として機能する。画像処理装置30は、実施例1や2の改竄防止装置1で出力した画像に対して共通の改竄検知処理を行う。
<構成>
図13は、画像処理装置30の構成の一例を示す図である。図13に示す画像処理装置30は、画像に対する改竄を検知する改竄検知装置2として機能する。図13に示す画像処理装置30は、制御部31、主記憶部32、補助記憶部33、表示制御部34、記録媒体I/F部36、及び入力I/F部38を有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
図13は、画像処理装置30の構成の一例を示す図である。図13に示す画像処理装置30は、画像に対する改竄を検知する改竄検知装置2として機能する。図13に示す画像処理装置30は、制御部31、主記憶部32、補助記憶部33、表示制御部34、記録媒体I/F部36、及び入力I/F部38を有する。各部は、バスを介して相互にデータ送受信可能に接続されている。
制御部31は、コンピュータの中で、各装置の制御やデータの演算、加工を行うCPU(Central Processing Unit)である。また、制御部31は、主記憶部32や補助記憶部33に記憶されたプログラムを実行する演算装置である。制御部31は、各記憶部からデータを受け取り、演算、加工した上で、出力部や各記憶部に出力する。
例えば、制御部31は、補助記憶部33に記憶される改竄検知プログラムを実行することで、画像に対する改竄検知機能の役割を果たす。
主記憶部32は、例えばRAM(Random Access Memory)などであり、制御部32が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶部である。また、主記憶部32は、プログラムやデータを置くワークメモリとして機能する。
補助記憶部33は、例えばHDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。補助記憶部33は、改竄検知プログラムを記憶する。
補助記憶部33は、例えば改竄防止装置1から取得した圧縮画像や公開鍵、電子署名を記憶する。また、補助記憶部33は、記録媒体37などから取得された画像などを記憶しておいてもよい。
表示制御部34は、画像やデータなどを表示部35に表示するため、表示制御を行う。
記録媒体I/F(インターフェース)部36は、USB(Universal Serial Bus)などのデータ伝送路を介して接続された記録媒体37(例えば、フラッシュメモリなど)と画像処理装置30とのインターフェースである。
また、記録媒体37に、所定のプログラム(改竄検知プログラム)を格納し、この記録媒体37に格納されたプログラムは記録媒体I/F部36を介して画像処理装置30にインストールされる。インストールされた所定のプログラムは、画像処理装置30により実行可能となる。
なお、記録媒体37を例えばSDカードとした場合は、記録媒体I/F部36は、SDカードスロットである。
入力I/F部38は、マウスやキーボードの入力デバイス39から入力されたデータを取得する。取得されたデータは、主記憶部32や補助記憶部33に記憶される。なお、入力デバイス39や表示部35は、画像処理装置30に内蔵されてもよい。
また、画像処理装置30は、通信部を有し、有線又は無線で通信を行う。通信部は、例えば、圧縮画像、公開鍵、電子署名を改竄防止装置1から受信する。
<改竄検知機能>
次に、改竄検知機能を有する制御部31について詳しく説明する。図14は、実施例3における改竄検知機能の一例を示すブロック図である。図14に示す制御部31は、周波数計算部301、係数選択部302、コード生成部303、署名確認部304、復号部305を有する。ここで、改竄検知装置2は、改竄検知対象の画像、電子書名及び改竄防止装置1の秘密鍵と対となる公開鍵を入力データとする。改竄検知対象の画像は、圧縮された圧縮画像とする。
次に、改竄検知機能を有する制御部31について詳しく説明する。図14は、実施例3における改竄検知機能の一例を示すブロック図である。図14に示す制御部31は、周波数計算部301、係数選択部302、コード生成部303、署名確認部304、復号部305を有する。ここで、改竄検知装置2は、改竄検知対象の画像、電子書名及び改竄防止装置1の秘密鍵と対となる公開鍵を入力データとする。改竄検知対象の画像は、圧縮された圧縮画像とする。
周波数計算部301は、画像の周波数係数を計算する。周波数計算部301は、例えば、JPEG(Joint Photographic Experts Group)のように、画像を8×8ブロックに分割し、それぞれのブロックに対して周波数変換を用いて周波数係数を計算する。周波数計算部301は、計算した周波数係数を係数選択部302に出力する。
係数選択部302は、任意の2つの周波数係数を組(ペア)にして複数選択する。2つの周波数係数の選択方法は、改竄防止装置1と同じ選択方法である。係数選択部302は、選択した複数の周波数係数の組をコード生成部303に出力する。
コード生成部303は、選択された各組の2つの周波数係数の大小関係に基づいてコードを生成する。生成されたコードは、署名確認部304に出力される。
署名確認部304は、改竄防止装置1から取得された公開鍵で、電子署名を復号したコードと、コード生成部303により生成されたコードとを比較し、改竄検知対象の画像に対する改竄の有無を確認する。署名確認部304は、両者のコードを比較する際、電子署名で復号したコードのうち、nullコードを除いたコードで比較を行う。
また、署名確認部304は、比較結果が一致すれば改竄なし、比較結果が一致しなければ改竄ありと判定できる。この改竄有無結果は、例えば表示部35などに表示される。
復号部305は、改竄検知対象の画像を復号する。改竄検知装置2は、署名確認部304で改竄有りの場合、復号された画像に対して、どの部分が改竄されたかを表示することもできる。次に、改竄検知装置2としての各処理について詳しく説明する。周波数計算部301と係数選択部302とについては、実施例1や2と同様であるため、その説明を省略する。
《コード生成部》
コード生成部303は、次の式(4)により、周波数係数の各組に対してバイナリデータを与える。
コード生成部303は、次の式(4)により、周波数係数の各組に対してバイナリデータを与える。
《署名確認部》
まず、改竄防止装置1で生成されたコードは、改竄防止装置1固有の秘密鍵によって暗号化され、電子署名とされる。これに対して、改竄検知装置2では、改竄検知対象の画像からコードを生成する。
まず、改竄防止装置1で生成されたコードは、改竄防止装置1固有の秘密鍵によって暗号化され、電子署名とされる。これに対して、改竄検知装置2では、改竄検知対象の画像からコードを生成する。
また、署名確認部304は、改竄防止装置1から受信した電子署名を公開鍵で復号し、コードを生成する。署名確認部304は、両者のコードを比較して、一致すれば改竄なし、一致しなければ改竄ありと判定する。
<部分改竄検知>
改竄防止装置1において、画像のブロック毎にコードを複数生成し、署名を複数生成することができる。この場合、改竄検知装置2は、署名を複数確認し、改竄が検出された場合は、復号部305に改竄された位置の情報を伝え、改竄されている領域を図示することができる。
改竄防止装置1において、画像のブロック毎にコードを複数生成し、署名を複数生成することができる。この場合、改竄検知装置2は、署名を複数確認し、改竄が検出された場合は、復号部305に改竄された位置の情報を伝え、改竄されている領域を図示することができる。
なお、改竄検知装置2は、周波数係数のペアの一方であるAiがラスタ走査順であるため、コードの位置で画素の位置が分かり、両者のコードの比較結果で、どの位置のデータが一致しないかを特定することで、画素レベルで改竄を検知することができる。
<具体例>
次に、具体例を用いて実施例3における改竄検知処理について説明する。以下では、簡単のため、図11に示す画像が圧縮された画像を改竄検知対象とする。
次に、具体例を用いて実施例3における改竄検知処理について説明する。以下では、簡単のため、図11に示す画像が圧縮された画像を改竄検知対象とする。
まず、署名確認部304は、改竄防止装置1が生成した電子署名からコードを復号する。ここでは、実施例2における改竄防止装置1で生成されたコードD=00110100…1101が得られたとする。
係数選択部302は、実施例2における改竄防止装置1と同様にして周波数係数のペアを選択する。選択された周波数係数のペアは、以下の通りである。
(A0,B0)=(96,20)
(A1,B1)=(10,67)
(A2,B2)=(60,56)
(A3,B3)=(52,25)
・・・
(A62,B62)=(10,77)
(A63,B63)=(0,0)
ここで、コード生成部303は、式(4)を用いて各組に対するバイナリデータを与える。
D'0=00
D'1=11
D'2=00
D'3=00
・・・
D'62=11
D'63=01
コード生成部303は、これらのコードを並べてコードD'を生成する。
D'=00110000,…,1101
署名確認部304は、実施例2における改竄防止装置1が生成したコードを公開鍵で復号する。例えば、復号されたコードは、以下の通りである。
D=00110100…1101
署名確認部304は、両者のコードのうち、改竄防止装置1のコードDの中で、nullコード(01)の位置にあるコードを比較対象から除外する。例えば、nullコードは、「xx」に置き換えられるとする。また、署名確認部304は、コードD'の中で、コードDで「xx」になった位置と同じ位置のデータを「xx」にする。
(A0,B0)=(96,20)
(A1,B1)=(10,67)
(A2,B2)=(60,56)
(A3,B3)=(52,25)
・・・
(A62,B62)=(10,77)
(A63,B63)=(0,0)
ここで、コード生成部303は、式(4)を用いて各組に対するバイナリデータを与える。
D'0=00
D'1=11
D'2=00
D'3=00
・・・
D'62=11
D'63=01
コード生成部303は、これらのコードを並べてコードD'を生成する。
D'=00110000,…,1101
署名確認部304は、実施例2における改竄防止装置1が生成したコードを公開鍵で復号する。例えば、復号されたコードは、以下の通りである。
D=00110100…1101
署名確認部304は、両者のコードのうち、改竄防止装置1のコードDの中で、nullコード(01)の位置にあるコードを比較対象から除外する。例えば、nullコードは、「xx」に置き換えられるとする。また、署名確認部304は、コードD'の中で、コードDで「xx」になった位置と同じ位置のデータを「xx」にする。
このとき、両者のコードは、
D'=0011xx00,…,11xx
D =0011xx00,…,11xx
となり、両者のコードが一致する。
よって、署名確認部304は、改竄はなかったと判定する。
D'=0011xx00,…,11xx
D =0011xx00,…,11xx
となり、両者のコードが一致する。
よって、署名確認部304は、改竄はなかったと判定する。
<動作>
次に、実施例3における改竄検知装置2として機能する画像処理装置30の動作について説明する。図15は、実施例3における改竄検知処理の一例を示すフローチャートである。図15に示す処理は、実施例1や実施例2において生成された電子署名、圧縮画像、公開鍵を入力して改竄を検知する処理である。
次に、実施例3における改竄検知装置2として機能する画像処理装置30の動作について説明する。図15は、実施例3における改竄検知処理の一例を示すフローチャートである。図15に示す処理は、実施例1や実施例2において生成された電子署名、圧縮画像、公開鍵を入力して改竄を検知する処理である。
ステップS301〜S304の処理は、図9に示すステップS101〜S104の処理と同様であるため、その説明を省略する。ただし、改竄検知対象は、圧縮画像である。
ステップS305で、コード生成部303は、式(4)を用いて、コードD'を生成する。
ステップS306で、制御部31は、画像中の全てのブロックで処理をしたかを判定する。全てのブロックで処理していれば(ステップS306−YES)ステップS307に進み、全てのブロックで処理していなければ(ステップS306−NO)ステップS303に戻る。
ステップS307で、署名確認部304は、改竄を確認したい画像の電子署名を復号し、コードDを生成する。
ステップS308で、署名確認部304は、コードDとコードD'とが一致するか否かを判定する。コードDとD'とが一致すれば(ステップS308−YES)ステップS309に進み、コードDとD'とが一致しなければ(ステップS308−NO)ステップS310に進む。
ステップS309で、署名確認部304は、圧縮された画像に対し、改竄なしと判定する。
ステップS310で、署名確認部304は、圧縮された画像に対し、改竄ありと判定する。
以上、実施例3によれば、圧縮だけされた画像に対し、改竄とみなさないことができる。また、画像を書き換えるような改竄があった場合は、周波数係数の大小関係を壊す可能性が高いため、改竄を検知することができる。
[変形例]
なお、前述した各実施例で説明した改竄防止処理及び改竄検知処理を実現するためのプログラムを記録媒体に記録することで、各実施例での改竄防止処理及び改竄検知処理をコンピュータに実施させることができる。例えば、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータや携帯装置に読み取らせて、前述した改竄防止処理及び改竄検知処理を実現させることも可能である。
なお、前述した各実施例で説明した改竄防止処理及び改竄検知処理を実現するためのプログラムを記録媒体に記録することで、各実施例での改竄防止処理及び改竄検知処理をコンピュータに実施させることができる。例えば、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータや携帯装置に読み取らせて、前述した改竄防止処理及び改竄検知処理を実現させることも可能である。
なお、記録媒体は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
画像処理装置で実行されるプログラムは、各実施例で説明した各部を含むモジュール構成となっている。実際のハードウェアとしては、制御部が補助記憶部からプログラムを読み出して実行することにより上記各部のうち1又は複数の各部が主記憶部上にロードされ、1又は複数の各部が主記憶部上に生成されるようになっている。
また、改竄防止対象又は改竄検知対象の画像は、動画でもよく、各フレーム毎に、上記の処理を行ってもよいし、所定間隔のフレーム毎に上記処理を行ってもよい。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した各実施例の構成要素を全部又は複数を組み合わせることも可能である。
なお、以上の各実施例に関し、さらに以下の付記を開示する。
(付記1)
画像の周波数係数を計算する周波数計算部と、
前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、
選択された各ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、
前記コードを秘密鍵で暗号化し、電子署名を生成する電子署名生成部と、
を備える画像処理装置。
(付記2)
前記コード生成部は、
前記差分絶対値が前記閾値未満の場合、該差分絶対値のペアに対してnullコードを与える付記1記載の画像処理装置。
(付記3)
前記差分絶対値が前記閾値未満であり、前記閾値から所定範囲内である場合、前記差分絶対値が前記閾値を超えるように前記2つの周波数係数のいずれかにノイズを加算又は減算するノイズ加算部をさらに備える付記2記載の画像処理装置。
(付記4)
前記係数選択部は、
前記ペアを選択する際、第1の周波数係数は所定の走査順に選択し、第2の周波数係数を所定基準に従って選択する付記1乃至3いずれか一項に記載の画像処理装置。
(付記5)
前記所定基準は、前記第1の周波数係数と前記第2の周波数係数との差分絶対値が最大となることである付記4記載の画像処理装置。
(付記6)
前記周波数計算部は、
前記画像が分割されたブロック単位で前記周波数係数を計算し、
前記係数選択部は、
1つのブロック内、又は2つ以上のブロックに跨って前記2つの周波数係数のペアを選択する付記1乃至5いずれか一項に記載の画像処理装置。
(付記7)
画像の周波数係数を計算し、
前記周波数係数から、2つの周波数係数のペアを複数選択し、
選択された複数の前記ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成し、
前記コードを秘密鍵で暗号化し、電子署名を生成する処理をコンピュータが実行する改竄防止方法。
(付記8)
改竄検知対象の画像の周波数係数を計算する周波数計算部と、
前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、
選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、
電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記コード生成部により生成されたコードとを比較し、前記画像に対する改竄の有無を確認する署名確認部と、
を備える画像処理装置。
(付記9)
前記署名確認部は、
前記復号したコードのうち、nullコードの部分以外で比較を行う付記7記載の画像処理装置。
(付記10)
改竄検知対象の画像の周波数係数を計算し、
前記周波数係数から、2つの周波数係数のペアを複数選択し、
選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成し、
電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記生成されたコードとを比較し、前記画像に対する改竄の有無を確認する処理をコンピュータが実行する改竄検知方法。
(付記1)
画像の周波数係数を計算する周波数計算部と、
前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、
選択された各ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、
前記コードを秘密鍵で暗号化し、電子署名を生成する電子署名生成部と、
を備える画像処理装置。
(付記2)
前記コード生成部は、
前記差分絶対値が前記閾値未満の場合、該差分絶対値のペアに対してnullコードを与える付記1記載の画像処理装置。
(付記3)
前記差分絶対値が前記閾値未満であり、前記閾値から所定範囲内である場合、前記差分絶対値が前記閾値を超えるように前記2つの周波数係数のいずれかにノイズを加算又は減算するノイズ加算部をさらに備える付記2記載の画像処理装置。
(付記4)
前記係数選択部は、
前記ペアを選択する際、第1の周波数係数は所定の走査順に選択し、第2の周波数係数を所定基準に従って選択する付記1乃至3いずれか一項に記載の画像処理装置。
(付記5)
前記所定基準は、前記第1の周波数係数と前記第2の周波数係数との差分絶対値が最大となることである付記4記載の画像処理装置。
(付記6)
前記周波数計算部は、
前記画像が分割されたブロック単位で前記周波数係数を計算し、
前記係数選択部は、
1つのブロック内、又は2つ以上のブロックに跨って前記2つの周波数係数のペアを選択する付記1乃至5いずれか一項に記載の画像処理装置。
(付記7)
画像の周波数係数を計算し、
前記周波数係数から、2つの周波数係数のペアを複数選択し、
選択された複数の前記ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成し、
前記コードを秘密鍵で暗号化し、電子署名を生成する処理をコンピュータが実行する改竄防止方法。
(付記8)
改竄検知対象の画像の周波数係数を計算する周波数計算部と、
前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、
選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、
電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記コード生成部により生成されたコードとを比較し、前記画像に対する改竄の有無を確認する署名確認部と、
を備える画像処理装置。
(付記9)
前記署名確認部は、
前記復号したコードのうち、nullコードの部分以外で比較を行う付記7記載の画像処理装置。
(付記10)
改竄検知対象の画像の周波数係数を計算し、
前記周波数係数から、2つの周波数係数のペアを複数選択し、
選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成し、
電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記生成されたコードとを比較し、前記画像に対する改竄の有無を確認する処理をコンピュータが実行する改竄検知方法。
1 改竄防止装置
2 改竄検知装置
10、30 画像処理装置
11、31 制御部
12、32 主記憶部
13、33 補助記憶部
14、34 表示制御部
16、36 記録媒体I/F部
18 カメラI/F部
38 入力I/F部
101、301 周波数計算部
102、302 係数選択部
103、303 コード生成部
104 署名生成部
105、202 圧縮部
201 ノイズ加算部
304 署名確認部
305 復号部
2 改竄検知装置
10、30 画像処理装置
11、31 制御部
12、32 主記憶部
13、33 補助記憶部
14、34 表示制御部
16、36 記録媒体I/F部
18 カメラI/F部
38 入力I/F部
101、301 周波数計算部
102、302 係数選択部
103、303 コード生成部
104 署名生成部
105、202 圧縮部
201 ノイズ加算部
304 署名確認部
305 復号部
Claims (9)
- 画像の周波数係数を計算する周波数計算部と、
前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、
選択された各ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、
前記コードを秘密鍵で暗号化し、電子署名を生成する電子署名生成部と、
を備える画像処理装置。 - 前記コード生成部は、
前記差分絶対値が前記閾値未満の場合、該差分絶対値のペアに対してnullコードを与える請求項1記載の画像処理装置。 - 前記差分絶対値が前記閾値未満であり、前記閾値から所定範囲内である場合、前記差分絶対値が前記閾値を超えるように前記2つの周波数係数のいずれかにノイズを加算又は減算するノイズ加算部をさらに備える請求項2記載の画像処理装置。
- 前記係数選択部は、
前記ペアを選択する際、第1の周波数係数は所定の走査順に選択し、第2の周波数係数を所定基準に従って選択する請求項1乃至3いずれか一項に記載の画像処理装置。 - 前記所定基準は、前記第1の周波数係数と前記第2の周波数係数との差分絶対値が最大となることである請求項4記載の画像処理装置。
- 前記周波数計算部は、
前記画像が分割されたブロック単位で前記周波数係数を計算し、
前記係数選択部は、
1つのブロック内、又は2つ以上のブロックに跨って前記2つの周波数係数のペアを選択する請求項1乃至5いずれか一項に記載の画像処理装置。 - 画像の周波数係数を計算し、
前記周波数係数から、2つの周波数係数のペアを複数選択し、
選択された複数の前記ペアの2つの周波数係数の差分絶対値と閾値との比較結果及び該2つの周波数係数の大小関係に基づきコードを生成し、
前記コードを秘密鍵で暗号化し、電子署名を生成する処理をコンピュータが実行する改竄防止方法。 - 改竄検知対象の画像の周波数係数を計算する周波数計算部と、
前記周波数係数から、2つの周波数係数のペアを複数選択する係数選択部と、
選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成するコード生成部と、
電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記コード生成部により生成されたコードとを比較し、前記画像に対する改竄の有無を確認する署名確認部と、
を備える画像処理装置。 - 改竄検知対象の画像の周波数係数を計算し、
前記周波数係数から、2つの周波数係数のペアを複数選択し、
選択された複数の前記ペアの2つの周波数係数の大小関係に基づきコードを生成し、
電子署名と公開鍵とを取得し、該公開鍵で該電子署名を復号したコードと、前記生成されたコードとを比較し、前記画像に対する改竄の有無を確認する処理をコンピュータが実行する改竄検知方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011275061A JP2013126189A (ja) | 2011-12-15 | 2011-12-15 | 画像処理装置、改竄防止方法及び改竄検知方法 |
US13/659,986 US20130156257A1 (en) | 2011-12-15 | 2012-10-25 | Image processing device, tampering prevention method, and tampering detection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011275061A JP2013126189A (ja) | 2011-12-15 | 2011-12-15 | 画像処理装置、改竄防止方法及び改竄検知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013126189A true JP2013126189A (ja) | 2013-06-24 |
Family
ID=48610174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011275061A Pending JP2013126189A (ja) | 2011-12-15 | 2011-12-15 | 画像処理装置、改竄防止方法及び改竄検知方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20130156257A1 (ja) |
JP (1) | JP2013126189A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10348507B2 (en) | 2016-03-14 | 2019-07-09 | Ricoh Company, Ltd. | Data processing system, data processing apparatus, and data processing method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9930288B2 (en) * | 2015-03-26 | 2018-03-27 | Olympus Corporation | Information recording apparatus and tamper prevention method for information recording apparatus |
US10586238B2 (en) | 2016-06-22 | 2020-03-10 | Microsoft Technology Licensing, Llc | Automation of image validation |
CN111160364B (zh) * | 2019-12-05 | 2023-06-02 | 湖南大学 | 一种基于不同域下残差特征的多种操作链取证检测方法 |
US11537701B2 (en) * | 2020-04-01 | 2022-12-27 | Toyota Motor North America, Inc. | Transport related n-factor authentication |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205249B1 (en) * | 1998-04-02 | 2001-03-20 | Scott A. Moskowitz | Multiple transform utilization and applications for secure digital watermarking |
US7394573B1 (en) * | 1999-04-14 | 2008-07-01 | Xerox Corporation | System for authenticating hardcopy documents |
US6661925B1 (en) * | 2000-03-22 | 2003-12-09 | Board Of Supervisors Of Louisiana State University & Agricultural & Mechanical College | Functional set compression |
-
2011
- 2011-12-15 JP JP2011275061A patent/JP2013126189A/ja active Pending
-
2012
- 2012-10-25 US US13/659,986 patent/US20130156257A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10348507B2 (en) | 2016-03-14 | 2019-07-09 | Ricoh Company, Ltd. | Data processing system, data processing apparatus, and data processing method |
Also Published As
Publication number | Publication date |
---|---|
US20130156257A1 (en) | 2013-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Singh et al. | Effective self-embedding watermarking scheme for image tampered detection and localization with recovery capability | |
US7146502B2 (en) | Information processing apparatus and its control method, computer program, and storage medium | |
Zhao et al. | Effective watermarking scheme in the encrypted domain for buyer–seller watermarking protocol | |
Ekici et al. | Comparative evaluation of semifragile watermarking algorithms | |
US20040145661A1 (en) | Image processing method, and image processing apparatus | |
Liew et al. | Tamper localization and lossless recovery watermarking scheme with ROI segmentation and multilevel authentication | |
Hsu et al. | Enhancing the robustness of image watermarking against cropping attacks with dual watermarks | |
Huo et al. | A semi-fragile image watermarking algorithm with two-stage detection | |
Singh et al. | An efficient fragile watermarking scheme with multilevel tamper detection and recovery based on dynamic domain selection | |
Celik et al. | Localized lossless authentication watermark (LAW) | |
JP2013126189A (ja) | 画像処理装置、改竄防止方法及び改竄検知方法 | |
JP2003298579A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
Caldelli et al. | Joint near-lossless compression and watermarking of still images for authentication and tamper localization | |
JP4218539B2 (ja) | 電子透かし埋め込み装置,電子透かし検出装置,電子透かし埋め込み方法,および電子透かし検出方法 | |
Datta et al. | Robust data hiding scheme for highly compressed image exploiting btc with hamming code | |
KR101200345B1 (ko) | 점진적 차이값 히스토그램 기반의 가역 워터마킹을 이용한 블록단위 영상 인증방법 | |
Benrhouma | Cryptanalysis and improvement of a semi-fragile watermarking technique for tamper detection and recovery | |
JP5508896B2 (ja) | 画像処理方法 | |
WO2007085632A1 (en) | Method of watermarking digital data | |
He et al. | Synchronous counterfeiting attacks on self-embedding watermarking schemes | |
JP2007060280A (ja) | デジタルコンテンツ作成装置およびデジタルコンテンツ改変検出装置およびデジタルコンテンツ改変鑑定システム | |
Tao et al. | An Adaptive Method for Image Recovery in the DFT Domain. | |
Tohidi et al. | Efficient self-embedding data hiding for image integrity verification with pixel-wise recovery capability | |
Pal et al. | Reversible watermarking scheme using PVD-DE | |
Yeh et al. | Content-based watermarking in image authentication allowing remedying of tampered images |