ブロッキングがどのような手順で実現されるかを理解するには、Webアクセスがどのように行われるかを理解しなければならない。WebブラウザでURLを入力すると、それはまずDNSサーバによって「IPアドレス」に変換され、このIPアドレスに対してHTTPリクエストを送信し、その結果がブラウザ上に表示される。一連の通信は「IPパケット」と呼ばれる細かな単位に分割されて行われる。ブロッキングは、この一連の手順のどこかを「妨害」すれば成立する……はずだ。
だが、登壇者の上原哲太郎氏(立命館大学情報理工学部教授)は、現実的にはそれは困難だと説明する。
まずURLを元にする場合だが、「HTTPの中身は、複数の(実質的には全ての)IPパケットを集めなければ分からない。この作業を実現するのは技術的にも困難で、非常に高額なDeep Packet Inspection(DPI)機器を導入する必要がある。その上、世の中ではHTTPに代わって(通信の内容が暗号化される)HTTPSの導入がどんどん進んでおり、暗号化されたパケットの内側の解読は不可能になっている」(上原氏)。結果として、URLによるフィルタリングは困難だ。
ならば、DNS(Domain Name System)による名前解決を行えないようにするDNSフィルタリングならばどうかというと、「バーチャルホスティングや負荷分散により、IPアドレスとサーバのホスト名は、必ずしも一対一の関係ではない。このため、IPアドレスやホスト名をベースにフィルタリングを行うと、多くの無害なサーバが巻き添えを食らってオーバーブロッキングされたり、漏れが生じる恐れがある」(上原氏)と、こちらもやはり実現は難しいことが分かる。
その上、ISPが提供するDNSサーバを使わずに、Googleが提供する「8.8.8.8」やCloudflareの「1.1.1.1」といったパブリックDNSサービスを利用すれば、ブロッキングは回避されてしまう。これに対し、「OP53B」という形で外部のDNSサービスの参照をブロックする技術もあるが、「DNS over HTTPS/TLS」という技術が普及すれば、DNSフィルタリングはあまり意味がなくなる可能性が高い。実態はDNSの問い合わせでも、途中の機器からはHTTPS通信にしか見えないからだ。検閲を回避してプライバシーを守る用途にも用いられている「Tor」や海外のオープンプロキシが使われれば、やはりフィルタリングは困難となる。
おしなべて、対策には回避策がある。「ブロッキングを実現するのは大変だし、抜け穴もたくさんある」(上原氏)のが実態だ。
導入後の運用を考えても、ブロッキングには困難がつきまとう。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR