送信ドメイン認証技術にはIPアドレスを利用するものと電子署名を利用するものがある。前者の代表は「Sender ID」や「SPF(Classic SPF)」であり、後者のそれは「DomainKeys」である。
今回は、電子署名を利用するタイプの送信ドメイン認証である「DomainKeys Identified Mail(DKIM:ディーキムと発音する)」を解説する。DKIMの具体的な説明に入る前に、その誕生について触れよう。
DKIMの両親となったDomainKeysとIIM
「電子署名を使うDomainKeysの設定方法」にて説明したDomainKeys以外にも電子署名を利用した送信ドメイン認証を実現する方法として、Cisco Systemsが提案した「Identified Internet Mail(IIM)」という規格がある。IIMはDomainKeysとは異なり、署名に利用した公開鍵もメールに添付し、その公開鍵の正当性を鍵サーバに問い合わせるというものであった(その方法として、取りあえずDNSを利用する)。
DomainKeysとIIMという2つの規格にはそれぞれ長所と短所がある。そこで2005年より、2つの規格を統一する動きが「E-mail Signing Technology Group(ESTG)」というグループにおいて開始された。ESTGでは、オープンソースのsendmail MTAの開発者であるEric Allman(Sendmail社CSO)を中心に議論が進められDKIMという規格にまとめられた。
この作業には、DomainKeysを提唱したYahoo!、IIMを提唱したCisco、Sender IDを提唱したMicrosoftなど多くのベンダが協力している。また、2005年末にはIETF(Internet Engineering Task Force)においてDKIMを検討するワーキンググループが発足し、標準化作業を進めている。
DomainKeysとDKIMの違い
すでに述べたが、DKIMも電子署名ベースの送信ドメイン認証である。DomainKeysとIIMが統合された規格であるが、内容はほぼDomainKeysに近い。
DomainKeysとの違いは、電子署名を含むヘッダも含めて電子署名を作成することと、DKIMの方が認証の対象をより限定できることだ。DomainKeysがサポートしていたのがドメイン単位での認証だったのに対して、DKIMはIIMと同じく送信者アドレス単位での認証も可能としている。また、DomainKeysではやや未整理な扱いになっていた「Site Signing Policy(SSP)」がより厳密に定義されている。さらに、DKIMはDomainKeysの運用経験を基に細かな点が改良されている。
なお、どちらかというとIIMの影響は少ない。例えば、IIMでは公開鍵をメールのヘッダとして付与できるが、DKIMではそうした仕組みを提供していない。
以上のようにDKIMとDomainKeysはよく似ている。しかし、この2つはまったく異なる規格であり、互換性はない。ただし、将来的にはDomainKeysからDKIMへ移行することが想定されており、その過程において、DomainKeysとDKIMの両方を同時に(お互いに干渉し合わないという意味で)利用可能なように設計してある。
DKIMの仕組み
図1にDKIMの仕組みを示す。送信側で電子署名を実施し、受信側で電子署名を照合するという方式である。
図1 DKIMの仕組み
(1)X.COMでは、あらかじめDNSに電子署名に使う公開鍵を公開しておく
(2)X.COMのメールサーバは、送出メールの本文とヘッダを基に電子署名を含んだ「DKIM-Signature:」ヘッダを付与する
(3)メールをY.COMのサーバにSMTPで送信する
(4)Y.COMのメールサーバは「DKIM-Signature:」ヘッダのdタグ値であるX.COMのDNSへ公開鍵を問い合わせる
(5)X.COMから取得した公開鍵により電子署名を照合する。照合がOKであり、かつ「From:」ヘッダに記されたアドレスのドメイン部とdタグが同じドメイン名であるので認証成功
*認証に失敗した場合は、さらに「From:」ヘッダに記されたアドレスのドメインに対するSSPレコードを取得し、ポリシーに照らして認証結果を判断する
DKIMでは、メッセージのヘッダや本文を基に電子署名を作成するため、中継MTAやウイルススキャナなどでメールデータに変更が生じ、電子署名が壊れると認証が成立しない。このことから、送信側での署名処理および受信側での照合処理のどちらも、なるべくサイトの最も外部に位置する中継MTAで実施することが望ましい。このような注意点は電子署名方式の送信ドメイン認証に一般にいえることでもある。
Copyright © ITmedia, Inc. All Rights Reserved.