DNS over TLS vs. DNS over HTTPS | 安全なDNS

DNSクエリは平文で送信されます。つまり、誰でもこれを読むことができます。DNS over HTTPSとDNS over TLSは、DNSクエリと応答を暗号化し、ユーザーのブラウジングを安全かつプライベートに保ちます。しかし、どちらのアプローチにも長所と短所があります。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • DNSのセキュリティをなぜ強化する必要があるのかと、DNSプライバシーが重要である理由について理解する
  • DNS over TLSとDNS over HTTPSの仕組みと、それらの違いについて学ぶ
  • 両アプローチの長所と短所に関する説明
  • DNS over TLS(HTTPS)とDNSSECの比較

記事のリンクをコピーする

なぜDNSは追加のセキュリティ層が必要なのですか?

DNS is the phonebook of the Internet; DNS resolvers translate human-readable domain names into machine-readable IP addresses. By default, DNS queries and responses are sent in plaintext (via UDP), which means they can be read by networks, ISPs, or anybody able to monitor transmissions. Even if a website uses HTTPS, the DNS query required to navigate to that website is exposed.

This lack of privacy has a huge impact on security and, in some cases, human rights; if DNS queries are not private, then it becomes easier for governments to censor the Internet and for attackers to stalk users' online behavior.

Attacker views unsecured DNS traffic

Think of a normal, unencrypted DNS query as being like a postcard sent through the mail: anyone handling the mail may happen to catch a glimpse of the text written on the back side, so it is not wise to mail a postcard that contains sensitive or private information.

DNS over TLS and DNS over HTTPS are two standards developed for encrypting plaintext DNS traffic in order to prevent malicious parties, advertisers, ISPs, and others from being able to interpret the data. Continuing the analogy, these standards aim to put an envelope around all postcards going through the mail, so that anyone can send a postcard without worrying that someone is snooping on what they are up to.

DNS queries secured over TLS or HTTPS, attacker blocked

DNS over TLSとは?

DNS over TLS, or DoT, is a standard for encrypting DNS queries to keep them secure and private. DoT uses the same security protocol, TLS, that HTTPS websites use to encrypt and authenticate communications. (TLS is also known as "SSL.") DoT adds TLS encryption on top of the user datagram protocol (UDP), which is used for DNS queries. Additionally, it ensures that DNS requests and responses are not tampered with or forged via on-path attacks.

DNS over HTTPSとは何ですか?

DNS over HTTPS(DoH)は、DoTの代替手段です。DoHでは、DNSクエリと応答は暗号化されますが、直接UDP上で送信されるのではなく、HTTPまたはHTTP/2プロトコル経由で送信されます。DoTと同様に、DoHは攻撃者がDNSトラフィックを偽造または変更できないようにします。DoHトラフィックは、他のHTTPSトラフィックのように見えます。例えば、ネットワーク管理者の観点からは、WebサイトやWebアプリとの通常のユーザー主導のやり取りのように見えます。

In February 2020, the Mozilla Firefox browser began enabling DoH for U.S. users by default. DNS queries from the Firefox browser are encrypted by DoH and go to either Cloudflare or NextDNS. Several other browsers also support DoH, although it is not turned on by default.

HTTPSも暗号化にTLSを使用しないのでしょうか。DNS over TLSとDNS over HTTPSはどう異なるのか?

各規格は個別に開発され、独自のRFC*ドキュメントがありますが、DoTとDoHの最も重要な違いは、使用するポートです。DoTではポート853のみが使用されますが、DoHではポート443が使用されます。これは、他のすべてのHTTPSトラフィックでも使用されるポートです。

Because DoT has a dedicated port, anyone with network visibility can see DoT traffic coming and going, even though the requests and responses themselves are encrypted. In contrast, with DoH, DNS queries and responses are camouflaged within other HTTPS traffic, since it all comes and goes from the same port.

*RFCは「Request for Comments(コメント要求)」の略で、RFCは、開発者、ネットワークの専門家、また、ソートリーダーらが取り組んでいるインターネット技術またはプロトコルを標準化するための集合的な試みです。

ポートとは?

ネットワークでは、ポートは、他のマシンからの接続に開放されているマシン上の仮想的な場所です。ネットワーク接続されたコンピューターにはそれぞれ標準数のポートがあり、各ポートは特定の種類の通信用に確保されています。

船が寄港する港(ポート)を考えてみてください。各港には番号が付けられており、さまざまな種類の船が貨物や乗客を降ろすために、特定の港に行くことになっています。ネットワークも同じです。特定の種類の通信は、特定のネットワークポートに接続されることになっています。違いは、ネットワークポートは仮想的なものであり、物理的な接続ではなくデジタル接続用の場所だということです。

DoTとDoHのどちらが良いのか?

This is up for debate. From a network security standpoint, DoT is arguably better. It gives network administrators the ability to monitor and block DNS queries, which is important for identifying and stopping malicious traffic. DoH queries, meanwhile, are hidden in regular HTTPS traffic, meaning they cannot easily be blocked without blocking all other HTTPS traffic as well.

しかし、プライバシーの観点からは、DoHが好ましいと考えられます。DoHを使用すると、DNSクエリはHTTPSトラフィックのより大きなフロー内に隠されます。これにより、ネットワーク管理者の可視性は低下しますが、ユーザーのプライバシーは強化されます。

Cloudflareの無料DNSリゾルバーである1.1.1.1 は、DoTとDoHの両方をサポートしています。

DNS over TLS(HTTPS)とDNSSECの違いとは?

DNSSEC is a set of security extensions for verifying the identity of DNS root servers and authoritative nameservers in communications with DNS resolvers. It is designed to prevent DNS cache poisoning, among other attacks. It does not encrypt communications. DNS over TLS or HTTPS, on the other hand, does encrypt DNS queries. 1.1.1.1 supports DNSSEC as well.

1.1.1.1についての詳細は、1.1.1.1とは?をご覧ください。