DNS Queries over HTTPSとネット中立性
インターネットの標準化を推進する任意団体IETF(Internet Engineering Task Force)では、昨年11月のIETF100にてDOH(DNS over HTTPS) WGの初回ミーティングが開催されました。来たるIETF101@ロンドンでは、2回目となるミーティングが開催予定です。WGで現在議論されているのがdraft-ietf-doh-dns-over-https-03 - DNS Queries over HTTPSDNS Queries over HTTPSです。
DNS Queries over HTTPSの技術面での記事やプレスはたくさんあるのですが、ちょっと違う視点から書いてる海外のおもしろい記事があったので、ネット中立性視点から日本語で補足&まとめてみます。
元記事はこちら:IETF protects privacy and helps net neutrality with DNS over HTTPS • The Register
ネット中立性ってなに
主にアメリカで話題になっている問題ですが、簡単に説明すると「インターネット上のコンテンツやアプリケーション、Webサービス、トラフィック等を、ISP(インターネットサービスプロバイダ)が公正に扱う」ことです。ネット中立性の原理に反する例としては、通信事業者やISPが、特定のコンテンツを優先して配信したり、料金や通信速度で優遇するケースです。身近な例だと、LINEモバイルのコミュニケーションフリープラン(特定のSNSが使い放題。データ通信の上限に含まれない)がこれに当たるかもしれません。アメリカでは、オバマ大統領時代にネット中立性に関する規制が設けられましたが、その後大統領・FCCチェアが変わり、昨年の2017年12月に規制が撤廃され、大きな話題になりました。
(ネット中立性に関しては、バーガーキングのこの動画がわかりやすい↓)
gigazine.net
ISPによるDNS操作が一般化しつつある?
IETF99では、RIPE Atlasを用いたDNSハイジャックの検知に関する発表がありました。例えば、Google DNSのハイジャックの割合を調べると、中国やロシア、その他発展途上国にハイジャックの傾向が目立ちます。これは必ずしも政府による検閲や、ISPによるネット中立性侵害が目的とは限らず、各ISPが独自のポリシーを定めている可能性もあります。しかし、ISPによるDNSの操作が一般化しつつあり、プライバシー面での対策が求められていることは間違いありません。
また、過去には、米VerizonがDNS lookupを失敗した顧客を自社の検索サイトに誘導した上で、顧客が検索失敗した単語に紐づいた広告を出していたため、当時のVerizonのDNSポリシーがネット中立性違反なのではないか、と物議を醸しました(*1, *2参考)。
DNS Queries over HTTPSとは
DNSクエリの通信は暗号化されていないため、なりすましや盗聴等セキュリティ・プライバシーの面で課題があります。例えば、公衆無線LAN環境のようなオープンなネットワークにて、DNSの通信が偽装され、想定外のDNSサーバーへ誘導される場合や、経路の途中で機器によりDNSメッセージの書き換えが起こる場合があります。
そこで、HTTPSをDNSクエリの通信に用いることで、DNSクライアント間の完全性と機密性を提供するメカニズムを開発し、安全な通信を確立しようというのがDNS Queries over HTTPSモチベーションです。
例えば、ユーザーのデバイスがGoogleのPublic DNSである8.8.8.8をDNSリゾルバとして使用する際、そのデバイスはDNSクエリをHTTPSを介して投げることができ、これがend-to-endの暗号化に繋がります。
DOHとネット中立性の関連性は?
このDNS Queries over HTTPSを使えば、インターネットのトラフィックに対して、DNSを用いて何らかのポリシーを課すようなネットワーク(または上記を強いるような政府、ISP)を撃退することの助けになるそうです。
単純にDNSの応答の正当性を担保するのであれば、DNSSECがありますが、DNSSEC自体はISP側でダウングレードすることができてしまいます。そこで用いるのが、ISPの操作の影響を受ける心配がないHTTPSによるend-to-endの暗号化です(=DNS Queries over HTTPS)。
まだ仕様は確定していませんが、DOHクライアントは、ユーザーが検索に失敗した原因を知らせるエラーメッセージを表示したり、クライアントが「通常の」リゾルバにフォールバックすると、何が起こったのかエラーメッセージを表示する等、ユーザーに通知する機能を持つそうです。よって、プロバイダ側からDNSの通信に何らかの操作が行われた際、ユーザーはそれを知ることができます。また、ISPがDNSを用いて差別したいソースを識別している場合、この識別行為は暗号化によりできなくなります。(*実際はDNS lookupがユーザーの識別に不正に使われるのを防いでくれる)