DKIM 公開鍵を検索・検証
DNS とレコード
DNS ルックアップ あらゆるドメインのすべての DNS レコード A レコードルックアップ ドメインの IPv4 アドレス AAAA レコードルックアップ ドメインの IPv6 アドレス MX ルックアップ ドメインのメールサーバー NS ルックアップ 権威ネームサーバー TXT ルックアップ TXT レコード、SPF、検証 CNAME ルックアップ 正規名(エイリアス)レコード SOA ルックアップ Start of Authority レコード SRV ルックアップ サービスロケーションレコード CAA ルックアップ どの CA が証明書を発行できるか 逆引き DNS(PTR) IP アドレスからホスト名へ DNSSEC チェック ドメインは署名され検証されているか? DNS ヘルスチェック 委任と DNS の総合診断レポートメール到達性
SPF チェック Sender Policy Framework レコードを検証 DMARC チェック DMARC ポリシーを検査・評価 DKIM チェック DKIM 公開鍵を検索・検証 ブラックリストチェック IP をメールブロックリスト(DNSBL)と照合 SMTP テスト メールサーバーに接続し STARTTLS をチェック MTA-STS チェック 受信メールに対する強制 TLS ポリシー BIMI チェック メール用のブランドロゴレコード TLS-RPT チェック SMTP TLS レポートポリシーネットワークとウェブ
SSL 証明書チェック サイトの TLS 証明書と有効期限を検査 HTTP ヘッダーチェック レスポンスヘッダー、リダイレクト、セキュリティを検査 Ping(TCP) TCP 経由での到達性と遅延 ポートチェック どの一般的なポートが開いているかドメイン
WHOIS ルックアップ ドメイン、IP、ASN の登録データDKIMは送信メールに暗号署名を付加し、受信側はDNS上のselector._domainkey.your-domainに公開した公開鍵で検証します。DNSにはセレクターを列挙する手段がないため、IPeekはGoogle、Microsoft、Amazon SESなど主要プロバイダーが使用するセレクターを探索します。
メールを送信すると、プロバイダーは秘密鍵で選択したヘッダーと本文に署名し、メッセージにDKIM-Signatureヘッダーを追加します。受信側はそのヘッダーからd=(ドメイン)とs=(セレクター)タグを読み取り、selector._domainkey.d にある対応する公開鍵を取得して署名を検証します。検証に成功すれば、コンテンツが転送中に改ざんされておらず、そのドメインの鍵保有者から確かに送られたことが分かります。秘密鍵は送信サーバーに留まり、DNSに置かれるのは公開鍵だけです。
セレクターを使うと、1つのドメインで複数のDKIM鍵を公開できます。鍵のローテーションや、異なる送信サービスごとの使い分けに便利です。公開鍵はselector._domainkey.your-domain(例:google._domainkey.example.com)のTXTレコードで、v=DKIM1; k=rsa; p=<base64公開鍵> を含みます。DNSにはセレクターの一覧がないため、ドメインがどのセレクターを使っているかを単純に問い合わせることはできません。そのためIPeekは、Google(google)、Microsoft、Amazon SESなど主要プロバイダーが使う一般的なセレクターを探索し、公開された鍵を見つけ出します。
DKIMは3層のうちコンテンツ認証を担う層です。SPFが送信ホストをIPで認可するのに対し、DKIMはメッセージのヘッダーと本文が改ざんされていないことを暗号的に証明し、署名ドメインに結び付けます。DMARCはその後、DKIMの署名ドメインが表示上のFromアドレスと整合しているかを確認します。DKIMにはSPFに対する大きな利点があります。署名がメッセージとともに移動するため、SPFが壊れがちな転送を生き延びるのです。強固な到達率のためには、DKIMを公開し、DMARCの下で整合させてください。
セレクターは、DNS上の特定のDKIM公開鍵を指し示すラベルで、1つのドメインがローテーションや異なる送信サービスのために複数の鍵を公開できるようにします。DKIM-Signatureヘッダーのs=タグとして現れ、DNS上の場所 selector._domainkey.your-domain の一部を構成します。例えば、Google Workspaceでは一般的にgoogleというセレクターが使われます。
DKIMレコードはselector._domainkey.your-domainに存在し、DNSにはドメインがどのセレクターを使っているかを列挙する手段がありません。そのため、照会するにはセレクターを知っておく必要があります。プロバイダーごとに使うセレクターは異なります。IPeekは、Google、Microsoft、Amazon SESなど主要プロバイダーが使う一般的なセレクターを探索することで、公開された鍵を自動的に見つけ出し、この問題を解決します。
DKIM公開鍵は、DNS上のselector._domainkey.your-domain(例:google._domainkey.example.com)にTXTレコードとして公開されます。レコードには v=DKIM1; k=rsa; p= に続いてbase64エンコードされた公開鍵というタグが含まれます。対応する秘密鍵は送信メールサーバーに留まり、公開されることはありません。受信側は公開鍵を取得して各署名を検証します。
はい、ほとんどの場合は生き延びます。DKIM署名はメッセージヘッダー内に含まれて移動するため、署名されたヘッダーと本文が変更されない限り、転送後も有効なままです。これは、送信元IPが変わるため転送で壊れがちなSPFに対する大きな利点です。これが、転送メールでSPFが失敗してもDKIMによってDMARCが合格できる理由でもあります。
SPFは送信元IPを確認することで、どのホストが自社ドメインのメールを送信してよいかを認可します。一方DKIMは各メッセージに暗号署名を付け、受信側がコンテンツの改ざんがなく自社ドメインから送られたことを検証できるようにします。SPFは経路を、DKIMはメッセージを検証します。両者は補完関係にあり、DMARCがその両方を表示上のFromアドレスに結び付けます。