DNSによる名前解決の仕組みには、通信経路の暗号化という要素は無い。
それを暗号化の経路としてある種の標準の地位を占めているHTTPSを流用するDNS-over-HTTPSというのがある。
これを、Android 4.0以降でも実現できるようにするというアプリ「Intra」というのがGoogle関連会社から登場した。
https://github.com/Jigsaw-Code/Intra/にソースコードがあるというので、つらつらと見ていったら「IPv4サーバリスト(508個)」と「IPv6サーバリスト(290個)」を発見。
どっちもIPアドレスのみが表記されている。
いくつかピックアップしてホスト名を見てみると sfo??s??-in-f??.1e100.net とか sea??s??-in-f??.1e100.net といった形で、 1e100.net これはGoogle管轄下のドメインとなる。
ここらへんのソースを眺めてみると、サーバリストに対してAndroid4.0で標準実装されたVPN機能を使って接続をかけているようだ。
接続後の名前解決は、 dns.google.com に対してhttpsリクエストを行っている模様。
・・・このサーバリストに載ったIPアドレスを全部ブロックしておけば使えないってことですかね?
国家レベルでの検閲対策として有効になるのか???
Intra、"DNS-over-HTTPS services on Android"って、どうやってDNSだけ乗っ取るのかと思ったら、AndroidのVPN機能を使ってhttps://t.co/IbJSWakgNi配下のサーバ群約500個 https://t.co/kfzyEndhJj にアクセスしてるのか…なんか思ってたのと違う感 https://t.co/hPHMPMTyuN
— OSAKANA TARO (@osakanataro2) 2018年10月5日
この仕組みだったら、IPアドレスリストを元にブロックすれば使えなくなんじゃないか感。あと、https://t.co/gtlDEy16mw がhttpsでのリクエスト先っぽいから、そこもブロック?
— OSAKANA TARO (@osakanataro2) 2018年10月5日