DKIM(技術情報)
DKIMのイメージ画像
他人や会社のメールを偽造することにより、利用者の信頼を得てメールを開かせる「メールのなりすまし」は、インターネット社会と迷惑メール防止技術が直面している大きな問題の一つです。メール送信者の認証、確認、追跡ができなければ、プロバイダー(メール環境提供者)はメールが正当なものか、または偽造されたものかを確定することはできません。だからこそプロバイダー(メール環境提供者)は、可能な限り利用者にとってよい環境を求めて、どのメールを届け、どのメールをブロックするべきかを継続的に考える必要があります。
DKIMとは、メール送信者のドメインと、送信されたメールの一貫性(たとえば送信途中で変更されていないということ)の両方を認証するための仕組みをプロバイダーに提供することによって、正当なメールと偽造されたメールを判断することができる技術です。そして一度ドメインが認証されると、偽造を発見するために、メールのFromヘッダーにある送信ドメインと比較することが可能になります。偽造されたメールの場合、そのメールは迷惑メールか詐欺の可能性が高いため、メールの破棄や迷惑メール専用フォルダーに振り分けるなどの対応が可能となります。銀行や公益事業、電子商取引サービスといった、業務用のメールを消費者によく送るような事業者にとって、送信ドメイン認証によって得られる利益は、より大きなものとなります。なぜなら、利用者をフィッシング詐欺(利用者が信頼する事業者のドメインとメールの内容をまねて偽のサイトへ誘導し、クレジットカードの番号やパスワードなどの情報を取得すること)から保護するからです。
このような事業者にとって、利用者を迷惑メールから守ることは、顧客保護や顧客満足の向上、サポートコストの削減、ブランドイメージの維持につながります。送信ドメイン認証技術の普及により、メールの信頼性がよりいっそう高まり、安心して楽しめるコミュニケーションツールの一つとなるでしょう。
ドメイン所有者(主に企業やプロバイダーのメールシステム管理チーム)は、すべてのメールに署名するための公開鍵/秘密鍵のペアを作成します(複数のペアも可能)。公開鍵はDNSサーバーで公開され、秘密鍵はDKIMが実装された送信メールサーバーで利用可能になります。これが右図のAの段階です。
利用者がメールを送ったとき、DKIMが実装されたメールシステムが、1で作成された秘密鍵を使用して、メールの全文に対して、電子署名を自動的に作成します。署名はメールのヘッダーの先頭に付けられ、そのメールは送信先のメールサーバーに送られます。これが右図のBの段階です。
DKIMが実装された受信メールサーバーは、メールから署名とFromヘッダーまたはSenderヘッダーのドメインを抽出し、そのドメインのDNSサーバーから公開鍵を取得します。これが右図のCの段階です。
メール受信システムは、その署名がペアとなる秘密鍵から作られたかどうかをDNSサーバーの公開鍵を使って認証します。それによって、FromヘッダーまたはSenderヘッダーの送信ドメインから送られたメールであり、そのヘッダーと内容が送信中に変更されていないということが証明されます。
メール受信システムは、署名の検証結果に基づいてメールを配送します。その際に、送信ドメインが認証されれば受信箱に、認証されなければ破棄またはフラグをつけるといったローカルポリシーを適用することが可能です。これが右図のDの段階です。
DNSサーバー→(A)送信サーバー→(B)受信サーバー(C→DNSサーバー)(D→受信箱)
DKIMは、米Yahoo!が提唱する「DomainKeys」と米Cisco Systemsが提唱する「Identified Internet Mail(IIM)」を統合した最新の電子署名方式の送信ドメイン認証技術です。「DomainKeys」の仕様に近く、DomainKeysとIIMの運用経験をもとに細かな点が改良されています。
DKIMとDomainKeysの主な違いとして、以下があげられます。
下記のような効果があります。
メール受信者をフィッシング詐欺から保護する効果があります。たとえば、フィッシング詐欺の影響を大きく受ける企業(銀行など)は DKIMを導入し、送信するメールすべてに署名をします。そのうえで、そのドメインから送られてきたにもかかわらず署名がないまたは不適切なメールを破棄するよう、メール受信側の企業やプロバイダーに周知します。そして、メール受信側が、署名がないまたは不適切なメールを破棄するフィルターを追加すれば、不正なメールが受信箱に届かなくなるため、顧客などをフィッシング詐欺から保護することができます。
それはむしろ望ましいことです。もしスパマーがメールをDKIMで署名すれば、これまでに述べた方法によってスパマーのメールを破棄、隔離することが、より簡単にできるようになります。「このメールは本当にFromヘッダーのドメインからきたものか?」という不確かさが解消されれば、迷惑メール対策はより行いやすくなります。
DKIMは、メール利用者を保護し、可能な限り最善な環境を提供するために、FromヘッダーとSenderヘッダーのドメインを調べます。マイクロソフトのOutlookのようなデスクトップ用メールソフトは、ヘッダーを確認するようなユーザーインターフェースを持っています。したがって、メール利用者に対して、こうしたドメイン認証に基づいた信頼性を提供するためには、すべてのメールシステムをDKIMに対応させていくべきだと考えます。
DKIMは、メールが送信されてから受信されるまでの通信経路上で変更されていないことを受信メールサーバーが検証できるように、メール全体を署名します。ヘッダーと内容に署名すれば、信頼できるメールの一部を再利用して、利用者をだまそうとする不正行為を防げます。
DKIMは実際のメールは暗号化しません。ヘッダーの先頭に電子署名をするだけです。
現在DKIMでは、RSAの公開鍵/秘密鍵技術を使用しています。
ドメイン所有者または代理人、サービスプロバイダーが、DKIMを導入するために必要な公開鍵/秘密鍵のペアを作成する必要があります。
DKIMはDNSサーバーで公開された公開鍵を同時に複数持てます。これによって企業やプロバイダーは、管理している複数のメールサーバーに対して異なる鍵を使用することができ、簡単に取り消したり、変更したり、有効期限を設定したりできます。ドメイン所有者は公開鍵を取り消し、いつでも新しいペアで署名できます。
内容の変更やヘッダーの追加・修正のないメーリングリストはDKIMと共存でき、変更の必要もありません。メールの内容やヘッダーを変更するメーリングリストは、独自の秘密鍵でメールを再度署名し、Fromヘッダーに設定されたドメインに対する正しい送信者であることを明確にする必要があります。
通常DKIMは、メール送受信システムを管理する企業内のチーム、インターネットサービスプロバイダー、メールサービスプロバイダーによって実装され、利用可能となります。MTAベンダーがDKIMへのサポートを追加すれば、DKIMの実装もより簡単になります。
メールサーバーにDKIMを導入する具体的な方法については、以下のサイトをご参照ください。