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

» 2006年03月24日 16時00分 公開
[末政延浩,ITmedia]
前のページへ 1|2|3|4       

●正規化処理

 MTAソフトウェアの中には、メールの配送中に改行を加えたり、ヘッダの一部を変更したりするものがある。正規化処理は、このような変化が署名の対象になったデータ(本文とヘッダ)に加わり署名が有効でなくなるのをなるべく防ぐために、予想される変化を無視できるようにデータを処理するためのものだ。

●DomainKeysでの送信者

 DomainKeysでの送信者とは、ヘッダ上の送信者のことを示し、まず「Sender:」ヘッダの値を見る。「Sender:」ヘッダが存在しない場合は、「From:」ヘッダを参照する。どちらのヘッダも存在しない場合は、電子署名しない。

●DomainKey-Signature:ヘッダの書式

 DomainKey-Signatureのヘッダは「tag=値;」を並べて構成する(表4)。注意点としては、送信者アドレス(From:ヘッダかSender:ヘッダの値)のドメイン部は、「d」に与えられるドメイン名と完全に一致するか、そのサブドメインでなくてはならない。これが異なる場合、受信側で認証失敗と判断されてしまう。

表4 表4●DomainKey-Signatureを構成するtag

●DomainKeysの認証情報公開

 DomainKeysで認証情報を公開する場合、まず、ドメイン名に「_domainkey」を付加したサブドメインに対してTXTレコードを定義し、そこにポリシーの定義を公開する。

_domainkey IN TXT "ポリシー情報"


 なおこの情報は、受信側でそのドメインから来たメールの署名の照合が失敗した場合にのみ読み出すもので、署名の検証が成功した場合は読み出さない。たとえば、ドメイン名が「example.com」の場合は、_domainkey.example.comのTXTレコードとして公開する。ポリシーはtag=値;を並べて定義する(表5)。

表5 表5●DomainKeysのポリシー情報を構成するtag

●公開鍵の公開

 DomainKeysでは、メールに添付する署名ヘッダに「s=」で指定したセレクタと「_domainkey」という文字列から構成したFQDN(*11)のTXTレコードとして、公開鍵を公開する。たとえば、ドメイン名example.comで、セレクタが「june」であったとすると、「june._domainkey.example.com」のTXTレコードになる。

june._domainkey IN TXT "鍵情報"


 鍵情報は、tag=値;の組を羅列して定義する(表6)。

表6 表6●DomainKeysの公開鍵情報に含まれるtag

●受信時のチェック

 DomainKey-Signatureのついたメールを受信したメールサーバ側では、そのヘッダのsタグとdタグの値から、公開鍵を呼び出すためのDNSクエリを作成する。このとき、dにはドメイン名が指定されているはずであるが、送信者アドレス(ヘッダ上のFrom:かSender:)のドメイン名が、dに指定されたドメインやその下位サブドメインのいずれでもない場合、認証は失敗してしまう。

 受信サーバは、DNSクエリによって公開鍵を取得し、hタグによるヘッダの指定によりヘッダを選択したうえでcに指定された正規化処理を行い、電子署名の照合を実施する。そして、署名が正しければ認証成功となる。

 認証結果は、該当のメールに「Authentication-Results:」というヘッダを追加して記録する。たとえば、認証に失敗した場合は、"Authentication-Results: gw.example.com; domainkeys=fail"というようなヘッダが追加される。ただし現在のdk-milterでは、1つ前のドラフトで規定していた「DomainKey-Status:」というヘッダを付与する。

 DomainKeysの規格では、署名の検査に成功したものとしなかったものをどのように扱うかということについては明確に定義しておらず、受信者のローカルなポリシーに従って扱われると説明されている。認証が失敗した場合は、ポリシー情報を読み出して、送信者側が公開しているポリシーを参考にしたうえで、どのように扱うか判断すべきだろう。

■末政延浩

 センドメール シニアコンサルタント。ISPや企業などの電子メールサイト設計および構築に従事。オープンソースのsendmailはJUNET時代から。6年前から商用版のSendmail製品を扱う。送信者認証技術の早急な確立と適用を強く願う。


*11 FQDNFully Qualified Domain Name。IPネットワーク上で、ドメイン名やサブドメイン名、ホスト名を省略せずにすべて指定した記述形式。

前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ