DKIM は、電子署名にもとづく送信ドメイン認証の技術のひとつです。 DKIM では、送信側は公開鍵と秘密鍵を作成し、公開鍵を DNS で公開します。秘密鍵は送信サーバにインストールしてメールを送信する際に署名を行います。署名した情報は DKIM-Signature ヘッダを追加して表記します。 以下は DKIM-Signature ヘッダの一例です。 DKIM-Signature: a=rsa-sha1; s=sel; d=example.com; c=simple/simple; q=dns/txt; h=From:To:Subject:Date:Message-ID; b=AuUo... 受信側は DNS を使用して公開鍵を取得し署名を検証します。上記の例では、d= タグで指定されたドメイン名と s= タグで指定されたセレクタ名を取りだし、以下の TXT レコードから公開鍵を取得します。 sel._domainkey.example.com. TXT "v=DKIM1; t=y; k=rsa; p=MIG..." DKIM は、メールのヘッダや本文に対して行われた署名を検証するため、メーリングリストなどで署名したヘッダや本文が変更された場合は検証に失敗することに注意してください。 DKIM は 2007年5月に IETF で RFC4871 として承認されました。今後の普及が期待されています。
参考文書(日本語)
-
JPCERT/CC REPORT 2007-07-11
【今週のひとくちメモ】送信ドメイン認証 その1
http://www.jpcert.or.jp/wr/2007/wr072601.html#Memo
-
JPCERT/CC REPORT 2007-07-19
【今週のひとくちメモ】送信ドメイン認証 その2 (SPF: Sender Policy Framework)
http://www.jpcert.or.jp/wr/2007/wr072701.html#Memo
参考文書(英語)
-
IETF
RFC4871 DomainKeys Identified Mail (DKIM) Signatures
http://www.ietf.org/rfc/rfc4871.txt
Weekly Report 2007-08-01号 に掲載