SPF、DKIM、DMARC は、「メール送信者(送信元ドメイン)の認証技術」のことを指します。別の言い方をすると「なりすましメール防止技術」のことです。
以下、左側が「送信メールサーバー」、右側が「受信メールサーバー」として説明します。
送信ドメイン認証を設定していない場合
SPF
読み方:エスピーエフ
受信側メールサーバーが、送信側メールサーバーから送られてきたメール(メールアドレスのドメイン)をもとに IP アドレスを割り出し、送信側ドメインが管理するDNSサーバーで公開されている「SPF レコード(IP アドレス情報)」と比較し、検証する。
SPF は、送信側 DNS サーバーに「SPFレコード(TXTレコード)」を登録しておくことで有効化することができます。
メールアドレスから割り出した「送信元IPアドレス」と「SPFレコードに記載されているIPアドレス」が一致すれば、メールの受信が許可されます。
DKIM
読み方:ディーキム
受信側メールサーバーが、送信側メールサーバーから送られてきたメールに付与されたデジタル署名を、送信側ドメインが管理するDNS サーバーで公開されている「公開鍵」を使って復号し、ハッシュ値(デジタル署名のハッシュ値とする)を得る。メール自体のハッシュ値(メールのハッシュ値とする)も計算し、「デジタル署名のハッシュ値」と「メールのハッシュ値」が一致しているかどうかを検証する。
DKIM はメール送信時にメール「電子署名」を付与します。
送信側 DNS サーバーに「公開鍵」を登録しておくことで DKIM を有効化することができます。
「デジタル署名のハッシュ値」と「メールのハッシュ値」が一致すれば、メールの受信が許可されます。
DMARC
読み方:ディーマーク
DMARC は、以下3つの特徴があります。
・「SPF」「DKIM」いずれかの認証に失敗した際の振る舞いを規定
・「認証結果レポート」を送信
・「SPF」「DKIM」にパスしたドメインと、「ヘッダーFrom」のドメインを照合
▼送信ドメイン認証が失敗した場合
「SPF」または「DKIM」いずれかの認証に失敗した場合、送信者側が決めたポリシー(ルール)に従ってメールが処理される。また、認証結果レポートが(DMARC レコードに設定されているメールアドレスへ)送信される。
ポリシーは、以下の3つのいずれか。
・None(何もしない)・・・メール受信者へそのまま配送
・Quarantine(隔離する)・・・迷惑メールフォルダ行き
・Reject(拒否する)・・・全く配送されない
▼送信ドメイン認証が成功した場合
「SPF」または「DKIM」いずれか(両方設定されている場合は両方)の認証をパスした場合、パスしたドメインと、メール差出人欄のメールアドレス(ヘッダー From)のドメインとを照合する。
上述の照合結果が、
パス → メール受信者へそのまま送信
失敗 → 送信者側が決めたポリシー(ルール)に従ってメールが処理される。
DMARC は、送信側 DNS サーバーに「TXT レコード」を登録しておくことで有効化することができます。
BIMI
読み方:ビミ
BIMI は、DMARC 認証が成功したメールに「ブランド(企業)ロゴ」を付与し、そのメールにロゴが表示されることで差出人の信頼性を高める技術です。
BIMI では、以下3つの設定が必要です。
・認証マーク証明書(VMC:Verified Mark Certificate)
・ロゴデータ
・BIMI レコード
ちなみに認証マーク証明書は、認証局から発行してもらう必要があります。
BIMI は公開サーバーに「認証マーク証明書(VMC)」と「ロゴデータ」を事前に置いておく必要があります。
そして、送信側 DNS サーバーに「BIMI レコード」を登録しておくことで BIMI を有効化することができます。
最後に
執筆時点でSPF を導入している企業は8割~9割とかなり多いようですが「DKIM」と「DMARC」にいたっては、導入している企業はまだまだ少ないようです。
DMARC は、上記で説明した通りなりすましメールを防ぐことができます。
また、DMARC の導入については、SPF と同様に DNS サーバーに DMARC レコードを登録するだけなので簡単なのです。
これから先、DMARC を有効化しておくことが必須になってきそうです。
というのも、Google が Gmail 宛に月に5000通以上送信するメールサーバに対し、DMARC の導入を必須にする動きが出ています。
そんなこともあり、まだ SPF しか導入していない場合は、DMARC の導入も検討してみてはいかがでしょうか。
受信メールの身元確認は、送信元ドメインが管理するDNSサーバーに問合せ、確認します。
送信元ドメインに送信ドメイン認証設定されていない場合は、受信側メールサーバーの判断によってメールが「拒否されたり」、「迷惑メールフォルダ」へ配送されたりします。