DKIM (DomainKeys Identified Mail)とは?
DKIM(DomainKeys Identified Mailの略)は、送信するすべてのメッセージに暗号署名を付与するメール認証方式です。この署名により、受信サーバーはメールが送信ドメインによって正式に許可されたものであり、途中で内容が改ざんされていないことを確認できます。
定義
DomainKeys Identified Mail(DKIM)は、SPFやDMARCと並ぶ現代のメール認証の3本柱のひとつです。SPFが「メッセージは許可されたサーバーから送信されたか」を確認するのに対し、DKIMは少し異なる2つの点を確認します。ひとつは、送信ドメインを管理する者がそのメッセージを承認したこと。もうひとつは、送信後にメッセージが改ざんされていないことです。
DKIMはこれを公開鍵暗号によって実現します。送信ドメインはメールインフラ上で秘密鍵を厳重に保管し、対応する公開鍵を誰でも参照できるようDNS(Domain Name System)に公開します。ドメインがメッセージを送信すると、メールサーバーは秘密鍵を使ってメールの特定部分にデジタル署名を生成し、その署名を非表示のヘッダーとしてメッセージに追加します。メッセージが届くと、受信サーバーはDNSから公開鍵を取得し、署名を検証します。公開鍵で検証できる署名を作れるのは秘密鍵の保有者だけなので、DKIMチェックに合格すれば、そのメッセージが本物で改ざんされていないことの確かな証拠となります。
仕組み
DKIMは一対の暗号鍵を利用します。ドメイン用に秘密鍵を生成して送信側のメールシステムに安全に保管し、対応する公開鍵をDNSのTXTレコードとして公開します。このレコードは、セレクタと呼ばれるラベルから作られる特別な場所、つまり selector._domainkey.yourdomain.com という形式の場所に置かれます。セレクタがあることで、ドメインは複数の鍵を同時に公開できます。送信サービスごとに別の鍵を割り当てたり、時間をかけて安全に鍵をローテーションしたりする際に便利です。
ドメインがメッセージを送信するとき、メールサーバーはメールのどの部分を保護するかを選びます。対象には常にメッセージ本文と、選択されたヘッダーフィールド(一般的にはFrom、To、Subject、Dateなど)が含まれます。サーバーは本文のハッシュと選択したヘッダー全体のハッシュを計算し、秘密鍵でそのデータに署名して署名を生成します。これらはすべてDKIM-Signatureという新しいヘッダーに記録され、メッセージに追加されます。このヘッダーには、署名ドメインがd=タグ、セレクタがs=タグ、署名対象ヘッダーの一覧がh=タグ、本文ハッシュがbh=タグ、署名そのものがb=タグとして格納されます。
受信側では、サーバーがDKIM-Signatureヘッダーを読み取り、ドメインとセレクタをもとにDNSから対応する公開鍵レコードを検索します。続いて、h=に記載されたものとまったく同じヘッダーを使って本文ハッシュとヘッダーハッシュを再計算し、公開鍵を使ってb=の署名が再計算したデータと一致するかを検証します。正しい秘密鍵が使われ、署名対象のコンテンツが送信途中で変更されていなければ、署名は有効となりDKIMは合格します。署名対象のヘッダーや本文が少しでも変更されていれば、ハッシュが一致せずチェックは失敗します。実務上のポイントとして、署名の対象は明示的に記載されたヘッダーのみであり、中継するメールシステムが署名部分を変更しない限りにおいてのみ有効です。
メール 到達率に とって 重要な 理由
DKIMは、メールボックスプロバイダーにとって強力かつ持続的な信頼シグナルです。一貫して有効なDKIM署名は、実在するドメインがそのメールの責任を負っていることをプロバイダーに示し、受信トレイに届きやすくします。同じく重要なのが、SPFにはない特性をDKIMが持っている点です。署名は接続元のサーバーに依存せずメッセージ自体と一緒に届くため、DKIMは通常メールの転送後も維持されます。一方、SPFは転送されると失敗することがよくあります。そのため、複雑な配信経路では、DKIMの方が2つのチェックのうちより堅牢です。
DKIMはDMARCの構成要素でもあります。DMARCは、SPFまたはDKIMのいずれかが合格し、その結果が表示上のFromドメインとアラインメントしている場合に合格します。そのため、正しくDKIM署名されたメッセージは、ドメインにとってDMARCアラインメントを確実に満たす手段になります。GoogleとYahooによる2024年の送信者要件以降、一括送信者にはSPFとDKIMの両方による認証が求められており、有効なDKIM署名のないメールはフィルタリングや拒否の対象になりやすくなっています。正しく設定されたDKIMは、もはやベストプラクティスではなく、大規模にメールを送信するすべての送信者にとっての前提条件となっています。
VeriMailsでの 対応
DKIMとメール検証は、異なる方向から到達率を守ります。健全なメール施策には両方が欠かせません。DKIMは送信するメッセージを認証し、メールが本物で改ざんされていないことを受信サーバーに証明します。メール検証は送信先のリストをクリーンにし、リスト上のすべてのアドレスが実在し、到達可能であることを確認します。リストがクリーンでなければ認証していてもバウンスは発生し、認証がなければクリーンなリストでも信頼性に欠けて見えます。だからこそ、この2つはセットで機能します。
VeriMailsは、このうち受信者側に注力しています。送信したすべてのアドレスに対して、構文チェック、MXおよびDNSの照会、ライブSMTPハンドシェイク、キャッチオール検出、使い捨てアドレス検出、ロールベース検出を実行します。これにより、バウンスの原因となり、DKIM・SPF・DMARCレコードが守ろうとしている評価を損なう無効なアドレスを取り除きます。認証側のサポートとして、VeriMailsは鍵ペアと公開に必要なDNSレコードを作成できる無料のDKIMジェネレーターも提供しています。リストはREST APIまたはCSVの一括アップロードで検証でき、キャンペーンの判断に役立つ明確な到達性カテゴリで結果を確認できます。検証は1件あたり$0.0019から。10,000クレジットが$19、年払いプランなら月額$12.50からご利用いただけます。すべてのアカウントに100クレジットが無料で付与され、クレジットカードは不要、クレジットに有効期限はありません。