Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 367

DKIM

監修Cybersecurity entrepreneur & security researcher

DKIM とは何ですか?

DKIMRFC 6376 で定義されるメール認証規格。送信ドメインが送信メールに暗号署名を付与し、受信側でヘッダと本文が改ざんされていないかを検証できる。


DomainKeys Identified Mail (DKIM) は RFC 6376 で規定されています。送信側 Mail Transfer Agent は、選択したヘッダ(h= タグで指定、通常は From、Subject、Date)と本文に対してハッシュを計算し、それに署名したうえで、署名ドメイン(d=)とセレクタ(s=)を記載した DKIM-Signature: ヘッダを付加します。受信側は <セレクタ>._domainkey.<ドメイン>(DNS の TXT レコード)から公開鍵を取得し、署名を検証します。DKIM は伝送経路ではなくコンテンツを保護するため、多くの転送を経ても維持され、DMARC が突き合わせる暗号的識別子を提供します。

実際に起きた失敗例

鍵長は妥協できません。2012 年、研究者 Zachary Harris は、Google が素因数分解可能な 512-bit の RSA 鍵で署名していることを発見しました。彼はおよそ $75 分のクラウド計算資源でこれを解読し、Sergey Brin「から」Larry Page 宛てという偽造メールを送りつけました。eBay、Yahoo、Twitter、Amazon も同じ弱点を抱えており、Google は数日以内に 2048-bit へ移行しました。RFC 8463(2018)はコンパクトで高速な Ed25519-SHA256 アルゴリズムを追加しましたが、多くのメールボックス事業者は依然として RSA しか検証しないため、運用者は両方を別々のセレクタで公開します。

より巧妙な悪用が DKIM リプレイ攻撃 です。DKIM は配送履歴を持たないため、高い評価を持つドメインから正当に署名された 1 通のメッセージを攻撃者が入手すると、それを数千の被害者へ再送しても署名は依然として検証を通過し、そのドメインの評価を借用できてしまいます。対策としては、重要なヘッダのオーバーサイニング、本文長 l= タグの回避、x= タグによる有効期限の設定、そして(M3AAWG のガイダンスに沿った)鍵の定期的なローテーションが挙げられます。

flowchart LR
  A[送信側 MTA] -->|ヘッダ+本文をハッシュ化,<br/>秘密鍵で署名| B[DKIM-Signature ヘッダを付加]
  B --> C[伝送中のメッセージ]
  C --> D[受信側 MTA]
  D -->|selector._domainkey TXT を照会| E[(DNS 上の公開鍵)]
  E --> D
  D -->|ハッシュを再計算,<br/>署名を検証| F{有効かつ未改ざん?}
  F -->|はい| G[合格 - DMARC アライメントに供給]
  F -->|いいえ| H[不合格 - DMARC が判断]

  1. 01

    送信メールサーバーがセレクタ s1 と鍵 d=example.com でマーケティングメールに署名し、DMARC アライメントを満たす。

  2. 02

    新しいセレクタを公開してから旧セレクタを廃止する手順で DKIM 鍵をローテーションし、検証の空白を防ぐ。

よくある質問

DKIM とは何ですか?

RFC 6376 で定義されるメール認証規格。送信ドメインが送信メールに暗号署名を付与し、受信側でヘッダと本文が改ざんされていないかを検証できる。 サイバーセキュリティの ネットワークセキュリティ カテゴリに属します。

DKIM とはどういう意味ですか?

RFC 6376 で定義されるメール認証規格。送信ドメインが送信メールに暗号署名を付与し、受信側でヘッダと本文が改ざんされていないかを検証できる。

DKIM からどのように防御しますか?

DKIM に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

DKIM の別名は何ですか?

一般的な別名: DomainKeys Identified Mail。

関連用語

関連項目