メールの差出人(From)は自由に書き換えられます。だから「本当にそのドメインから送られたか」は、From欄だけでは分かりません。そこで受信側が別の根拠で確かめるのが送信ドメイン認証。SPF(送信元IPで確認)、DKIM(署名で確認)、DMARC(両者の結果でFromの正当性を最終判断+報告)の三段で、なりすましメールをふるい落とします。
3つとも、正解の情報をドメインのDNSに公開しておき、受信側がそれを引いて照合します。差出人を詐称しても、詐称された側のDNSに正解があるので、経路や署名が合わなければ露見する――これが共通の骨組みです。
SPF ― 送信元IPで確かめる
※SPFが照合するドメインは、受信者が画面で見るヘッダFromではなく、配送用に申告されるエンベロープFromです。だからSPFが通ってもヘッダFromは詐称できる——ここを埋めるのがDMARCのアライメントです。またSPFは経路(送信元IP)を見るので、正規ドメインでも転送で送信元IPが変わると失敗しやすい。
DKIM ― 署名で確かめる
送信側がメール(ヘッダと本文)にデジタル署名を付け、検証用の公開鍵をDNSに公開します。受信側は公開鍵で署名を検証し、途中で改ざんされていないか+正規ドメインが署名したかを確認します。
DKIMはデジタル署名そのものです。署名の対象(どのヘッダ・本文)が改ざんされると検証は失敗します。逆に、署名対象外の項目をすり替える攻撃には注意が要ります(何に署名したかが効く)。SPFが「経路」を見るのに対し、DKIMは「中身と署名者」を見る、と押さえると混同しません。
DMARC ― 2つの結果で最終判断し、報告させる
DMARCはSPF/DKIMの結果を使い、しかもその認証されたドメインが表向きのFromと揃っているか(アライメント)まで見ます。揃っていなければ「なりすまし」とみなし、ドメイン所有者があらかじめ決めたポリシー(そのまま通す/隔離/拒否)で処理し、さらに結果をレポートさせます。SPFやDKIMは個別の検査、DMARCはそれらを束ねてFromの正当性を守り、運用状況を可視化するのが役割です。
3つの分担
SPF
- 見るもの:送信元IP(照合先はエンベロープFromのドメイン)
- 正解の在処:DNSのSPFレコード
- 弱点:経路が変わると崩れる
DKIM
- 見るもの:署名(中身と署名者)
- 正解の在処:DNSの公開鍵
- 弱点:署名対象外は守れない
DMARC
- 見るもの:From整合+ポリシー
- 使うもの:SPF/DKIMの結果
- 強み:判断の統一と報告
動きで見る
受信メールサーバが1通のメールを、SPF→DKIM→DMARCの順で確かめ、最後にポリシーで処理してレポートを返すまでを追えます。(図は横スクロールできます)
SC向け:どこまで「なりすまし」を止められるか
SPF・DKIM・DMARCは「送信ドメインの正当性」を確かめる仕組みで、守れる範囲と守れない範囲がはっきり分かれます。午後ではなぜなりすましメールが素通り/拒否されるかとアライメントの意味が繰り返し問われます。
攻撃・限界
- SPF/DKIMが担保するのは送信ドメインの正当性まで。表示名や本文で相手を欺くビジネスメール詐欺(BEC)は、正規ドメインを装わなくても成立し得る。
- 正規ドメイン自体が乗っ取られると、認証は通ってしまう(認証の外側の問題)。
- ヘッダFromは自由に書けるため、SPF/DKIMが別ドメインで通っていてもFromは詐称できる(アライメント未確認のすり抜け)。
- メールが転送されるとSPFが壊れやすい(送信元IPが変わる)。受信側の判定に影響する実務上の落とし穴。
設計・対策
- DMARCの肝はアライメント=SPF/DKIMで検証したドメインと、受信者が見るFromヘッダのドメインが一致していること。これでヘッダFromのなりすましを封じる。
- ポリシーはnone→quarantine→rejectと段階適用し、いきなり拒否で正規メールを落とさない。
- レポートで認証状況を可視化し、抜け・誤設定を改善してからポリシーを強める。
- DKIMは転送に強い(署名は経路に依存しない)ため、転送環境ではDKIMアライメントが判定の支えになる。
締めの判断軸:設問で問われたら「認証が通る=Fromが正当」とは限らない点を疑う。アライメントが取れているか、ポリシーがどの段階か、転送でSPFが壊れていないかを切り分けて答える。