idnits 2.17.1 draft-hoffman-andrews-caa-simplification-01.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 : ---------------------------------------------------------------------------- == The 'Obsoletes: ' line in the draft header should list only the _numbers_ of the RFCs which will be obsoleted by this document (if approved); it should not include the word 'RFC' in the list. -- The draft header indicates that this document obsoletes RFC6844, but the abstract doesn't seem to mention this, which it should. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 12, 2017) is 2418 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) == Missing Reference: 'STD13' is mentioned on line 190, but not defined == Missing Reference: 'HB2011' is mentioned on line 665, but not defined ** Downref: Normative reference to an Informational RFC: RFC 3647 ** Obsolete normative reference: RFC 5070 (Obsoleted by RFC 7970) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) ** Obsolete normative reference: RFC 6195 (Obsoleted by RFC 6895) ** Obsolete normative reference: RFC 6844 (Obsoleted by RFC 8659) Summary: 5 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group P. Hallam-Baker 3 Internet-Draft R. Stradling 4 Obsoletes: RFC 6844 (if approved) Comodo Group, Inc 5 Intended status: Standards Track J. Hoffman-Andrews 6 Expires: March 16, 2018 Let's Encrypt 7 September 12, 2017 9 DNS Certification Authority Authorization (CAA) Resource Record 10 draft-hoffman-andrews-caa-simplification-01 12 Abstract 14 The Certification Authority Authorization (CAA) DNS Resource Record 15 allows a DNS domain name holder to specify one or more Certification 16 Authorities (CAs) authorized to issue certificates for that domain. 17 CAA Resource Records allow a public Certification Authority to 18 implement additional controls to reduce the risk of unintended 19 certificate mis-issue. This document defines the syntax of the CAA 20 record and rules for processing CAA records by certificate issuers. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on March 16, 2018. 39 Copyright Notice 41 Copyright (c) 2017 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 59 2.2. Defined Terms . . . . . . . . . . . . . . . . . . . . . . 3 60 3. The CAA RR Type . . . . . . . . . . . . . . . . . . . . . . . 5 61 4. Certification Authority Processing . . . . . . . . . . . . . 7 62 4.1. Use of DNS Security . . . . . . . . . . . . . . . . . . . 8 63 5. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . 8 64 5.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 8 65 5.1.1. Canonical Presentation Format . . . . . . . . . . . . 10 66 5.2. CAA issue Property . . . . . . . . . . . . . . . . . . . 10 67 5.3. CAA issuewild Property . . . . . . . . . . . . . . . . . 11 68 5.4. CAA iodef Property . . . . . . . . . . . . . . . . . . . 12 69 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 70 6.1. Non-Compliance by Certification Authority . . . . . . . . 12 71 6.2. Mis-Issue by Authorized Certification Authority . . . . . 12 72 6.3. Suppression or Spoofing of CAA Records . . . . . . . . . 13 73 6.4. Denial of Service . . . . . . . . . . . . . . . . . . . . 13 74 6.5. Abuse of the Critical Flag . . . . . . . . . . . . . . . 13 75 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 76 7.1. Registration of the CAA Resource Record Type . . . . . . 14 77 7.2. Certification Authority Restriction Properties . . . . . 14 78 7.3. Certification Authority Restriction Flags . . . . . . . . 15 79 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 15 80 9. Normative References . . . . . . . . . . . . . . . . . . . . 15 81 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 83 1. Introduction 85 The Certification Authority Authorization (CAA) DNS Resource Record 86 allows a DNS domain name holder to specify the Certification 87 Authorities (CAs) authorized to issue certificates for that domain. 88 Publication of CAA Resource Records allows a public Certification 89 Authority to implement additional controls to reduce the risk of 90 unintended certificate mis-issue. 92 Like the TLSA record defined in DNS-Based Authentication of Named 93 Entities (DANE) [RFC6698], CAA records are used as a part of a 94 mechanism for checking PKIX certificate data. The distinction 95 between the two specifications is that CAA records specify an 96 authorization control to be performed by a certificate issuer before 97 issue of a certificate and TLSA records specify a verification 98 control to be performed by a relying party after the certificate is 99 issued. 101 Conformance with a published CAA record is a necessary but not 102 sufficient condition for issuance of a certificate. Before issuing a 103 certificate, a PKIX CA is required to validate the request according 104 to the policies set out in its Certificate Policy. In the case of a 105 public CA that validates certificate requests as a third party, the 106 certificate will typically be issued under a public trust anchor 107 certificate embedded in one or more relevant Relying Applications. 109 Criteria for inclusion of embedded trust anchor certificates in 110 applications are outside the scope of this document. Typically, such 111 criteria require the CA to publish a Certificate Practices Statement 112 (CPS) that specifies how the requirements of the Certificate Policy 113 (CP) are achieved. It is also common for a CA to engage an 114 independent third-party auditor to prepare an annual audit statement 115 of its performance against its CPS. 117 A set of CAA records describes only current grants of authority to 118 issue certificates for the corresponding DNS domain. Since a 119 certificate is typically valid for at least a year, it is possible 120 that a certificate that is not conformant with the CAA records 121 currently published was conformant with the CAA records published at 122 the time that the certificate was issued. Relying Applications MUST 123 NOT use CAA records as part of certificate validation. 125 CAA records MAY be used by Certificate Evaluators as a possible 126 indicator of a security policy violation. Such use SHOULD take 127 account of the possibility that published CAA records changed between 128 the time a certificate was issued and the time at which the 129 certificate was observed by the Certificate Evaluator. 131 2. Definitions 133 2.1. Requirements Language 135 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 136 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 137 document are to be interpreted as described in [RFC2119]. 139 2.2. Defined Terms 141 The following terms are used in this document: 143 Authorization Entry: An authorization assertion that grants or denies 144 a specific set of permissions to a specific group of entities. 146 Certificate: An X.509 Certificate, as specified in [RFC5280]. 148 Certificate Evaluator: A party other than a relying party that 149 evaluates the trustworthiness of certificates issued by Certification 150 Authorities. 152 Certification Authority (CA): An issuer that issues certificates in 153 accordance with a specified Certificate Policy. 155 Certificate Policy (CP): Specifies the criteria that a Certification 156 Authority undertakes to meet in its issue of certificates. See 157 [RFC3647]. 159 Certification Practices Statement (CPS): Specifies the means by which 160 the criteria of the Certificate Policy are met. In most cases, this 161 will be the document against which the operations of the 162 Certification Authority are audited. See [RFC3647]. 164 Domain: A DNS Domain Name. 166 Domain Name: A DNS Domain Name as specified in [STD13]. 168 Domain Name System (DNS): The Internet naming system specified in 169 [STD13]. 171 DNS Security (DNSSEC): Extensions to the DNS that provide 172 authentication services as specified in RFC4033, RFC4034, RFC4035, 173 RFC5155, and revisions. 175 Issuer: An entity that issues certificates. See [RFC5280]. 177 Property: The tag-value portion of a CAA Resource Record. 179 Property Tag: The tag portion of a CAA Resource Record. 181 Property Value: The value portion of a CAA Resource Record. 183 Public Key Infrastructure X.509 (PKIX): Standards and specifications 184 issued by the IETF that apply the [X.509] certificate standards 185 specified by the ITU to Internet applications as specified in 186 [RFC5280] and related documents. 188 Resource Record (RR): A particular entry in the DNS including the 189 owner name, class, type, time to live, and data, as defined in 190 [STD13] and [RFC2181]. 192 Resource Record Set (RRSet): A set of Resource Records or a 193 particular owner name, class, and type. The time to live on all RRs 194 with an RRSet is always the same, but the data may be different among 195 RRs in the RRSet. 197 Relying Party: A party that makes use of an application whose 198 operation depends on use of a certificate for making a security 199 decision. See [RFC5280]. 201 Relying Application: An application whose operation depends on use of 202 a certificate for making a security decision. 204 3. The CAA RR Type 206 A CAA RR consists of a flags byte and a tag-value pair referred to as 207 a property. Multiple properties MAY be associated with the same 208 domain name by publishing multiple CAA RRs at that domain name. The 209 following flag is defined: 211 Issuer Critical: If set to '1', indicates that the corresponding 212 property tag MUST be understood if the semantics of the CAA record 213 are to be correctly interpreted by an issuer. 215 Issuers MUST NOT issue certificates for a domain if the relevant 216 CAA Resource Record set contains unknown property tags that have 217 the Critical bit set. 219 The following property tags are defined: 221 issue [; = ]* : The issue property 222 entry authorizes the holder of the domain name 223 or a party acting under the explicit authority of the holder of that 224 domain name to issue certificates for the domain in which the 225 property is published. 227 issuewild [; = ]* : The issuewild 228 property entry authorizes the holder of the domain name or a party acting under the explicit authority of the 230 holder of that domain name to issue wildcard certificates for the 231 domain in which the property is published. 233 iodef : Specifies a URL to which an issuer MAY report 234 certificate issue requests that are inconsistent with the issuer's 235 Certification Practices or Certificate Policy, or that a Certificate 236 Evaluator may use to report observation of a possible policy 237 violation. The Incident Object Description Exchange Format (IODEF) 238 format is used [RFC5070]. 240 The following example is a DNS zone file (see [RFC1035]) that informs 241 CAs that certificates are not to be issued except by the holder of 242 the domain name 'ca.example.net' or an authorized agent thereof. 243 This policy applies to all subordinate domains under example.com. 245 $ORIGIN example.com . CAA 0 issue "ca.example.net" 247 If the domain name holder specifies one or more iodef properties, a 248 certificate issuer MAY report invalid certificate requests to that 249 address. In the following example, the domain name holder specifies 250 that reports may be made by means of email with the IODEF data as an 251 attachment, a Web service [RFC6546], or both: 253 $ORIGIN example.com . CAA 0 issue "ca.example.net" . CAA 0 iodef 254 "mailto:security@example.com" . CAA 0 iodef 255 "http://iodef.example.com/" 257 A certificate issuer MAY specify additional parameters that allow 258 customers to specify additional parameters governing certificate 259 issuance. This might be the Certificate Policy under which the 260 certificate is to be issued, the authentication process to be used 261 might be specified, or an account number specified by the CA to 262 enable these parameters to be retrieved. 264 For example, the CA 'ca.example.net' has requested its customer 265 'example.com' to specify the CA's account number '230123' in each of 266 the customer's CAA records. 268 $ORIGIN example.com . CAA 0 issue "ca.example.net; account=230123" 270 The syntax of additional parameters is a sequence of name-value pairs 271 as defined in Section 5.2. The semantics of such parameters is left 272 to site policy and is outside the scope of this document. 274 The critical flag is intended to permit future versions CAA to 275 introduce new semantics that MUST be understood for correct 276 processing of the record, preventing conforming CAs that do not 277 recognize the new semantics from issuing certificates for the 278 indicated domains. 280 In the following example, the property 'tbs' is flagged as critical. 281 Neither the example.net CA nor any other issuer is authorized to 282 issue under either policy unless the processing rules for the 'tbs' 283 property tag are understood. 285 $ORIGIN example.com . CAA 0 issue "ca.example.net; policy=ev" . CAA 286 128 tbs "Unknown" 288 Note that the above restrictions only apply at certificate issue. 289 Since the validity of an end entity certificate is typically a year 290 or more, it is quite possible that the CAA records published at a 291 domain will change between the time a certificate was issued and 292 validation by a relying party. 294 4. Certification Authority Processing 296 Before issuing a certificate, a compliant CA MUST check for 297 publication of a relevant CAA Resource Record set. If such a record 298 set exists, a CA MUST NOT issue a certificate unless the CA 299 determines that either (1) the certificate request is consistent with 300 the applicable CAA Resource Record set or (2) an exception specified 301 in the relevant Certificate Policy or Certification Practices 302 Statement applies. 304 A certificate request MAY specify more than one domain name and MAY 305 specify wildcard domains. Issuers MUST verify authorization for all 306 the domains and wildcard domains specified in the request. 308 The search for a CAA record climbs the DNS name tree from the 309 specified label up to but not including the DNS root '.'. 311 Given a request for a specific domain X, or a request for a wildcard 312 domain *.X, the relevant record set R(X) is determined as follows: 314 Let CAA(X) be the record set returned by performing a CAA record 315 query on the domain name X, according to the name server lookup 316 algorithm specified in RFC 1034 section 4.3.2 (in particular 317 following CNAME responses). Let P(X) be the domain name produced by 318 removing the leftmost label of X. 320 - If CAA(X) contains any CAA resource records, R(X) = CAA(X), otherwise 321 - If P(X) is the root domain '.', then R(X) is empty, otherwise 322 - R(X) = R(P(X)) 324 For example, if a certificate is requested for X.Y.Z the issuer will 325 search for the relevant CAA record set in the following order: 327 X.Y.Z 329 Y.Z 331 Z 333 Return Empty 335 Note that as part of the RFC 1034 lookup process, any CAA records 336 present at the ultimate target of a CNAME chain from X.Y.Z, Y.Z., or 337 Z, will be included in the respective response. 339 4.1. Use of DNS Security 341 Use of DNSSEC to authenticate CAA RRs is strongly RECOMMENDED but not 342 required. An issuer MUST NOT issue certificates if doing so would 343 conflict with the relevant CAA Resource Record set, irrespective of 344 whether the corresponding DNS records are signed. 346 DNSSEC provides a proof of non-existence for both DNS domains and RR 347 set within domains. DNSSEC verification thus enables an issuer to 348 determine if the answer to a CAA record query is empty because the RR 349 set is empty or if it is non-empty but the response has been 350 suppressed. 352 Use of DNSSEC allows an issuer to acquire and archive a proof that 353 they were authorized to issue certificates for the domain. 354 Verification of such archives MAY be an audit requirement to verify 355 CAA record processing compliance. Publication of such archives MAY 356 be a transparency requirement to verify CAA record processing 357 compliance. 359 5. Mechanism 361 5.1. Syntax 363 A CAA RR contains a single property entry consisting of a tag-value 364 pair. Each tag represents a property of the CAA record. The value 365 of a CAA property is that specified in the corresponding value field. 367 A domain name MAY have multiple CAA RRs associated with it and a 368 given property MAY be specified more than once. 370 The CAA data field contains one property entry. A property entry 371 consists of the following data fields: 373 +0-1-2-3-4-5-6-7-|0-1-2-3-4-5-6-7-| 374 | Flags | Tag Length = n | 375 +----------------+----------------+...+---------------+ 376 | Tag char 0 | Tag char 1 |...| Tag char n-1 | 377 +----------------+----------------+...+---------------+ 378 +----------------+----------------+.....+----------------+ 379 | Value byte 0 | Value byte 1 |.....| Value byte m-1 | 380 +----------------+----------------+.....+----------------+ 382 Where n is the length specified in the Tag length field and m is the 383 remaining octets in the Value field (m = d - n - 2) where d is the 384 length of the RDATA section. 386 The data fields are defined as follows: 388 Flags: One octet containing the following fields: 390 Bit 0, Issuer Critical Flag: If the value is set to '1', the 391 critical flag is asserted and the property MUST be understood 392 if the CAA record is to be correctly processed by a certificate 393 issuer. 395 A Certification Authority MUST NOT issue certificates for any 396 Domain that contains a CAA critical property for an unknown or 397 unsupported property tag that for which the issuer critical 398 flag is set. 400 Note that according to the conventions set out in {{RFC1035}}, bit 0 401 is the Most Significant Bit and bit 7 is the Least Significant 402 Bit. Thus, the Flags value 1 means that bit 7 is set while a value 403 of 128 means that bit 0 is set according to this convention. 405 All other bit positions are reserved for future use. 407 To ensure compatibility with future extensions to CAA, DNS records 408 compliant with this version of the CAA specification MUST clear 409 (set to "0") all reserved flags bits. Applications that interpret 410 CAA records MUST ignore the value of all reserved flag bits. 412 Tag Length: A single octet containing an unsigned integer specifying 413 the tag length in octets. The tag length MUST be at least 1 and 414 SHOULD be no more than 15. 416 Tag: The property identifier, a sequence of US-ASCII characters. 418 Tag values MAY contain US-ASCII characters 'a' through 'z', 'A' 419 through 'Z', and the numbers 0 through 9. Tag values SHOULD NOT 420 contain any other characters. Matching of tag values is case 421 insensitive. 423 Tag values submitted for registration by IANA MUST NOT contain any 424 characters other than the (lowercase) US-ASCII characters 'a' 425 through 'z' and the numbers 0 through 9. 427 Value: A sequence of octets representing the property value. 428 Property values are encoded as binary values and MAY employ sub- 429 formats. 431 The length of the value field is specified implicitly as the 432 remaining length of the enclosing Resource Record data field. 434 5.1.1. Canonical Presentation Format 436 The canonical presentation format of the CAA record is: 438 CAA 440 Where: 442 Flags: Is an unsigned integer between 0 and 255. 444 Tag: Is a non-zero sequence of US-ASCII letters and numbers in lower 445 case. 447 Value: Is the encoding of the value field as 448 specified in [RFC1035], Section 5.1. 450 5.2. CAA issue Property 452 The issue property tag is used to request that certificate issuers 453 perform CAA issue restriction processing for the domain and to grant 454 authorization to specific certificate issuers. 456 The CAA issue property value has the following sub-syntax (specified 457 in ABNF as per [RFC5234]). 459 issuevalue = space [domain] space [";" *(space parameter) space] 461 domain = label *("." label) label = (ALPHA / DIGIT) *( *("-") (ALPHA 462 / DIGIT)) 464 space = *(SP / HTAB) 466 parameter = tag "=" value 468 tag = 1*(ALPHA / DIGIT) 470 value = *VCHAR 472 For consistency with other aspects of DNS administration, domain name 473 values are specified in letter-digit-hyphen Label (LDH-Label) form. 475 A CAA record with an issue parameter tag that does not specify a 476 domain name is a request that certificate issuers perform CAA issue 477 restriction processing for the corresponding domain without granting 478 authorization to any certificate issuer. 480 This form of issue restriction would be appropriate to specify that 481 no certificates are to be issued for the domain in question. 483 For example, the following CAA record set requests that no 484 certificates be issued for the domain 'nocerts.example.com' by any 485 certificate issuer. 487 nocerts.example.com CAA 0 issue ";" 489 A CAA record with an issue parameter tag that specifies a domain name 490 is a request that certificate issuers perform CAA issue restriction 491 processing for the corresponding domain and grants authorization to 492 the certificate issuer specified by the domain name. 494 For example, the following CAA record set requests that no 495 certificates be issued for the domain 'certs.example.com' by any 496 certificate issuer other than the example.net certificate issuer. 498 certs.example.com CAA 0 issue "example.net" 500 CAA authorizations are additive; thus, the result of specifying both 501 the empty issuer and a specified issuer is the same as specifying 502 just the specified issuer alone. 504 An issuer MAY choose to specify issuer-parameters that further 505 constrain the issue of certificates by that issuer, for example, 506 specifying that certificates are to be subject to specific validation 507 polices, billed to certain accounts, or issued under specific trust 508 anchors. 510 The semantics of issuer-parameters are determined by the issuer 511 alone. 513 5.3. CAA issuewild Property 515 The issuewild property has the same syntax and semantics as the issue 516 property except that issuewild properties only grant authorization to 517 issue certificates that specify a wildcard domain and issuewild 518 properties take precedence over issue properties when specified. 519 Specifically: 521 issuewild properties MUST be ignored when processing a request for 522 a domain that is not a wildcard domain. 524 If at least one issuewild property is specified in the relevant 525 CAA record set, all issue properties MUST be ignored when 526 processing a request for a domain that is a wildcard domain. 528 5.4. CAA iodef Property 530 The iodef property specifies a means of reporting certificate issue 531 requests or cases of certificate issue for the corresponding domain 532 that violate the security policy of the issuer or the domain name 533 holder. 535 The Incident Object Description Exchange Format (IODEF) [RFC5070] is 536 used to present the incident report in machine-readable form. 538 The iodef property takes a URL as its parameter. The URL scheme type 539 determines the method used for reporting: 541 mailto: The IODEF incident report is reported as a MIME email 542 attachment to an SMTP email that is submitted to the mail address 543 specified. The mail message sent SHOULD contain a brief text message 544 to alert the recipient to the nature of the attachment. 546 http or https: The IODEF report is submitted as a Web service request 547 to the HTTP address specified using the protocol specified in 548 [RFC6546]. 550 6. Security Considerations 552 CAA records assert a security policy that the holder of a domain name 553 wishes to be observed by certificate issuers. The effectiveness of 554 CAA records as an access control mechanism is thus dependent on 555 observance of CAA constraints by issuers. 557 The objective of the CAA record properties described in this document 558 is to reduce the risk of certificate mis-issue rather than avoid 559 reliance on a certificate that has been mis-issued. DANE [RFC6698] 560 describes a mechanism for avoiding reliance on mis-issued 561 certificates. 563 6.1. Non-Compliance by Certification Authority 565 CAA records offer CAs a cost-effective means of mitigating the risk 566 of certificate mis-issue: the cost of implementing CAA checks is very 567 small and the potential costs of a mis-issue event include the 568 removal of an embedded trust anchor. 570 6.2. Mis-Issue by Authorized Certification Authority 572 Use of CAA records does not prevent mis-issue by an authorized 573 Certification Authority, i.e., a CA that is authorized to issue 574 certificates for the domain in question by CAA records. 576 Domain name holders SHOULD verify that the CAs they authorize to 577 issue certificates for their domains employ appropriate controls to 578 ensure that certificates are issued only to authorized parties within 579 their organization. 581 Such controls are most appropriately determined by the domain name 582 holder and the authorized CA(s) directly and are thus out of scope of 583 this document. 585 6.3. Suppression or Spoofing of CAA Records 587 Suppression of the CAA record or insertion of a bogus CAA record 588 could enable an attacker to obtain a certificate from an issuer that 589 was not authorized to issue for that domain name. 591 Where possible, issuers SHOULD perform DNSSEC validation to detect 592 missing or modified CAA record sets. 594 In cases where DNSSEC is not deployed in a corresponding domain, an 595 issuer SHOULD attempt to mitigate this risk by employing appropriate 596 DNS security controls. For example, all portions of the DNS lookup 597 process SHOULD be performed against the authoritative name server. 598 Data cached by third parties MUST NOT be relied on but MAY be used to 599 support additional anti-spoofing or anti-suppression controls. 601 6.4. Denial of Service 603 Introduction of a malformed or malicious CAA RR could in theory 604 enable a Denial-of-Service (DoS) attack. 606 This specific threat is not considered to add significantly to the 607 risk of running an insecure DNS service. 609 An attacker could, in principle, perform a DoS attack against an 610 issuer by requesting a certificate with a maliciously long DNS name. 611 In practice, the DNS protocol imposes a maximum name length and CAA 612 processing does not exacerbate the existing need to mitigate DoS 613 attacks to any meaningful degree. 615 6.5. Abuse of the Critical Flag 617 A Certification Authority could make use of the critical flag to 618 trick customers into publishing records that prevent competing 619 Certification Authorities from issuing certificates even though the 620 customer intends to authorize multiple providers. 622 In practice, such an attack would be of minimal effect since any 623 competent competitor that found itself unable to issue certificates 624 due to lack of support for a property marked critical SHOULD 625 investigate the cause and report the reason to the customer. The 626 customer will thus discover that they had been deceived. 628 7. IANA Considerations 630 7.1. Registration of the CAA Resource Record Type 632 IANA has assigned Resource Record Type 257 for the CAA Resource 633 Record Type and added the line depicted below to the registry named 634 "Resource Record (RR) TYPEs" and QTYPEs as defined in BCP 42 635 [RFC6195] and located at http://www.iana.org/assignments/dns- 636 parameters. 638 +---------+-----------------------------------------+-----------+ 639 | RR Name | Value and meaning | Reference | 640 +---------+-----------------------------------------+-----------+ 641 | CAA | 257 Certification Authority Restriction | [RFC6844] | 642 +---------+-----------------------------------------+-----------+ 644 7.2. Certification Authority Restriction Properties 646 IANA has created the "Certification Authority Restriction Properties" 647 registry with the following initial values: 649 +-----------+----------------------------------------+-----------+ 650 | Tag | Meaning | Reference | 651 +-----------+----------------------------------------+-----------+ 652 | issue | Authorization Entry by Domain | [RFC6844] | 653 | | | | 654 | issuewild | Authorization Entry by Wildcard Domain | [RFC6844] | 655 | | | | 656 | iodef | Report incident by IODEF report | [RFC6844] | 657 | | | | 658 | auth | Reserved | [HB2011] | 659 | | | | 660 | path | Reserved | [HB2011] | 661 | | | | 662 | policy | Reserved | [HB2011] | 663 +-----------+----------------------------------------+-----------+ 665 Although [HB2011] has expired, deployed clients implement the CAA 666 properties specified in the document and reuse of these property tags 667 for a different purpose could cause unexpected behavior. 669 Addition of tag identifiers requires a public specification and 670 Expert Review as set out in [RFC6195], Section 3.1.1. 672 The tag space is designed to be sufficiently large that exhausting 673 the possible tag space need not be a concern. The scope of Expert 674 Review SHOULD be limited to the question of whether the specification 675 provided is sufficiently clear to permit implementation and to avoid 676 unnecessary duplication of functionality. 678 7.3. Certification Authority Restriction Flags 680 IANA has created the "Certification Authority Restriction Flags" 681 registry with the following initial values: 683 +------+----------------------+-----------+ 684 | Flag | Meaning | Reference | 685 +------+----------------------+-----------+ 686 | 0 | Issuer Critical Flag | [RFC6844] | 687 | | | | 688 | 1-7 | Reserved> | [RFC6844] | 689 +------+----------------------+-----------+ 691 Assignment of new flags follows the RFC Required policy set out in 692 [RFC5226], Section 4.1. 694 8. Acknowledgements 696 The authors would like to thank the following people who contributed 697 to the design and documentation of this work item: Chris Evans, 698 Stephen Farrell, Jeff Hodges, Paul Hoffman, Stephen Kent, Adam 699 Langley, Ben Laurie, James Manager, Chris Palmer, Scott Schmit, Sean 700 Turner, and Ben Wilson. 702 9. Normative References 704 [RFC1035] Mockapetris, P., "Domain names - implementation and 705 specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, 706 November 1987, . 708 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 709 Requirement Levels", BCP 14, RFC 2119, 710 DOI 10.17487/RFC2119, March 1997, 711 . 713 [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS 714 Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997, 715 . 717 [RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S. 718 Wu, "Internet X.509 Public Key Infrastructure Certificate 719 Policy and Certification Practices Framework", RFC 3647, 720 DOI 10.17487/RFC3647, November 2003, 721 . 723 [RFC5070] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident 724 Object Description Exchange Format", RFC 5070, 725 DOI 10.17487/RFC5070, December 2007, 726 . 728 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 729 IANA Considerations Section in RFCs", RFC 5226, 730 DOI 10.17487/RFC5226, May 2008, 731 . 733 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 734 Specifications: ABNF", STD 68, RFC 5234, 735 DOI 10.17487/RFC5234, January 2008, 736 . 738 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 739 Housley, R., and W. Polk, "Internet X.509 Public Key 740 Infrastructure Certificate and Certificate Revocation List 741 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 742 . 744 [RFC6195] Eastlake 3rd, D., "Domain Name System (DNS) IANA 745 Considerations", RFC 6195, DOI 10.17487/RFC6195, March 746 2011, . 748 [RFC6546] Trammell, B., "Transport of Real-time Inter-network 749 Defense (RID) Messages over HTTP/TLS", RFC 6546, 750 DOI 10.17487/RFC6546, April 2012, 751 . 753 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 754 of Named Entities (DANE) Transport Layer Security (TLS) 755 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 756 2012, . 758 [RFC6844] Hallam-Baker, P. and R. Stradling, "DNS Certification 759 Authority Authorization (CAA) Resource Record", RFC 6844, 760 DOI 10.17487/RFC6844, January 2013, 761 . 763 Authors' Addresses 765 Phillip Hallam-Baker 766 Comodo Group, Inc 768 Email: philliph@comodo.com 770 Rob Stradling 771 Comodo Group, Inc 773 Email: rob.stradling@comodo.com 775 Jacob Hoffman-Andrews 776 Let's Encrypt 778 Email: jsha@letsencrypt.org