DNS over HTTPSとは
DNS over HTTPSとは、 IETF (Internet Engineering Task Force)のdohワーキンググループにおいて標準化に向けた作業が進められている、 HTTPS (Hypertext Transfer Protocol Secure)を用いてDNSの通信を行う技術です*1。
従来のDNSへの問い合わせやその応答は平文で行われ、 下位層プロトコルとして主にUDP (User Datagram Protocol)が用いられます。 そのため、DNSサーバ間あるいはDNSサーバとクライアント(スタブリゾルバ)間の通信に対して、 悪意のある者が中間者攻撃(man-in-the-middle attack)を行い、 内容の盗聴や改ざんをすることが技術的に可能です。
DNS応答の改ざんに対しては、 DNSSECによる電子署名の検証で検知ができます。 しかし、欠点としてDNSSECに対応していないサーバが多いこと、 またDNSSECは暗号化を行わないため、 対応していたとしても第三者による盗聴を防止できないことなどが挙げられます。
こうした従来のプロトコルの特徴は、 セキュリティやプライバシー上の問題とされ、 IETFでも対応策について議論が行われてきました*2。 その結果を受けて、 これまでにDNS over TLSやDNS over DTLSといった、 DNSの暗号化技術が標準化されています*3。 どちらも上記の問題を解決する手段になりますが、 利用するにはクライアント(スタブリゾルバ)の変更が必要なことなど、 やや面倒な部分があります。
DNS over TLSやDNS over DTLSよりも、 容易に導入できるDNSの保護技術として議論が行われているのが、 新たなプロトコルであるDNS over HTTPSです。 今日、HTTPおよびその通信を保護するPKI (Public Key Infrastructure)は、 Webブラウザなどで一般ユーザーに広く使われており、 通信相手の正当性確認や通信内容の秘密保護などが簡単に行えます。 DNS over HTTPSでは、 そうしたHTTPSのセキュリティ上の性質や導入の簡便さを活用し、 短期間での実装を目指しています。 2018年4月現在、 IETFでは標準化を2018年内に完了させることが目標となっています。
また現在、いくつかのパブリックDNSサービスでは、 既にDNS over HTTPSを用いたDNSの問い合わせが可能になっているものがあります。 ブラウザベンダーのMozillaも、 DNS over HTTPS対応に向けた実装を進めており*4、 近い将来にもDNS over HTTPSの普及が進むことが期待されます。
- *1 DNS Queries over HTTPS
- https://datatracker.ietf.org/doc/draft-ietf-doh-dns-over-https/
- *2 DNS Privacy Considerations
- https://tools.ietf.org/html/rfc7626
- *3 Specification for DNS over Transport Layer Security (TLS)
- https://tools.ietf.org/html/rfc7858
- DNS over Datagram Transport Layer Security (DTLS)
- https://tools.ietf.org/html/rfc8094
- Usage Profiles for DNS over TLS and DNS over DTLS
- https://tools.ietf.org/html/rfc8310
- Specification of DNS over Dedicated QUIC Connections
- https://datatracker.ietf.org/doc/draft-huitema-quic-dnsoquic/
- Datagram Transport Layer Security Version 1.2
- https://tools.ietf.org/html/rfc6347
- *4 Trusted Recursive Resolver (via DNS-over-HTTPS)
- https://bugzilla.mozilla.org/show_bug.cgi?id=1434852