DNSSEC解説:DNSに署名する

最終更新: 2026-05-31

素のDNSには認証がありません。リゾルバは、本物の応答と攻撃者が注入した偽の応答(キャッシュポイズニング)を区別できません。DNSSECはDNSレコードに署名し、完全性と出所を検証できるようにしてこれを解決します。

関係するレコード

レコード 役割
DNSKEY ゾーンの公開鍵(KSKとZSK)
RRSIG レコード集合に対する署名(鍵で作成)
DS ゾーンKSKのハッシュ。ゾーンに公開
NSEC/NSEC3 名前が存在しないことの認証済み証明

信頼の連鎖

ルートゾーンは、検証リゾルバが内蔵するトラストアンカーです。ルートがTLDのDSに署名し、TLDがあなたのドメインのDSに署名し、あなたのDNSKEYがレコードに署名します。検証リゾルバはこの連鎖をたどり、すべて整合すればAD(Authenticated Data)フラグを立てます。署名の欠落・期限切れ・DS不一致があれば、偽の応答ではなくSERVFAILを返します。

有効化の手順

  1. DNSホストで署名を有効化(DNSKEY/RRSIGが自動生成される)。
  2. 生成されたDSレコードをレジストラに登録する — ここを忘れがちで、無いと連鎖が切れます。
  3. 当サイトの DNSSECチェッカー で確認する。

メモ: DNSSECは真正性を提供しますが秘匿性は提供せず、クエリを暗号化しません。機密性にはDNS-over-HTTPS/TLSを使います。DNSレコードの種類 も参照。

参考資料