QUALITIA Blog

【SPF/DKIM/DMARC】なりすましや改ざんを防止する送信ドメイン認証とは?

2024.09.11 2024.09.18

こんにちは。株式会社クオリティア マーケティング部です。
IPA(独立行政法人 情報処理推進機構)が毎年発表している「情報セキュリティ10大脅威 2024」で「組織」向けの脅威として「ランサムウェアによる被害」を始めとする様々な脅威が挙げられています。その10大脅威の中でメールに関連している脅威は4つあり、情報セキュリティを考える中でメールセキュリティの重要性がわかります。
この記事では、メールのセキュリティ性を高める技術として、SPF/DKIM/DMARCなどの送信ドメイン認証について解説します。

送信ドメイン認証とは?

送信ドメイン認証とは、DNSに記載されたドメインに付与された情報を利用して、受信したメールがなりすましや改ざんされていないかを検証するための仕組みのことです。サイバー攻撃としても使われてしまうメールの安全性を高めるために注目されています。

送信ドメイン認証はなぜ必要なのか

SMTPは「Simple Mail Transfer Protocol」のことで、現在もメールの配送に使われています。SMTPの仕組みはシンプルで、基本的に以下の3つの手順で通信を行います。

① 送信元アドレス(エンベロープFrom)を伝える

=通信に失敗した場合にエラーメールを送信する必要があるため一番初めに伝えられます。

② 宛先のアドレス(エンベロープTo)を伝える

=送付先のメールアドレスが存在するか確認しメールデータを受け取る準備をします。

③ 実際のメールデータを送付する

=ヘッダー情報や本文、添付ファイルなどのメールデータをまとめて送付しています。

この時③で送付されたメールに記載された送信者のアドレス(ヘッダーFrom)や宛先のアドレス(ヘッダーTo)は、①や②と同じものとは限りません。
またこれらのアドレスは送信者によって自由に宣言することができ、アドレスの正しさを確かめる機能はSMTPにはありません。

そのため、なりすましや改ざんを防止するため別途送信ドメイン認証を取り入れる必要があります。

送信ドメイン認証の種類と仕組み

現在送信ドメイン認証として3つの仕組みが利用されています。以下ではそれぞれの仕組みについて紹介します。

SPF(Sender Policy Framework)

SPFの仕組み

SPF(エスピーエフ)は送信元が正しいサーバーから送付してきているかどうかを確認する仕組みです。ドメインの管理者はDNSにSPFレコードとして送信サーバーのIPアドレスを公開しておきます。メールを受信したサーバーはエンベロープFromのドメインのSPFレコードを確認して、メールの送信元のIPアドレスを認証します。
攻撃者がエンベロープFromを詐称して送付されたメールは送信元IPアドレスが異なるのでSPF認証で「fail」となります。

DKIM(Domain Keys Identified Mail)

DKIMの仕組み

DKIM(ディーキム)は公開鍵暗号方式を利用した電子署名に基づく、メールの改ざん検知のための仕組みです。ドメイン管理者は公開鍵暗号方式に使用するカギ鍵ペアを作成しDNSに公開鍵を設置します。メールが送信される際にメールのハッシュ値を秘密鍵で暗号化し、公開鍵の場所を示すドメイン名と合わせた電子署名をメールに付与して送付します。受信したサーバーは署名についたドメインのDNSから公開鍵を確認し、暗号化されたハッシュ値とメールのハッシュ値を比較して改ざんがないことを検証します。またこの時、署名のドメインの公開鍵で復号ができたことから、署名のドメインが送信者であることが確認できます。
攻撃者が署名を偽造しようとしても秘密鍵によってハッシュ値を暗号化できないため、署名の検証が行えずDKIM認証は「fail」となります。

DMARC(Domain-based Message Authentication, Reporting and Conformance)

DMARCの仕組み

DMARC(ディーマーク)は、SPFとDKIMの認証を補完し、なりすましメールの流量を検知するための仕組みです。
SPFとDKIMは「エンベロープFrom」と「署名のドメイン」を認証する仕組みのため、メール画面で表示される「ヘッダーFrom」を認証するものではありません。そのため、攻撃者が自身のDNSに「SPFレコード」や「公開鍵」を設置することで認証を「PASS」した上で「ヘッダーFrom」を偽装しなりすますことが可能でした。
DMARC では「ヘッダーFrom」のなりすましを防ぐために、「SPF」と「DKIM」に利用したドメインが「ヘッダーFrom」と同一かどうかを検証します。この検証を「アライメント」と呼ばれます。「SPF」「DKIM」に加えて「SPFアライメント」「DKIMアライメント」の4つに「fail」が1つでもあれば、DMARCも「fail」となります。

またDMARCでは「fail」となったメールの処理方法を「ヘッダーFrom」のドメインに登録された宣言によって処理します。宣言には「配送(none)」「隔離(quarantine)」「拒否(reject)」の3つの種類があります。さらにDMARCでは「fail」となったメールのレポートが送付されます。このレポートを分析することで自社ドメインでのなりすましメールがどの程度流通しているのかを把握することができます。
自社のなりすましメールの流通量と正規のメールへの影響を見ながら宣言を調整しながら運用する必要があります。

まとめ

この記事では、なりすましや改ざんを検知する送信ドメイン認証について紹介しました。
メール攻撃の脅威が存在する中、送信ドメイン認証はメールの安全性を高めるための手段として利用できますので、この記事をよく読んで理解を高めてください。
しかし、すべてが「なりすましドメイン」である場合には「SPF/DKIM/DMARC」の認証をPASSしてしまいます。これはなりすましドメインから送られてきていることを認証しているためです。そのため送信ドメイン認証も完ぺきではなく最後は送信されたドメインが正しいドメインであることを人の目で確認する必要があることを覚えておく必要があります。

Gmail宛のメールが送れなくなった理由も実は…

最近Gmail宛にメールが送れなくなったということはありませんか? それはGmailのメール送信者のガイドラインが更新されたことが原因かもしれません。
1日に5,000通以上のメール送信する一括送信者には、同じように大量にメールを送りつけるスパムやメール攻撃との差別化を図るためSPF/DKIM/DMARCなどの送信ドメイン認証の設定をすることが求められています。
しかしながらSPF/DKIM/DMARCの送信ドメイン認証を設定するには、DNSサーバーに各種設定を書き加える必要があります。DNSサーバーへの設定方法はご利用している環境やサービスによって異なるため、一筋縄ではいかないのが現状です。
クオリティアでは送信ドメイン認証の設定代行のサービスもご用意しております。
Gmailの送信者ガイドライン対応やメールセキュリティに関するご相談はクオリティアまでお気軽にお問い合わせください。

Gmailのメール送信者のガイドラインについてはこちら
参考:Gmail宛のメールが送れなくなった理由

送信ドメイン認証のご相談はこちらDKIM/DMARCの基礎動画はこちら

株式会社クオリティア マーケティング部
mktg-info@qualitia.com
https://www.qualitia.com/jp/

メールソリューションに関する
ご質問・資料請求などございましたら
お気軽にお問い合わせください。

お見積り依頼・ご質問・ご相談はこちらから新規のお客様・パートナー様既存のお客様・パートナー様