ブログトップ

公開日:

更新日:

10 min read

技術革新

SPF、DKIM、DMARCで強化するメールセキュリティ:設定と効果の解説

SPF、DKIM、DMARCで強化するメールセキュリティ:設定と効果の解説のイメージ

半年くらい前か年の初めのことだか忘れたが、Gmailが電子メールのセキュリティを強化しないと受信してやらないぞ!的な脅迫を始めたとかで、メールサーバーの設定が面倒くさいとかなんとか愚痴っていた。Dなんとかを設定するらしい。他人事だと思っていたが、最近はグローバルなネット社会がディープでフェイクなので、何が起こるか分からない。自分も設定することにした。

適当にAIに聞いて済まそうとして、却って面倒なことになった反省から、まずは自分で理解する。もちろん、AIを活用するに決まっている。

3つのキーワードがポイントのようだ。

SPF (Sender Policy Framework)

SPFって、あれだよな?確か無菌の豚で、生食できるやつ。最近はあまり見かけないが、一時期はちょくちょく売っていた気がする。だからこそ知っているわけだ。とんかつでは食べたことがあるような気がするが、豚肉を生で食べたいとはあまり思わない。などと言いながら、昔のことだが、豚の刺身を沖縄で食べたことがある。紅豚(あかぶた)だから大丈夫と言われて食べた。それほど美味くはなかった。その後も肝炎の検査でも何ともないから、大丈夫だったのだろう。それにしても、豚の刺身はあまり美味しくない。豚肉は火を通して食べるものだと再認識した。そう、ウェルダンが一番うまいのだ!!

そうじゃない?

SPF豚は「Specific Pathogen Free(特定病原体フリー)」の略で、特定の病原体を持たない豚のことを指します。この「SPF」は、電子メールセキュリティの「SPF(Sender Policy Framework)」とは全く別の概念です。 SPFは「差出人のポリシーフレームワーク」と訳せます。

  • 目的: 送信元のメールサーバーが正規のものかを確認すること。
  • 仕組み:
    1. ドメイン所有者が、メールを送信する許可を与えたサーバーのリストを公開します。
    2. 受信側のメールサーバーは、送られてきたメールの送信元IPアドレスがこのリストに含まれているかチェックします。
  • 例え: SPFは、「この郵便局からの手紙だけが本物です」という公式リストのようなものです。

まるほど。つまり差出人が本物かどうかを確認するわけだ。

DKIM (DomainKeys Identified Mail)

これって、ドキン?ドキンちゃん?アンパンマンの峰不二子と呼ばれている、あの赤いやつか?赤いから3倍わがままとか。

いいえ、DKIMは「ドキン」とは読みません。DKIMの正しい読み方について説明します。

DKIMは通常、以下のように読みます:

  • 英語では:D-K-I-M(ディー・ケイ・アイ・エム)
  • 日本語では:ディーキム

ああ、そうですか。ジョークだよ、ジョーク。

  • 目的: メールの内容が送信途中で改ざんされていないことを確認すること。 - 仕組み: 1. 送信側のメールサーバーが、メールの内容に基づいてデジタル署名を作成し、メールヘッダーに追加します。
  1. 受信側のメールサーバーは、この署名を送信者のドメインに公開された公開鍵を使って検証します。 - 例え: DKIMは、手紙に押される「封蝋」のようなものです。途中で開封されていないことを確認できます。

封蠟って今の若い人が分かるかな。異世界系によく出てくるから知ってるかな。

確かに、封蝋(ふうろう)は現代ではあまり馴染みがないかもしれませんね。異世界ファンタジー作品では確かによく登場しますが、それでも実際に見たことがある人は少ないでしょう。DKIMの説明に使う例えとしては、少し工夫が必要かもしれません。現代の若い人にも分かりやすい例えを考えてみましょう。

DKIMの仕組みを現代の若い人にも分かりやすく説明するための例えとして、以下のようなものはいかがでしょうか:

  1. デジタル指紋認証: 「DKIMは、メールに対する『デジタル指紋認証』のようなものです。送信者が独自の指紋(署名)をメールに付け、受信者がその指紋が本物かどうかを確認します。途中で内容が変更されると、指紋が一致しなくなります。」

  2. スマートフォンのロック解除: 「DKIMは、スマートフォンの顔認証やパスコードのようなものです。正しい『鍵』(公開鍵)を持っている人だけが、メールの正当性を『解除』(確認)できます。」

  3. QRコード認証: 「DKIMは、イベント入場時のQRコード認証に似ています。メールにはユニークなQRコード(署名)が付いていて、受信側がそれをスキャン(検証)することで、メールの真正性を確認します。」

  4. デジタルシール: 「DKIMは、デジタル版の『改ざん防止シール』のようなものです。パッケージに貼られているシールが破られていないかを確認するように、メールの内容が途中で変更されていないかを確認できます。」

これらの例えは、デジタル技術や日常生活の中で使われている認証方法を用いているので、現代の若い人にとってもイメージしやすいのではないでしょうか。

時代だねぇ。

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

DMARCは「ドメインベースのメッセージ認証・報告・適合」と訳せます。

  • 目的: SPFとDKIMの結果に基づいて、受信者がどのように対応すべきかを指示すること。
  • 仕組み:
    1. ドメイン所有者がDMARCポリシーを設定し、公開します。
    2. このポリシーには、SPFやDKIMの認証に失敗した場合の対応方法(拒否、隔離、許可など)が含まれます。
    3. また、認証結果のレポートを受け取る設定もできます。
  • 例え: DMARCは、「この手紙が本物でないと思われる場合は、こうしてください」という指示書のようなものです。

まとめ

  • SPFは送信元を確認します。
  • DKIMは内容の完全性を確認します。
  • DMARCはこれらの結果に基づいて対応方法を指示します。

これらの技術を組み合わせることで、なりすましメールやスパムを大幅に減らし、電子メールの信頼性を向上させることができます。

なるほどね。これでセキュリティもバッチリだ。

事前準備

DMARCの事前準備のユースケース図

PlantUML diagram

認証

ユースケース

メールの認証プロセスのユースケース図

PlantUML diagram

シーケンス

メールの認証プロセスのシーケンス図

PlantUML diagram

効果

自分のドメインを成りすましに使われることなんてないだろうと高をくくっていたが、ぽつぽつと認証エラーのレポートが送られてくる。頻度も少なく、単発なので、おそらくメアドの打ち間違いかとも思うが、送信メアドをそうそう間違えるだろうか?ネットカフェ等の共有パソコンからの送信ならば、そういうことも考えられるが、とりあえず月に数件なので、様子を見ようと思う。