ステガノグラフィを利用した極めて秘匿性の高いデーター送受信の仕組み
(KIT ステガノグラフィ 研究グループ)
このページでは、ステガノグラフィ技術を利用した極めて秘匿性の高いインターネット・データー送受信の仕組みを説明し、その実例を示します。ここでは、仮に A と言う人がいて、その人には友人2人(B、C)がいるとします。そして3人は日常的にステガノグラフィ・プログラム(例えば、Qtech HV)を使っており、各自、自分の Webページも持っているものとします。更に、3人は "アクセスキー/パスワード" や "ログイン名/ユーザ名" 等を共有しており、互いの「アクセス制限ページ」を閲覧し合っていると仮定します。ここでは、これらの共有データを「共有秘密データ」を呼びます。
或る時 A はインターネットを通じて、B に「極秘文書」を、C には「A のクレジットカード情報」を "限りなくこっそりと" 送信しなければならない状況になりました。このような場合「極秘文書」や「カード情報」を埋込んだ 「ステゴデータ」を、そのままメールに貼付する方法も考えられますが、それで完全だとは言えません。何故なら、誰かに A は B、C に "何か怪しげなデータを送っている" と疑われてしまう可能性が残るからです。
A は様々に思案した結果、やっと、次のような2つの仕組みを思いつきました。 それは「2段ステゴ法」と「ステゴとアクセス制限の組合せ法」と言うものです。ここでは、前者を DS法 (Double Stego scheme)、後者を SAC法 (Stego and Access Control scheme) と呼ぶことにします。 実は、これら2つの方法のためには "Qtech HV は最適のプログラム" だと言えます。 以下ではこのプログラムを使用することを前提にしています。詳細は次の通りです。
No.1 DS法
先ず最初に A はステガノグラフィ・プログラムを使って以下のような index.htm ファイルをやや小さい画像に埋め込み、その画像(ステゴ画像-1)を A の "目立たないWebページ" にアップロードします。このページは誰にでも公開されているページです。
それと同時に A は B に送るべき「極秘文書」ファイルを、(十分な埋込み容量を持つ) 別の画像に埋込み、その画像(ステゴ画像-2)に "やや長めの名称" を付け、自分が管理する「HTTPSサイト」に "こっそりと"
https://secret-lolipo-kawagu.ssl-lolipop.jp/ssl/392812specialmonalisa.png
のようにアップロードします。392812specialmonalisa.png が ステゴ画像-2 の名称です。
A はこのURLを秘密扱いにし、このアドレスが比較的に "長い文字列" であることから、一般の人がこのHTTPSサイトの存在に気づく現実的な可能性はありません。また、HTTPSサイトの性質上、或るブラウザーがこの ステゴ画像-2 にアクセスしたとしても、その情報が第3者に漏れることもありません。
上記の index.htm とは次のようなテキストファイル(168バイト)であり、コンテンツは何も含みませんが、ブラウザーを "即座に別の URL にジャンプさせる" 働きがあります。
<html>
<head>
<meta http-equiv="REFRESH"
content="0;URL=https://secret-lolipo-kawagu.ssl-lolipop.jp/ssl/392812specialmonalisa.png">
</head>
<body>
</body>
</html>
その後 B には A から ステゴ画像-1 を掲載した "目立たないWebページ" について連絡が来ます。そこで B は ステゴ画像-1 をダウンロードして、Qtech HV の 「Information Extracting」プログラムを使い(設定を"Link to Web" として)ステゴ画像-1 から index.htm を抽出します。するとブラウザーが起動し、直ちに上記 HTTPSサイトにアクセスして、B の画面には ステゴ画像-2 が表示されます。
B はこの画像をダウンロードし、再び「Information Extracting」プログラムを使って(設定を "As it is"として)この ステゴ画像-2 から「極秘文書」ファイルを抽出することが出来ます。このように「ステゴ画像から2回の情報抽出処理」を経て A から B に極秘文書が届けられます。互いに「共有秘密データ」を使うことが この仕組みの要点です。
No.2 SAC法
DS法と同様に、A は先ずステガノグラフィ・プログラムを使って、以下のような index.html ファイルをやや小さ目の画像に埋め込み、その画像(ステゴ画像-1')を A の "目立たないWebページ" にアップロードします。このページは一般公開のページです。次に A は "クレジットカード情報 (実際には、カードを撮影してPDF化したファイル)" を A が管理する「アクセス制限サイト」にアップロードします。なお、このカード情報(PDFファイル)には前もって「閲覧パスワード」を設定しておきます。これらの処理には、それぞれの段階で「共有秘密データ」を使います。
上記の index.html とは次のようなテキストファイル(156バイト)であり、コンテンツは何も含みませんが、ブラウザーを即座に別のURLにジャンプさせます。
<html>
<head>
<meta http-equiv="REFRESH"
content="0;URL=http://lolipo-kawagu.secret.jp/controlled/MasterCard_Gold.pdf">
</head>
<body>
</body>
</html>
MasterCard_Gold.pdf が A のカード情報ファイルです。
以上の準備を終えた後、A は C に ステゴ画像-1' のサイトを連絡します。そして C が Qtech HV の「Information Extracting」プログラムを使って(設定を "Link to Web" として)ステゴ画像-1'から index.html を抽出すると、C のブラウザーが起動し、アクセス制限サイトへの「ログイン」が促されます。この時正しい「共有秘密データ(即ち、ユーザー名とパスワード)」が入力されると、次に進み、更に「閲覧パスワード」が要求されます。そしてそのパスワードが正しく入力されるとカード情報がブラウザーに現れます。このようにして A のクレジットカード情報が、安全で秘密裏に C に届きます。
上記で index.htm や index.html を "小さな画像に埋込む" とは、"ステガノグラフィ経験者" の「小さい画像には埋込み難い」という常識を "逆手に取る" ことを意味しています。また DS法/SAC法は、秘密情報そのものを埋込む代わりに、その "所在情報 (即ち、index.htm/index.html)" を埋込むことで、同じステガノグラフィ効果があることを利用したものです。
実は、ここに「目立たないWebページ」の例があります。一見、この ページは、小さな2つの画像(ボタン画像とロゴ画像)を含む単なる「リンクページ」に見えますが、その小さな画像の中の"誰にも見えない部分" に上記の DS法 と SAC法 が仕組まれています。また、2つのステゴ画像の埋込み率( index.htm / stego-1、 及び index.html / stego-1' )は、僅か 0.6% 程度であり、"これらはステゴ画像かも知れない" との疑いの根拠を見出すどのような検査方法もありません。
もし、上記の B や C の立場で、この目立たないページでの DS法 や SAC法 を確認したいと思われましたら、以下のステップを辿って見て下さい。
上記で使われている 秘密情報(極秘文書とクレジットカード情報)を受信するための処理ステップ
(先ず Qtech HV v011 をダウンロードしてインストールし、「Information Extracting」プログラムを起動しておく必要があります。)
No.1 DS法 (Double Stego scheme)
(DS_Step-1) | 目立たないページの「ボタン画像」をダウンロードし、button.png として(デスクトップなどに)置きます。 |
(DS_Step-2) | button.png をドラグして Information Extracting プログラム上にドロップします。 |
(DS_Step-3) | 抽出プログラムの設定を (アクセスキー):secretbutton (抽出オプション):Link to Web (閾値):40 とします。 |
(DS_Step-4) | Extract ボタンをクリックします。(数秒のうちに「モナリザ画像」がブラウザーに表示されます。) |
(DS_Step-5) | そのモナリザ画像を monalisa.png として(デスクトップなどに)置きます。 |
(DS_Step-6) | monalisa.png をドラグして Information Extracting プログラムにドロップします。 |
(DS_Step-7) | 抽出プログラムの設定を (アクセスキー):8212monalisa (抽出オプション):As it is (閾値):40 とします。 |
(DS_Step-8) | Extract ボタンをクリックします。(数秒のうちに 極秘文書である secret-document. jpg がブラウザーに表示されます。) |
以上のステップによって A からの「極秘文書」を受信できます。
No.2 SAC法 (Stego and Access Control scheme)
(SAC_Step-1) | 目立たないページの 「Internet Explorerロゴ画像」 をダウンロードし、IE-logo.png として(デスクトップなどに)置きます。 |
(SAC_Step-2) | IE-logo.png をドラグして Information Extracting プログラム上にドロップします。 |
(SAC_Step-3) | 抽出プログラムの設定を (アクセスキー):secretlogo (抽出オプション):Link to Web (閾値):40 とします。 |
(SAC_Step-4) | Extract ボタンをクリックします。 (数秒のうちに アクセス制限ページへのログインが促されます。) |
(SAC_Step-5) | (ユーザー名):controlled (パスワード):secret と入力します。(更に、パスワードの入力が促されます。) |
(SAC_Step-6) | パスワード入力欄に Card_Go と入力します。(すると、直ぐクレジットカードが表示されます。) |
このようにして A のクレジットカード情報が受信できます。
ところで、DS法 と SAC法 では、どちらが秘匿性に優れ、より安全でしょうか?
私たちは「"アクセス制限"のような、サーバー設定に依存しない仕組み」である DS法 が優れていると考えています。
(最終更新日:2021,09,02 河口英二)