DNS(Domain Name System)は、ドメイン名とIPアドレスを対応付けて管理するシステムです。
インターネットに接続する全ての機器には個別のIPアドレスが割り当てられ、通信はIPアドレスを元に行われます。しかし、Webサイト等のIPアドレスを人が記憶して入力することは現実的ではありません。そのため、Webサイトにアクセスする場合のURLや、メールを送信する場合のメールアドレスにはIPアドレスの代わりに覚えやすいドメイン名が使われます。このドメイン名をIPアドレスに変換する仕組みがDNSです。
このようにDNSはインターネット通信において不可欠な存在で、ほぼ全ての通信の際にDNSの問い合わせが行われます(一定時間内に既に同じ名前の問い合わせをしており、キャッシュされている場合を除く)。しかし、DNSの問い合わせやその応答などの通信は平文で行われており、暗号化されていません。そのため、第三者が盗聴や改ざんを行うことが技術的に可能となっており、セキュリティやプライバシー上の問題があるとされてきました。
そこで注目を集めるようになってきたのが、DNSの通信を暗号化するDNS over HTTPS(DoH、以下DoH)と呼ばれる技術です。今回はDoHについて紹介するとともに、その課題についても考えてみたいと思います。
DNSの通信が平文だと、どのような問題があるのか?
通常のDNSでは名前の問い合わせやその応答は、暗号化されていない平文で通信が行われます。通信が平文だと第三者による盗聴や改ざんが可能です。スマートフォンなどのモバイル端末の普及により、一般のユーザーが公衆無線LANなどを利用する機会も多くなったことから、平文通信に対するリスクは以前にも増しています。
最近ではWebサイトへのアクセスは暗号化されたHTTPSを使用する「常時HTTPS」が必須とされるようになってきました。しかし、Webサイトへアクセスする前に行われるDNSの問い合わせの通信が平文だと、これを盗聴することによりどのサイトにアクセスしようとしているかがわかってしまいます。
(実際には、HTTPSであってもどのサイトにアクセスしているかを判別されることはあります。これに関しては後述します。)
また、DNSの応答を改ざんすることで、偽のサイトへ誘導されフィッシングやマルウェア感染などの被害にあう可能性もあります。DNSSECというDNSの応答に電子署名を行うことにより改ざんを検知する仕組みもありますが、日本でのDNSSECの普及率は、2019年11月時点で8.68%とあまり普及はしていません。また、DNSSECでは暗号化は行わないため、盗聴は防げません。
(HTTPでは、DNSの応答の改ざんで偽のサイトに誘導された場合に、それを検出することは難しいのですが、HTTPSではブラウザが証明書の警告を表示するため、不正なサイトであると気付けます。その意味でもサイトをHTTPS化することが求められています。)
DoHとは何か?
DNS over HTTPS(DoH)とはWebサイトへのアクセスに利用されるHTTPSを用いてDNSの通信を暗号化する技術です。既にWebサイトへのアクセスで広く使われているHTTPSを用いることで実装や導入が容易になります。また、今後HTTP/3などによる高速化や、TLS 1.3などによるセキュリティの強化が行われた場合も、その恩恵を受けることができます。
DNSを暗号化する技術としてはDNS over TLS(DoT)と呼ばれるものもあり、標準化はDoHよりも早く行われました。(DoT の標準化RFC7858 は2016年5月、DoHの標準化RFC8484は2018年10月)
DoHが通常のHTTPSと同様の443/tcpポートを使うのに対し、DoTでは… 続きを読む… 続きを読む