| < draft-ietf-dnsop-kskroll-sentinel-06.txt | draft-ietf-dnsop-kskroll-sentinel-07.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: September 6, 2018 W. Kumari | Expires: September 21, 2018 W. Kumari | |||
| March 5, 2018 | March 20, 2018 | |||
| A Sentinel for Detecting Trusted Keys in DNSSEC | A Sentinel for Detecting Trusted Keys in DNSSEC | |||
| draft-ietf-dnsop-kskroll-sentinel-06 | draft-ietf-dnsop-kskroll-sentinel-07 | |||
| 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 2, line 10 ¶ | skipping to change at page 2, line 10 ¶ | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 September 6, 2018. | This Internet-Draft will expire on September 21, 2018. | |||
| 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Protocol Walkthrough Example . . . . . . . . . . . . . . . . 3 | 2. Protocol Walkthrough Example . . . . . . . . . . . . . . . . 4 | |||
| 3. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 6 | 3. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 7 | |||
| 3.1. Preconditions . . . . . . . . . . . . . . . . . . . . . . 7 | 3.1. Preconditions . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.2. Special processing . . . . . . . . . . . . . . . . . . . 7 | 3.2. Special processing . . . . . . . . . . . . . . . . . . . 8 | |||
| 4. Processing Sentinel Results . . . . . . . . . . . . . . . . . 8 | 4. Processing Sentinel Results . . . . . . . . . . . . . . . . . 8 | |||
| 5. Sentinel Test Result Considerations . . . . . . . . . . . . . 10 | 5. Sentinel Test Result Considerations . . . . . . . . . . . . . 10 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 11 | 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 14 | 11.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 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 similar to a | from the RDATA portion of a DNSKEY RR using a formula similar to a | |||
| ones-complement checksum. RRSIG RRs contain a Key Tag field whose | ones-complement checksum. RRSIG RRs contain a Key Tag field whose | |||
| skipping to change at page 3, line 33 ¶ | skipping to change at page 3, line 33 ¶ | |||
| percentage of users who will be ready for an upcoming root KSK | percentage of users who will be ready for an upcoming root KSK | |||
| rollover | rollover | |||
| The mechanism described in this document meets both of these use | The mechanism described in this document meets both of these use | |||
| cases. This new mechanism is OPTIONAL to implement and use, although | cases. This new mechanism is OPTIONAL to implement and use, although | |||
| for reasons of supporting broad-based measurement techniques, it is | for reasons of supporting broad-based measurement techniques, it is | |||
| strongly preferred that configurations of DNSSEC-validating resolvers | strongly preferred that configurations of DNSSEC-validating resolvers | |||
| enabled this mechanism by default, allowing for local configuration | enabled this mechanism by default, allowing for local configuration | |||
| directives to disable this mechanism if desired. | directives to disable this mechanism if desired. | |||
| The sentinel test described in this document determines whether a | ||||
| user's browser or operating system looking up the special names that | ||||
| are used in this protocol would be able to validate using the root | ||||
| KSK indicated by the special names. The protocol uses the DNS | ||||
| SERVFAIL response code (RCODE 2) for this purpose because that is the | ||||
| response code that is returned by resolvers when DNSSEC validation | ||||
| fails. If a browser or operating system has multiple resolvers | ||||
| configured, and those resolvers have different properties (for | ||||
| example, one performs DNSSEC validation and one does not), the | ||||
| sentinel mechanism might search among the different resolvers, or | ||||
| might not, depending on how the browser or operating system is | ||||
| configured. | ||||
| 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. Protocol Walkthrough Example | 2. Protocol Walkthrough Example | |||
| [Ed note: This is currently towards the front of the document; we | [Ed note: This is currently towards the front of the document; we | |||
| will make it an appendix at publication time, but until then it is | will make it an appendix at publication time, but until then it is | |||
| skipping to change at page 4, line 37 ¶ | skipping to change at page 4, line 51 ¶ | |||
| example.com: | example.com: | |||
| invalid.example.com. IN AAAA 2001:db8::1 | invalid.example.com. IN AAAA 2001:db8::1 | |||
| kskroll-sentinel-is-ta-02323.example.com. IN AAAA 2001:db8::1 | kskroll-sentinel-is-ta-02323.example.com. IN AAAA 2001:db8::1 | |||
| kskroll-sentinel-not-ta-02323.example.com. IN AAAA 2001:db8::1 | kskroll-sentinel-not-ta-02323.example.com. IN AAAA 2001:db8::1 | |||
| Note that the use of "example.com" names and the addresses here are | Note that the use of "example.com" names and the addresses here are | |||
| examples. In a real deployment, the domain names need to be under | examples. In a real deployment, the domain names need to be under | |||
| control of the researcher, and the addresses much be real, reachable | control of the researcher, and the addresses must be real, reachable | |||
| addresses. | addresses. | |||
| Geoff then DNSSEC signs the example.com zone, and intentionally makes | Geoff then DNSSEC signs the example.com zone, and intentionally makes | |||
| the invalid.example.com record invalid/bogus (for example, by editing | the invalid.example.com record invalid/bogus (for example, by editing | |||
| the signed zone and entering garbage for the signature). Geoff also | the signed zone and entering garbage for the signature). Geoff also | |||
| configures his webserver to listen on 2001:db8::1 and serve a | configures his webserver to listen on 2001:db8::1 and serve a | |||
| resource (for example, a 1x1 GIF, 1x1.gif) for all of these names. | resource (for example, a 1x1 GIF, 1x1.gif) for all of these names. | |||
| The webserver also serves a webpage (www.example.com) which contains | The webserver also serves a webpage (www.example.com) which contains | |||
| links to these 3 resources (http://invalid.example.com/1x1.gif, | links to these 3 resources (http://invalid.example.com/1x1.gif, | |||
| http://kskroll-sentinel-is-ta-02323.example.com/1x1.gif, | http://kskroll-sentinel-is-ta-02323.example.com/1x1.gif, | |||
| skipping to change at page 8, line 5 ¶ | skipping to change at page 8, line 23 ¶ | |||
| trusted keys. An active key is one which could currently be used for | trusted keys. An active key is one which could currently be used for | |||
| validation (that is, a key that is not in either the AddPend or | validation (that is, a key that is not in either the AddPend or | |||
| Revoked state as described in [RFC5011]). | Revoked state as described in [RFC5011]). | |||
| Second, the resolver alters the response being sent to the original | Second, the resolver alters the response being sent to the original | |||
| query based on both the left-most label and the presence of a key | query based on both the left-most label and the presence of a key | |||
| with given Key Tag in the trust anchor store. Two labels and two | with given Key Tag in the trust anchor store. Two labels and two | |||
| possible states of the keytag generate four possible combinations | possible states of the keytag generate four possible combinations | |||
| summarized in the table: | summarized in the table: | |||
| | Key Tag is trusted | Key Tag is not trusted | Label | Key Tag is trusted | Key Tag 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 | ||||
| RCODE=SERVFAIL (value 2) and MUST empty the ANSWER section of the DNS | ||||
| response, ignoring all other documents which specify content of the | ||||
| ANSWER section. | ||||
| 4. Processing Sentinel Results | 4. Processing Sentinel Results | |||
| This proposed test that uses the sentinel detection mechanism | This proposed test that uses the sentinel detection mechanism | |||
| described in this document is based on the use of three DNS names | described in this document is based on the use of three DNS names | |||
| that have three distinct DNS resolution behaviours. The test is | that have three distinct DNS resolution behaviours. The test is | |||
| intended to allow a user or a third party to determine the state of | intended to allow a user or a third party to determine the state of | |||
| their DNS resolution system, and, in particular, whether or not they | their DNS resolution system, and, in particular, whether or not they | |||
| are using validating DNS resolvers that use a particular trust anchor | are using one or more validating DNS resolvers that use a particular | |||
| for the root zone. | trust anchor for the root zone. | |||
| The critical aspect of the DNS names used in this mechanism is that | The critical aspect of the DNS names used in this mechanism is that | |||
| they contain the specified label for either the positive and negative | they contain the specified label for either the positive and negative | |||
| test as the left-most label in the query name. | test as the left-most label in the query name. | |||
| The sentinel detection process uses a test with three query names: | The sentinel detection process uses a test with three query names: | |||
| o A query name containing the left-most label "kskroll-sentinel-is- | o A query name containing the left-most label "kskroll-sentinel-is- | |||
| ta-<key-tag>". This corresponds to a a validly-signed RRset in | ta-<key-tag>". This corresponds to a a validly-signed RRset in | |||
| the zone, so that responses associated with queried names in this | the zone, so that responses associated with queried names in this | |||
| skipping to change at page 8, line 43 ¶ | skipping to change at page 9, line 18 ¶ | |||
| ta-<key-tag>". This is also a validly-signed name. Any validly- | ta-<key-tag>". This is also a validly-signed name. Any validly- | |||
| signed DNS zone can be used for this test. | signed DNS zone can be used for this test. | |||
| o A query name that is signed with a DNSSEC signature that cannot be | o A query name that is signed with a DNSSEC signature that cannot be | |||
| validated (such as if the corresponding RRset is not signed with a | validated (such as if the corresponding RRset is not signed with a | |||
| valid RRSIG record). | valid RRSIG record). | |||
| The responses received from queries to resolve each of these names | The responses received from queries to resolve each of these names | |||
| would allow us to infer a trust key state of the resolution | would allow us to infer a trust key state of the resolution | |||
| environment. The techniques describes in this document rely on | environment. The techniques describes in this document rely on | |||
| (DNSSEC validating) resolvers responding with SERVFAIL (RCODE 2) to | (DNSSEC validating) resolvers responding with SERVFAIL to valid | |||
| valid answers. Note that a slew of other issues can also cause | answers. Note that a slew of other issues can also cause SERVFAIL | |||
| SERVFAIL responses, and so the sentinel processing may sometimes | responses, and so the sentinel processing may sometimes result in | |||
| result in incorrect conclusions. | incorrect conclusions. | |||
| To describe this process of classification, we can classify resolvers | To describe this process of classification, we can classify resolvers | |||
| into four distinct behavior types, for which we will use the labels: | into four distinct behavior types, for which we will use the labels: | |||
| "Vnew", "Vold", "Vleg", and "nonV". These labels correspond to | "Vnew", "Vold", "Vleg", and "nonV". These labels correspond to | |||
| resolver behaviour types as follows: | resolver behaviour types as follows: | |||
| Vnew: A DNSSEC-Validating resolver that is configured to implement | Vnew: A DNSSEC-Validating resolver that is configured to implement | |||
| this mechanism has loaded the nominated key into its local trusted | this mechanism has loaded the nominated key into its local trusted | |||
| key store will respond with an A or AAAA RRset response for | key store will respond with an A or AAAA RRset response for | |||
| "kskroll-sentinel-is-ta" queries, SERVFAIL for "kskroll-sentinel- | "kskroll-sentinel-is-ta" queries, SERVFAIL for "kskroll-sentinel- | |||
| skipping to change at page 10, line 12 ¶ | skipping to change at page 10, line 35 ¶ | |||
| trust anchors, and a "nonV" type indicates that the resolver does not | trust anchors, and a "nonV" type indicates that the resolver does not | |||
| perform DNSSEC validation. | perform DNSSEC validation. | |||
| 5. Sentinel Test Result Considerations | 5. Sentinel Test Result Considerations | |||
| The description in the previous section describes a simple situation | The description in the previous section describes a simple situation | |||
| where the test queries were being passed to a single recursive | where the test queries were being passed to a single recursive | |||
| resolver that directly queried authoritative name servers, including | resolver that directly queried authoritative name servers, including | |||
| the root servers. | the root servers. | |||
| There is also the common case where the end client is configured to | There is also the common case where the end client's browser or | |||
| use multiple resolvers. In these cases the SERVFAIL responses from | operating system is configured to use multiple resolvers. In these | |||
| one resolver will prompt the end client to repeat the query against | cases, a SERVFAIL response from one resolver may cause the end client | |||
| one of the other configured resolvers. | to repeat the query against one of the other configured resolvers. | |||
| If the client's browser or operating system does not try the | ||||
| additional resolvers, the sentinel test will effectively only be for | ||||
| the first resolver. | ||||
| If any of the client's resolvers are non-validating resolvers, the | If any of the client's resolvers are non-validating resolvers, the | |||
| tests will result in the client reporting that it has a non- | tests will result in the client reporting that it has a non- | |||
| validating DNS environment ("nonV"), which is effectively the case. | validating DNS environment ("nonV"), which is effectively the case. | |||
| If all of the client resolvers are DNSSEC-validating resolvers, but | If all of the client resolvers are DNSSEC-validating resolvers, but | |||
| some do not support this trusted key mechanism, then the result will | some do not support this trusted key mechanism, then the result will | |||
| be indeterminate with respect to trusted key status ("Vleg"). | be indeterminate with respect to trusted key status ("Vleg"). | |||
| Simlarly, if all the client's resolvers support this mechanism, but | Simlarly, if all the client's resolvers support this mechanism, but | |||
| some have loaded the key into the trusted key stash and some have | some have loaded the key into the trusted key stash and some have | |||
| skipping to change at page 10, line 37 ¶ | skipping to change at page 11, line 14 ¶ | |||
| There is also the common case of a recursive resolver using a | There is also the common case of a recursive resolver using a | |||
| forwarder. | forwarder. | |||
| If the resolver is non-validating, and it has a single forwarder | If the resolver is non-validating, and it has a single forwarder | |||
| clause, then the resolver will presumably mirror the capabilities of | clause, then the resolver will presumably mirror the capabilities of | |||
| the forwarder target resolver. If this non-validating resolver it | the forwarder target resolver. If this non-validating resolver it | |||
| has multiple forwarders, then the above considerations will apply. | has multiple forwarders, then the above considerations will apply. | |||
| If the validating resolver has a forwarding configuration, and uses | If the validating resolver has a forwarding configuration, and uses | |||
| the CD flag 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. The same | a manner that is identical to a standalone resolver. The same | |||
| consideration applies if any one one of the forwarder targets is a | consideration applies if any one of the forwarder targets is a non- | |||
| non-validating resolver. Similarly, if all the forwarder targets do | validating resolver. Similarly, if all the forwarder targets do not | |||
| not apply this trusted key mechanism, the same considerations apply. | apply this trusted key mechanism, the same considerations apply. | |||
| A more complex case is where all of the following conditions all | A more complex case is where all of the following conditions all | |||
| hold: | 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 | |||
| ("Vleg"), or a case of mixed signals (SERVFAIL in all three | ("Vleg"), or a case of mixed signals (SERVFAIL in all three | |||
| responses), which is similarly an indeterminate response with respect | responses), which is similarly an indeterminate response with respect | |||
| to the trusted key state. | to the trusted key state. | |||
| Please note that SERVFAIL might be cached according to [RFC2308] | ||||
| section 7 for up to 5 minutes and a positive answer for up to its | ||||
| TTL. | ||||
| 6. Security Considerations | 6. Security Considerations | |||
| This document describes a mechanism to allow users and third parties | This document describes a mechanism to allow users and third parties | |||
| to determine the trust state of root zone key signing keys in the DNS | to determine the trust state of root zone key signing keys in the DNS | |||
| resolution system that they use. | resolution system that they use. | |||
| The mechanism does not require resolvers to set otherwise | The mechanism does not require resolvers to set otherwise | |||
| unauthenticated responses to be marked as authenticated, and does not | unauthenticated responses to be marked as authenticated, and does not | |||
| alter the security properties of DNSSEC with respect to the | alter the security properties of DNSSEC with respect to the | |||
| interpretation of the authenticity of responses that are so marked. | interpretation of the authenticity of responses that are so marked. | |||
| skipping to change at page 12, line 9 ¶ | skipping to change at page 12, line 39 ¶ | |||
| 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, Andreas | George Michaelson, Benno Overeinder, Matthew Pounsett, Andreas | |||
| Schulze, Mukund Sivaraman, Petr Spacek, Andrew Sullivan, Paul Vixie, | Schulze, Mukund Sivaraman, Petr Spacek, Andrew Sullivan, Paul Vixie, | |||
| Duane Wessels and Paul Wouters for their helpful feedback. | Duane Wessels and 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. Petr | Wessels for providing comments in the form of a pull request. Petr | |||
| Specek implmented early versions of this technique into the Knot | Spacek implemented early versions of this technique into the Knot | |||
| resolver, identified a number of places where it wasn't clear, and | resolver, identified a number of places where it wasn't clear, and | |||
| provided very helpful text to address this. | provided very helpful text to address this. | |||
| 10. Change Log | 10. Change Log | |||
| 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 -07 to -06 | ||||
| o Addressed GitHub PR #14: Clarifications regarding caching and | ||||
| SERVFAIL responses | ||||
| o Addressed GitHub PR #12, #13: Clarify situation with multiple | ||||
| resolvers, Fix editorial nits. | ||||
| From -05 to -06: | From -05 to -06: | |||
| Paul improved my merging of Petr's text to make it more readable. | o Paul improved my merging of Petr's text to make it more readable. | |||
| Minor change, but this is just before the cut-off, so I wanted it | Minor change, but this is just before the cut-off, so I wanted it | |||
| maximally readable. | maximally readable. | |||
| From -04 to -05: | From -04 to -05: | |||
| o Incorporated Duane's #10 | o Incorporated Duane's #10 | |||
| o Integrated Petr Spacek's Issue - https://github.com/APNIC-Labs/ | o Integrated Petr Spacek's Issue - https://github.com/APNIC-Labs/ | |||
| draft-kskroll-sentinel/issues/9 (note that commit-log incorrectly | draft-kskroll-sentinel/issues/9 (note that commit-log incorrectly | |||
| referred to Duane's PR as number 9, it is actually 10). | referred to Duane's PR as number 9, it is actually 10). | |||
| skipping to change at page 13, line 45 ¶ | skipping to change at page 14, line 35 ¶ | |||
| 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 | |||
| [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS | ||||
| NCACHE)", RFC 2308, DOI 10.17487/RFC2308, March 1998, | ||||
| <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", RFC | Rose, "DNS Security Introduction and Requirements", RFC | |||
| 4033, DOI 10.17487/RFC4033, March 2005, <https://www.rfc- | 4033, DOI 10.17487/RFC4033, March 2005, <https://www.rfc- | |||
| editor.org/info/rfc4033>. | 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. | |||
| Rose, "Resource Records for the DNS Security Extensions", | Rose, "Resource Records for the DNS Security Extensions", | |||
| RFC 4034, DOI 10.17487/RFC4034, March 2005, | RFC 4034, DOI 10.17487/RFC4034, March 2005, | |||
| <https://www.rfc-editor.org/info/rfc4034>. | <https://www.rfc-editor.org/info/rfc4034>. | |||
| End of changes. 23 change blocks. | ||||
| 32 lines changed or deleted | 70 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/ | ||||