JPNICロゴ

DNS over HTTPSとDHCP -IETF102における議論-

投稿者 tech_team on 2018年7月27日

DRIU - DNS Resolver Identification and Use

この議論が行われたのはDRIU - DNS Resolver Identification and Useと題されたBoF (Birds of a Feather)です。IETFにおけるBoFは、基本的にワーキンググループ(WG)を設立する前に最大2回開かれる会合で、新しいテーマにどれくらい関心が集まるのかを測ったり、WGを設立するために趣意書を固めていったりするために行われます。しかし、DRIU BoFはWGの設立を前提とせずに、いくつかの論点について議論するためだけに開かれました。

BoFの会場はIETF102の会場となっているフェアモント ザ クイーン エリザベスの会議室で、100名以上集まりました。IETFではBoFに人が集まりやすい傾向はありますが、このBoFも注目を集めていました。

BoFにおける論点

BoFが開催される前に、このBoFで議論することが期待されている点がまとめられ、公開されていました。簡単に補足します。


  • DNSのさまざまなアクセス方法をDHCPやユーザーの設定項目においてどう識別し表記するのか
    これまで端末におけるDNSサーバの設定と言えばIPアドレスで指定されるものでした。プロトコルはUDP (User Datagram Protocol)やTCP (Transmission Control Protocol)で、ポート番号は53番と決まっていたためです。しかしDoH (DNS over HTTPS)やDNS-over-TLSが広まると、どのプロトコルを使ってアクセスするのかを指定する必要が出てきます。その指定のためにDNSサーバの識別や記述の方式を決めていく必要があります。

  • TLSを使ってDNSサーバにアクセスする際の設定項目
    DNSサーバにTLS (Transport Layer Security)を使ってアクセスするようになると、そのサーバ証明書を検証する必要が出てきます。証明書の検証には、どの認証局証明書を利用するのかという、いわゆるトラストの設定が必要です。その他にTLSバージョンやアルゴリズムのパラメーターの設定が必要になるかもしれません。従来、Webブラウザで行われてきた設定項目が、DNSのスタブリゾルバ(ユーザーの端末などにあるDNSを使うためのプログラム)にも必要になります。

  • DNSサーバの識別に使われるIPアドレスでのTLSの認証
    DNSサーバは、DNSの正引きを行えるようになる前の段階で使えるように指定されるため、ドメイン名ではなくIPアドレスが使われます。DNSサーバにTLSでアクセスする場合、サーバ認証はドメイン名が記載されたサーバ証明書ではなく、IPアドレスが記載されたサーバ証明書が使われることになります。この認証はどのように行うのかといった、仕様を定める必要があります。

  • DNSSECやクライアントサブネットに関する動作
    これはDNSサーバへのアクセス方式とは若干異なる話題ですが、現在はリゾルバの動作をあらかじめスタブリゾルバに伝えておくことができません。リゾルバがDNSSECの署名検証を行う、クライアントサブネットの情報を権威サーバに渡すといったリゾルバの挙動を、どうアクセス元(スタブリゾルバ)に示すのかという話題です。

 

BoFでの議論

BoFでは、これらの論点に関連したプレゼンテーションが行われました。一部はインターネットドラフトとしてドキュメント化もされています。IETFでは、議論する技術課題に関する共通理解が得られていても、プレゼンテーション中の用語の使われ方や技術的な対応が曖昧なときには、その修正や明確化のための議論が活発になることがあります。このBoFでもその傾向はありました。

会場では、DHCPv6との組み合わせにおけるセキュリティの議論に流れてしまいがちになりました。そのために、質疑応答用のマイクの前には長い列ができました。ただ、参加者の関心は、複数のDoHサーバの中からスタブリゾルバが使うサーバを選択する手法、そして複数のさまざまなDNSサーバの一覧が得られるときの、端末の挙動に集まっているようでした。メーリングリスト(ML)では、DNSサーバの識別方法などの論点について議論が進みましたが、会場ではその仕様よりも実現上の課題の方に話がいったと言えます。

議論の場はMLに移りました。インターネットドラフトが提出されていますので、IETFミーティングでも議論は進んでいくと考えられます。

解説

DHCPにおいてさまざまなDNSサーバの表記方法を扱えるようになるということは、ユーザーは、従来のUDPやTCPの53番ポートを前提としたDNSサーバだけでなく、HTTPSやTLSを使うDNSサーバを簡単に利用できるようになることを意味します。あとは端末のスタブリゾルバが対応すれば、スマートフォンやパソコンでも、ユーザーがどのDNSサーバを使っているのか、もしくはどのように、例えばHTTPSを使っているかどうかを意識せずに、国際的にさまざまなDNSサーバが使われ得る状況ができることになります。DNSにおいてHTTPSが使われることで、DNSサーバへのアクセスなのか、通常のWebサーバへのアクセスかの見分けがつきにくくなり、特定の通信を遮断するといったことは難しくなると考えられます。

実現には仕様上・実装上の課題がありますが、2017年以降にDoH WGが活動し、DNS over HTTPSの実装やサービスが登場しています。今回の議論を通じた自動設定との連携を含めて、多くのユーザーのDNSクエリーが、第三者には分からなくなるような仕組みが作られていく大きな動きがあると言えます。今後もこの流れが続いていくのか、議論の行方が注目されます。