BLOG ブログ


2023.03.31 TECH

メール認証技術「SPF」「DKIM」「DMARC」をやさしく解説

メール認証技術をやさしく解説

電子メールの送信者(WEBサービス運営者)は、情報を必要としている相手に対して、メールを正常に届けたいと思い、メールの受信者は、なりすましなど悪質なメールは受け取りなくない。メールの利用者(送受信者)にとっては当然の希望なのですが、フィッシング攻撃や悪質なウイルス感染を企んでいる悪意ある存在がいるため、思うような情報のやり取りができない現状があります。

メール利用者の悩み

メール配信サービス業者

  • 登録会員から必要なメールが届かないと問い合わせがくる
  • 自社のドメインをなりすましメールで利用されてしまい、デマ情報が配信されてしまった

一般ユーザ

  • 自ら望んでWEBサービスに登録したのに、認証メールやメルマガ情報が受信できない
  • なりすましメールを受信して、フィッシング詐欺の被害にあった。添付ファイルを開いたらウイルスに感染した

これらの悩みを解消する技術としてSPFDKIMDMARCがあります。

アドレス指定には、ヘッダとエンベロープの2種がある

「SPF」「DKIM」「DMARC」を理解する前に、メール差出元と宛先には「ヘッダ」と「エンベロープ」の2種があることを認識する必要があります。

  • エンベロープTo(宛先の指定)
  • ヘッダTo(宛先の指定)
  • エンベロープFrom(差出元の指定)
  • ヘッダFrom(差出元の指定)

このように、エンベロープもヘッダも、メールの差出元と宛先の指定することには変わりありません。

エンベロープとヘッダの違い

エンベロープは、実際の差出元と宛先。ヘッダは、表示上の差出元と宛先となります。簡単に言うとメールサーバ間(システム側)で判断しているのがエンベロープ。人間の目に触れる部分はヘッダとなります。

エンベロープとヘッダは、封筒と便箋に例えられることが多いです。

配達する人(システム)は、封筒(エンベロープ)に書かれている情報をもとに、宛先や差出人を特定するのに対して、手紙を受け取った人(ユーザ)は、中身の便箋に書かれている情報(ヘッダ)を確認します。

メールにおけるヘッダとエンベロープの違いの図

悪意のある人は、ヘッダ情報を書き換えることで、受信者をだますことができるのです。

エンベロープとヘッダの2種がある理由(BCC、メールリレー)

そもそもなぜ、ToアドレスやFromアドレスの指定が2種存在するのでしょうか。それは、BCC送信リレーメールサービスなどが関係しています。

BCC(Blind Carbon Copy)はご存じのとおり、メールの受信者に対して、ほかの受信者の存在を隠すメールサービスです。エンベロープtoには複数の宛先を指定して、ヘッダtoには特定の宛先しか表示させないことで、BCCを実現できるわけです。

メールリレーサービスは、多くの会員宛にDM配信する際によく利用されるWebサービスで、1種のメールサーバ(1種のIP)から大量のメールを送信すると、受信側のメールサーバは迷惑メールと判定してブロックや迷惑メールとして扱われる可能性があります。そこで、複数台のメールサーバ(複数のIP)を用意して順番に送信することで、メール送信を分散させることができるメールサービスです。

メールリレーは一般的に外部の専門業者に依頼するため、実際の送信元からメールリレーを中継して受信者に届けるため、エンベロープtoやエンベロープFromを変更する必要があるのです。

2種あるのには、それなりの理由があるのです。

SPF(Sender Policy Framework)とは

ここからが本題です。メールの利便性を保つために情報の書き換えが可能な状況下で、正規なメールとして扱ってもらうため、そして迷惑メールをブロックするためにメールの認証技術が存在するのです。

まずは、SPF(Sender Policy Framework)の解説から。

SPF(エス・ピー・エフ)の仕組み

SPFはメールの差出元のIPがドメイン情報(DNSへの設定)に登録されているかを判定します。Fromアドレスとして利用しているドメインとメールサーバのIPとの紐づけが正常にできているかを確認するわけです。ドメインのDNSの設定は、ドメイン保有者しかできないため、そこに登録されているメールサーバのIPが正しければ、送信元(エンベロープFrom)が正しい情報かどうかを判定することができます。

SPFの仕組みの図

SPFの弱点

SPFはシステム側の差出元(エンベロープFrom)しかチェックしないため、ヘッダFromの正当性やヘッダ情報の改ざんは感知することができません。

DKIM(DomainKeys Identified Mail)とは

SPFの弱点を補完する技術として、DKIM(DomainKeys Identified Mail)があります。SPFほど普及されていないですが、大手WEBサービスをはじめ、徐々に世の中に浸透しつつあるメール認証技術です。

DKIM(ディー・キム)の仕組み

SPFは単純に送信元のIPとドメインの整合性をチェックする技術ですが、DKIMは電子署名(秘密鍵/公開鍵)を利用して、メールの改ざんがないかを確認する技術です。

DKIMの仕組みの図

「第三者署名」と「作成者署名」

DKIMの署名方法には「第三者署名」と「作成者署名」の2種があります。

第三者署名

メール作成者ではなく、リレーメールサービスのように中間サーバにて電子署名を作成してメールに付与する方法です。ヘッダFromのドメインで電子署名を作成するわけではありません。

作成者署名

メール作成者にて電子署名を作成してメールに付与する方法です。ヘッダFromのドメインで電子署名を作成するため、認証としてはより強固なものになると言えます。
ただ、DKIMはSPFほど簡単ではなく、実装には専門的な技術が必要となります。特に「作成者署名」は「第三者署名」のようにリレーメールサービス業者に設定を委ねることができないため、実装のハードルはやや高くなるのが特徴です。

DKIMの弱点

前述のように実装のハードルが高い点と、送信元(メール作成者)の正当性を検証しづらい点が挙げられます。よって、「SPF」「DKIM」は単体で設定するのではなく、お互いの弱点を補完する意味でも、両方設定することが望ましいと言えます。

DMARC とは

DMARCは、「Domain-based Message Authentication, Reporting, and Conformance」の略です。長い。。。直訳すると「ドメインベースのメッセージ認証、レポート、および準拠」。よくわからないですね!

メールの認証技術として「SPF」「DKIM」「DMARC」と併記しましたが、「DMARC」は他の2種とは役割が明確に違います。

DMARC(ディー・マーク)の仕組み

DMARCは、メールの認証が失敗した時に受信サーバに対して、該当のメールをどのように処理すべきかをDNSに明記して、コントロールする技術です。

DMARCのポリシー

  • None :特に何もしない。受信者にそのままメールを送信する
  • Quarantine :隔離フォルダに移動される
  • Reject:メールをブロック。受信者に送信されない

メールの認証が失敗したときに、送信者(ドメイン所有者)が受信サーバに対して上記のポリシーを強制できる仕組みとなります。

DMARC レポート

DMARCのもう一つの特徴として、受信サーバからのレポートを受け取れる点が挙げられます。

  • SPF、DKIMの検証結果
  • 送信元情報(IPアドレス、地理的位置)
  • 宛先ドメインのDMARC情報
    など

レポートの受け取る意義としては、自身のドメインがなりすましなどで悪用された場合には、レポートとして報告を受けるため、いち早く被害状況を把握することができます。

DMARCの仕組みの図

DMARC の弱点

DMARCは受信サーバにも設定されていないと、適用することができないこと。
また、レポート機能が個人情報の流出につながるのではと警戒されて、なかなか普及されにくいともいわれています。

あとがき

前職で、自社コンテンツの運用業務を7年ほど経験しましたが、会員向けのメール疎通にはかなり苦心しました。SPF設定はもちろん、リレーメールサービスを導入して負荷分散したり、エラーメールの解析などで、無駄なメール送信を控えてブラックリストに入らないように配慮したり。一方でイベントやキャンペーン情報はマメに送信しないと、そもそも集客が見込まれないのも現実としてありました。

その頃の自分には「DKIM」や「DMARC」の知識はなく、世間的にも普及はされていなかったと思います。昔と違ってメールの認証技術の普及はかなり進んでいると思います。GmailやYahoo!メールなどクラウドメールが主流になっていることも一因としてあると思われます。

情報を正確かつ的確に送信すること、受信できること。Webビジネスにはとても重要な要素であると思います。メールの認証技術がさらに発展、普及することを願います。


一覧に戻る


LATEST ARTICLE 最新の記事

CATEGORY カテゴリー