スパイ大作戦? Stegosuiteでファイルにデータを埋め込む情報隠蔽技術「ステガノグラフィー」を体験する
ステガノグラフィー(steganography)とは、画像データや音声データ(音楽データ)の中にテキストなどの他のデータを埋め込む情報隠蔽技術のひとつです。主に著作権保護を目的として使用されるそうです。
データを埋め込んだら元のデータが変わってしまい、画像の乱れや音質の低下、ノイズの発生など悪影響がでるんじゃないの?と思われるかもしれませんが、人間の視聴覚ではその影響が判らないくらい微々たるものなのだそうです。
今回は、Ubuntuのステガノグラフィーアプリ「Stegosuite」をインストールして、ステガノグラフィーがどのようなもの体験してみました。
「Stegosuite」は画像ファイルの中にテキストメッセージ、様々なタイプのファイルを複数個埋め込むことができます。対応している画像ファイルは、BMP、GIF、JPG、PNGで、残念ながら音声ファイルへの埋め込みには対応しておりません。
Stegosuiteのインストール
1,Ubuntu Softwareで「stegosuite」と入力して検索します。(途中まで入力すると結果が表示されます)
2,インストールをクリックする
3,「認証が必要です」と表示されたらパスワードを入力し「認証」をクリックします。
4,インストールが完了します。
Stegosuiteの起動
Stegosuiteの起動は、アプリケーションの表示をクリックしてアプリのアイコンを表示させ、Stegosuiteのアイコンをクリックするだけです。
シンプル(?)なユーザーインターフェースのStegosuiteが起動します。
データの埋め込み
1,「File」「open」をクリックします。
2,ファイラーが起動するので、埋め込み先の画像ファイルを指定し「開く」をクリックします。この例では「test_img.jpg」を指定しています。
ファイルを指定すると、以下のような画面になります。この画面からメッセージ、埋め込みファイル、パスワードを指定していきます。
- ① 埋め込み先の画像ファイルの縮小表示。この画像ファイルに指定データを埋め込みます。
- ② メッセージ入力欄
- ③ 埋め込みファイルの指定
- ④ ファイルから埋め込みデータを表示・抽出する際のパスワード指定
- ⑤ 埋め込みの実行
- ⑥ 指定ファイルから埋め込みデータを取り出す
- ⑦ この画像ファイルに埋め込みできるデータの総バイト数
3,メッセージを入力します。
4,埋め込みファイルの指定
埋め込むファイルを指定します。「右クリック」→「Add file」でファイラーが起動するのでファイルを指定します。容量内なら複数の指定が可能です。
指定したファイルをリストから削除する場合は、削除するファイルを指定して「右クリック」→「Delete selection」をクリックします。
5,パスワードの入力
埋め込んだメッセージ、ファイルを取り出す時のパスワードを入力します。この例ではパスワードを「pmanpass」としています。
6,入力が完了したら「Embed」をクリックします。「Embedding completed」と表示されれば完了です。
データの埋め込まれた画像ファイルは、元の画像ファイル名に「_embed」が付加されたファイル名で同一ディレクトリに保存されます。(例:test_img.jpg → test_img_embed.jpg )
データの取り出し
データを埋め込んだ画像ファイルからデータを取り出してみます。今回は、画像ファイルを別のディレクトリ(test01)にコピーしてメッセージと埋め込んだデータを取り出してみました。
1,Stegosuiteを起動して対象ファイルを開きます。
2,埋め込んだ時に指定したパスワードを入力して「Extract」をクリックします。
3,「Extracting completed」と表示されれば完了です。メッセージと埋め込んだファイルの一覧が表示されています。
埋め込んだファイルも同一ディレクトリに展開されています。
スパイ大作戦?
ステガノグラフィーの主な用途は著作権保護なのでしょうが、第三者への情報漏洩の危険性を低くしてデータをやり取りするという使用方法も考えられます。
Stegosuiteのアンインストール
Stegosuiteをアンインストールするには、Ubuntu Softwareで「stegosuite」と入力して検索した後、「削除」をクリックします。途中確認のメッセージが表示され、パスワードの入力が求められます。