DNS-over-HTTPS

Let’s encrypt 的免費憑證促成 HTTPS 快速普及,大部分的網頁流量都已經加密,雖然中間人無法直接得知其他人看過那些內容,但是仍然能夠透過窺探 DNS 封包來得知哪台電腦上過哪些網站,甚至能夠變造其內容導致 DNS hijacking/spoofing 等等攻擊的發生。先前所經常使用的技術像是 DNSSEC 雖然能有效避免 spoofing 攻擊,但卻無法避免 DNS request 被偷看。為了解決這個問題,有人就提出了 DNS-over-HTTPS,也就是利用 HTTPS 協定來達成 DNS request / reply。而 Firefox 也將在接下來的 Nightly 版本中提供這樣的功能測試。

目前 DoH (DNS-over-HTTPS) 並沒有確定的標準,因此各家實作不同,從 Mozilla 所提出的標準來看,DoH 將會沿用 DNS Wireformat。目前有支援這個標準的 DNS resolver 並不多,Cloudflare 是其中之一。除了 DNS Wireformat 以外,Google Public DNSCloudflare 也另外支援 JSON 格式的 DoH。

除了 Firefox Nightly 以外,還有一些 DoH Client,這類的 Client 擔任 Proxy 角色,接收一般的 DNS request 再透過 DoH 取得資料: