Signaling Authoritative DNS Encryption

Document Type Active Internet-Draft (individual)
Authors Tommy Pauly  , Eric Rescorla  , David Schinazi  , Christopher Wood 
Last updated 2021-02-26
Stream (None)
Intended RFC status (None)
Formats plain text pdf htmlized (tools) htmlized bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
dprive                                                          T. Pauly
Internet-Draft                                                Apple Inc.
Intended status: Informational                               E. Rescorla
Expires: 27 August 2021                                          Mozilla
                                                             D. Schinazi
                                                              Google LLC
                                                               C.A. Wood
                                                        23 February 2021

                 Signaling Authoritative DNS Encryption


   This document defines a mechanism for signaling that a given
   authoritative DNS server is reachable by encrypted DNS.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Discussion of this document takes place on the DNS PRIVate Exchange
   Working Group mailing list (, which is archived

   Source for this draft and an issue tracker can be found at

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 27 August 2021.

Copyright Notice

   Copyright (c) 2021 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents (
   license-info) in effect on the date of publication of this document.
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.  Code Components
   extracted from this document must include Simplified BSD License text
   as described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Simplified BSD License.

Table of Contents

   1.  Introduction
   2.  Conventions and Definitions
   3.  Overview of Operation
   4.  Use of SVCB Records to Signal Encrypted Transport
     4.1.  Caching and lifetime
     4.2.  Authenticating the Server
   5.  Example
   6.  Security Considerations
   7.  IANA Considerations
   8.  References
     8.1.  Normative References
     8.2.  Informative References
   Authors' Addresses

1.  Introduction

   The IETF has defined a number of mechanisms for carrying DNS queries
   over encrypted transport [DOH] [DOT] [DOQ].  However, there is no
   scalable way for a recursive resolver to know that a given
   authoritative resolver supports encrypted transport, which inhibits
   the deployment of encrypted DNS for queries from recursive resolvers.
   This specification defines a mechanism for carrying that signal,
   using the DNS SVCB [SVCB] record.

2.  Conventions and Definitions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Overview of Operation

   The mechanism defined in this document works by using the DNS SVCB
   [SVCB] record to indicate that a given server supports TLS.  The
   recursive resolver can obtain these records in two distinct ways:

   *  In the additional data block of the response that referred the
      recursive to the target authoritative server.

   *  By directly resolving a SVCB query for the target authoritative

   As a practical matter, the first of these options is preferred as it
   allows the recursive to learn that the authoritative server supports
   encrypted transport without an additional round trip, as shown below:

Recursive                .com                      ns.example.example
                   Authoritative Server      (Authoritative for
NS ------------>

<----- NS ns.example.example
       ns.example.example A
       _dns.ns.example.example SVCB alpn=dot

<--------------  TLS connection to ns.example ------------>
A ------------------------------------------->
Show full document text