レンタルサーバーやSSL関係のお役立ちコラム

さくらのホームページ教室

送信先で迷惑メール扱いされない?DKIM機能って何?

迷惑メールをたくさん受信して困っている方はとても多いと思いますが、特にビジネスユースの方は「自分が送ったメールが相手の迷惑メールフォルダに入ってしまう」という問題で困っている方もいらっしゃいます。今回は、そんな迷惑メールにまつわる機能をご紹介します。

送信先で迷惑メール扱いされない?DKIM機能って何?

迷惑メール振り分けの仕組み

迷惑メールフォルダには「勝手に入る場合」と「自分で入れる場合」があります。一度自分で迷惑メールに振り分けると次から同じメールアドレスから受信したメールは自動的に迷惑メールフォルダに入るという場合もあります。一体どのような仕組みで動作しているのでしょうか?迷惑メールフィルタは様々な種類があるため、今回は一般的なものを例に挙げて説明していきます。

迷惑メールフィルタはウィルス対策ソフトのような「アプリケーション」の一種ですが、一般の人がPCにインストールして使うよりは、メールを受信するレンタルサーバやGmailなどのサービス側でインストール・設定されていることがほとんどです。

このフィルタに受信したメールの情報を読み取らせることで、そのメールが迷惑メールか否かを判定してくれます。判定には「スコア制」が用いられていることが多く、「この送信元ならスコアプラス1」「この単語があるとスコアプラス2」「過去に同じ宛先や内容のメールを迷惑メールにしたのでプラス5」といったようにスコアが増えていき、「スコア50以上は迷惑メールと判定する」設定の場合、スコアが50を超えると迷惑メールフォルダに振り分けられるわけです。この基準となるスコア(閾値)は変更できる場合が多く、さくらのレンタルサーバでも弱〜中〜強の3段階で設定できます。

迷惑メールフィルタの強度を設定したい | さくらのサポート情報

送信元ドメインやIPアドレス、本文の内容など様々な判定要素があり、Cloudmark、Vade Secureといった商用の迷惑メールフィルタは世界中の迷惑メールのデータベースを構築し、これを判定する正確性を競っています。最近ではAI(機械学習)を用いて判定してくれるものもあります。

このようにスコアを増やす要素については、迷惑メールフィルタごとに様々なものが用いられますが、その中の一つに、「送信ドメイン偽装」があります。

なぜドメインは偽装されるのか

例えば、さくらインターネットではお客様へ数多くのメールを送信しており、そのなかには「この銀行口座にお金を振り込んでください」という内容のものもあります。こういったメールでの連絡はフィッシング詐欺に利用されることが多くあり、実際にさくらインターネットからの連絡を装ったフィッシング詐欺メールも観測されています。「support@sakura.ad.jp」というさくらインターネットのお問い合わせ送信メールアドレスをFrom(送信元)に設定して勝手に送られていますが、実際にはsakura.ad.jpから送られたわけではないので第三者が送信ドメインを偽装しているというわけです。

電子メールではメールソフトに表示されるFromは好きなものに設定できるため、実際にそのドメインを所有していなくてもFromに設定してメールは送れることになります。通常のメールソフトではFromのアドレスや名前をそのまま送信者欄に表示するため、「さくらインターネット support@sakura.ad.jp」と表示されるものの、実際には全くの別ドメインから送信されているといったことも可能になります。その結果、受信者は「あ、さくらインターネットにお金払わなきゃ!」と誤解してしまい、詐欺の口座に入金をしてしまうというわけです。フィッシング詐欺についての詳細は、以下のコラムでも取り上げています。送信元偽装とは別の次元で、フィッシング詐欺対策としては「メールで送られてきたリンクはクリックしない」が原則です。

詐欺サイトもSSL化が当たり前?!フィッシング詐欺被害を回避する4つの対策とは? | さくらのSSL

メールの送信元偽装を防ぐ3つの技術

このメールの送信元偽装を防ぐのには大きく3つの技術が一般的に使われています。

SPF(Sender Policy Framework)

SPFは送信者のIPアドレスをDNS経由でドメインと紐付けて確認します。support@sakura.ad.jp からメールが来た場合に、送信してきたメールサーバのIPアドレスはわかりますが、そのIPアドレスが本当にsakura.ad.jpなのかはわかりません。それを調べるのがSPFです。SPFはDNSに設定され、「sakura.ad.jpでメールを送ってるサーバのIPアドレスは〜ですよ」とsakura.ad.jpのDNSで確認できます。これはつまり、「sakura.ad.jp」のドメインを所有している人(この場合さくらインターネット)にしか編集できない場所にメール送信サーバのIPアドレスを公開していることになります。

これにより、迷惑メールフィルタやメール受信ソフトは受信したアドレスのSPFをDNS経由で検証し、実際に送られてきたIPアドレスがSPFに記載されたものと照合できます。合致すれば、送信されたメールは実際にさくらインターネットが送信している可能性が大きく高まります。ただし、メールには2つのFromがあり、SPFで検証しているのはメールソフトで表示するFromではなく、ヘッダーに書かれているFrom(Return-Path)のドメインを検証しています。

もちろん、メールヘッダの偽装は可能なので、送信元IPアドレスを正規のドメインのSPFから取得して、そのIPアドレスをメールヘッダに書いてしまえば送信元の偽装が可能になってしまいます。送信元IPアドレス偽装はFromヘッダ偽装よりは難易度が高いですが、可能ではあります。そこで登場するのが次のDKIMです。

DKIM(DomainKeys Identified Mail)

DKIMは送信時にメールヘッダーに電子署名を施します。受信者はDNSに設定されたDKIMの公開鍵を利用してその電子署名を検証でき、「メールヘッダーが改ざんされていないこと」を確認できます。DNSに設定された公開鍵は誰でも見ることができますが、それとペアになった秘密鍵は正規の送信者のサーバにしか存在しないため、ドメイン所有者が管理できるサーバから送信され、かつ改ざんされていないことが電子署名によって認証されるのです。逆に第三者がDKIMの電子署名をしようとしても、本当のドメイン所有者がDNSに公開している公開鍵とペアになる秘密鍵が無いため、電子署名の検証ができません。

メールヘッダーが改ざんされていなければ、送信者のIPアドレスやドメインが確かにその通りのサーバから送られてきていることがわかります。SPFにより送信元IPアドレスを検証することはできますが、メールヘッダーの送信元IPアドレスを改ざんされてしまっては意味がありません。これをDKIMによって難しくするわけです。SPFとDKIMをクリアすることでそのメールを送信したIPアドレスとドメインが紐付けられ、かつその内容が改ざんされていない可能性が大きく高まります。しかし、SPFで検証されるドメインはあくまでメールソフトで表示される送信者の欄ではないため、SPFとDKIMではまだ不完全と言えます。

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

DMARCではDKIMやSPFで検証した結果、クリアしなかったときにどうするのかを送信者が指示することができるとともに、SPFとDKIMの結果を総合してメールソフトで送信者として表示されるFromドメインを認証します。DNSでメールを送信するドメインにDMARC用のTXTレコードを設定するため、これもSPFやDKIMと同様に「ドメインを所有している人しか編集できない」というDNSの特性を利用しています。DMARCを利用することで迷惑メールと判定されたメールを受信者側でそのまま受信するか、拒否するか、隔離するかといった処理内容を送信者が指定することができ、さらにメールソフト側で処理した内容を送信者が受け取ることもできます。このように、SPF,DKIM,DMARCの3つが全て使えることによって送信メールの偽装を検知して適切に受信拒否や隔離ができるようになるわけです。

さらに新しい、ARC(Authenticated Received Chain)

ARCは、このSPFやDKIMによってメールヘッダーに加えられた情報を、メールが転送されていく過程でも保持、更新できる規格です。電子メールには数多くの中継サービスがありますが、この中継サービスを通過することによってメールヘッダーが変更される場合があります。すると、DKIMやSPFが検証できなくなり、迷惑メールとしてのスコアが上がってしまうことがあります。ARCは中継/転送された際もARCヘッダに記録することによって最終到着地でメールヘッダを検証できるようにします。

あくまで送信者を検証することに注意する

注意したい点として、ここまで紹介してきたSPF,DKIM,DMARCは、あくまで「送信者はFromに表示されているドメインのサーバから送られている」ことを担保してくれるだけにすぎません。ここまで対策を行っても、結局Fromの部分は適当な文字列を入れておき、Subjectにそれらしい件名を設定すれば「送信元のアドレスは正規のものではないけど件名は正規のものと同じメール」を送ることは可能で、この場合Fromのドメインは偽装する必要はなくなるので、SPF,DKIM,DMARC全てをPASS、つまり通過することは比較的簡単にできます。

上の画像のように、件名はそれらしいものが入っていますが、送信者はフリーメールになっています。このメールは送信者は確かに表示されているドメインでDMARCまで対応して送信しているので、SPF,DKIM,DMARCすべてPASSになっています。この先は、本文なども含めて判断する迷惑メールフィルタの出番になりますし、そこも通過されると最後は自分の目で見て判断する必要が出てきます。メール内のリンクは極力クリックしない癖をつけておく方がよいと言われるのはそういった事情もあるからなのです。

似て非なるもの、S/MIME証明書による電子署名

S/MIME証明書というものを使ってメールに電子署名する技術もあり、銀行からのメールなど一部で普及しており、メールソフトによっては認証できたメールにメダルのようなアイコンが表示されることもあります。DKIMなどとは何が違うのでしょうか?S/MIMEによるメールの署名は、送信ドメインのみのDKIMと違って個々のメールアカウント(例えばsupport@sakura.ad.jp)によって電子署名され、さらに証明書は第三者の認証局によって発行/認証されます。これによって、DKIMとは異なり、「第三者(認証局)がsupoprt@sakura.ad.jpに対して発行した証明書によって電子署名されたことを認証し、かつ改ざんされていない」ことを証明します。

S/MIMEの方がメール本文も含めて電子署名することから、本文の改ざん防止も行われ、かつ認証局という第三者機関が発行していることもあり認証レベルはDKIMよりも高くなります。その分、証明書の価格自体も必要になるため送信側のコストは単純にDKIMを利用するよりもかなり高くなります。

まとめ、電子メールを支える技術

電子メールは1970年代頃から開発されてきた非常に古い技術です。そのため、暗号化が前提になっておらず改ざんが可能だったり、ヘッダ偽装などが簡単にできてしまいました。こうした欠点を補うために経路をHTTPS化する技術や、SPF、DKIM、DMARC、ARC、S/MIMEといった規格が標準化され、メールサーバーやメールクライアントに実装されてきたわけです。

また、当初は拒否リスト、許可リスト程度だった迷惑メールフィルタの側も、ベイジアンフィルタや近年はAI/機械学習技術などで大きく進化してきました。今回紹介したDKIMなどの技術以外の部分でも迷惑メールかどうかを判定するロジックがあり、そういったものを組み合わせて迷惑メールフィルタは迷惑メールを判別しています。DKIMの設定によって確実に自分が送ったメールが迷惑メールにならないという保証はありませんが、設定することで大きく迷惑メールであると判断される可能性を下げることはできます。設定すること自体にデメリットはありませんので、SPFやDKIM、DMARCは積極的に利用していきましょう。

2024年以降、GmailやYahoo!メールではこうした送信ドメイン偽装を防ぐ技術の厳格な検証が予定されています。さくらのレンタルサーバではSPFはすでに利用でき、さらに2024年1月末を目処にDKIM,DMARCの設定が可能な機能を開発しています。

SPFレコードを設定したい | さくらのサポート情報

執筆 谷口 元紀

さくらインターネット大阪本社勤務。さくらのレンタルサーバ、SSL/ドメイン、CDNのサービス企画を担当しつつライター、イベントでのスピーカーなども兼務。

谷口 元紀のプロフィール画像