DNS over HTTPS
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/10/08 01:31 UTC 版)
概要
この手法の目的は、プライバシーとセキュリティを向上させ、盗聴を防いだりDNSデータの中間者攻撃による操作から保護することである[1]。そのために、DoHクライアントとDoHベースのDNSリゾルバ間のデータをHTTPSプロトコルを使用して暗号化する。
ただし、この技術(DoH)やDoT(DNS over TLS)による暗号化自体は、The Registerが言うように[2]盗聴、検閲やプライバシーの面で政府に対抗しうる保護を提供するものではなく、データを難読化するものである。端末(あるいはスタブリゾルバ、以下同)からDNSリゾルバまでの間の盗聴や中間者攻撃からの保護には効果がある[3]。
ある端末からのDNSクエリ全体のプライバシー確保は、DNSフルリゾルバのポリシーおよび権威サーバとの通信形態に依存する[3]。
DoH/DoTとDNSSECは競合しない。DNSSECはリゾルバや権威サーバ間のドメイン登録情報のやり取りに電子署名を付加して完全性を担保するものであり、当該登録情報のやり取り自体は平文である。EDNS Client Subnet(英語版)ではロードバランス目的のために、フルリゾルバは端末からのクエリのIPアドレスのサブネットを権威サーバに渡す場合があり、その場合、フルリゾルバと権威サーバの間との間で、端末のサブネットとクエリドメインの組み合わせ情報が、平文で通信される[3]。フルリゾルバと権威サーバ間の通信も暗号化するものはDNSCurveによって実装される。
技術
DoHは、RFC 8484(October 2018)としてIETFが公開した提案段階 (Proposed Standard; 2021年1月時点)の標準である。
DoHでは、HTTP/2とHTTPSを使用し、既存のUDPレスポンスではwire formatのDNS responseデータをサポートし、HTTPSペイロードではMIMEタイプのapplication/dns-messageを使用する[1][4]。HTTP/2を使用した場合、サーバーはHTTP/2 server pushを利用することで、クライアントに通知しておくと役に立つと予想されるデータを事前に送ることが可能になる[5]。
前述のようにDoHは策定中の標準であるため、様々な企業がそれをもとに実験を行っており[6][7]、IETFは、まだどのような実装が最善であるかは最終的に決定していない。IETFはDoHの最適なデプロイ方法について様々なアプローチを評価中であり、Applications Doing DNS (ADD)というワーキンググループを立ち上げて必要な作業とコンセンサスの構築に取り組んでいる。その他に、Encrypted DNS Deployment Initiativeという企業によるワーキンググループも立ち上がっており、その目的は「インターネットの重要なネームスペースと名前解決サービスの高性能、回復性、安定性、セキュリティを確保し、DNSに依存するセキュリティ保護やペアレントコントロールなどのサービスを損なわないように提供できるように、DNS暗号化技術を定義・適用すること」であると述べられている[8]。
DoHを適切にデプロイする方法には多くの課題があり、インターネットコミュニティにより解決が試みられている。課題には以下のものが含まれるが、これがすべてではない。
- ペアレンタル・コントロールとコンテンツ・フィルタ
- DNSが企業内に分散される
- CDNによるローカライゼーション
- 5Gネットワークとの相互運用性
Oblivious DNS-over-HTTPS
Oblivious DNS-over-HTTPSは、すべてのリクエストをプロキシ経由で行うことでクライアントのアドレスを削除することにより、どのクライアントがどのようなドメイン名をリクエストしたのかをDoHのresolverから隠蔽しようとするDoHの拡張である。すべての接続はレイヤー内で暗号化されるため、プロキシはクエリの内容とレスポンスを知ることができず、クライアントのアドレスもわからないようになっている[9]。
デプロイのシナリオ
DoHはDNSリゾルバによる再帰的なDNS解決に使用される。リゾルバ(DoHクライアント)はクエリエンドポイントをホストするDoHサーバーへアクセスできる必要がある[5]。
2020年現在[update]、DoHにはオペレーティングシステム (OS) のネイティブサポートが少ないため、ユーザーは追加のソフトウェアのインストールが必要となる場合がある。次の3つの使用方法が一般的である。
- アプリケーション内に含まれるDoHの実装を使用する。
- ビルトインのDoH実装が行われているブラウザでは、OSのDNS機能をバイパス[注 1][注 2]してクエリを実行することができる。欠点は、設定ミスやその他により、アプリケーションがユーザーにDoHクエリをスキップしたかどうかを通知しない場合があることである。2020年現在[update]、Mozilla FirefoxやGoogle Chrome等で個別の名前解決にDoHを利用したかどうか簡便に知る手段がない。
- ローカルネットワークのネームサーバーにDoHプロキシをインストールする。
- クライアントシステムは従来のDNS[注 3]を使用してローカルネットワークのネームサーバーにクエリを送り、ネームサーバーは、レスポンスに必要な情報をインターネット上のDoHサーバーへDoHを使用してアクセスし取得する。この手法はエンドユーザーに対して透過的である。欠点は、サーバ構築管理が容易でないこと、ブロードバンドルータ等への実装が普及しない事などである。
- ローカルシステムにDoHプロキシをインストールする。
- OSをローカルで動作するDoHプロキシにクエリを送るように設定する。1つ前の手法と比べると、DoHを使用したいすべてのシステムにインストールする必要があり、大規模な環境では多くの作業が必要になる可能性がある。
- DoHリゾルバプラグインをOSにインストールする。
- 前者と同様に、DoHリゾルバプラグインをOSに組み込んで設定する。OS側がそのようなプラグインのインストールに対応している必要がある。DoHを使用したいすべてのシステムにインストールする必要があるのも前者と同様。
これらすべてのシナリオにおいて、DoHクライアントは権威ネームサーバーに対していかなるクエリも直接行わない。その代わりに、DoHサーバーは従来のポートを使用したクエリを発行し、最終的に権威サーバーに到達する。そのため、DoHはエンドツーエンド暗号化プロトコルではなく、ホップ間の暗号化を行うもので、DNS over TLSが一貫して使用された場合に限られる。
注釈
- ^ むしろ名前解決はネットワークアプリケーションの主要な動機の1つであり、OSはその手段の1つをAPIとして提供しているに過ぎない。この場合は、アプリケーションが自発的にDoHに接続するものであり、OS内部で何らかのバイパス機構を組み入れる訳ではない。
- ^ なお、DoH/DoTへの接続設定に関し、ホスト名またはホスト名を含むURLが指定される場合が多いが、その場合、DoH/DoTサーバーへの接続にはOS経由の名前解決が必須となる。
- ^ ここでは、OSによる名前解決という意味である。OSによって従来のDNSクエリ(ポート53/DNS)、あるいはOSが対応していればポート853/DoTによる。さらにここでは、そのOSによる名前解決のリゾルバにローカルネットワークのネームサーバーを指定する前提である。
- ^ 他に従来のDNSクエリモード、あるいは指定されたDoT対応DNSサーバへのDoTクエリ専用モード(この場合接続できないと名前解決失敗となる)がある。
- ^ IIJではあくまでも試験的サービスという位置づけである(開始 - 2021年1月現在)。
- ^ ただし、Android 9以降では、DoTが自動設定されている。また、Google ChromeでもセキュアDNSがデフォルトONとなっている。ただし、これらの設定で具体的にどのDoH/DoTサーバに接続を試み、または従来のDNSクエリにフォールバックするのかは明らかになっていない。
- ^ なお、DoH/DoTへの接続設定に関し、ホスト名またはホスト名を含むURLが指定される場合が多いが、その場合、DoH/DoTサーバーへの接続にはOS経由の名前解決が必須となる。そのため、設定や環境によっては、DoH/DoTサーバーの名前解決に対する中間者攻撃のリスクが残ったり、それ自体にDNSブロッキングが掛かる場合がある(従来のDNSクエリ方式では、DNSサーバのIPアドレスを直接設定する)。
- ^ 他には、宿泊施設/集合住宅等提供/ゲスト借用のWi-Fiアクセスポイント経由、あるいは宿泊施設/集合住宅等提供の有線LAN経由インターネット、さらには十分に保護されていないFTTx(FTTB)その他の共用インターネット施設サービスが想定される。なお、ユーザ個宅まで直接光ケーブルを引き込むFTTH(FTTP)では、光ファイバー経路上は通常暗号化されており、このような問題は無い。
- ^ なお、モバイルネットワーク経由の場合は、通常のモバイル事業者(ISP)であれば、適切に当該ISPのDNSサーバーにクエリするよう設定されるため、この問題は無い。
- ^ なお、DoH/DoTへの接続設定に関し、ホスト名またはホスト名を含むURLが指定される場合が多いが、その場合、DoH/DoTサーバーへの接続にはOS経由の名前解決が必須となる。よって、設定や環境によっては、DoH/DoTサーバーの名前解決に対する中間者攻撃のリスクが残ったり、それ自体にDNSブロッキングが掛かる場合がある(従来のDNSクエリ方式では、DNSサーバのIPアドレスを直接設定する)。
出典
- ^ a b Chirgwin, Richard (2017年12月14日). “IETF protects privacy and helps net neutrality with DNS over HTTPS” (英語) 2018年3月21日閲覧。
- ^ Chirgwin, Richard. “IETF protects privacy and helps net neutrality with DNS over HTTPS” (英語). www.theregister.com. 2021年1月20日閲覧。
- ^ a b c d e f g h i j 山口崇徳 (2020). “public DNSとプライバシー”. JANOG45 meeting.
- ^ Hoffman. “RFC 8484 - DNS Queries over HTTPS” (英語). datatracker.ietf.org. 2018年5月20日閲覧。
- ^ a b Hoffman. “draft-ietf-doh-dns-over-https-08 - DNS Queries over HTTPS” (英語). datatracker.ietf.org. 2018年5月20日閲覧。
- ^ “Experimenting with same-provider DNS-over-HTTPS upgrade” (英語). Chromium Blog. 2019年9月13日閲覧。
- ^ Deckelmann. “What's next in making Encrypted DNS-over-HTTPS the Default” (英語). Future Releases. 2019年9月13日閲覧。
- ^ “About” (英語). Encrypted DNS Deployment Initiative. 2019年9月13日閲覧。
- ^ Lovejoy, Ben (2020年12月8日). “Apple and Cloudflare team up to protect your web privacy” (英語). 9to5Mac. 2020年12月9日閲覧。
- ^ Gallagher (2019年11月19日). “Microsoft says yes to future encrypted DNS requests in Windows” (英語). Ars Technica. 2019年11月20日閲覧。
- ^ “Get Started | Public DNS” (英語). Google Developers. 2021年1月25日閲覧。
- ^ Brinkmann, Martin (2019年3月21日). “AdGuard 3.0 for Android: Redesign, Stealth Mode, Custom Filter Lists”. Ghacks Technology News 2019年8月2日閲覧。
- ^ Orr, Andrew (2019年7月13日). “AdGuard 3 Brings DNS Privacy, 250,000 Filter Rules, Premium Features”. The Mac Observer, Inc. 2019年8月2日閲覧。
- ^ Davenport, Corbin (2018年12月29日). “AdGuard officially releases its own DNS service, and it works with Android Pie”. Android Police (Illogical Robot LLC) 2019年8月1日閲覧。
- ^ Cimpanu. “Cloudflare launches Android and iOS apps for its 1.1.1.1 service” (英語). ZDNet. 2018年12月13日閲覧。
- ^ “DNS over HTTPS”. Argo Tunnel. Cloudflare. 2019年7月20日閲覧。
- ^ “DoH in curl”. 2019年12月7日閲覧。
- ^ “DNSCrypt-proxy v2.0” (2019年8月5日). 2019年12月7日閲覧。
- ^ “DNSP” (2019年7月22日). 2019年12月7日閲覧。
- ^ “DNS over HTTPS PHP Client” (2019年8月3日). 2019年12月7日閲覧。
- ^ “Trusted Recursive Resolver” (html). Mozilla (2019年9月15日). 2019年9月12日時点のオリジナルよりアーカイブ。2019年9月15日閲覧。 “All preferences for the DNS-over-HTTPS functionality in Firefox are located under the `network.trr` prefix (TRR == Trusted Recursive Resolver). The support for these were added in Firefox 62.”
- ^ “Improving DNS Privacy in Firefox”. 2019年12月7日閲覧。
- ^ “Go DoH Proxy Server”. 2019年12月7日閲覧。
- ^ “Intra on Play Store”. 2019年12月7日閲覧。
- ^ “GitHub - dimkr/NSS-TLS: A DNS over HTTPS resolver for glibc.” (2019年8月2日). 2019年12月7日閲覧。
- ^ “DNS over HTTPS C# Client” (2019年7月18日). 2019年12月7日閲覧。
- ^ “nextdns”. www.nextdns.io. 2019年7月13日閲覧。
- ^ “Nebulo - DNS over HTTPS/TLS - Apps on Google Play”. 2019年12月7日閲覧。
- ^ “DNS over HTTPS Implementations” (英語) (2018年4月27日). 2018年4月27日閲覧。
- ^ a b c Chirgwin, Richard (2017年12月14日). “IETF protects privacy and helps net neutrality with DNS over HTTPS” (英語) 2018年3月21日閲覧。
- ^ “A Controversial Plan to Encrypt More of the Internet” (英語). Wired. ISSN 1059-1028 2019年11月19日閲覧。
- ^ a b Cimpanu. “DNS-over-HTTPS causes more problems than it solves, experts say” (英語). ZDNet. 2019年11月19日閲覧。
- ^ “Google Unveils DNS-over-HTTPS (DoH) Plan, Mozilla's Faces Criticism” (英語). BleepingComputer. 2019年9月14日閲覧。
- ^ Tung. “DNS over HTTPS: Google hits back at 'misinformation and confusion' over its plans” (英語). ZDNet. 2019年11月19日閲覧。
- ^ Lee (2019年9月30日). “Why big ISPs aren’t happy about Google’s plans for encrypted DNS” (英語). Ars Technica. 2019年11月19日閲覧。
- ^ Cimpanu. “UK ISP group names Mozilla 'Internet Villain' for supporting 'DNS-over-HTTPS'” (英語). ZDNet. 2019年7月5日閲覧。
- ^ “Internet group brands Mozilla 'internet villain' for supporting DNS privacy feature” (英語). TechCrunch. 2019年7月19日閲覧。
- ^ “British ISPs fight to make the web LESS secure” (英語). IT PRO. 2019年9月14日閲覧。
- ^ Patrawala (2019年7月11日). “ISPA nominated Mozilla in the “Internet Villain” category for DNS over HTTPs push, withdrew nominations and category after community backlash” (英語). Packt Hub. 2019年9月14日閲覧。
- ^ Hern, Alex (2019年9月24日). “Firefox: 'no UK plans' to make encrypted browser tool its default” (英語). The Guardian. ISSN 0261-3077 2019年9月29日閲覧。
- DNS over HTTPSのページへのリンク