- 結論:DNSSECの目的は「応答の正しさ」の保証であり「通信の秘密」ではない
- DNSSECが必要になった背景:DNSキャッシュポイズニングの脅威
- DNSSECの仕組み:「電子署名」で応答の正しさを保証する
- 本題:なぜDNSSECは「機密性(暗号化)」を提供しないのか?
- 「機密性」が欲しい場合はどうする? DoH/DoTの役割
- まとめ:CCSP問題集の解説をもう一度読み解く
CCSPの学習、お疲れ様です!情報システム部でセキュリティを担当している城咲子です。
先日、学習中の方からこんな質問をいただきました。
CCSPの問題集に「DNSSECは、機密性を提供しないため、ペイロードの暗号化は提供しません」という解説があったのですが、この意味がよく分かりません。
確かに、この一文だけだと少し分かりにくいですよね。DNSSECはセキュリティ技術なのに「暗号化しない」と言われると、「じゃあ何を守っているの?」と疑問に思うのも当然です。
この記事では、現役のセキュリティ専門家(CISSP保有)として、DNSSECが「何を」「なぜ」守る技術なのか、そしてなぜ「暗号化(機密性)」を提供しないのかを、セキュリティの基本原則に立ち返って徹底的に解説します。
この記事を読み終える頃には、先ほどの解説文の意味がスッキリ理解できるようになっているはずです。
結論:DNSSECの目的は「応答の正しさ」の保証であり「通信の秘密」ではない
いきなり結論からお伝えします。
DNSSECの最大の目的は、DNSサーバーからの応答が「本物であること(真正性)」そして「改ざんされていないこと(完全性)」を保証することです。
これは、セキュリティの3要素(CIA)でいうところの I (Integrity: 完全性) と A (Authenticity: 真正性 ※) にあたります。 ※CIAの'A'は通常Availability(可用性)ですが、セキュリティの文脈ではAuthenticity(真正性)も非常に重要です。
一方で、問題集にあった「機密性 (Confidentiality)」、つまり「許可された人以外はその内容を見られないようにすること」は、DNSSECの目的ではありません。
例えるなら、DNSSECは「中身が丸見えのハガキ」に、「本物の差出人からのもので、途中で誰も書き換えていません」という鑑定書を付けてくれるようなものです。ハガキを封筒に入れて中身を隠す(暗号化する)役割ではないのです。
だから、「機密性を提供しない」ので「ペイロード(通信の中身=ハガキの文面)の暗号化は提供しない」というわけです。
では、なぜそのような設計になっているのでしょうか?その理由を理解するために、まずはDNSSECが登場した背景から見ていきましょう。
DNSSECが必要になった背景:DNSキャッシュポイズニングの脅威
DNSSECがなぜ必要なのかを理解するには、DNSが抱えていた脆弱性を知るのが一番です。その代表格が「DNSキャッシュポイズニング」です。
- DNSの役割: 私たちが
www.google.comのようなドメイン名でアクセスすると、DNSサーバーがそれを142.250.196.196のようなIPアドレスに変換してくれます。この仕組みを「名前解決」と呼びます。 - DNSキャッシュ: DNSサーバーは、一度解決した名前とIPアドレスの対応を一定期間「キャッシュ(一時保存)」して、応答を高速化しています。
- 攻撃の手口: 攻撃者は、このキャッシュの仕組みを悪用し、偽のIPアドレス情報をDNSサーバーのキャッシュに注入します。
- 被害: ユーザーが正規のサイト(例:ネットバンキング)にアクセスしようとしても、キャッシュに保存された偽の情報によって、攻撃者が用意したフィッシングサイトに誘導されてしまいます。ユーザーは本物のサイトだと思い込んでいるため、IDやパスワードを盗まれてしまうのです。
この攻撃が成功してしまう根本的な原因は、従来のDNSの応答には「その情報が本当に正しい送信元から来た、改ざんされていない情報か」を検証する仕組みがなかったことにあります。
DNSSECの仕組み:「電子署名」で応答の正しさを保証する
そこで登場したのがDNSSEC (DNS Security Extensions) です。
DNSSECは、DNSの応答に「電子署名」を付与することで、その応答が「信頼できるDNSサーバーから来たこと(真正性)」と「途中で改ざんされていないこと(完全性)」を検証できるようにします。
これにより、クライアント(PCやスマホ)は、受け取ったIPアドレスが偽物でないことを確認でき、DNSキャッシュポイズニングのような攻撃を防ぐことができるのです。
DNSSECはまさに、DNSの世界に「身元保証」と「改ざん検知」の仕組みを導入した画期的な技術と言えます。
本題:なぜDNSSECは「機密性(暗号化)」を提供しないのか?
ここからが本題です。なぜ、DNSSECは「応答の正しさ」は保証するのに、「通信内容の暗号化」はしないのでしょうか。理由は大きく2つあります。
理由1:DNSの情報は、そもそも「公開情報」だから
DNSが管理する「ドメイン名とIPアドレスの対応情報」は、インターネット上の住所録のようなもので、原則として誰でもアクセスできる公開情報です。
秘密の手紙ではなく、誰でも見られる電話帳のようなものを、わざわざ暗号化して隠す必要性は低いと考えられています。むしろ、誰でも迅速に引けるという利便性の方が重要視されるのです。
理由2:インターネット全体のパフォーマンスへの影響
もし、世界中のすべてのDNSの名前解決リクエストと応答を暗号化・復号するとなると、DNSサーバーとクライアント双方に膨大な計算負荷がかかります。
これにより、Webサイトの表示が遅くなるなど、インターネット全体のパフォーマンスが低下する懸念があります。
これらの理由から、DNSSECは役割を「完全性と真正性の保証」に絞り、あえて「機密性(暗号化)」の機能は含めないという設計になっているのです。
「機密性」が欲しい場合はどうする? DoH/DoTの役割
「じゃあ、自分がどのサイトにアクセスしようとしているか、通信経路上で誰かに盗聴されるのは防げないの?」
その通りです。DNSSECだけでは、通信経路上での盗聴、つまりISP(プロバイダ)などに「誰がどのドメインにアクセスしようとしているか」という情報を知られる可能性は残ります。
この「通信経路の機密性」を確保するために開発されたのが、DoT (DNS over TLS) や DoH (DNS over HTTPS) といった技術です。
- DoT/DoH: DNSの問い合わせと応答の通信経路全体をTLS/HTTPSで暗号化する技術。
- DNSSEC: DNS応答のデータそのものに電子署名を付けて正しさを保証する技術。
この2つは対立するものではなく、役割の違う技術であり、併用することでDNS通信のセキュリティをより強固にできます。
- DNSSEC: 中身(データ)の保証
- DoH/DoT: 輸送経路(通信)の保証
この関係性を理解することが、クラウドセキュリティを学ぶ上で非常に重要です。
まとめ:CCSP問題集の解説をもう一度読み解く
それでは、最後にもう一度、問題の解説文を見てみましょう。
DNSSECは、機密性を提供しないため、ペイロードの暗号化は提供しません
ここまで読んだあなたなら、もうこの一文が何を意味しているか、明確に説明できるはずです。
- DNSSECの目的は?
- DNS応答の完全性(改ざんされていないこと)と真正性(本物であること)の保証。
- DNSSECの目的に含まれないものは?
- 機密性(通信内容を秘密にすること)。
- だから、どういう仕様になっている?
- 機密性が目的ではないので、ペイロード(応答データの中身)を暗号化する機能は持っていない。
DNSSECは、インターネットの根幹を支えるDNSの信頼性を向上させるための非常に重要な技術です。CCSPの試験範囲に含まれるのも納得ですね。その役割と限界を正しく理解し、DoH/DoTのような他の技術との違いを明確に区別できるようにしておきましょう。