idnits 2.17.1 draft-ietf-pkix-caa-14.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 (October 5, 2012) is 4214 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: 'RFC3647' is mentioned on line 775, but not defined == Missing Reference: 'RFC-THIS' is mentioned on line 685, but not defined == Missing Reference: 'HB2011' is mentioned on line 770, but not defined == Unused Reference: 'RFC1034' is defined on line 705, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'DANE' ** 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) -- Duplicate reference: RFC1034, mentioned in 'STD13', was also mentioned in 'RFC1034'. Summary: 3 errors (**), 0 flaws (~~), 5 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force P. Hallam-Baker 3 Internet-Draft Comodo Group Inc. 4 Intended status: Standards Track R. Stradling 5 Expires: April 8, 2013 Comodo CA Ltd. 6 October 5, 2012 8 DNS Certification Authority Authorization (CAA) Resource Record 9 draft-ietf-pkix-caa-14 11 Abstract 13 The Certification Authority Authorization (CAA) DNS Resource Record 14 allows a DNS domain name holder to specify one or more Certification 15 Authorities (CAs) authorized to issue certificates for that domain. 16 CAA resource records allow a public Certification Authority to 17 implement additional controls to reduce the risk of unintended 18 certificate mis-issue. This document defines the syntax of the CAA 19 record and rules for processing CAA records by certificate issuers. 21 Status of this Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on April 8, 2013. 38 Copyright Notice 40 Copyright (c) 2012 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4 57 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 58 2.2. Defined Terms . . . . . . . . . . . . . . . . . . . . . . 4 59 3. The CAA RR type . . . . . . . . . . . . . . . . . . . . . . . 5 60 4. Certification Authority Processing . . . . . . . . . . . . . . 7 61 4.1. Use of DNS Security . . . . . . . . . . . . . . . . . . . 8 62 5. Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . 9 63 5.1. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . 9 64 5.1.1. Canonical Presentation Format . . . . . . . . . . . . 10 65 5.2. CAA issue Property . . . . . . . . . . . . . . . . . . . . 11 66 5.3. CAA issuewild Property . . . . . . . . . . . . . . . . . . 12 67 5.4. CAA iodef Property . . . . . . . . . . . . . . . . . . . . 12 68 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 69 6.1. Non-Compliance by Certification Authority . . . . . . . . 13 70 6.2. Mis-Issue by Authorized Certification Authority . . . . . 13 71 6.3. Suppression or spoofing of CAA records . . . . . . . . . . 13 72 6.4. Denial of Service . . . . . . . . . . . . . . . . . . . . 14 73 6.5. Abuse of the Critical Flag . . . . . . . . . . . . . . . . 14 74 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 75 7.1. Registration of the CAA Resource Record Type . . . . . . . 14 76 7.2. Certification Authority Authorization Properties . . . . . 15 77 7.3. Certification Authority Authorization Flags . . . . . . . 15 78 7.4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . 16 79 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 80 8.1. Normative References . . . . . . . . . . . . . . . . . . . 16 81 8.2. Informative References . . . . . . . . . . . . . . . . . 17 82 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 84 1. Introduction 86 The Certification Authority Authorization (CAA) DNS Resource Record 87 allows a DNS domain name holder to specify the Certification 88 Authorities authorized to issue certificates for that domain. 89 Publication of CAA resource records allow a public Certification 90 Authority (CA) to implement additional controls to reduce the risk of 91 unintended certificate mis-issue. 93 Like the TLSA record defined in DNS-Based Authentication of Named 94 Entities (DANE) [DANE], CAA records are used as a part of a mechanism 95 for checking PKIX certificate data. The distinction between the two 96 specifications is that CAA records specify a authorization control to 97 be performed by a certificate issuer before issue of a certificate 98 and TLSA records specify a verification control to be performed by a 99 Relying Party after the certificate is issued. 101 Conformance with a published CAA record is a necessary but not 102 sufficient condition for issueance of a certificate. Before issuing 103 a certificate, a PKIX CA is required to validate the request 104 according to the policies set out in its Certificate Policy. In the 105 case of a public CA that validates certificate requests as a third 106 party, the certificate will be typically issued under a public trust 107 anchor certificate embedded in one or more relevant Relying 108 Applications. 110 Criteria for inclusion of embedded trust anchor certificates in 111 applications are outside the scope of this document. Typically such 112 criteria require the CA to publish a Certificate Practices Statement 113 (CPS) that specifies how the requirements of the Certificate Policy 114 (CP) are achieved. It is also common for a CA to engage an 115 independent third party auditor to prepare an annual audit statement 116 of its performance against its CPS. 118 A set of CAA records describes only current grants of authority to 119 issue certificates for the corresponding DNS domain. Since a 120 certificate is typically valid for at least a year, it is possible 121 that a certificate that is not conformant with the CAA records 122 currently published was conformant with the CAA records published at 123 the time that the certificate was issued. Relying Applications MUST 124 NOT use CAA records as part of certificate validation. 126 CAA Records MAY be used by Certificate Evaluators as a possible 127 indicator of a security policy violation. Such use SHOULD take 128 account of the possibility that published CAA records changed between 129 the time a certificate was issued and the time at which the 130 certificate was observed by the Certificate Evaluator. 132 2. Definitions 134 2.1. Requirements Language 136 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 137 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 138 document are to be interpreted as described in [RFC2119]. 140 2.2. Defined Terms 142 The following terms are used in this document: 144 Authorization Entry: An authorization assertion that grants or 145 denies a specific set of permissions to a specific group of 146 entities. 148 Certificate: An X.509 Certificate, as specified in [RFC5280]. 150 Certificate Evaluator: A party other than a Relying Party that 151 evaluates the trustworthiness of certificates issued by 152 Certification Authorities. 154 Certification Authority (CA): An Issuer that issues Certificates in 155 accordance with a specified Certificate Policy. 157 Certificate Policy (CP): Specifies the criteria that a Certification 158 Authority undertakes to meet in its issue of certificates. See 159 [RFC3647]. 161 Certification Practices Statement (CPS): Specifies the means by 162 which the criteria of the Certificate Policy are met. In most 163 cases this will be the document against which the operations of 164 the Certification Authority are audited. See [RFC3647]. 166 Domain: A DNS Domain Name. 168 Domain Name: A DNS Domain name as specified in [STD13]. 170 Domain Name System (DNS): The Internet naming system specified in 171 [STD13]. 173 DNS Security (DNSSEC): Extensions to the DNS that provide 174 authentication services as specified in [RFC4033], [RFC4034], 175 [RFC4035], [RFC5155] and revisions. 177 Issuer: An entity that issues Certificates. See [RFC5280]. 179 Property: The tag-value portion of a CAA Resource Record. 181 Property Tag: The tag portion of a CAA Resource Record. 183 Property Value: The value portion of a CAA Resource Record. 185 Public Key Infrastructure X.509 (PKIX): Standards and specifications 186 issued by the IETF that apply the [X.509] certificate standards 187 specified by the ITU to Internet applications as specified in 188 [RFC5280] and related documents. 190 Resource Record (RR): A particular entry in the DNS including the 191 owner name, class, type, time to live, and data, as defined in 192 [RFC1035] and [RFC2181]. 194 Resource Record Set(RRSet): A set of Resource Records or a 195 particularowner name, classand type. The time to live on all RRs 196 with an RRSet is always the same but the data may be different 197 among RRs in the RRSet. 199 Relying Party: A party that makes use of an application whose 200 operation depends on use of a Certificate for making a security 201 decision. See [RFC5280]. 203 Relying Application: An application whose operation depends on use 204 of a Certificate for making a security decision. 206 3. The CAA RR type 208 A CAA RR consists of a flags byte and a tag-value pair referred to as 209 a property. Multiple properties MAY be associated with the same 210 domain name by publishing multiple CAA RRs at that domain name. The 211 following flag is defined: 213 Issuer Critical: If set (=1), indicates that the corresponding 214 property entry tag MUST be understood if the semantics of the CAA 215 record are to be correctly interpreted by an issuer. 217 Issuers MUST NOT issue certificates for a domain if the relevant 218 CAA Resource Record set contains unknown property entry tags that 219 have the Critical bit set. 221 The following property tags are defined: 223 issue [; ]* : The issue property 224 entry authorizes the holder of the domain name or a party acting under the explicit authority of the holder 226 of that domain name to issue certificates for the domain in which 227 the property is published. 229 iodef : Specifies a URL to which an issuer MAY report 230 certificate issue requests that are inconsistent with the issuer's 231 Certification Practices or Certificate Policy, or that a 232 certificate evaluator may use to report observation of a possible 233 policy violation. The IODEF format is used [RFC5070]. 235 The following example is a DNS zone file (see [RFC1035]) that informs 236 CAs that certificates are not to be issued except by the holder of 237 the domain name 'ca.example.net' or an authorized agent thereof. 238 This policy applies to all subordinate domains under example.com. 240 $ORIGIN example.com 241 . CAA 0 issue "ca.example.net" 243 If the domain name holder specifies one or more iodef properties, a 244 certificate issuer MAY report invalid certificate requests to that 245 address. In the following example the domain name holder specifies 246 that reports may be made by means of email with the IODEF data as an 247 attachment, a Web service [RFC6546] or both: 249 $ORIGIN example.com 250 . CAA 0 issue "ca.example.net" 251 . CAA 0 iodef "mailto:security@example.com" 252 . CAA 0 iodef "http://iodef.example.com/" 254 A certificate issuer MAY specify additional parameters that allow 255 customers to specify additional parameters governing certificate 256 issuance. This might be the Certificate Policy under which the 257 certificate is to be issued, the authentication process to be used 258 might be specified or an account number specified by the CA to enable 259 these parameters to be retrieved. 261 For example, the CA 'ca.example.net' has requested its customer 262 'example.com' to specify the CA's account number '230123' in each of 263 the customer's CAA records. 265 $ORIGIN example.com 266 . CAA 0 issue "ca.example.net; account=230123" 268 The syntax of additional parameters is a sequence of tag-value pairs 269 as defined in section Section 5.2. The semantics of such parameters 270 is left to site policy and is outside the scope of this document. 272 The critical flag is intended to permit future versions CAA to 273 introduce new semantics that MUST be understood for correct 274 processing of the record, preventing conforming CAs that do not 275 recognize the new semantics from issuing certificates for the 276 indicated domains. 278 In the following example, the property 'tbs' is flagged as critical. 279 Neither the example.net CA, nor any other issuer is authorized to 280 issue under either policy unless the processing rules for the 'tbs' 281 property tag are understood. 283 $ORIGIN example.com 284 . CAA 0 issue "ca.example.net; policy=ev" 285 . CAA 128 tbs "Unknown" 287 Note that the above restrictions only apply to issue of certificates. 288 Since the validity of an end entity certificate is typically a year 289 or more, it is quite possible that the CAA records published at a 290 domain will change between the time a certificate was issued and 291 validation by a relying party. 293 4. Certification Authority Processing 295 Before issuing a certificate, a compliant CA MUST check for 296 publication of an relevant CAA Resource Record set. If such a record 297 set exists, a CA MUST NOT issue a certificate unless the CA 298 determines that either (1) the certificate request is consistent with 299 the applicable CAA Resource Record set or (2) that an exception 300 specified in the relevant Certificate Policy or Certification 301 Practices Statement Applies. 303 A certificate request MAY specify more than one domain name and MAY 304 specify wildcard domains. Issuers MUST verify authorization for all 305 the domains and wildcard domains specified in the request. 307 The search for a CAA record climbs the DNS name tree from the 308 specified label up to but not including the DNS root '.'. 310 Given a request for a specific domain X, or a request for a wildcard 311 domain *.X, the relevant record set R(X) is determined as follows: 313 Let CAA(X) be the record set returned in response to performing a CAA 314 record query on the label X, P(X) be the DNS label immediately above 315 X in the DNS hierarchy and A(X) be the target of a CNAME or DNAME 316 alias record specified at the label X. 318 o If CAA(X) is not empty, R(X) = CAA (X), otherwise 320 o If A(X) is not null, and R(A(X)) is not empty, then R(X) = 321 R(A(X)), otherwise 323 o If X is not a top level domain then R(X) = R(P(X), otherwise 325 o R(X) is empty. 327 For example, if a certificate is requested for X.Y.Z the issuer will 328 search for the relevant CAA record set in the following order: 330 X.Y.Z 332 Alias (X.Y.Z) 334 Y.Z 336 Alias (Y.Z) 338 Z 340 Alias (Z) 342 Return Empty 344 4.1. Use of DNS Security 346 Use of DNSSEC to authenticate CAA RRs is strongly RECOMMENDED but not 347 required. An issuer MUST NOT issue certificates if doing so would 348 conflict with the relevant CAA Resource Record set, irrespective of 349 whether the corresponding DNS records are signed. 351 DNSSEC provides a proof of non-existence for both DNS domains and RR 352 set within domains. DNSSEC verification thus enables an issuer to 353 determine if the answer to a CAA record query is empty because the RR 354 set is empty or if it is non-empty but the response has been 355 supressed. 357 Use of DNSSEC allows an issuer to acquire and archive a proof that 358 they were authorized to issue certificates for the domain. 359 Verification of such archives MAY be an audit requirement to verify 360 CAA record processing compliance. Publication of such archives MAY 361 be a transparency requirement to verify CAA record processing 362 compliance. 364 5. Mechanism 366 5.1. Syntax 368 A CAA RR contains a single property entry consisting of a tag value 369 pair. Each tag represents a property of the CAA record. The value 370 of a CAA property is that specified in the corresponding value field. 372 A domain name MAY have multiple CAA RRs associated with it and a 373 given property MAY be specified more than once. 375 The CAA data field contains one property entry. A property entry 376 consists of the following data fields: 378 +0-1-2-3-4-5-6-7-|0-1-2-3-4-5-6-7-| 379 | Flags | Tag Length = n | 380 +----------------+----------------+...+---------------+ 381 | Tag char 0 | Tag Char 1 |...| Tag Char n-1 | 382 +----------------+----------------+...+---------------+ 383 +----------------+----------------+.....+----------------+ 384 | Value byte 0 | Value byte 1 |.....| Value byte m-1 | 385 +----------------+----------------+.....+----------------+ 387 Where n is the length specified in the Tag length field and m is the 388 remaining octets in the Value field (m = d - n - 2) where d is the 389 length of the RDATA section. 391 The data fields are defined as follows: 393 Flags: One octet containing the following fields: 395 Bit 0: Issuer Critical Flag If the value is set (1), the critical 396 flag is asserted and the property MUST be understood if the CAA 397 record is to be correctly processed by a certificate issuer. 399 A Certification Authority MUST NOT issue certificates for any 400 Domain that contains a CAA critical property for an unknown or 401 unsupported property tag that for which the issuer critical 402 flag is set. 404 Note that according to the conventions set out in [RFC1035], Bit 0 405 is the Most Significant Bit and Bit 7 is the Least Significant 406 Bit. Thus the Flags value 1 means that bit 7 is set while a value 407 of 128 means that bit 0 is set according to this convention. 409 All other bit positions are reserved for future use. 411 To ensure compatibility with future extensions to CAA, DNS records 412 compliant with this version of the CAA specification MUST clear 413 (set to "0") all reserved flags bits. Applications that interpret 414 CAA records MUST ignore the value of all reserved flag bits. 416 Tag Length: A single octet containing an unsigned integer specifying 417 the tag length in octets. The tag length MUST be at least 1 and 418 SHOULD be no more than 15. 420 Tag: The property identifier, a sequence of ASCII characters. 422 Tag values MAY contain ASCII characters 'a' through 'z', 'A' 423 through 'Z' and the numbers 0 through 9. Tag values SHOULD NOT 424 contain any other characters. Matching of tag values is case 425 insensitive. 427 Tag values submitted for registration by IANA MUST NOT contain any 428 characters other than the (lowercase) ASCII characters 'a' through 429 'z' and the numbers 0 through 9. 431 Value: A sequence of octets representing the property value. 432 Property values are encoded as binary values and MAY employ sub- 433 formats. 435 The length of the value field is specified implicitly as the 436 remaining length of the enclosing Resource Record data field. 438 5.1.1. Canonical Presentation Format 440 The canonical presentation format of the CAA record is as follows: 442 CAA 444 Where: 446 Flags: Is an unsigned integer between 0 and 255. 448 Tag: Is a non-zero sequence of ASCII letter and numbers in lower 449 case. 451 Value: Is the US-ASCII text Encoding of the value field 453 5.2. CAA issue Property 455 The issue property tag is used to request that certificate issuers 456 perform CAA issue restriction processing for the domain and to grant 457 authorization to specific certificate issuers. 459 The CAA issue property value has the following sub-syntax (specified 460 in ABNF as per [RFC5234]). 462 Property = space [domain] space [";" space * (parameter space) 464 domain = label *("." label) 465 label = (ALPHA / DIGIT) * ( ["-"] (ALPHA / DIGIT )) 467 space = *(SP / HTAB) 469 parameter = / space tag "=" value 471 tag = 1* (ALPHA / DIGIT) 473 value = *VCHAR | DQUOTE *(%x20-21 / %x23-7E) DQUOTE 475 For consistency with other aspects of DNS administration, Domain name 476 values are specified in Letter-Digit-Hyphen Label (LDH-Label) form. 478 A CAA record with an issue parameter tag that does not specify a 479 domain name is a request that certificate issuers perform CAA issue 480 restriction processing for the corresponding domain without granting 481 authorization to any certificate issuer. 483 This form of issue restriction would be appropriate to specify that 484 no certificates are to be issued for the domain in question. 486 For example, the following CAA record set requests that no 487 certificates be issued for the domain 'nocerts.example.com' by any 488 certificate issuer. 490 nocerts.example.com CAA 0 issue ";" 492 A CAA record with an issue parameter tag that specifies a domain name 493 is a request that certificate issuers perform CAA issue restriction 494 processing for the corresponding domain and grants authorization to 495 the certificate issuer specified by the domain name. 497 For example, the following CAA record set requests that no 498 certificates be issued for the domain 'certs.example.com' by any 499 certificate issuer other than the example.net certificate issuer. 501 certs.example.com CAA 0 issue "example.net" 503 CAA authorizations are additive. thus the result of specifying both 504 the empty issuer and a specified issuer is the same as specifying 505 just the specified issuer alone. 507 An issuer MAY choose to specify issuer-parameters that further 508 constrain the issue of certificates by that issuer. For example 509 specifying that certificates are to be subject to specific validation 510 polices, billed to certain accounts or issued under specific trust 511 anchors. 513 The semantics of issuer-parameters are determined by the issuer 514 alone. 516 5.3. CAA issuewild Property 518 The issuewild property has the same syntax and semantics as the issue 519 property except that issuewild properties only grant authorization to 520 issue certificates that specify a wildcard domain and issuewild 521 properties take precedence over issue properties when specified. 522 Specifically: 524 issuewild properties MUST be ignored when processing a request for 525 a domain that is not a wildcard domain. 527 If at least one issuewild property is specified in the relevant 528 CAA record set, all issue properties MUST be ignored when 529 processing a request for a domain that is a wildcard domain. 531 5.4. CAA iodef Property 533 The iodef property specifies a means of reporting certificate issue 534 requests or cases of certificate issue for the corresponding domain, 535 that violate the security policy of the issuer or the domain name 536 holder. 538 The Incident Object Description Exchange Format (IODEF) [RFC5070] is 539 used to present the incident report in machine readable form. 541 The iodef property takes a URL as its parameter. The URL scheme type 542 determines the method used for reporting: 544 mailto: The IODEF incident report is reported as a MIME email 545 attachment to an SMTP email that is submitted to the mail address 546 specified. The mail message sent SHOULD contain a brief text 547 message to alert the recipient to the nature of the attachment. 549 http or https: The IODEF report is submitted as a web service 550 request to the HTTP address specified using the protocol specified 551 in [RFC6546]. 553 6. Security Considerations 555 CAA Records assert a security policy that the holder of a domain name 556 wishes to be observed by certificate issuers. The effectiveness of 557 CAA records as an access control mechanism is thus dependent on 558 observance of CAA constraints by issuers. 560 The objective of the CAA record properties described in this document 561 is to reduce the risk of certificate mis-issue rather than avoid 562 reliance on a certificate that has ben mis-issued. DANE [DANE] 563 describes a mechanism for avoiding reliance on mis-issued 564 certificates. 566 6.1. Non-Compliance by Certification Authority 568 CAA records offer CAs a cost-effective means of mitigating the risk 569 of certificate mis-issue: The cost of implementing CAA checks is very 570 small and the potential costs of a mis-issue event include the 571 removal of an embedded trust anchor. 573 6.2. Mis-Issue by Authorized Certification Authority 575 Use of CAA records does not prevent mis-issue by an authorized 576 Certification Authority. , i.e., a CA that is authorized to issue 577 certificates for the domain in question by CAA records.. 579 Domain name holders SHOULD verify that the CAs they authorize to 580 issue certificates for their domains employ appropriate controls to 581 ensure that certificates are issued only to authorized parties within 582 their organization. 584 Such controls are most appropriately determined by the domain name 585 holder and the authorized CA(s) directly and are thus out of scope of 586 this document. 588 6.3. Suppression or spoofing of CAA records 590 Suppression of the CAA record or insertion of a bogus CAA record 591 could enable an attacker to obtain a certificate from an issuer that 592 was not authorized to issue for that domain name. 594 Where possible, Issuers SHOULD perform DNSSEC validation to detect 595 missing or modified CAA record sets. 597 In cases where DNSSEC is not deployed in a corresponding domain, an 598 issuer SHOULD attempt to mitigate this risk by employing appropriate 599 DNS security controls. For example all portions of the DNS lookup 600 process SHOULD be performed against the authoritative name server. 601 Data cached by third parties MUST NOT be relied on but MAY be used to 602 support additional anti-spoofing or anti-suppression controls. 604 6.4. Denial of Service 606 Introduction of a malformed or malicious CAA RR could in theory 607 enable a Denial of Service attack. 609 This specific threat is not considered to add significantly to the 610 risk of running an insecure DNS service. 612 An attacker could, in principle, perform a Denial of Service attack 613 against an issuer by requesting a certificate with a maliciously long 614 DNS name. In practice, the DNS protocol imposes a maximum name 615 length and CAA processing does not exacerbate the existing need to 616 mitigate Denial of Service attacks to any meaningful degree. 618 6.5. Abuse of the Critical Flag 620 A Certification Authority could make use of the critical flag to 621 trick customers into publishing records which prevent competing 622 Certification Authorities from issuing certificates even though the 623 customer intends to authorize multiple providers. 625 In practice, such an attack would be of minimal effect since any 626 competent competitor that found itself unable to issue certificates 627 due to lack of support for a property marked critical SHOULD 628 investigate the cause and report the reason to the customer who will 629 thus discover that they had been deceived. 631 7. IANA Considerations 633 7.1. Registration of the CAA Resource Record Type 635 [Note to IANA, the CAA resource record has already been assigned. On 636 issue of this draft as an RFC, the record should be updated to 637 reflect this document as the authoritative specification and this 638 paragraph (but not the following ones deleted] 640 IANA has assigned Resource Record Type 257 for the CAA Resource 641 Record Type and added the line depicted below to the registry named 642 Resource Record (RR) TYPEs and QTYPEs as defined in BCP 42 [RFC6195] 643 and located at http://www.iana.org/assignments/dns-parameters. 645 RR Name Value and meaning Reference 646 ----------- --------------------------------------------- --------- 647 CAA 257 Certification Authority Restriction [RFC-THIS] 649 7.2. Certification Authority Authorization Properties 651 [Note to IANA, this is a new registry that needs to be created and 652 this paragraph but not the following ones deleted.] 654 IANA has created the Certification Authority Authorization Properties 655 registry with the following initial values: 657 Tag Meaning Reference 658 ----------- ---------------------------------- --------- 659 issue Authorization Entry by Domain [RFC-THIS] 660 issuewild Authorization Entry by Domain [RFC-THIS] 661 iodef Report incident by IODEF report [RFC-THIS] 662 auth Reserved 663 path Reserved 664 policy Reserved 666 Although [HB2011]" has expired, deployed clients implement the CAA 667 properties specified in the draft and re-use of these property tags 668 for a different purtpose could cause unexpected behavior. 670 Addition of tag identifiers requires a public specification and 671 expert review as set out in [RFC6195] Section 3.1.1.. 673 The tag space is designed to be sufficiently large that exhausting 674 the possible tag space need not be a concern. The scope of expert 675 review SHOULD be limited to the question of whether the specification 676 provided is sufficiently clear to permit implementation and to avoid 677 unnecessary duplication of functionality. 679 7.3. Certification Authority Authorization Flags 681 IANA has created the Certification Authority Authorization Flags 682 registry with the following initial values: 684 Flag Meaning Reference ----------- ---------------------------------- 685 --------- 0 Issuer Critical Flag [RFC-THIS] 1-7 Reserved> [RFC-THIS] 687 Assignment of new flags follows the 'RFC Required' policy set out in 688 [RFC5226] section 4.1. 690 7.4. Acknowledgements 692 The authors would like to thank the following people who contributed 693 to the design and documentation of this work item: Chris Evans, 694 Stephen Farrell, Jeff Hodges, Paul Hoffman, Stephen Kent, Adam 695 Langley, Ben Laurie, Chris Palmer, Scott Schmit, Sean Turner and Ben 696 Wilson. 698 8. References 700 8.1. Normative References 702 [DANE] P. Hoffman., J. Schlyter, "draft-ietf-dane-protocol-23: 703 Replace with reference to RFC before issue.", 2012. 705 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", 706 STD 13, RFC 1034, November 1987. 708 [RFC1035] Mockapetris, P., "Domain names - implementation and 709 specification", STD 13, RFC 1035, November 1987. 711 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 712 Requirement Levels", BCP 14, RFC 2119, March 1997. 714 [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS 715 Specification", RFC 2181, July 1997. 717 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. 718 Rose, "DNS Security Introduction and Requirements", 719 RFC 4033, March 2005. 721 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 722 Rose, "Resource Records for the DNS Security Extensions", 723 RFC 4034, March 2005. 725 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. 726 Rose, "Protocol Modifications for the DNS Security 727 Extensions", RFC 4035, March 2005. 729 [RFC5070] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident 730 Object Description Exchange Format", RFC 5070, 731 December 2007. 733 [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS 734 Security (DNSSEC) Hashed Authenticated Denial of 735 Existence", RFC 5155, March 2008. 737 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 738 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 739 May 2008. 741 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 742 Specifications: ABNF", STD 68, RFC 5234, January 2008. 744 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 745 Housley, R., and W. Polk, "Internet X.509 Public Key 746 Infrastructure Certificate and Certificate Revocation List 747 (CRL) Profile", RFC 5280, May 2008. 749 [RFC6195] Eastlake, D., "Domain Name System (DNS) IANA 750 Considerations", BCP 42, RFC 6195, March 2011. 752 [RFC6546] Trammell, B., "Transport of Real-time Inter-network 753 Defense (RID) Messages over HTTP/TLS", RFC 6546, 754 April 2012. 756 [STD13] Mockapetris, P., "Domain names - concepts and facilities", 757 STD 13, RFC 1034, November 1987. 759 Mockapetris, P., "Domain names - implementation and 760 specification", STD 13, RFC 1035, November 1987. 762 [X.509] International Telecommunication Union, "ITU-T 763 Recommendation X.509 (11/2008): Information technology - 764 Open systems interconnection - The Directory: Public-key 765 and attribute certificate frameworks", ITU-T 766 Recommendation X.509, November 2008. 768 8.2. Informative References 770 [HB2011] Hallam-Baker, P., Stradling, R., and B. Laurie, "DNS 771 Certification Authority Authorization (CAA) Resource 772 Record", draft-hallambaker-donotissue-04 (work in 773 progress), May 2011. 775 [RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S. 776 Wu, "Internet X.509 Public Key Infrastructure Certificate 777 Policy and Certification Practices Framework", RFC 3647, 778 November 2003. 780 Authors' Addresses 782 Phillip Hallam-Baker 783 Comodo Group Inc. 785 Email: philliph@comodo.com 787 Rob Stradling 788 Comodo CA Ltd. 790 Email: rob.stradling@comodo.com