DKIM

導入

DKIMは迷惑メールに見受けられる送信者のなりすましや、メール内容の改ざん検知を行うドメイン認証技術です。

令和2年は日本国内における改正個人情報保護法の公布があり、改めて個人情報保護の関心が高まっています。

メールに関わるセキュリティの関心も高まってきており、特に迷惑メール対策に有効な送信ドメイン認証技術の対応が企業においても加速しています。

送信ドメイン認証技術で一般化されている技術に、”SPF”、”DKIM”、”DMARC”というものがあり、企業はこれらの技術を理解し、さまざまなリスクに備える必要があります。

今回の記事では、送信ドメイン認証の一つである”DKIM”に注目し、類似するSPFやDMARCとの違い、迷惑メール対策についてご紹介いたします。


送信ドメイン認証は、送信元メールサーバのIPアドレスや電子署名を利用して、送信元のドメインが詐称されていないかを検証し、メールの信頼性を上げ、到達率の改善に貢献する仕組みです。2021年時点では、送信ドメイン認証として主に「SPF」「DKIM」「DMARC」の3つが使用されています。中でも「DKIM」は、電子署名や公開鍵を用いてメールの正当性を担保するため、非常に重要な施策です。ここでは、DKIMの仕組みや特徴、メリットなどについて解説します。











とは

DKIM (DomainKeys Identified Mail)は、 電子メールにおける送信ドメイン認証技術の一つであり、 メールを送信する際に送信元が電子署名を行い、 受信者がそれを検証することで、 送信者のなりすましやメールの改ざんを検知できるようにするものです。

送信ドメイン認証技術は、送信元のIPアドレスを利用するものと、 電子署名を利用するものとに大きくわかれますが、DKIMは電子署名を利用し、 その電子署名の検証に必要となる公開鍵は送信元ドメインのDNSサーバで公開されます。 受信者は受け取ったメール中の署名者に関する情報からドメインを特定し、 そのDNSサーバへ問い合わせることで公開鍵を取得します。

電子署名の作成は、送信者自身が必ずしも行う必要は無く、 他にメール送信者の利用するメール中継サーバ(MTA)、送信メールサーバ(MSA)、 あるいは信頼した第三者が行うことが可能です。 このような特徴を利用して、 例えば電子署名の作成をメールサーバで行うように設定を行い、 エンドユーザーのメールに対して透過的にDKIMを用いた署名を付加することなどができます。

最近では、同じ送信ドメイン認証技術でも送信元のIPアドレスを利用するSPF (Sender Policy Framework)と、 DKIMとを組み合わせたDMARC (Domain-based Message Authentication, Reporting and Conformance)と呼ばれるメール認証技術の導入に伴い、 DKIMの普及が進んでいます。


DKIMでは電子署名を使って認証を行います。

DKIMについて説明する前に、電子署名の仕組みを簡単に紹介します。
下図の【Aさん】は、他者に公開する「公開鍵」と自分しか知らない「秘密鍵」のペアを持っています。【Bさん】にデータを送るとき、【Aさん】は自分の秘密鍵を使ってデータに署名します。データを受け取った【Bさん】は、【Aさん】の公開鍵を利用して署名を検証することで、そのデータが【Aさん】が作成したものであり、途中で改ざんされていないことを確認できます。

電子署名図3) 電子署名

DKIMによる認証を行う場合、送信側メールサーバの公開鍵をあらかじめDNSサーバに登録しておきます。送信側メールサーバは、自身の秘密鍵による電子署名を付けてメールを送信します。受信側メールサーバは、メールヘッダから特定したドメインのDNSサーバから公開鍵を取得し、その電子署名を検証します。この検証によって、なりすましやメールの改ざんの有無を確認することができます。

DKIM図4) DKIM


Domainkeys Identified Mail (DKIM) は、電子署名方式の送信ドメイン認証である。IETFにおいてSendmail社のEric Allman氏らを中心として検討が進められ、RFC 4871およびRFC 5672として標準化された。さらに、DKIMの規格を補うDKIM-ADSPという標準があり、RFC 5617で標準化されている。

図1に示すように、DKIMでは送信側で電子メールに電子署名を付加し、受信側でその電子署名を照合するという方法で送信者のドメインの認証を行う。メッセージのヘッダや本文を元に電子署名を作成するため、中継MTAなどで電子署名または電子署名の元になった電子メールのデータが変更されなければ、たとえメールが転送されたとしても転送先において認証が可能になる。


2つめが電子署名を利用してメール送信元が詐称されていないかどうかを確認する「DKIM(DomainKeys Identified Mail)」です。送信側が送信するメールに電子署名を付与し、 受信側はそれをメール受信時に検証することで、 なりすましやメールの改ざんを検知します(図2)。

図2:DKIMの仕組み

ただし、SPFはメール転送等により受信側で正しく判断できなかったり、DKIMは普及率が低かったりなど活用にはそれぞれ弱点があります。その場合、なりすましメールを判別することが難しくなります。


DKIMとは電子メールにおける送信ドメインの認証技術のこと。

また「DomainKeys Identified Mail」の略称です。

DKIMは、メール送信者が送信メールに電子署名を行い、メール受信者がその電子署名を検証することによって、送信元メールアドレスのドメインの正当性を検証することができます。

この検証結果に応じて、不正なメールと判断された場合は、メールの受信を拒否するなどの対応を行う場合があります。

大半の企業は正当な理由や手段でメールマーケティングを実施しており、メールの正当性を証明するためにも非常に重要な技術の1つとして挙げられるのがDKIMです。

前述の通り、その他の送信ドメインの認証技術にはSPFやDMARCというものがありますのでこの記事内で後述します。


DomainKeys Identified MailDKIM)とは、電子メールの認証技術である。DKIMは、署名するMail transfer agent(MTA)から検証するMTAまで、ほぼエンド・ツー・エンドの完全性を提供する。多くの場合、署名するMTAが発信者に代わりDKIM-Signatureヘッダを追加し、また検証するMTAがDNSを通じて発信者の公開鍵を検索することで、受信者に代わり署名の正当性を立証する。

DomainKeysの仕様は、DKIMを作るためにIdentified Internet Mail(IIM)の特徴を採用した。DomainKeysとIIMを併せた仕様は、IETF標準化提案(Proposed Standard)に向けて仕様を導いたIETFワーキング・グループのための基礎である。

一般的な動作方法について、詳しくはDomainKeysを参照。DKIMはあらゆる点でDomainKeysの動作に極めてよく似ている。


まず、DKIMの概要について解説します。DKIMは、「DomainKeys Identified Mail」の略称であり、メールの内容がメール作成時点(オリジナル)から改竄されていないことを検証する仕組みです。DKIMの誕生は2000年代中盤までさかのぼります。

2005年頃、検索エンジン大手の米Yahoo!社とネットワーク関連機器大手の米Cisco社の2社は、偽装メールに対する技術開発で協力しはじめます。Yahoo!が持つ「DomainKeys」と、Ciscoが持つ「Identified Internet Mail(IIM)」という2つの署名ベースの認証技術が統合され、標準化が進められました。その結果、2007年5月に「RFC4871」として公開され、現在のDKIMの原型が出来上がりました。その後はいくつかの変遷をへて、2011年9月にRFC6376へ、2013年6月にSTD76(Standard)として規定され、インターネット標準の送信認証技術として認知されています。


メールに記載する送信元メールアドレスは、容易に詐称することが可能です。このため、たとえば実在する第三者のメールアドレスを騙って迷惑メールやフィッシングメールを送信するといった行為が横行しています。こうした送信元メールアドレスの詐称を防止する手法として生み出されたのが「送信ドメイン認証」と呼ばれるもので、それを実現するための仕組みがSPF(Sender Policy Framework)とDKIM(DomainKeys Identified Mail)です。

SPFはDNSの仕組みを利用し、送信元メールアドレスを検証します。具体的には、あらかじめDNSサーバーにメール送信時に使うサーバーのIPアドレスを登録しておきます。メールを受信したサーバーは、送信元メールアドレスとして記載されたドメイン名を管理するDNSサーバーに問い合わせてIPアドレスを取得し、実際に送信されたメールサーバーのIPアドレスと比較します。これが一致しなければ、送信元メールアドレスが詐称されていると判断します。

一方、DKIMは送信するメールに電子署名を付与します。受信側はこの電子署名を検証することで、送信元メールアドレスの詐称やメール内容の改ざんを検知することが可能になります。

SPFやDKIMの仕組みを用いて検証した結果、送信元メールアドレスが詐称されている場合の処理をポリシーとして定義するのがDMARC(Domain-based Message Authentication、Reporting and Conformance)です。何もせずに受信、本来のメールとは別の場所に隔離、破棄といったアクションを事前に定義しておき、送信元メールアドレスが詐称されていた場合はポリシーに沿って対応します。





H2候補

  • 1. なりすましメールとは
  • 2. なりすましを防ぐ仕組み
  • 3. SPFとは
  • 5. SendGridでメールを送る場合
  • 2. 公開鍵の提供
  • 3. 鍵の管理
  • 4. 送信側での署名
  • 5. 正規化処理
  • 6. 受信側での処理
  • 7. 認証結果の扱い
  • 8. DomainKeys Identified Mail (DKIM) Author Domain Signing Practices (ADSP)
  • 9. 認証結果のヘッダへの表示
  • なりすましメールの被害が拡大している理由とは
  • なりすましメール対策には「送信ドメイン認証(SPF / DKIM / DMARC)」が有効
  • SPFとは:送信元メールサーバのIPアドレスで判別DMARCの活用:認証失敗時の対応策を定義し“守り”を固める
  • 送信ドメイン認証の効果的な活用法
  • 送信ドメイン認証への対応は当たり前の時代に
  • DKIMにおける送信ドメイン認証とは?
  • DKIM 電子署名の仕組み
  • DKIMの2つの署名方法
  • DKIMとSPFの違い
  • DKIMとDMARCの違い
  • 迷惑・なりすましメールの現状
  • 迷惑・なりすましメールの被害
  • 迷惑・なりすましメールを防ぐ方法
  • 迷惑・なりすましメール対策にはセキュリティが充実したメール配信システムを
  • DKIMの仕組みと特徴
  • SPF・DKIM・DMARCの特徴とメリット
  • DKIMの種類
  • DKIMの普及率と導入の必要性

まとめ

※ このページは現在準備中です。記述内容は、以下の参考リンクより抜粋したものです。

参考

  • https://www.nic.ad.jp/ja/basics/terms/dkim.html#:~:text=DKIM%20(DomainKeys%20Identified%20Mail)%E3%81%AF,%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82
  • https://sendgrid.kke.co.jp/blog/?p=10121
  • https://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/dkim/
  • https://ent.iij.ad.jp/articles/172/
  • https://www.kreisel.bz/lab/dkim_avoid
  • https://ja.wikipedia.org/wiki/DKIM
  • https://baremail.jp/blog/2021/03/02/1070/
  • https://www.ntt.com/bizon/glossary/e-s/spf.html

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です