「フィッシング」(Phishing)と呼ばれる新手の詐欺メールの被害が増え始めている。フィッシングとは,実在する企業のWebサイトに見せかけたサイトへ電子メールを使ってユーザーを誘導し,クレジットカード番号などを入力させてだまし取る詐欺行為。こうした問題への対策として新しい技術がいくつか提案されている。しかし,どうして新しい技術が必要になるのだろうか。そもそもの電子メールのしくみだけではなぜ不十分なのか。今回はそういった点を明らかにしていこう。

 フィッシング・メールでは,実在の企業のメール・アドレスを使い差出人を詐称し,「クレジット情報を更新して下さい」といったいかにもありそうな文面で被害者を誘う。フィッシングのことを知らなければ,よほど注意深い人でもこうしたメールはその企業から届いたと勘違いするだろう。そして,本当の行き先がわかりにくいように記されたリンクをクリックすると,本物そっくりに作られた偽サイトに誘導されるしくみになっている。

 そもそもフィッシング・メールが本物らしく見えるのは,差出人として本物の企業のメール・アドレスを使うから。出会い系サイトの案内などのメールと違って,本文の文面もきちんとしているので,フィルタリング技術を使った既存の迷惑メール対策ではうまく排除できない。

 では,フィッシング・メールはなぜ差出人を詐称できるのだろうか。それを知るには,メールをやりとりするプロトコルについて知っておく必要がある。

 メール・サーバーがメールを受け取るプロセスは,SMTPというプロトコルで規定されている。SMTPではまず,TCPのセッションを張る。この時点で,受信側のメール・サーバーには送信元のIPアドレスがわかる。次に差出人のメール・アドレス,あて先のメール・アドレスが通知される。この後,メール・ヘッダーを含むメールのデータが送られる手順になる。

 つまり,メールを受け取るときに得られる差出人情報は,(1)送信元のIPアドレス,(2)送信元が通知してくる差出人メール・アドレス,(3)メール・ヘッダーに記された差出人メール・アドレス――の三つになる。これらの情報が確実に正しいものなら,なんら問題はない。しかし,この三つの情報のうち,確実なのは送信元のIPアドレスだけ。残る二つの差出人メール・アドレスは,送信者のメーラーやサーバーの設定次第でどうにでも詐称できてしまう。電子メールで「差出人」として表示される情報は,もともと信用のおけないものなのだ。

 SMTPがこういった仕様になっているのは,電子メールがセキュリティより利便性を優先してきたため。例えば,自宅や出張先からメールを送るときに,アクセス先のプロバイダのアドレスではなく,会社のアドレスを差出人に設定している人もいるだろう。もし電子メールが差出人の詐称を一切許さない仕様だったら,こんな使い方はできない。

 とはいえ,フィッシングのような具体的な被害が出てくると,電子メールに利便性ばかり求めていられない。しかし,SMTPだけでは送信元が通知してくる差出人の情報が正しいかどうか確認できない。そこで,メールの仕様を一部変えて,差出人の身元が正しいかどうか確認できるしくみが必要になるというわけだ。

 現在,フィッシング・メールを防ぐ送信者認証技術として,米マイクロソフトと米Pobox.comがIETFに共同提案している「Sender ID」や,米ヤフーが提案している「DomainKeys」がある。標準化作業と並行して,これらの技術を各種メール・サーバー製品に実装する作業も進められている。標準化が完了し,フィッシング・メールを防ぐ送信者認証機能が当たり前に使えるようになる日も近い。

山田 剛良