特集
» 2006年03月24日 16時00分 公開

企業責任としてのフィッシング対策:送信ドメイン認証の基礎知識 (3/4)

[末政延浩,ITmedia]

 また、特定のネットワークからのみメールを送る場合は、次のようにする。

example.com. IN TXT "v=spf1 +ip4:xxx.xxx.xxx.xxx/24 -all"
(※xxx.xxx.xxx.xxxはIPアドレス)


 もし、1つのメールシステムで複数の仮想ドメインのメールを送受信している場合は、次のようにする。

example.com. IN TXT "v=spf1 +a: -all" example.net. IN TXT "v=spf1 redirect=example.com" foo-bar.com. IN TXT "v=spf1 redirect=example.com" hogehoge.net. IN TXT "v=spf1 redirect=example.com"


 ここでは、「example.com」という主要ドメインにおいて、「example.net」「foo-bar.com」「hogehoge.net」の各仮想ドメインでのメール送受信を可能にしている。それらの仮想ドメインを送信ドメインとするメールはすべて、example.comのAレコードとして登録されているホストから送信され、それ以外は受信を拒否することも可能、という意味になる。

 また、自分のサイトに合ったSPFレコードをウィザード形式で作成できるWeb(*9)が公開されている。これらを利用して作成するのも一手だ。

電子署名ベースの認証方式

 先述のとおり、メールへの電子署名による送信認証を行う方式には、DomainKeys by Yahoo!とIdentified Internet Mail(IIM)の2つがある。

 例として、DomainKeys by Yahoo!の処理方式を図8に示す。送信側ではあらかじめ、DNS上に電子署名の照合に利用する公開鍵を登録しておき、メールデータを基にした電子署名をメールに加えて送信する。受信側では、送信者のドメインから公開鍵を取得し、そのメールに含まれている電子署名を照合する。

図8 図8●DomainKeys by Yahoo!による送信者ドメイン認証。DNSに公開鍵を登録し、メールに付与した電子署名を照合させることで認証する

DomainKeys by Yahoo!

 DomainKeys by Yahoo!は、文字どおりYahoo!が提案する電子署名ベースの認証方式だ。Yahoo!メールやそのほかのISPなどで現在利用されている。図9はその電子署名の例である。

図9 図9●DomainKey-Signature:ヘッダの例。メール送信時にメールの本文とヘッダの一部を含めて、電子署名をDomainKey-Signature:ヘッダに設定

 DomainKeysでは、メール送信時にメールの本文とヘッダの一部を含めて電子署名を作成する。次に、その署名を「Domain Key-Signature:」というヘッダに設定して送信する。受信側はそのメールを受け取ると、送信者ドメインのDNSから公開鍵を取得して、メールのデータとともに署名の正当性をチェックする。そして、署名が正しければ認証OKとなる。

 DomainKeysでは、署名対象であるメールの本文とヘッダを正規化処理したうえでSHA-1(*10)アルゴリズムでハッシュをかけ、RSAで署名する。サポートする鍵長は、512、768、1024、1536、2048ビット。署名に使うヘッダについては「h」パラメータで指定できるが、本文は必ず署名の対象に含まれる。hタグを省略した場合は、DomainKey-Signature:ヘッダ以下のすべてのヘッダが署名の対象になる。また、hパラメータで対象のヘッダを限定する場合は、送信ドメインを示す「Sender:」か「From:」ヘッダは必ず含まれていなければならない。電子署名というとS/MIMEなどが浮かぶが、DomainKeysはそうしたポイント・ツー・ポイントの暗号化や電子署名と(邪魔をしないという意味で)同時に利用できるように考慮されている。


*9 SPFレコードがウィザード形式で作成できるWeb 

ピックアップコンテンツ

- PR -

注目のテーマ

マーケット解説

- PR -