Slide 1

Slide 1 text

BABY JOB株式会社 加納悠史 SPF / DKIM / DMARC

Slide 2

Slide 2 text

SPF 2

Slide 3

Slide 3 text

DKIM 3

Slide 4

Slide 4 text

DMARC 4

Slide 5

Slide 5 text

説明できますか?

Slide 6

Slide 6 text

メールのセキュリティは ややこしい ▰ 元は単純仕様 ▰ “後付け”でルールが増えていく ▰ 基本紳士協定(RFC) 6

Slide 7

Slide 7 text

メールセキュリティと Gmail ▰ Gmailが対応を強制 ▰ 2024年以降は対応必須 ▰ 事実上の “絶対命令” 参考:メール送信者のガイドライン 7

Slide 8

Slide 8 text

でも、 メールって意識しないよね ▰ アプリ開発者はとくに ▰ 最初に構築したら終わり 8

Slide 9

Slide 9 text

よくある アプリでのメール利用 9 ユーザA アプリ ユーザ登録 完了メール ユーザ登録

Slide 10

Slide 10 text

稀によくある アプリでのメール利用 10 ユーザA アプリ 操作 "ユーザA"として メールを配信

Slide 11

Slide 11 text

よくある アプリでのメール利用 エンジニアだけの努力では解決できない ▰ ユーザに設定してもらう項目がある ▰ CSからユーザに伝えてもらわないといけない 11

Slide 12

Slide 12 text

2024年以降 アプリ開発では メールセキュリティの知識が必須 しかも非エンジニアにもわかってもらう必要が   なのに非エンジニア向けの資料が少ない!! 12 Gmailの おかげで

Slide 13

Slide 13 text

この発表の目的 メールセキュリティの基礎を できるだけわかりやすく解説 エンジニアじゃない人へ 説明する時の材料にしてもらう

Slide 14

Slide 14 text

この発表で触れること ● SPFのしくみ ● DKIMのしくみ ● DMARCのしくみ ※ その他のセキュリティ、Gmailガイドラインの中身には触れません 14

Slide 15

Slide 15 text

おことわり 非エンジニア向け資料を目指しましたが、以下の用語は事前に調べておいてください。 ● IPアドレス: ○ サーバなどに割り振られている識別子 ○ 192.168.99.100 のように数字で表される ● ドメイン: ○ IPアドレスに紐づけられている別名です ○ (語弊はありますが)「メールアドレスの@以下の部分など」です 15

Slide 16

Slide 16 text

加納 悠史 PHPでの開発 / 設計 / その他色々 @YKanoh65 BABY JOB株式会社 所 属 お仕事 その他   Twitter PHPer ダイビング 観葉植物 カノウユウジ

Slide 17

Slide 17 text

メールのセキュリティ SPF / DKIM / DMARC

Slide 18

Slide 18 text

それ れの関係性 18 SPF DKIM DMARC SPFとDKIMをベースにした 送信元検証 と 結果の報告を 行うしくみ なりすましを防ぐしくみ メール内容の改ざんを防ぐしくみ

Slide 19

Slide 19 text

それ れの関係性 19 SPF DKIM DMARC SPF と DKIM は 単体でも利用できる なりすましを防ぐしくみ メール内容の改ざんを防ぐしくみ

Slide 20

Slide 20 text

それ れの関係性 20 SPF DKIM DMARC ただし 両方とも弱点がある なりすましを防ぐしくみ メール内容の改ざんを防ぐしくみ 弱点あり 弱点あり

Slide 21

Slide 21 text

それ れの関係性 21 SPF DKIM DMARC 両方の弱点を 補う技術がDMARC それぞれの"拡張"みたいなこともやっている なりすましを防ぐしくみ メール内容の改ざんを防ぐしくみ 弱点あり 弱点あり SPFとDKIMをベースにした 送信元検証 と 結果の報告を 行うしくみ 死角なし 諸説あり

Slide 22

Slide 22 text

SPF Sender Policy Framework SPF DKIM DMARC

Slide 23

Slide 23 text

SPF Sender Policy Framework できること ● エンベロープFrom のなりすまし防止 弱 点 ● ヘッダFrom のなりすましには無力 ● 必須ではない 23

Slide 24

Slide 24 text

SPF Sender Policy Framework できること ● エンベロープFrom のなりすまし防止 弱 点 ● ヘッダFrom のなりすましには無力 ● 必須ではない 24 ちょっと 待て!!

Slide 25

Slide 25 text

SPF Sender Policy Framework できること ● エンベロープFrom のなりすまし防止 弱 点 ● ヘッダFrom のなりすましには無力 ● 必須ではない 25 なんやこれ?

Slide 26

Slide 26 text

26 非エンジニア向けって 言うたやん 数分前のスライド

Slide 27

Slide 27 text

SPF Sender Policy Framework できること ● エンベロープFrom のなりすまし防止 弱 点 ● ヘッダFrom のなりすましには無力 ● 必須ではない 27 急にカタカナ 使われても 困る

Slide 28

Slide 28 text

ごめんなさい。解説します... 28

Slide 29

Slide 29 text

メールのFromアドレスは 2つある From: user@exam… From: user@exa… 封筒に書いてあるアドレス 本文に書いてあるアドレス

Slide 30

Slide 30 text

エンベロープ From ● 配信時に使われるFromアドレス From: user1@example.com 封筒に書いてあるイメージ。 メールの配信は封筒を見て行われる。 エンベロープ

Slide 31

Slide 31 text

エンベロープ From From: user1@example.com 封筒に書いてあるイメージ。 メールの配信は封筒を見て行われる。 エンベロープ 以降、 「封筒From」 と呼びます ● 配信時に使われるFromアドレス

Slide 32

Slide 32 text

ヘッ From ● 本文に書いてある情報 ● 普段見るのはこっち 本文の先頭部分に書いてある。 From: user1@example.com ヘッダ

Slide 33

Slide 33 text

● 本文に書いてある情報 ● 普段見るのはこっち ヘッ From 本文の先頭部分に書いてある。 From: user1@example.com ヘッダ 普段見ているのは ヘッダFrom

Slide 34

Slide 34 text

● 本文に書いてある情報 ● 普段見るのはこっち ヘッ From 本文の先頭部分に書いてある。 From: user1@example.com ヘッダ 普段見ているのは ヘッダFrom 以降、 「本文From」 と呼びます

Slide 35

Slide 35 text

SPF Sender Policy Framework できること ● エンベロープFrom のなりすまし防止 弱 点 ● ヘッダFrom のなりすましには無力 ● 必須ではない 35

Slide 36

Slide 36 text

SPF Sender Policy Framework できること ● 封筒From のなりすまし防止 弱 点 ● 本文From のなりすましには無力 ● 必須ではない 36

Slide 37

Slide 37 text

SPF Sender Policy Framework できること ● 封筒From のなりすまし防止 弱 点 ● 本文From のなりすましには無力 ● 必須ではない 37 こっちから 説明

Slide 38

Slide 38 text

SPFのしくみ 利用する情報 ● メール送信サーバのIPアドレス ● 台帳管理サーバ(DNSサーバ) 38

Slide 39

Slide 39 text

39 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド

Slide 40

Slide 40 text

40 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 🤝サーバ aa.aa.aa.aa です。 メールをお届けします! 封筒From:  user@example.com

Slide 41

Slide 41 text

41 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド ありがとうございます。 お受けします。 封筒From:  user@example.com

Slide 42

Slide 42 text

42 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド メモメモ... example.com さん っと …。 封筒From:  user@example.com

Slide 43

Slide 43 text

43 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド これは本当に example.com からの メールだろうか? 封筒From:  user@example.com

Slide 44

Slide 44 text

この時点でわかる 送信サーバからの情報 ● サーバのIPアドレス ○ 偽装はできない ■ HELOなどのコマンド送信時に確認される 44 ● 封筒From ○ 偽装可能 ドーモ、 サーバ aa.aa.aa.aa です 封筒From:  user@example.com

Slide 45

Slide 45 text

この時点でわかる 送信サーバからの情報 ● サーバのIPアドレス ○ 偽装はできない ■ HELOなどのコマンド送信時に確認される 45 ● 封筒From ○ 偽装可能 ドーモ、 サーバ aa.aa.aa.aa です 封筒From:  user@example.com 検証に使う

Slide 46

Slide 46 text

46 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド example.com の 台帳管理サーバに 聞いてみよう!! 封筒From:  user@example.com

Slide 47

Slide 47 text

47 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド example.com の 台帳管理サーバさん!! 封筒From:  user@example.com

Slide 48

Slide 48 text

48 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド aa.aa.aa.aa サーバは、 お宅の知り合いの サーバですか?? 封筒From:  user@example.com

Slide 49

Slide 49 text

49 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 封筒From:  user@example.com ちょっと待って “台帳”確認する...

Slide 50

Slide 50 text

台帳管理サーバが持っている"台帳" SPFレコード ● SPFを認証するIPのリスト ● リストに載っているIPなら本物とする 50

Slide 51

Slide 51 text

51 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 封筒From:  user@example.com …。 (台帳確認中...)

Slide 52

Slide 52 text

52 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 封筒From:  user@example.com あった あった!! aa.aa.aa.aa は ウチのサーバです!

Slide 53

Slide 53 text

53 封筒Fromの確認方法 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 封筒From:  user@example.com よかった。 封筒Fromは 本物ですね!

Slide 54

Slide 54 text

SPFとは 封筒From の 台帳管理サーバ に メールを送ったサーバのIP が登録されているかを確認する 54 example.com の 台帳管理サーバ DNSサーバ 封筒From:  user@example.com IP aa.aa.aa.aa って 信用できるサーバですか?

Slide 55

Slide 55 text

55 💀なりすましの場合 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 悪意ある人サイド evil-man.test メール送信サーバ IP:xx.xx.xx.xx そんなIP知らない! 台帳に載ってない! ニセモノだ!! 🤝サーバ xx.xx.xx.xx です。 メールをお届けします! 偽装封筒From:  user@example.com xx.xx.xx.xx サーバは、 お宅が承認した サーバですか?? 1 2 3

Slide 56

Slide 56 text

SPF Sender Policy Framework できること ● 封筒From のなりすまし防止 弱 点 ● 本文From のなりすましには無力 ● 必須ではない 56

Slide 57

Slide 57 text

57 ❌本文Fromの偽装 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 悪意ある人サイド evil-man.test メール送信サーバ IP:xx.xx.xx.xx 🤝サーバ xx.xx.xx.xx です。 メールをお届けします! 封筒From:  user@evil-man.test 偽装本文From:  user@example.com 台帳管理サーバ DNSサーバ

Slide 58

Slide 58 text

58 ❌本文Fromの偽装 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 悪意ある人サイド evil-man.test メール送信サーバ IP:xx.xx.xx.xx 封筒From:  user@evil-man.test 偽装本文From:  user@example.com 台帳管理サーバ DNSサーバ xx.xx.xx.xx サーバは、 お宅が承認した サーバですか?? せやで!!

Slide 59

Slide 59 text

59 ❌本文Fromの偽装 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 悪意ある人サイド evil-man.test メール送信サーバ IP:xx.xx.xx.xx 封筒From:  user@evil-man.test 偽装本文From:  user@example.com 台帳管理サーバ DNSサーバ なら信頼できるメールだな 本文Fromは偽装されたまま!

Slide 60

Slide 60 text

60 SPFは必須ではない メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 🤝サーバ aa.aa.aa.aa です。 メールをお届けします! 封筒From:  user@example.com xx.xx.xx.xx サーバは、 お宅が承認した サーバですか?? …。 (返事がない。) 返事がないなら 正しいメールとして 扱うか... 1 2 3 4

Slide 61

Slide 61 text

61 SPFを設定しないと... 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド xx.xx.xx.xx サーバは、 お宅が承認した サーバですか?? …。 (返事がない。) 返事がないなら 正しいメールとして 扱うか... 2 3 4 悪意ある人サイド evil-man.test メール送信サーバ IP:xx.xx.xx.xx 🤝サーバ xx.xx.xx.xx です。 メールをお届けします! 1 偽装封筒From:  user@example.com アウト

Slide 62

Slide 62 text

SPF Sender Policy Framework できること ● 封筒From のなりすまし防止 弱 点 ● 本文From のなりすましには無力 ● 必須ではない 62 DMARCで対応

Slide 63

Slide 63 text

DKIM DomainKeys Identified Mail SPF DKIM DMARC

Slide 64

Slide 64 text

DKIM DomainKeys Identified Mail できること ● 内容の改ざん防止 弱 点 ● 本文From のなりすましには無力 ● 封筒From のなりすましにも無力 ● 必須ではない 64

Slide 65

Slide 65 text

DKIM DomainKeys Identified Mail できること ● 内容の改ざん防止 弱 点 ● 本文From のなりすましには無力 ● 封筒From のなりすましにも無力 ● 必須ではない 65 こっちから 説明

Slide 66

Slide 66 text

DKIMのしくみ 利用する情報 ● 公開鍵暗号 ● 台帳管理サーバ(DNSサーバ) 66

Slide 67

Slide 67 text

DKIMメールの事前準備 ● 公開鍵 と 秘密鍵 を用意 ● 公開鍵 を 台帳管理サーバ に配置 ● 秘密鍵 は メール配信サーバ に配置 67 D N S サ ー バ ※公開鍵/秘密鍵 ってなに? データを暗号にできる鍵その解読を行える鍵のペアのこと。 秘密鍵で暗号(電子署名)にしたデータは、対応する公開鍵でしか解読できなくなる。 わかりにくければ、「施錠専用の鍵(暗号にする専用の鍵)」と「開錠専用の鍵(解読専用の 鍵)」と考えてください。 秘 公 公開鍵 持っといてー メール配信サーバ DNSサーバ ちょっと 待て!!

Slide 68

Slide 68 text

68 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド DKIM付きのメールを 送ろう!

Slide 69

Slide 69 text

DKIMメールの作り方 1. 秘密鍵 で暗号にしたメール内容を用意 2. 公開鍵を持つ台帳管理サーバ名を用意 3. 暗号データ と 台帳管理サーバ名を メールに載せる 69 メール配信サーバでの処理 メール内容 hogeさんへ 件名:title 本文: 力こそパワー 暗号データ krMpuE0t4vNMH Bp29nLzcbPe/W 2xr1YrXxXkrMpu E0t4vNMHBp29 暗号にする 台帳管理サーバ名 example.com 秘 DKIMデータ ※1 より正確には、「メール内容をハッシュ化した文字列」を秘密鍵で電子署名に変換している。 ※2 メール自体を暗号にして読めなくしているわけではない。あくまで、暗号にしたデータもメールに追加しているだけ。 ※1 ※2

Slide 70

Slide 70 text

70 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド メールです!! DKIM 付いてます!!

Slide 71

Slide 71 text

71 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド DKIM付きか どれどれ... DKIM情報 ● 暗号データ MYPteMoXWABcBur6owAc1vKXV… ● 暗号解読の”鍵”を持ったサーバ example.com メール内容 hogeさんへ 件名:title 本文: 力こそパワー

Slide 72

Slide 72 text

72 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド example.com の 台帳管理サーバさん!!

Slide 73

Slide 73 text

73 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 暗号解読の鍵ください!

Slide 74

Slide 74 text

74 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド OK! この鍵使いな!!

Slide 75

Slide 75 text

75 本文の偽装防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド もらった鍵で 解読できた!

Slide 76

Slide 76 text

DKIMでの改 ん確認方法 1. 公開鍵で暗号データを解読 2. 解読データとメール内容を比較 → 同一であれば改ざんなし!! 76 メール受信サーバでの処理 メール内容 hogeさんへ 件名:title 本文: 力こそパワー 暗号データ krMpuE0t4vNMH Bp29nLzcbPe/W 2xr1YrXxXkrMpu E0t4vNMHBp29 公 解読データ hogeさんへ 件名:title 本文: 力こそパワー 公開鍵で 解読 ※ 比較 ※より正確には、「解読データ」と「メール内容のハッシュ値」を比較している。  暗号データ(電子署名)を解読して取得できるデータは、メール内容をハッシュ化したものである。

Slide 77

Slide 77 text

メール配信経路で 改 んされていた場合 1. 公開鍵で暗号データを解読 2. 解読データとメール内容を比較 → 同一でない!   改ざんされていると判断!! 77 メール受信サーバでの処理 メール内容 hogeさんへ 件名:title 本文: フォースこそ力 暗号データ krMpuE0t4vNMH Bp29nLzcbPe/W 2xr1YrXxXkrMpu E0t4vNMHBp29 公 解読データ hogeさんへ 件名:title 本文: 力こそパワー 公開鍵で 解読 ※ 比較 差がある!! ※より正確には、「解読データ」と「メール内容のハッシュ値」を比較している。  暗号データ(電子署名)を解読して取得できるデータは、メール内容をハッシュ化したものである。

Slide 78

Slide 78 text

DKIM DomainKeys Identified Mail できること ● 内容の改ざん防止 弱 点 ● 本文From のなりすましには無力 ● 封筒From のなりすましにも無力 ● 必須ではない 78 DMARCで対応

Slide 79

Slide 79 text

DMARC Domain-based Message Authentication, Reporting, and Conformance SPF DKIM DMARC

Slide 80

Slide 80 text

SPF と DKIM を 組み合わせて使う できること ● 封筒Fromのなりすまし防止 弱 点 ● 本文Fromなりすましに無力 ● 必須ではない できること ● 内容の改ざんの防止 弱 点 ● 本文Fromのなりすましに無力 ● 封筒Fromのなりすましに無力 ● 必須ではない 80 SPF DKIM SPFで 担保可能

Slide 81

Slide 81 text

DMARC で実現できること SPF/DKIM の 拡張 NGメールの 処遇指定 なりすまし被害者への 通報 81

Slide 82

Slide 82 text

DMARC で実現できること SPF/DKIM の 拡張 NGメールの 処遇指定 なりすまし被害者への 通報 82

Slide 83

Slide 83 text

SPF と DKIM できること ● 封筒Fromのなりすまし防止 弱 点 ● 本文Fromなりすましに無力 ● 必須ではない できること ● 内容の改ざんの防止 弱 点 ● 本文Fromのなりすましに無力 ● 封筒Fromのなりすましに無力 ● 必須ではない 83 SPF DKIM これらの対策

Slide 84

Slide 84 text

SPF/DKIM の拡張 84 本文Fromの検証 を追加 ● SPFの場合 → 封筒Fromと同じドメインか確認 ● DKIMの場合 → 公開鍵を持つサーバと同じドメインか確認

Slide 85

Slide 85 text

SPF/DKIM の拡張 85 本文Fromの検証 を追加 ● SPFの場合 → 封筒Fromと同じドメインか確認 ● DKIMの場合 → 公開鍵を持つサーバと同じドメインか確認 「アライメント」と 呼ばれます

Slide 86

Slide 86 text

SPF/DKIM の拡張 86 本文Fromの検証 を追加 ● SPFの場合 → 封筒Fromと同じドメインか確認 ● DKIMの場合 → 暗号解読キーを持つサーバと同じドメインか確認

Slide 87

Slide 87 text

87 おさらい SPFとは 封筒From の検証技術 メール送信サーバ IP:aa.aa.aa.aa 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 封筒From:  user@example.com 🤝サーバ aa.aa.aa.aa です。 メールをお届けします! 封筒From:  user@example.com aa.aa.aa.aa サーバは、 お宅が承認した サーバですか?? せやで! 1 2 3

Slide 88

Slide 88 text

88 SPFのアライメント メール受信サーバ 受信者サイド 封筒From:  user@example.com 本文From:  user@example.com SPFで検証済み =信頼できるドメイン

Slide 89

Slide 89 text

89 SPFのアライメント メール受信サーバ 受信者サイド 封筒From:  user@example.com 本文From:  user@example.com SPFで検証済み =信頼できるドメイン 検証に使う

Slide 90

Slide 90 text

90 SPFのアライメント メール受信サーバ 受信者サイド 封筒From:  user@example.com 本文From:  user@example.com つまり 同じならOK! 「SPFアライメントが取れている」 と呼ぶ

Slide 91

Slide 91 text

SPF/DKIM の拡張 91 本文Fromの検証 を追加 ● SPFの場合 → 封筒Fromと同じドメインか確認 ● DKIMの場合 → 暗号解読キーを持つサーバと同じドメインか確認

Slide 92

Slide 92 text

92 おさらい DKIMでの改 ん防止方法 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド この鍵で 暗号解読しな!! 暗号解読の 鍵ください! もらった鍵で解読できた! ということは、 改ざんされていないな! 2 3 4 1 DKIM情報 ● 暗号データ ● 暗号解読”鍵”を持ったサーバ example.com

Slide 93

Slide 93 text

93 DKIMのアライメント メール受信サーバ 受信者サイド 本文From:  user@example.com DKIM情報 ● 暗号データ ● 暗号解読の”鍵”を持ったサーバ名 ○ example.com DKIMで使えた! =信頼できるドメイン

Slide 94

Slide 94 text

94 DKIMのアライメント メール受信サーバ 受信者サイド 本文From:  user@example.com DKIM情報 ● 暗号データ ● 暗号解読の”鍵”を持ったサーバ名 ○ example.com DKIMで使えた! =信頼できるドメイン 検証に使う

Slide 95

Slide 95 text

95 DKIMのアライメント メール受信サーバ 受信者サイド 本文From:  user@example.com DKIM情報 ● 暗号データ ● 暗号解読の”鍵”を持ったサーバ名 ○ example.com 同じならOK! 「DKIMアライメントが取れている」と呼ぶ

Slide 96

Slide 96 text

DMARC の結果 96 SPF、DKIM の結果で DMARC の結果が決められる

Slide 97

Slide 97 text

DMARC で実現できること SPF/DKIM の 拡張 NGメールの 処遇指定 なりすまし被害者への 通報 97

Slide 98

Slide 98 text

98 DMARCでNGの場合 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド なりすましメールを 見つけたのですが どうすればいいですか?

Slide 99

Slide 99 text

99 DMARCでNGの場合 メール送信サーバ 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド なりすましメールの 処遇を設定できる おいといて  or 隔離して  or 始末して

Slide 100

Slide 100 text

100 なりすましメールの処遇指定メリット 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 悪意ある人サイド メール送信サーバ DMARC:NG おいといて  or 隔離して  or 始末して なりすましメールの 処遇を設定できる

Slide 101

Slide 101 text

DMARCで設定できる リシー 101 none 何もしないで! quarantine 隔離しといて! (迷惑メールフォルダに入れるなど) reject 削除しといて! 「信用できないメールは削除」としておけば、 なりすましメールを送られても受信サーバで削除してもらえる!

Slide 102

Slide 102 text

DMARC で実現できること SPF/DKIM の 拡張 NGメールの 処遇指定 なりすまし被害者への 通報 102

Slide 103

Slide 103 text

DMARCレ ート ● なりすまされたドメインに送られるレポートメール 103

Slide 104

Slide 104 text

104 なりすましメールの処遇指定メリット メール受信サーバ 受信者サイド 悪意ある人サイド evil-man.test メール送信サーバ DMARC:NG DMARC:NG DMARC:NG 台帳管理サーバ DNSサーバ 送信者サイド example.com メール送信サー バ

Slide 105

Slide 105 text

105 なりすましメールの処遇指定メリット 台帳管理サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド 悪意ある人サイド evil-man.test メール送信サーバ メール送信サー バ 今日はこれだけ なりすまされてたで!

Slide 106

Slide 106 text

しかし そんなDMARCにも 弱点 が...

Slide 107

Slide 107 text

DMARCの弱点 その1 107

Slide 108

Slide 108 text

DMARCの弱点 その1 普及率 108

Slide 109

Slide 109 text

109 DNSに設定しないと意味がない メール送信サーバ DNSサーバ メール受信サーバ 送信者サイド example.com 受信者サイド じゃあいっか... DMARCやってません!!

Slide 110

Slide 110 text

この弱点は Googleが潰した 110 圧倒的シェアのGmailが必須化した → 対応しないとメールは届かないも同然 参考:メール送信者のガイドライン

Slide 111

Slide 111 text

DMARCの弱点 その2 111

Slide 112

Slide 112 text

DMARCの弱点 その2 しくみが わかりづらい 112

Slide 113

Slide 113 text

DMARCの弱点 その2 今、私が潰した 113

Slide 114

Slide 114 text

まとめ SPF ▰ メール送信サーバのIPアドレスを利用 ▰ 封筒Fromのなりすまし防止する ▰ 本文Fromのなりすましには無力 DKIM ▰ 公開鍵暗号を利用 ▰ メール内容の改ざんを防止する ▰ 本文Fromのなりすましには無力 DMARC ▰ SPFとDKIMを拡張 ▰ 本文Fromのなりすましも防止 ▰ なりすましメールの処遇を指定可能 ▰ なりすましメールを報告できる 114

Slide 115

Slide 115 text

参考情報 実務で使える メール技術の教科書 一般財団法人迷惑メール対策委員会 SPF(Sender Policy Framework) 一般財団法人迷惑メール対策委員会 DKIM (Domainkeys Identified Mail) 115