BPCS-Steganography の原理

(Bit-Plane Complexity Segmentation に基づくデータの埋込み)

 
  .

(KIT ステガノグラフィ 研究グループ)


1. 多値画像のビットプレーン分解

各画素が n ビットからなる多値画像は、n 個の2値画像の組に分解できます。例えば、n ビットの濃淡画像は、

P=(P1,P2,...,Pn).

と表記することができます。もし、赤(R)、緑(G)、青(B) から成るカラー画像であるならば、

P=(PR1,PR2,..,PRn,PG1,PG2,..,PGn,PB1,PB2,..,PBn),


と表現できます。ただし、PR1, PG1, PB1 は各色成分の最上位ビット (MSB)、 PRn, PGn, PBn は最下位ビット (LSB) を表しています。

通常、画像の各画素の色情報は「純2進数表現系(Pure Binary Code,  これをPBCと言います)」の数値として表されますが、その他の表現系を利用することもあります。例えば、正準グレイコード系(Canonical Gray Code,  これをCGC[1]と言います)を使うこともあります。 実は、CGCの方が埋込後の画像の劣化が少ないことが分かっています。PBCCGC相互変換については別のページに示しています。

自然画像のビットプレーンの「複雑さ尺度[1]」は、MSB から LSB に向かって単調増加するはずです。もし、そうでない画像があったとすれば、それは「人工的」な画像データのはずです。Fig 1. は24ビット フルカラー画像の赤の PBC ビットプレーンを例示したものです。 
 

(A color image P)

(PR3)

(PR4)

(PR6)

Fig 1. カラー画像のビットプレーン

 

2. 人の視覚特性と情報秘匿

ビットプレーンは一般に 「形状情報を有する領域」 と 「ノイズ状の領域」 に区分けすることが出来ます[2][3]。形状情報を有する領域は複雑さ尺度が小さく(すなわち、簡単な形状)、逆に、ノイズ状の領域は複雑さ尺度が大きい部分です[3]Fig 1.に関して言えば、ビットプレーン PR3  は殆どが「形状を有する」領域と見なされ、PR6 は上部を除き、全体が「ノイズ状」になっています。PR4 については、「両者が入り乱れている」状況です。

このような「複雑さによる領域分割」の尺度としては、2値画像における2値の境界線(白黒画像の場合は白黒領域の境界線)の長さに基づく尺度が適していることが知られています[3][4]。さらに、ビットプレーン上の「ノイズ状の部分」を「別のノイズ状のパタン」と置き換えても、視覚的にはその違いが知覚できない、と言うことも知られています。

Fig 2.は、左側のビットプレーン(これは Fig 1. PR6 です)の右下隅を別の四角い「ノイズパッチ」で覆っても(埋込んでも)その結果(右側のビットプレーン)には何の変化も知覚されない、ことを示しています。実は、BPCS-Steganography における埋込みは、このような視覚現象を利用したものなのです。

Fig 2. 四角いノイズパッチを PR6 埋込んだ状況

 
 
3. BPCS 方式と 従来型の埋込み方式

画像を対象とするステガノグラフィについて、従来からの埋込み方式としては次のようなものが知られています。

   A. LSB プレーンの全体に一様に秘密データを埋め込む(置き換える)方式
   B. 画像の空間周波数分解において、特定周波数部分だけを秘密データと置き換える方式
   C. 画像データのサンプリング誤差を利用した埋込み方式

しかしながら、これらは何れも「埋込み容量」が小さく、最大でも入れ物画像データの 5〜15% 程度にとどまっていました。従って、このような情報埋込み技術は、殆どすべてが「電子透かし」として応用されていました。何故なら、電子透かしでは埋込み容量はわずかで良いからです。

BPCS埋込み方式は従来方式のどれとも異なるものであり、初めて大きな埋込み容量を実現しました。BPCS方式では埋込み容量が 50% 程度になります。なお、BPCS-Steganography 技術の詳細に関しては文献[5][6] にまとめていますのでご覧ください。

4. 電子透かしとステガノグラフィ

電子透かしとは、何か価値のあるデジタルデータ(写真、音楽、ビデオ等)の著作権や所有権の証拠として、少量のデータを価値あるデータの中に埋め込む技術です。そして価値あるデータを多少改変してもその証拠データが消えないように工夫しておき、いざという時にその証拠を取り出せるようにしたものです。 この場合、価値あるデータとは「外に見える/聴こえるデータであり、埋め込まれたデータ自身はただのの証拠に過ぎません。この技術に求められるものは、埋込みの容量ではなく、埋込まれたデータの頑健さ(Robustness)です。

一方、ステガノグラフィでは大きな埋込み容量が求められます。大きければ大きいほど好ましいわけです。価値あるデータは内側に埋め込まれたデータであって、外のデータは入れ物に過ぎません。しかも、埋め込まれたデーは頑強である必要はなく、不正な取り出し作業ではすぐに壊れてしまう (fragile) 方が却って安全です。

このように、電子透かしとステガノグラフィは共に情報秘匿(Information Hiding)技術であっても、その目的、技術条件が正反対となる情報技術なのです。
 

5. 実験プログラムの作成

私達の研究グループでは、以前から BPCS-Steganography の実験プログラムを作成し、1997年からWeb上に公開してきました(名称:Digital Picture Envelope)。現在は新たに作成し機能を強化したもの (Qtech Hide & View) を別のページからダウンロード出来るようにしています。このプログラムは、本来、研究者や技術者による評価を目的として公開しているものですが、研究者以外であってもこの分野に興味がある人は試用していただいても構いません。

私達が作成した実験プログラムにおける埋込・抽出鍵(アクセスキー)は、普通のパスワードとは異なり、「鍵が違えば埋込みアルゴリズムが違う」ようにしており、一般のパスワードよりも強力である と言えます。すなわち、鍵の情報はステゴ画像にも、システムにも一切残りません。ただし、現在公開中のもの(Qtech HV v011)については 、埋込みプログラム部に "90日間の有効期限" を設定していますが、これは長期にわたる不正使用を防止するための対策です。

BPCS-Steganographyにおける埋込みアルゴリズの原理を、実際のプログラムとして実現するには、多様性のある詳細アルゴリズムを一つ一つ定めていかなければなりません。例えば、

  1.埋込むビットプレーンの順序

  2.ビットプレーン上の埋込み経路

  3.Conjugation map と呼ばれるデータの埋込み場所

  4.埋込鍵と処理操作の関連づけ

  5.ステガナリシスへの対抗策の実現方法

等々、枚挙にいとまがありません。言い換えれば、外に見える「埋込みと抽出動作」が同じであっても、それと互換性のあるプログラムを実現するのは不可能だと言えます。

 

 

6. 独自プログラム作成のために必要な知識

 

BPCS-Steganography プログラムを独自に作成してみようとする場合、原理に関する学術論文を読んで理解を深めることに加え、論文では扱っていない事柄についての基礎知識や、プログラミング技能も必要です。以下 の項目はそのようなものの例です。

  (A) "自然画像"ビットプレーン複雑さの一般的な特性(一例をここに示しています

  (B) 圧縮、非圧縮ファイルの複雑さヒストグラムの差異(一例をここに示しています

  (C) BPCS-Steganographyによる埋込み前後の複雑さヒストグラム変化の仕組み(このページを参照下さい

  (D) PBC表現された画像よりもCGC表現された画像の方がBPCS埋込みに適している根拠(ここに簡単な説明をしています

  (E) 各種画像ファイルの構造

  (F) 使いやすいプログラムを作成するためのGUI

また、独自プログラム開発には、"ビットプレーン分解・表示ツール"、 "PBC-CGC 画像相互変換ツール"、 "複雑さヒストグラム表示ツール" 等が必要となるはずです。

大学での卒業研究や修士論文テーマとして、BPCS-Steganography の implementation には様々な国の学生が取り組んでいるようですが、未だ"完成の域に達した"との報告はありません。

 

参考文献

[1] Eiji Kawaguchi, et al: Depth-First Picture Expression Viewed from Digital Picture Processing, IEEE Trans. on PAMI, Vol.PAMI-5,No.4, pp.343-384, July, 1983.

[2] Sei-ichiro Kamata, et al: Depth-First Coding for Multi-Valued Pictures Using Bit-Plane Decomposition, IEEE Trans. on CT, Vol.43,No.5, pp.1961-1969, May, 1995.

[3] Michiharu Niimi, et al: An Image Embedding in Image by a Complexity Based Region Segmentation Method, Proc. ICIP'97, Vol.3, pp.74-77, (1997-10).

[4] Koichi Nozaki, et al: A Large Capacity Steganography Using Color BMP Images, Proc. ACCV'98, pp.112-119, (1998-01).

[5] Eiji Kawaguchi, et al: A Concept of Digital Picture Envelope for Internet Communication, Preprint of the 8th European-Japanese Conference on Information Modeling and Knowledge Bases, (1998-05). (Download: 4,913KB)
 
[6] Eiji Kawaguchi, et al: Principle and applications of BPCS-Steganography, SPIE's International Symposium on Voice, Video, and Data Communications, (1998-11). (Download: 480KB)
 

Back to Home

 

(最終更新日:: 2023, 11, 07 河口英二)