
メールのセキュリティは、現代のビジネスや個人利用において非常に重要な要素となっています。不正なメールやフィッシング攻撃が増加する中で、送信者の正当性を確認するための技術が必要不可欠です。
そこで登場するのが以下のような認証技術です。
- DKIM(DomainKeys Identified Mail)
- SPF(Sender Policy Framework)
- DMARC(Domain-based Message Authentication, Reporting, and Conformance)
メールの送受信に関わるセキュリティには、上記にもある「SPF」「DKIM」「DMARC」の他に「TLS」など、それぞれが役割を果たしています。しかし、メールインフラに詳しい方でもなければ、それらのシステムを意識してメール配信を行ってはいないでしょう。
この記事では、ご紹介したセキュリティの中でも「DKIM」にスポットを当てて、その確認方法を中心に解説をしています。自社の使用しているメーラー(ウェブメール)では、DKIMが正しく設定されているのか、またDKIMが作動していないとどのようなリスクがあるのか、理解しておきましょう。
目次
DKIMとは
DKIM(DomainKeys Identified Mail)は、メールが正当な送信者から送信されたものであることを確認し、メールの内容が改ざんされていないことを証明するためのドメイン認証技術です。
SPFやDMARCと共に使用されることが多く、送信されてきたメールがなりすましや改ざんの被害にあっていないことを証明するなどメールのセキュリティ性を向上させます。
DKIM以外のドメイン認証技術も似たような働きを持っていますが、それぞれが異なった方法でメールの正当性を証明することで、より確度の高いセキュリティを実現しています。
DKIMの仕組み
DKIMは「公開鍵暗号方式」と呼ばれる方法でなりすましなどの被害からメールを守っています。
この方式では、送信側がメールの本文とヘッダー情報を元にハッシュ値を生成し、それを秘密鍵で「電子署名」と言う形で暗号化することで真正性を維持します。

DKIMが機能するためには以下の4ステップが必要です。
- 電子署名の作成:送信者のメールサーバーがメールの本文と一部のヘッダー情報を元にハッシュ値を生成し秘密鍵で暗号化する。この暗号化されたハッシュ値が電子署名となる。
- メールの送信:電子署名が付与されたメールが送信される
- 公開鍵の取得:受信者のメールサーバーは、送信者のドメインのDNSサーバーに問い合わせて公開鍵を取得する
- 電子署名の検証:受信者のメールサーバーは、取得した公開鍵を使用してメールに含まれる電子署名を解読し、ハッシュ値を検証する。
そして、メールの本文とヘッダー情報から再生成されたハッシュ値と電子署名内のハッシュ値が一致すれば、メールは改ざんされていないことが確認されます。
DKIMの種類
ちなみに「秘密鍵」の作成には送信元が自ら行うパターンと、メール配信の過程で中継するサーバが行うパターンの2つがあり、それぞれ「作成者署名」と「第三者署名」と呼ばれています。
どちらの場合でも検証方法に違いはありませんが、第三者署名では送信元となるメーラーでDKIMの設定を省略できるメリットがあります。
作成者署名(Author Signature)
送信元のメールサーバーが自ら電子署名を生成します。送信者自身がDKIM設定を管理するため、署名の信頼性は高いものの、送信者がDKIM設定を正しく管理する必要があります。
第三者署名(Third-party Signature)
メール配信の過程で中継するサーバーが電子署名を生成します。これは、例えばメールリレーサービスを利用する場合に使用されることがあります。この場合、送信元のメールサーバーでDKIMの設定を省略できる利点があります。
両者にはそれぞれメリットとデメリットがあり、利用する環境や目的に応じて適切な方法を選択することが重要です。
SPF・DMARCとの違い
SPFは、送信者のメールサーバーのIPアドレスが、そのドメインに対して許可された送信元かどうかを確認する技術です。具体的には、送信者のドメインのDNSに設定されたSPFレコードを参照し、メールを送信しているサーバーのIPアドレスがそのリストに含まれているかを検証します。
- メリット:簡単に設定でき、送信サーバーの正当性を検証するための効果的な手段となる
- デメリット:メールが転送される場合、正しく機能しないことがある。メールの内容の改ざんを防ぐことはできない
DMARCは、SPFやDKIMの認証結果に基づいて、受信側のメールサーバーがどのようにメールを処理するかを決定するためのポリシーを設定する技術です。
DMARCは、送信ドメインの所有者がSPFとDKIMの認証結果をどのように扱うかを定義し、認証に失敗したメールをどのように処理するか(拒否、隔離、受信)を指定します。
- メリット:SPFとDKIMを組み合わせて、より強力な認証を実現できる。認証に失敗したメールの処理方法を詳細に指定でき、報告機能を通じて認証失敗の状況を監視できる
- デメリット:設定が複雑であり、すべてのメールサーバーがDMARCに対応しているわけではない
SPF、DKIM、DMARCはそれぞれ異なる方法でメールの正当性を確認し、セキュリティを向上させる技術です。
DKIMを設定していないとどうなる?
前項でも触れたように、DKIMを設定していない環境でのメール配信は「なりすまし」や「改ざん」の温床となるリスクがあります。
- なりすまし:悪意を持った送信元が、受信先で表示される送信元アドレスが任意のものになるようにプログラムした上で配信するメール。実在する企業のメールアドレスなどを表示するため、フィッシング詐欺などに使われる。
- 改ざん:送信元の情報などは偽造せずに、メールの本文を書き換える手口。送信元は変化していないため気づきにくい。
「フィッシング対策協議会」の調査によると、フィッシング詐欺は毎月約5万〜15万ほどの被害報告がされており、起点として使われるメールには対策が求められています。
Gmail送信者ガイドラインへの対応
Googleが2024年2月に施行した「Gmail送信者ガイドライン」は、送信元に厳しいセキュリティ要件を求める内容となっています。
例えば、Gmail宛に1日に5,000件を超えるメール送信者には以下のような条件をクリアしない限り、Gmailへのメールが迷惑メールとして扱われる可能性が示唆されています。
- ドメインに SPF および DKIM メール認証を設定します。
- 送信元ドメインに DMARC メール認証を設定します。
- 送信元のドメインまたは IP に、有効なフォワードおよびリバース DNS レコード(PTR レコードとも呼ばれます)があることを確認します。
- メールの送信に TLS 接続を使用します。
- Postmaster Tools で報告される迷惑メール率を 0.3% 未満に維持します。
また、1日に5,000件ほどのメールを配信していないドメインであっても「送信元ドメインに SPF または DKIM メール認証を設定します。」とされているため、注意が必要です。
Gmailガイドラインに関しては以下の記事でより詳しく解説していますので参考にしてください。
関連記事:【解決策】2024年2月よりGmailガイドラインが変更!1日5000件以上の配信は対応必須!
メールのセキュリティに関心が高まっている昨今では、Gmail以外のメールクライアントも同様のガイドラインを発表することも想定されます。
そのため、DKIMをはじめとするドメイン認証技術を採用していない環境からのメール配信は、メールの到達率を下げるリスクを抱えていると言っても良いでしょう。
DKIMを設定するメリット
DKIMの設定には、以下のようなメリットがあります。
- 「なりすまし」と「改ざん」から自他を守ることができる
- ドメインの評価を上げられる
- メールの到達率の維持につながる
「なりすまし」と「改ざん」から自他を守ることができる
DKIMはメールの内容が改ざんされていないことを証明するため、送信者と受信者の両方を「なりすまし」や「改ざん」の被害から守ります。
例えば、フィッシングメールによって受信者が被害を受けることを防ぐことができます。なりすましなどの恐ろしい点は、配信元だけでなく受信者にも被害が及ぶところです。企業のドメインになりすましたメールから、URLをクリックさせクレジットカードなどの個人情報を抜き取る手法による被害報告は後を絶ちません。
DKIMを活用することで配信元のドメインは正当性を証明できるため、受信側で受信ボックスに分類された時点でリスクの低いメールだと判断してもらうことができます。
ドメインの評価を上げられる
DKIMを設定することで、送信ドメインの正当性を証明し、なりすましのリスクを低減することができます。これにより、受信者やメールサービスプロバイダーからの信頼が向上し、ドメインの評価を高めることができます。
メールはどんな内容を送っているかも重要ですが、「誰が送っているか」もそれと同等以上に重要な要素となっています。
メールの到達率の維持につながる
前項でも触れているようにDKIMの活用には到達率の面でもメリットがあります。
DKIMを設定することで、メールがスパムとして認識されるリスクを減らし、受信者の受信ボックスに到達しやすくなります。特に、GmailやYahoo!メール、Outlookなどの主要なメールプロバイダーは、DKIM署名が正しく設定されているメールを優先的に受信ボックスに振り分ける傾向があります。
DKIMを設定することには「なりすましなどのリスクを軽減することでドメインの評価を上げ、到達率を維持する」というメリットがある、と覚えておきましょう。
DKIMの確認方法
利用しているメールソフトでDKIMが設定されているかをチェックするには、以下の2つの方法があります。
- オンラインツール
- コマンドライン
オンラインツールを使う方法は、技術的な知識が少ない人でも簡単にDKIMの設定を確認できる利点があります。
一方で、コマンドラインを使う方法は、より詳細な情報を得られるメリットがありますが、一定の技術スキルが必要です。それぞれの方法について詳しく説明します。
オンラインツール
DKIMの設定が確認できるオンラインツールには、以下のようなものが挙げられます。
- MXToolBox
- DKIM Record Checker
- DKIMCore
どのツールを使用する場合でも「ドメイン」と「セクレタ情報」が必要です。
セレクタが分からない、もしくはセクレタが確認できない場合は、DKIMが設定されていない可能性があります。
「MXToolBox」を使う場合は、以下の手順でDKIMを確認できます。
- MXToolBoxのサイトにアクセス
- 入力バーの右側にある三角アイコンをクリック
- 「DKIM Lookup」または「DKIM Test」を選択
- ドメイン名とセクレタを入力
- 実行ボタンをクリック
コマンドライン
コマンドラインを使ったDKIMの確認は、ツールを使った方法と比較してより詳細な情報が得られるメリットがあります。
しかし、コマンドの入力のような専門的な要素が必要になるので、解説をよく読んで実行してみてください。
Mac・Linux
まずは「ターミナル」を開きます。
Macの場合は「Launchpad」にある検索バーに「ターミナル」と入力することで、アプリを表示できます。その後、以下のコマンドを入力します。
dig +short your_selector._domainkey.your_domain.com TXT
この際、「your_selector」には確認したいセレクタを、「your_domain.com」には自分のドメインを入力します。
windows
Windowsの場合は「コマンドプロンプト」を開きます。
コマンドプロンプトを開く方法はいくつかありますが、ログインユーザーの権限でアクセスする方法が一般的です。
- スタートボタンから「Windowsシステムツール」をクリック
- サブメニューにある「コマンドプロンプト」をクリック
入力するコマンドは以下の通りです。
nslookup -type=TXT your_selector._domainkey.your_domain.com
前項と同様に、セレクタとドメインネームはDKIMを確認したいメールアドレスのものに置き換えましょう。
利用しているメーラーでDKIMを確認する
受信したメールがDKIMに対応しているものかを確認する方法をメーラー別に解説します。
自身が使うメーラーやウェブメールのアカウントを複数持っている場合は、DKIMを確認したいメールアドレスからもう一方のアドレスに向けてメールを送信することでも確認できます。
Gmailでの確認
Gmailでは、以下の方法で受信したメールのDKIMが確認できます。
- DKIMを確認したいメールを開く
- 送信者アイコンの右側にある三角をクリック
上記の手順を行うと、送信者や送信日時と共に「送信元」と「署名元」と言う項目が表示されます。「送信元」と「署名元」はそれぞれSPFとDKIMに対応していることを意味しています。
さらに詳細を確認したい場合は、メール画面の右端にある3点リーダーをクリックすると、メッセージのソースを表示することができ、そこではDMARCの対応も確認できます。
SPF・DKIM・DMARC、それぞれの項目が「PASS」になっていれば、問題なく設定できています。
Yahoo!メールでの確認
Yahoo!メールでは、以下の方法で受信したメールのDKIMを確認できます。
- DKIMを確認したいメールを開く
- 「詳細ヘッダー」をクリック
Gmailとは文言が違い「発信元」が表示されていることで、DKIMに対応しているかが確認できます。
また、メールのヘッダーの「To」の下部に「認証」の項目があり、このメールの認証情報のリンクをクリックすると、SPF・DKIM・DMARCそれぞれの認証状況が確認できます。

Outlookでの確認
Outlookでは、以下の方法で受信したメールのDKIMが確認できます。
- DKIMを確認したいメールを開く
- 右側に表示される3点リーダーをクリック
- 「メッセージのソースを表示」をクリック
- ブラウザの検索機能(ctrl+F)に「dkimk=」と入力
上記の方法で「dkim=pass」と表示された場合は、DKIMの認証に成功しています。
DKIMの設定方法
GmailやOutlookなどのメールクライアントでは、設定によってDKIMを利用することが可能です。
例えば、GmailではGoogle Workspaceのアカウントを取得し、ドメインにTXTレコードとDKIM鍵を紐付けることで、DKIMを用いたメールの送受信が可能になります。TXTレコードはドメイン情報をDNSに登録する際に使用されるテキストレコードで、主にドメインの所有者を証明するために使われます。
Google Workspaceを使用していない場合や他のメールソフト(ウェブメール)を利用している場合は、オープンソースのDKIMを使用するのが一般的です。DKIMのオープンソースソフトウェアには「Rspamd」や「OpenDKIM」などがあります。今回はOpenDKIMの導入について簡単に解説します。
- EPELレポジトリのインストール:EPEL(Extra Packages for Enterprise Linux)レポジトリを追加します。
- OpenDKIMのインストール:EPELレポジトリからOpenDKIMをインストールします。
- キーペアの作成:秘密鍵と公開鍵のペアを作成します。
- DNSの設定:作成した公開鍵をDNSのTXTレコードに設定します。
これらの手順には専門的なコマンド入力などの作業が必要です。そのため、社内に技術的なリソースが不足している場合、オープンソースのDKIMを自力で設定するのは難しいかもしれません。その場合は、「メールリレーサービス」を活用して、自社のメールインフラを維持しつつDKIMなどのセキュリティ要件を整備することを検討すると良いでしょう。
より詳しいDKIMの設定方法については、以下の記事を参考にしてください。
関連記事:【図解】初めてでも腹落ち!DKIMの仕組みと設定方法
DKIM確認で「失敗(fail)」と判定される主な原因と対処法
チェックツールでDKIMを確認した際に「失敗(fail)」と表示されると不安になりますが、必要以上に焦る必要はありません。DKIM認証がうまくいかない原因の多くは、複雑な障害ではなく、設定ミスや入力間違いといった基本的な部分に集約されます。
どこで食い違っているのかを冷静に切り分け、一つずつ修正していけば、ほとんどの場合は正常な状態に戻すことができます。
DNSのTXTレコードにおける記述ミス(スペル・形式)
最もよく見られる原因が、DNSのTXTレコード登録時の記述ミスです。DKIMの公開鍵は非常に長い英数字の文字列になるため、コピー&ペーストの際に末尾へ不要なスペースが入ったり、意図しない改行コードが含まれてしまったりすることがあります。
また、DNSサービスの仕様によっては、ホスト名の欄にセレクタ名のみを入力する場合と、ドメイン名まで含めて入力する場合があり、ここを取り違えているケースも少なくありません。DKIMは一文字でも異なると認証が通らないため、入力内容は細部まで慎重に確認しましょう。
公開鍵と秘密鍵のペアが一致していないケース
DKIMは送信サーバーにある「秘密鍵」で署名を行い、DNSに登録された「公開鍵」で検証するというペア構造で成り立っています。
そのため、どちらか一方だけが更新されていると、認証は必ず失敗します。
特に注意したいのが、セキュリティ対策として鍵の再生成(ローテーション)を行ったタイミングです。サーバー側の設定だけを新しい鍵に切り替え、DNSの公開鍵が古いまま残っている、あるいはその逆といった状況はよく起こります。鍵を更新した直後は、送信サーバーとDNSの情報が正しく揃っているかを必ず確認してください。
セレクタ名(Selector)の指定間違い
セレクタは、複数のDKIM鍵を使い分けるための識別子です。送信側が使用しているセレクタ名と、DNSに登録されているセレクタ名が一致していない場合、受信側は参照すべき公開鍵を特定できず、DKIM認証に失敗します。
メールヘッダー内の s= に記載されている文字列と、DNSのホスト名に含まれるセレクタ名は完全一致している必要があります。ここで一度、確認ポイントを整理しておきましょう。
- DNSのTXTレコードに余計なスペースや改行が入っていないか
- 公開鍵と秘密鍵が同じペアになっているか
- メールヘッダーのセレクタ名とDNSのセレクタ名が一致しているか
これらを順番に確認していけば、DKIMのfailはかなりの確率で解消できます。
DMARCレポートを活用した「継続的な認証確認」のすすめ
DKIM設定直後にチェックツールで合格を確認したからといって未来永劫その状態が保証されるわけではありません。システムのアップデートやネットワーク環境の変化によって意図せず設定が崩れてしまうことは珍しくないため、点での確認ではなく線での監視を行う体制づくりが重要です。
一時的なチェックと継続的な監視の違い
設定時のテスト送信では問題がなくても実際の運用環境では様々な要因で認証エラーが発生する可能性があります。例えばDNSサーバーの一時的な応答遅延やメール配信システムの仕様変更などが影響します。
こうした突発的なトラブルや徐々に発生する不具合は見逃されやすいため、定点観測を行うことで到達率の低下を未然に防ぐことが可能です。継続的な監視が必要な理由としては以下のようなケースが挙げられます。
- DNSホスティングサービスの障害による一時的な参照エラー
- メールサーバーのソフトウェア更新に伴う設定の初期化
- 別の配信ツールを追加導入した際の設定漏れ
- 第三者によるなりすましメールの増加検知
DKIM署名が外れてしまうケースを検知する方法
こうした目に見えにくい問題を検知するために有効なのがDMARCレポートです。DMARCを設定しておくことでGoogleなどの受信側プロバイダから「あなたのドメインから届いたメールの認証結果」をまとめたレポート(RUAレポート)を定期的に受け取ることができます。
このレポートを解析すれば「昨日は100%成功していたDKIM認証が今日は一部で失敗している」といった異常を数値として把握できるため、原因不明の到達率低下に悩まされることなく迅速な対処が可能になります。
とはいえ、DMARCレポート(RUA)は通常XML形式の複雑なデータで届くため、そのまま読み解くには専門知識が必要です。DMARCの仕組みや、レポートを活用してポリシー(none/quarantine/reject)を段階的に強化していく手順については、以下の記事で詳しく解説しています。
メール配信システムを活用する
DKIMやSPF、DMARCの設定は、一度仕組みを理解すれば非常に強力な武器になりますが、自社サーバーでこれら全てを完璧に管理・運用し続けるには、専門的な知識とメンテナンスの手間が欠かせません。
特に「Gmail送信者ガイドライン」のような世界的な基準に変更があった際、迅速に対応するのは容易ではないでしょう。そこで、多くの企業が採用しているのが「メール配信システム」の活用です。
メール配信システムを使うメリット
自前でメールサーバーを構築するのではなく、専用のシステムを利用することで、以下のような大きなメリットを享受できます。
- 誰でも直感的にHTMLメールが作成できる「シンプルで使い勝手の良い操作性」
- 独自基盤による「圧倒的な高速配信」と迷惑メール判定を回避する「高い到達率」
- 開封率やクリック率をリアルタイムで把握できる「充実した効果測定ツール」
圧倒的なシェアと実績を誇り、高いコストパフォーマンスと使い勝手の良さを両立。初めて導入する企業から大量配信を行う大規模利用まで、幅広く対応する最適なメール配信ツールです。
公式サイト:シェア1位のメール配信システム「ブラストメール」
API連携・SMTPリレーに特化した「blastengine」

ブラストエンジン(blastengine)は、システム連携に特化したAPI連携・SMTPリレー型のメール配信サービスです。15年連続シェアNo.1の「ブラストメール」で培った20年以上のノウハウを凝縮し、独自開発の高速エンジンにより月間7億通以上の配信を支える安定した基盤を提供しています。
日本国内の主要キャリアやプロバイダに最適化されており、メール到達率は99%以上を誇ります。エンジニアが使い勝手の良いシンプルなAPI設計が特徴で、既存システムやアプリへの組み込みもスムーズ。初期費用無料で月額3,000円から利用でき、スモールスタートから大規模運用まで柔軟に対応可能です。
- 独自開発の配信エンジンと20年の実績による「国内トップクラスの到達率99%以上」
- API連携・SMTPリレーにより、既存のシステムやアプリから「即座に高速配信が可能」
- 初期費用0円・月額3,000円からの従量課金制で「業界最安クラスのコストパフォーマンス」
圧倒的な到達率と低価格を両立し、開発者の工数を最小限に抑えつつ確実なメール配信を実現。スタートアップから大規模サービスまで、あらゆるフェーズのシステム送信に最適なソリューションです。
ブラストエンジン公式サイト:https://blastengine.jp/
まとめ
配信しているドメインでDKIMに対応しているかを確認する方法には、以下の2つがあります。
- オンラインツール
- コマンドライン
前者はより手軽にDKIMの確認ができ、後者はやや複雑な手順が必要ではあるものの詳細を確認することができます。
DKIMを採用した環境からのメール配信は「送信者ガイドライン」でも記載されているように、メールの送受信において標準的な規格になりつつあります。
そのため、DKIMを設定しない環境からのメール配信は、なりすましや改ざんのリスクを抱えるだけでなく、受信者側のセキュリティでスパムメールと判断される可能性が高くなるでしょう。
DKIMは自力で設定することも可能ですが「メールリレーサービス」を使うことで、簡単に高度な配信基盤を使った配信環境が実現できます。
本記事でご紹介している「ブラストエンジン」では、無料トライアル期間も実施しているため、興味がある方はぜひお試しください。
FAQ
- Q:DKIMが正しく設定されているか確認するにはどうすればいいですか?
- A:最も簡単な方法は、Gmailなどのメールソフトで受信したメールのヘッダー情報を確認することです。「Authentication-Results」という項目に「dkim=pass」と表示されていれば、DKIM署名は正常に機能しています。
- Q:GmailでDKIMの認証結果を確認する手順を教えてください。
- A:受信したメールを開き、送信者名の右側にある「︙(三点リーダー)」から「メッセージのソースを表示」をクリックします。表示された画面で「DKIM」の項目が「PASS」になっているか、または検索機能で「dkim=pass」という記述があるかを確認してください。
- Q:メールソフト以外でDKIMの設定状況をチェックできるツールはありますか?
- A:「MXToolBox」や「DKIMCore」などの無料オンラインツールを利用するのが便利です。確認したいドメイン名とセレクタを入力するだけで、公開鍵が正しく公開されているか(DKIMレコードの有効性)を即座に判定してくれます。
- Q:コマンドラインを使ってDKIMを確認することは可能ですか?
- A:はい、WindowsのコマンドプロンプトやMacのターミナルから確認できます。「nslookup -type=TXT {セレクタ}._domainkey.{ドメイン名}」というコマンドを実行し、DKIMレコードが表示されれば設定は有効です。


