idnits 2.17.00 (12 Aug 2021) /tmp/idnits14060/draft-ietf-dnsop-kskroll-sentinel-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 28, 2018) is 1543 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DNSOP G. Huston 3 Internet-Draft J. Damas 4 Intended status: Standards Track APNIC 5 Expires: September 1, 2018 W. Kumari 6 Google 7 February 28, 2018 9 A Sentinel for Detecting Trusted Keys in DNSSEC 10 draft-ietf-dnsop-kskroll-sentinel-04 12 Abstract 14 The DNS Security Extensions (DNSSEC) were developed to provide origin 15 authentication and integrity protection for DNS data by using digital 16 signatures. These digital signatures can be verified by building a 17 chain of trust starting from a trust anchor and proceeding down to a 18 particular node in the DNS. This document specifies a mechanism that 19 will allow an end user and third parties to determine the trusted key 20 state for the root key of the resolvers that handle that user's DNS 21 queries. Note that this method is only applicable for determing 22 which keys are in the trust store for the root key. 24 There is an example / toy implementation of this at http://www.ksk- 25 test.net . 27 [ This document is being collaborated on in Github at: 28 https://github.com/APNIC-Labs/draft-kskroll-sentinel. The most 29 recent version of the document, open issues, etc should all be 30 available here. The authors (gratefully) accept pull requests. Text 31 in square brackets will be removed before publication. ] 33 [ NOTE: This version uses the labels "kskroll-sentinel-is-ta-", "kskroll-sentinel-not-ta-"; older versions of this 35 document used "_is-ta-", "_not-ta-". Also note 36 that the format of the tag-index is now zero-filled decimal. 37 Apolgies to those who have began implmenting.] 39 Status of This Memo 41 This Internet-Draft is submitted in full conformance with the 42 provisions of BCP 78 and BCP 79. 44 Internet-Drafts are working documents of the Internet Engineering 45 Task Force (IETF). Note that other groups may also distribute 46 working documents as Internet-Drafts. The list of current Internet- 47 Drafts is at http://datatracker.ietf.org/drafts/current/. 49 Internet-Drafts are draft documents valid for a maximum of six months 50 and may be updated, replaced, or obsoleted by other documents at any 51 time. It is inappropriate to use Internet-Drafts as reference 52 material or to cite them other than as "work in progress." 54 This Internet-Draft will expire on September 1, 2018. 56 Copyright Notice 58 Copyright (c) 2018 IETF Trust and the persons identified as the 59 document authors. All rights reserved. 61 This document is subject to BCP 78 and the IETF Trust's Legal 62 Provisions Relating to IETF Documents 63 (http://trustee.ietf.org/license-info) in effect on the date of 64 publication of this document. Please review these documents 65 carefully, as they describe your rights and restrictions with respect 66 to this document. Code Components extracted from this document must 67 include Simplified BSD License text as described in Section 4.e of 68 the Trust Legal Provisions and are provided without warranty as 69 described in the Simplified BSD License. 71 Table of Contents 73 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 74 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 75 2. Protocol Walkthrough Example . . . . . . . . . . . . . . . . 3 76 3. Sentinel Mechanism in Resolvers . . . . . . . . . . . . . . . 6 77 4. Processing Sentinel Results . . . . . . . . . . . . . . . . . 8 78 5. Sentinel Test Result Considerations . . . . . . . . . . . . . 9 79 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 80 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 11 81 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 82 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 83 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 84 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 85 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 86 11.2. Informative References . . . . . . . . . . . . . . . . . 13 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 89 1. Introduction 91 The DNS Security Extensions (DNSSEC) [RFC4033], [RFC4034] and 92 [RFC4035] were developed to provide origin authentication and 93 integrity protection for DNS data by using digital signatures. 94 DNSSEC uses Key Tags to efficiently match signatures to the keys from 95 which they are generated. The Key Tag is a 16-bit value computed 96 from the RDATA portion of a DNSKEY RR using a formula similar to a 97 ones-complement checksum. RRSIG RRs contain a Key Tag field whose 98 value is equal to the Key Tag of the DNSKEY RR that validates the 99 signature. 101 This document specifies how validating resolvers can respond to 102 certain queries in a manner that allows a querier to deduce whether a 103 particular key for the root has been loaded into that resolver's 104 trusted key store. In particular, this response mechanism can be 105 used to determine whether a certain root zone KSK is ready to be used 106 as a trusted key within the context of a key roll by this resolver. 108 There are two primary use cases for this mechanism: 110 o Users want to know whether the resolvers they use are ready for an 111 upcoming root KSK rollover 113 o Researchers want to perform Internet-wide studies about the 114 percentage of users who will be ready for an upcoming root KSK 115 rollover 117 The mechanism described in this document meets both of these use 118 cases. This new mechanism is OPTIONAL to implement and use, although 119 for reasons of supporting broad-based measurement techniques, it is 120 strongly preferred that configurations of DNSSEC-validating resolvers 121 enabled this mechanism by default, allowing for local configuration 122 directives to disable this mechanism if desired. 124 1.1. Terminology 126 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 127 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 128 document are to be interpreted as described in RFC 2119. 130 2. Protocol Walkthrough Example 132 [Ed note: This is currently towards the front of the document; we 133 will make it an appendix at publication time, but until then it is 134 worth having up front, as it makes the rest of the document much 135 easier to understand ] 137 This section provides a non-normative example of how the sentinel 138 mechanism could be used, and what each participant does. It is 139 provided in a conversational tone to be easier to follow. 141 Alice is in charge of the DNS root KSK (Key Signing Key), and would 142 like to roll / replace the key with a new one. She publishes the new 143 KSK, but would like to be able to predict / measure what the impact 144 will be before removing/revoking the old key. The current KSK has a 145 key ID of 11112, the new KSK has a key ID of 02323. Users want to 146 verify that their resolver will not break after Alice rolls the root 147 KSK key (that is, starts signing with just the KSK whose key ID is 148 02323). 150 Bob, Charlie, Dave, Ed are all users. They use the DNS recursive 151 resolvers supplied by their ISPs. They would like to confirm that 152 their ISPs have picked up the new KSK. Bob's ISP does not perform 153 validation. Charlie's ISP does validate, but the resolvers have not 154 yet been upgraded to support this mechanism. Dave and Ed's resolvers 155 have been upgraded to support this mechanism; Dave's resolver has the 156 new KSK, Ed's resolver hasn't managed to install the 02323 KSK in its 157 trust store yet. 159 Geoff is a researcher, and would like to both provide a means for 160 Bob, Charlie, Dave and Ed to be able to perform tests, and also would 161 like to be able to perform Internet-wide measurements of what the 162 impact will be (and report this back to Alice). 164 Geoff sets an authoritative DNS server for example.com, and also a 165 webserver (www.example.com). He adds three address records to 166 example.com: 168 invalid.example.com. IN AAAA 2001:db8::1 170 kskroll-sentinel-is-ta-02323.example.com. IN AAAA 2001:db8::1 172 kskroll-sentinel-not-ta-02323.example.com. IN AAAA 2001:db8::1 174 Note that the use of "example.com" names and the addresses here are 175 examples. In a real deployment, the domain names need to be under 176 control of the researcher, and the addresses much be real, reachable 177 addresses. 179 Geoff then DNSSEC signs the example.com zone, and intentionally makes 180 the invalid.example.com record invalid/bogus (for example, by editing 181 the signed zone and entering garbage for the signature). Geoff also 182 configures his webserver to listen on 2001:db8::1 and serve a 183 resource (for example, a 1x1 GIF, 1x1.gif) for all of these names. 184 The webserver also serves a webpage (www.example.com) which contains 185 links to these 3 resources (http://invalid.example.com/1x1.gif, 186 http://kskroll-sentinel-is-ta-02323.example.com/1x1.gif, 187 http://kskroll-sentinel-not-ta-02323.example.com/1x1.gif). 189 Geoff then asks Bob, Charlie, Dave and Ed to browse to 190 www.example.com. Using the methods described in this document, the 191 users can figure out what their fate will be when the 11112 KSK is 192 removed. 194 Bob is not using a validating resolver. This means that he will be 195 able to resolve invalid.example.com (and fetch the 1x1 GIF) - this 196 tells him that the KSK roll does not affect him, and so he will be 197 OK. 199 Charlie's resolvers are validating, but they have not been upgraded 200 to support the KSK sentinel mechanism. Charlie will not be able to 201 fetch the http://invalid.example.com/1x1.gif resource (the 202 invalid.example.com record is bogus, and none of his resolvers will 203 resolve it). He is able to fetch both of the other resources - from 204 this he knows (see the logic below) that he is using legacy, 205 validating resolvers. The KSK sentinel method cannot provided him 206 with a definitive answer to the question of what root trust anchors 207 this resolver is using. 209 Dave's resolvers implement the sentinel method, and have picked up 210 the new KSK. For the same reason as Charlie, he cannot fetch the 211 "invalid" resource. His resolver resolves the kskroll-sentinel-is- 212 ta-02323.example.com name normally (it contacts the example.com 213 authoritative servers, etc); as it supports the sentinel mechanism, 214 just before Dave's recursive server send the reply to Dave's stub, it 215 performs the KSK Sentinel check (see below). The QNAME starts with 216 "kskroll-sentinel-is-ta-", and the recursive resolver does indeed 217 have a key with the Key ID of 02323 in its root trust store. This 218 means that that this part of the KSK Sentinel check passes (it is 219 true that Key ID 02323 is in the trust anchor store), and the 220 recursive resolver replies normally (with the answer provided by the 221 authoritative server). Dave's recursive resolver then resolves the 222 kskroll-sentinel-not-ta-02323.example.com name. Once again, it 223 performs the normal resolution process, but because it implements KSK 224 Sentinel (and the QNAME starts with "kskroll-sentinel-not-ta-"), just 225 before sending the reply, it performs the KSK Sentinel check. As it 226 has 02323 in it's trust anchor store, the answer to "is this *not* a 227 trust anchor" is false, and so the recursive resolver does not reply 228 with the answer from the authoritative server - instead, it replies 229 with a SERVFAIL (note that replying with SERVFAIL instead of the 230 original answer is the only mechanism that KSK Sentinel uses). This 231 means that Dave cannot fetch "invalid", he can fetch "kskroll- 232 sentinel-is-ta-02323", but he cannot fetch "kskroll-sentinel-not-ta- 233 02323". From this, Dave knows that he is behind an upgraded, 234 validating resolver, which has successfully installed the new, 02323 235 KSK. 237 Just like Charlie and Dave, Ed cannot fetch the "invalid" record. 238 This tells him that his resolvers are validating. When his 239 (upgraded) resolver performs the KSK Sentinel check for "kskroll- 240 sentinel-is-ta-02323", it does *not* have the (new, 02323) KSK in 241 it's trust anchor store. This means check fails, and Ed's recursive 242 resolver converts the (valid) answer into a SERVFAIL error response. 243 It performs the same check for kskroll-sentinel-not-ta- 244 02323.example.com; as it does not have the 02323 KSK, it is true that 245 this is not a trust anchor for it, and so it replies normally. This 246 means that Ed cannot fetch the "invalid" resource, he also cannot 247 fetch the "kskroll-sentinel-is-ta-02323" resource, but he can fetch 248 the "kskroll-sentinel-not-ta-02323" resource. This tells Ed that his 249 resolvers have not installed the new KSK. 251 Geoff would like to do a large scale test and provide the information 252 back to Alice. He uses some mechanism such as causing users to go to 253 a web page to cause a large number of users to attempt to resolve the 254 three resources, and then analyzes the results of the tests to 255 determine what percentage of users will be affected by the KSK 256 rollover event. 258 The above description is a simplified example - it is not anticipated 259 that Bob, Charlie, Dave and Ed will actually look for the absence or 260 presence of web resources; instead, the webpage that they load would 261 likely contain JavaScript (or similar) which displays the result of 262 the tests, sends the results to Geoff, or both. This sentinel 263 mechanism does not rely on the web: it can equally be used by trying 264 to resolve the names (for example, using the common "dig" command) 265 and checking which result in a SERVFAIL. 267 Note that the sentinel mechanism described here measures a very 268 different (and likely more useful) metric than [RFC8145]. RFC 8145 269 relies on resolvers reporting the list of keys that they have to root 270 servers. That reflects on how many resolvers will be impacted by a 271 KSK roll, but not what the user impact of the KSK roll will be. 273 3. Sentinel Mechanism in Resolvers 275 DNSSEC-Validating resolvers that implement this mechanism MUST be 276 performing validation of responses in accordance with the DNSSEC 277 response validation specification [RFC4035]. 279 This sentinel mechanism makes use of two special labels. The 280 "kskroll-sentinel-is-ta-" label is used in a query where the 281 response can answer whether this the Key Tag of a trust anchor which 282 the validating DNS resolver is currently trusting. The "kskroll- 283 sentinel-not-ta-" label is used in a query where the 284 response can answer whether this the Key Tag of a trust anchor that 285 is NOT in currently trusting. 287 The use of the positive question and its inverse allows for queries 288 to detect whether resolvers support this sentinel mechanism. Note 289 that the test is "Is there an active key with this KeyID in the 290 resolver's current trust store for the DNS root?", not "Is there any 291 key with this KeyID in the trust store", nor "Was a key with this 292 KeyID used to validate this query?". An active key is one which 293 could currently be used for validation (that is, a key that is not in 294 either the AddPend or Revoked state as described in [RFC5011]). 296 If the outcome of the DNSSEC validation process on the response 297 indicates that the response is authentic, and if the left-most label 298 of the original query name matches the template "kskroll-sentinel-is- 299 ta-.", then the following rule should be applied to the 300 response: If the resolver has placed a root zone KSK with Key Tag 301 value matching the value specified in the query into the local 302 resolver's store of trusted keys, then the resolver should return a 303 response indicating that the response contains authenticated data 304 according to section 5.8 of [RFC6840]. Otherwise, the resolver MUST 305 return RCODE 2 (server failure). Note that the is 306 specified in the DNS label using decimal notation (as described in 307 [RFC4034], section 5.3), zero-padded to five digits. 309 If the outcome of the DNSSEC validation process applied to the 310 response indicates that the response is authentic, and if the left- 311 most label of the original query name matches the template "kskroll- 312 sentinel-not-ta-.", then the following rule should be 313 applied to the response: If the resolver has not placed a root zone 314 KSK with Key Tag value matching the value specified in the query into 315 the local resolver's store of trusted keys, then the resolver should 316 return a response indicating that the response contains authenticated 317 data according to section 5.8 of [RFC6840]. Otherwise, the resolver 318 MUST return RCODE 2 (server failure). Note that the is 319 specified in the DNS label using decimal notation. 321 In all other cases the resolver MUST NOT alter the outcome of the DNS 322 response validation process. 324 This mechanism is to be applied only by resolvers that are performing 325 DNSSEC validation, and applies only to responses to queries for A or 326 AAAA records (Query Type value 1 or 28) where the resolver has 327 authenticated the response according to the DNSSEC validation process 328 and where the query name contains either of the labels described in 329 this section as its left-most label. In this case, the resolver is 330 to perform an additional test following the conventional validation 331 function, as described in this section. The result of this 332 additional test determines whether the resolver will alter its 333 response that would have indicated that the RRset is authentic to a 334 response that indicates DNSSEC validation failure via the use of 335 RCODE 2. 337 4. Processing Sentinel Results 339 This proposed test that uses the sentinel detection mechanism 340 described in this document is based on the use of three DNS names 341 that have three distinct DNS resolution behaviours. The test is 342 intended to allow a user or a third party to determine the state of 343 their DNS resolution system, and, in particular, whether or not they 344 are using validating DNS resolvers that use a particular trust anchor 345 for the root zone. 347 The critical aspect of the DNS names used in this mechanism is that 348 they contain the specified label for either the positive and negative 349 test as the left-most label in the query name. 351 The sentinel detection process uses a test with three query names: 353 o A query name containing the left-most label "kskroll-sentinel-is- 354 ta-.". This corresponds to a a validly-signed RRset in 355 the zone, so that responses associated with queried names in this 356 zone can be authenticated by a DNSSEC-validating resolver. Any 357 validly-signed DNS zone can be used for this test. 359 o A query name containing the left-most label "kskroll-sentinel-not- 360 ta-.". This is also a validly-signed name. Any validly- 361 signed DNS zone can be used for this test. 363 o A query name that is signed with a DNSSEC signature that cannot be 364 validated (such as if the corresponding RRset is not signed with a 365 valid RRSIG record). 367 The responses received from queries to resolve each of these names 368 would allow us to infer a trust key state of the resolution 369 environment. The techniques describes in this document rely on 370 (DNSSEC validating) resolvers responding with SERVFAIL (RCODE 2) to 371 valid answers. Note that a slew of other issues can also cause 372 SERVFAIL responses, and so the sentinel processing may sometimes 373 result in incorrect conclusions. 375 To describe this process of classification, we can classify resolvers 376 into four distinct behavior types, for which we will use the labels: 377 "Vnew", "Vold", "Vleg", and "nonV". These labels correspond to 378 resolver behaviour types as follows: 380 Vnew: A DNSSEC-Validating resolver that is configured to implement 381 this mechanism has loaded the nominated key into its local trusted 382 key store will respond with an A or AAAA RRset response for 383 "kskroll-sentinel-is-ta" queries, SERVFAIL for "kskroll-sentinel- 384 not-ta" queries and SERVFAIL for the invalidly signed name 385 queries. 387 Vold: A DNSSEC-Validating resolver that is configured to implement 388 this mechanism that has not loaded the nominated key into its 389 local trusted key store will respond with an SERVFAIL for 390 "kskroll-sentinel-is-ta" queries, an A or AAAA RRset response for 391 "kskroll-sentinel-not-ta" queries and SERVFAIL for the invalidly 392 signed name queries. 394 Vleg: A DNSSEC-Validating resolver that does not implement this 395 mechanism will respond with an A or AAAA RRset response for 396 "kskroll-sentinel-is-ta", an A or AAAA RRset response for 397 "kskroll-sentinel-not-ta" and SERVFAIL for the invalid name. 399 nonV: A non-DNSSEC-Validating resolver will respond with an A or 400 AAAA record response for "kskroll-sentinel-is-ta", an A record 401 response for "kskroll-sentinel-not-ta" and an A or AAAA RRset 402 response for the invalid name. 404 Given the clear delineation amongst these three cases, if a client 405 directs these three queries to a simple resolver, the variation in 406 response to the three queries should allow the client to determine 407 the category of the resolver, and if it supports this mechanism, 408 whether or not it has a particular key in its trust anchor store. 410 Query 411 +----------+-----------+------------+ 412 | is-ta | not-ta | invalid | 413 +-------+----------+-----------+------------+ 414 | Vnew | A | SERVFAIL | SERVFAIL | 415 | Vold | SERVFAIL | A | SERVFAIL | 416 Type | Vleg | A | A | SERVFAIL | 417 | nonV | A | A | A | 418 +-------+----------+-----------+------------+ 420 A "Vnew" type says that the nominated key is trusted by the resolver 421 and has been loaded into its local trusted key stash. A "Vold" type 422 says that the nominated key is not yet trusted by the resolver in its 423 own right. A "Vleg" type does not give any information about the 424 trust anchors, and a "nonV" type indicates that the resolver does not 425 perform DNSSEC validation. 427 5. Sentinel Test Result Considerations 429 The description in the previous section describes a simple situation 430 where the test queries were being passed to a single recursive 431 resolver that directly queried authoritative name servers, including 432 the root servers. 434 There is also the common case where the end client is configured to 435 use multiple resolvers. In these cases the SERVFAIL responses from 436 one resolver will prompt the end client to repeat the query against 437 one of the other configured resolvers. 439 If any of the client's resolvers are non-validating resolvers, the 440 tests will result in the client reporting that it has a non- 441 validating DNS environment ("nonV"), which is effectively the case. 443 If all of the client resolvers are DNSSEC-validating resolvers, but 444 some do not support this trusted key mechanism, then the result will 445 be indeterminate with respect to trusted key status ("Vleg"). 446 Simlarly, if all the client's resolvers support this mechanism, but 447 some have loaded the key into the trusted key stash and some have 448 not, then the result is indeterminate ("Vleg"). 450 There is also the common case of a recursive resolver using a 451 forwarder. 453 If the resolver is non-validating, and it has a single forwarder 454 clause, then the resolver will presumably mirror the capabilities of 455 the forwarder target resolver. If this non-validating resolver it 456 has multiple forwarders, then the above considerations will apply. 458 If the validating resolver has a forwarding configuration, and uses 459 the CD flag on all forwarded queries, then this resolver is acting in 460 a manner that is identical to a standalone resolver. The same 461 consideration applies if any one one of the forwarder targets is a 462 non-validating resolver. Similarly, if all the forwarder targets do 463 not apply this trusted key mechanism, the same considerations apply. 465 A more complex case is where all of the following conditions all 466 hold: 468 o Both the validating resolver and the forwarder target resolver 469 support this trusted key sentinel mechanism 471 o The local resolver's queries do not have the CD bit set 473 o The trusted key state differs between the forwarding resolver and 474 the forwarder target resolver 476 In such a case, either the outcome is indeterminate validating 477 ("Vleg"), or a case of mixed signals (SERVFAIL in all three 478 responses), which is similarly an indeterminate response with respect 479 to the trusted key state. 481 6. Security Considerations 483 This document describes a mechanism to allow users and third parties 484 to determine the trust state of root zone key signing keys in the DNS 485 resolution system that they use. 487 The mechanism does not require resolvers to set otherwise 488 unauthenticated responses to be marked as authenticated, and does not 489 alter the security properties of DNSSEC with respect to the 490 interpretation of the authenticity of responses that are so marked. 492 The mechanism does not require any further significant processing of 493 DNS responses, and queries of the form described in this document do 494 not impose any additional load that could be exploited in an attack 495 over the the normal DNSSEC validation processing load. 497 7. Privacy Considerations 499 The mechansim in this document enables third parties (with either 500 good or bad intentions) to learn something about the security 501 configuration of recursive name servers. That is, someone who can 502 cause an Internet user to open a web page can then determine whether 503 the resolver that that user has configured might fail during a root 504 key rollover. 506 8. IANA Considerations 508 [Note to IANA, to be removed prior to publication: there are no IANA 509 considerations stated in this version of the document.] 511 9. Acknowledgements 513 This document has borrowed extensively from [RFC8145] for the 514 introductory text, and the authors would like to acknowledge and 515 thank the authors of that document both for some text excerpts and 516 for the more general stimulation of thoughts about monitoring the 517 progress of a roll of the KSK of the root zone of the DNS. 519 The authors would like to thank Joe Abley, Mehmet Akcin, Mark 520 Andrews, Richard Barnes, Ray Bellis, Stephane Bortzmeyer, David 521 Conrad, Ralph Dolmans, John Dickinson, Steinar Haug, Bob Harold, Wes 522 Hardaker, Paul Hoffman, Matt Larson, Jinmei Tatuya, Edward Lewis, 523 George Michaelson, Benno Overeinder, Matthew Pounsett, Andreas 524 Schulze, Mukund Sivaraman, Petr Spacek, Andrew Sullivan, Paul Vixie, 525 Duane Wessels and Paul Wouters for their helpful feedback. 527 The authors would like to especially call out Paul Hoffman for 528 providing comments in the form of a pull request. 530 10. Change Log 532 Note that this document is being worked on in GitHub - see Abstract. 533 The below is mainly large changes, and is not authoritative. 535 From -03 to -04: 537 o Addressed GitHub pull requests #4, #5, #6, #7 #8. 539 o Added Duane's privacy concerns 541 o Makes the use cases clearer 543 o Fixed some A/AAAA stuff 545 o Changed the example numbers 547 o Made it clear that names and addresses must be real 549 From -02 to -03: 551 o Integrated / published comments from Paul in GitHub PR #2 - 552 https://github.com/APNIC-Labs/draft-kskroll-sentinel/pull/2 554 o Made the keytab be decimal, not hex (thread / consensus in 555 https://mailarchive.ietf.org/arch/msg/dnsop/ 556 Kg7AtDhFRNw31He8n0_bMr9hBuE ) 558 From -01 to 02: 560 o Removed Address Record definition. 562 o Clarified that many things can cause SERVFAIL. 564 o Made examples FQDN. 566 o Fixed a number of typos. 568 o Had accidentally said that Charlie was using a non-validating 569 resolver in example. 571 o [ TODO(WK): Doc says keytags are hex, is this really what the WG 572 wants? ] 574 o And active key is one that can be used *now* (not e.g AddPend) 575 From -00 to 01: 577 o Added a conversational description of how the system is intended 578 to work. 580 o Clarification that this is for the root. 582 o Changed the label template from _is-ta- to kskroll- 583 sentinel-is-ta-. This is because BIND (at least) will 584 not allow records which start with an underscore to have address 585 records (CNAMEs, yes, A/AAAA no). Some browsers / operating 586 systems also will not fetch resources from names which start with 587 an underscore. 589 11. References 591 11.1. Normative References 593 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 594 Rose, "DNS Security Introduction and Requirements", RFC 595 4033, DOI 10.17487/RFC4033, March 2005, . 598 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 599 Rose, "Resource Records for the DNS Security Extensions", 600 RFC 4034, DOI 10.17487/RFC4034, March 2005, 601 . 603 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 604 Rose, "Protocol Modifications for the DNS Security 605 Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, 606 . 608 [RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC) 609 Trust Anchors", STD 74, RFC 5011, DOI 10.17487/RFC5011, 610 September 2007, . 612 [RFC6840] Weiler, S., Ed. and D. Blacka, Ed., "Clarifications and 613 Implementation Notes for DNS Security (DNSSEC)", RFC 6840, 614 DOI 10.17487/RFC6840, February 2013, . 617 11.2. Informative References 619 [RFC8145] Wessels, D., Kumari, W., and P. Hoffman, "Signaling Trust 620 Anchor Knowledge in DNS Security Extensions (DNSSEC)", RFC 621 8145, DOI 10.17487/RFC8145, April 2017, . 624 Authors' Addresses 626 Geoff Huston 628 Email: gih@apnic.net 629 URI: http://www.apnic.net 631 Joao Silva Damas 633 Email: joao@apnic.net 634 URI: http://www.apnic.net 636 Warren Kumari 638 Email: warren@kumari.net