DKIM(DomainKeys Identified Mail)
DKIMは、デジタル署名でメールの送信元と完全性を検証するメール認証プロトコルです。仕組み、重要性、設定のベストプラクティスを解説します。
DKIM(DomainKeys Identified Mail)とは何ですか?
DKIM(DomainKeys Identified Mail)は、メッセージが認可されたメールサーバーから送信されたかどうか、そしてその内容が転送中に変更されていないかどうかを検証するメール認証プロトコルです。送信するメール1通ごとにデジタル署名を付与し、受信サーバーが送信者の DNS に公開された公開鍵を使ってメッセージを検証できるようにすることで機能します。これにより真正性と完全性の両方が確保され、なりすましやメッセージの改ざんから保護されます。
DKIMはメッセージに暗号的に署名することで、メールプロバイダーや受信者が、メールが本当に名乗ったドメインから来ていることを確認できるよう支援します。DKIMはメールセキュリティの基盤となる層であり、SPF や DMARC と連携して偽造メッセージを防ぎ、送信者と受信者の間の信頼を保ちます。
DKIMの仕組み
DKIMは、メッセージを検証するために一対の暗号鍵(秘密鍵1つと公開鍵1つ)を使います。送信メールサーバーは秘密鍵を使って、メッセージの特定の部分(通常はヘッダと本文)に対するデジタル署名を生成します。この署名は DKIM-Signature というヘッダフィールドとしてメールに追加されます。
受信メールサーバーは、署名の d= タグと s= タグで指定されたセレクターが定めるサブドメイン下のDNSレコードから公開鍵を取得します。この公開鍵を使って、メッセージが確かにそのドメインによって署名され、内容が変更されていないことを検証します。
DKIM署名ヘッダの例:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=selector1; h=from:to:subject:date; bh=abc123...; b=def456...この例では、次のようになります。
d=example.comは署名ドメインを示します。s=selector1はDNS内の特定の公開鍵を示します。bh=はメッセージ本文のハッシュを表します。b=は実際の暗号署名を含みます。
メッセージを受信すると、システムは次の場所にある対応する公開鍵を使って署名を検証します。
selector1._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD..."DKIMがメールセキュリティと到達性に重要な理由
DKIMは、メッセージが名乗ったドメインから発信され、配信中に仲介者によって改変されていないことを保証します。これにより、メールプロバイダーは送信者の評価と信頼を築きやすくなり、受信トレイへの到達が改善され、スパムフィルタリングでの誤検出が減ります。
DKIMの主なメリットは次のとおりです。
- メッセージの改ざんやヘッダの操作を防ぐ
- 送信メッセージに対するドメインレベルの責任を認証する
- メールボックスプロバイダーに正当性を示すことで到達性を高める
- フィッシングやドメインのなりすまし攻撃の成功を減らす
- より強固なドメイン保護のためにDMARCアライメントを支える
DKIM署名は(SPFチェックとは異なり)転送を経ても維持されるため、メーリングリスト、CRMシステム、第三者の送信者といった複雑なメールフローでも一貫した検証を提供します。
DKIM設定のベストプラクティス
DKIMを正しく実装するには、慎重な鍵管理とドメイン設定が必要です。一般的なベストプラクティスには次のものがあります。
- 安全な署名のために少なくとも2048ビットの鍵を使う(鍵長)
- DKIMレコードを
selector._domainkey.example.comの下に DNS TXTレコードとして公開する - 侵害を防ぐために署名鍵を定期的にローテーションする(DKIM鍵のローテーション)
- Fromヘッダで使うドメインとのアライメントを確保する(DKIMアライメント)
- 認証結果を監視し、失敗や設定ミスを検出する
DKIM鍵の設定が誤っていたり期限切れになっていたりすると、正当なメッセージが認証に失敗し、配信の問題や送信者評価の低下につながることがあります。定期的な監査は、一貫した信頼できる署名の運用を保つのに役立ちます。
DKIMとDMARCeye
DMARCeyeは、すべてのドメインおよびサブドメインにわたってDKIM認証の結果を継続的に分析します。DKIMレコードの欠落や無効、弱い鍵、DMARC準拠に影響しかねないアライメントの失敗を特定します。
DMARCeyeはまた、どのセレクターが使われているか、メッセージが送信サービスごとにどのような結果になっているか、署名検証がどこで失敗しているかを可視化します。DKIMの管理と監視を簡単にすることで、DMARCeyeは、より高い到達性とより強固なドメイン保護を支える、安全で信頼されたメール認証を組織が維持できるよう支援します。
ご自身のDKIM設定を確認しましょう:
DMARCeyeの無料トライアルに登録して、メールドメインを保護しましょう。
DMARCおよび関連用語について詳しくは、DMARCeye用語集をご覧ください。