Steganography

Last update: April 24, 1997(執筆中)

Steganography(ステガノグラフィ)とは、広義にはある情報を別なものを使って隠す、あるいはあることを別なものに忍ばせる、などといった意味です。狭義では、例えば暗号を利用している、暗号化した情報だが、それを暗号を利用していることをも第三者に悟られないようにする、などという意味になります。


なぜSteganographyなのか

暗号化してあることがわかってしまえば、その内容を知りたい者にとっては、それを解読する必要性が認識でき、またそのための努力ができるということになります。

したがって、「暗号化してある」ということ自体を秘匿してしまえば、そうしたことを防げる可能性をより低くすることができるのです。


どのようにSteganographyを実現するか

基本的には、「一見して暗号化してあるようには判らないようにする」、に尽きます。

例えばまったく別な種類のデータファイル中に忍ばせる、あるいは以下で述べているように、暗号化ソフトウェアの種類を特定できるようなヘッダーやデータなどが必ず追加されるといった場合にはそれらを取り除く、などの方法があります。

問題(と言えることかどうか...)は、秘匿するために使用したソフトウェアを解読時にも同じものをやはり使用しなければいけません。ただし、暗号化ソフトウェア自体にもこれは言え、そのデータ/情報を渡す相手がいる場合は、同じソフトウェアを双方が利用できることが条件となります。


情報/文書を別なデータに忍ばせる

例えば、テキストファイルをBMPやGIFといった画像ファイル、あるいはWAVなどの音声データファイル中に隠すことができます。これらあるテキスト/情報を含んだ画像ファイルや音声データファイルは、通常のファイルと同様にブラウジング・ソフトで見たり、音声を再生することができ、専用のソフトウェアを使用しない限り、その中にある別なデータ(テキスト)があるということさえ第三者には判りません。

私自身が試してみたソフトウェア/ツールには以下のようなものがあります。興味がある方はお試しください。

(URL整理中)

※ S-Tools v4.0 と v3.0 で加工したデータそれぞれに互換性はありません。

次の2つのGIFファイルは、S-Tools v4.0を使ってあるテキストファイルを画像ファイル中に秘匿した例です。パスワードを test とすると、画像2から sample.txt というテキストファイルが取り出せます。2つの画像ファイルの見た目にほとんど違いがないことに注意してください。

S-Tools v4.0 の使用例
画像1(オリジナル)画像2(秘匿データ付)
original picpic including hidden text

シリアスな用途でなくとも、例えば恋人と写真(画像ファイル)を交換する際に、ラブレターをその写真に忍ばせておく、なんてことにも応用できます。

また、よりシリアスな用途、あるいはさらにパラノイアな方の場合は、"pgp -eat"、あるいは "pgp -seat" としたメッセージを画像/音声データファイルに忍ばせておく、などの利用方法も考えられます。


暗号を使用していることを秘匿する

ここでは一般的なPGPに絞って話を進めます。

PGPを利用、特に -a オプション(さらには -t オプションを追加することが多いでしょう)でテキスト化すると、通常以下のような形となり、PGPで暗号化したデータ独自のヘッダーが付加されます。

-----BEGIN PGP MESSAGE-----
Version: 2.6.3ia
Comment: Requires PGP version 2.6 or later.

hIwD5jAGcI0hlhEBA/wI68BlPisGq+5tyufxsQRUN2KC0jIxN42ecNpfPyz0rbxQ
KR3+bSABEPtm6Wnsp6X77S3iokc8KrkMr8pqVi/LhZsMZoQZS7jmvNCgcsck9jni
LhlyVwDOIy8c6u46cps4w58G6fiMhQTn4FkWsRn0V/RAS9g2dAYNga5t+vMd66YA
AACBp5b3xXX/pv+P/yavaucCXantAf6GPzQeNGPKlpvRb0JJpulLDRY9jE9IbgtH
x9IADvLBtO2eaxqGlUrm+WxyjmqwwYBQHeUOFV1twZKPfF6vHcGrW7tGithWjaYK
YHg8maExUb3ynzD+f/GPzSNrx3nGDnasegoy3rVAgZjIUP8q
=JJcH
-----END PGP MESSAGE-----
-----BEGIN PGP MESSAGE----------END PGP MESSAGE-----の2行により、このデータ/メッセージがPGPで暗号化されたものであることは人間でも一見して分かりますし、当然ソフトウェアでこれらの行をスキャンしてPGP暗号化されているということを認識することは簡単です。認識できればそれを保存したり、あるいはブロック(PGP暗号メールの送受信を認めない等)も容易に実現できることになります。

一般的にPGP暗号は未だ破られていないと言われています(一部のキチガイ連中がホラを吹いていますが)が、少なくともこのように「PGPで暗号化した」ということはすぐにわかってしまいます。

暗号化していることが判ったあと、それを解読するのに必要なのはパスフレーズだけです。もちろんあなたがこのパスフレーズを第三者に伝えなければ、暗号が解読されることはないでしょう。では、法律を盾にとって、あるいは精神的・肉体的暴力などによる脅迫/強制によって、あなたにパスフレーズ公開を迫るものがいたとしたら?

暗号化してあること自体を知られなければ、こうしたことは起こり得ないことになります。以下のソフトウェア/ツール群は、こうした問題に対する幾つかの答えとも言えます。

(URL整理中)

・関連リンク


1ページ前へ戻る
Shoot the Pigeon! Copyright (c)1997 ココナッツ. All rights reserved.

このページはリンクフリーですが、リンクされる場合事前あるいは事後どちらでも結構ですのでココナッツまでご一報ください。PGPメールの受信も可能です。私のPGPキーをご希望の方は、pgp.netのkey serverからキーをgetできます。KeyID: 0x13D84AC9

PGP Now!

Shoot the Pigeon!内コンテンツの無断転載は、書籍雑誌等一般出版物、WWWページなどを問わずご遠慮ください。


This page hosted by Get your own Free Home Page
このページはGeoCitiesから無料で提供を受けて実現しています。
同様のサービスを希望する方はここをクリック!