2025/08/24(日)メールセキュリティ覚書

GEMINIとの問答

https://g.co/gemini/share/63304f210bb1

総合理解

A SPF認証成功DMARCアライメント認証(envelope_fromとヘッダーFromの一致)
B DKIM認証成功DMARCアライメント認証(DKIM署名ヘッダーとヘッダーFromの一致)
A,Bのいずれかの成功で、DMARCは成功。BはDKIMが失敗してもARC認証が成功すればpassする。

メーリングリストで、envelope_fromを書き換えるタイプは、DMARCのSPFアライメントで失敗。envelope_fromを書き換えない場合は前段階のSPF認証で失敗する。
また、メーリングリストがDKIM証明内容のコンテンツを書き換えた場合には、DKIMは失敗する。subjectなどの書換は失敗要因。
よって、メーリングリストの場合は、ARC署名がないと、DMARC失敗となる可能性が高い。

Geminiの指摘
不足している点の指摘
あなたの理解は非常に優れていますが、以下の点を補足することで、より完璧なものになります。

DKIMアライメントの「緩和モード」: DKIMには厳格モードと緩和モードがあります。多くのメーリングリストは**緩和モード(relaxed)**で運用されており、header_fromとd=タグがサブドメインレベルで一致すればアライメントが成功します。例えば、header_fromが user@sub.example.com で、d=がexample.comであってもパスします。これはメーリングリストのような複雑な配信経路でDMARCを機能させるための重要な仕組みです。

DMARCポリシーの影響: DMARCは、認証が失敗した際にどのような処置をとるかを定めたpタグによって動作が変わります。

p=none: 失敗しても何もしない(モニタリングモード)

p=quarantine: 迷惑メールフォルダに入れる

p=reject: 受信を拒否する
メーリングリストが原因でDMARC失敗となる場合、そのドメインのポリシーがrejectに設定されていると、メールが受信者に届かなくなる可能性があります。

SPF

envelope from の認証技術であり、ヘッダfromなりすましは、防げない。

ドメインのDNS textレコード に メールサーバーのFQDNまたはIPアドレスを記載する。それを受信側で検証し、envelope from の正当性を検証する。

https://www.nri-secure.co.jp/glossary/spf
https://ent.iij.ad.jp/articles/172/
https://blastengine.jp/blog_content/write-spf-record/

設定例
https://www.naritai.jp/guidance_spf_example.html

DKIM

メールヘッダー部のDKIMヘッダーに、認証用ドメインを記載、これを認証する。
DKIMヘッダーには、認証用ドメイン、秘密鍵で暗号化したメール本文のハッシュを記載。受信側は、認証用ドメインのtextレコードから公開鍵を入手し、メール本文をハッシュと、暗号化ハッシュを公開鍵で解読したハッシュの一致を確認することで、認証用ドメインを確認する。

認証用ドメインは、ヘッダFromを記載する方法と、ヘッダFromではなくenvelope fromを記載する方法(=第三者認証)がある。第三者認証は、メール配信サービス(ML含む)で使われる。

第三者認証が使える以上、ヘッダfromなりすましを防止できない。

https://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/dkim/

DKIMでは、署名するヘッダーを選択できるが、通常、subjectヘッダも含まれており、subjectを変更するタイプのメーリングリストの場合、認証に失敗する。
(署名対象は、当該ヘッダー+本文)

ARCは、受信したサーバーが元のDKIMを認証し、成功していれば、自らが新たなDKIMを設定して転送する仕組みなので、MLサーバーが対応していれば、DKIMも連動して成功する。
さくらインターネットは、2025/1に、ARCにも対応した。

DMARC

Domain-based Message Authentication, Reporting and Conformance

SPF、DKIMは、envelope from と ヘッダーFromが異なることを許容するが、DMARCアライメントは、少なくとも一方において、[SPFにおいては認証が成功し、かつ、envelope from と ヘッダーFromが一致していること] [DKIMにおいては、d=ドメイン(=通常署名時のヘッダーFromが採用される)と到着時ヘッダーFromの一致]を要求する。
これにより、ヘッダーFromなりすましを防止する。

https://maildata.jp/specification/dmarc.html

転送メール、メール配信サービス、メーリングリストサービスを使う場合、SPFは、Alignmentチェックをパスしないので、DKIMにおいて、ヘッダFromを認証する方式を確保しておく必要がある。
しかし、DKIMも万能ではなく、転送、MLサービスによって、本文(可視ヘッダー含む)が改変された場合、ハッシュ一致しなくなるので、DKIMも失敗する可能性がある。特に件名を変更するタイプが要注意であろう。
その欠点を補完するために、ARCがある。
https://maildata.jp/specification/arc.html

これは転送にかかわる経路途中のサーバーにおいて、DMARC認証を行い、その結果を自身の信用情報とともに、受信サーバーにつなげる仕組みである。

Gmail のセキュリティーポリシーの変更 2024/2

https://zenn.dev/ken_yoshi/articles/gmail-new-requirements-2024

5000通未満と以上で対応が分かれるようだが、要確認

MLサービス参考

https://www.iij.ad.jp/biz/smx/mailboxplus.html#anc02
https://www.circle.ne.jp/ml/service.html#sample
http://www.kt.rim.or.jp/~atsato/ml/mlprov.html

DKIMヘッダーの例(Gemini)

以下は、メールヘッダーに実際に含まれるDKIM-Signatureフィールドの典型的な例です。
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=example.com;
s=20231120; t=1756479600; bh=g+Lq+J9uK8/b+R0j+v7oF+P+5F+n8P/J1+q/g==;
h=From:To:Subject:Date:Message-ID; b=...signature_string...

各タグの解説

v=1
意味: DKIM署名のバージョンを示します。現在はバージョン1が一般的です。

a=rsa-sha256
意味: 署名アルゴリズムを示します。

rsa: 公開鍵暗号方式のアルゴリズム。
sha256: ハッシュ関数。

c=relaxed/simple
意味: 正規化アルゴリズムを示します。

relaxed: 緩和モード。メールヘッダーの空白や大文字・小文字の違いを無視して検証します。
simple: 厳格モード。メールヘッダーの空白や変更を一切許容しません。

この例では、ヘッダーにはrelaxedモード、本文にはsimpleモードが適用されています。

d=example.com
意味: 署名ドメイン。このメールに署名した組織のドメインです。
DMARCアライメントの鍵となる部分です。 このドメインが、メールヘッダーのFromフィールドに記載されたドメインと一致するかどうかがDMARCアライメントの評価基準となります。

s=20231120

意味: セレクター。この署名を検証するために使用する公開鍵の名前を示します。

受信側のメールサーバーは、d=example.comとs=20231120の組み合わせでDNSサーバーを検索し、公開鍵を取得します。

t=1756479600
意味: 署名が作成された日時をUnixタイムスタンプで示します。

bh=...
意味: メールの本文のハッシュ値。本文が改ざんされていないかを確認するために使われます。

h=From:To:Subject:Date:Message-ID
意味: 署名に含まれるヘッダーフィールドのリスト。ここに記載されたヘッダーが改ざんされていないかを確認します。

b=...signature_string...

意味: 署名データ。hタグで指定されたヘッダーとbhタグで指定された本文のハッシュ値を、秘密鍵で署名した文字列です。受信側は公開鍵を使ってこの署名を検証します。
このDKIMヘッダー全体がメールに添付されることで、受信側はメールの送信元と内容が正当であることを確認できます。

歴史

2023年10月
グーグルがにGoogleは、Gmailの新しいガイドライン発表。2024.2から適用。
https://support.google.com/a/answer/81126?hl=ja

2024年1月31日
さくらインターネットがDKIM対応発表(SPFは以前から対応)
https://www.sakura.ad.jp/corporate/information/announcements/2023/12/19/1968214527/

2024年2月
新ガイドライン施行

2025年1月~2月
さくらインターネットがARC対応。
https://www.sakura.ad.jp/corporate/information/announcements/2025/01/14/1968218162/