なぜEmailは偽装できるか?
なぜメールの偽装ができるか? ⇒ 一言で言うと、電子メールと郵便は全く同じ仕組みだから。
郵便はいくらでも偽装可能
封筒(envelope)と便箋(Stationery paper)
- 我々がメールで見ているのは、言うなれば封筒入りで届いた便箋の中身だけ。
- 便箋の中に差出人として誰の名前を書こうと、封筒の情報が正しければ封筒は届くように、
- メールも同じで、この差出人の表示は送る側が自由に決められる。
- 送信元のメールアドレスが自動で表示されている訳ではなく、他人のメールアドレスを書くこともできてしまう。
封筒の差出人
- メールのソースの中の”Return-Path”が封筒の差出人にあたる。
- これは、メールが宛先に届かなかった場合にその旨を連絡する先のこと
- つまり、リアルの郵便と同じ用に、メールでも宛先に届かなかった時ように、Return-Pathで自分のアドレスを指定している
- そして、リアルの郵便と同じように、実はここを見ても本当の送信者はわからない。
- 勝手に偽装して総理官邸からのメールともできる
では、どうやってなりすましの見破るのか?
消印(Postmark) としての、SPF (Sender Policy Framework)
- メールソースの中に、嘘がつけない本当の情報はないのだろうか?
- 郵便の場合で考えると、それは消印。
- 誰が送ったかは騙せても、どこ(どの郵便局)から送ったかは騙せない。
- メールの場合、これは送信元IPアドレスという形で記載されている。
- この送信元IPアドレスを使ってスパムメールをあぶり出す方法として作られたのがSPF。
- まず、送信者は自分がどこから(どのIPアドレスから)メールを送るかという情報を公開する。
- 受信者は、メールの送信元IPアドレスをその情報と照らし合わせて正当性を見極める。
- 例えるならば、中野に住む人の手紙が中野郵便局ではなくロンドンから来たら、なりすましだと判断するような具合。
封蝋(Wax seal)としての、DKIM (DomainKeys Identified Mail)
- DKIMは、電子署名の技術を利用して、メールが正当な送信者から送られ、かつ改ざんされていないことを確認できる技術。
- 郵便に例えると、「封蝋」をするイメージ。
- 刻印されたオリジナルのスタンプは、差出人に偽りがないこと、手紙が開封されていないことを証明してくれる。
郵便物の取扱の決めごととしての、DMARC (Domain-based Message Authentication, Reporting, and Conformance)
- DMARCは、SPF / DKIMの両方の認証に失敗したメールを受信側サーバでどう扱うかを、送信側であらかじめ決めておくための仕組み。
- SPFおよびDKIMを用いて送信元ドメインを認証する際、 認証に失敗したメールをどのように取り扱うかは、受信者の判断に任せられている。
- また、認証に失敗したことやそのメールがどのように処理されたかは、 送信者には把握することができない。
- そういったSPFおよびDKIMの挙動を補強するために、DMARCが提案された。
- DMARCでは、認証失敗時にどのようにメールを処理すればよいかを、
- 送信者が受信者に対してポリシーと呼ばれるレコードをDNS上で公開することで表明する仕組みになっている。
- 受信者は認証に失敗した場合に送信者のポリシーを参照し、それに基づいてメールをどのように取り扱うかを決定する。
REFERENCES:
- https://sendgrid.kke.co.jp/blog/?p=12290
- https://www.nic.ad.jp/ja/basics/terms/dmarc.html