DKIM とは?
DKIM(DomainKeys Identified Mail)は、ドメインから送信するすべてのメールにデジタル署名を付けます。受信側のサーバーは、DNS にある公開鍵を使って、メッセージが改ざんされていないこと、そしてあなたのドメインが署名したことを確認します。
エンジニアに相談する ナレッジベース
どういうものか
DKIM は鍵ペアを使います。送信側のシステムが秘密鍵を保持し、送信するメッセージごとに、本文と From、To、Subject などの指定したヘッダーに署名します。署名は、署名ドメインとセレクター名とともにヘッダーに入って届きます。
対応する公開鍵は、DNS の selector._domainkey に続けてドメイン名を付けた場所に公開します。受信側はそれを参照して署名を検証します。合格なら、署名された部分が送信時のまま届いたこと、そしてあなたの鍵を持つシステムから送られたことを意味します。
有効なままのケースと、壊れるケース
- 転送:署名はメッセージ自体に属し、送信元のサーバーに属するものではないため、変更せずに転送した場合は有効なままです。この点で DKIM は SPF より優れています。
- 転送中の変更:フッターを追加したり件名を編集したりするメーリングリストや、本文を書き換えるフィルターがあると、署名は壊れます。
送信サービスごとに 1 つの鍵
ドメインとして送信するサービスは、それぞれ個別に DKIM を有効にする必要があります。Microsoft 365、ニュースレター配信サービス、請求書をメール送信する会計ソフトなどです。各サービスは自分のセレクターで専用の公開鍵を公開するため、複数を並べて運用できます。Microsoft 365 では、Microsoft が管理する鍵を指す CNAME レコードを 2 つ追加します。Google Workspace では、公開する TXT レコードが提供されます。DMARC を強制適用した後に失敗する原因は、自前の署名を付けずに送信しているサービスであることがほとんどです。
サービスと DNS ホストが対応していれば 2048 ビットの鍵を使い、鍵は時々入れ替えてください。セレクターの仕組みにより、メールを止めずに入れ替えられます。
企業にとって重要な理由
有効な署名があると、受信側があなたのメールを信頼する根拠になり、DMARC がそれを From アドレスと結び付けられます。ただし DKIM 単独では、検証に失敗したメッセージをどう扱うかは指定できません。詳しくはメール認証ガイドをご覧ください。
KawaConnect における DKIM の扱い方
Microsoft 365 のセットアップや移行の際に、Exchange Online で DKIM 署名を有効にしてレコードを公開し、そのうえで企業が送信に使う他のサービスも確認します。Microsoft 365 のページとビジネスメールのガイドをご覧ください。
関連サービス
Microsoft 365
Exchange Online で DKIM 署名を有効化。
マネージドIT
ドメインとしてメールを送信するすべてのサービスの一覧。
Webサイト
メールレコードを含む、ホスティングしているサイトの DNS。
詳しく見る
- Wikipedia の DomainKeys Identified MailDKIM の署名とセレクターの仕組みについての中立的な概要。
- Microsoft 365 のメール認証Microsoft による概要。独自ドメインで DKIM を有効にする手順へのリンク付き。
- Cloudflare の DMARC、DKIM、SPFDKIM が他の 2 つのレコードとどう組み合わさるかを、専門家でない方向けに解説。