DKIM(DomainKeys Identified Mail)は、送信メールにデジタル署名を追加するメール認証方式です。この暗号署名により、受信メールサーバーはメールが実際に主張するドメインから送信されたものであり、転送中にメッセージ内容が改ざんされていないことを確認できます。
DKIMはメール到達率とブランド保護に不可欠です。DKIMがなければ、攻撃者はあなたのドメインから送信されたように見えるメールを偽装し、評判を損なったり、顧客を詐欺にかけたりする可能性があります。DKIMはまた、正当なメールがスパムフォルダーではなく受信トレイに届くのを助けます。Gmail、Yahoo、Microsoftなどの主要なメールプロバイダーは、受信メッセージを信頼するかどうかを判断する重要な要素としてDKIM検証を使用しています。2024年2月以降、GoogleとYahooはすべての大量メール送信者にDKIM認証を要求しています。
DKIMは公開鍵暗号方式で機能します。メールを送信すると、メールサーバーはサーバーに保存された秘密鍵を使用して一意のデジタル署名を作成します。この署名はDKIM-Signatureフィールドとしてメールヘッダーに追加されます。受信サーバーがメールを受け取ると、ドメインのDNSレコード(TXTレコードとして保存)から公開鍵を取得し、署名を復号化して検証します。署名が一致すれば、メールが本当にあなたのドメインから送信されたこと、そしてメッセージ本文と主要なヘッダーが署名後に変更されていないことが証明されます。
DKIMセレクタは、DNSレコード内の特定のDKIMキーを識別する名前です。異なるメールサービス用に複数のDKIMキーを持つことができます。たとえば、Google Workspaceには「google」、SendGridには「sendgrid」というセレクタを使用できます。セレクタはDNSレコード名(selector._domainkey.yourdomain.com)とDKIM-Signatureヘッダーの両方に表示されます。
SPFはメールが承認されたIPアドレスから送信されたことを確認し、DKIMはメール内容が改ざんされておらず、主張するドメインによって署名されていることを確認します。SPFは送信サーバーをチェックし、DKIMはメッセージの整合性をチェックします。両方とも不可欠であり、DMARCと連携して完全なメール認証を実現します。
DKIMの設定には3つのステップがあります:1)メールサービスプロバイダーまたはメールサーバーを通じて公開鍵/秘密鍵ペアを生成する、2)ドメインのDNSにTXTレコードとして公開鍵を公開する、3)秘密鍵で送信メールに署名するようにメールサーバーを設定する。Google Workspace、Microsoft 365、SendGridなどのほとんどのメールサービスプロバイダーは、特定の設定手順を提供しています。
DKIM失敗の一般的な原因には、不正なDNSレコード形式、メールサーバーとDNS間のセレクタの不一致、転送サーバーやメーリングリストによるメッセージの変更、DNSで更新されていない期限切れまたはローテーションされたキー、変更後のDNS伝播遅延などがあります。DMARCレポートを使用して具体的な失敗理由を特定してください。