| < draft-ietf-dnsop-kskroll-sentinel-04.txt | draft-ietf-dnsop-kskroll-sentinel-05.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 1, 2018 W. Kumari | Expires: September 6, 2018 W. Kumari | |||
| February 28, 2018 | March 5, 2018 | |||
| A Sentinel for Detecting Trusted Keys in DNSSEC | A Sentinel for Detecting Trusted Keys in DNSSEC | |||
| draft-ietf-dnsop-kskroll-sentinel-04 | draft-ietf-dnsop-kskroll-sentinel-05 | |||
| 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 1, 2018. | This Internet-Draft will expire on September 6, 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 | |||
| skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
| 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 . . . . . . . . . . . . . . . . 3 | |||
| 3. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 6 | 3. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 6 | |||
| 3.1. Preconditions . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
| 3.2. Special processing . . . . . . . . . . . . . . . . . . . 7 | ||||
| 4. Processing Sentinel Results . . . . . . . . . . . . . . . . . 8 | 4. Processing Sentinel Results . . . . . . . . . . . . . . . . . 8 | |||
| 5. Sentinel Test Result Considerations . . . . . . . . . . . . . 9 | 5. Sentinel Test Result Considerations . . . . . . . . . . . . . 10 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 11 | 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 13 | 11.2. Informative References . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 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 | |||
| skipping to change at page 4, line 4 ¶ | skipping to change at page 4, line 6 ¶ | |||
| easier to understand ] | easier to understand ] | |||
| This section provides a non-normative example of how the sentinel | This section provides a non-normative example of how the sentinel | |||
| mechanism could be used, and what each participant does. It is | mechanism could be used, and what each participant does. It is | |||
| provided in a conversational tone to be easier to follow. | provided in a conversational tone to be easier to follow. | |||
| Alice is in charge of the DNS root KSK (Key Signing Key), and would | Alice is in charge of the DNS root KSK (Key Signing Key), and would | |||
| like to roll / replace the key with a new one. She publishes the new | like to roll / replace the key with a new one. She publishes the new | |||
| KSK, but would like to be able to predict / measure what the impact | KSK, but would like to be able to predict / measure what the impact | |||
| will be before removing/revoking the old key. The current KSK has a | will be before removing/revoking the old key. The current KSK has a | |||
| key ID of 11112, the new KSK has a key ID of 02323. Users want to | Key Tag of 11112, the new KSK has a Key Tag of 02323. Users want to | |||
| verify that their resolver will not break after Alice rolls the root | verify that their resolver will not break after Alice rolls the root | |||
| KSK key (that is, starts signing with just the KSK whose key ID is | KSK key (that is, starts signing with just the KSK whose Key Tag is | |||
| 02323). | 02323). | |||
| Bob, Charlie, Dave, Ed are all users. They use the DNS recursive | Bob, Charlie, Dave, Ed are all users. They use the DNS recursive | |||
| resolvers supplied by their ISPs. They would like to confirm that | resolvers supplied by their ISPs. They would like to confirm that | |||
| their ISPs have picked up the new KSK. Bob's ISP does not perform | their ISPs have picked up the new KSK. Bob's ISP does not perform | |||
| validation. Charlie's ISP does validate, but the resolvers have not | validation. Charlie's ISP does validate, but the resolvers have not | |||
| yet been upgraded to support this mechanism. Dave and Ed's resolvers | yet been upgraded to support this mechanism. Dave and Ed's resolvers | |||
| have been upgraded to support this mechanism; Dave's resolver has the | have been upgraded to support this mechanism; Dave's resolver has the | |||
| new KSK, Ed's resolver hasn't managed to install the 02323 KSK in its | new KSK, Ed's resolver hasn't managed to install the 02323 KSK in its | |||
| trust store yet. | trust store yet. | |||
| skipping to change at page 5, line 28 ¶ | skipping to change at page 5, line 30 ¶ | |||
| this resolver is using. | this resolver is using. | |||
| Dave's resolvers implement the sentinel method, and have picked up | Dave's resolvers implement the sentinel method, and have picked up | |||
| the new KSK. For the same reason as Charlie, he cannot fetch the | the new KSK. For the same reason as Charlie, he cannot fetch the | |||
| "invalid" resource. His resolver resolves the kskroll-sentinel-is- | "invalid" resource. His resolver resolves the kskroll-sentinel-is- | |||
| ta-02323.example.com name normally (it contacts the example.com | ta-02323.example.com name normally (it contacts the example.com | |||
| authoritative servers, etc); as it supports the sentinel mechanism, | authoritative servers, etc); as it supports the sentinel mechanism, | |||
| just before Dave's recursive server send the reply to Dave's stub, it | just before Dave's recursive server send the reply to Dave's stub, it | |||
| performs the KSK Sentinel check (see below). The QNAME starts with | performs the KSK Sentinel check (see below). The QNAME starts with | |||
| "kskroll-sentinel-is-ta-", and the recursive resolver does indeed | "kskroll-sentinel-is-ta-", and the recursive resolver does indeed | |||
| have a key with the Key ID of 02323 in its root trust store. This | have a key with the Key Tag of 02323 in its root trust store. This | |||
| means that that this part of the KSK Sentinel check passes (it is | means that that this part of the KSK Sentinel check passes (it is | |||
| true that Key ID 02323 is in the trust anchor store), and the | true that Key Tag 02323 is in the trust anchor store), and the | |||
| recursive resolver replies normally (with the answer provided by the | recursive resolver replies normally (with the answer provided by the | |||
| authoritative server). Dave's recursive resolver then resolves the | authoritative server). Dave's recursive resolver then resolves the | |||
| kskroll-sentinel-not-ta-02323.example.com name. Once again, it | kskroll-sentinel-not-ta-02323.example.com name. Once again, it | |||
| performs the normal resolution process, but because it implements KSK | performs the normal resolution process, but because it implements KSK | |||
| Sentinel (and the QNAME starts with "kskroll-sentinel-not-ta-"), just | Sentinel (and the QNAME starts with "kskroll-sentinel-not-ta-"), just | |||
| before sending the reply, it performs the KSK Sentinel check. As it | before sending the reply, it performs the KSK Sentinel check. As it | |||
| has 02323 in it's trust anchor store, the answer to "is this *not* a | has 02323 in it's trust anchor store, the answer to "is this *not* a | |||
| trust anchor" is false, and so the recursive resolver does not reply | trust anchor" is false, and so the recursive resolver does not reply | |||
| with the answer from the authoritative server - instead, it replies | with the answer from the authoritative server - instead, it replies | |||
| with a SERVFAIL (note that replying with SERVFAIL instead of the | with a SERVFAIL (note that replying with SERVFAIL instead of the | |||
| skipping to change at page 6, line 41 ¶ | skipping to change at page 6, line 44 ¶ | |||
| relies on resolvers reporting the list of keys that they have to root | relies on resolvers reporting the list of keys that they have to root | |||
| servers. That reflects on how many resolvers will be impacted by a | servers. That reflects on how many resolvers will be impacted by a | |||
| KSK roll, but not what the user impact of the KSK roll will be. | KSK roll, but not what the user impact of the KSK roll will be. | |||
| 3. Sentinel Mechanism in Resolvers | 3. Sentinel Mechanism in Resolvers | |||
| DNSSEC-Validating resolvers that implement this mechanism MUST be | DNSSEC-Validating resolvers that implement this mechanism MUST be | |||
| performing validation of responses in accordance with the DNSSEC | performing 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. The | This sentinel mechanism makes use of two special labels: | |||
| "kskroll-sentinel-is-ta-<key-tag>" label is used in a query where the | ||||
| response can answer whether this the Key Tag of a trust anchor which | o kskroll-sentinel-is-ta-<key-tag> | |||
| the validating DNS resolver is currently trusting. The "kskroll- | ||||
| sentinel-not-ta-<key-tag>" label is used in a query where the | o kskroll-sentinel-not-ta-<key-tag> | |||
| response can answer whether this the Key Tag of a trust anchor that | Note that the <key-tag> is specified in the DNS label as unsigned | |||
| is NOT in currently trusting. | decimal integer (as described in [RFC4034], section 5.3), but zero- | |||
| padded to five digits (i.e: 42 would be represented as 00042). | ||||
| These labels trigger special processing in the resolver as specified | ||||
| bellow. The labels containing "is-ta" and "not-ta" are used to | ||||
| answer questions "Is (or is not, respectivaly) this the key tag a | ||||
| trust anchor which the validating DNS resolver is currently | ||||
| trusting?" Processing of both labels has the very same preconditions | ||||
| for both labels and differs only in last step. | ||||
| The use of the positive question and its inverse allows for queries | The use of the positive question and its inverse allows for queries | |||
| to detect whether resolvers support this sentinel mechanism. Note | to detect whether resolvers support this sentinel mechanism. | |||
| that the test is "Is there an active key with this KeyID in the | ||||
| resolver's current trust store for the DNS root?", not "Is there any | ||||
| key with this KeyID in the trust store", nor "Was a key with this | ||||
| KeyID used to validate this query?". An active key is one which | ||||
| could currently be used for validation (that is, a key that is not in | ||||
| either the AddPend or Revoked state as described in [RFC5011]). | ||||
| If the outcome of the DNSSEC validation process on the response | 3.1. Preconditions | |||
| indicates that the response is authentic, and if the left-most label | ||||
| of the original query name matches the template "kskroll-sentinel-is- | ||||
| ta-<key-tag>.", then the following rule should be applied to the | ||||
| response: If the resolver has placed a root zone KSK with Key Tag | ||||
| value matching the value specified in the query into the local | ||||
| resolver's store of trusted keys, then the resolver should return a | ||||
| response indicating that the response contains authenticated data | ||||
| according to section 5.8 of [RFC6840]. Otherwise, the resolver MUST | ||||
| return RCODE 2 (server failure). Note that the <tag-index> is | ||||
| specified in the DNS label using decimal notation (as described in | ||||
| [RFC4034], section 5.3), zero-padded to five digits. | ||||
| If the outcome of the DNSSEC validation process applied to the | All of the following conditions must be met to trigger special | |||
| response indicates that the response is authentic, and if the left- | processing inside resolver code: | |||
| most label of the original query name matches the template "kskroll- | ||||
| sentinel-not-ta-<key-tag>.", then the following rule should be | ||||
| applied to the response: If the resolver has not placed a root zone | ||||
| KSK with Key Tag value matching the value specified in the query into | ||||
| the local resolver's store of trusted keys, then the resolver should | ||||
| return a response indicating that the response contains authenticated | ||||
| data according to section 5.8 of [RFC6840]. Otherwise, the resolver | ||||
| MUST return RCODE 2 (server failure). Note that the <key-tag> is | ||||
| specified in the DNS label using decimal notation. | ||||
| In all other cases the resolver MUST NOT alter the outcome of the DNS | a. DNS response for particular query is DNSSEC validated and result | |||
| response validation process. | of validation is SECURE. | |||
| This mechanism is to be applied only by resolvers that are performing | b. QTYPE is A or AAAA (Query Type value 1 or 28) | |||
| DNSSEC validation, and applies only to responses to queries for A or | ||||
| AAAA records (Query Type value 1 or 28) where the resolver has | c. The OPCODE is QUERY | |||
| authenticated the response according to the DNSSEC validation process | ||||
| and where the query name contains either of the labels described in | d. The leftmost label of the QNAME is either "kskroll-sentinel-is- | |||
| this section as its left-most label. In this case, the resolver is | ta-<tag-index>" or "kskroll-sentinel-not-ta-<tag-index>" | |||
| to perform an additional test following the conventional validation | ||||
| function, as described in this section. The result of this | If all preconditions are not met, the resolver MUST NOT alter the DNS | |||
| additional test determines whether the resolver will alter its | response. | |||
| response that would have indicated that the RRset is authentic to a | ||||
| response that indicates DNSSEC validation failure via the use of | 3.2. Special processing | |||
| RCODE 2. | ||||
| Responses which fullfill all preconditions in section 3.1 are subject | ||||
| of special processing, depending on leftmost label of the QNAME. | ||||
| First, the resolver determines if the numerical value of <key-tag> is | ||||
| equal to any of the key tags of an active Root Zone Key Signing Key | ||||
| which is currently trusted by the local resolver and is stored in its | ||||
| store of 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 Revoked state as described in [RFC5011]). | ||||
| As second step, the resolver alters response depending on meaning of | ||||
| the label and presence of key with given keytag among trusted keys. | ||||
| Two labels and two possible states of the keytag generate four | ||||
| possible combinations summarized in the table: | ||||
| Keytag trusted | ||||
| label type | yes | no | ||||
| -------------------------------------------------------------- | ||||
| is-ta | return original answer | return SERVFAIL | ||||
| not-ta | return SERVFAIL | return original answer | ||||
| 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 validating DNS resolvers that use a particular trust anchor | |||
| for the root zone. | 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 | |||
| zone can be authenticated by a DNSSEC-validating resolver. Any | zone can be authenticated by a DNSSEC-validating resolver. Any | |||
| validly-signed DNS zone can be used for this test. | validly-signed DNS zone can be used for this test. | |||
| o A query name containing the left-most label "kskroll-sentinel-not- | o A query name containing the left-most label "kskroll-sentinel-not- | |||
| 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 (RCODE 2) to | |||
| skipping to change at page 11, line 28 ¶ | skipping to change at page 11, line 31 ¶ | |||
| The mechanism does not require any further significant processing of | The mechanism does not require any further significant processing of | |||
| DNS responses, and queries of the form described in this document do | DNS responses, and queries of the form described in this document do | |||
| not impose any additional load that could be exploited in an attack | not impose any additional load that could be exploited in an attack | |||
| over the the normal DNSSEC validation processing load. | over the the normal DNSSEC validation processing load. | |||
| 7. Privacy Considerations | 7. Privacy Considerations | |||
| The mechansim in this document enables third parties (with either | The mechansim in this document enables third parties (with either | |||
| good or bad intentions) to learn something about the security | good or bad intentions) to learn something about the security | |||
| configuration of recursive name servers. That is, someone who can | configuration of recursive name servers. That is, someone who can | |||
| cause an Internet user to open a web page can then determine whether | cause an Internet user to make specific DNS queries (e.g. via web- | |||
| the resolver that that user has configured might fail during a root | based advertisements or javascript in web pages), can then determine | |||
| key rollover. | which trust anchors are configured in the user's resolver. | |||
| 8. IANA Considerations | 8. IANA Considerations | |||
| [Note to IANA, to be removed prior to publication: there are no IANA | [Note to IANA, to be removed prior to publication: there are no IANA | |||
| considerations stated in this version of the document.] | 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 | |||
| skipping to change at page 12, line 5 ¶ | skipping to change at page 12, line 7 ¶ | |||
| 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, 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 for | The authors would like to especially call out Paul Hoffman and Duane | |||
| providing comments in the form of a pull request. | Wessels for providing comments in the form of a pull request. Petr | |||
| Specek implmented early versions of this technique into the Knot | ||||
| resolver, identified a number of places where it wasn't clear, and | ||||
| provided very helpful text to address this. | ||||
| 10. Change Log | 10. Change Log | |||
| 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 -04 to -05: | ||||
| o Incorporated Duane's #10 | ||||
| o Integrated Petr Spacek's Issue - https://github.com/APNIC-Labs/ | ||||
| draft-kskroll-sentinel/issues/9 (note that commit-log incorrectly | ||||
| referred to Duane's PR as number 9, it is actually 10). | ||||
| From -03 to -04: | From -03 to -04: | |||
| o Addressed GitHub pull requests #4, #5, #6, #7 #8. | o Addressed GitHub pull requests #4, #5, #6, #7 #8. | |||
| o Added Duane's privacy concerns | o Added Duane's privacy concerns | |||
| o Makes the use cases clearer | o Makes the use cases clearer | |||
| o Fixed some A/AAAA stuff | o Fixed some A/AAAA stuff | |||
| o Changed the example numbers | o Changed the example numbers | |||
| o Made it clear that names and addresses must be real | o Made it clear that names and addresses must be real | |||
| From -02 to -03: | From -02 to -03: | |||
| o Integrated / published comments from Paul in GitHub PR #2 - | o Integrated / published comments from Paul in GitHub PR #2 - | |||
| https://github.com/APNIC-Labs/draft-kskroll-sentinel/pull/2 | https://github.com/APNIC-Labs/draft-kskroll-sentinel/pull/2 | |||
| o Made the keytab be decimal, not hex (thread / consensus in | o Made the keytag be decimal, not hex (thread / consensus in | |||
| https://mailarchive.ietf.org/arch/msg/dnsop/ | https://mailarchive.ietf.org/arch/msg/dnsop/ | |||
| Kg7AtDhFRNw31He8n0_bMr9hBuE ) | Kg7AtDhFRNw31He8n0_bMr9hBuE ) | |||
| From -01 to 02: | From -01 to 02: | |||
| o Removed Address Record definition. | o Removed Address Record definition. | |||
| o Clarified that many things can cause SERVFAIL. | o Clarified that many things can cause SERVFAIL. | |||
| o Made examples FQDN. | o Made examples FQDN. | |||
| End of changes. 23 change blocks. | ||||
| 69 lines changed or deleted | 84 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/ | ||||