DKIMとは?仕組み・設定方法・SPF/DMARCとの違いをわかりやすく解説
DKIMは、メールに電子署名を付けて「本当にそのドメインから送られ、途中で改ざんされていない」ことを受信側が確かめられるようにする送信ドメイン認証技術です。
取引先や有名企業を装ったなりすましメール、フィッシングメールの被害は後を絶ちません。送信者アドレスは簡単に偽装できるため、受信側には「このメールは本物か」を判定する仕組みが必要です。
その中心となる技術のひとつがDKIMです。
この記事では、DKIMの意味と仕組み、SPF・DMARCとの違い、設定方法と確認方法までを、メール担当者や情報システム担当者向けにわかりやすく解説します。
- Chapter
自動メール配信でリピート売上を増やそう!
満足度No.1「アクションリンク」はリピート売上向上のためのメッセージ配信が全自動で実施可能!
こんな悩みを持っている方はまずは資料ダウンロード!
・全配信でしかメール配信をしていない!
・人手不足でメール配信ができていない!
・リピート売上を上げたい!
とりあえず資料を見る(無料)DKIMとは
DKIM(DomainKeys Identified Mail、ディーキム)は、送信ドメインがメールに暗号署名を付け、受信サーバーがその署名を検証する仕組みです。IETFのRFC 6376で定められ、2013年にインターネット標準(STD 76)になりました。
DKIMで確かめられるのは、主に次の2点です。
- 送信元の正当性:署名したドメイン(d=で示されるドメイン)がそのメールに責任を持っていること
- 内容の完全性:署名された後、ヘッダーや本文が途中で書き換えられていないこと
署名は「DKIM-Signature」というヘッダーとしてメールに付くため、受信者がメールを読むときの見た目は変わりません。公開鍵は送信ドメインのDNSにTXTレコードとして公開します。
DKIMの仕組み
DKIMは「秘密鍵で署名し、公開鍵で検証する」公開鍵暗号の仕組みを使います。秘密鍵は送信側だけが持ち、公開鍵はDNSで誰でも参照できるように公開します。

送信サーバーは、メールのヘッダーと本文からハッシュ値を計算し、秘密鍵で暗号化した署名をDKIM-Signatureヘッダーとして付けます。受信サーバーは、そのヘッダーにあるドメイン(d=)とセレクタ(s=)から「s=の値._domainkey.d=の値」というDNS名を組み立てて公開鍵を取得し、署名を検証します。
途中で本文やヘッダーが1文字でも書き換えられるとハッシュ値が一致しなくなり、検証は失敗(fail)します。
SPF・DMARCとの違い
SPFは「送信サーバー」を、DKIMは「メールそのもの」を確かめ、DMARCはその2つの結果をFromアドレスと結びつけて処理方針を決めます。3つは競合する技術ではなく、組み合わせて使うものです。
| 項目 | SPF | DKIM | DMARC |
|---|---|---|---|
| 確かめるもの | 送信元サーバーのIPアドレス | メールに付いた電子署名 | SPF・DKIMの結果とFromドメインの一致 |
| DNSに公開するもの | 送信を許可するIPの一覧 | 署名検証用の公開鍵 | 認証失敗時の処理方針とレポート送付先 |
| 改ざん検知 | できない | できる | (SPF・DKIMに依存) |
| 転送への強さ | 弱い(転送でIPが変わると失敗しやすい) | 比較的強い(内容が変わらなければ署名は有効) | DKIMが通れば合格できる |
| 規格 | RFC 7208 | RFC 6376 | RFC 7489 |
ポイントは、SPFとDKIMだけでは「Fromに表示されたドメインが本物か」までは保証されないことです。攻撃者が自分のドメインで正しく署名したメールでも、DKIMは合格します。そこでDMARCが、署名ドメインとFromドメインが一致(アライメント)しているかを確認し、なりすましを防ぎます。
DKIMを導入するメリット
いま最も大きな理由は、DKIMを設定しないとGmailなどにメールが届きにくくなることです。そのうえで、なりすまし対策とブランドの信頼性向上にもつながります。
- 到達率の確保:Googleのメール送信者のガイドラインでは、2024年2月1日以降、個人用Gmail宛てに送るすべての送信者にSPFまたはDKIMの設定が求められています。1日5,000件を超えて送る場合はSPF・DKIM・DMARCのすべてが必要です。米Yahoo!も同時期に同様の要件を導入しました。
- なりすまし・改ざんの防止:署名が合わないメールを受信側が見分けられるため、自社ドメインを装ったフィッシングを防ぎやすくなります。
- DMARC導入の前提になる:DMARCを厳しいポリシー(quarantine・reject)で運用するには、SPFとDKIMが正しく機能していることが欠かせません。
- 転送に強い:転送で送信IPが変わるとSPFは失敗しがちですが、本文やヘッダーが変わらなければDKIM署名は有効なままです。
DKIMの設定方法
DKIMの設定は「鍵を作る」「公開鍵をDNSに登録する」「署名を有効にする」の3段階です。多くのメールサービスでは鍵の生成を管理画面で行えるため、利用者が実際に作業するのはDNS登録が中心になります。
- 送信経路を洗い出す:自社メールサーバー、Google Workspace・Microsoft 365、メール配信サービス、フォームの自動返信など、自社ドメインでメールを送っている仕組みをすべて確認します。
- 鍵ペアを生成する:各サービスの管理画面でDKIMの鍵を生成します。鍵長は2048ビットが推奨です(DNSサービスが対応していない場合のみ1024ビット)。
- 公開鍵をDNSに登録する:サービスが指定するセレクタ名で、TXTレコード(サービスによってはCNAME)を追加します。
- 署名を有効にする:DNSの反映(数時間〜最大48時間程度)を待ってから、管理画面で「認証を開始」などの操作をします。
- 動作を確認する:テストメールを送り、DKIMが合格しているかを確認します(次の章)。
DNSに登録するTXTレコードの例は次のとおりです。selector1の部分がセレクタ、p=以降が公開鍵です。
selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEF..."
受信したメールには、次のようなDKIM-Signatureヘッダーが付きます。d=が署名ドメイン、s=がセレクタ、b=が署名本体です。
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1;
h=from:to:subject:date; bh=...; b=...
Google Workspace・Microsoft 365・各配信サービスでは画面や用語が異なるため、具体的な操作は各サービスの公式ヘルプに従ってください。
設定の確認方法と注意点
最も手軽な確認方法は、Gmailにテストメールを送り「メッセージのソースを表示」で「DKIM: ‘PASS’」と表示されるかを見ることです。
確認方法
- 受信メールのヘッダーを見る:Authentication-Resultsヘッダーに「dkim=pass header.d=自社ドメイン」とあれば合格です。
- DNSを直接確認する:コマンドで公開鍵が引けるかを確かめます(例:
dig TXT selector1._domainkey.example.com、Windowsはnslookup -type=TXT selector1._domainkey.example.com)。 - チェックツールを使う:MXToolboxなどのDKIMチェッカーにドメインとセレクタを入力すると、レコードの書式を検証できます。
よくある失敗と注意点
- 送信経路の漏れ:配信サービスやフォームの自動送信など、一部の経路だけ署名されていないケースが多くあります。
- Fromドメインとの不一致:配信サービスの独自ドメインで署名されていると、DKIMは合格してもDMARCのアライメントで失敗します。自社ドメインでの署名(独自ドメイン署名)を設定しましょう。
- TXTレコードの文字数制限:2048ビットの公開鍵は1つの文字列の上限(255文字)を超えるため、DNSサービスによっては分割して登録する必要があります。
- 途中での書き換え:メーリングリストやセキュリティ製品が件名や本文に文字を追加すると、署名が失敗することがあります。
- 鍵の定期更新:鍵が漏えいした場合に備え、セレクタを切り替えて定期的に鍵を更新(ローテーション)するのが望ましい運用です。
まとめ
DKIMは、電子署名でメールの送信元と内容が正しいことを証明する送信ドメイン認証技術です。Gmailの送信者ガイドラインにより、いまやメールを確実に届けるための必須設定になっています。
まずは自社ドメインで使っている送信経路を洗い出し、すべての経路でDKIM署名が「PASS」になっているかを確認しましょう。そのうえでSPF・DMARCとあわせて運用することで、なりすましに強く、届きやすいメール環境を作れます。
【資料配布中】完全自動メッセージ配信CRM「アクションリンク」
満足度No.1のCRMツール「アクションリンク」なら、
・リピーター獲得のためのメッセージが全て自動配信
・導入初月から売上アップに貢献!
・手間いらずなので、CRMツールが活用できなかった方に選ばれています!
詳しい資料は以下のフォームからダウンロードください。
よくあるご質問
- DKIMを設定すればなりすましメールは完全に防げますか?
- いいえ。DKIMは「署名したドメインが本物か」を示すだけで、Fromアドレスの偽装までは防げません。SPF・DMARCと組み合わせて初めて効果を発揮します。
- SPFを設定済みならDKIMは不要ですか?
- 必要です。SPFは転送に弱く、改ざん検知もできません。Gmail宛てに1日5,000件を超えて送る場合は、SPFとDKIMの両方が必須です。
- セレクタとは何ですか?
- 1つのドメインで複数の公開鍵を使い分けるための名前です。送信サービスごとや鍵の更新ごとに別のセレクタを使えるため、複数のサービスから同じドメインで送信できます。
- DKIMの設定に費用はかかりますか?
- DKIM自体は無料で使える標準技術です。多くのメールサービスや配信サービスでは標準機能として提供されています。
- 受信側として何かする必要はありますか?
- 主要なメールサービスは受信時に自動でDKIMを検証しています。自社でメールサーバーを運用している場合は、受信時の検証が有効になっているかを確認しましょう。
関連タグ
この記事をシェアする
コピーしました
中村 隆嗣