Qtech Hide & View による特別な埋込み例
KITステガノグラフィ研究グループ
1.特別な埋込みとは
Qtech Hide & View による埋込処理では、入・出力ファイルとして png や bmp 形式を選択する場合 (すなわち、PBCS-Steganograpyでは)、与えられた Vessel 画像(秘密データを埋め込むための入れ物となる画像)に対して、あらかじめ幾種類かの可逆変換操作を行い、Vessel 画像を変化させ、その変化した画像に対して秘密データを埋込み、更にもう一度そのような変換操作を繰り返してステゴ画像を出力する、ということができます。
例えば、可逆変換の一例として、180度の回転操作(r)を考えてみます。 i を入力画像(Vessel画像)、s を埋込みデータ、 o を出力画像(ステゴ画像)、e を埋込み操作とします。このとき先ず i に対して r 操作を行って i' とします。この手順を i' = i/r のように表記します。この i' に対して埋込操作を行い、再び r 操作をしてステゴ画像を出力します。すなわち、出力は o = i'(s)/r = i/r/e/r となります。(下図参照)
この場合、同じ可逆操作を2回繰り返していますので、結果的には、普通の埋込処理で得られるステゴ画像(すなわち o0=i(s) = i/e)と視覚的には変わらないものが得られます。従って、そのようなステゴ画像を見ても、 第3者には「特別な埋込み」がされているかどうかは分からず、たとえ「何か怪しい」と感じたとしても、どのような埋込みであるかは全く分かりません。この o から s を抽出するには、更に r を繰り返して(o/r = i/r/e/r/r = i/r/e)抽出作業を始めなければなりません。
このような特別な埋込みをすることによって、第3者が、埋め込まれた秘密情報を盗み取ることを、普通の埋込みの場合よりも更に難しくすることができるし、steganalysis を困難にすることもできます。
なお、このような特別な埋込みは、Qtech Hide & View 以外のプログラムでもできる場合があります。例えば、典型的な「LSB埋込みステガノグラフィ (Least Significant Bit embedding steganography)」でもできるはずです。
2.Qtech Hide & View に関する可逆操作
次表に示している操作は、BPCS-Steganography プログラムである Qtech Hide & View に関する可逆操作の例です。
可逆操作の記号 |
操作の説明 (何れも同じ操作を2回行うと元に戻る) |
h | 画像を左右に反転する |
v | 画像を上下に反転する |
r | 画像を180度回転する |
c |
各画素の色を反転する(ネガフィルムのようにする) |
(注: h/v = v/h = r となります)
このような h, v, r, c は、流通している様々な画像処理プログラムで実行できます。例えば、Microsoft Office XP 等に付属している Microsoft Photo Editor では次の手順で実行できます。
h : イメージ --> 回転 --> 左右反転
v: イメージ --> 回転 --> 上下反転
r: イメージ --> 回転 --> 180度
c: 効果 --> ネガ (チャネル v赤 v緑 v青) --> OK
3.同じデータの 同じVessel 画像への 様々な埋込み例
次の表にある7つの画像ファイルは、同一画像に見えますが、実は、すべて異なります。
ダウンロードできる画像ファイル名 | 説 明 | ファイルサイズ |
1.cameramen.png | Vessel 画像 | 1,336KB |
2.cameramen.53emb.png | Vessel 画像への通常の埋込み | 1,320KB |
3.cameramen-h.53emb.h.png | Vessel 画像に h 操作をして埋込み、さらに h 操作をしている | 1,453KB |
4.cameramen-v.53emb.v.png | Vessel 画像に v 操作をして埋込み、さらに v 操作をしている | 1,454KB |
5.cameramen-r.53emb.r.png | Vessel 画像に r 操作をして埋込み、さらに r 操作をしている | 1,454KB |
6.cameramen-c.53emb.c.png | Vessel 画像に c 操作をして埋込み、さらに c 操作をしている | 1,452KB |
7.cameramen-hvc.53emb.cvh.png |
Vessel 画像に h,v,c 操作をして埋込み、 さらに c,v,h 操作をしている |
1,453KB |
(2. 〜 7. の何れの埋込みも Complexity threshold = 53 としており、Access Key は使用していません)
"2.cameramen.53emb.png" 以降の画像には、Qtech Hide & View によってすべて同じデータ (mp3 サウンドファイル)が埋め込まれています。 3〜7には、オリジナルの Vessel 画像に対して、幾つかの可逆操作を施して埋め込んでいますので、埋め込まれているサウンドファイルを抽出するには、抽出作業の前に、各ファイルを埋込 み直後の状態に戻さなければなりません。 各ファイル名の後半部分は、それぞれの処理手順を示しています。
従って、例えば、
"5.cameramen-r.53emb.r.png" から埋込みデータを抽出するには、まず r の操作が必要です。
抽出処理では Complexity threshold = 53 として下さい。
"7.cameramen-hvc.53emb.cvh.png" から埋込みデータを抽出するには、 h/v/c の操作が必要です (r/c でも良い)。
抽出処理では Complexity threshold = 53 として下さい。
このような操作をせずに埋込データを抽出することはできません。
4.パラメータを用いる可逆画像変換
次の図は、上に述べた可逆変換とは異なるタイプの「可逆画像変換操作」を示しています。この操作は画像ブロックの「分割・配置」処理に基づくもので、ここではこれを t(k) で表すことにします。ただし、k は具体的にブロック配置パタンを生成するための変換パラメータです。ここに示している例では、t(k) によって原画像( i )中の12個の画像ブロック (1, 2, 3, 4, ..., 11, 12) が、それぞれ (11, 5, 1, 10, ..., 4, 2) のブロックと置き換えられていることを示しています。その逆変換 t-1(k) とは、変換後の画像を元の画像に戻すための「再配置」操作を示しています。このような t(k) や t-1(k) を実現するには、まず適当な変換アルゴリズム(何らかのパラメータ k で制御できるもの)を考案し、それをコンピュータプログラムとして作成しなければなりません。その場合、k が異なれば別の変換画像が生成されるようにします。すなわち、k はこのような可逆画像変換における「鍵」となります。
原画像 ( i ) 変換後の画像 ( i')
以上のような可逆画像変換が可能であれば、秘密データを次のようにして埋め込むことが出来ます。
先ず、鍵 (k)を用いて原画 i から t(k) 操作によって i'= i/t(k) を作成します。そしてこの i' に秘密データ (s) を埋め込んで i'/e = i/t(k)/e とします。更に逆変換を施して最終的なステゴ画像 o=i/t(k)/e/t-1(k) を作成します。
このようにして作成したステゴ画像 o は、視覚的には単純に埋め込んだ場合(o0= i/e )と見分けがつきませんし、原画像とも全く同じように見えます。
たとえ埋込処理そのもの(e)には埋込鍵が 使用されていなくても、このようなステゴ画像 (o=i/t(k)/e/t-1(k)) からは(上記のような画像変換プログラムが使えたとしても)その変換鍵(k)を知らない限り、秘密データを抽出することは不可能です。
逆の言い方をすれば、t(k) や t-1(k) をプログラムとして作成してしまえば、私たちが Web 上に公開している(鍵機能の無い) Qtech Hide & View v02 さえも「鍵付きのステガノグラフィ・プログラム」として機能することになります(ただし、png と bmp 出力のみ)。
(注意)
(1) BPCS-Steganography では、画像変換処理後の画像 (i'= i/t(k) )の埋込容量は元の画像と殆ど変わりません。
(2) 実在する殆どすべてのJPEGステガノグラフィ・プログラムに関しては、ここで示した方法は適用できないはずです。その理由は、JPEGステガノグラフィの一般的原理に よるものであり、Qtech Hide & View の JPEG 出力についても例外ではありません。
(3) もし誰かが、ここで示したような可逆変換アルゴリズムを(ダウンロード可能な形の)PCプログラムとして実現されましたら、是非とも専用ページからご連絡下さい。このページからのリンクを設定したいと思います。
5.結論としては
BPCS-Steganography では、以上のような可逆変換処理の種類を Access Key に反映させることが可能であり、より一層攻撃に強い(Steganalysis で検出できない)ステガノグラフィが実現できます。
しかし、このような手法は BPCS方式だけのものではなく、他の埋込みアルゴリズムでも可能ですが、公表されている既存のステガノグラフィ・プログラムでは、このことに言及しているものはまだ見あたりません。
(最終更新日: 2014, 03, 10 河口英二)