DNSSEC でぃーえぬえすせっく
DNSSECDNS署名キャッシュポイズニング対策ゾーン署名DS レコード信頼チェーン
DNSSECについて教えて
簡単に言うとこんな感じ!
DNSSECは「DNSの回答に電子署名をつけて改ざんを防ぐ仕組み」だよ。普通のDNSは回答が本物かどうか確認しないから、偽の回答を注入される危険がある。DNSSECがあれば「この回答は確かに本物のDNSサーバーが返したものです」と証明できるんだ!
DNSSECとは
DNSSEC(DNS Security Extensions)は、DNSの応答にデジタル署名(RSAまたはECDSA)を付加することで、応答の正真性(改ざんされていないこと)と出所を検証できるようにする拡張仕様です。
DNSは本来、応答が正しい権威サーバーから来たものかどうかを確認する仕組みを持っていません。この弱点を突いたキャッシュポイズニング攻撃(偽のDNS応答をキャッシュDNSに記憶させる攻撃)に対する根本的な防御策がDNSSECです。
DNSSECは「信頼チェーン(Chain of Trust)」と呼ばれる階層的な信頼構造を構成します。ルートゾーンの署名から始まり、TLD(.com/.jpなど)→各ドメインへと信頼が連鎖していきます。
DNSSECのレコード構成
| レコードタイプ | 役割 |
|---|---|
| DNSKEY | ゾーン署名に使う公開鍵 |
| RRSIG | 各リソースレコードへのデジタル署名 |
| DS(Delegation Signer) | 子ゾーンのDNSKEYのハッシュ(親が保持) |
| NSEC / NSEC3 | 存在しないレコードへの「不在証明」 |
歴史と背景
- 1997年:DNSSECの最初の標準化(RFC 2065)
- 2005年:改定仕様(RFC 4033-4035)が現在の標準に
- 2008年:カミンスキー攻撃によるキャッシュポイズニングが実証。DNSSEC普及が加速
- 2010年:ルートゾーンへのDNSSEC署名が完了
- 2011年:.jpドメインへのDNSSEC対応開始
- 現在:主要TLDはほぼ対応済みだが、個別ドメインの設定率はまだ低い
DNSSECの信頼チェーン
関連する規格・RFC
| 規格 | 内容 |
|---|---|
| RFC 4033 | DNSSEC 導入と要件 |
| RFC 4034 | DNSSEC レコードタイプ仕様 |
| RFC 4035 | DNSSEC プロトコル仕様 |
関連用語
- DNS — DNSシステム全般
- DNSスプーフィング・キャッシュポイズニング — DNSSECが防ぐ攻撃
- DNSレコードタイプ — DNSKEY・DS・RRSIGレコード
- 権威サーバー・フルリゾルバ — DNSSEC検証を行う構成要素