DNS関連技術情報のトップへ戻る

---------------------------------------------------------------------
■DNSブロッキングとDNSSECを共存させるための手法について

                                  株式会社日本レジストリサービス(JPRS)
                                                       2010/07/28(Wed)
---------------------------------------------------------------------

▼本文書の概要・目的

本文書は、児童ポルノ流通防止の一手法として実施が検討されているいわゆる
「DNSブロッキング」と、DNSをより安全に利用するための技術として導入が進
められている「DNSSEC」を、互いの影響を最小限にする形で共存させるための
手法について考察・記述することにより、インターネットの安定運用に資する
ことを目的としている。

なお、本文書では、DNSブロッキングそのものについての是非やその法的側面、
有効性など、手法に関するもの以外の点については記述しない。

▼DNSブロッキングの概要

インターネット利用者がWebサーバーにアクセスする際の一連の流れを、図1に
示す。

  +----+             +---------------+             +----------+
  | 利 |----(1)--->|    ISPの      |----(2)--->|    各    |-+
  | 用 |             |  キャッシュ   |             |  権威DNS | |
  | 者 |<---(4)----|  DNSサーバー  |<---(3)----|  サーバー| |
  +----+             +---------------+             +----------+ |
    |                                                +----------+
    |       (5)    +---------------------------+
    +--------------->| Webサーバー               |
       192.0.2.1     | ドメイン名 www.example.jp |
                     | IPアドレス 192.0.2.1      |
                     +---------------------------+

  (1)www.example.jpのIPアドレスをキャッシュDNSサーバーに問い合わせる
  (2)キャッシュDNSサーバーがIPアドレス情報を既に保有(キャッシュ)
       していない場合、必要に応じ各権威DNSサーバーに反復検索を実施する
  (3)各権威DNSサーバーがDNSプロトコルに従った応答を返す
  (4)キャッシュDNSサーバーは得られたIPアドレス192.0.2.1を利用者に返す
  (5)利用者は192.0.2.1を指定してWebサーバーにアクセスする

                               図1

DNSブロッキングは、児童ポルノを公開しているサイトのURLが例えば
http://www.example.jp/であった場合、ISPのキャッシュDNSサーバーがその
サイトのドメイン名(ここではwww.example.jp)のIPアドレスとして、正規の
IPアドレスではない応答を利用者に返すことにより、該当サイトへのアクセス
を防止しようとするものである。

すなわち、DNSブロッキングを実現する場合、上記の(4)において正規のIPア
ドレスではない応答を返すための何らかの機構を追加することにより、該当サ
イトへのアクセス(上記の(5))を防止することになる。

▼DNSSECの概要と運用形態

DNSSECは、DNS応答に署名情報を付加することにより、応答を受け取った側で
DNS応答の出所及び内容の正当性を検証できるようにするための仕組みである。
DNSSECの導入によりDNS応答の偽装を検知可能になるため、従来の手法では完
全に防止することができなかったDNSキャッシュポイズニング攻撃に対する、
有効な防御策となる。

ここ数年、DNSの信頼性を高めることによりユーザーがインターネットをより
安全に使用できるようにすることを目的に、DNSSECの導入が世界的に進められ
ている。既に2010年7月よりルートサーバーにおいてDNSSECの正式運用が開始
されており、.jpにおいても2011年より正式運用を開始する予定となっている。

一般的なDNSSECの運用形態を図2に示す。このように、ISPのキャッシュDNSサー
バーと各権威DNSサーバーがDNSSECに対応することで、その間の通信がDNSSEC
に対応したものとなる。利用者とISPのキャッシュDNSサーバーの間の通信
(*1)、および利用者とWebサーバー間の通信については、DNSSECの導入後も
変化しない。

  +----+             +---------------+             +----------+
  | 利 |------------>|  DNSSEC対応   |=DNSSEC対応=>|DNSSEC対応|-+
  | 用 |             |  キャッシュ   |   ↑        |  権威DNS | |
  | 者 |<------------|  DNSサーバー  |<=DNSSEC対応=|  サーバー| |
  +----+             +---------------+   │↑      +----------+ |
    |                                    ││        +----------+
    |                +---------------+   ││
    +--------------->| Webサーバー   | ★DNSSEC対応により、
                     +---------------+   キャッシュDNSサーバーと
                                         権威DNSサーバー間の通信が、
                                         DNSSECに対応したものとなる

                               図2

(*1)ただし、それぞれの利用者においてDNSSECによる名前検証を実施するよ
      うに設定することも可能であり、その場合、利用者とISPのキャッシュ
      DNSサーバー間においてもDNSSECに対応した通信が行われることになる。

▼DNSブロッキングとDNSSECの共存

DNSSECの導入により、ISPのキャッシュDNSサーバーと各権威DNSサーバーの間
の通信がDNSSECに対応したものとなるが、前述の通り通常のDNSSECの運用形態
では、利用者とISPのキャッシュDNSサーバーの間の通信は従来と同一である。

そのため、互いの影響を最小限にする形でDNSブロッキングとDNSSECを共存さ
せるためには、DNSブロッキングを導入する際にDNSSECの導入によって拡張さ
れる部分、つまり図3におけるキャッシュDNSサーバーと権威DNSサーバー間に
影響を及ぼす部分(C)への導入を避け、利用者とキャッシュDNSサーバー間
(A)、あるいはDNSSEC検証機能に影響を及ぼさない形でのキャッシュDNSサー
バー内部(B)における機構の導入を試みることが望ましいと考えられる。

       |<====(A)====>|<=====(B)=====>|<====(C)====>|
       |             |               |             |
  +----+             +---------------+             +----------+
  | 利 |------------>| DNSSEC対応    |=DNSSEC対応=>|DNSSEC対応|-+
  | 用 |             |  キャッシュ   |             |  権威DNS | |
  | 者 |<------------|  DNSサーバー  |<=DNSSEC対応=|  サーバー| |
  +----+             +---------------+             +----------+ |
    |                                                +----------+
    |                +---------------+
    +--------------->| Webサーバー   |
                     +---------------+

                               図3

▼実装例

ここでは参考情報として、二つの実装例を紹介する。

図4-1では、キャッシュDNSサーバーの直前(図中の★部分)に何らかの機構を
追加してリストを管理し、特定のドメイン名について、利用者に正規のIPアド
レス以外(図中の<===)を返すように設定している。

              利用者からのデータをチェックし、
              該当するドメイン名に対してのみキャッシュDNSサーバで
              データを処理することなく、正規のIPアドレス以外を返す
                   ↓
  +----+          +--+---------------+             +----------+
  | 利 |--------->|★|  DNSSEC対応   |             |DNSSEC対応|-+
  | 用 |<=========|  |  キャッシュ   |             |  権威DNS | |
  | 者 |          |  |  DNSサーバー  |             |  サーバー| |
  +----+          +--+---------------+             +----------+ |
    |                                                +----------+
    |                +---------------+
    +---×---------->| Webサーバー   |
      ブロック       +---------------+

                               図4-1

図4-2では、キャッシュDNSサーバー上に設定(図中の★部分)を追加すること
で、特定のドメイン名について、利用者に正規のIPアドレス以外(図中の<===)
を返すように設定している。

              キャッシュDNSサーバ上に設定を追加し、
              該当するドメイン名に対してのみ権威DNSサーバに
              問い合わせることなく、正規のIPアドレス以外を返す
                            ↓
  +----+             +---------------+             +----------+
  | 利 |------------>|★DNSSEC対応   |             |DNSSEC対応|-+
  | 用 |<============|  キャッシュ   |             |  権威DNS | |
  | 者 |             |  DNSサーバー  |             |  サーバー| |
  +----+             +---------------+             +----------+ |
    |                                                +----------+
    |                +---------------+
    +---×---------->| Webサーバー   |
      ブロック       +---------------+

                               図4-2

いずれの方法も、DNSSECにより変更されるキャッシュDNSサーバと権威DNSサー
バの間の通信に影響を与えないため、DNSSECへの影響を最小限に留める形での
DNSブロッキングの導入が可能となる。

ただし前述の通り、利用者側においてDNSSECによる名前検証を実施する場合、
DNSブロッキングによる影響を受ける場合があることに留意する必要がある。

---------------------------------------------------------------------
▼更新履歴
   2010-07-28 19:45 初版作成

株式会社日本レジストリサービス Copyright©2001-2016 Japan Registry Services Co., Ltd.