2018年04月15日 14時00分 セキュリティ

プライバシーに関わる情報や個人情報をISPに読み取られないようDNSとの通信を暗号化する動き



個人のインターネットアクセスの履歴などのプライバシー情報を利用者とインターネットの橋渡しをしているISPに見られないようにするため、DNSとの通信を暗号化する動きが出てきています。



How to keep your ISP’s nose out of your browser history with encrypted DNS | Ars Technica

https://arstechnica.com/information-technology/2018/04/how-to-keep-your-isps-nose-out-of-your-browser-history-with-encrypted-dns/





インターネット上を流れる通信を公平に取り扱うというネットワークの中立性(ネット中立性)」についての規制が2017年12月にアメリカで廃止されて以来、GoogleやFacebookなどの巨大IT企業をはじめ、バーガーキングが「ワッパーの中立性」を廃止するキャンペーンを行うなどさまざまな方面からネット中立性規制を存続するべきという意見が出ています。



特に懸念されているのがISPに通信を読み取られてアクセスをコントロールされるということです。これまで、ドメイン名をIPアドレスに変換する際にDNSサーバーと通信を行う際は全て暗号化されていない平文でのやりとりだったため、「どのドメインにアクセスしたのか」という情報がISPに筒抜けでした。しかし、2018年4月からCloudflareが提供しているDNSサービスなど特定の外部DNSを「DNS over HTTPS」という方法で使用することでDNSとの通信を暗号化でき、他者にプライバシー情報を収集されることをある程度防ぐことができます。



DNS over HTTPSが登場する前より、DNSCryptやDNS over TLSという仕組みが存在していました。下はネットワーク・セキュリティ技術者のシーン・ギャラハーさんが「StubbyというDNSプライバシーデーモンを使用して行ったDNSとの通信」をWiresharkという解析ツールでとらえたもの。上半分が通常のDNSトラフィックで、下半分がStubbyを通して「DNS over TLS」で行われた通信です。上半分では「www.google.com」のアドレスを解決しようとしているのが明らかになってしまっていますが、下半分では「Application Data」というように暗号化されて秘匿されているのがわかります。





しかし、DNSCryptやDNS over TLSはDNSプロトコルを利用した実装のため、開発者がDNSプロトコルの仕組みを学ばなければならず、開発が進んでいませんでした。そこでWeb通信でよく使用されている「HTTPSプロトコル」を使用してDNSサービスを提供するという方法が考え出されました。DNS over HTTPSではWebページにアクセスする際に使用されるHTTP GETやHTTP POSTといったリクエストを用いてDNSサーバーにアクセスするため、HTTPSと同じ処理ができるので比較的簡単に利用できます。下の画像はDNS over HTTPSでの通信を解析したものですが、ログを見るとHTTPSが使用されていることがわかります。





現状では広く普及させるにはまだ技術障壁が残っているため、もっと簡単に使えるようにしなければならないという問題が残っています。DNSとの通信を暗号化しただけで完全な匿名性を得られるわけではありませんが、プライバシー情報が抜き取られる可能性を少しは減少させることができるというわけです。