| < draft-ietf-dnsop-kskroll-sentinel-14.txt | draft-ietf-dnsop-kskroll-sentinel-15.txt > | |||
|---|---|---|---|---|
| DNSOP G. Huston | DNSOP G. Huston | |||
| Internet-Draft J. Damas | Internet-Draft J. Damas | |||
| Intended status: Standards Track APNIC | Intended status: Standards Track APNIC | |||
| Expires: December 13, 2018 W. Kumari | Expires: January 3, 2019 W. Kumari | |||
| June 11, 2018 | July 02, 2018 | |||
| A Root Key Trust Anchor Sentinel for DNSSEC | A Root Key Trust Anchor Sentinel for DNSSEC | |||
| draft-ietf-dnsop-kskroll-sentinel-14 | draft-ietf-dnsop-kskroll-sentinel-15 | |||
| Abstract | Abstract | |||
| The DNS Security Extensions (DNSSEC) were developed to provide origin | The DNS Security Extensions (DNSSEC) were developed to provide origin | |||
| authentication and integrity protection for DNS data by using digital | authentication and integrity protection for DNS data by using digital | |||
| signatures. These digital signatures can be verified by building a | signatures. These digital signatures can be verified by building a | |||
| chain of trust starting from a trust anchor and proceeding down to a | chain of trust starting from a trust anchor and proceeding down to a | |||
| particular node in the DNS. This document specifies a mechanism that | particular node in the DNS. This document specifies a mechanism that | |||
| will allow an end user and third parties to determine the trusted key | will allow an end user and third parties to determine the trusted key | |||
| state for the root key of the resolvers that handle that user's DNS | state for the root key of the resolvers that handle that user's DNS | |||
| skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on December 13, 2018. | This Internet-Draft will expire on January 3, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 25 ¶ | skipping to change at page 2, line 25 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 4 | 2. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 4 | |||
| 2.1. Preconditions . . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Preconditions . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Special Processing . . . . . . . . . . . . . . . . . . . 5 | 2.2. Special Processing . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Sentinel Tests for a Single DNS Resolver . . . . . . . . . . 6 | 3. Sentinel Tests for a Single DNS Resolver . . . . . . . . . . 6 | |||
| 3.1. Forwarders . . . . . . . . . . . . . . . . . . . . . . . 8 | 3.1. Forwarders . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4. Sentinel Tests for a Set of Resolvers . . . . . . . . . . . . 9 | 4. Sentinel Tests from Hosts with More than One Configured | |||
| Resolve . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
| 4.1. Test Scenario and Objective . . . . . . . . . . . . . . . 9 | 4.1. Test Scenario and Objective . . . . . . . . . . . . . . . 9 | |||
| 4.2. Test Assumptions . . . . . . . . . . . . . . . . . . . . 10 | 4.2. Test Assumptions . . . . . . . . . . . . . . . . . . . . 10 | |||
| 4.3. Test Procedure . . . . . . . . . . . . . . . . . . . . . 10 | 4.3. Test Procedure . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12 | 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 7. Implementation Experience . . . . . . . . . . . . . . . . . . 12 | 7. Implementation Experience . . . . . . . . . . . . . . . . . . 12 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 18 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 18 | 11.2. Informative References . . . . . . . . . . . . . . . . . 18 | |||
| Appendix A. Protocol Walkthrough Example . . . . . . . . . . . . 18 | Appendix A. Protocol Walkthrough Example . . . . . . . . . . . . 18 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 1. Introduction | 1. Introduction | |||
| The DNS Security Extensions (DNSSEC) [RFC4033], [RFC4034] and | The DNS Security Extensions (DNSSEC) [RFC4033], [RFC4034] and | |||
| [RFC4035] were developed to provide origin authentication and | [RFC4035] were developed to provide origin authentication and | |||
| integrity protection for DNS data by using digital signatures. | integrity protection for DNS data by using digital signatures. | |||
| DNSSEC uses Key Tags to efficiently match signatures to the keys from | DNSSEC uses Key Tags to efficiently match signatures to the keys from | |||
| which they are generated. The Key Tag is a 16-bit value computed | which they are generated. The Key Tag is a 16-bit value computed | |||
| from the RDATA portion of a DNSKEY RR using a formula found in "Key | from the RDATA of a DNSKEY RR as described in Appendix B of | |||
| Tag Calculation" (Appendix B of "Resource Records for the DNS | [RFC4034]. RRSIG RRs contain a Key Tag field whose value is equal to | |||
| Security Extensions" [RFC4034]), a formula similar to a ones- | the Key Tag of the DNSKEY RR that was used to generate the | |||
| complement checksum. RRSIG RRs contain a Key Tag field whose value | corresponding signature. | |||
| is equal to the Key Tag of the DNSKEY RR that validates the | ||||
| signature. | ||||
| This document specifies how security-aware DNS resolvers that perform | This document specifies how security-aware DNS resolvers that perform | |||
| validation of their responses can respond to certain queries in a | validation of their responses can respond to certain queries in a | |||
| manner that allows an agent performing the queries to deduce whether | manner that allows an agent performing the queries to deduce whether | |||
| a particular key for the root has been loaded into that resolver's | a particular key for the root has been loaded into that resolver's | |||
| trusted key store. This document also describes a procedure where a | trusted key store. This document also describes a procedure where a | |||
| collection of resolvers can be tested to determine if at least one of | collection of resolvers can be tested to determine if at least one of | |||
| these resolvers has loaded a given key into its trusted key store. | these resolvers has loaded a given key into its trusted key store. | |||
| These tests can be used to determine whether a certain root zone KSK | These tests can be used to determine whether a certain root zone Key | |||
| is ready to be used as a trusted key, within the context of a planned | Signing Key (KSK) is ready to be used as a trusted key, within the | |||
| root zone KSK key roll. | context of a planned root zone KSK key roll. | |||
| There are two primary use cases for this mechanism: | There are two primary use cases for this mechanism: | |||
| o Users may wish to ascertain whether their DNS resolution | o Users may wish to ascertain whether their DNS resolution | |||
| environment resolvers is ready for an upcoming root KSK rollover. | environment resolvers is ready for an upcoming root KSK rollover. | |||
| o Researchers want to perform Internet-wide studies about the | o Researchers want to perform Internet-wide studies about the | |||
| proportion of users who will be negatively impacted an upcoming | proportion of users who will be negatively impacted an upcoming | |||
| root KSK rollover. | root KSK rollover. | |||
| The mechanism described in this document meets both of these use | The mechanism described in this document satisfy the requirements of | |||
| cases. This new mechanism is OPTIONAL to implement and use, although | both these use-cases. This mechanism is OPTIONAL to implement and | |||
| for reasons of supporting broad-based measurement techniques, it is | use. If implemented, this mechanism SHOULD be enabled by default to | |||
| strongly preferred that configurations of DNSSEC-validating resolvers | facilitate Internet-wide measurement. Configuration options MAY be | |||
| enabled this mechanism by default, allowing for local configuration | provided to disable the mechanism for reasons of local policy. | |||
| directives to disable this mechanism if desired. | ||||
| The KSK sentinel tests described in this document use a test | The KSK sentinel tests described in this document use a test | |||
| comprising of a set of DNS queries to domain names that have special | comprising of a set of DNS queries to domain names that have special | |||
| values for the left-most label. The test relies on recursive | values for the left-most label. The test relies on recursive | |||
| resolvers supporting a mechanism that recognises this special name | resolvers supporting a mechanism that recognises this special name | |||
| pattern in queries, and under certain defined circumstances will | pattern in queries, and under certain defined circumstances will | |||
| return a DNS SERVFAIL response code (RCODE 2), mimicking the response | return a DNS SERVFAIL response code (RCODE 2), mimicking the response | |||
| code that is returned by security-aware resolvers when DNSSEC | code that is returned by security-aware resolvers when DNSSEC | |||
| validation fails. | validation fails. | |||
| skipping to change at page 4, line 11 ¶ | skipping to change at page 4, line 9 ¶ | |||
| sentinel test described in this document can still be used, but it | sentinel test described in this document can still be used, but it | |||
| makes a number of assumptions about DNS resolution behaviour that may | makes a number of assumptions about DNS resolution behaviour that may | |||
| not necessarily hold in all environments. If these assumptions do | not necessarily hold in all environments. If these assumptions do | |||
| not hold (such as, for example, requiring the stub resolver to query | not hold (such as, for example, requiring the stub resolver to query | |||
| the next recursive resolver in the locally configured set upon | the next recursive resolver in the locally configured set upon | |||
| receipt of a SERVFAIL response code) then this test may produce | receipt of a SERVFAIL response code) then this test may produce | |||
| indeterminate or inconsistent results. In some cases where these | indeterminate or inconsistent results. In some cases where these | |||
| assumptions do not hold, repeating the same test query set may | assumptions do not hold, repeating the same test query set may | |||
| generate different results. | generate different results. | |||
| Note that the sentinel mechanism described here measures a very | Note that the measurements facilitated by the mechanism described in | |||
| different (and likely more useful) metric than [RFC8145]. RFC 8145 | this document are different from those of [RFC8145]. RFC 8145 relies | |||
| relies on resolvers reporting towards the root servers a list of | on resolvers reporting towards the root servers a list of locally | |||
| locally cached trust anchors for the root zone. Those reports can be | cached trust anchors for the root zone. Those reports can be used to | |||
| used to infer how many resolvers may be impacted by a KSK roll, but | infer how many resolvers may be impacted by a KSK roll, but not what | |||
| not what the user impact of the KSK roll will be. | the user impact of the KSK roll will be. | |||
| 1.1. Terminology | 1.1. 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", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC 2119. | document are to be interpreted as described in RFC 2119. | |||
| 2. Sentinel Mechanism in Resolvers | 2. Sentinel Mechanism in Resolvers | |||
| DNSSEC-Validating resolvers that implement this mechanism MUST | DNSSEC-Validating resolvers that implement this mechanism MUST | |||
| perform validation of responses in accordance with the DNSSEC | perform validation of responses in accordance with the DNSSEC | |||
| response validation specification [RFC4035]. | response validation specification [RFC4035]. | |||
| This sentinel mechanism makes use of two special labels: | This sentinel mechanism makes use of two special labels: | |||
| o root-key-sentinel-is-ta-<key-tag> | o root-key-sentinel-is-ta-<key-tag> | |||
| o root-key-sentinel-not-ta-<key-tag> | o root-key-sentinel-not-ta-<key-tag> | |||
| Note that the <key-tag> is specified in the DNS label as unsigned | ||||
| decimal integer (as described in [RFC4034], section 5.3), but zero- | ||||
| padded to five digits (for example, a Key Tag value of 42 would be | ||||
| represented in the label as 00042). | ||||
| These labels trigger special processing in the validating DNS | These labels trigger special processing in the validating DNS | |||
| resolver when responses from authoritative servers are received. | resolver when responses from authoritative servers are received. | |||
| Labels containing "root-key-sentinel-is-ta-<key-tag>" is used to | Labels containing "root-key-sentinel-is-ta-<key-tag>" is used to | |||
| answer the question "Is this the Key Tag of a key which the | answer the question "Is this the Key Tag of a key which the | |||
| validating DNS resolver is currently trusting as a trust anchor?" | validating DNS resolver is currently trusting as a trust anchor?" | |||
| Labels containing "root-key-sentinel-not-ta-<key-tag>" is used to | Labels containing "root-key-sentinel-not-ta-<key-tag>" is used to | |||
| answer the question "Is this the Key Tag of a key which the | answer the question "Is this the Key Tag of a key which the | |||
| validating DNS resolver is *not* currently trusting as a trust | validating DNS resolver is *not* currently trusting as a trust | |||
| anchor?" | anchor?" | |||
| skipping to change at page 5, line 27 ¶ | skipping to change at page 5, line 18 ¶ | |||
| o The OPCODE is QUERY. | o The OPCODE is QUERY. | |||
| o The leftmost label of the original QNAME (the name sent in the | o The leftmost label of the original QNAME (the name sent in the | |||
| Question Section in the original query) is either "root-key- | Question Section in the original query) is either "root-key- | |||
| sentinel-is-ta-<key-tag>" or "root-key-sentinel-not-ta-<key-tag>". | sentinel-is-ta-<key-tag>" or "root-key-sentinel-not-ta-<key-tag>". | |||
| If any one of the preconditions is not met, the resolver MUST NOT | If any one of the preconditions is not met, the resolver MUST NOT | |||
| alter the DNS response based on the mechanism in this document. | alter the DNS response based on the mechanism in this document. | |||
| Note that the <key-tag> is specified in the DNS label as unsigned | ||||
| decimal integer (as described in [RFC4034], section 5.3), but zero- | ||||
| padded to five digits (for example, a Key Tag value of 42 would be | ||||
| represented in the label as 00042). The precise specification of the | ||||
| special labels above should be followed exactly. For example, a | ||||
| label that does not include a Key Tag zero-padded to five digits does | ||||
| not match this specification, and should not be processed as if they | ||||
| did -- in other words, such queries should be handled as any other | ||||
| label and not according to Section 2.2. | ||||
| 2.2. Special Processing | 2.2. Special Processing | |||
| Responses which fulfil all of the preconditions in Section 2.1 | Responses which fulfil all of the preconditions in Section 2.1 | |||
| require special processing, depending on leftmost label in the QNAME. | require special processing, depending on leftmost label in the QNAME. | |||
| First, the resolver determines if the numerical value of <key-tag> is | First, the resolver determines if the numerical value of <key-tag> is | |||
| equal to any of the Key Tag values of an active root zone KSK which | equal to any of the Key Tag values of an active root zone KSK which | |||
| is currently trusted by the local resolver and is stored in its store | is currently trusted by the local resolver and is stored in its store | |||
| of trusted keys. An active root zone KSK is one which could | of trusted keys. An active root zone KSK is one which could | |||
| currently be used for validation (that is, a key that is not in | currently be used for validation (that is, a key that is not in | |||
| skipping to change at page 6, line 7 ¶ | skipping to change at page 6, line 7 ¶ | |||
| Label | Key is trusted | Key is not trusted | Label | Key is trusted | Key is not trusted | |||
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | |||
| is-ta | return original answer | return SERVFAIL | is-ta | return original answer | return SERVFAIL | |||
| not-ta | return SERVFAIL | return original answer | not-ta | return SERVFAIL | return original answer | |||
| Instruction "return SERVFAIL" means that the resolver MUST set | Instruction "return SERVFAIL" means that the resolver MUST set | |||
| RCODE=SERVFAIL (value 2) and the ANSWER section of the DNS response | RCODE=SERVFAIL (value 2) and the ANSWER section of the DNS response | |||
| MUST be empty, ignoring all other documents which specify content of | MUST be empty, ignoring all other documents which specify content of | |||
| the ANSWER section. | the ANSWER section. | |||
| Instruction "return original answer" means that the resolver MUST | ||||
| process the query without any further special processing; that is, | ||||
| exactly as if the mechanism described in this document was not | ||||
| implemented or disabled. | ||||
| 3. Sentinel Tests for a Single DNS Resolver | 3. Sentinel Tests for a Single DNS Resolver | |||
| This section describes the use of the sentinel detection mechanism | This section describes the use of the sentinel detection mechanism | |||
| against a single DNS recursive resolver in order to determine whether | against a single DNS recursive resolver in order to determine whether | |||
| this resolver is using a particular trust anchor to validate DNSSEC- | this resolver is using a particular trust anchor to validate DNSSEC- | |||
| signed responses. | signed responses. | |||
| Note that the test in this section applies to a single DNS resolver. | Note that the test in this section applies to a single DNS resolver. | |||
| The test described in Section 4 applies instead to a collection of | The test described in Section 4 applies instead to a collection of | |||
| DNS resolvers, as might be found in the DNS configuration of an end- | DNS resolvers, as might be found in the DNS configuration of an end- | |||
| skipping to change at page 8, line 36 ¶ | skipping to change at page 8, line 40 ¶ | |||
| Vind: There is no information about the trust anchors of the | Vind: There is no information about the trust anchors of the | |||
| resolver. | resolver. | |||
| nonV: The resolver does not perform DNSSEC validation. | nonV: The resolver does not perform DNSSEC validation. | |||
| other: The properties of the resolver cannot be analyzed by this | other: The properties of the resolver cannot be analyzed by this | |||
| protocol. | protocol. | |||
| 3.1. Forwarders | 3.1. Forwarders | |||
| There is also the common case of a recursive resolver using a | Some resolvers are configured not to answer queries using the | |||
| forwarder. | recursive algorithm first described in [RFC1034] section 4.3.2, but | |||
| instead relay queries to one or more other resolvers. Resolvers | ||||
| configured in this manner are referred to in this document as | ||||
| "forwarders". | ||||
| If the resolver is non-validating, and it has a single forwarder, | If the resolver is non-validating, and it has a single forwarder, | |||
| then the resolver will presumably mirror the capabilities of the | then the resolver will presumably mirror the capabilities of the | |||
| forwarder target resolver. | forwarder target resolver. | |||
| If the validating resolver has a forwarding configuration, and uses | If the validating resolver has a forwarding configuration, and uses | |||
| the CD bit on all forwarded queries, then this resolver is acting in | the CD bit on all forwarded queries, then this resolver is acting in | |||
| a manner that is identical to a standalone resolver. | a manner that is identical to a standalone resolver. | |||
| A more complex case is where all of the following conditions hold: | A more complex case is where all of the following conditions hold: | |||
| skipping to change at page 9, line 4 ¶ | skipping to change at page 9, line 11 ¶ | |||
| If the validating resolver has a forwarding configuration, and uses | If the validating resolver has a forwarding configuration, and uses | |||
| the CD bit on all forwarded queries, then this resolver is acting in | the CD bit on all forwarded queries, then this resolver is acting in | |||
| a manner that is identical to a standalone resolver. | a manner that is identical to a standalone resolver. | |||
| A more complex case is where all of the following conditions hold: | A more complex case is where all of the following conditions hold: | |||
| o Both the validating resolver and the forwarder target resolver | o Both the validating resolver and the forwarder target resolver | |||
| support this trusted key sentinel mechanism | support this trusted key sentinel mechanism | |||
| o The local resolver's queries do not have the CD bit set | o The local resolver's queries do not have the CD bit set | |||
| o The trusted key state differs between the forwarding resolver and | o The trusted key state differs between the forwarding resolver and | |||
| the forwarder target resolver | the forwarder target resolver | |||
| In such a case, either the outcome is indeterminate validating | In such a case, either the outcome is indeterminate validating | |||
| ("Vind"), or a case of mixed signals such as SERVFAIL in all three | ("Vind"), or a case of mixed signals such as SERVFAIL in all three | |||
| responses, ("other") which is similarly an indeterminate response | responses, ("other") which is similarly an indeterminate response | |||
| with respect to the trusted key state. | with respect to the trusted key state. | |||
| 4. Sentinel Tests for a Set of Resolvers | 4. Sentinel Tests from Hosts with More than One Configured Resolve | |||
| The description in Section 3 describes a trust anchor test that can | The description in Section 3 describes a trust anchor test that can | |||
| be used in the simple situation where the test queries were being | be used in the simple situation where the test queries were being | |||
| passed to a single recursive resolver that directly queries | passed to a single recursive resolver that directly queries | |||
| authoritative name servers. | authoritative name servers. | |||
| However, the common end user scenario is where a user's local DNS | However, the common end-user scenario is where a user's local DNS | |||
| resolution environment is configured to use a set of recursive | resolution environment is configured to use more than one recursive | |||
| resolvers. The single resolver test technique will not function | resolver. The single resolver test technique will not function | |||
| reliably in such cases, as a a SERVFAIL response from one resolver | reliably in such cases, as a a SERVFAIL response from one resolver | |||
| may cause the local stub resolver to repeat the query against one of | may cause the local stub resolver to repeat the query against one of | |||
| the other configured resolvers and the results may be inconclusive. | the other configured resolvers and the results may be inconclusive. | |||
| In describing a test procedure that can be used in this environment | In describing a test procedure that can be used in this environment | |||
| of a set of DNS resolvers there are some necessary changes to the | of a set of DNS resolvers there are some necessary changes to the | |||
| nature of the question that this test can answer, the assumptions | nature of the question that this test can answer, the assumptions | |||
| about the behaviour of the DNS resolution environment, and some | about the behaviour of the DNS resolution environment, and some | |||
| further observations about potential variability in the test | further observations about potential variability in the test | |||
| outcomes. | outcomes. | |||
| skipping to change at page 13, line 36 ¶ | skipping to change at page 13, line 38 ¶ | |||
| http://www.ksk-test.net An Javascript implementation of the client | http://www.ksk-test.net An Javascript implementation of the client | |||
| side of this protocol is available at: http://www.ksk-test.net | side of this protocol is available at: http://www.ksk-test.net | |||
| http://test.kskroll.dnssec.lab.nic.cl/ Hugo Salgado-Hernandez has | http://test.kskroll.dnssec.lab.nic.cl/ Hugo Salgado-Hernandez has | |||
| created an implementation at | created an implementation at | |||
| http://test.kskroll.dnssec.lab.nic.cl/ | http://test.kskroll.dnssec.lab.nic.cl/ | |||
| http://sentinel.research.icann.org/ The code for this implementation | http://sentinel.research.icann.org/ The code for this implementation | |||
| is published at https://github.com/paulehoffman/sentinel-testbed | is published at https://github.com/paulehoffman/sentinel-testbed | |||
| http://www.bellis.me.uk/sentinel/ Ray Bellis client implementation - | ||||
| http://www.bellis.me.uk/sentinel/ | ||||
| 8. IANA Considerations | 8. IANA Considerations | |||
| [Note to IANA, to be removed prior to publication: there are no IANA | This document has no IANA actions. | |||
| considerations stated in this version of the document.] | ||||
| 9. Acknowledgements | 9. Acknowledgements | |||
| This document has borrowed extensively from [RFC8145] for the | This document has borrowed extensively from [RFC8145] for the | |||
| introductory text, and the authors would like to acknowledge and | introductory text, and the authors would like to acknowledge and | |||
| thank the authors of that document both for some text excerpts and | thank the authors of that document both for some text excerpts and | |||
| for the more general stimulation of thoughts about monitoring the | for the more general stimulation of thoughts about monitoring the | |||
| progress of a roll of the KSK of the root zone of the DNS. | progress of a roll of the KSK of the root zone of the DNS. | |||
| The authors would like to thank Joe Abley, Mehmet Akcin, Mark | The authors would like to thank Joe Abley, Mehmet Akcin, Mark | |||
| Andrews, Richard Barnes, Ray Bellis, Stephane Bortzmeyer, David | Andrews, Richard Barnes, Ray Bellis, Stephane Bortzmeyer, David | |||
| Conrad, Ralph Dolmans, John Dickinson, Steinar Haug, Bob Harold, Wes | Conrad, Ralph Dolmans, John Dickinson, Steinar Haug, Bob Harold, Wes | |||
| Hardaker, Paul Hoffman, Matt Larson, Jinmei Tatuya, Edward Lewis, | Hardaker, Paul Hoffman, Matt Larson, Jinmei Tatuya, Edward Lewis, | |||
| George Michaelson, Benno Overeinder, Matthew Pounsett, Hugo Salgado- | George Michaelson, Benno Overeinder, Matthew Pounsett, Hugo Salgado- | |||
| Hernandez, Andreas Schulze, Mukund Sivaraman, Petr Spacek, Job | Hernandez, Andreas Schulze, Mukund Sivaraman, Petr Spacek, Job | |||
| Snijders, Andrew Sullivan, Ondrej Sury, Paul Vixie, Duane Wessels and | Snijders, Andrew Sullivan, Ondrej Sury, Paul Vixie, Duane Wessels and | |||
| Paul Wouters for their helpful feedback. | Paul Wouters for their helpful feedback. | |||
| The authors would like to especially call out Paul Hoffman and Duane | The authors would like to especially call out Paul Hoffman and Duane | |||
| Wessels for providing comments in the form of a pull request. | Wessels for providing comments in the form of pull requests. Joe | |||
| Abley also helpfully provided extensive review and OLD / NEW text. | ||||
| Petr Spacek wrote some very early implmentations, and provided | ||||
| significant feedback (including pointing out when the test bed didn't | ||||
| match the document!) | ||||
| 10. Change Log | 10. Change Log | |||
| RFC Editor: Please remove this section! | RFC Editor: Please remove this section! | |||
| Note that this document is being worked on in GitHub - see Abstract. | Note that this document is being worked on in GitHub - see Abstract. | |||
| The below is mainly large changes, and is not authoritative. | The below is mainly large changes, and is not authoritative. | |||
| From -14 to -15: | ||||
| o Addressed Joe Abley's thorough review, at: | ||||
| https://mailarchive.ietf.org/arch/msg/dnsop/8ZnN1xj55Yimet2cg- | ||||
| LrdoJafEA | ||||
| From -13 to -14: | From -13 to -14: | |||
| o Addressed nits from Bob Harold - | o Addressed nits from Bob Harold - | |||
| https://mailarchive.ietf.org/arch/msg/dnsop/ | https://mailarchive.ietf.org/arch/msg/dnsop/ | |||
| j4Serw0z24o470AnlD8ISo8o9k4 | j4Serw0z24o470AnlD8ISo8o9k4 | |||
| o Formatting changes (and a bit more text) in the implementation | o Formatting changes (and a bit more text) in the implementation | |||
| section. | section. | |||
| o Closes PR #21: Clarify indeterminate and resolution systems, | o Closes PR #21: Clarify indeterminate and resolution systems, | |||
| skipping to change at page 17, line 32 ¶ | skipping to change at page 18, line 4 ¶ | |||
| o Clarification that this is for the root. | o Clarification that this is for the root. | |||
| o Changed the label template from _is-ta-<key-tag> to kskroll- | o Changed the label template from _is-ta-<key-tag> to kskroll- | |||
| sentinel-is-ta-<key-tag>. This is because BIND (at least) will | sentinel-is-ta-<key-tag>. This is because BIND (at least) will | |||
| not allow records which start with an underscore to have address | not allow records which start with an underscore to have address | |||
| records (CNAMEs, yes, A/AAAA no). Some browsers / operating | records (CNAMEs, yes, A/AAAA no). Some browsers / operating | |||
| systems also will not fetch resources from names which start with | systems also will not fetch resources from names which start with | |||
| an underscore. | an underscore. | |||
| 11. References | 11. References | |||
| 11.1. Normative References | 11.1. Normative References | |||
| [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | ||||
| STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, | ||||
| <https://www.rfc-editor.org/info/rfc1034>. | ||||
| [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS | [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS | |||
| NCACHE)", RFC 2308, DOI 10.17487/RFC2308, March 1998, | NCACHE)", RFC 2308, DOI 10.17487/RFC2308, March 1998, | |||
| <https://www.rfc-editor.org/info/rfc2308>. | <https://www.rfc-editor.org/info/rfc2308>. | |||
| [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "DNS Security Introduction and Requirements", | Rose, "DNS Security Introduction and Requirements", | |||
| RFC 4033, DOI 10.17487/RFC4033, March 2005, | RFC 4033, DOI 10.17487/RFC4033, March 2005, | |||
| <https://www.rfc-editor.org/info/rfc4033>. | <https://www.rfc-editor.org/info/rfc4033>. | |||
| [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| End of changes. 24 change blocks. | ||||
| 43 lines changed or deleted | 71 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||