DoHはプライバシー向上のための重要な技術です。
一方で、DoHのディスカバリ、アプリケーションに対してのConfiguration方法、ポリシーの適応など、いくつかの課題が議論されています (IETFの資料を参照)。
課題の一つに、DoHの利用が適さないネットワークにおいて、それをどうブラウザ(クライアント)に通知するのかの問題がある。
DoHの利用が適さないネットワーク/ユーザとは
現在このようなネットワークでDoH使用を制御する方法は標準化されていませんが、FirefoxではCanary domainという仕組みを用いてこれを実現しています。
Canary domain
Fifrefoxでは、そのネットワークでDoHを使用するか判断するにあたって「use-application-dns.net.」の名前解決を利用します。
実際にアクセスするとMozillaの解説サイトに飛びます。もちろん名前解決もできます。
$ dig @8.8.8.8 use-application-dns.net. +short 63.245.208.212
Firefoxは use-application-dns.netの名前解決をしてDoHを使用するか決めます。
OSに設定されたDNSサーバを利用して、use-application-dns.net. の名前解決し、以下のどちらかの場合はDoHを使用しません。
- NXDOMAIN(存在しないドメイン)やSERVFAILなど、NOERROR以外のレスポンスコードが返ってきた
- NOERRORレスポンスコードだが、AやAAAAレコードが含まれない
ネットワーク管理者(社内DNSやISPのDNS管理者)がuse-application-dns.netの名前解決に対してNXDOMAINを返すようにすることで、ユーザに対してDoHの利用を抑制できるようになります(DoHが無効になる条件は他にもあり、OSのペアレントコントロール設定なども検出します)。
利用状況
NXDOMAINを返す、ISP内のリゾルバの割合です。
( https://www.isi.edu/~hardaker/news/20191120-canary-domain-measuring.html )
その他
悪用されない方法で、適切にポリシーを適応する方法は悩ましいなあと思う今日このごろ