idnits 2.17.00 (12 Aug 2021) /tmp/idnits9023/draft-ietf-dnsop-kskroll-sentinel-06.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) 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 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-06 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 278 perform 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- 287 Note that the is specified in the DNS label as unsigned 288 decimal integer (as described in [RFC4034], section 5.3), but zero- 289 padded to five digits (for example, a Key Tag 42 would be represented 290 in the label as 00042). 292 These labels trigger special processing in the resolver when 293 responses from authoritative servers are received. Labels containing 294 "kskroll-sentinel-is-ta-" is used to answer the question "Is 295 this the Key Tag a trust anchor which the validating DNS resolver is 296 currently trusting?" Labels containing "kskroll-sentinel-not-ta- 297 " is used to answer the question "Is this the Key Tag *not* 298 a trust anchor which the validating DNS resolver is currently 299 trusting?" 301 3.1. Preconditions 303 All of the following conditions must be met to trigger special 304 processing inside resolver code: 306 o The DNS response is DNSSEC validated and result of validation is 307 "Secure" 309 o The QTYPE is either A or AAAA (Query Type value 1 or 28) 311 o The OPCODE is QUERY 313 o The leftmost label of the QNAME is either "kskroll-sentinel-is-ta- 314 " or "kskroll-sentinel-not-ta-" 316 If any one of the preconditions is not met, the resolver MUST NOT 317 alter the DNS response based on the mechanism in this document. 319 3.2. Special processing 321 Responses which fullfill all of the preconditions in Section 3.1 322 require special processing, depending on leftmost label in the QNAME. 324 First, the resolver determines if the numerical value of is 325 equal to any of the Key Tags of an active root zone KSK which is 326 currently trusted by the local resolver and is stored in its store of 327 trusted keys. An active key is one which could currently be used for 328 validation (that is, a key that is not in either the AddPend or 329 Revoked state as described in [RFC5011]). 331 Second, the resolver alters the response being sent to the original 332 query based on both the left-most label and the presence of a key 333 with given Key Tag in the trust anchor store. Two labels and two 334 possible states of the keytag generate four possible combinations 335 summarized in the table: 337 | Key Tag is trusted | Key Tag is not trusted 338 ------------------------------------------------------------------ 339 is-ta | return original answer | return SERVFAIL 340 not-ta | return SERVFAIL | return original answer 342 4. Processing Sentinel Results 344 This proposed test that uses the sentinel detection mechanism 345 described in this document is based on the use of three DNS names 346 that have three distinct DNS resolution behaviours. The test is 347 intended to allow a user or a third party to determine the state of 348 their DNS resolution system, and, in particular, whether or not they 349 are using validating DNS resolvers that use a particular trust anchor 350 for the root zone. 352 The critical aspect of the DNS names used in this mechanism is that 353 they contain the specified label for either the positive and negative 354 test as the left-most label in the query name. 356 The sentinel detection process uses a test with three query names: 358 o A query name containing the left-most label "kskroll-sentinel-is- 359 ta-". This corresponds to a a validly-signed RRset in 360 the zone, so that responses associated with queried names in this 361 zone can be authenticated by a DNSSEC-validating resolver. Any 362 validly-signed DNS zone can be used for this test. 364 o A query name containing the left-most label "kskroll-sentinel-not- 365 ta-". This is also a validly-signed name. Any validly- 366 signed DNS zone can be used for this test. 368 o A query name that is signed with a DNSSEC signature that cannot be 369 validated (such as if the corresponding RRset is not signed with a 370 valid RRSIG record). 372 The responses received from queries to resolve each of these names 373 would allow us to infer a trust key state of the resolution 374 environment. The techniques describes in this document rely on 375 (DNSSEC validating) resolvers responding with SERVFAIL (RCODE 2) to 376 valid answers. Note that a slew of other issues can also cause 377 SERVFAIL responses, and so the sentinel processing may sometimes 378 result in incorrect conclusions. 380 To describe this process of classification, we can classify resolvers 381 into four distinct behavior types, for which we will use the labels: 382 "Vnew", "Vold", "Vleg", and "nonV". These labels correspond to 383 resolver behaviour types as follows: 385 Vnew: A DNSSEC-Validating resolver that is configured to implement 386 this mechanism has loaded the nominated key into its local trusted 387 key store will respond with an A or AAAA RRset response for 388 "kskroll-sentinel-is-ta" queries, SERVFAIL for "kskroll-sentinel- 389 not-ta" queries and SERVFAIL for the invalidly signed name 390 queries. 392 Vold: A DNSSEC-Validating resolver that is configured to implement 393 this mechanism that has not loaded the nominated key into its 394 local trusted key store will respond with an SERVFAIL for 395 "kskroll-sentinel-is-ta" queries, an A or AAAA RRset response for 396 "kskroll-sentinel-not-ta" queries and SERVFAIL for the invalidly 397 signed name queries. 399 Vleg: A DNSSEC-Validating resolver that does not implement this 400 mechanism will respond with an A or AAAA RRset response for 401 "kskroll-sentinel-is-ta", an A or AAAA RRset response for 402 "kskroll-sentinel-not-ta" and SERVFAIL for the invalid name. 404 nonV: A non-DNSSEC-Validating resolver will respond with an A or 405 AAAA record response for "kskroll-sentinel-is-ta", an A record 406 response for "kskroll-sentinel-not-ta" and an A or AAAA RRset 407 response for the invalid name. 409 Given the clear delineation amongst these three cases, if a client 410 directs these three queries to a simple resolver, the variation in 411 response to the three queries should allow the client to determine 412 the category of the resolver, and if it supports this mechanism, 413 whether or not it has a particular key in its trust anchor store. 415 Query 416 +----------+-----------+------------+ 417 | is-ta | not-ta | invalid | 418 +-------+----------+-----------+------------+ 419 | Vnew | A | SERVFAIL | SERVFAIL | 420 | Vold | SERVFAIL | A | SERVFAIL | 421 Type | Vleg | A | A | SERVFAIL | 422 | nonV | A | A | A | 423 +-------+----------+-----------+------------+ 425 A "Vnew" type says that the nominated key is trusted by the resolver 426 and has been loaded into its local trusted key stash. A "Vold" type 427 says that the nominated key is not yet trusted by the resolver in its 428 own right. A "Vleg" type does not give any information about the 429 trust anchors, and a "nonV" type indicates that the resolver does not 430 perform DNSSEC validation. 432 5. Sentinel Test Result Considerations 434 The description in the previous section describes a simple situation 435 where the test queries were being passed to a single recursive 436 resolver that directly queried authoritative name servers, including 437 the root servers. 439 There is also the common case where the end client is configured to 440 use multiple resolvers. In these cases the SERVFAIL responses from 441 one resolver will prompt the end client to repeat the query against 442 one of the other configured resolvers. 444 If any of the client's resolvers are non-validating resolvers, the 445 tests will result in the client reporting that it has a non- 446 validating DNS environment ("nonV"), which is effectively the case. 448 If all of the client resolvers are DNSSEC-validating resolvers, but 449 some do not support this trusted key mechanism, then the result will 450 be indeterminate with respect to trusted key status ("Vleg"). 451 Simlarly, if all the client's resolvers support this mechanism, but 452 some have loaded the key into the trusted key stash and some have 453 not, then the result is indeterminate ("Vleg"). 455 There is also the common case of a recursive resolver using a 456 forwarder. 458 If the resolver is non-validating, and it has a single forwarder 459 clause, then the resolver will presumably mirror the capabilities of 460 the forwarder target resolver. If this non-validating resolver it 461 has multiple forwarders, then the above considerations will apply. 463 If the validating resolver has a forwarding configuration, and uses 464 the CD flag on all forwarded queries, then this resolver is acting in 465 a manner that is identical to a standalone resolver. The same 466 consideration applies if any one one of the forwarder targets is a 467 non-validating resolver. Similarly, if all the forwarder targets do 468 not apply this trusted key mechanism, the same considerations apply. 470 A more complex case is where all of the following conditions all 471 hold: 473 o Both the validating resolver and the forwarder target resolver 474 support this trusted key sentinel mechanism 476 o The local resolver's queries do not have the CD bit set 478 o The trusted key state differs between the forwarding resolver and 479 the forwarder target resolver 481 In such a case, either the outcome is indeterminate validating 482 ("Vleg"), or a case of mixed signals (SERVFAIL in all three 483 responses), which is similarly an indeterminate response with respect 484 to the trusted key state. 486 6. Security Considerations 488 This document describes a mechanism to allow users and third parties 489 to determine the trust state of root zone key signing keys in the DNS 490 resolution system that they use. 492 The mechanism does not require resolvers to set otherwise 493 unauthenticated responses to be marked as authenticated, and does not 494 alter the security properties of DNSSEC with respect to the 495 interpretation of the authenticity of responses that are so marked. 497 The mechanism does not require any further significant processing of 498 DNS responses, and queries of the form described in this document do 499 not impose any additional load that could be exploited in an attack 500 over the the normal DNSSEC validation processing load. 502 7. Privacy Considerations 504 The mechansim in this document enables third parties (with either 505 good or bad intentions) to learn something about the security 506 configuration of recursive name servers. That is, someone who can 507 cause an Internet user to make specific DNS queries (e.g. via web- 508 based advertisements or javascript in web pages), can then determine 509 which trust anchors are configured in the user's resolver. 511 8. IANA Considerations 513 [Note to IANA, to be removed prior to publication: there are no IANA 514 considerations stated in this version of the document.] 516 9. Acknowledgements 518 This document has borrowed extensively from [RFC8145] for the 519 introductory text, and the authors would like to acknowledge and 520 thank the authors of that document both for some text excerpts and 521 for the more general stimulation of thoughts about monitoring the 522 progress of a roll of the KSK of the root zone of the DNS. 524 The authors would like to thank Joe Abley, Mehmet Akcin, Mark 525 Andrews, Richard Barnes, Ray Bellis, Stephane Bortzmeyer, David 526 Conrad, Ralph Dolmans, John Dickinson, Steinar Haug, Bob Harold, Wes 527 Hardaker, Paul Hoffman, Matt Larson, Jinmei Tatuya, Edward Lewis, 528 George Michaelson, Benno Overeinder, Matthew Pounsett, Andreas 529 Schulze, Mukund Sivaraman, Petr Spacek, Andrew Sullivan, Paul Vixie, 530 Duane Wessels and Paul Wouters for their helpful feedback. 532 The authors would like to especially call out Paul Hoffman and Duane 533 Wessels for providing comments in the form of a pull request. Petr 534 Specek implmented early versions of this technique into the Knot 535 resolver, identified a number of places where it wasn't clear, and 536 provided very helpful text to address this. 538 10. Change Log 540 Note that this document is being worked on in GitHub - see Abstract. 541 The below is mainly large changes, and is not authoritative. 543 From -05 to -06: 545 Paul improved my merging of Petr's text to make it more readable. 546 Minor change, but this is just before the cut-off, so I wanted it 547 maximally readable. 549 From -04 to -05: 551 o Incorporated Duane's #10 553 o Integrated Petr Spacek's Issue - https://github.com/APNIC-Labs/ 554 draft-kskroll-sentinel/issues/9 (note that commit-log incorrectly 555 referred to Duane's PR as number 9, it is actually 10). 557 From -03 to -04: 559 o Addressed GitHub pull requests #4, #5, #6, #7 #8. 561 o Added Duane's privacy concerns 563 o Makes the use cases clearer 565 o Fixed some A/AAAA stuff 567 o Changed the example numbers 569 o Made it clear that names and addresses must be real 571 From -02 to -03: 573 o Integrated / published comments from Paul in GitHub PR #2 - 574 https://github.com/APNIC-Labs/draft-kskroll-sentinel/pull/2 576 o Made the keytag be decimal, not hex (thread / consensus in 577 https://mailarchive.ietf.org/arch/msg/dnsop/ 578 Kg7AtDhFRNw31He8n0_bMr9hBuE ) 580 From -01 to 02: 582 o Removed Address Record definition. 584 o Clarified that many things can cause SERVFAIL. 586 o Made examples FQDN. 588 o Fixed a number of typos. 590 o Had accidentally said that Charlie was using a non-validating 591 resolver in example. 593 o [ TODO(WK): Doc says keytags are hex, is this really what the WG 594 wants? ] 596 o And active key is one that can be used *now* (not e.g AddPend) 598 From -00 to 01: 600 o Added a conversational description of how the system is intended 601 to work. 603 o Clarification that this is for the root. 605 o Changed the label template from _is-ta- to kskroll- 606 sentinel-is-ta-. This is because BIND (at least) will 607 not allow records which start with an underscore to have address 608 records (CNAMEs, yes, A/AAAA no). Some browsers / operating 609 systems also will not fetch resources from names which start with 610 an underscore. 612 11. References 614 11.1. Normative References 616 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 617 Rose, "DNS Security Introduction and Requirements", RFC 618 4033, DOI 10.17487/RFC4033, March 2005, . 621 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 622 Rose, "Resource Records for the DNS Security Extensions", 623 RFC 4034, DOI 10.17487/RFC4034, March 2005, 624 . 626 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 627 Rose, "Protocol Modifications for the DNS Security 628 Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, 629 . 631 [RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC) 632 Trust Anchors", STD 74, RFC 5011, DOI 10.17487/RFC5011, 633 September 2007, . 635 11.2. Informative References 637 [RFC8145] Wessels, D., Kumari, W., and P. Hoffman, "Signaling Trust 638 Anchor Knowledge in DNS Security Extensions (DNSSEC)", RFC 639 8145, DOI 10.17487/RFC8145, April 2017, . 642 Authors' Addresses 644 Geoff Huston 646 Email: gih@apnic.net 647 URI: http://www.apnic.net 649 Joao Silva Damas 651 Email: joao@apnic.net 652 URI: http://www.apnic.net 654 Warren Kumari 656 Email: warren@kumari.net