なぜ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