魔術師見習いのノート

プロフィール

魔術師見習い
Author魔術師見習い-_-.
Twitter魔術師見習い

コンピュータ関係のメモを主に書きます.

MENU

ステガノグラフィ

投稿日:
タグ:

目次

最近NUMB3RSを見返してて,s2-8『隠された写真』に出てきたステガノグラフィが気になったので,少し調べてみた.

デジタル・ステガノグラフィ(digital steganography)

デジタル・ステガノグラフィとはデータ隠蔽技術の一つで,あるデータに対して別のデータを埋め込むことである(以降,単にステガノグラフィとだけ呼ぶ).ステガノグラフィでは,隠すために使用された元のファイルをカバーファイル,作成されたデータをステゴファイルという.

例えば,ある画像ファイルにテキストファイルを埋め込むことで,テキストの存在を秘匿できる.この時,ステゴファイルは,以前の画像と比べて変化しているが,その変化を人間が検知することは困難である.以下に実際のステゴファイルとカバーファイル,隠蔽した画像ファイルを示す.

カバーファイル


隠蔽したファイル


ステゴファイル

このステゴファイルは,後述するsteghideを使用して作成した.これから隠蔽したファイルを抽出するためには,ステゴファイルがあるディレクトリで以下のコマンドを入力すれば良い.
user% steghide extract -sf ./img3.jpg
抽出に必要なパスワードは『hogehoge』である.コマンドのオプションについては,後述のsteghideで示す.

ステガノグラフィの利用方法には,秘密情報の存在秘匿やメディアデータへのメタ情報の追加,サブリミナル広告などがある.

コマンド

outguess

画像ファイルにデータファイルを隠蔽するプログラム.サポートするファイルは以下の通りである.

  • PPM
  • PNM
  • JPEG
outguessコマンドの使い方はこの通りである.
user% outguess 引数 [入力ファイル [出力ファイル]]

以下に使用例を示す.

埋め込み
埋め込みには-dオプションで指定する.
user% outguess -d secret.txt cover.jpg stego.jpg
パスワードを設定したい場合,-kオプションで指定する.
user% outguess -k hogehoge -d secret.txt cover.jpg stego.jpg
抽出
抽出には-rオプションで指定する.
user% outguess -k hogehoge -r stego.jpg secret.txt

steghide

画像や音楽ファイルにデータファイルを隠蔽するためのプログラム.サポートするファイルは以下の通りである.

  • 画像
    • JPEG
    • BMP
  • 音楽
    • WAV
    • AU
steghideコマンドの使い方はこの通りである.
user% steghide コマンド 引数
-cf
カバーファイル
-ef
組み込むファイル
-sf
ステゴファイル

steghideのコマンド例
embed
ファイルを組み込む.
user% steghide embed -cf cover.jpg -ef secret.jpg -sf stego.jpg
Enter passphrase: 
Re-Enter passphrase: 
embedding "secret.jpg" in "cover.jpg"... done
writing stego file "stego.jpg"... done
extract
隠蔽ファイルを抽出.
-xf
抽出ファイル名.指定しない場合,embedの-efで指定したファイル名になる.
user% steghide extract -xf secret.jpg -sf stego.jpg wrote extracted data to "secret.jpg".
info
ファイル情報を表示
user% steghide info img3.jpg "img3.jpg": format: jpeg capacity: 2.1 KB Try to get information about embedded data ? (y/n) y Enter passphrase: embedded file "img2.jpg": size: 1.7 KB encrypted: rijndael-128, cbc compressed: yes

一覧