DKIMとは?仕組みや設定方法やSPF・DMARCとの違いも解説!
「メールが届かない」「受信者からの返信が来ない…」とお困りの方は多いのではないでしょうか。
そんな方のためにDKIMというメール送信者の認証技術をご紹介します。
DKIMはメールの信頼性を高め、受信者があなたのメールを正当なものと認識するのを助ける仕組みです。
そんなDKIMの基本的な仕組みから、具体的な設定方法、そしてなぜDKIMがメール配信の問題を改善するのかをわかりやすく紹介しています。
なお2024年2月よりSPF・DKIMに対応していないメールサーバーやレンタルサーバーを利用しているとGmail宛にメールが届かなくなる可能性があります。
今後より一層メール送信認証技術「DKIM」への対応が必須となります。
コアサーバーV2プランでは、スムーズにDKIMの設定を行うことができるようDKIM設定機能をご用意しています。コアサーバーV2プランでは、「SPF」「DKIM」「DMARC」の送信認証技術のご利用が可能です。
ぜひ便利で安全なコアサーバーをご利用ください。
DKIMとは?
DKIMは、DomainKeys Identified Mailの略で、メール送信者の認証技術の一つです。読み方は、「ディーキム」です。
具体的には、メールが本当にその送信者から来たものかどうかを確認し、メールの信頼性を高める役割を果たします。
DKIMは、なりすましメール対策やメールの信頼性向上を目的に開発されました。
なりすましメール対策としてのDKIM
なりすましメールは、偽装された送信元アドレスを使って、受信者をだまして情報を盗む手法です。
DKIMは、メールの送信元ドメインに対して電子署名を行い、受信者側で検証することでなりすましを防ぎます。
またDKIMは、他の送信ドメイン認証技術とも連携が可能です。SPF、DMARCを併用することで、偽装、改ざん、スパム、フィッシング詐欺などのセキュリティリスクを最小限に抑えることができます。
SPFについては、「SPFレコードとは?仕組みや設定方法、正しい書き方も解説します」で詳しく解説しています。
他の送信ドメイン認証技術との連携については、後述する「DKIMと他の送信ドメイン認証技術の関係」の章で詳しく紹介します。
メールの信頼性向上を目指すDKIM
DKIMは、メールの信頼性を高めるための技術でもあります。
DKIM署名が付いたメールは、メール発信元アドレスが改ざんされていないことが確認できるため、受信者は安心して受け取ることができます。
DKIMには、セレクタという仕組みがあります。セレクタは、同一のドメインから送信される複数のメールに対して、異なる秘密鍵を使用するために使用されます。
セレクタの例をあげると、「example.com」というドメインで「[email protected]」と「[email protected]」の2つのメールアドレスを持っている場合、この2つのメールアドレスにそれぞれ異なる秘密鍵を使い署名が可能です。
セレクタは、同じドメイン内で異なる秘密鍵を管理する際に役立ち、セキュリティを強化します。
DKIMの仕組み
DKIMは、メール送信者が秘密鍵を使ってメールに署名し、受信者が公開鍵で署名の正当性を確認する仕組みです。この署名には、ヘッダーと本文の情報が含まれます。
DKIMは、以下のプロセスにより、メール送信者が認証され、メールの改ざんやなりすましを防ぎます。
- コード生成と署名: メール送信者がメールの特別なコード(ハッシュ値)を作り、それをDKIM-Signatureヘッダーに追加します。そのヘッダーは秘密鍵で暗号化されます。
- 公開鍵取得と検証: メール受信者はDKIM-Signatureヘッダーから情報を得て、DNSサーバーから送信者の公開鍵を手に入れます。
- 署名解読とコード比較: 受信者は公開鍵で署名を解読し、メールの内容をコードに変換して元のコードと比較します。
- 一致確認: コードが一致すれば、メールの送信者が確認され、メールの改ざんがないことが証明されます。
DKIM導入のメリットと必要性
DKIM導入のメリットには、以下があります。
- 迷惑メール被害の防止
- メール到達率の向上
- IPアドレス評価の維持
迷惑メール被害の防止
迷惑メールは、受信者にとって非常に迷惑なものです。
迷惑メール被害は、メールの不正送信によって発生することがあります。
DKIMを導入することで、メールの送信元が偽装されることを防ぎます。
それにより、迷惑メールの被害を減らすことができます。
メール到達率の向上
DKIMを導入することで、メールの到達率を向上させられます。
これは、DKIMで署名されているメールが、ISPなどのフィルタリングシステムによって、スパムメールであると認識されにくくなるからです。
署名を導入することによって、メールの受信者はメールの中身が改ざんされていないと判断できるため、安心してメールを受信できます。
一般的に、フィルタリングシステムは「メールの中身が改ざんされていないか」などに注目していて、怪しいメールは除外したり受信を拒否したりする仕組みです。
DKIMを導入していないと、誤ってスパムメールであると判断される可能性がありますが、導入することでこのような問題を大きく減らせます。
実際、フリーメールの中でも利用者の多い「Gmail」では、2024年2月よりDKIMが設定されていないメールを受信しない方針を示しました。
現時点ではメールをエラーとして扱うようになりますが、2024年4月にはメールの受信を拒否する方針であると示されています。
DKIMを設定していないことによって、今までは当たり前に送信できていた相手に、送信できなくなる可能性があるのです。
IPアドレス評価の維持
DKIMの導入によって、IPアドレス評価の維持も可能になります。
IPアドレスは、メールの送信元を特定するために利用されます。
しかし、迷惑メールを送信するスパマーたちは、IPアドレスを偽装することで追跡を回避しようとしています。
このような偽装を防ぐために、メールにはDKIM署名が付与されます。
DKIM署名には、メールの送信元ドメインの秘密鍵が用いられます。この秘密鍵を持つのは、ドメインの管理者だけです。
メールを受信する側は、送信元ドメインの公開鍵をDNSから取得し、DKIM署名を検証することで、メールの送信元が本当にそのドメインから送信されたものかを確認できます。
DKIM署名が正しく検証されることで、メールの送信元ドメインの信頼性が高まります。
これによって、IPアドレスの評価も維持できます。
DKIMの設定方法
DKIMの設定方法については、コアサーバーのV2プランを例に解説します。
ここからは、コアサーバーでのDKIM認証の方法です。
- 左メニューの「メール」をクリック
コントロールパネルに「ログイン」後、左メニューにある「メール」をクリックします。 - 「DKIMを有効」をクリック
右上の「DKIMを有効」ボタンをクリックします。 - DKIM設定完了
「Success」とメッセージが表示されたらDKIM設定は完了です。 - DKIMの設定内容を確認する
1.左メニューにある「DKIM管理」をクリックします。
2.対象の「値」に記載されているテキストをクリックします。 - 「値」の内容をコピーし、ドメインのDNS設定を変更する
1.表示された「値」の設定内容を全てコピーします。
※記載されている内容を全てコピーしてください。
2.ドメインのDNS設定画面にて設定を行います。
【DNS設定例】
▼DKIMのみ有効化させる場合
txt x._domainkey v=DKIM1; k=rsa; p=MIIBI*****(赤文字がコピーした値の部分)*****
▼DKIM/DMARC両方を有効化させる場合
txt x._domainkey v=DKIM1; k=rsa; p=MIIBI*****(赤文字がコピーした値の部分)*****
txt _dmarc v=DMARC1; p=none;
サブドメイン sub.example.com で設定する場合は名前の部分を以下のように変更ください
x._domainkey → x._domainkey.sub
_dmarc → _dmarc.sub
※上記DMARCレコードはDMARC送信認証をPASSするための最小構成です。任意の内容に変更いただけます。
バリュードメインでのDNS設定変更手順はこちら
※DNS設定の変更がインターネット上に反映されるまで、5~30分程度かかる場合があります。
SPF認証だけでなくDKIM認証も行うことで迷惑メールとして弾かれてしまうリスクを減らすことができるので、確実にメールを届けたい人はぜひ試してみてください。
DKIMの確認方法
DKIMが設定されているかどうかやその内容は、自分自身でも確認が可能です。
どのような内容であるのか確認してみたい場合、以下の方法をお試しください。
DKIMを確認するための事前準備
DKIMの内容が新しいか評価するためには「ドメイン名」と「セレクタ」の情報を集めておかなければなりません。ドメイン名は「@(アットマーク)」の後ろ側であるため判断しやすいですが、セレクターはどこにあるのか判断しづらいでしょう。今回は、Gmailでメールを受信する場合を例として確認方法を紹介します。
まず、DKIMが設定されているか確認したいメールを選択します。今回は、コアサーバーのサービスから送られてくるメールを確認してみましょう。Gmailのコンソールから「メッセージのソースを表示」をクリックします。
クリックすると以下のとおり、どのようなセキュリティ施策が適用されているか確認できます。まずは、DKIMが含まれているかどうか評価しましょう。
含まれている場合、ページの下部に書かれているソースコードの部分に「DKIM-Signature」「header.s=」という記載が見つかるはずです。こちらのイコールに続く部分がセレクターの文字列であるため、DKIMが正しい内容であるか評価する際は、この情報を利用しましょう。
なお、受信側でDKIMを確認したい場合には、今回の手順で紹介し「メールのヘッダ情報」をチェックするのが簡単です。ただ、設定されているからと言って内容が絶対に正しいとは限らないため、以下で紹介する確認手順も組み合わせていきましょう。
オンラインツール
DKIMの設定内容に問題がないか評価するためのオンラインツールが存在します。複数のサービスがありますが、代表的なものをあげると以下のとおりです。
どちらのオンラインツールにおいても、ドメイン名とセレクターを入力することによって、DKIMが正しく設定されているか評価ができます。今回は「DKIM Record Checker」で実際に内容を確認してみましょう。サイトへとアクセスし、収集した情報を入力すると以下の通りです。
「INSPECT DKIM」をクリックすると、入力した内容が正規のものであるかどうかを評価してくれます。結果は下部に評価され以下の通りです。
今回は内容に問題がないという旨が表示されました。適当な内容を入力すると、入力時に誤りがあることが示されます。
コマンドライン
パソコンのコマンドラインツールから、コマンドを入力することでDKIMの評価が可能です。
利用するOSによって少々異なりますが、Windowsの場合は以下のコマンドで確認できます。
nslookup -q=TXT [セレクタ]._domainkey.[エンベロープFromドメイン]
今回の事例であれば、以下のようなコマンドを実行します。
nslookup -q=TXT x._domainkey.v2009.coreserver.jp
実行すると以下のとおりDKIMの内容が表示されます。
詳細な内容が表示されれば、設定されているDKIMの値が正しいということが判断できるのです。
DKIM導入後の注意点と管理
DKIM導入後に注意する点と管理について説明します。
鍵の管理と更新
DKIM導入後、秘密鍵の取り扱いは下記の点に気を付けましょう。
- 鍵の更新
- 鍵の管理
- 鍵を紛失した場合の対処法
鍵の管理と更新は、DKIMを導入した企業にとって非常に重要なポイントです。
鍵の管理と更新を怠ると、DKIMの効果が薄れ、セキュリティに問題が生じる可能性があります。
1.鍵の更新
DKIMの鍵は定期的に更新が必要です。
鍵を定期的に更新することで、セキュリティを強化し、なりすましメールの被害を防ぐことができます。
また、鍵の更新には、十分注意しましょう。誤った設定がされると、メール送信の際にエラーが発生する可能性があります。
2.鍵の管理
DKIMの鍵は、セキュリティ上の理由から、できるだけ少数の人間のみがアクセスできるようにしましょう。
また、鍵を保管する場所も、セキュリティを考慮して選定する必要があります。
鍵を保管する場所については、社内で管理するのか、サードパーティーのサービスを利用するのかを検討する必要があります。
3.DKIMの鍵を紛失した場合の対処方法
鍵を紛失した場合は、新しい鍵を生成し、再度設定を行う必要があります。
鍵を紛失しないためには、鍵の管理に十分な注意を払い、定期的にバックアップを取ることが重要です。
DKIMを導入した企業は、鍵の管理と更新を怠らず、常にセキュリティを意識した運用を心がけることが大切です。
DNSレコードの運用
DNSレコードの運用については、DKIMの導入後に重要な手順の1つです。
DNS運用手順は、下記の通りです。
1.TXTレコードの作成
DNSレコードの運用には、DKIM署名の公開鍵を含むTXTレコードを作成する必要があります。
このTXTレコードは、ドメイン名とセレクタ名に基づいて作成されます。
セレクタ名は、ドメイン名と共に、DKIM署名の公開鍵を識別するために使用されます。
2.DNSサーバーへのアップロード
DNSレコードの運用には、公開鍵を含むTXTレコードをDNSサーバーにアップロードする必要があります。
このプロセスは、DNS管理者によって行われます。
DNS管理者は、TXTレコードを適切に設定し、署名の検証を行うために必要な情報を提供する必要があります。
3.公開鍵の定期的な更新
DNSレコードの運用には、公開鍵の更新も含まれます。
公開鍵は、定期的に更新する必要があります。これは、セキュリティ上の理由からです。
更新された公開鍵は、DNSレコードに追加されます。
4.監視とトラブルシューティング
DNSレコードの運用には、監視とトラブルシューティングが含まれます。
監視は、DNSレコードが正しく機能していることを確認するために行われます。
トラブルシューティングは、DNSレコードに関連する問題を解決するために行われます。
DNSレコードの運用は、DKIM署名の検証に不可欠な手順です。
DNS管理者は、公開鍵の適切な設定と更新を確認する必要があります。
また、DNSレコードに関連する問題を解決するために、監視とトラブルシューティングも必要です。これにより、電子メールの認証プロセスがスムーズに機能し、セキュリティが維持されます。
DKIMと他の送信ドメイン認証技術の関係
DKIMだけで完全にメールのセキュリティを確保することはできません。
そのため、他の送信ドメイン認証技術との連携が必要となります。
DKIMとSPFの併用
SPF (Sender Policy Framework)は送信元IPアドレスが送信者の正当なものかどうかを確認する技術です。
DKIMとSPFを併用することで以下のメリットがあります。
- 送信者認証の補完: DKIMはメッセージの整合性を確認し、SPFは送信元IPを確認します。両方の技術を併用すると、メールの送信者が正当であることをより確実に確認できます。
- 偽装メールの防止: DKIMはメールの改ざんを防ぎ、SPFは偽装された送信元IPを検出します。これにより、なりすましメールやフィッシング詐欺を防ぐことができます。
- メールの到達率向上: DKIMとSPFの組み合わせによって、受信側のメールサーバーが正当なメールを確実に受け入れることができ、スパムフィルターでの誤判定を減少させます。
- 信頼性向上: ドメインの信頼性を高め、メールの送信元をより正確に識別できます。
SPFとDKIMと併用することで、より強力な認証技術となります。
DKIMとSPFの違いとは?
SPF認証 | 送信元のメールアドレスが怪しいものでないと確認する仕組み |
---|---|
DKIM認証 | メール本体に電子署名を付与して送信元の認証を行う仕組み |
DKIMとSPFは、どちらもメール送信者の認証技術ですが、その仕組みや目的は異なります。
SPFは、特定のドメインから送信されたメールが許可されたサーバーから来たものであることを確認するために使用されるものです。
受信メールサーバーは、メールが送信されたIPアドレスを確認し、そのIPがDNSレコードに記載された許可リストに含まれているかを評価します。
対して、DKIMはメールが特定のドメインからのものであり、メールが途中で改ざんされていないことを検証するために使用されるものです。
送信ドメインがメールにデジタル署名を付加し、その署名を公開キーで検証できるようにすることで機能します。
違いとしては、SPFは送信元のIPアドレスのみを検証するのに対し、DKIMはメールの内容とヘッダーが改ざんされていないことを検証できることが挙げられます。
また、SPFはメールの転送によって検証が失敗するかもしれませんが、DKIMならば影響されないという点も違いでしょう。
DKIMとSPFは、相互補完性があります。両方を組み合わせることで、メール送信者の認証がより強固になり、スパムメールやフィッシング詐欺などの被害を防止します。
DMARCとDKIMを連携
DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、送信元ドメイン認証技術の1つです。
DMARCでは、メール送信ドメインのDNSレコードにポリシーを設定し、メール受信サーバーに認証結果と振る舞い指針を伝えます。
SPFやDKIMの認証結果を受信者側に通知する技術のDMARCとDKIMを連携することで、メールの送信者認証を強化し、なりすましメール対策を強化することができます。
また、DKIMとDMARCの連携によって、メールの配信率も向上します。
DMARCは、送信元ドメインの認証情報をDNSに登録することで、メールサーバーに信頼性を示します。これにより、メールがスパムフィルターに引っかかりにくくなり、受信者に確実に届きます。
DKIMとDMARCの連携は、メールセキュリティを強化する上で必要不可欠な技術です。
導入することで、迷惑メール被害の防止やメール配信率の向上などのメリットを得ることができます。
しかし、導入には正しい設定が必要であり、鍵の管理やDNSレコードの運用などの注意点もあります。
適切な管理と監視を行い、DKIMとDMARCを活用して、より安全なメール環境を実現しましょう。
DKIMとDMARCの違いとは ?
DKIM認証 | メール本体に電子署名を付与して送信元の認証を行う仕組み |
---|---|
DMARC | メールの認証結果を利用して、ドメインの所有者が認証に失敗した際の処理を定義する仕組み |
DKIM認証はメールが改ざんされていないかどうかを証明するための仕組みですが、DMARCはメール送信ポリシーに適しているかやその結果を踏まえた処理のための仕組みです。
セキュリティを高めるための仕組みか、セキュリティ違反があった場合にどうするかの仕組みかという観点で、大きな違いがあると理解しましょう。
なお、一方だけを利用するものではなく、DKIMとDMARCは相補的に機能するものであるため、それぞれ適用することが重要です。
まとめ
DKIMとは、メール送信者のドメイン認証技術の一つであり、なりすましメール対策と信頼性向上を目的としています。
DKIMは、メールの送信者がドメインの所有者であることを証明するために、メール本文に署名を付けます。
この署名は、メール受信者側で検証され、改ざんされていないことが確認されます。
DKIMと他の認証技術を連携させることで、より効果的なメールセキュリティ対策が実現できます。
DKIMだけでなく、SPFやDMARCとの連携を検討し、適切な設定を行うことが重要です。
DKIMを正しく設定し、なりすましメール対策や信頼性向上に役立てましょう。
コアサーバーV2プランでは、スムーズにDKIMの設定を行うことができるようDKIM設定機能をご用意しています。
ぜひ便利で安全なコアサーバーをお試しください。
ドメインが実質0円(年間最大3,882円お得)になるサーバーセット割特典、
V2プランが初期費用無料・15%OFF(月額390円→331円)ブラックフライデーセールを展開中です。
最新のキャンペーンはこちらから
GMOデジロック インフラエンジニア
ボケもツッコミも下手な関西人。Windows98で動作するWebサーバーを使用した自宅サーバー構築から初めて、紆余曲折を経て今に至る。
▽登壇実績
https://ct-study.connpass.com/event/55305/
https://gmohoscon.connpass.com/event/102401/