その2 電子メールシステム


「ネットワーク社会=匿名社会」という考え方がマスコミによって 定着した感がありますが、日本で古くからインターネットを利用 して来た人は、「なんでそ〜なるのだろう?」と首を傾げている ことでしょう。もともと、日本のインターネットの基礎となった junetは学術系専用のネットワークだったためか、ユーザが何かの サービスを利用するときは、自分の身分をはっきりと告げるのが 普通でした(サービスの種類によっては必要ありませんでしたが)。 現在でも、ニューズグループの一つであるfjは当時の色を残し ているため商利用禁止ですし、記事を投稿する際にはまず名前と 所属を明らかにする習慣があります。
#公開ftpサーバ(匿名ftpサーバ)に接続するときは、ユーザ 名にanonymous、パスワードの代わりに自分のE-mailアドレスを 入力するという約束事があるのですが、最近はWWWブラウザから のアクセスがあるので守られていない場合があるようです。 NetscapeNavigatorの場合は「ネットワークの設定」の「プロト コル」メニューで、「匿名ftpパスワードとして電子メールアド レスを送信」をチェックしてから使いましょう。この約束を 守らないと、サーバによっては接続を拒否されることがあります。

 さて、問題となっている匿名メールですが、現状ではある程度 の知識(と若干の根性)さえあれば簡単に出すことができます (もちろん、ここにその具体的な方法を書くつもりはありません)。  発信されたメールは、それを配送したシステムのログを解析 することによってどこから来たのかある程度特定することは 簡単です。半端な知識で偽造されたメールの場合、確かに ほぼ100%確定することは出来ます。しかし、巧妙に発信された 場合、それが本当は誰が出した物なのかは特定することは 出来ないのです。

 それでは、正当なハッカー達は悪質ないたずらを指をくわえて みているしかないのでしょうか? いえ、もちろんそんなことは ありません。サーバ自体を不正なメールから守れば良いのです。 不必要な(つまり、自分と関係ない)サイトからのメールの中継 を拒絶するように設定することで、少なくとも外部のサイトから のメール攻撃に利用されることを防ぐことができます(ただし、 この方法は管理者でないと設定することができません)。
#詳しいことはhttp://www.sendmail.org/とか、 http://www.cert.org/あたりに書いてあったと思います。日本の サイトではhttp://www.jpcert.or.jp/にあります。ちょっと古 い情報でもよければ、アスキーから出ているUNiX MAGAZINEの 97年9月号に記事があります。大学の研究室などでメールサーバ を管理している場合は目を通す必要があるでしょう。

 また、個々のユーザの場合でも、メールを送りたい相手に 自分の身元を証明することが出来れば、偽のメールによって もたらされる被害のいくらかは防ぐことが出来ます。ここで、 防ぐことのできる被害というのは「クラッカーに自分の名前 でメールを出されることによる被害」です。ネットワーク上 に限らず、信用というのはなくすのは簡単ですが、取り戻す のは難しいことですから。具体的にはどうするのかというと、 PGP(プリティ・グッド・プライバシー)を使うのです。

 PGPは公開鍵暗号方式を使った暗号化・認証方式です。ユーザ は自分のメールを暗号化したり、電子署名するための秘密鍵と、 復号・認証するための公開鍵の対を作成します。
 公開鍵の正当性を証明するためには、鍵を直接(FDなどで) 受け取るか、すでに鍵を持っている誰かに鍵を渡して、間接的 に証明してもらう必要があります。
#WWWサイトに置くという方法もありますが、その場合は受け 取ってから鍵の持ち主に確認した方が良いでしょう。また、 秘密鍵の方はパスワードと同じ位重要なので、絶対に盗まれ ないようにしなければいけません。ダイアルアップPPP接続で 使うだけならばあまり心配はないと思いますが。

件名(Subject)
 Subjectに関してはRFC822の基本定義と、MIMEのヘッダ部分 の拡張に関するRFC2047RFC1522のアップデート)などがあり ます。
 インターネットが元々英語圏の技術であることから、シス テムの多くは他の言語(というより、非ASCII文字)を解しま せん。そこに、直接日本語のような異質なコードを放り込むと 誤動作の原因にもなりかねません。
 そこで、電子メールなどでは、非ASCII文字はASCII文字の組み 合わせで表現する(カプセル化するとかエンコードするとかいう) ことで安全に扱えるようになりました。ただし、UNIXシステムなど に標準で添付されているメーラは旧式等の理由でこれに対応していない 場合もあるので、日本語を使う前に相手に確認した方が良い でしょう。相手のシステムもMIMEに対応している場合、 Subjectに日本語の使用をためらう必要はありません。
#例えば、FreeBSDなどに付属しているmailでMIME非対応の 日本語Subjectを受け取ると文字化けを起こしてそれ以後の 画面が読めなくなりますし、MIMEでカプセル化してあった ところで文字化けしないだけで意味は分かりません。黎明期 の頃など、本文に日本語を使う場合ですらSubjectに(In Kanji) といった注釈をいれるという習慣がありました。

[gif87 3.5KB 日本語subjectを/usr/bin/mailでみたところ]

日本語subjectを/usr/bin/mailで見て苦しんでいるところ


署名(シグネチャ)
 シグネチャは本来必要なものではありません。なぜなら、 メールの発信者はヘッダ部分(From:またはSender:)に記載 されていますし、返信先が別に必要ならばヘッダのReply-To: で指定出来るからです。それでもシグネチャをつける事が 多いのは、単に明示的に自分のメールアドレス等を記載したい 場合や、近い将来にメールアドレスが変更になる場合のお知ら せのように、頻繁に同じ事を書く手間を省けるからです(もち ろん、次にあげるように単なる趣味でつけていることも多々 あります)。
 また、アスキー文字を使った絵や、詩や小説の一節を引用 している人がいますが、トラフィック(ネットワークを流れ るデータ)を無駄に増やさないように、4行以内おさめるこ とが推奨されています。
#アスキーアートでも相手の使っているフォントによっては 期待通りに表示されません。

補足
 PGPに関してはO'REILLY社(日本での販売はオーム社)から 詳細な解説本(その名もずばり「PGP」)が発行されていますし、 いくつかのWWWサイト(たとえば PGP国際版ホームページPGP for 98の紹介 )がありますから、そちらを読んで下さい。

補足その2
 RFC2047だけでは日本語Subjectを デコードすることはできません。メッセージ本体のバイナリ部分や 非ASCII文字を転送するのに使うBase64という方式を規定する RFC2045が必要です。


[index]