SPFとどう違うの?
SPFは「このIPアドレスから送っているか」を確認する仕組み。DKIMは「メールの内容が改ざんされていないか」を電子署名で検証する仕組み。SPFは送信元の正当性、DKIMはメール内容の完全性をチェックする。役割が違うから両方設定するのが推奨だよ
どうやって署名するの?
①送信側がRSA等の鍵ペアを生成し、公開鍵をDNSのTXTレコードに登録、②メール送信時に秘密鍵でヘッダー・本文のハッシュに署名してDKIM-Signatureヘッダーに付与、③受信側がDNSから公開鍵を取得して署名を検証。これで途中で内容が書き換えられていないことを確認できるんだよ
設定で注意することは?
①鍵長は2048bit以上を推奨(1024bitは非推奨に)、②セレクタを使って複数の鍵を運用できる(鍵のローテーション時に便利)、③メーリングリストやメール転送でDKIM署名が壊れることがあるのでARC(Authenticated Received Chain)の対応も考慮。Google Workspaceなら管理画面から簡単に設定できるよ
DMARCとの関係は?
DMARCはSPFとDKIMの結果を受けて「認証に失敗したメールをどう扱うか」のポリシーを定義する仕組み。none(何もしない)、quarantine(隔離)、reject(拒否)の3段階。SPF・DKIM・DMARCの3つをセットで設定して初めてメール認証が完成する。2024年からGmailは送信者にこの3点セット設定を義務化したんだよ