MailData

DKIMなしでDMARCを設定できますか?

DKIMなしでDMARCを設定できますか?

2023年4月21日
著者: Ahona Rudra
翻訳: 高峯 涼夏

この記事はPowerDMARCのブログ記事 Can I set up DMARC without DKIM? の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


答えは「はい」、DKIMなしでDMARCを設定できます。
しかし、そうすることが良いことなのでしょうか?

当記事では、この疑問について探ります。
そして、DKIMなしでDMARCを設定した場合の影響について説明します。

DMARC認証規格を理解すること

DMARCは、ドメインからのメールメッセージを認証するためのプロトコルです。
これは、メールメッセージが正当なものであるかどうかを判断するために、一連のルールを使用します。
SPFとDKIMは、DMARCの文脈で認証目的で使用される他の2つのプロトコルです。

SPFは、Sender Policy Frameworkの頭文字をとったもので、メールプロバイダが送信者の身元を確認し、スパムメッセージをブロックする方法を規定したものです。
DKIMは、DomainKeys Identified Mailの略称で、送信時にメッセージを暗号化し、目的地のサーバに届いたときに公開鍵暗号を使って再度署名することで機能します。

DMARC、SPF、DKIMは、組み合わせることでメール認証の3本柱になります。
これにより、メールが第三者によって偽造、改竄、ハッキングされることを防ぎます。

DMARC評価アルゴリズム

DMARCの評価アルゴリズムは、SPFとDKIMによる認証結果を考慮したブール値※です。
その後、メールメッセージを正当なものとして受け入れるかどうかを決定します。
その値は、以下の2つの結果に分かれます。

※訳注:ブール値とは、ブーリアン値ともいい、真または偽の値を持つデータのことです。
上記では、SPFとDKIMが認証に成功したか失敗したかで評価する、という意味です。

1. 合格

メールがSPFとDKIMの両方の認証に合格するか、またはそのうちの1つに合格しています。
そのため、問題ないとみなされ、受信サーバによって受け入れられます。
「合格」認証アルゴリズムを簡単な方程式にすると以下になります。

SPF/DKIMの有無で異なるDMARCの合格判定
SPF/DKIMの有無判定式
SPF/DKIMが両方あるDMARC認証合格 = 有効なSPF識別子が一致したSPFレコード or 有効なDKIM識別子が一致したDKIMレコード
DKIMが欠けているDMARC認証合格 = 有効なSPF識別子が一致したSPFレコード
SPFが欠けているDMARC認証合格 = 有効なDKIM識別子が一致したDKIMレコード

2. 不合格

メッセージがSPFとDKIMの両方の認証チェックに失敗し、形式が不正であるか、悪意のあるコンテンツが含まれている(可能性が高い)ことを示しています。

DKIMを使用せずにDMARCを設定できるか?

DMARCは以下の3つの状況で通過します。

  1. 有効なSPFとDKIMの両方がある場合
  2. 有効なSPFがあり、DKIMがない場合
  3. 有効なDKIMがあり、SPFがない場合

つまり、DKIMがなくてもDMARCを設定することは可能です。
DMARCは、認証のためにSPFとDKIMの上に構築されていますが、両者は独立した技術です。

一般的な意味で、SPFは「経路認証」メカニズムであり、IPが特定のドメインを代表してメッセージを送信することを許可するものです。
一方、DKIMは「コンテンツ完全性」メカニズムであり、送信したものがサーバに届いたときに変化していないことを保証するものです。

したがって、それらは相互に効果を発揮するために、互いに依存していないといえます。
両者は並行して、または互いに独立して使用することができます。

しかし、SPFとDKIMの両方をDMARCと一緒に使用することが推奨されます。
これらの機能は、より堅牢なDMARC認証機能を提供するために連携しているからです。
DKIMを使用しないDMARCは、可能ではありますが、推奨される方法ではありません。

DKIMがないメールをメールクライアントはどのように扱うか?

ほとんどのメールクライアントは、DKIMがないメールをスパムとして扱います。
場合によっては、受信者のメールサーバでメッセージがフラグ付けされ、スパムとしてマークされることもあります。
また、一部のメールサービスプロバイダは、意図したものとは異なるドメインから発信されたメッセージとして、受信者に表示することがあります。

例えば、OutlookやGmailでは、DKIMのないメールは受信者の受信トレイに正しいFromアドレスで表示されますが、「送信者(sent by)」または「経由(via)」は他の誰かになります。※
これは受信者にとって混乱を招き、あなたではなく他の誰かがメッセージを送信したと信じることさえあります。

※訳注:DKIMを設定していないと本来表示されないはずの送信者アドレスや経由アドレスが表示されるために、不審なメールと判断される可能性がある、ということです。
詳しくは以下をご覧ください。

DKIMの有無で異なるMUAでの表示
MUADKIMなしDKIMあり
OutlookOutlookは受信者の受信トレイに「送信者」アドレスを表示します。OutlookはFromアドレスのみを表示します。
GmailGmailは受信者の受信トレイに「経由」アドレスを表示します。GmailはFromアドレスのみを表示します。

ただし、メールにDKIMが存在する場合、上記の問題は発生しにくくなります。
送信サーバはクライアントの画面に表示されなくなるため、スパム扱いされたり迷惑メールフォルダに入る可能性が低くなります。
また、表示されるのがFromアドレスのみになると、メールマーケティング戦略を通じて顧客を探している送信企業にとって高い信頼性が得られます。

DKIM付きDMARCとDKIMなしDMARCの設定による結果

DKIM付きDMARCを設定することで、メールがスパムフィルタにフラグ付けされてブロックされるのを防ぐことができます。
しかし、DKIMなしでDMARCを設定すると、誤検出が増えるだけでなく、受信者が送信者のメールアドレスを確認しようとしたときに遅延が発生する可能性があります。
このセクションでは、DKIMを使用したDMARCとDKIMを使用しないDMARCを設定した場合に起こりうるいくつかの結果について見ていきます。

1. メールの信頼性を確認する場合

SPFベースのアプローチのみでは、DMARCによる保護は見えない「封筒の送り主」アドレス(MAIL FromまたはReturn-path)に限定されます。
これらは、送信者からのバウンス(配信不達報告)を受信するために使用されます。

しかし、DKIMとSPFが組み合わされると、DMARC保護は「ヘッダFrom:」アドレスや受信者に見えるアドレスにも適用されます。
これにより、DMARCをSPFだけで使用するよりも、よりメールの信頼性を高めることができます。

2. メールを転送する場合

SPF認証は、SPFレコード(メールを送信するサーバのIPアドレス)を含むメールを別のサーバに送信することで機能します。
もう一方のサーバは、このIPアドレスが登録されているかどうかを認証し、自分たちが持つSPFレコードで返答します。
もし持っていなければ、リクエストを拒否します。

しかし、メール転送の場合、中間サーバのIPアドレスが送信ドメインのSPFリストにあるとは限らないため、SPF認証が失敗することがあります。
その結果、DKIM署名のない正当なメールがDMARC認証に失敗し、偽陰性(正しいのに、誤っているとされる状態)となります。

もしDKIMがこのドメインに設定されていたら、偽陰性にはなりませんでした。
しかし、それはなぜでしょうか?

DKIM署名(d=)はメール本文そのものに付加されるのに対し、SPFは「Return-Path」ヘッダに付加されています。
メール転送の場合、メール本文には手を加えず、変更されないため、メール本文に含まれるDKIM署名(d=)はそのまま保持されます。
つまり、メール本文に含まれる公開鍵と秘密鍵のペアで送信者の身元が確認でき、DMARC認証を通過します。

一方、SPFは「Return-Path」ヘッダに付加されているため、メール転送の場合に変更されます。
そのため、その有効性は検証されず、結果的に偽陰性となってしまうのです。

結論として、メール転送によってSPF認証は失敗しますが、DKIMはメール本文に付加されているため、メール転送に耐えることができます。
そのため、DKIMと共にDMARCを設定することが重要です。

3. IPアドレスを更新する場合

メールを送信すると、受信サーバはメールのヘッダが改竄されていないかどうかを確認します。
もし改竄されていた場合、受信サーバはメッセージを拒否し、通知を送ります。
そこで登場するのがSPFです。

SPFは、送信サーバのSPFレコードにIPアドレスが有効なものとして登録されているかどうかを確認します(つまり、なりすましのIPアドレスでないかどうかということです)。
IPアドレスが変更された場合、SPFレコードを新しいアドレスで更新する必要があります。
これにかかる時間は、IPアドレスをどれくらい頻繁に変更するかによりますが、ほとんどの場合、新しいSPFレコードが有効になるまでに最大48時間かかります。

では、メールプロバイダが新しいIPを追加した場合、どうなるでしょうか?
この場合、SPFレコードの更新が伝播する時間がかかるため、メール配信が遅延することがあります。
ただし、DKIMとSPFの両方を設定すれば、DKIMの暗号化署名を使用して、sender@yourdomain.comのメールサーバが送信を許可されていたことを証明することで、この問題を回避できます。

つまり、IP範囲が変更されても、DKIMは特定のドメインからのメールが本物で正当であることを確認できるということです。

DKIMなしでのDMARCの使用:考えられるOK/FAILシナリオ

DKIMとSPFの仕組みを利用すると、「なりすましを防ぐ」という同じ目標を達成するために、事実上2つの異なるツールを効果的に使用していることになります。
両方とも独立して動作しますが、それぞれ独立して失敗することもあります。
たとえば、SPFはDKIMとは無関係に失敗し、DKIMはSPFとは無関係に失敗します。

以下は、DMARCを設定する際にDKIMを使用する場合としない場合で考えられる4つの成功/失敗の状況です。

状況 その意味 メール配信ステータス
SPF合格、DKIM合格 メールが正当な送信元から送信されていることを保証します。
サーバは有効なSPFレコードと有効なDKIM署名があるため、メール送信を許可されます。
受信トレイに配信
SPF合格、DKIM失敗 メールは認証済みのサーバによって配信されますが、DKIM署名の検証が失敗したことを意味します。 迷惑メールフォルダまたはジャンクフォルダに配信
SPF失敗、DKIM合格 メールのDKIM署名は有効ですが、送信サーバにはメールを配信する権限がありません。 迷惑メールフォルダまたはジャンクフォルダに配信
SPF失敗、DKIM失敗 SPFとDKIMの両方が失敗すると、メールはなりすましと見なされ、受信者のDMARC対応メールサーバによって拒否されます。 配信されない/拒否される

※訳注:ジャンクフォルダに入ったメールは、通常の受信トレイには表示されません。

完全なDMARCの実装が今こそ必要!

SPFとDKIMは、なりすましを防ぐために適切なDMARCレコードを実装するために使用される最も一般的なメール保護メカニズムです。
適切なDMARC実装が既存のメールインフラに適用されると、メールメッセージが意図した通りに配信されます。
これにより、スパム苦情の減少、ブラックリストの誤検出の減少、およびすべての購読者の配信統計の改善が期待できます。

PowerDMARCは、DKIM、SPF、およびDMARCポリシーを含む完全なDMARC実装サービスを提供し、ドメインに適用します。
これにより、メールからより信頼性の高い結果を得ることができます。

オンラインでDKIMレコードを生成するか、無料のDMARCトライアルを利用して、複雑で絶えず変化するメールセキュリティの世界への完全な解決策を手に入れましょう。
PowerDMARCのトライアルをお試しになりたい方は、こちらからお問い合わせください。