DKIMガイド:概要、仕組み、設定方法

2026年版:メールの検証、改ざんの防止、ドメインのなりすまし対策に関する完全ガイド。

主なポイント

  • DKIM(DomainKeys Identified Mail)は、暗号署名を用いて、そのメールが送信元のドメインによって承認されたものであり、送信中に改ざんされていないことを確認します。
  • DKIMは、SPFやDMARCと連携して、なりすまし、フィッシング、およびドメインの不正利用を防ぐのに役立つ、包括的なメール認証フレームワークを構築します。
  • DMARCに準拠するには、有効なDKIM署名だけでは不十分です。署名を行うドメインは、表示される「From」アドレスのドメインと一致している必要があります。
  • DKIMの設定には、鍵ペアの生成、DNSへの公開鍵の登録、メール署名の有効化、および認証が正しく機能することを確認するための設定の検証が含まれます。
  • DKIMキーの定期的なローテーション、監視、および検証を行うことで、強力なメールセキュリティを維持し、長期的に認証失敗のリスクを低減することができます。
  • 2048ビットのRSA鍵の使用、各メールプロバイダーごとに固有のセレクタを設定すること、および定期的な監査の実施は、DKIMを適切に運用するための推奨されるベストプラクティスです。

DKIMの解説

DKIMは、SPFやDMARCと並んで、3つの主要な電子メール認証プロトコルの1つです。DKIMは暗号署名を用いて、その電子メールが送信元のドメインによって承認されたものであること、および転送中に内容が改ざんされていないことを証明します。これにより、受信メールサーバーは正当なメッセージと偽造または改ざんされた電子メールを区別できるようになり、セキュリティとメールの配信率の両方が向上します。

このガイドでは、DKIMとは何か、その仕組み、DKIMレコードの公開と検証方法、よくある認証に関する問題のトラブルシューティング、署名鍵のローテーション、そしてDKIMがSPFやDMARCと連携してドメインを保護する仕組みについて解説します。

DKIMを正しく設定する

鍵の生成、レコードの公開、署名の有効化

エラーのトラブルシューティング

セレクタ、シグネチャ、および配置の修正

DKIMとDMARCを連携させる

DKIMをDMARCの評価対象に含める

無料のDKIMツール

レコードの確認、生成、および検証

DKIMとは何か?

DomainKeys Identified Mail(DKIM)は、公開鍵暗号技術を用いて、電子メールが実際にそのドメインから送信されたものであり、送信後に改ざんされていないことを検証する電子メール認証プロトコルです。DKIMは、送信サーバーのIPアドレスのみに依存するのではなく、送信されるすべての電子メールに一意のデジタル署名を付加します。

受信メールサーバーがメッセージを受信すると、DNSから公開鍵を取得し、それを使って署名の検証を行います。署名が一致すれば、そのメッセージはDKIM認証に合格します。

DKIMの仕組み

DKIMは、秘密鍵と公開鍵という一対の暗号鍵を用いて機能します。

秘密鍵は、送信メールサーバーまたはメールサービスプロバイダーに安全に保管されます。メールが送信されるたびに、この秘密鍵は、本文や指定されたヘッダーなど、メッセージの特定の部分に基づいて一意のデジタル署名を生成します。その後、この署名は「DKIM-Signature」ヘッダーとしてメールに追加されます。

メールが受信者に届くと、受信者のメールサーバーはヘッダーから署名ドメインとセレクタを抽出し、DNSレコードから対応する公開鍵を取得して、署名を検証します。

すべてが一致すれば、DKIMは合格となります。署名後にメールが改ざんされていた場合や、署名を検証できない場合は、認証に失敗します。

DKIMレコードの構文解説

DKIMの公開鍵は、DNSのTXTレコードとして公開されます。このレコードは、受信メールサーバーに対し、メールに添付された署名を検証する方法を指示するものです。

基本的なDKIMレコードは、次のような形式になります:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCA...

DKIMセレクタの解説

DKIMセレクタは、特定の電子メール署名を検証するためにどの公開鍵を使用すべきかを指定します。

ドメイン全体に対して1つのDKIMキーを公開する代わりに、組織は異なるキーを指す複数のセレクタを作成することができます。これにより、異なるメールプロバイダー、アプリケーション、または部門が、互いに干渉することなく、それぞれ別の署名キーを使用できるようになります。

たとえば、マーケティングプラットフォームではあるセレクターを使ってメールに署名している一方で、Microsoft 365 では別のセレクターが使われている場合があります。一般的なセレクターは次のような形式です: selector1._domainkey.example.com

  • selector1がセレクタです。
  • _domainkey は、DKIM ネームスペースを識別します。
  • example.comが署名ドメインです。

DKIMの設定方法

DKIMの設定には、鍵ペアの生成、DNSへの公開鍵の登録、および送信メールを対応する秘密鍵で署名するようにメールサービスを設定することが含まれます。

具体的な手順はご利用のメールプロバイダーによって多少異なりますが、全体的な流れは同じです。

  • DKIM 鍵ペアの生成:ほとんどのメールプロバイダでは、DKIM を有効にすると、公開鍵と秘密鍵のペアが自動的に生成されます。
  • 公開鍵を公開する:提供されたDKIMレコードを、ドメインのDNSにTXTレコード(実装によってはCNAMEレコード)として追加してください。
  • DKIM署名を有効にする:メールプラットフォームでDKIM署名を有効にし、送信されるすべてのメールにDKIM-Signatureヘッダーが含まれるようにします。
  • DNSの反映を待つ:DNSの更新は通常、数時間以内に反映されますが、プロバイダによっては最大48時間かかる場合もあります。
  • 設定の検証:本番環境に移行する前に、テストメールを送信し、DKIM署名が認証を通過することを確認してください。

プロバイダー別のセットアップガイド

DKIMレコードを作成する必要がありますか?

PowerDMARCの無料DKIMレコードジェネレーターは、わずか数秒で公開鍵と秘密鍵のペアを生成し、DNSに直接公開できる正確なDKIMレコードの作成を支援します。推奨される2048ビットの鍵に対応しており、DKIM認証の失敗の原因となりがちなフォーマットエラーを排除します。

15日間の無料トライアルを開始する

DKIMの確認と検証方法

DKIMレコードを公開したら、次はそれが期待通りに機能しているかを確認します。つまり、メールサービスがDKIM署名を正しく生成していること、および受信側のメールサーバーがそれらを正常に検証できることを確認します。

DKIMの徹底的な検証では、以下の点が確認されるはずです:

  • 選択したドメインにはDKIMレコードが存在します。
  • セレクタは正しく解決されます。
  • 公開鍵は有効です。
  • メールには「DKIM-Signature」ヘッダーが含まれています。
  • 署名が検証に合格しました。
  • DKIMは、DMARCにおける「From」ドメインと一致しています。

また、Gmail、Outlook、またはApple Mailでメッセージのヘッダーを手動で確認し、DKIM認証の結果を確認することもできます。

1回のスキャンですべてを検証する

各要素を手作業で確認する代わりに、DKIMの設定を一括で確認することができます。PowerDMARCの無料DKIMチェッカーは、DNSレコードが正しく公開されているかを確認し、セレクターと公開鍵の有効性を検証し、メールに署名が行われているかを確認するとともに、認証や配信率に影響を与える可能性のある設定上の問題を指摘します。

DKIMでよくあるエラーとその解決方法

DKIMが設定されていても、DNSの設定ミス、鍵の有効期限切れ、セレクタの誤り、あるいは転送中のメッセージの改ざんなどにより、認証に失敗することがあります。これらの問題の多くは、設定のずれやインフラの変更に起因するものであり、DKIMプロトコルそのものが原因であることはほとんどありません。

ここでは、最も一般的なDKIMエラーとそのトラブルシューティング方法について、簡単に概要を説明します:

エラー最新情報修正ガイド
DKIMレコードが見つかりません受信サーバーは、DNS 内であなたの公開鍵を見つけることができませんでした。DKIMレコードが見つかりません
セレクタが見つかりませんそのメールには、DNS に存在しないセレクタが記載されています。DKIMセレクタの確認方法
DKIM署名が無効ですこのメールは署名後に改変されたか、署名の形式が不正です。「DKIM署名が無効です」というエラーを修正する
DKIM パーマネントエラーDNS または設定上の問題により、検証が行えません。DKIMのPermErrorを修正する方法
DKIM:なしそのメールには署名が一切なかった。DKIM なし:メッセージに署名がありません
DKIMの照合に失敗しました署名ドメインと、表示されている「From」アドレスが一致していません。DKIMとRFC 5322の整合性を修正

メールプロバイダーの変更やDNSの更新後にDKIMが突然失敗し始めた場合は、正しいセレクターを使用していること、公開鍵が正常に反映されていること、およびメールプラットフォームが送信メールに確実に署名を行っていることを確認してください。

DKIMとDMARCの整合性

DKIM署名が成功したからといって、そのメールが自動的にDMARCを通過するとは限りません。

DMARCでは整合性が求められます。つまり、メールの署名に使用されるドメイン( d= (DKIM署名内の値)は、表示されている「From:」アドレスに記載されているドメインと一致するか、その承認済みサブドメインでなければなりません。

例えば、以下のように。

  • 差出人:company.com
  • DKIM d=:company.com —整合済み
  • DKIM d=:mailservice.com —整合が取れていません

DKIM署名の検証に成功したとしても、署名元ドメインと「From」ドメインが一致しない場合、DMARCの検証に失敗することがあります。

DMARCは2つのアラインメントモードをサポートしています:

モード説明
リラックスした(adkim=r)サブドメインは一致しているとみなされます。
厳格 (adkim=s)ドメイン名は完全に一致する必要があります。

多くの組織では、ニュースレター、トランザクションメール、あるいはマーケティングキャンペーンのために、サードパーティのメールプラットフォームを利用しています。これらのサービスが、お客様のドメインではなく自社のドメインを使用してメッセージに署名する場合、DKIMは通過しますが、不整合のためDMARCは失敗します。

プロバイダごとにカスタムDKIM署名を設定することで、認証が常に成功するよう確保できます。

DKIM キーの長さ

DKIMの有効性は、メールの署名に使用される暗号鍵に大きく依存します。

かつては1024ビットのRSA鍵が標準とされていましたが、現代のセキュリティガイドラインでは、ブルートフォース攻撃に対する防御力がより高く、現在の業界のベストプラクティスにも準拠している2048ビットのRSA鍵が推奨されています。

キーの長さ推奨事項
1024ビットRSAレガシー。多くのプロバイダーでサポートされていますが、徐々に廃止されつつあります。
2048ビットRSAほとんどの組織におすすめです。
Ed25519対応している場合、より小さな鍵サイズでありながら、より強力なセキュリティを提供する新しいアルゴリズムが採用されました。

DKIM キーのローテーション

定期的に鍵をローテーションすることで、秘密鍵が漏洩した場合の影響を軽減し、組織が適切なメールセキュリティ対策を維持するのに役立ちます。

一般的なローテーションのプロセスには、以下の内容が含まれます:

  • 新しい鍵ペアを生成しています。
  • 新しいセレクタを使用して、新しい公開鍵を公開します。
  • 新しいセレクタを使用してメールに署名するようにメールサーバーを設定します。
  • 以前に署名済みのメールが配信されるまで、十分な時間を確保する。
  • DNSから古いセレクタを削除します。

セレクタを使用することで、移行期間中は新旧のキーが共存できるため、この移行がスムーズに行えます。

複数のドメインやメールプロバイダーを管理する組織では、運用上の負担を軽減し、DKIMキーが古くなったり忘れられたりするリスクを排除するために、このプロセスを自動化することがよくあります。

DKIM 対 SPF 対 DMARC

SPF、DKIM、およびDMARCは、電子メール認証のさまざまな側面を解決するために設計された、互いに補完し合うプロトコルです。

プロトコル主な目的
SPF送信サーバーが、そのドメインのメール送信権限を持っていることを確認します。
DKIM署名後にメールが改ざんされていないことを確認します。
DMARCSPFおよびDKIMを「From」アドレスと整合させ、受信者に対してエラー時の処理方法を通知します。

組織は、あるプロトコルを別のプロトコルよりも優先して選択するのではなく、3つすべてを導入すべきです。例えば:

  • メールを転送すると、SPFが失敗する場合があります。
  • DKIMは、署名がそのまま残るため、転送後も有効なままになることがよくあります。
  • DMARCでは、SPFまたはDKIMのいずれかが検証に合格し、かつ「From」ドメインと一致している場合、認証が成功したとみなされます。

これらを組み合わせることで、どのプロトコルが単独で提供できるものよりも、スプーフィング、フィッシング、なりすまし攻撃に対して格段に強力な保護を実現します。

ホスティングされたDKIM

組織の規模が拡大するにつれて、複数のメールプロバイダーにわたるDKIMの管理はますます複雑になっていきます。

さまざまなマーケティングプラットフォーム、CRMシステム、ヘルプデスク、トランザクションメールサービスでは、多くの場合、個別のDKIMセレクタ、固有のDNSレコード、および定期的な鍵の更新が必要となります。

一元的な管理が行われていないと、以下の点を見失いがちになります:

  • アクティブなセレクタ
  • 有効期限が切れた鍵
  • 孤立したDNSレコード
  • プロバイダ固有の署名設定

ホスト型DKIMは、DKIMの管理を一元化し、手動によるDNSのメンテナンスを削減することで、このプロセスを簡素化し、組織がすべての送信プラットフォームにおいて適切な認証を維持できるよう支援します。

すべての送信者においてDKIMを一元管理する

複数のドメインやメールプロバイダーにわたってDKIMを管理している場合、手動での鍵のローテーションはすぐに管理が困難になりがちです。PowerDMARCの「Hosted DKIM」を利用すれば、一度のDNS設定を行うだけで、一元化されたダッシュボードからセレクターの管理、署名鍵のローテーション、DKIMレコードの更新を行うことができます。これにより、手動での変更作業を削減しつつ、メールインフラ全体で一貫した認証を維持することが可能になります。

DKIMのベストプラクティス

いくつかの運用上のベストプラクティスに従うことで、認証の信頼性と長期的な保守性の両方を大幅に向上させることができます。

2048ビットのRSA鍵を使用する
より強力な暗号保護機能を提供します。
鍵は定期的に回転させてください
署名鍵が侵害されるリスクを低減します。
プロバイダごとに個別のセレクタを使用する
管理とトラブルシューティングを簡素化します。
使用されていないセレクタを削除する
不要な攻撃対象領域を削減します。
DNSの変更後にDKIMの検証を行う
署名が引き続き正しく検証されることを確認します。
認証状況を定期的に確認する
配信率に影響が出る前に障害を検知します。
DKIMをSPFおよびDMARCと組み合わせて使用する
包括的な電子メール認証フレームワークを構築します。
メールインフラを定期的に監査する
使用されなくなったプロバイダーや、古くなったDNSレコードを特定します。

定期的な監視は、初期設定と同じくらい重要です。メールプロバイダーは設定を変更し、DNSレコードは変化し、時間の経過とともに新しい送信サービスが追加されていきます。定期的な監査を行うことで、メールインフラが拡大しても、DKIMが引き続きドメインを保護し続けることを確実にすることができます。

DKIM を使ってメールの認証を強化しましょう

DKIMは、受信メールサーバーが、メールが実際に送信者のドメインから送信されたものであり、転送中に改ざんされていないことを確認できるようにすることで、現代のメール認証において極めて重要な役割を果たしています。DKIMは、なりすましやフィッシングに対する不可欠な保護層ですが、SPFと併用し、DMARCを通じて適用された場合に最も効果を発揮します。

DKIMを初めて設定する場合でも、認証エラーのトラブルシューティングを行う場合でも、あるいは複数のメールプラットフォームを管理する場合でも、DKIMレコードを適切な状態に維持することは、継続的な取り組みであるべきです。定期的な検証、鍵のローテーション、および監視を行うことで、インフラストラクチャの進化に合わせて、メール認証の有効性を維持することができます。

複数のドメインやメールサービスのセキュリティ対策を行っている場合は、PowerDMARCの無料DKIMチェッカーを使用して設定を確認し、DKIMレコードジェネレーターで新しいDKIMレコードを生成し、Hosted DKIMを活用して継続的な鍵管理を簡素化してください。

PowerDMARCの無料ツール

PowerDMARCの無料DKIMツールを使って、メール認証を管理しましょう。ドメインの確認、新しい鍵ペアの生成、プラットフォーム全体の機能の確認を即座に行うことができます。メールの改ざんから保護し、設定に自信を持てるようになります。登録は不要です。

DKIMレコードチェッカ

ドメインのDKIMレコードを即座に確認し、セレクタと公開鍵の有効性を検証して、設定上の問題を特定できます。

主な特徴

  • DNSの即時チェック:DKIMレコードが公開されており、正しく解決されていることを確認します。
  • セレクタおよび公開鍵の検証:セレクタが正しく解決されること、および公開鍵が有効であることを確認します。
  • 署名チェック:送信されるメールに有効なDKIM-Signatureヘッダーが含まれているかどうかを確認します。
  • 無制限かつ無料:登録不要で、何度でもチェックを実行できます。
DKIMチェッカーを使用する

DKIMレコードジェネレーター

手動でフォーマットを調整することなく、わずか数秒で公開鍵・秘密鍵のペアと有効なDKIMレコードを生成できます。

主な特徴

  • 2048ビットRSAのサポート:デフォルトで推奨される鍵強度を生成します。
  • 公開可能な出力:正しくフォーマットされたDNS TXTレコードを生成します。
  • エラーのないフォーマット:DKIMの失敗の原因となることが多い構文上の誤りを排除します。
  • 初心者にも使いやすい:迅速かつ手間のかからないセットアップができるよう設計されたシンプルなインターフェース。
DKIMジェネレーターを使用する

メールのセキュリティを確保しましょう。DKIMとDMARCを安心して導入・運用しましょう。

PowerDMARC なら、当て推量に頼ることなく、状況把握から完全な保護へと移行できます。DKIM キーの生成やローテーションから、DMARC ポリシーの適用、詳細なレポートの分析に至るまで、このプラットフォームにより、メール認証を完全に制御できます。複数のドメインやプロバイダーを管理している場合でも、PowerDMARC なら、一元化されたダッシュボードから、監視、ポリシー適用、レポート作成、およびマルチドメイン管理を簡素化できます。

10万以上保護対象ドメイン
G2リーダーDMARC Softwareにて
4.9/5G2での評価

本プラットフォームは、エンタープライズレベルのセキュリティとコンプライアンスを念頭に構築されており、SOC 2、ISO 27001、GDPRの基準を満たしています。これにより、メールセキュリティを拡張してもデータは保護された状態を維持します。

SOC 2 ISO 27001 GDPR

お客様はPowerDMARCの深みだけでなく、その明快さにも信頼を寄せています。

「PowerDMARCは、メールの認証やセキュリティ機能の監視という日々の業務を大幅に簡素化してくれる、非常に強力で包括的なツールです。このツールがあれば、他の方法では得難い可視性と明確さが得られます。メールセキュリティ体制の強化をお考えの方には、PowerDMARCを強くお勧めします!」

— イヴ・P、システムエンジニア

グローバルチームにとって、アクセシビリティも重要です。

「PowerDMARCは、複数のメールセキュリティプロトコルの管理に伴う複雑さを解消してくれます。単に『p=reject』ポリシーに移行するだけでなく、DKIMやDMARCのホスティングも提供することで、包括的なソリューションを実現しています。PowerDMARCで最も気に入っている点は、日本語を完全にサポートしていることです。これにより、他のツールと比べてプラットフォームへのアクセスが格段に容易になり、管理もはるかに簡単になります。」

— ヒロ・H、最高経営責任者

メッセージの改ざんを防止し、配信率を向上させ、ドメインのメールがどのように署名されているかを完全に把握したいとお考えなら、PowerDMARCがそれを実現するためのツールとサポートを提供します。

よくあるご質問

DKIMはメールを暗号化しますか?

いいえ。DKIMはメールを暗号化したり、その内容が読み取られるのを防いだりすることはありません。DKIMは、メッセージが署名された後に改ざんされていないことを確認するものです。

すでにSPFを使っている場合、DKIMも必要ですか?

はい。SPFとDKIMはそれぞれ異なる問題を解決します。SPFは送信サーバーの認証を行い、DKIMはメッセージそのものの認証を行います。両方を併用することで、より強力な保護が得られ、DMARCへの準拠も向上します。

DKIMはDMARCなしでも機能しますか?

はい。DKIMはDMARCとは独立して機能しますが、認証ポリシーや整合性を強制するのはDMARCです。DMARCなしでDKIMを導入しても、認証は行われますが、受信サーバーに対して認証に失敗したメッセージをどのように処理すべきかという指示は行われません。

DKIMキーはどのくらいの頻度で更新すべきですか?

多くの組織では、DKIMキーを6~12か月ごとに、あるいはセキュリティ侵害の疑いがある場合は直ちに更新しています。セキュリティレベルの高い環境では、キーの更新頻度が高くなる場合があります。

DKIMレコードを複数設定することはできますか?

はい。組織では、異なるメールプロバイダーに対応するため、あるいは鍵のローテーションの際に、複数のDKIMセレクタを公開することが一般的です。各セレクタは個別の公開鍵を参照するため、複数の署名設定を安全に共存させることができます。