idnits 2.17.00 (12 Aug 2021) /tmp/idnits13995/draft-ietf-dnsop-kskroll-sentinel-05.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 (March 5, 2018) is 1538 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) == Unused Reference: 'RFC6840' is defined on line 628, but no explicit reference was found in the text Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 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 6, 2018 W. Kumari 6 Google 7 March 5, 2018 9 A Sentinel for Detecting Trusted Keys in DNSSEC 10 draft-ietf-dnsop-kskroll-sentinel-05 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 6, 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 3.1. Preconditions . . . . . . . . . . . . . . . . . . . . . . 7 78 3.2. Special processing . . . . . . . . . . . . . . . . . . . 7 79 4. Processing Sentinel Results . . . . . . . . . . . . . . . . . 8 80 5. Sentinel Test Result Considerations . . . . . . . . . . . . . 10 81 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 82 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 11 83 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 84 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 85 10. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 12 86 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 87 11.1. Normative References . . . . . . . . . . . . . . . . . . 13 88 11.2. Informative References . . . . . . . . . . . . . . . . . 14 89 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 91 1. Introduction 93 The DNS Security Extensions (DNSSEC) [RFC4033], [RFC4034] and 94 [RFC4035] were developed to provide origin authentication and 95 integrity protection for DNS data by using digital signatures. 96 DNSSEC uses Key Tags to efficiently match signatures to the keys from 97 which they are generated. The Key Tag is a 16-bit value computed 98 from the RDATA portion of a DNSKEY RR using a formula similar to a 99 ones-complement checksum. RRSIG RRs contain a Key Tag field whose 100 value is equal to the Key Tag of the DNSKEY RR that validates the 101 signature. 103 This document specifies how validating resolvers can respond to 104 certain queries in a manner that allows a querier to deduce whether a 105 particular key for the root has been loaded into that resolver's 106 trusted key store. In particular, this response mechanism can be 107 used to determine whether a certain root zone KSK is ready to be used 108 as a trusted key within the context of a key roll by this resolver. 110 There are two primary use cases for this mechanism: 112 o Users want to know whether the resolvers they use are ready for an 113 upcoming root KSK rollover 115 o Researchers want to perform Internet-wide studies about the 116 percentage of users who will be ready for an upcoming root KSK 117 rollover 119 The mechanism described in this document meets both of these use 120 cases. This new mechanism is OPTIONAL to implement and use, although 121 for reasons of supporting broad-based measurement techniques, it is 122 strongly preferred that configurations of DNSSEC-validating resolvers 123 enabled this mechanism by default, allowing for local configuration 124 directives to disable this mechanism if desired. 126 1.1. Terminology 128 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 129 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 130 document are to be interpreted as described in RFC 2119. 132 2. Protocol Walkthrough Example 134 [Ed note: This is currently towards the front of the document; we 135 will make it an appendix at publication time, but until then it is 136 worth having up front, as it makes the rest of the document much 137 easier to understand ] 139 This section provides a non-normative example of how the sentinel 140 mechanism could be used, and what each participant does. It is 141 provided in a conversational tone to be easier to follow. 143 Alice is in charge of the DNS root KSK (Key Signing Key), and would 144 like to roll / replace the key with a new one. She publishes the new 145 KSK, but would like to be able to predict / measure what the impact 146 will be before removing/revoking the old key. The current KSK has a 147 Key Tag of 11112, the new KSK has a Key Tag of 02323. Users want to 148 verify that their resolver will not break after Alice rolls the root 149 KSK key (that is, starts signing with just the KSK whose Key Tag is 150 02323). 152 Bob, Charlie, Dave, Ed are all users. They use the DNS recursive 153 resolvers supplied by their ISPs. They would like to confirm that 154 their ISPs have picked up the new KSK. Bob's ISP does not perform 155 validation. Charlie's ISP does validate, but the resolvers have not 156 yet been upgraded to support this mechanism. Dave and Ed's resolvers 157 have been upgraded to support this mechanism; Dave's resolver has the 158 new KSK, Ed's resolver hasn't managed to install the 02323 KSK in its 159 trust store yet. 161 Geoff is a researcher, and would like to both provide a means for 162 Bob, Charlie, Dave and Ed to be able to perform tests, and also would 163 like to be able to perform Internet-wide measurements of what the 164 impact will be (and report this back to Alice). 166 Geoff sets an authoritative DNS server for example.com, and also a 167 webserver (www.example.com). He adds three address records to 168 example.com: 170 invalid.example.com. IN AAAA 2001:db8::1 172 kskroll-sentinel-is-ta-02323.example.com. IN AAAA 2001:db8::1 174 kskroll-sentinel-not-ta-02323.example.com. IN AAAA 2001:db8::1 176 Note that the use of "example.com" names and the addresses here are 177 examples. In a real deployment, the domain names need to be under 178 control of the researcher, and the addresses much be real, reachable 179 addresses. 181 Geoff then DNSSEC signs the example.com zone, and intentionally makes 182 the invalid.example.com record invalid/bogus (for example, by editing 183 the signed zone and entering garbage for the signature). Geoff also 184 configures his webserver to listen on 2001:db8::1 and serve a 185 resource (for example, a 1x1 GIF, 1x1.gif) for all of these names. 186 The webserver also serves a webpage (www.example.com) which contains 187 links to these 3 resources (http://invalid.example.com/1x1.gif, 188 http://kskroll-sentinel-is-ta-02323.example.com/1x1.gif, 189 http://kskroll-sentinel-not-ta-02323.example.com/1x1.gif). 191 Geoff then asks Bob, Charlie, Dave and Ed to browse to 192 www.example.com. Using the methods described in this document, the 193 users can figure out what their fate will be when the 11112 KSK is 194 removed. 196 Bob is not using a validating resolver. This means that he will be 197 able to resolve invalid.example.com (and fetch the 1x1 GIF) - this 198 tells him that the KSK roll does not affect him, and so he will be 199 OK. 201 Charlie's resolvers are validating, but they have not been upgraded 202 to support the KSK sentinel mechanism. Charlie will not be able to 203 fetch the http://invalid.example.com/1x1.gif resource (the 204 invalid.example.com record is bogus, and none of his resolvers will 205 resolve it). He is able to fetch both of the other resources - from 206 this he knows (see the logic below) that he is using legacy, 207 validating resolvers. The KSK sentinel method cannot provided him 208 with a definitive answer to the question of what root trust anchors 209 this resolver is using. 211 Dave's resolvers implement the sentinel method, and have picked up 212 the new KSK. For the same reason as Charlie, he cannot fetch the 213 "invalid" resource. His resolver resolves the kskroll-sentinel-is- 214 ta-02323.example.com name normally (it contacts the example.com 215 authoritative servers, etc); as it supports the sentinel mechanism, 216 just before Dave's recursive server send the reply to Dave's stub, it 217 performs the KSK Sentinel check (see below). The QNAME starts with 218 "kskroll-sentinel-is-ta-", and the recursive resolver does indeed 219 have a key with the Key Tag of 02323 in its root trust store. This 220 means that that this part of the KSK Sentinel check passes (it is 221 true that Key Tag 02323 is in the trust anchor store), and the 222 recursive resolver replies normally (with the answer provided by the 223 authoritative server). Dave's recursive resolver then resolves the 224 kskroll-sentinel-not-ta-02323.example.com name. Once again, it 225 performs the normal resolution process, but because it implements KSK 226 Sentinel (and the QNAME starts with "kskroll-sentinel-not-ta-"), just 227 before sending the reply, it performs the KSK Sentinel check. As it 228 has 02323 in it's trust anchor store, the answer to "is this *not* a 229 trust anchor" is false, and so the recursive resolver does not reply 230 with the answer from the authoritative server - instead, it replies 231 with a SERVFAIL (note that replying with SERVFAIL instead of the 232 original answer is the only mechanism that KSK Sentinel uses). This 233 means that Dave cannot fetch "invalid", he can fetch "kskroll- 234 sentinel-is-ta-02323", but he cannot fetch "kskroll-sentinel-not-ta- 235 02323". From this, Dave knows that he is behind an upgraded, 236 validating resolver, which has successfully installed the new, 02323 237 KSK. 239 Just like Charlie and Dave, Ed cannot fetch the "invalid" record. 240 This tells him that his resolvers are validating. When his 241 (upgraded) resolver performs the KSK Sentinel check for "kskroll- 242 sentinel-is-ta-02323", it does *not* have the (new, 02323) KSK in 243 it's trust anchor store. This means check fails, and Ed's recursive 244 resolver converts the (valid) answer into a SERVFAIL error response. 245 It performs the same check for kskroll-sentinel-not-ta- 246 02323.example.com; as it does not have the 02323 KSK, it is true that 247 this is not a trust anchor for it, and so it replies normally. This 248 means that Ed cannot fetch the "invalid" resource, he also cannot 249 fetch the "kskroll-sentinel-is-ta-02323" resource, but he can fetch 250 the "kskroll-sentinel-not-ta-02323" resource. This tells Ed that his 251 resolvers have not installed the new KSK. 253 Geoff would like to do a large scale test and provide the information 254 back to Alice. He uses some mechanism such as causing users to go to 255 a web page to cause a large number of users to attempt to resolve the 256 three resources, and then analyzes the results of the tests to 257 determine what percentage of users will be affected by the KSK 258 rollover event. 260 The above description is a simplified example - it is not anticipated 261 that Bob, Charlie, Dave and Ed will actually look for the absence or 262 presence of web resources; instead, the webpage that they load would 263 likely contain JavaScript (or similar) which displays the result of 264 the tests, sends the results to Geoff, or both. This sentinel 265 mechanism does not rely on the web: it can equally be used by trying 266 to resolve the names (for example, using the common "dig" command) 267 and checking which result in a SERVFAIL. 269 Note that the sentinel mechanism described here measures a very 270 different (and likely more useful) metric than [RFC8145]. RFC 8145 271 relies on resolvers reporting the list of keys that they have to root 272 servers. That reflects on how many resolvers will be impacted by a 273 KSK roll, but not what the user impact of the KSK roll will be. 275 3. Sentinel Mechanism in Resolvers 277 DNSSEC-Validating resolvers that implement this mechanism MUST be 278 performing validation of responses in accordance with the DNSSEC 279 response validation specification [RFC4035]. 281 This sentinel mechanism makes use of two special labels: 283 o kskroll-sentinel-is-ta- 285 o kskroll-sentinel-not-ta- 286 Note that the is specified in the DNS label as unsigned 287 decimal integer (as described in [RFC4034], section 5.3), but zero- 288 padded to five digits (i.e: 42 would be represented as 00042). 290 These labels trigger special processing in the resolver as specified 291 bellow. The labels containing "is-ta" and "not-ta" are used to 292 answer questions "Is (or is not, respectivaly) this the key tag a 293 trust anchor which the validating DNS resolver is currently 294 trusting?" Processing of both labels has the very same preconditions 295 for both labels and differs only in last step. 297 The use of the positive question and its inverse allows for queries 298 to detect whether resolvers support this sentinel mechanism. 300 3.1. Preconditions 302 All of the following conditions must be met to trigger special 303 processing inside resolver code: 305 a. DNS response for particular query is DNSSEC validated and result 306 of validation is SECURE. 308 b. QTYPE is A or AAAA (Query Type value 1 or 28) 310 c. The OPCODE is QUERY 312 d. The leftmost label of the QNAME is either "kskroll-sentinel-is- 313 ta-" or "kskroll-sentinel-not-ta-" 315 If all preconditions are not met, the resolver MUST NOT alter the DNS 316 response. 318 3.2. Special processing 320 Responses which fullfill all preconditions in section 3.1 are subject 321 of special processing, depending on leftmost label of the QNAME. 323 First, the resolver determines if the numerical value of is 324 equal to any of the key tags of an active Root Zone Key Signing Key 325 which is currently trusted by the local resolver and is stored in its 326 store of trusted keys. An active key is one which could currently be 327 used for validation (that is, a key that is not in either the AddPend 328 or Revoked state as described in [RFC5011]). 330 As second step, the resolver alters response depending on meaning of 331 the label and presence of key with given keytag among trusted keys. 332 Two labels and two possible states of the keytag generate four 333 possible combinations summarized in the table: 335 Keytag trusted 336 label type | yes | no 337 -------------------------------------------------------------- 338 is-ta | return original answer | return SERVFAIL 339 not-ta | return SERVFAIL | return original answer 341 4. Processing Sentinel Results 343 This proposed test that uses the sentinel detection mechanism 344 described in this document is based on the use of three DNS names 345 that have three distinct DNS resolution behaviours. The test is 346 intended to allow a user or a third party to determine the state of 347 their DNS resolution system, and, in particular, whether or not they 348 are using validating DNS resolvers that use a particular trust anchor 349 for the root zone. 351 The critical aspect of the DNS names used in this mechanism is that 352 they contain the specified label for either the positive and negative 353 test as the left-most label in the query name. 355 The sentinel detection process uses a test with three query names: 357 o A query name containing the left-most label "kskroll-sentinel-is- 358 ta-". This corresponds to a a validly-signed RRset in 359 the zone, so that responses associated with queried names in this 360 zone can be authenticated by a DNSSEC-validating resolver. Any 361 validly-signed DNS zone can be used for this test. 363 o A query name containing the left-most label "kskroll-sentinel-not- 364 ta-". This is also a validly-signed name. Any validly- 365 signed DNS zone can be used for this test. 367 o A query name that is signed with a DNSSEC signature that cannot be 368 validated (such as if the corresponding RRset is not signed with a 369 valid RRSIG record). 371 The responses received from queries to resolve each of these names 372 would allow us to infer a trust key state of the resolution 373 environment. The techniques describes in this document rely on 374 (DNSSEC validating) resolvers responding with SERVFAIL (RCODE 2) to 375 valid answers. Note that a slew of other issues can also cause 376 SERVFAIL responses, and so the sentinel processing may sometimes 377 result in incorrect conclusions. 379 To describe this process of classification, we can classify resolvers 380 into four distinct behavior types, for which we will use the labels: 381 "Vnew", "Vold", "Vleg", and "nonV". These labels correspond to 382 resolver behaviour types as follows: 384 Vnew: A DNSSEC-Validating resolver that is configured to implement 385 this mechanism has loaded the nominated key into its local trusted 386 key store will respond with an A or AAAA RRset response for 387 "kskroll-sentinel-is-ta" queries, SERVFAIL for "kskroll-sentinel- 388 not-ta" queries and SERVFAIL for the invalidly signed name 389 queries. 391 Vold: A DNSSEC-Validating resolver that is configured to implement 392 this mechanism that has not loaded the nominated key into its 393 local trusted key store will respond with an SERVFAIL for 394 "kskroll-sentinel-is-ta" queries, an A or AAAA RRset response for 395 "kskroll-sentinel-not-ta" queries and SERVFAIL for the invalidly 396 signed name queries. 398 Vleg: A DNSSEC-Validating resolver that does not implement this 399 mechanism will respond with an A or AAAA RRset response for 400 "kskroll-sentinel-is-ta", an A or AAAA RRset response for 401 "kskroll-sentinel-not-ta" and SERVFAIL for the invalid name. 403 nonV: A non-DNSSEC-Validating resolver will respond with an A or 404 AAAA record response for "kskroll-sentinel-is-ta", an A record 405 response for "kskroll-sentinel-not-ta" and an A or AAAA RRset 406 response for the invalid name. 408 Given the clear delineation amongst these three cases, if a client 409 directs these three queries to a simple resolver, the variation in 410 response to the three queries should allow the client to determine 411 the category of the resolver, and if it supports this mechanism, 412 whether or not it has a particular key in its trust anchor store. 414 Query 415 +----------+-----------+------------+ 416 | is-ta | not-ta | invalid | 417 +-------+----------+-----------+------------+ 418 | Vnew | A | SERVFAIL | SERVFAIL | 419 | Vold | SERVFAIL | A | SERVFAIL | 420 Type | Vleg | A | A | SERVFAIL | 421 | nonV | A | A | A | 422 +-------+----------+-----------+------------+ 424 A "Vnew" type says that the nominated key is trusted by the resolver 425 and has been loaded into its local trusted key stash. A "Vold" type 426 says that the nominated key is not yet trusted by the resolver in its 427 own right. A "Vleg" type does not give any information about the 428 trust anchors, and a "nonV" type indicates that the resolver does not 429 perform DNSSEC validation. 431 5. Sentinel Test Result Considerations 433 The description in the previous section describes a simple situation 434 where the test queries were being passed to a single recursive 435 resolver that directly queried authoritative name servers, including 436 the root servers. 438 There is also the common case where the end client is configured to 439 use multiple resolvers. In these cases the SERVFAIL responses from 440 one resolver will prompt the end client to repeat the query against 441 one of the other configured resolvers. 443 If any of the client's resolvers are non-validating resolvers, the 444 tests will result in the client reporting that it has a non- 445 validating DNS environment ("nonV"), which is effectively the case. 447 If all of the client resolvers are DNSSEC-validating resolvers, but 448 some do not support this trusted key mechanism, then the result will 449 be indeterminate with respect to trusted key status ("Vleg"). 450 Simlarly, if all the client's resolvers support this mechanism, but 451 some have loaded the key into the trusted key stash and some have 452 not, then the result is indeterminate ("Vleg"). 454 There is also the common case of a recursive resolver using a 455 forwarder. 457 If the resolver is non-validating, and it has a single forwarder 458 clause, then the resolver will presumably mirror the capabilities of 459 the forwarder target resolver. If this non-validating resolver it 460 has multiple forwarders, then the above considerations will apply. 462 If the validating resolver has a forwarding configuration, and uses 463 the CD flag on all forwarded queries, then this resolver is acting in 464 a manner that is identical to a standalone resolver. The same 465 consideration applies if any one one of the forwarder targets is a 466 non-validating resolver. Similarly, if all the forwarder targets do 467 not apply this trusted key mechanism, the same considerations apply. 469 A more complex case is where all of the following conditions all 470 hold: 472 o Both the validating resolver and the forwarder target resolver 473 support this trusted key sentinel mechanism 475 o The local resolver's queries do not have the CD bit set 477 o The trusted key state differs between the forwarding resolver and 478 the forwarder target resolver 480 In such a case, either the outcome is indeterminate validating 481 ("Vleg"), or a case of mixed signals (SERVFAIL in all three 482 responses), which is similarly an indeterminate response with respect 483 to the trusted key state. 485 6. Security Considerations 487 This document describes a mechanism to allow users and third parties 488 to determine the trust state of root zone key signing keys in the DNS 489 resolution system that they use. 491 The mechanism does not require resolvers to set otherwise 492 unauthenticated responses to be marked as authenticated, and does not 493 alter the security properties of DNSSEC with respect to the 494 interpretation of the authenticity of responses that are so marked. 496 The mechanism does not require any further significant processing of 497 DNS responses, and queries of the form described in this document do 498 not impose any additional load that could be exploited in an attack 499 over the the normal DNSSEC validation processing load. 501 7. Privacy Considerations 503 The mechansim in this document enables third parties (with either 504 good or bad intentions) to learn something about the security 505 configuration of recursive name servers. That is, someone who can 506 cause an Internet user to make specific DNS queries (e.g. via web- 507 based advertisements or javascript in web pages), can then determine 508 which trust anchors are configured in the user's resolver. 510 8. IANA Considerations 512 [Note to IANA, to be removed prior to publication: there are no IANA 513 considerations stated in this version of the document.] 515 9. Acknowledgements 517 This document has borrowed extensively from [RFC8145] for the 518 introductory text, and the authors would like to acknowledge and 519 thank the authors of that document both for some text excerpts and 520 for the more general stimulation of thoughts about monitoring the 521 progress of a roll of the KSK of the root zone of the DNS. 523 The authors would like to thank Joe Abley, Mehmet Akcin, Mark 524 Andrews, Richard Barnes, Ray Bellis, Stephane Bortzmeyer, David 525 Conrad, Ralph Dolmans, John Dickinson, Steinar Haug, Bob Harold, Wes 526 Hardaker, Paul Hoffman, Matt Larson, Jinmei Tatuya, Edward Lewis, 527 George Michaelson, Benno Overeinder, Matthew Pounsett, Andreas 528 Schulze, Mukund Sivaraman, Petr Spacek, Andrew Sullivan, Paul Vixie, 529 Duane Wessels and Paul Wouters for their helpful feedback. 531 The authors would like to especially call out Paul Hoffman and Duane 532 Wessels for providing comments in the form of a pull request. Petr 533 Specek implmented early versions of this technique into the Knot 534 resolver, identified a number of places where it wasn't clear, and 535 provided very helpful text to address this. 537 10. Change Log 539 Note that this document is being worked on in GitHub - see Abstract. 540 The below is mainly large changes, and is not authoritative. 542 From -04 to -05: 544 o Incorporated Duane's #10 546 o Integrated Petr Spacek's Issue - https://github.com/APNIC-Labs/ 547 draft-kskroll-sentinel/issues/9 (note that commit-log incorrectly 548 referred to Duane's PR as number 9, it is actually 10). 550 From -03 to -04: 552 o Addressed GitHub pull requests #4, #5, #6, #7 #8. 554 o Added Duane's privacy concerns 556 o Makes the use cases clearer 558 o Fixed some A/AAAA stuff 560 o Changed the example numbers 562 o Made it clear that names and addresses must be real 564 From -02 to -03: 566 o Integrated / published comments from Paul in GitHub PR #2 - 567 https://github.com/APNIC-Labs/draft-kskroll-sentinel/pull/2 569 o Made the keytag be decimal, not hex (thread / consensus in 570 https://mailarchive.ietf.org/arch/msg/dnsop/ 571 Kg7AtDhFRNw31He8n0_bMr9hBuE ) 573 From -01 to 02: 575 o Removed Address Record definition. 577 o Clarified that many things can cause SERVFAIL. 579 o Made examples FQDN. 581 o Fixed a number of typos. 583 o Had accidentally said that Charlie was using a non-validating 584 resolver in example. 586 o [ TODO(WK): Doc says keytags are hex, is this really what the WG 587 wants? ] 589 o And active key is one that can be used *now* (not e.g AddPend) 591 From -00 to 01: 593 o Added a conversational description of how the system is intended 594 to work. 596 o Clarification that this is for the root. 598 o Changed the label template from _is-ta- to kskroll- 599 sentinel-is-ta-. This is because BIND (at least) will 600 not allow records which start with an underscore to have address 601 records (CNAMEs, yes, A/AAAA no). Some browsers / operating 602 systems also will not fetch resources from names which start with 603 an underscore. 605 11. References 607 11.1. Normative References 609 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 610 Rose, "DNS Security Introduction and Requirements", RFC 611 4033, DOI 10.17487/RFC4033, March 2005, . 614 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 615 Rose, "Resource Records for the DNS Security Extensions", 616 RFC 4034, DOI 10.17487/RFC4034, March 2005, 617 . 619 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 620 Rose, "Protocol Modifications for the DNS Security 621 Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, 622 . 624 [RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC) 625 Trust Anchors", STD 74, RFC 5011, DOI 10.17487/RFC5011, 626 September 2007, . 628 [RFC6840] Weiler, S., Ed. and D. Blacka, Ed., "Clarifications and 629 Implementation Notes for DNS Security (DNSSEC)", RFC 6840, 630 DOI 10.17487/RFC6840, February 2013, . 633 11.2. Informative References 635 [RFC8145] Wessels, D., Kumari, W., and P. Hoffman, "Signaling Trust 636 Anchor Knowledge in DNS Security Extensions (DNSSEC)", RFC 637 8145, DOI 10.17487/RFC8145, April 2017, . 640 Authors' Addresses 642 Geoff Huston 644 Email: gih@apnic.net 645 URI: http://www.apnic.net 647 Joao Silva Damas 649 Email: joao@apnic.net 650 URI: http://www.apnic.net 652 Warren Kumari 654 Email: warren@kumari.net