JP4454908B2 - 情報処理装置、情報処理方法、プログラム及び記録媒体 - Google Patents
情報処理装置、情報処理方法、プログラム及び記録媒体 Download PDFInfo
- Publication number
- JP4454908B2 JP4454908B2 JP2002104068A JP2002104068A JP4454908B2 JP 4454908 B2 JP4454908 B2 JP 4454908B2 JP 2002104068 A JP2002104068 A JP 2002104068A JP 2002104068 A JP2002104068 A JP 2002104068A JP 4454908 B2 JP4454908 B2 JP 4454908B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- hash
- digital data
- feature amount
- signature
- 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
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Description
【発明の属する技術分野】
本発明は、撮影対象の映像情報等をディジタルデータに変換し、改竄検出用データをディジタルデータに付加することで改竄を検出する際の技術に関する。
【0002】
【従来の技術】
近年、従来の銀塩写真や8mmフィルムに変わって、撮影した情報をディジタル化し、ディジタルデータとして記録媒体等に記録するディジタルカメラといった映像入力装置が実用化されている。これにより、撮影した情報そのものをパーソナルコンピュータを始めとする情報処理装置に移し、表示させることが可能になった。このような映像データを通信回線を利用することで全国どこでも瞬時に映像データを送信することも可能になった。そのため、事故処理で証拠写真を扱う保険会社や建築現場の進捗状況の記録を扱う建設会社においてディジタル映像データの利用が考えられている。しかし一方で目覚しいデータ処理技術の進歩により、映像データを始めとしたディジタルデータの編集をフォトレタッチツールや動画編集ツール等の使用で容易に行うことが可能になった。そのため、ディジタル映像データの信頼性は従来の銀塩写真等と比較して低く、証拠としての能力に乏しいという問題があった。
【0003】
そこで映像データの改ざん、偽造が行われていた場合にそれを検出するような映像入力装置、システムが提案されてきた。例えば“DIGITAL CAMERA WITH APPRARATUS FOR AUTHENTICATION OF IMAGES PRODUCED FROM AN IMAGE”という名称の米国特許第5499294や“映像入力装置および映像入力システム”という名称の特許出願公開番号:特開平9-200730 によると映像入力装置に固有の秘密情報および該映像入力装置に接続される外部装置に固有の秘密情報の少なくとも一方の情報と該映像入力装置にて撮影してディジタル化したディジタルデータとに基づき、所定の演算を実行して該ディジタルデータを識別する情報、すなわちディジタル署名データを生成し、該ディジタル署名データと映像入力装置にて撮影してディジタル化したディジタルデータとを映像入力装置の出力とするものである。
【0004】
また、上記公報ではディジタル署名データ生成にハッシュ関数と公開鍵暗号を使用している。公開鍵暗号については後で説明する。
ディジタル署名とは、送信者がデータと一緒に該データに対応する署名データを送り、受信者がその署名データを検証して該データの正当性を確認することである。
ディジタル署名データ生成にハッシュ関数と公開鍵暗号を用いたデータの正当性の確認は以下のようになり、これが上記公報の方法である。
【0005】
秘密鍵をKs, 公開鍵をKpとすると発信者は、平文データMをハッシュ関数により圧縮して一定長の出力h を算出する演算を行う。次に秘密鍵Ksでh を変換してディジタル署名データsを作成する演算すなわちD(Ks,h) =sを行う。その後、該ディジタル署名データsと平文データMとを送信する。一方受信者は受信したディジタル署名データsを公開鍵Kp で変換する演算すなわちE(Kp,s)= E(Kp,D(Ks,h''))= h''と、受信した平文データM'を発信者と同じハッシュ関数により圧縮してh' を算出する演算を行い、h'とh''が一致すれば受信したデータM'を正当であると判断する。
【0006】
平文データMが送受信間で改ざんされた場合にはE(Kp,s)= E(Kp,D(Ks,h''))= h''と、受信した平文データM'を発信者と同じハッシュ関数により圧縮したh'が一致しないので改ざんを検出できる。ここで、平文データMの改ざんに合わせてディジタル署名データsの改ざんも行われてしまうと改ざんの検出ができなくなる。しかし、これはhから平文データMを求める必要があり、このような計算はハッシュ関数の一方向性により不可能である。
【0007】
次にハッシュ関数について説明する。ハッシュ関数は上記ディジタル署名の生成を高速化するため等に用いられる。ハッシュ関数は任意の長さの平文データMに処理を行い、一定の長さの出力hを出す機能を持つ。ここで、出力hを平文データMのハッシュ値(またはメッセージダイジェスト、ディジタル指紋)という。
【0008】
ハッシュ関数に要求される性質として、一方向性と衝突耐性が要求される。一方向性とは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等が知られており、これらのアルゴリズムは一般に公開されている。
【0009】
続いて公開鍵暗号について説明する。公開鍵暗号は暗号鍵と復号鍵が異なり、暗号鍵を公開、復号鍵を秘密に保持する暗号方式である。公開鍵暗号の特徴としては、
(a) 暗号鍵と復号鍵とが異なり暗号鍵を公開できるため、暗号鍵を秘密に配送する必要がなく、鍵配送が容易である。
(b) 各利用者の暗号鍵は公開されているので、利用者は各自の復号鍵のみ秘密に記憶しておけばよい。
(c) 送られてきた通信文の送信者が偽者でないこと及びその通信文が改ざんされていないことを受信者が確認するための認証機能を実現できる。
が挙げられる。
【0010】
例えば、平文データ M に対して、公開の暗号鍵 Kp を用いた暗号化操作を E(Kp,M) とし、秘密の復号鍵 Ksを用いた復号操作を D(Ks,M) とすると、公開鍵暗号アルゴリズムは、まず次の2つの条件を満たす。
(1) Kp が与えられたとき、E(Kp,M) の計算は容易である。Ksが与えられたとき、D(Ks,M) の計算は容易である。
(2) もし Ksを知らないなら、Kp と E の計算手順と C=E(Kp,M) を知っていても、M を決定することは計算量の点で困難である。
【0011】
次に、上記(1)、(2)に加えて、次の(3)の条件が成立することにより秘密通信が実現できる。
(3) 全ての平文データ M に対し、E(Kp,M) が定義でき、D(Ks,E(Kp,M))=Mが成立する。つまり、Kp は公開されているため誰もが E(Kp,M) を計算することができるが、 D(Ks,E(Kp,M)) を計算して M を得ることができるのは秘密鍵 Ksを持っている本人だけである。一方、上記(1)、(2)に加えて、次の(4)の条件が成立することにより認証通信が実現できる。
【0012】
(4) すべての平文データM に対し、D(Ks,M) が定義でき、E(Kp,D(Ks,M))=Mが成立する。つまり、D(Ks,M) を計算できるのは秘密鍵 Ksを持っている本人のみであり、他の人が偽の秘密鍵 Ks ' を用いて D(Ks',M) を計算し Ksを持っている本人になりすましたとしても、E(Kp,D(Ks',M))≠M なので受信者は受けとった情報が不正なものであることを確認できる。また、D(Ks,M) が改ざんされても E(Kp,D(Ks,M)')≠M となり、受信者は受けとった情報が不正なものであることを確認できる。
【0013】
上記の秘密通信と認証通信とを行うことができる代表例としてRSA暗号やR暗号やW暗号等が知られている。
ここで、現在最も多く使用されているRSA暗号の暗号化、復号は次式で示される。
暗号化:暗号化鍵(e,n) 暗号化変換C=Me(mod n)
復号:復号鍵(d,n) 復号変換M=Cd(mod n)
n=p・q(ここでp、q は大きな異なる素数)
以上説明したように、入力ディジタルデータに対してハッシュ関数および公開鍵暗号方式を用いてディジタル署名データを計算し、前記ディジタル署名データを入力ディジタルデータに付加することで画像・音楽・文書・動画像等の入力ディジタルデータの原本性証明および改竄検出の実現を可能にすることが出来る。
【0014】
【発明が解決しようとする課題】
しかし、上記に述べた従来のディジタル署名技術を用いると、入力ディジタルデータの1サンプルでも変化すると事実上、改竄として検出される。
従って、画像を例に取ると、JPEG再圧縮やγ補正、縮小画像の抽出など、必ずしも画像の内容を変更していないにも関わらず、改竄として検出されるため、原本性を検証する際には、署名された画像を一切編集することは出来ず、改竄検出システムとして柔軟性を欠き、利便性の向上が望まれていた。
【0015】
本発明の目的は、ディジタルデータから、複数の異なる特徴量を算出し、前記特徴量からディジタル署名を生成し、前記ディジタルデータを格納するファイルの所定位置に前記ディジタル署名データを付加し、ディジタルデータの内容が本質的に変化しない加工編集には、原本性を証明することを可能にすることである。
本発明の他の目的は、複数の異なる特徴量を用いたディジタル署名を付加し、複数のディジタル署名に基づいたランク付けを導入することで、ディジタルデータに加わった編集の度合いやディジタルデータの信頼性を評価することを可能にすることである。
本発明のさらに他の目的は、ディジタルデータをブロックに分割して処理することにより、改竄の程度だけでなく、位置も特定することを可能にすることである。
【0016】
【課題を解決するための手段】
本発明の一観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値から得られることを特徴とする情報処理装置が提供される。
本発明の他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値から得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、前記異なる特徴量は、前記ディジタルデータを圧縮符号化した符号化データから得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、前記異なる特徴量は、前記ディジタルデータを微分した微分ディジタルデータの量子化値から得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値から得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値から得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、前記異なる特徴量は、前記ディジタルデータを圧縮符号化した符号化データから得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、前記異なる特徴量は、前記ディジタルデータを微分した微分ディジタルデータの量子化値から得られることを特徴とする情報処理装置が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置の情報処理方法であって、前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成ステップと、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出ステップと、前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成ステップと、前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加ステップとを備え、前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値、前記ディジタルデータを圧縮符号化した符号化データ、前記ディジタルデータを微分した微分ディジタルデータの量子化値の何れかから得られることを特徴とする情報処理方法が提供される。
本発明のさらに他の観点によれば、ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置の情報処理方法であって、前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力ステップと、前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成ステップと、前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成ステップと、前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算ステップと、前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出ステップと、前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算ステップと、前記第1のハッシュ生成ステップで生成したハッシュデータと前記第1のハッシュ計算ステップで生成したハッシュデータとの比較、及び前記第2のハッシュ生成ステップで生成した特徴量ハッシュデータと前記第2のハッシュ計算ステップで生成した特徴量ハッシュデータとの比較を行う比較ステップと、前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力ステップとを備え、前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値、前記ディジタルデータを圧縮符号化した符号化データ、前記ディジタルデータを微分した微分ディジタルデータの量子化値の何れかから得られることを特徴とする情報処理方法が提供される。
本発明のさらに他の観点によれば、上記の情報処理方法の各ステップをコンピュータに実行させるためのプログラムが提供される。
本発明のさらに他の観点によれば、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【0017】
本発明によれば、ディジタルデータから、複数の異なる特徴量を算出し、前記特徴量からディジタル署名を生成する。また、前記ディジタルデータを格納するファイルの所定位置に前記ディジタル署名データを付加する。これにより、ディジタルデータの内容が本質的に変化しない加工編集には、原本性を証明することが可能になり、ディジタル署名が付加されたディジタルファイルの利便性を高めることができる。
【0018】
【発明の実施の形態】
<第1の実施形態>
まず、本発明の第1の実施形態によるディジタル署名データの生成を行うディジタル署名生成手段について図1を用いて説明する。
ディジタルカメラやディジタルビデオカメラ等から入力されるディジタルデータは、まずハッシュ関数生成手段101に入力される。
ハッシュ関数生成手段101では、ハッシュ関数を用いてディジタルデータからハッシュ値を計算し、後段の署名生成演算手段102に入力される。
署名生成演算手段102では、公開鍵暗号方式を用いて演算処理する場合には、秘密鍵を用いて、ハッシュ値に対して演算処理を行い、ディジタル署名データを生成する。
共通暗号鍵方式を用いる場合には、暗号化・復号化で必要な共通データ(秘密鍵)を用いて、ハッシュ値に対して演算処理を行い、ディジタル署名データを生成する。
生成されたディジタル署名データ111はディジタルデータ112を格納するファイル110内のヘッダ等の所定位置に付加される。
【0019】
次に、ディジタル署名の検証を行うディジタル署名検証装置について図2を用いて説明する。
まずディジタルデータ112を格納するファイル110内の所定位置からディジタル署名データ111を読み込み、署名検証演算手段201に入力する。
署名検証演算手段201では、公開鍵暗号方式を用いて演算処理する場合には公開鍵を用いてディジタル署名データに対して演算処理を行い、ハッシュ値を復元し、後段の比較手段203に入力する。
共通暗号鍵方式を用いる場合には暗号化・復号化に必要な共通データ(秘密鍵)を用いてディジタル署名データに対して演算処理を行い、ハッシュ値を復元し、後段の比較手段203に入力する。
【0020】
次に、ディジタルデータを格納するファイル110内の所定位置からディジタルデータ112を読み込み、ハッシュ関数生成手段202に入力する。
ハッシュ関数生成手段202では、ハッシュ関数を用いてディジタルデータからハッシュ値を計算し、後段の比較手段203に入力する。
比較手段203では、署名検証演算手段201から入力されるハッシュ値と、ハッシュ関数生成手段202から入力されるハッシュ値を比較し、二つのハッシュ値が同一である場合には、検証結果として真を表す値(例えば1)を出力し、二つのハッシュ値が同一でない場合には検証結果として偽を表す値(例えば0)を出力する。
以上のディジタル署名検証装置を用いることにより、ディジタルデータの改竄を検出することができる。
【0021】
以降、本明細書では、“ディジタル署名を生成する”という記述は、図1で説明したように、ディジタルデータからディジタル署名生成手段を用いてディジタル署名データを計算することを意味し、“ディジタル署名を検証する”という記述は、図2で説明したように、ディジタル署名検証手段を用いて、署名されたディジタルデータを検証することを意味することとする。
【0022】
本実施形態では、説明を分かり易くするために、ディジタルデータとして図3に示すような画像データ301を例として説明を行う。
また共通鍵暗号方式を用いる場合には、ディジタル署名を検証する際に必要な共通データ(共通鍵暗号方式における秘密鍵)は、ネットワークを通じて検証者に安全に配布することが可能であるとする。
今、画像データ301に対し、改竄を検出するためのディジタル署名を計算するが、画像データ301全体からディジタル署名を計算しても良いし、画像データを302のようにブロック単位に分割し、ブロック単位毎のディジタル署名を計算してもよい。
【0023】
本実施形態では、ブロック毎にディジタル署名を計算する場合について説明を行うが、画像全体からディジタル署名を計算する場合も本発明の範疇であるとする。ブロック毎にディジタル署名を計算した場合、ブロック単位で改竄位置を特定できるというメリットがある。
【0024】
次に、本明細書では、画像内容を大きく変えることの無い画像変更に対し、画像変更前と変更後で同一のディジタル署名データとなるディジタル署名データをロバストディジタル署名データと呼ぶこととする。ロバストディジタル署名データは、署名が行われたディジタルデータに対し、ディジタルデータの内容を損なわない範囲内で加工・編集する限りは、ディジタルデータの原本性が保証できるというメリットがある。
【0025】
まず初めにロバストディジタル署名生成手段について図4を用いて説明する。
ロバストディジタル署名生成手段400は、特徴量算出手段401およびディジタル署名生成手段402から構成される。
ロバストディジタル署名生成手段400は、図1のディジタル署名生成手段の前段に特徴量算出手段401を配置した構成になっている。
まず、特徴量算出手段401に、ディジタルデータが入力される。
特徴量算出手段401では、入力されるディジタルデータの特徴量を算出する。このとき、特徴量算出手段401は、ディジタルデータの表現内容が大きく変化しない限り、安定して変化しない(ロバストである)特徴量を生成する。特徴量算出手段401の具体例については、後に詳しく述べる。
【0026】
次に特徴量算出手段401から出力される各ブロックの特徴量は、後段のディジタル署名生成手段402に入力される。
ディジタル署名生成手段402では、既に図1で説明したように、入力される各ブロックの特徴量に対し、ハッシュ関数を実行し、公開鍵暗号方式を用いる場合には秘密鍵を用いて、共通鍵暗号方式を用いる場合には暗号化・復号化に必要な共通データ(秘密鍵)を用いて、ディジタル署名データを生成する。本明細書では、上述のような特徴量に対するディジタル署名データをロバストディジタル署名データと呼ぶ。
【0027】
図6において、署名検証演算手段601では、公開鍵暗号方式を用いて演算処理する場合には公開鍵を用いてロバストディジタル署名データに対して演算処理を行い、ハッシュ値を復元し、後段の比較手段603に入力する。共通暗号鍵方式を用いる場合には暗号化・復号化に必要な共通データ(秘密鍵)を用いてロバストディジタル署名データに対して演算処理を行い、ハッシュ値を復元し、後段の比較手段603に入力する。
【0028】
図5は、ロバストディジタル署名データを画像に付加するロバストディジタル署名付加装置の内部構成を示すブロック図である。
まず、画像データはブロック分割手段501に入力され、図3のようにブロックに分割されたブロック単位画像をロバストディジタル署名生成手段502に出力する。なお、既に述べたようにブロック分割手段501は必ずしも存在する必要はない。
ロバストディジタル署名生成手段502では、ブロック毎にロバストディジタル署名データを生成し、後段のロバストディジタル署名付加手段503に出力する。
上記の処理を全てのブロックに対して繰り返し行い、全てのブロック単位画像に対するロバストディジタル署名を計算する。
【0029】
ロバストディジタル署名付加手段503では、画像ファイルの所定位置に、ロバストディジタル署名データを付加する。このとき改竄されたブロック単位画像を特定することが可能なように、ブロック単位画像の位置と関連付けて、画像ファイルの所定の位置(コメント欄あるいは署名欄)にロバストディジタル署名データを付加する。
また、必要に応じて特徴量算出方法・パラメータを画像ファイルの所定の位置に付加してもよい。
以上、ロバストディジタル署名付加装置について述べた。
【0030】
次に、ロバストディジタル署名検証装置について図6を用いて説明する。
ロバストディジタル署名検証装置は、図2のディジタル署名検証装置のハッシュ関数生成手段の前段に特徴量算出手段604を配置した構成になっている。特徴量算出手段604は、図4のロバストディジタル署名生成手段400における特徴量算出手段401と同一の手段である。
【0031】
図6において図2のディジタル署名検証装置と同じ名称の手段では、図2のディジタル署名検証装置と同様の処理を行う。
まず、図6のロバストディジタル署名検証装置では、ロバストディジタル署名が施されたディジタルデータファイルの所定位置から、ロバストディジタル署名データを読み込み、署名検証演算手段601に入力する。
署名検証演算手段601では、公開鍵暗号方式を用いて演算処理する場合には公開鍵を用いてロバストディジタル署名データに対して演算処理を行い、ハッシュ値を復元し、後段の比較手段603に入力する。
共通暗号鍵方式を用いる場合には暗号化・復号化に必要な共通データ(秘密鍵)を用いてロバストディジタル署名データに対して演算処理を行い、ハッシュ値を復元し、後段の比較手段603に入力する。
ここで復元されるハッシュ値は、ブロック単位画像から計算された特徴量のハッシュ値である。
【0032】
次に、ロバストディジタル署名が施されたディジタルデータファイルの所定位置からディジタルデータを読み込み、特徴量算出手段604に入力する。
特徴量算出手段604では、図4のロバストディジタル署名生成手段400の特徴量算出手段401と同様の処理を行い、特徴量を後段のハッシュ関数生成手段602に出力する。
ハッシュ関数生成手段602では、ハッシュ関数を用いてディジタルデータからハッシュ値を計算し、後段の比較手段603に入力する。
比較手段603では、署名検証演算手段601から入力されるハッシュ値と、ハッシュ関数生成手段602から入力されるハッシュ値を比較する。二つのハッシュ値が同一である場合には、検証結果として真を表す値(例えば1)を出力し、二つのハッシュ値が同一でない場合には検証結果として偽を表す値(例えば0)を出力する。
ロバストディジタル署名検証装置では、特徴量算出手段で算出される特徴量が変化しない限りは、検証結果は真(原本性を検証した)という結果を出力する。
以上、ロバストディジタル署名検証装置について説明した。
【0033】
次に、ディジタル署名装置と上記のロバストディジタル署名装置を組み合わせ、画像に対する改竄のレベルまたは原本として信頼できるレベルを判定することが可能なマルチレベルロバストディジタル署名付加装置およびマルチレベルロバストディジタル署名検証装置について説明する。
以下、マルチレベルロバストディジタル署名付加装置について図7を用いて説明する。
マルチレベルロバストディジタル署名付加装置では、図4と同様に画像データはブロック分割手段701に入力され、ブロック分割されたブロック単位画像を生成する。次にブロック分割されたブロック単位画像は、ブロック毎にマルチレベルロバストディジタル署名生成手段702に入力される。マルチレベルロバストディジタル署名生成手段702では、図4のロバストディジタル署名生成手段400と異なり、一つのブロック単位画像に対し複数のロバストディジタル署名(ディジタル署名を含んでもよい)を生成する。
【0034】
最後に、マルチレベルロバストディジタル署名付加手段703において、画像ファイル内の所定の位置(コメント欄あるいは署名欄)に複数のロバストディジタル署名データを付加する。このとき改竄されたブロック単位画像を特定することが可能なように、位置情報とディジタル署名を対応づけ画像ファイルに複数のロバストディジタル署名データを付加する。
また、必要に応じて特徴量算出方法・パラメータを画像ファイルの所定の位置に付加してもよい。
【0035】
図8はマルチレベルロバストディジタル署名生成手段702の内部構成の一例を示した図である。以下、内部構成について詳しく説明する。
まずブロック単位画像は、ディジタル署名生成手段801、第1ロバストディジタル署名生成手段802および第2ロバストディジタル署名生成手段803に入力される。
ディジタル署名生成手段801に入力されるブロック単位画像は、空間領域で表現される画像でもよいし、周波数変換(離散ウェーブレット変換又は離散コサイン変換)に代表される画像変換後の係数値でもよい。
ディジタル署名生成手段801では、ハッシュ関数および公開鍵暗号方式(共通暗号鍵方式)を用い、ディジタル署名データ0を生成する。
第1ロバストディジタル署名生成手段802では、図4のロバストディジタル署名生成手段400で述べたように、入力されるブロック単位画像の特徴量からロバストディジタル署名を計算し、ディジタル署名データ1を生成する。
第2ロバストディジタル署名生成手段803も、第1ロバストディジタル署名生成手段802と同様に、入力されるブロック単位画像の特徴量からロバストディジタル署名を計算し、ディジタル署名データ2を生成する。
【0036】
図8では、ディジタル署名データ0とディジタル署名データ1とディジタル署名データ2を生成する例を示したが、複数の異なるロバストディジタル署名データ(ディジタル署名データを含んでもよい)があればよく、ディジタル署名データ0とディジタル署名データ1だけでも構わないし、更に複数のロバストディジタル署名データであっても構わない。
なお、第1ロバストディジタル署名生成手段802内部の特徴量算出手段と、第2ロバストディジタル署名生成手段803内部の特徴量算出手段は、異なる特徴量を算出する手段であるとする。異なる特徴量を算出する具体的な例については、以降で詳しく述べる。
【0037】
図8の場合、ディジタル署名生成手段801に入力されるデータは、ブロック単位画像全体を表現するデータである。従って、ブロック単位画像に少しでも変更が加えられる場合、ディジタル署名データ0は異なった値をとる可能性が極めて高い。従って、ディジタル署名0は、原本性や改竄を厳密にチェックする場合に有効である。
【0038】
次に、ディジタル署名データ1は、特徴量算出後のロバストディジタル署名データであり、ディジタル署名データ0と比較して、画像内容以外への変化にはそれほど敏感でないロバストディジタル署名データである。
【0039】
次に、ディジタル署名データ2は、ディジタル署名データ1と同様に特徴量算出後のロバストディジタル署名データではあるが、ディジタル署名データ1より更に画像内容以外への変化には敏感でないロバストディジタル署名データである。
【0040】
以上のようにディジタル署名データ0,1,2は、それぞれ異なる基準で原本性や改竄のレベルを判定することが可能なディジタル署名データである。
以上、マルチレベルロバストディジタル署名付加装置について説明した。
【0041】
次にマルチレベルロバストディジタル署名検証装置について説明する。
マルチレベルロバストディジタル署名検証装置は、ディジタルデータファイルの所定の位置に付加されたマルチレベルロバストディジタル署名データを読み込み、ディジタルデータに対する原本性や改竄のレベルを検証する装置である。
【0042】
図9はマルチレベルロバストディジタル署名検証装置のブロック図である。
まずマルチレベルロバストディジタル署名検証装置には、検証単位であるブロック単位画像が入力される。
入力されたブロック単位画像は、ディジタル署名検証手段901、第1ロバストディジタル署名検証手段902、第2ロバストディジタル署名検証手段903に入力される。
【0043】
ディジタル署名検証手段901、第1ロバストディジタル署名検証手段902、第2ロバストディジタル署名検証手段903では、それぞれ、ディジタル署名検証手段、ロバストディジタル署名検証手段、ロバストディジタル署名検証手段を入力し、入力されたブロック単位画像ごとに原本性を検証し、それぞれ検証結果R0,R1,R2を後段の信頼度換算手段904に出力する。
信頼度換算手段904では、入力される複数の検証結果R0,R1,R2を基に、入力されたブロック単位画像(あるいは画像全体)に対して、多段階レベルからなる信頼度を計算し、後段の信頼度表示手段905に入力する。
信頼度表示手段905では、前段で計算された信頼度を、画像の検証者に表示する。
【0044】
信頼度表示手段905の表示例について図10を用いて説明する。
図10の1001は、図3に改ざんを加えた画像であるとする。
信頼度表示手段905では、1002のように対応するブロック単位画像毎に計算された信頼度を表示してもよい。1002では、数値が小さいほど信頼度が高いことを示し、数値が大きいほど信頼度が低いことを示す。
また、数値ではなく、1003に示すように視覚的に色や模様を用いて信頼度を表示してもよい。このとき、改竄箇所を分かりやすくするため、検証対象画像1001に1002や1003をオーバーレイ(重ね合わせ)して表示してもよい。
以上、マルチレベルロバストディジタル署名検証装置について述べた。
【0045】
次に、マルチレベルロバストディジタル署名付加装置のロバストディジタル署名生成手段400の内部処理を具体的に説明する。
ディジタルデータの入力機器として、近年、ディジタルカメラ・ディジタルビデオが一般家庭に広く浸透してきている。静止画像・動画像のディジタルデータの容量は非常に大きいため、上記の入力機器では圧縮画像データを取り扱う。
従って、上記圧縮画像データに対してもディジタル署名の付加・検証が可能である必要がある。
【0046】
本実施の形態では、今後、静止画圧縮技術の標準となることが想定されるJPEG2000圧縮符号化画像データに対して、ディジタル署名を付加・検証を行う場合について説明する。
まず初めにJPEG2000の圧縮方式の概要について簡単に説明を行う。
JPEG2000の画像符号化装置のブロック図を図11の上段に示す。まず画像入力部1101に対して符号化対象となる画像を構成する画素信号がラスタ−スキャン順に入力され、その出力は離散ウェーブレット変換部に入力される。
離散ウェーブレット変換部1102は、入力した画像信号に対して2次元の離散ウェーブレット変換処理を行い、変換係数を計算して出力する。
離散ウェーブレット変換の詳細は公知であるのでここでは説明を省略する。
【0047】
図12は2次元の変換処理により得られる2レベルの変換係数群の構成例であり、画像信号は異なる周波数帯域の係数列HH1、HL1、LH1、…、LLに分解される。なお、以降の説明ではこれらの係数列をサブバンドと呼ぶ。各サブバンドの係数は後続の量子化部1103に出力される。
量子化部1103は、入力した係数を所定の量子化ステップにより量子化し、その量子化値に対するインデックスを出力する。
量子化部1103に入力された変換係数はそのまま後続のエントロピ符号化部1104に出力される。
エントロピ符号化部1104は入力した量子化インデックスをビットプレーンに分解し、ビットプレーンを単位に2値算術符号化を行ってコードストリームを出力する。符号出力部1105は、コードストリームを含む符号列を伝送路を介して符号入力部1106へ出力可能である。
【0048】
次に以上述べた画像符号化装置で生成されたビットストリームを復号化する方法について説明する。図11の下段は画像復号化装置の構成を表すブロック図であり、1106が符号入力部、1107はエントロピ復号化部、1108は逆量子化部、1109は逆離散ウェーブレット変換部、1110は画像出力部である。
符号入力部1106は符号列を入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、あるいは後続の処理ユニットに対して該当するパラメータを送出するものである。また、符号列に含まれるビットストリームはエントロピ復号化部1107に出力される。
エントロピ復号化部1107はビットストリームをビットプレーン単位で復号化し、出力する。復元された量子化インデックスは逆量子化器1108に出力される。
【0049】
逆量子化器1108は入力した量子化インデックスおよびヘッダから読み込まれた量子化テーブル1111から、離散ウェーブレット変換係数を復元する。変換係数は後続の逆離散ウェーブレット変換部1109に出力される。
逆離散ウェーブレット変換部1109では、2次元の逆離散ウェーブレット変換を実行し、変換係数から原画像の信号を復元する。
このとき、JPEG2000における完全再構成条件を満たすなら、復元された画像信号は原画像の信号と一致する。画像出力部1110は、復元された画像信号を出力する。
以上、簡単にJPEG2000圧縮方式について説明した。
【0050】
以下、離散ウェーブレット変換をDWTと略して用いる。
本実施の形態では、ロバストディジタル署名生成手段400内部の特徴量算出手段402において、特徴量の算出にJPEG2000圧縮符号化における量子化後のDWT係数を用いる。また説明を簡単にするため、離散ウェーブレットフィルタとして可逆のフィルタを用いることとする。
【0051】
図13は、量子化部1103で用いられる量子化テーブルであり、この量子化テーブル1300は、マルチレベルロバストディジタル署名を施す前に、画像の圧縮に用いられた量子化テーブルであるとする。
なお、JPEG2000ではサブバンド毎に量子化ステップが一定である。また、図13では、量子化テーブルの係数値は省略している。
量子化テーブル1301、1302は、それぞれ、中圧縮、高圧縮(低画質)を実現するための量子化テーブルであり、量子化テーブル1301および1302の黒枠で囲まれた部分の量子化ステップは、量子化テーブル1300の量子化ステップと同一であるとする。
【0052】
本実施の形態では、ロバストディジタル署名生成手段400の特徴量算出手段401では、離散ウェーブレット変換、所定の量子化テーブルを用いた量子化、および量子化DWT係数内の所定領域の量子化DWT係数の抽出を行う。
後段のディジタル署名生成手段402では、前記抽出された所定領域の量子化DWT係数から、ディジタル署名データを生成する。
ここで、所定の量子化テーブルとは、ディジタル署名データ生成の対象であるJPEG2000圧縮画像で用いられた量子化テーブルと所定領域で共通の量子化ステップを持つ量子化テーブルである。
所定領域とは、ディジタル署名データ生成の対象であるJPEG2000圧縮画像で用いられた量子化テーブルと共通の量子化ステップを持つ領域である。(図13における黒枠内が所定領域に相当する。)
【0053】
以下、マルチレベルロバストディジタル署名付加装置の処理を具体的に説明する。
今、量子化テーブル1300を用いて圧縮されたJPEG2000圧縮画像ファイルAに対し、マルチレベルロバストディジタル署名付加装置を用い、マルチレベルロバストディジタル署名データを付加することを考える。
まず、ディジタル署名生成手段801では、ブロック単位画像の画素値全体(またはブロック単位画像に対応する量子化後のDWT係数)を処理し、ディジタル署名データ0を生成する。
次に、第1ロバストディジタル署名生成手段802では、JPEG2000圧縮画像ファイルAの量子化後のDWT係数の内、量子化テーブル1301の黒枠内に対応する量子化DWT係数を処理し、ディジタル署名データ1を生成する。
次に、第2ロバストディジタル署名生成手段803では、JPEG2000圧縮画像ファイルAの量子化後のDWT係数の内、量子化テーブル1302の黒枠内に対応する量子化DWT係数を処理し、ディジタル署名データ2を生成する。
【0054】
上記のディジタル署名データ0,1,2は画像ファイルの所定位置に追加され、署名が施された画像ファイルA'が得られる。
次に、ディジタル署名が施された画像ファイルA'に対し、量子化テーブル1303を用いて再圧縮することを考える。この圧縮は、画像内容を大きく変更(改竄)する変更ではない。
量子化テーブル1303の黒枠内の量子化ステップは、量子化テーブル1300の対応する位置にある量子化ステップと同一である。再圧縮の結果、圧縮された画像ファイルA''が生成されるが、画像ファイルA'の所定位置に付加されたマルチレベルロバストディジタル署名は画像ファイルA''に引き継がれるとする。
次に、量子化テーブル1303を用いて再圧縮された画像ファイルA''に対して、図9のマルチレベルロバストディジタル署名検証装置を用いて、検証を行う。
【0055】
ディジタル署名検証手段901内部において、ブロック単位画像から計算されるハッシュ値とファイルの所定位置から読み込まれるディジタル署名から計算されるハッシュ値は、異なる値を取る。
なぜなら、再圧縮で用いる量子化テーブルと再圧縮前の対応する位置の量子化ステップが異なる値を取り、量子化後のDWT係数が変化するためである。
【0056】
第1ロバストディジタル署名生成手段902内部において、ブロック単位画像から計算されるハッシュ値とファイルの所定位置から読み込まれるディジタル署名から計算されるハッシュ値は再圧縮によっても変化しない。
なぜなら、量子化テーブル1301の黒枠内の量子化ステップは再圧縮前の対応する位置の量子化ステップと同一となり、量子化DWT係数が変化しないためである。
【0057】
第2ロバストディジタル署名生成手段903内部において、ブロック単位画像から計算されるハッシュ値とファイルの所定位置から読み込まれるディジタル署名から計算されるハッシュ値は再圧縮によっても変化しない。
なぜなら、量子化テーブル1302の黒枠内の量子化ステップは再圧縮前の対応する位置の量子化ステップと同一となり、量子化DWT係数が変化しないためである。
【0058】
したがって、信頼度換算手段904では、上記の検証結果から、最も高い信頼度ではないが、中程度の信頼度に換算することが可能である。
信頼度表示手段905では、既に述べたように信頼度のレベルを表示してもよいし、「再圧縮された可能性があるが、画像の内容は改竄されていない」等のメッセージを画像ファイルの検証者に表示してもよい。
以上、マルチレベルロバストディジタル署名データが付加された画像データを再圧縮した場合の原本性の検証について説明した。
【0059】
JPEG2000では、離散ウェーブレット変換の性質を利用し、SNRスケーラビリティ(荒い画質の画像から高精細の画像を保持する機能)や空間的スケーラビリティ(低解像度の画像から高解像度の画像を保持する機能)等の機能が実現可能である。
従って、以下に述べるように、再圧縮画像に対する信頼性の判定だけでなく、縮小画像に対する信頼性の判定を行うことが出来る。
【0060】
以下、縮小画像に対する信頼性の判定を行う場合について述べる。
JPEG2000の空間的スケーラビリティの機能を利用する場合、図14に示す原画像1401は量子化されない全てのDWT係数から、1/4の縮小画像1402は、1301の黒枠内部のDWT係数から、1/16の縮小画像1403は、1302の黒枠内部のDWT係数からを復元することが出来ることが知られている。(量子化を行わず、可逆の離散ウェーブレットフィルタを用いる必要がある。)
【0061】
従って、量子化テーブル1301の黒枠内に相当する位置のDWT係数からロバストディジタル署名データを計算した場合、署名画像の1/4の縮小画像の信頼性判定に用いることが出来る。同様に、量子化テーブル1302の黒枠内に相当する位置のDWT係数から計算されたロバストディジタル署名データは、署名画像の1/16の縮小画像の信頼性判定に用いることが出来る。
【0062】
上述のように、マルチレベルロバストディジタル署名を用いれば、ディジタル署名されたディジタルデータだけしか信頼性判定が出来ないという従来の課題を大きく克服し、縮小画像に対しても信頼性の判定が可能になる。
これにより、ディジタル署名されたディジタルデータ自体を提示せずに、縮小画像を用いて、ディジタルデータの原本性の検証を実現することが出来、ディジタル署名されたディジタルデータの用途を大きく広げることが可能となる。
また、非損失(ロスレス)で圧縮されたJPEG2000圧縮符号化画像に対してもマルチレベルロバストディジタル署名の付加・検証が可能である。
【0063】
上記のロスレス圧縮の場合、量子化テーブル1300が量子化を行わないテーブルであり、量子化テーブル1301、1302は黒枠内で量子化を行わない量子化テーブルとなる。
この場合でも今まで述べてきたのと同様に、マルチレベルロバストディジタル署名を用い、画像の検証が可能であることはいうまでもない。
【0064】
また、JPEG2000では、エントロピ符号化において、サブバンド毎の下位ビットプレーンを切り落とす形での量子化を行うことも可能であるが、本実施の形態のマルチレベルロバストディジタル署名付加・検証装置は、上述のエントロピ符号化における量子化にも対応することが可能である。
また、グレースケール画像への変換を想定する場合、ロバストディジタル署名生成手段では、特徴量抽出手段で輝度信号の量子化DWT係数のみを抽出し、ロバストディジタル署名データを生成してもよい。
【0065】
また、本実施の形態では、量子化後のDWT係数に対し、ディジタル署名を計算する場合について詳しく述べたが、可逆の離散ウェーブレットフィルタを用いるならば、離散ウェーブレット変換前の画素値、離散ウェーブレット変換部1002後のDWT係数を用いてもよい。
また、JPEG2000では、サブバンド単位やビットプレーン単位でエントロピ符号化が行われるため、符号化データから容易に縮小画像を抽出することも可能である。
従って、エントロピ符号化後の符号化データに対して、ディジタル署名データ(ロバストディジタル署名データ)を計算してもよい。
【0066】
以上のように、本実施の形態では、画像特徴に基づいた複数のディジタル署名を用いて、画像の信頼性を段階的にチェックできる。
本実施の形態で述べた技術を用いれば、従来では対応することが難しかった画像の再圧縮や縮小画像、グレースケールへの変換画像からも、原本性の判定を行うことが可能である。
なお、JPEG2000圧縮符号化画像における、エントロピ符号化後の符号化データに対する、ディジタル署名データ(ロバストディジタル署名データ)の生成方法については第5の実施形態で詳しく述べる。
【0067】
<第2の実施形態>
第1の実施形態では、JPEG2000圧縮符号化画像に対するマルチレベルロバストディジタル署名付加、検証について説明を行ったが、現在の画像圧縮技術の標準であるJPEGに於いても同様にマルチレベルロバストディジタル署名付加、検証を実現することが可能である。
【0068】
まず初めにJPEG圧縮方式の概要について簡単に説明を行う。
JPEG画像符号化装置のブロック図を図15の上段に示す。まず画像入力部1501に対して符号化対象となる画像を構成する画素信号が、最小符号化単位ごとに入力され、その出力は離散コサイン変換部1502に入力される。
離散コサイン変換部1502は、入力した画像信号に対して、2次元離散コサイン変換処理を行い、離散コサイン変換係数を計算して出力する。
離散コサイン変換の詳細は公知であるのでここでは説明を省略する。
【0069】
次に量子化部1503は、入力した係数を量子化テーブルに基づいて量子化し、その量子化値に対するインデックスを出力する。量子化テーブルは、画質と圧縮率を決める要素である。
量子化部1503に入力された変換係数は、DC成分は差分を計算した上で、ジグザグ・スキャンされ、後続のエントロピ符号化部1504に出力される。
エントロピ符号化部1504では、符号化テーブルに従い、入力された量子化後の離散コサイン変換係数を符号化し、コードストリームを出力する。符号出力部1505は、そのコードストリームを含む符号列を伝送路を介して符号入力部1506へ出力可能である。
【0070】
次に以上述べた画像符号化装置によるビットストリームを復号化する方法について説明する。図15の下段は画像復号化装置の構成を表すブロック図であり、1506が符号入力部、1507はエントロピ復号化部、1508は逆量子化部、1509は逆離散コサイン変換部、1510は画像出力部である。
符号入力部1506は符号列を入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、あるいは後続の処理ユニットに対して該当するパラメータを送出するものである。また、符号列に含まれるビットストリームはエントロピ復号化部1507に出力される。
【0071】
エントロピ復号化部1507はビットストリームを復号化し、出力する。復元された量子化インデックスは逆量子化器1508に出力される。
逆量子化器1508は入力した量子化インデックスおよびヘッダから読み込まれた量子化テーブル1511から、離散コサイン変換係数を復元する。変換係数は後続の逆離散コサイン変換部1509に出力される。
逆離散コサイン変換部1509では、2次元の逆離散コサイン変換を実行し、変換係数から最小符号化単位の原画像の信号を復元する。
原画像を構成する全ての最小符号化単位について上記の処理を行い、原画像全体を復元する。画像出力部1510は、復元された画像信号を出力する。
以下、離散コサイン変換をDCTと略して用いる。
本実施の形態では、ブロック単位画像はJPEG圧縮における最小符号化単位に相当し、ロバストディジタル署名生成手段400内の特徴量算出手段402における特徴量の算出は、JPEG圧縮における量子化後のDCT係数を用いる。
【0072】
図16は本実施の形態で用いるJPEG圧縮における量子化テーブルである。(量子化テーブルの係数値は省略してある)
量子化テーブル1600は、マルチレベルロバストディジタル署名を付加する前に、画像の圧縮に用いられた量子化テーブルである。
量子化テーブル1601、1602は、それぞれ、中圧縮、高圧縮(低画質)を実現するための量子化テーブルであり、量子化テーブル1601および1602の黒枠で囲まれた部分の量子化ステップは、量子化テーブル1600の量子化ステップと同一の値であるとする。
本実施の形態では、ロバストディジタル署名生成手段400の特徴量算出手段401では、署名対象のJPEG圧縮画像で圧縮に用いられた量子化テーブルと所定の領域で共通の量子化ステップを持つ量子化テーブルの対応する位置にある量子化後のDCT係数を抽出する。そして、後段のディジタル署名生成手段402では、前記所定領域の量子化後のDCT係数を処理し、ディジタル署名を生成する。
【0073】
以下、マルチレベルロバストディジタル署名付加装置の処理を具体的に説明する。
量子化テーブル1600で量子化されたJPEG圧縮画像ファイルBに対し、マルチレベルロバストディジタル署名生成手段800を用いて、ディジタル署名データを計算する。
まず、ディジタル署名生成手段801では、空間におけるブロック単位画像(またはブロック単位画像のJPEG圧縮過程のDCT係数全体)を処理し、ディジタル署名データ0を生成する。
次に、第1ロバストディジタル署名生成手段802では、JPEG圧縮画像ファイルBの量子化DCT係数の内、量子化テーブル1601の黒枠内に対応する量子化DCT係数を処理し、ディジタル署名データ1を生成する。
次に、第2ロバストディジタル署名生成手段803では、JPEG圧縮画像ファイルBの量子化DCT係数の内、量子化テーブル1602の黒枠内に対応する量子化DCT係数を処理し、ディジタル署名データ2を生成する。
【0074】
上記のディジタル署名データ0、1、2は画像ファイルの所定の位置に追加され、署名が付加された画像ファイルB'が得られる。
次に、ディジタル署名が付加された画像ファイルB'に対し、量子化テーブル1603を用いて再圧縮することを考える。この圧縮は、画像内容を大きく変更(改竄)する変更ではない。
量子化テーブル1603の黒枠内の量子化ステップは、量子化テーブル1600の対応する位置の量子化ステップと同一の値である。
再圧縮の結果、圧縮された画像ファイルB''が生成されるが、画像ファイルB'の所定位置に付加されたマルチレベルロバストディジタル署名は画像ファイルB''に引き継がれるとする。
次に、量子化テーブル1603を用いて再圧縮された画像ファイルB''に対して、図9のマルチレベルロバストディジタル署名検証装置を用いて、検証を行う。
【0075】
ディジタル署名検証手段901内部において、ブロック単位画像から計算されるハッシュ値とファイルの所定位置から読み込まれるディジタル署名から計算されるハッシュ値は、異なる値を取る。
なぜなら、再圧縮で用いる量子化テーブルと再圧縮前の対応する位置の量子化ステップが異なる値を取り、量子化後のDCT係数が変化するためである。
【0076】
第1ロバストディジタル署名生成手段902内部において、ブロック単位画像から計算されるハッシュ値とファイルの所定位置から読み込まれるディジタル署名から計算されるハッシュ値は再圧縮によっても変化しない。
なぜなら、量子化テーブル1601の黒枠内の量子化ステップは再圧縮前の対応する位置の量子化ステップと同一となり、量子化DCT係数が変化しないためである。
【0077】
第2ロバストディジタル署名生成手段903内部において、ブロック単位画像から計算されるハッシュ値とファイルの所定位置から読み込まれるディジタル署名から計算されるハッシュ値は再圧縮によっても変化しない。
なぜなら、量子化テーブル1602の黒枠内の量子化ステップは再圧縮前の対応する位置の量子化ステップと同一となり、量子化DCT係数が変化しないためである。
【0078】
したがって、信頼度換算手段904では、上記の検証結果から、最も高い信頼度ではないが、中程度の信頼度に換算することが可能である。
信頼度表示手段905では、既に述べたように信頼度のレベルを表示してもよいし、「再圧縮された可能性があるが、画像の内容は改竄されていない」等のメッセージを画像ファイルの検証者に表示してもよい。
【0079】
以降、本実施の形態における注意点について述べる。
JPEGの基本方式におけるDCTは完全な可逆ではない。従って、圧縮された画像のDCT係数を逆DCTして空間画像に戻し、再びDCTして得られるDCT係数は、元のDCT係数と必ずしも同一になるとは限らない。
従って、本実施の形態においては、再圧縮にあたって、以下の2つの手法を利用するとよい。(1)再圧縮前のJPEG圧縮符号化データから逆量子化により量子化前のDCT係数を計算し、再び新しい量子化テーブルで再量子化し、量子化後のDCT係数を得る。(DCTと逆DCTを用いない)(2)完全に可逆のDCTを用いる。
上記は、第1の実施形態において不可逆の離散ウェーブレットフィルタを用いる場合も同様である。
【0080】
<第3の実施形態>
第1、2の実施形態ではマルチレベルロバストディジタル署名が施された画像に対して、圧縮や縮小画像の抽出を行った場合のマルチレベルロバストディジタル署名の検証について述べた。
第3の実施形態では、画像にγ補正を加えた場合にも原本性の検証が可能なマルチレベルロバストディジタル署名生成手段について述べる。
【0081】
第3の実施形態では、ロバストディジタル署名生成手段400内の特徴量算出手段401として、図17の1700に示す特徴量算出手段を用いる。
特徴量算出手段1700は、微分フィルタ1701と量子化手段1702から成る。
まず特徴量算出手段1700に入力されたブロック単位画像は、微分フィルタ1701で処理される。微分フィルタは、周囲の画素値との差分を計算するラプラシアンフィルタに代表されるようなフィルタである。微分フィルタ1701は処理結果の微分画像を後段の量子化手段1702に出力する。
次に、量子化手段1702では、前段で得られたエッジ強調された微分画像を量子化し、画像特徴量を出力する。
【0082】
以下、図18を用いて、第3の実施形態におけるロバストディジタル署名生成手段400における内部処理を説明する。
画像1800はロバストディジタル署名データを計算する対象の画像であり、画像1800に対してγ補正を行い、画像特徴を把握しやすくした画像が画像1801である。
画像1800と1801の画素値と空間的位置の関係を一次元でそれぞれ破線、実線で簡潔に示したグラフを1804に示す。1804では、画像1800は画素値の変化が少なく画像特徴が把握しにくいことを示している。
【0083】
次に、画像1800および画像1801に対し、微分フィルタを実行した結果の画像をそれぞれ、1802、1803に示す。微分フィルタの結果、画素値の変化が大きな箇所が強調されていることが分かる。
次に、微分画像1802と微分画像1803の微分値と空間的位置の関係を一次元でそれぞれ破線、実線で簡潔に示したグラフを1805に示す。微分画像1803のほうが、大きな微分値を持っている。
最後に、1805に対し、適当な量子化パラメータを用いて量子化を行うと、同一の量子化データを得ることが可能であることが分かる。
すなわち、画像1800に対してγ補正した画像1801に対しても変化しないようなロバストディジタル署名を生成することは可能である。
特徴量算出手段1700を用いてマルチレベルロバストディジタル署名を生成する場合には、第1、第2の実施形態と同じく、量子化手段で用いる量子化パラメータをロバストディジタル署名生成手段ごと異ならせてもよい。
上記のような構成をとれば、γ補正を施した画像に対しても、マルチレベルロバストディジタル署名により、画像データの原本性や改竄の有無を検証することが可能となる。
【0084】
<第4の実施形態>
第4の実施形態では、マルチレベルロバストディジタル署名データが付加された画像データに対し、原本性の維持が可能な加工編集を行う画像編集ソフトウェアについて述べる。
【0085】
図19は、マルチレベルロバストディジタル署名が施されたJPEGおよびJPEG2000圧縮符号化画像に対し、加工・編集するアプリケーションの動作を示した図である。
アプリケーションは、ユーザから加工・編集の指示があるとステップ1901に移り、以下の処理を実行する。ステップ1902で画像ファイルの所定位置にマルチレベルロバストディジタル署名データがあることを認識し、マルチレベルロバストディジタル署名データを読み込む。次にステップ1903で原本性を維持し、画像の加工・編集を行うかユーザに確認する。原本性を維持する場合にはステップ1904に進み、画像ファイルの所定位置から量子化テーブルを読み出す。このとき更に、ロバストディジタル署名生成に用いられた他の量子化テーブルも読み出す。
【0086】
これは、マルチレベルロバストディジタル署名が施された圧縮符号化画像を署名を維持したまま再圧縮(縮小)するためには、ロバストディジタル署名が変化しない範囲を知る必要があるためである。
次にステップ1905でアプリケーションは署名を失わないと考えられる量子化テーブルを決定する。
次にステップ1906では決定した署名を失わない量子化テーブルをユーザに確認する。
次にステップ1907では決定した量子化テーブルに基づいて再圧縮(または縮小)を行う。その後、ステップ1908へ進む。
【0087】
ステップ1903でディジタル署名を維持しない場合には、ステップ1909に進みユーザ指定のパラメータを入力する。次にステップ1910に進みユーザ指定のパラメータで再圧縮(または縮小)を行う。
【0088】
次に、ステップ1908では署名を確認し、マルチレベルロバストディジタル署名が依然として維持されているか検証し、結果を表示する。
最後に、ステップ1911で、新しい画像ファイルの所定の位置に、マルチレベルロバストディジタル署名データを付加する。
ここで、ステップ1911におけるマルチレベルロバストディジタル署名データには、幾つか方法が考えられる。
例えば、画像ファイルの再圧縮であれば、再圧縮前のマルチレベルロバストディジタル署名データをそのまま、再圧縮後の画像ファイルの所定位置に引き継ぐとよい。
この場合、マルチレベルロバストディジタル署名データの特性を生かして、信頼度のレベルを段階的に判定することが出来る。
【0089】
また、一方で、図14に示されるような縮小画像1402、1403を得るために本実施の形態の画像編集ソフトウェアを用いる場合には、マルチレベルロバストディジタル署名データの中から、縮小画像に相当するロバストディジタル署名データのみを編集後の画像ファイルの所定位置に引き継ぐ形をとっても良いし、縮小画像に相当するロバストディジタル署名データとそれ以下の縮小画像のロバストディジタル署名データを引き継ぐ形をとっても良い。
この場合、信頼度のレベルを段階的に判定することは出来なくなるが、縮小画像データの原本性の検証を確認する目的には、十分有効で、画像編集前の全てのマルチレベルロバストディジタル署名データを引き継ぐ必要はないと考えられる。
【0090】
また、本実施の形態の画像編集ソフトウェアでは、変更後のマルチレベルロバストディジタル署名データ付きのディジタルファイルに、署名を維持する為の変更を行ったことを示すコメントやフラグ、変更の内容をファイルの所定位置に挿入してもよい。
また、コメントには、変更前のマルチレベルロバストディジタル署名データが存在するネットワーク上のアドレス(URL等)を記載してもよい。
コメントは検証者にマルチレベルロバストディジタル署名の変更前のデータが存在することを明示する効果があり、検証者は必要に応じて、高精細なマルチレベルロバストディジタル署名付きのデータ等を入手することも可能になる。
【0091】
<第5の実施形態>
第1の実施形態では、JPEG2000圧縮符号化画像の量子化後のDWT係数を入力してロバストディジタル署名データを生成する場合について詳しく述べたが、本実施形態ではJPEG2000圧縮符号化画像の符号化データを入力して、ロバストディジタル署名データを生成する場合について詳しく述べる。
【0092】
図21はJPEG2000における空間スケーラブル/ROIなしの符号列の構成を表した概略図である。同図(a)は符号列の全体の構成を示したものであり、MHはメインヘッダ、THはタイルヘッダ、BSはビットストリームである。メインヘッダMHは同図(b)に示すように、符号化対象となる画像のサイズ(水平および垂直方向の画素数)、画像を複数の矩形領域であるタイルに分割した際のサイズ、各色成分数を表すコンポーネント数、各成分の大きさ、ビット精度を表すコンポーネント情報から構成されている。
【0093】
次にタイルヘッダTHの構成を図6(c)に示す。タイルヘッダTHには当該タイルのビットストリーム長とヘッダ長を含めたタイル長および当該タイルに対する符号化パラメータから構成される。符号化パラメータには離散ウェーブレット変換のレベル、フィルタの種別等が含まれている。
【0094】
ビットストリームの構成を同図(d)に示す。同図において、ビットストリームは各サブバンド毎にまとめられ、解像度の小さいサブバンドを先頭として順次解像度が高くなる順番に配置されている。さらに、各サブバンド内は上位ビットプレーンから下位ビットプレーンに向かい、ビットプレーンを単位として符号が配列されている。上記符号配列とすることにより、空間的に解像度が上昇する階層的復号化を行うことが可能となる。
【0095】
実際には上述のビットストリームは、パケット単位で構成されている。パケットとは、各色における各レイヤーにおける各サブバンドレベルにおける各プリシンクトにより分けられたコーディングパスの集合であり、このパケットを単位としてビットストリーム(タイル符号化データ)が構成されている。
【0096】
ここで、コードブロック、コーディングパス、レイヤー、プリシンクトについて簡単に述べる。コードブロックは、各サブバンドを矩形に分割した符号化の単位である。コーディングパスは、ビットプレーンをエントロピ符号化(2値算術符号化)する際の単位である。レイヤーはサブバンドを横断した、1つ以上のコードブロックに所属するコーディングパスの集合である。プリシンクトは原画像中の同一領域を保持するデータの集合である。JPEG2000の圧縮符号化方式は既によく知られており、ここでは詳しい説明を省く。
【0097】
JPEG2000圧縮符号化データでは、メインヘッダやタイルヘッダ等に存在するパケットのサイズを記述したパケットヘッダを調べることで、エントロピ符号化されたデータ中のLL、HH2、HH1に相当するパケットのデータ領域を特定することが出来る。従って、タイル毎のビットストリーム中のLLの符号化データ、LL〜HH2までの符号化データ、LL〜HH1までの符号化データに対し、それぞれディジタル署名データを生成すれば、高速に1/16の縮小画像、1/4の縮小画像、フルサイズ画像に対するマルチレベルロバストディジタル署名を生成することが出来る。
【0098】
この場合、エントロピ符号化の方法が変化すると画像内容が変わっていないにも関わらず、ロバストディジタル署名データが変化し改竄と判定されるというデメリットもあるが、PCに比べてCPUが非力なディジタルカメラ/デジタルビデオカメラでも、高速にマルチレベルロバストディジタル署名データを生成できるというメリットがある。
生成されたマルチレベルロバストディジタル署名データは、該当するタイル位置やサブバンド等の情報とともにファイルの所定位置に付加される。
【0099】
本実施の形態では、符号化データが空間スケーラブルで配列されている場合について述べたが、同様に、SNRスケーラブル等でもマルチレベルロバストディジタル署名データを生成することが可能である。
また、JPEG2000圧縮符号化データの特性を生かし、縮小画像に対してだけでなく、それぞれの縮小画像の輝度に対してもマルチレベルロバストディジタル署名データを生成することも可能である。
また、パケットヘッダを解析することにより、符号化データがSNRスケーラブルで配列されている場合にも、1/16の縮小画像、1/4の縮小画像、フルサイズ画像のマルチレベルロバストディジタル署名データを生成することも可能であり、またその逆も可能である。
【0100】
以上、第1、第2、第3、第4、第5の実施形態では、ディジタル画像データに対するマルチレベルロバストディジタル署名の付加・検証について述べてきた。
しかし、本実施形態はマルチレベルロバストディジタル署名の付加・検証対象をディジタル画像データに限定するものではない。
動画像データは2次元画像データを時間方向に集めたものとして考えられるため、本実施形態の原理を適用することが可能である。
また、音声データについても、2次元画像データの処理を1次元に置き換えることで、マルチロバストディジタル署名データの付加・検証を適用することが出来る。
【0101】
図20は、本実施形態による情報処理装置においてマルチレベルロバストディジタル署名の検証を行うためのコンピュータの構成を示すブロック図である。図20において、本装置の構成要素であるCPU2011、RAM2012、ROM2013、ディスプレイ制御部2014、デバイスキーボードやマウスなどの操作入力デバイスの接続I/O2017、外部記憶装置の接続I/O2019、ディジタルカメラ・ディジタルビデオカメラ・イメージスキャナなどの画像入力機器との接続I/O2022、他のコンピュータシステムとのインタフェース部2023はバス2020に接続されている。
【0102】
また、ディジタルカメラ2021は、通信ケーブル2003を介して、画像入力機器との接続I/O2022に接続している。さらに、ディスプレイ2015はディスプレイ制御部2014に接続している。さらにまた、キーボードやマウスなどの操作入力部2016は、操作入力デバイスの接続I/O2017に接続している。さらにまた、ハードディスク装置などの外部記憶装置2018は、外部記憶装置の接続I/O2019に接続している。
【0103】
第1、第2、第3、第4、第5の実施形態で説明されたマルチレベルロバストディジタル署名の検証を行うための情報処理装置は、コンピュータ実行可能なプログラムとして、あらかじめROM2013に格納しておき、プログラムをRAM2012上の読み込んだ後に、あるいは、あらかじめ外部記憶装置2019に格納されているプログラムをRAM2012上の読み込んだ後に、あるいはネットワークなどの通信手段とのインタフェース部2023を通じてプログラムをダウンロードし、RAM2012上の読み込んだ後に、CPU2011により該プログラムを実行することにより本実施形態を実施する。
【0104】
マルチレベルロバストディジタル署名の検証を行う対象が画像の場合、ディジタルカメラ2021、あるいは、ディジタルカメラに代わるディジタルビデオカメラ等の入力機器を用いて入力される。そして、入力画像は、接続I/O2022を通じて、RAM2012内部に蓄積されるか、あるいは、外部記憶装置2018を通じて、接続I/O2019を通じて、RAM2012内部に蓄積されるか、あるいはネットワークなどの通信手段2023を通じて、RAM2012内部に蓄積される。
【0105】
マルチレベルロバストディジタル署名の検証を行う対象が音声信号の場合、図20におけるディジタルカメラ2021に代わるマイク等の音声入力機器を用いて入力される。入力音声は、接続I/O2022を通じて、RAM2012内部に蓄積されるか、あるいは、外部記憶装置2018を通じて、接続I/O2019を通じて、RAM2012内部に蓄積されるか、あるいはネットワークなどの通信手段2023を通じて、RAM2012内部に蓄積される。
【0106】
マルチレベルロバストディジタル署名の検証を行う対象が動画像データの場合、図20におけるディジタルカメラ2021に代わるディジタルビデオカメラ等の入力機器を用いて入力される。入力された動画像は、接続I/O2022を通じて、RAM2012内部に蓄積されるか、あるいは、外部記憶装置2018から接続I/O2019を通じて、RAM2012内部に蓄積されるか、あるいはネットワークなどの通信手段2023を通じて、RAM2012内部に蓄積される。尚、マルチレベルロバストディジタル署名の検証は、キーボード&マウス2016あるいは、ネットワークなどの通信手段2023からの入力を通じて制御される。
【0107】
本実施形態による情報処理装置においてマルチレベルロバストディジタル署名の生成・付加は、ディジタルカメラ・ディジタルビデオカメラ2021内部で、専用のハードウェア回路を用いてディジタルデータの撮影直後に行ってもよい。
または、ディジタルカメラ・ディジタルビデオカメラ2021内部の図20と類似の構成を持つコンピュータでマルチレベルロバストディジタル署名の生成・付加を行ってもよい。
尚、本実施形態は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置等)に適用してもよい。
【0108】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本実施形態を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0109】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本実施形態を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【0110】
本実施形態によれば、ディジタルデータから、複数の異なる特徴量を算出し、前記特徴量からディジタル署名を生成し、前記ディジタルデータを格納するファイルの所定位置に前記ディジタル署名データを付加し、ディジタルデータの内容が本質的に変化しない加工編集には、原本性を証明することを可能にし、ディジタル署名が付加されたディジタルファイルの利便性を高める。
【0111】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0112】
【発明の効果】
以上説明したように、本発明によれば、ディジタルデータから、複数の異なる特徴量を算出し、前記特徴量からディジタル署名を生成する。また、前記ディジタルデータを格納するファイルの所定位置に前記ディジタル署名データを付加する。これにより、ディジタルデータの内容が本質的に変化しない加工編集には、原本性を証明することが可能になり、ディジタル署名が付加されたディジタルファイルの利便性を高めることができる。
【図面の簡単な説明】
【図1】ディジタル署名生成手段の内部処理を表すブロック図である。
【図2】ディジタル署名検証装置の内部処理を表すブロック図である。
【図3】ディジタルデータの一例を示す画像データを示す図である。
【図4】ロバストディジタル署名生成手段の内部処理を表すブロック図である。
【図5】ロバストディジタル署名付加装置の内部処理を表すブロック図である。
【図6】ロバストディジタル署名検証装置の内部処理を表すブロック図である。
【図7】マルチレベルロバストディジタル署名付加装置の内部処理を表すブロック図である。
【図8】マルチレベルロバストディジタル署名生成手段の内部処理を表すブロック図である。
【図9】マルチレベルロバストディジタル署名検証装置の内部処理を表すブロック図である。
【図10】図9の信頼度表示手段の表示結果の一例を示した図である。
【図11】JPEG2000の画像圧縮符号化・伸張復号化の内部処理を示すブロック図である。
【図12】離散ウェーブレット変換の結果を表す図である。
【図13】図11の量子化部で用いる量子化テーブルの一例を示した図である。
【図14】JPEG2000の空間的スケーラビリティを表す図である。
【図15】JPEGの画像圧縮符号化・伸張復号化の内部処理を示すブロック図である。
【図16】図16の量子化部で用いる量子化テーブルの一例を示した図である。
【図17】第3の実施形態における特徴量算出手段の内部構成を示すブロック図である。
【図18】第3の実施形態における特徴量算出手段の処理を説明するための図である。
【図19】第4の実施形態における画像編集ソフトウェアの処理を説明するためのフローチャートである。
【図20】コンピュータの内部構成を示す図である。
【図21】JPEG2000における空間スケーラブル/ROIなしの符号列の構成を表した概略図である。
【符号の説明】
400 ロバストディジタル署名生成手段
401 特徴量算出手段
402 ディジタル署名生成手段
800 マルチレベルロバストディジタル署名生成手段
801 ディジタル署名生成手段
802 第1ロバストディジタル署名生成手段
803 第2ロバストディジタル署名生成手段
Claims (14)
- ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、
前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、
前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、
前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値から得られることを特徴とする情報処理装置。 - ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、
前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、
前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、
前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値から得られることを特徴とする情報処理装置。 - ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、
前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、
前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、
前記異なる特徴量は、前記ディジタルデータを圧縮符号化した符号化データから得られることを特徴とする情報処理装置。 - ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置であって、
前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成手段と、
前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加手段とを備え、
前記異なる特徴量は、前記ディジタルデータを微分した微分ディジタルデータの量子化値から得られることを特徴とする情報処理装置。 - 前記所定の演算は、ハッシュ関数及び公開鍵暗号方式における秘密鍵を用いた演算であることを特徴とする請求項1〜4の何れか1項に記載の情報処理装置。
- ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、
前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、
前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、
前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、
前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、
前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、
前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、
前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値から得られることを特徴とする情報処理装置。 - ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、
前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、
前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、
前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、
前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、
前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、
前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、
前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値から得られることを特徴とする情報処理装置。 - ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、
前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、
前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、
前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、
前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、
前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、
前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、
前記異なる特徴量は、前記ディジタルデータを圧縮符号化した符号化データから得られることを特徴とする情報処理装置。 - ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置であって、
前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力手段と、
前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成手段と、
前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成手段と、
前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算手段と、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出手段と、
前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算手段と、
前記第1のハッシュ生成手段が生成したハッシュデータと前記第1のハッシュ計算手段が生成したハッシュデータとの比較、及び前記第2のハッシュ生成手段が生成した特徴量ハッシュデータと前記第2のハッシュ計算手段が生成した特徴量ハッシュデータとの比較を行う比較手段と、
前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力手段とを備え、
前記異なる特徴量は、前記ディジタルデータを微分した微分ディジタルデータの量子化値から得られることを特徴とする情報処理装置。 - 前記所定の演算は、公開鍵暗号方式における公開鍵を用いた演算であることを特徴とする請求項6〜9の何れか1項に記載の情報処理装置。
- ディジタルデータの原本性及び改竄のレベルを検証するためにディジタルデータから署名データと複数の特徴量署名データとを生成するための情報処理装置の情報処理方法であって、
前記ディジタルデータに対して、所定の演算を行うことで、署名データを生成する署名データ生成ステップと、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出ステップと、
前記複数の異なる特徴量それぞれに対して、前記所定の演算を行うことで、複数の特徴量署名データを生成する特徴量署名データ生成ステップと、
前記署名データと、前記複数の特徴量署名データとを前記ディジタルデータに付加する付加ステップとを備え、
前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値、前記ディジタルデータを圧縮符号化した符号化データ、前記ディジタルデータを微分した微分ディジタルデータの量子化値の何れかから得られることを特徴とする情報処理方法。 - ディジタルデータの原本性及び改竄のレベルを検証するための情報処理装置の情報処理方法であって、
前記ディジタルデータと、前記ディジタルデータに対する署名データと、前記ディジタルデータの異なる複数の特徴量に対してそれぞれ生成された複数の特徴量署名データとを入力する入力ステップと、
前記署名データに対して、所定の演算を行い、ハッシュデータを生成する第1のハッシュ生成ステップと、
前記複数の特徴量署名データそれぞれに対して、前記所定の演算を行い、複数の特徴量ハッシュデータを生成する第2のハッシュ生成ステップと、
前記入力されたディジタルデータから、ハッシュ関数を用いて、ハッシュデータを計算する第1のハッシュ計算ステップと、
前記ディジタルデータから、複数の異なる特徴量を算出する特徴量算出ステップと、
前記複数の異なる特徴量それぞれから、ハッシュ関数を用いて、複数の特徴量ハッシュデータを計算する第2のハッシュ計算ステップと、
前記第1のハッシュ生成ステップで生成したハッシュデータと前記第1のハッシュ計算ステップで生成したハッシュデータとの比較、及び前記第2のハッシュ生成ステップで生成した特徴量ハッシュデータと前記第2のハッシュ計算ステップで生成した特徴量ハッシュデータとの比較を行う比較ステップと、
前記比較の結果に基づき、前記ディジタルデータの原本性及び改竄のレベルを出力する出力ステップとを備え、
前記異なる特徴量は、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の係数値、前記ディジタルデータを周波数変換した周波数係数の異なる周波数帯域の量子化値、前記ディジタルデータを圧縮符号化した符号化データ、前記ディジタルデータを微分した微分ディジタルデータの量子化値の何れかから得られることを特徴とする情報処理方法。 - 請求項11又は12に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラム。
- 請求項13に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002104068A JP4454908B2 (ja) | 2002-04-05 | 2002-04-05 | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
US10/366,313 US7194630B2 (en) | 2002-02-27 | 2003-02-14 | Information processing apparatus, information processing system, information processing method, storage medium and program |
US11/550,919 US8055900B2 (en) | 2002-02-27 | 2006-10-19 | Information processing apparatus, information processing system, information processing method, storage medium and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002104068A JP4454908B2 (ja) | 2002-04-05 | 2002-04-05 | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003298579A JP2003298579A (ja) | 2003-10-17 |
JP2003298579A5 JP2003298579A5 (ja) | 2005-09-15 |
JP4454908B2 true JP4454908B2 (ja) | 2010-04-21 |
Family
ID=29389524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002104068A Expired - Fee Related JP4454908B2 (ja) | 2002-02-27 | 2002-04-05 | 情報処理装置、情報処理方法、プログラム及び記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4454908B2 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004054549B3 (de) | 2004-11-11 | 2006-05-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Detektieren einer Manipulation eines Informationssignals |
JP2006235885A (ja) * | 2005-02-23 | 2006-09-07 | Ricoh Co Ltd | 文書電子化方法、文書電子化装置及び文書電子化プログラム |
JP4765482B2 (ja) * | 2005-08-25 | 2011-09-07 | 富士ゼロックス株式会社 | 文書管理システム、文書管理プログラム及び文書管理方法 |
JP4659721B2 (ja) * | 2006-11-09 | 2011-03-30 | キヤノン株式会社 | コンテンツ編集装置及びコンテンツ検証装置 |
JP4765990B2 (ja) * | 2007-04-16 | 2011-09-07 | 日本ビクター株式会社 | デジタルコンテンツデータの管理システム、管理方法及び利用装置 |
JP5315892B2 (ja) * | 2008-09-24 | 2013-10-16 | 富士ゼロックス株式会社 | 真正性検証システム、真正性検証装置、および真正性検証プログラム |
JP4958868B2 (ja) * | 2008-09-25 | 2012-06-20 | 株式会社日立製作所 | 文書特徴量抽出装置及び方法 |
JP5350148B2 (ja) | 2008-11-28 | 2013-11-27 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP4999877B2 (ja) * | 2009-04-13 | 2012-08-15 | 日本電信電話株式会社 | 改ざん検出用認証符号埋め込み方法および装置並びにそのプログラム、改ざん検出方法および装置並びにそのプログラム |
JP5408113B2 (ja) * | 2010-11-24 | 2014-02-05 | 富士通株式会社 | 電子画像データ検証プログラム、電子画像データ検証方法及び電子画像データ検証装置 |
JP5229372B2 (ja) * | 2011-10-04 | 2013-07-03 | 株式会社ニコン | 検証プログラム |
US9495546B2 (en) * | 2013-12-31 | 2016-11-15 | Vasco Data Security, Inc. | Electronic signing methods, systems, and apparatus |
JP7063760B2 (ja) * | 2018-07-27 | 2022-05-09 | 株式会社ダイヘン | 移動体 |
CN114270776A (zh) * | 2019-08-30 | 2022-04-01 | 索尼集团公司 | 成像设备、图像数据处理方法以及程序 |
CN117597885A (zh) * | 2021-07-07 | 2024-02-23 | 索尼半导体解决方案公司 | 散列生成设备、散列确定设备和系统 |
-
2002
- 2002-04-05 JP JP2002104068A patent/JP4454908B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003298579A (ja) | 2003-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8055900B2 (en) | Information processing apparatus, information processing system, information processing method, storage medium and program | |
Lin et al. | Issues and solutions for authenticating MPEG video | |
US7167988B2 (en) | Information processing method and information processing apparatus | |
US6275599B1 (en) | Compressed image authentication and verification | |
Lin et al. | A robust image authentication method distinguishing JPEG compression from malicious manipulation | |
JP4728104B2 (ja) | 電子画像の真正性保証方法および電子データ公開システム | |
US7360093B2 (en) | System and method for authentication of JPEG image data | |
JP4454908B2 (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
US7313696B2 (en) | Method for authentication of JPEG image data | |
US7451317B2 (en) | Apparatus for and method of embedding watermark into original information, transmitting watermarked information, and reconstructing the watermark | |
EP1518348B1 (en) | Information processing method, information processing apparatus, program, and storage medium | |
US7493489B2 (en) | System and method for authentication of JPEG image data | |
Mandal et al. | A genetic algorithm based steganography in frequency domain (GASFD) | |
Sengupta et al. | Authentication through Hough transformation generated signature on G-Let D3 Domain (AHSG) | |
US7627761B2 (en) | System for authentication of JPEG image data | |
Tran et al. | Lsb data hiding in digital media: a survey | |
Korus et al. | A scheme for censorship of sensitive image content with high-quality reconstruction ability | |
JP2007074362A (ja) | 符号化装置、復号化装置、符号化方法、復号化方法及びこれらのプログラム | |
Lee et al. | Reversible data embedding for tamper-proof watermarks | |
JP4106311B2 (ja) | 情報埋め込み装置、符号化装置、改ざん検出装置、その方法及び当該方法を実行するためのプログラムを記録した記録媒体 | |
Saikia et al. | Video authentication using temporal wavelet transform | |
Mazumder et al. | Review of different techniques used in recent steganography researches | |
JP4019961B2 (ja) | 電子透かし埋め込み方法、電子透かし埋め込みプログラム、電子透かし埋め込み装置、画像符号化方法、画像符号化装置 | |
Celik | Digital watermarking methods for authentication, tamper localization and lossless recovery | |
Liu | A novel image authentication and recovery method for applications of image sharing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050401 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080411 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090603 |
|
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: 20100126 |
|
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: 20100203 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 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: 20140212 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |