【でぃーきむ】

DKIM とは?

最終更新:
💡 メールの署名を、ドメインの公開鍵で確かめる

メールにドメインの秘密鍵で署名し、受信側がDNSの公開鍵で検証する仕組み。署名ドメインとメールを結び付け、署名対象の内容の変更を検知する。表示上の差出人との対応はDMARCで確認する。

📌 このページのポイント
DKIM:メールへの署名と検証送信サーバー秘密鍵で署名メール+署名受信サーバー署名を検証DNSの公開鍵d=とs=で探す問い合わせ表示上の差出人との対応はDMARCで確認
署名ドメインの公開鍵をDNSから取得し、署名対象の内容を検証する。DKIM成功だけで、表示上の差出人本人やメールの安全性を保証するわけではない。
ひよこ ひよこ
SPFとどう違うの?
ペンギン先生 ペンギン先生
SPFは送信元IPが、その認証に使うドメインからの送信を許可されているかを確認する。DKIMはメールに付いた署名を検証するよ。役割が違うので組み合わせて使う。ただし、どちらもそれだけで表示上の差出人本人や、メールの内容の安全性を証明するものではないんだ。
ひよこ ひよこ
どうやって署名するの?
ペンギン先生 ペンギン先生
送信側が秘密鍵を守り、対応する公開鍵をDNSのTXTレコードに登録する。対象のヘッダーと本文から計算して、DKIM-Signatureヘッダーへ署名を入れるよ。受信側は署名のd=(ドメイン)とs=(セレクタ)から公開鍵を探して検証するんだ。
ひよこ ひよこ
メールのどこが変わっても分かるの?
ペンギン先生 ペンギン先生
署名で対象にした範囲の変更を確かめるよ。すべてのヘッダーが必ず対象になるわけではなく、空白などの扱いをそろえる規則もある。転送やメーリングリストで対象の内容が変わると、署名検証に失敗することがあるんだ。セレクタは鍵の切替にも使うよ。
ひよこ ひよこ
DMARCとの関係は?
ペンギン先生 ペンギン先生
DMARCでは、SPFかDKIMの認証に成功したドメインが、Fromのドメインと定められた条件で対応しているかも見る。そのどちらかを満たせば認証を通過するよ。失敗時の扱いも示せる。p=noneは隔離や拒否を求めず、レポートを設定して運用の確認に使えるんだ。
ひよこ ひよこ
Gmailは全員に3点セットが必須なの?
ペンギン先生 ペンギン先生
Googleの個人向けGmail宛ての要件では、一般の送信者はSPFまたはDKIM、大量送信者はSPF・DKIM・DMARCが必要と区別されているよ。大量送信者の判定は、24時間内に同じ主ドメインから約5,000通以上。一度該当すると継続してその扱いになる。DMARCはnoneでもよく、認証を設定すれば必ず届くという保証でもないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「DKIM」って出てきたら「ドメインの鍵でメールに署名し、受信側で確かめる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「DomainKeys Identified Mail」 = ドメインの鍵で識別するメール
💬 メールへ署名ドメインの責任を結び付け、DNSで公開した鍵を使って検証する仕組みだよ。個人の本人確認とは区別するんだ

参考資料

← 用語集にもどる