rfc9606.original | rfc9606.txt | |||
---|---|---|---|---|
ADD T. Reddy | Internet Engineering Task Force (IETF) T. Reddy.K | |||
Internet-Draft Nokia | Request for Comments: 9606 Nokia | |||
Intended status: Standards Track M. Boucadair | Category: Standards Track M. Boucadair | |||
Expires: 28 October 2024 Orange | ISSN: 2070-1721 Orange | |||
26 April 2024 | June 2024 | |||
DNS Resolver Information | DNS Resolver Information | |||
draft-ietf-add-resolver-info-13 | ||||
Abstract | Abstract | |||
This document specifies a method for DNS resolvers to publish | This document specifies a method for DNS resolvers to publish | |||
information about themselves. DNS clients can use the resolver | information about themselves. DNS clients can use the resolver | |||
information to identify the capabilities of DNS resolvers. How DNS | information to identify the capabilities of DNS resolvers. How DNS | |||
clients use such an information is beyond the scope of this document. | clients use such information is beyond the scope of this document. | |||
Discussion Venues | ||||
This note is to be removed before publishing as an RFC. | ||||
Discussion of this document takes place on the Adaptive DNS Discovery | ||||
Working Group mailing list (add@ietf.org), which is archived at | ||||
https://mailarchive.ietf.org/arch/browse/add/. | ||||
Source for this draft and an issue tracker can be found at | ||||
https://github.com/boucadair/add-resolver-information. | ||||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
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 https://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on 28 October 2024. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc9606. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2024 IETF Trust and the persons identified as the | Copyright (c) 2024 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
in the Revised BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology | |||
3. Retrieving Resolver Information . . . . . . . . . . . . . . . 4 | 3. Retrieving Resolver Information | |||
4. Format of the Resolver Information . . . . . . . . . . . . . 4 | 4. Format of the Resolver Information | |||
5. Resolver Information Keys/Values . . . . . . . . . . . . . . 5 | 5. Resolver Information Keys/Values | |||
6. An Example . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 6. An Example | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 7. Security Considerations | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 8. IANA Considerations | |||
8.1. RESINFO RR Type . . . . . . . . . . . . . . . . . . . . . 7 | 8.1. RESINFO RR Type | |||
8.2. DNS Resolver Information Key Registration . . . . . . . . 7 | 8.2. DNS Resolver Information Keys Registration | |||
8.3. Guidelines for the Designated Experts . . . . . . . . . . 8 | 8.3. Guidelines for the Designated Experts | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 9. References | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | 9.1. Normative References | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 10 | 9.2. Informative References | |||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 11 | Acknowledgments | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 | Authors' Addresses | |||
1. Introduction | 1. Introduction | |||
Historically, DNS clients communicated with recursive resolvers | Historically, DNS clients communicated with recursive resolvers | |||
without needing to know anything about the features supported by | without needing to know anything about the features supported by | |||
these resolvers. However, more and more recursive resolvers expose | these resolvers. However, more and more recursive resolvers expose | |||
different features that may impact delivered DNS services (privacy | different features that may impact delivered DNS services (privacy | |||
preservation, filtering, transparent behavior, etc.). DNS clients | preservation, filtering, transparent behavior, etc.). DNS clients | |||
can discover and authenticate encrypted DNS resolvers provided by a | can discover and authenticate encrypted DNS resolvers provided by a | |||
local network, for example, using the Discovery of Network-designated | local network, for example, using the Discovery of Network-designated | |||
skipping to change at page 3, line 11 ¶ | skipping to change at line 87 ¶ | |||
capabilities to feed the resolver selection process. Instead of | capabilities to feed the resolver selection process. Instead of | |||
depending on opportunistic approaches, DNS clients need a more | depending on opportunistic approaches, DNS clients need a more | |||
reliable mechanism to discover the features that are configured on | reliable mechanism to discover the features that are configured on | |||
these resolvers. | these resolvers. | |||
This document fills that void by specifying a mechanism that allows | This document fills that void by specifying a mechanism that allows | |||
communication of DNS resolver information to DNS clients for use in | communication of DNS resolver information to DNS clients for use in | |||
resolver selection decisions. For example, the resolver selection | resolver selection decisions. For example, the resolver selection | |||
procedure may use the retrieved resolver information to prioritize | procedure may use the retrieved resolver information to prioritize | |||
privacy-preserving resolvers over those that don't enable QNAME | privacy-preserving resolvers over those that don't enable QNAME | |||
minimization [RFC9156]. Another example is when a DNS client selects | minimisation [RFC9156]. Another example is when a DNS client selects | |||
a resolver based on its filtering capability. For instance, a DNS | a resolver based on its filtering capability. For instance, a DNS | |||
client can choose a resolver that filters domains according to a | client can choose a resolver that filters domains according to a | |||
security policy using the Blocked (15) Extended DNS Error (EDE) | security policy using the Blocked (15) Extended DNS Error (EDE) | |||
[RFC8914]. Alternatively, the client may have a policy not to select | [RFC8914]. Alternatively, the client may have a policy not to select | |||
a resolver that forges responses using the Forged Answer (4) EDE. | a resolver that forges responses using the Forged Answer (4) EDE. | |||
However, it is out of the scope of this document to define the | However, it is out of the scope of this document to define the | |||
selection procedure and policies. Once a resolver is selected by a | selection procedure and policies. Once a resolver is selected by a | |||
DNS client, and unless explicitly mentioned, this document does not | DNS client, and unless explicitly mentioned, this document does not | |||
interfere with DNS operations with that resolver. | interfere with that resolver's DNS operations. | |||
Specifically, this document defines a new resource record (RR) type | Specifically, this document defines a new resource record (RR) type | |||
for DNS clients to query the recursive resolvers. The initial | for DNS clients to query the recursive resolvers. The initial | |||
information that a resolver might want to expose is defined in | information that a resolver might want to expose is defined in | |||
Section 5. That information is scoped to cover properties that are | Section 5. That information is scoped to cover properties that are | |||
used to infer privacy and transparency policies of a resolver. Other | used to infer privacy and transparency policies of a resolver. Other | |||
information can be registered in the future per the guidance in | information can be registered in the future per the guidance in | |||
Section 8.2. The information is not intended for end user | Section 8.2. The information is not intended for end-user | |||
consumption. | consumption. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
This document makes use of the terms defined in [RFC8499]. The | This document makes use of the terms defined in [RFC8499]. The | |||
following additional terms are used: | following additional terms are used: | |||
Encrypted DNS: Refers to a DNS scheme where DNS exchanges are | Encrypted DNS: Refers to a DNS scheme where DNS exchanges are | |||
transported over an encrypted channel between a DNS client and | transported over an encrypted channel between a DNS client and | |||
server (e.g., DNS over HTTPS (DoH) [RFC8484], DNS over TLS (DoT) | server (e.g., DNS over HTTPS (DoH) [RFC8484], DNS over TLS (DoT) | |||
[RFC7858], or DNS over QUIC (DoQ) [RFC9250]). | [RFC7858], or DNS over QUIC (DoQ) [RFC9250]). | |||
Encrypted DNS resolver: Refers to a DNS resolver that supports any | Encrypted DNS resolver: Refers to a DNS resolver that supports any | |||
encrypted DNS scheme. | encrypted DNS scheme. | |||
Reputation: "The estimation in which an identifiable actor is held, | Reputation: Defined as "the estimation in which an identifiable | |||
especially by the community or the Internet public generally" | actor is held, especially by the community or the Internet public | |||
(Section 1 of [RFC7070]). | generally" per Section 1 of [RFC7070]. | |||
3. Retrieving Resolver Information | 3. Retrieving Resolver Information | |||
A DNS client that wants to retrieve the resolver information may use | A DNS client that wants to retrieve the resolver information may use | |||
the RR type "RESINFO" defined in this document. The content of the | the RR type "RESINFO" defined in this document. The content of the | |||
RDATA in a response to a query for RESINFO RR QTYPE is defined in | RDATA in a response to a query for RESINFO RR QTYPE is defined in | |||
Section 5. If the resolver understands the RESINFO RR type, the | Section 5. If the resolver understands the RESINFO RR type, the | |||
RRSet MUST have exactly one record. Invalid records MUST be silently | RRset MUST have exactly one record. Invalid records MUST be silently | |||
ignored by DNS clients. RESINFO is a property of the resolver and is | ignored by DNS clients. RESINFO is a property of the resolver and is | |||
not subject to recursive resolution. | not subject to recursive resolution. | |||
A DNS client can retrieve the resolver information using the RESINFO | A DNS client can retrieve the resolver information using the RESINFO | |||
RR type and the QNAME of the domain name that is used to authenticate | RR type and the QNAME of the domain name that is used to authenticate | |||
the DNS resolver (referred to as the Authentication Domain Name (ADN) | the DNS resolver (referred to as the Authentication Domain Name (ADN) | |||
in DNR [RFC9463]). | in DNR [RFC9463]). | |||
If the Special-Use Domain Name "resolver.arpa", defined in [RFC9462], | If the Special-Use Domain Name "resolver.arpa", defined in [RFC9462], | |||
is used to discover an encrypted DNS resolver, the client can | is used to discover an encrypted DNS resolver, the client can | |||
retrieve the resolver information using the RESINFO RR type and QNAME | retrieve the resolver information using the RESINFO RR type and QNAME | |||
of "resolver.arpa". In this case, a client has to contend with the | of "resolver.arpa". In this case, a client has to contend with the | |||
risk that a resolver does not support RESINFO. The resolver might | risk that a resolver does not support RESINFO. The resolver might | |||
pass the query upstream, and then the client can receive a positive | pass the query upstream, and then the client can receive a positive | |||
RESINFO response either from a legitimate DNS resolver or an | RESINFO response from either a legitimate DNS resolver or an | |||
attacker. | attacker. | |||
The DNS client MUST set the Recursion Desired (RD) bit of the query | The DNS client MUST set the Recursion Desired (RD) bit of the query | |||
to 0. The DNS client MUST discard the response if the AA flag in the | to 0. The DNS client MUST discard the response if the AA flag in the | |||
response is set to 0, indicating that the DNS resolver is not | response is set to 0, indicating that the DNS resolver is not | |||
authoritative for the response. | authoritative for the response. | |||
If a group of resolvers is sharing the same ADN and/or anycast | If a group of resolvers is sharing the same ADN and/or anycast | |||
address, then these instances SHOULD expose a consistent RESINFO. | address, then these instances SHOULD expose a consistent RESINFO. | |||
4. Format of the Resolver Information | 4. Format of the Resolver Information | |||
The resolver information record uses the same format as DNS TXT | The resolver information record uses the same format as DNS TXT | |||
records. The format rules for TXT records are defined in the base | records. The format rules for TXT records are defined in the base | |||
DNS specification (Section 3.3.14 of [RFC1035]) and further | DNS specification (Section 3.3.14 of [RFC1035]) and are further | |||
elaborated in the DNS-based Service Discovery (DNS-SD) specification | elaborated in the DNS-based Service Discovery (DNS-SD) specification | |||
(Section 6.1 of [RFC6763]). The recommendations to limit the TXT | (Section 6.1 of [RFC6763]). The recommendations to limit the TXT | |||
record size are discussed in Section 6.1 of [RFC6763]. | record size are discussed in Section 6.1 of [RFC6763]. | |||
Similar to DNS-SD, the RESINFO RR type uses "key/value" pairs to | Similar to DNS-SD, the RESINFO RR type uses "key/value" pairs to | |||
convey the resolver information. Each "key/value" pair is encoded | convey the resolver information. Each key/value pair is encoded | |||
using the format rules defined in Section 6.3 of [RFC6763]. Using | using the format rules defined in Section 6.3 of [RFC6763]. Using | |||
standardized "key/value" syntax within the RESINFO RR type makes it | standardized key/value syntax within the RESINFO RR type makes it | |||
easier for future keys to be defined. If a DNS client sees unknown | easier for future keys to be defined. If a DNS client sees unknown | |||
keys in a RESINFO RR type, it MUST silently ignore them. The same | keys in a RESINFO RR type, it MUST silently ignore them. The same | |||
rules for the keys as those defined in Section 6.4 of [RFC6763] MUST | rules for the keys, as defined in Section 6.4 of [RFC6763], MUST be | |||
be followed for RESINFO. | followed for RESINFO. | |||
Resolver information keys MUST either be defined in the IANA registry | Resolver information keys MUST either be defined in the IANA registry | |||
(Section 8.2) or begin with the substring "temp-" for names defined | (Section 8.2) or begin with the substring "temp-" for names defined | |||
for local use only. | for local use only. | |||
5. Resolver Information Keys/Values | 5. Resolver Information Keys/Values | |||
The following resolver information keys are defined: | The following resolver information keys are defined: | |||
qnamemin: The presence of this key indicates that the DNS resolver | qnamemin: The presence of this key indicates that the DNS resolver | |||
skipping to change at page 5, line 29 ¶ | skipping to change at line 200 ¶ | |||
Note that, per the rules for the keys defined in Section 6.4 of | Note that, per the rules for the keys defined in Section 6.4 of | |||
[RFC6763], if there is no '=' in a key, then it is a boolean | [RFC6763], if there is no '=' in a key, then it is a boolean | |||
attribute, simply identified as being present, with no value. | attribute, simply identified as being present, with no value. | |||
The presence of this key indicates that the DNS resolver is | The presence of this key indicates that the DNS resolver is | |||
configured to minimise the amount of privacy-sensitive data sent | configured to minimise the amount of privacy-sensitive data sent | |||
to an authoritative name server. | to an authoritative name server. | |||
This is an optional attribute. | This is an optional attribute. | |||
exterr: If the DNS resolver supports extended DNS errors (EDE) | exterr: If the DNS resolver supports the EDE option defined in | |||
option [RFC8914] to return additional information about the cause | [RFC8914] to return additional information about the cause of DNS | |||
of DNS errors, the value of this key lists the possible extended | errors, the value of this key lists the possible EDE codes that | |||
DNS error codes that can be returned by this DNS resolver. A | can be returned by this DNS resolver. A value can be an | |||
value can be an individual EDE or a range of EDEs. Range values | individual EDE or a range of EDEs. Range values MUST be | |||
MUST be identified by "-". When multiple non-contiguous values | identified by "-". When multiple non-contiguous values are | |||
are present, these values MUST be comma-separated. | present, these values MUST be comma-separated. | |||
Returned EDEs (e.g., Blocked (15), Censored (16), and Filtered | Returned EDEs (e.g., Blocked (15), Censored (16), and Filtered | |||
(17)) indicate whether the DNS resolver is configured to reveal | (17)) indicate whether the DNS resolver is configured to reveal | |||
the reason why a query was filtered/blocked, when such event | the reason why a query was filtered/blocked when such an event | |||
happens. If the resolver's capabilities are updated to include | happens. If the resolver's capabilities are updated to include | |||
new similar error codes, the resolver can terminate the TLS | new similar error codes, the resolver can terminate the TLS | |||
session, prompting the client to initiate a new TLS connection and | session, prompting the client to initiate a new TLS connection and | |||
retrieve the resolver information again. This allows the client | retrieve the resolver information again. This allows the client | |||
to become aware of the resolver's updated capabilities. | to become aware of the resolver's updated capabilities. | |||
Alternatively, if the client receives an EDE for a DNS request, | Alternatively, if the client receives an EDE for a DNS request, | |||
but that EDE was not listed in the "exterr", the client can query | but that EDE was not listed in the "exterr", the client can query | |||
the resolver again to learn about the updated resolver's | the resolver again to learn about the updated resolver's | |||
capabilities to return new error codes. If a mismatch still | capabilities to return new error codes. If a mismatch still | |||
exists, the client can identify that the resolver information is | exists, the client can identify that the resolver information is | |||
inaccurate and discard it. | inaccurate and discard it. | |||
This is an optional attribute. | This is an optional attribute. | |||
infourl: An URL that points to the generic unstructured resolver | infourl: A URL that points to the generic unstructured resolver | |||
information (e.g., DoH APIs supported, possible HTTP status codes | information (e.g., DoH APIs supported, possible HTTP status codes | |||
returned by the DoH server, or how to report a problem) for | returned by the DoH server, or how to report a problem) for | |||
troubleshooting purposes. The server that exposes such | troubleshooting purposes. The server that exposes such | |||
information is called "resolver information server". | information is called "resolver information server". | |||
The resolver information server MUST support only the content-type | The resolver information server MUST support only the content-type | |||
'text/html' for the resolver information. The DNS client MUST | "text/html" for the resolver information. The DNS client MUST | |||
reject invalid the URL if the scheme is not "https". Invalid URLs | reject the URL as invalid if the scheme is not "https". Invalid | |||
MUST be ignored. The URL MUST be treated only as diagnostic | URLs MUST be ignored. The URL MUST be treated only as diagnostic | |||
information for IT staff. It is not intended for end user | information for IT staff. It is not intended for end-user | |||
consumption as the URL can possibly provide misleading | consumption as the URL can possibly provide misleading | |||
information. | information. | |||
This key can be used by IT staff to retrieve other useful | This key can be used by IT staff to retrieve other useful | |||
information about the resolver and also the procedure to report | information about the resolver and also the procedure to report | |||
problems (e.g., invalid filtering). | problems (e.g., invalid filtering). | |||
This is an optional attribute. | This is an optional attribute. | |||
New keys can be defined as per the procedure defined in Section 8.2. | New keys can be defined as per the procedure defined in Section 8.2. | |||
6. An Example | 6. An Example | |||
Figure 1 shows an example of a published resolver information record. | Figure 1 shows an example of a published resolver information record. | |||
resolver.example.net. 7200 IN RESINFO qnamemin exterr=15-17 | resolver.example.net. 7200 IN RESINFO qnamemin exterr=15-17 | |||
infourl=https://resolver.example.com/guide | infourl=https://resolver.example.com/guide | |||
Figure 1: An Example of Resolver Information Record | Figure 1: An Example of a Resolver Information Record | |||
As mentioned in Section 3, a DNS client that discovers the ADN | As mentioned in Section 3, a DNS client that discovers the ADN | |||
"resolver.example.net" of its resolver using DNR will issue a query | "resolver.example.net" of its resolver using DNR will issue a query | |||
for RESINFO RR QTYPE for that ADN and will learn that the resolver: | for RESINFO RR QTYPE for that ADN and will learn that: | |||
* enables QNAME minimisation, | * the resolver enables QNAME minimisation, | |||
* can return Blocked (15), Censored (16), and Filtered (17) EDEs, | * the resolver can return Blocked (15), Censored (16), and Filtered | |||
and | (17) EDEs, and | |||
* that more information can be retrieved from | * more information can be retrieved from | |||
https://resolver.example.com/guide. | "https://resolver.example.com/guide". | |||
7. Security Considerations | 7. Security Considerations | |||
DNS clients communicating with discovered DNS resolvers MUST use one | DNS clients communicating with discovered DNS resolvers MUST use one | |||
of the following measures to prevent DNS response forgery attacks: | of the following measures to prevent DNS response forgery attacks: | |||
1. Establish an authenticated secure connection to the DNS resolver. | 1. Establish an authenticated secure connection to the DNS resolver. | |||
2. Implement local DNSSEC validation (Section 10 of [RFC8499]) to | 2. Implement local DNSSEC validation (Section 10 of [RFC8499]) to | |||
verify the authenticity of the resolver information. | verify the authenticity of the resolver information. | |||
It is important to note that, of these two measures, only the first | It is important to note that, of these two measures, only the first | |||
one can apply to queries for 'resolver.arpa'. | one can apply to queries for "resolver.arpa". | |||
An encrypted resolver may return incorrect information in RESINFO. | An encrypted resolver may return incorrect information in RESINFO. | |||
If the client cannot validate the attributes received from the | If the client cannot validate the attributes received from the | |||
resolver, that will be used for resolver selection or displayed to | resolver, which will be used for resolver selection or displayed to | |||
the end-user, the client should process those attributes only if the | the end user, the client should process those attributes only if the | |||
encrypted resolver has sufficient reputation according to local | encrypted resolver has sufficient reputation according to local | |||
policy (e.g., user configuration, administrative configuration, or a | policy (e.g., user configuration, administrative configuration, or a | |||
built-in list of reputable resolvers). This approach limits the | built-in list of reputable resolvers). This approach limits the | |||
ability of a malicious encrypted resolver to cause harm with false | ability of a malicious encrypted resolver to cause harm with false | |||
claims. | claims. | |||
8. IANA Considerations | 8. IANA Considerations | |||
Note to the RFC Editor: Please update "RFCXXXX" occurrences with | ||||
the RFC number to be assigned to this document. | ||||
8.1. RESINFO RR Type | 8.1. RESINFO RR Type | |||
This document requests IANA to update this entry from the "Resource | IANA has updated the "Resource Record (RR) TYPEs" registry under the | |||
Record (RR) TYPEs" registry of the "Domain Name System (DNS) | "Domain Name System (DNS) Parameters" registry group [RRTYPE] as | |||
Parameters" registry group available at [RRTYPE]: | follows: | |||
Type: RESINFO | Type: RESINFO | |||
Value: 261 | Value: 261 | |||
Meaning: Resolver Information as Key/Value Pairs | Meaning: Resolver Information as Key/Value Pairs | |||
Reference: RFCXXXX | Reference: RFC 9606 | |||
8.2. DNS Resolver Information Key Registration | 8.2. DNS Resolver Information Keys Registration | |||
This document requests IANA to create a new registry entitled "DNS | IANA has created a new registry called "DNS Resolver Information | |||
Resolver Information Keys" under the "Domain Name System (DNS) | Keys" under the "Domain Name System (DNS) Parameters" registry group | |||
Parameters" registry group ([IANA-DNS]). This new registry contains | [IANA-DNS]. This new registry contains definitions of the keys that | |||
definitions of the keys that can be used to provide the resolver | can be used to provide the resolver information. | |||
information. | ||||
The registration procedure is Specification Required (Section 4.6 of | The registration procedure is Specification Required (Section 4.6 of | |||
[RFC8126]). Designated experts should carefully consider the | [RFC8126]). Designated experts should carefully consider the | |||
security implications of allowing a resolver to include new keys in | security implications of allowing a resolver to include new keys in | |||
this registry. Additional considerations are provided in | this registry. Additional considerations are provided in | |||
Section 8.3. | Section 8.3. | |||
The structure of the registry is as follows: | The structure of the registry is as follows: | |||
Name: The key name. The name MUST conform to the definition in | Name: The key name. The name MUST conform to the definition in | |||
Section 4 of this document. The IANA registry MUST NOT register | Section 4 of this document. The IANA registry MUST NOT register | |||
names that begin with "temp-", so these names can be used freely | names that begin with "temp-" so that these names can be used | |||
by any implementer. | freely by any implementer. | |||
Description: A description of the registered key. | Description: A description of the registered key. | |||
Specification: The reference specification for the registered | Reference: The reference specification for the registered element. | |||
element. | ||||
The initial content of this registry is provided in Table 1. | The initial contents of this registry are provided in Table 1. | |||
+==========+=====================================+===============+ | +==========+=====================================+===========+ | |||
| Name | Description | Specification | | | Name | Description | Reference | | |||
+==========+=====================================+===============+ | +==========+=====================================+===========+ | |||
| qnamemin | The presence of the key name | RFCXXXX | | | qnamemin | The presence of the key name | RFC 9606 | | |||
| | indicates that QNAME minimization | | | | | indicates that QNAME minimisation | | | |||
| | is enabled | | | | | is enabled. | | | |||
+----------+-------------------------------------+---------------+ | +----------+-------------------------------------+-----------+ | |||
| exterr | Lists the set of enabled extended | RFCXXXX | | | exterr | Lists the set of enabled extended | RFC 9606 | | |||
| | DNS errors. It must be an INFO- | | | | | DNS errors. It must be an INFO- | | | |||
| | CODE decimal value in the "Extended | | | | | CODE decimal value in the "Extended | | | |||
| | DNS Error Codes" registry. | | | | | DNS Error Codes" registry | | | |||
+----------+-------------------------------------+---------------+ | | | <https://www.iana.org/assignments/ | | | |||
| infourl | Provides an URL that points to an | RFCXXXX | | | | dns-parameters/>. | | | |||
| | unstructured resolver information | | | +----------+-------------------------------------+-----------+ | |||
| | that is used for troubleshooting | | | | infourl | Provides a URL that points to | RFC 9606 | | |||
+----------+-------------------------------------+---------------+ | | | unstructured resolver information | | | |||
| | that is used for troubleshooting. | | | ||||
+----------+-------------------------------------+-----------+ | ||||
Table 1: Initial RESINFO Registry | Table 1: Initial Contents of the DNS Resolver Information | |||
Keys Registry | ||||
8.3. Guidelines for the Designated Experts | 8.3. Guidelines for the Designated Experts | |||
It is suggested that multiple designated experts be appointed for | It is suggested that multiple designated experts be appointed for | |||
registry change requests. | registry change requests. | |||
Criteria that should be applied by the designated experts include | Criteria that should be applied by the designated experts include | |||
determining whether the proposed registration duplicates existing | determining whether the proposed registration duplicates existing | |||
entries and whether the registration description is clear and fits | entries and whether the registration description is clear and fits | |||
the purpose of this registry. | the purpose of this registry. | |||
Registration requests are evaluated within a three-week review period | Registration requests are evaluated within a two-week review period | |||
on the advice of one or more designated experts. Within the review | on the advice of one or more designated experts. Within the review | |||
period, the designated experts will either approve or deny the | period, the designated experts will either approve or deny the | |||
registration request, communicating this decision to IANA. Denials | registration request, communicating this decision to IANA. Denials | |||
should include an explanation and, if applicable, suggestions as to | should include an explanation and, if applicable, suggestions as to | |||
how to make the request successful. | how to make the request successful. | |||
9. References | 9. References | |||
9.1. Normative References | 9.1. Normative References | |||
[RFC1035] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | |||
November 1987, <https://www.rfc-editor.org/rfc/rfc1035>. | November 1987, <https://www.rfc-editor.org/info/rfc1035>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/rfc/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service | [RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service | |||
Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013, | Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013, | |||
<https://www.rfc-editor.org/rfc/rfc6763>. | <https://www.rfc-editor.org/info/rfc6763>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/rfc/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/rfc/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8914] Kumari, W., Hunt, E., Arends, R., Hardaker, W., and D. | [RFC8914] Kumari, W., Hunt, E., Arends, R., Hardaker, W., and D. | |||
Lawrence, "Extended DNS Errors", RFC 8914, | Lawrence, "Extended DNS Errors", RFC 8914, | |||
DOI 10.17487/RFC8914, October 2020, | DOI 10.17487/RFC8914, October 2020, | |||
<https://www.rfc-editor.org/rfc/rfc8914>. | <https://www.rfc-editor.org/info/rfc8914>. | |||
[RFC9156] Bortzmeyer, S., Dolmans, R., and P. Hoffman, "DNS Query | [RFC9156] Bortzmeyer, S., Dolmans, R., and P. Hoffman, "DNS Query | |||
Name Minimisation to Improve Privacy", RFC 9156, | Name Minimisation to Improve Privacy", RFC 9156, | |||
DOI 10.17487/RFC9156, November 2021, | DOI 10.17487/RFC9156, November 2021, | |||
<https://www.rfc-editor.org/rfc/rfc9156>. | <https://www.rfc-editor.org/info/rfc9156>. | |||
[RFC9462] Pauly, T., Kinnear, E., Wood, C. A., McManus, P., and T. | [RFC9462] Pauly, T., Kinnear, E., Wood, C. A., McManus, P., and T. | |||
Jensen, "Discovery of Designated Resolvers", RFC 9462, | Jensen, "Discovery of Designated Resolvers", RFC 9462, | |||
DOI 10.17487/RFC9462, November 2023, | DOI 10.17487/RFC9462, November 2023, | |||
<https://www.rfc-editor.org/rfc/rfc9462>. | <https://www.rfc-editor.org/info/rfc9462>. | |||
[RFC9463] Boucadair, M., Ed., Reddy.K, T., Ed., Wing, D., Cook, N., | [RFC9463] Boucadair, M., Ed., Reddy.K, T., Ed., Wing, D., Cook, N., | |||
and T. Jensen, "DHCP and Router Advertisement Options for | and T. Jensen, "DHCP and Router Advertisement Options for | |||
the Discovery of Network-designated Resolvers (DNR)", | the Discovery of Network-designated Resolvers (DNR)", | |||
RFC 9463, DOI 10.17487/RFC9463, November 2023, | RFC 9463, DOI 10.17487/RFC9463, November 2023, | |||
<https://www.rfc-editor.org/rfc/rfc9463>. | <https://www.rfc-editor.org/info/rfc9463>. | |||
9.2. Informative References | 9.2. Informative References | |||
[I-D.pp-add-resinfo] | [IANA-DNS] IANA, "Domain Name System (DNS) Parameters", | |||
Sood, P. and P. E. Hoffman, "DNS Resolver Information | <https://www.iana.org/assignments/dns-parameters/>. | |||
Self-publication", Work in Progress, Internet-Draft, | ||||
draft-pp-add-resinfo-02, 30 June 2020, | [RESINFO] Sood, P. and P. Hoffman, "DNS Resolver Information Self- | |||
publication", Work in Progress, Internet-Draft, draft-pp- | ||||
add-resinfo-02, 30 June 2020, | ||||
<https://datatracker.ietf.org/doc/html/draft-pp-add- | <https://datatracker.ietf.org/doc/html/draft-pp-add- | |||
resinfo-02>. | resinfo-02>. | |||
[IANA-DNS] IANA, "Domain Name System (DNS) Parameters", | ||||
<http://www.iana.org/assignments/dns-parameters/dns- | ||||
parameters.xhtml#dns-parameters-4>. | ||||
[RFC7070] Borenstein, N. and M. Kucherawy, "An Architecture for | [RFC7070] Borenstein, N. and M. Kucherawy, "An Architecture for | |||
Reputation Reporting", RFC 7070, DOI 10.17487/RFC7070, | Reputation Reporting", RFC 7070, DOI 10.17487/RFC7070, | |||
November 2013, <https://www.rfc-editor.org/rfc/rfc7070>. | November 2013, <https://www.rfc-editor.org/info/rfc7070>. | |||
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., | [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., | |||
and P. Hoffman, "Specification for DNS over Transport | and P. Hoffman, "Specification for DNS over Transport | |||
Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May | Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May | |||
2016, <https://www.rfc-editor.org/rfc/rfc7858>. | 2016, <https://www.rfc-editor.org/info/rfc7858>. | |||
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS | [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS | |||
(DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, | (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, | |||
<https://www.rfc-editor.org/rfc/rfc8484>. | <https://www.rfc-editor.org/info/rfc8484>. | |||
[RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | |||
Terminology", RFC 8499, DOI 10.17487/RFC8499, January | Terminology", RFC 8499, DOI 10.17487/RFC8499, January | |||
2019, <https://www.rfc-editor.org/rfc/rfc8499>. | 2019, <https://www.rfc-editor.org/info/rfc8499>. | |||
[RFC9250] Huitema, C., Dickinson, S., and A. Mankin, "DNS over | [RFC9250] Huitema, C., Dickinson, S., and A. Mankin, "DNS over | |||
Dedicated QUIC Connections", RFC 9250, | Dedicated QUIC Connections", RFC 9250, | |||
DOI 10.17487/RFC9250, May 2022, | DOI 10.17487/RFC9250, May 2022, | |||
<https://www.rfc-editor.org/rfc/rfc9250>. | <https://www.rfc-editor.org/info/rfc9250>. | |||
[RRTYPE] IANA, "Resource Record (RR) TYPEs", | [RRTYPE] IANA, "Resource Record (RR) TYPEs", | |||
<https://www.iana.org/assignments/dns-parameters/dns- | <https://www.iana.org/assignments/dns-parameters/>. | |||
parameters.xhtml>. | ||||
Acknowledgments | Acknowledgments | |||
This specification leverages the work that has been documented in | This specification leverages the work that has been documented in | |||
[I-D.pp-add-resinfo]. | [RESINFO]. | |||
Thanks to Tommy Jensen, Vittorio Bertola, Vinny Parla, Chris Box, Ben | Thanks to Tommy Jensen, Vittorio Bertola, Vinny Parla, Chris Box, Ben | |||
Schwartz, Tony Finch, Daniel Kahn Gillmor, Eric Rescorla, Shashank | Schwartz, Tony Finch, Daniel Kahn Gillmor, Eric Rescorla, Shashank | |||
Jain, Florian Obser, Richard Baldry, and Martin Thomson for the | Jain, Florian Obser, Richard Baldry, and Martin Thomson for the | |||
discussion and comments. | discussion and comments. | |||
Thanks to Mark Andrews, Joe Abley, Paul Wouters, and Tim Wicinski for | Thanks to Mark Andrews, Joe Abley, Paul Wouters, and Tim Wicinski for | |||
the discussion on the RR formatting rules. | the discussion on RR formatting rules. | |||
Special thanks to Tommy Jensen for the careful and thoughtful | Special thanks to Tommy Jensen for the careful and thoughtful | |||
Shepherd review. | Shepherd review. | |||
Thanks to Johan Stenstam and Jim Reid for the dns-dir reviews, Ray | Thanks to Johan Stenstam and Jim Reid for the dns-dir reviews, Ray | |||
Bellis for the RRTYPE allocation review, Arnt Gulbrandsen for the ART | Bellis for the RRTYPE allocation review, Arnt Gulbrandsen for the ART | |||
review, and Mallory Knodel for the gen-art review. | review, and Mallory Knodel for the gen-art review. | |||
Thanks to Eric Vyncke for the AD review. | Thanks to Éric Vyncke for the AD review. | |||
Thanks to Gunter Van de Velde, Erik Kline, Paul Wouters, Orie Steele, | Thanks to Gunter Van de Velde, Erik Kline, Paul Wouters, Orie Steele, | |||
Warren Kumari, Roman Danyliw, and Murray Kucherawy for the IESG | Warren Kumari, Roman Danyliw, and Murray Kucherawy for the IESG | |||
review. | review. | |||
Authors' Addresses | Authors' Addresses | |||
Tirumaleswar Reddy | Tirumaleswar Reddy.K | |||
Nokia | Nokia | |||
India | India | |||
Email: kondtir@gmail.com | Email: kondtir@gmail.com | |||
Mohamed Boucadair | Mohamed Boucadair | |||
Orange | Orange | |||
35000 Rennes | 35000 Rennes | |||
France | France | |||
Email: mohamed.boucadair@orange.com | Email: mohamed.boucadair@orange.com | |||
End of changes. 62 change blocks. | ||||
158 lines changed or deleted | 139 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |