1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
|
Internet Engineering Task Force (IETF) P. Hallam-Baker
Request for Comments: 6844 Comodo Group, Inc.
Category: Standards Track R. Stradling
ISSN: 2070-1721 Comodo CA, Ltd.
January 2013
DNS Certification Authority Authorization (CAA) Resource Record
Abstract
The Certification Authority Authorization (CAA) DNS Resource Record
allows a DNS domain name holder to specify one or more Certification
Authorities (CAs) authorized to issue certificates for that domain.
CAA Resource Records allow a public Certification Authority to
implement additional controls to reduce the risk of unintended
certificate mis-issue. This document defines the syntax of the CAA
record and rules for processing CAA records by certificate issuers.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc6844.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Hallam-Baker & Stradling Standards Track [Page 1]
^L
RFC 6844 Certification Authority Authorization January 2013
Table of Contents
1. Introduction ....................................................2
2. Definitions .....................................................3
2.1. Requirements Language ......................................3
2.2. Defined Terms ..............................................3
3. The CAA RR Type .................................................5
4. Certification Authority Processing ..............................7
4.1. Use of DNS Security ........................................8
5. Mechanism .......................................................8
5.1. Syntax .....................................................8
5.1.1. Canonical Presentation Format ......................10
5.2. CAA issue Property ........................................10
5.3. CAA issuewild Property ....................................12
5.4. CAA iodef Property ........................................12
6. Security Considerations ........................................13
6.1. Non-Compliance by Certification Authority .................13
6.2. Mis-Issue by Authorized Certification Authority ...........13
6.3. Suppression or Spoofing of CAA Records ....................13
6.4. Denial of Service .........................................14
6.5. Abuse of the Critical Flag ................................14
7. IANA Considerations ............................................14
7.1. Registration of the CAA Resource Record Type ..............14
7.2. Certification Authority Restriction Properties ............15
7.3. Certification Authority Restriction Flags .................15
8. Acknowledgements ...............................................16
9. References .....................................................16
9.1. Normative References ......................................16
9.2. Informative References ....................................17
1. Introduction
The Certification Authority Authorization (CAA) DNS Resource Record
allows a DNS domain name holder to specify the Certification
Authorities (CAs) authorized to issue certificates for that domain.
Publication of CAA Resource Records allows a public Certification
Authority to implement additional controls to reduce the risk of
unintended certificate mis-issue.
Like the TLSA record defined in DNS-Based Authentication of Named
Entities (DANE) [RFC6698], CAA records are used as a part of a
mechanism for checking PKIX certificate data. The distinction
between the two specifications is that CAA records specify an
authorization control to be performed by a certificate issuer before
issue of a certificate and TLSA records specify a verification
control to be performed by a relying party after the certificate is
issued.
Hallam-Baker & Stradling Standards Track [Page 2]
^L
RFC 6844 Certification Authority Authorization January 2013
Conformance with a published CAA record is a necessary but not
sufficient condition for issuance of a certificate. Before issuing a
certificate, a PKIX CA is required to validate the request according
to the policies set out in its Certificate Policy. In the case of a
public CA that validates certificate requests as a third party, the
certificate will typically be issued under a public trust anchor
certificate embedded in one or more relevant Relying Applications.
Criteria for inclusion of embedded trust anchor certificates in
applications are outside the scope of this document. Typically, such
criteria require the CA to publish a Certificate Practices Statement
(CPS) that specifies how the requirements of the Certificate Policy
(CP) are achieved. It is also common for a CA to engage an
independent third-party auditor to prepare an annual audit statement
of its performance against its CPS.
A set of CAA records describes only current grants of authority to
issue certificates for the corresponding DNS domain. Since a
certificate is typically valid for at least a year, it is possible
that a certificate that is not conformant with the CAA records
currently published was conformant with the CAA records published at
the time that the certificate was issued. Relying Applications MUST
NOT use CAA records as part of certificate validation.
CAA records MAY be used by Certificate Evaluators as a possible
indicator of a security policy violation. Such use SHOULD take
account of the possibility that published CAA records changed between
the time a certificate was issued and the time at which the
certificate was observed by the Certificate Evaluator.
2. Definitions
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
2.2. Defined Terms
The following terms are used in this document:
Authorization Entry: An authorization assertion that grants or
denies a specific set of permissions to a specific group of
entities.
Certificate: An X.509 Certificate, as specified in [RFC5280].
Hallam-Baker & Stradling Standards Track [Page 3]
^L
RFC 6844 Certification Authority Authorization January 2013
Certificate Evaluator: A party other than a relying party that
evaluates the trustworthiness of certificates issued by
Certification Authorities.
Certification Authority (CA): An issuer that issues certificates in
accordance with a specified Certificate Policy.
Certificate Policy (CP): Specifies the criteria that a Certification
Authority undertakes to meet in its issue of certificates. See
[RFC3647].
Certification Practices Statement (CPS): Specifies the means by
which the criteria of the Certificate Policy are met. In most
cases, this will be the document against which the operations of
the Certification Authority are audited. See [RFC3647].
Domain: A DNS Domain Name.
Domain Name: A DNS Domain Name as specified in [STD13].
Domain Name System (DNS): The Internet naming system specified in
[STD13].
DNS Security (DNSSEC): Extensions to the DNS that provide
authentication services as specified in [RFC4033], [RFC4034],
[RFC4035], [RFC5155], and revisions.
Issuer: An entity that issues certificates. See [RFC5280].
Property: The tag-value portion of a CAA Resource Record.
Property Tag: The tag portion of a CAA Resource Record.
Property Value: The value portion of a CAA Resource Record.
Public Key Infrastructure X.509 (PKIX): Standards and specifications
issued by the IETF that apply the [X.509] certificate standards
specified by the ITU to Internet applications as specified in
[RFC5280] and related documents.
Resource Record (RR): A particular entry in the DNS including the
owner name, class, type, time to live, and data, as defined in
[STD13] and [RFC2181].
Resource Record Set (RRSet): A set of Resource Records or a
particular owner name, class, and type. The time to live on all
RRs with an RRSet is always the same, but the data may be
different among RRs in the RRSet.
Hallam-Baker & Stradling Standards Track [Page 4]
^L
RFC 6844 Certification Authority Authorization January 2013
Relying Party: A party that makes use of an application whose
operation depends on use of a certificate for making a security
decision. See [RFC5280].
Relying Application: An application whose operation depends on use
of a certificate for making a security decision.
3. The CAA RR Type
A CAA RR consists of a flags byte and a tag-value pair referred to as
a property. Multiple properties MAY be associated with the same
domain name by publishing multiple CAA RRs at that domain name. The
following flag is defined:
Issuer Critical: If set to '1', indicates that the corresponding
property tag MUST be understood if the semantics of the CAA record
are to be correctly interpreted by an issuer.
Issuers MUST NOT issue certificates for a domain if the relevant
CAA Resource Record set contains unknown property tags that have
the Critical bit set.
The following property tags are defined:
issue <Issuer Domain Name> [; <name>=<value> ]* : The issue property
entry authorizes the holder of the domain name <Issuer Domain
Name> or a party acting under the explicit authority of the holder
of that domain name to issue certificates for the domain in which
the property is published.
issuewild <Issuer Domain Name> [; <name>=<value> ]* : The issuewild
property entry authorizes the holder of the domain name <Issuer
Domain Name> or a party acting under the explicit authority of the
holder of that domain name to issue wildcard certificates for the
domain in which the property is published.
iodef <URL> : Specifies a URL to which an issuer MAY report
certificate issue requests that are inconsistent with the issuer's
Certification Practices or Certificate Policy, or that a
Certificate Evaluator may use to report observation of a possible
policy violation. The Incident Object Description Exchange Format
(IODEF) format is used [RFC5070].
The following example is a DNS zone file (see [RFC1035]) that informs
CAs that certificates are not to be issued except by the holder of
the domain name 'ca.example.net' or an authorized agent thereof.
This policy applies to all subordinate domains under example.com.
Hallam-Baker & Stradling Standards Track [Page 5]
^L
RFC 6844 Certification Authority Authorization January 2013
$ORIGIN example.com
. CAA 0 issue "ca.example.net"
If the domain name holder specifies one or more iodef properties, a
certificate issuer MAY report invalid certificate requests to that
address. In the following example, the domain name holder specifies
that reports may be made by means of email with the IODEF data as an
attachment, a Web service [RFC6546], or both:
$ORIGIN example.com
. CAA 0 issue "ca.example.net"
. CAA 0 iodef "mailto:security@example.com"
. CAA 0 iodef "http://iodef.example.com/"
A certificate issuer MAY specify additional parameters that allow
customers to specify additional parameters governing certificate
issuance. This might be the Certificate Policy under which the
certificate is to be issued, the authentication process to be used
might be specified, or an account number specified by the CA to
enable these parameters to be retrieved.
For example, the CA 'ca.example.net' has requested its customer
'example.com' to specify the CA's account number '230123' in each of
the customer's CAA records.
$ORIGIN example.com
. CAA 0 issue "ca.example.net; account=230123"
The syntax of additional parameters is a sequence of name-value pairs
as defined in Section 5.2. The semantics of such parameters is left
to site policy and is outside the scope of this document.
The critical flag is intended to permit future versions CAA to
introduce new semantics that MUST be understood for correct
processing of the record, preventing conforming CAs that do not
recognize the new semantics from issuing certificates for the
indicated domains.
In the following example, the property 'tbs' is flagged as critical.
Neither the example.net CA nor any other issuer is authorized to
issue under either policy unless the processing rules for the 'tbs'
property tag are understood.
$ORIGIN example.com
. CAA 0 issue "ca.example.net; policy=ev"
. CAA 128 tbs "Unknown"
Hallam-Baker & Stradling Standards Track [Page 6]
^L
RFC 6844 Certification Authority Authorization January 2013
Note that the above restrictions only apply at certificate issue.
Since the validity of an end entity certificate is typically a year
or more, it is quite possible that the CAA records published at a
domain will change between the time a certificate was issued and
validation by a relying party.
4. Certification Authority Processing
Before issuing a certificate, a compliant CA MUST check for
publication of a relevant CAA Resource Record set. If such a record
set exists, a CA MUST NOT issue a certificate unless the CA
determines that either (1) the certificate request is consistent with
the applicable CAA Resource Record set or (2) an exception specified
in the relevant Certificate Policy or Certification Practices
Statement applies.
A certificate request MAY specify more than one domain name and MAY
specify wildcard domains. Issuers MUST verify authorization for all
the domains and wildcard domains specified in the request.
The search for a CAA record climbs the DNS name tree from the
specified label up to but not including the DNS root '.'.
Given a request for a specific domain X, or a request for a wildcard
domain *.X, the relevant record set R(X) is determined as follows:
Let CAA(X) be the record set returned in response to performing a CAA
record query on the label X, P(X) be the DNS label immediately above
X in the DNS hierarchy, and A(X) be the target of a CNAME or DNAME
alias record specified at the label X.
o If CAA(X) is not empty, R(X) = CAA (X), otherwise
o If A(X) is not null, and R(A(X)) is not empty, then R(X) =
R(A(X)), otherwise
o If X is not a top-level domain, then R(X) = R(P(X)), otherwise
o R(X) is empty.
For example, if a certificate is requested for X.Y.Z the issuer will
search for the relevant CAA record set in the following order:
X.Y.Z
Alias (X.Y.Z)
Y.Z
Hallam-Baker & Stradling Standards Track [Page 7]
^L
RFC 6844 Certification Authority Authorization January 2013
Alias (Y.Z)
Z
Alias (Z)
Return Empty
4.1. Use of DNS Security
Use of DNSSEC to authenticate CAA RRs is strongly RECOMMENDED but not
required. An issuer MUST NOT issue certificates if doing so would
conflict with the relevant CAA Resource Record set, irrespective of
whether the corresponding DNS records are signed.
DNSSEC provides a proof of non-existence for both DNS domains and RR
set within domains. DNSSEC verification thus enables an issuer to
determine if the answer to a CAA record query is empty because the RR
set is empty or if it is non-empty but the response has been
suppressed.
Use of DNSSEC allows an issuer to acquire and archive a proof that
they were authorized to issue certificates for the domain.
Verification of such archives MAY be an audit requirement to verify
CAA record processing compliance. Publication of such archives MAY
be a transparency requirement to verify CAA record processing
compliance.
5. Mechanism
5.1. Syntax
A CAA RR contains a single property entry consisting of a tag-value
pair. Each tag represents a property of the CAA record. The value
of a CAA property is that specified in the corresponding value field.
A domain name MAY have multiple CAA RRs associated with it and a
given property MAY be specified more than once.
The CAA data field contains one property entry. A property entry
consists of the following data fields:
Hallam-Baker & Stradling Standards Track [Page 8]
^L
RFC 6844 Certification Authority Authorization January 2013
+0-1-2-3-4-5-6-7-|0-1-2-3-4-5-6-7-|
| Flags | Tag Length = n |
+----------------+----------------+...+---------------+
| Tag char 0 | Tag char 1 |...| Tag char n-1 |
+----------------+----------------+...+---------------+
+----------------+----------------+.....+----------------+
| Value byte 0 | Value byte 1 |.....| Value byte m-1 |
+----------------+----------------+.....+----------------+
Where n is the length specified in the Tag length field and m is the
remaining octets in the Value field (m = d - n - 2) where d is the
length of the RDATA section.
The data fields are defined as follows:
Flags: One octet containing the following fields:
Bit 0, Issuer Critical Flag: If the value is set to '1', the
critical flag is asserted and the property MUST be understood
if the CAA record is to be correctly processed by a certificate
issuer.
A Certification Authority MUST NOT issue certificates for any
Domain that contains a CAA critical property for an unknown or
unsupported property tag that for which the issuer critical
flag is set.
Note that according to the conventions set out in [RFC1035], bit 0
is the Most Significant Bit and bit 7 is the Least Significant
Bit. Thus, the Flags value 1 means that bit 7 is set while a value
of 128 means that bit 0 is set according to this convention.
All other bit positions are reserved for future use.
To ensure compatibility with future extensions to CAA, DNS records
compliant with this version of the CAA specification MUST clear
(set to "0") all reserved flags bits. Applications that interpret
CAA records MUST ignore the value of all reserved flag bits.
Tag Length: A single octet containing an unsigned integer specifying
the tag length in octets. The tag length MUST be at least 1 and
SHOULD be no more than 15.
Hallam-Baker & Stradling Standards Track [Page 9]
^L
RFC 6844 Certification Authority Authorization January 2013
Tag: The property identifier, a sequence of US-ASCII characters.
Tag values MAY contain US-ASCII characters 'a' through 'z', 'A'
through 'Z', and the numbers 0 through 9. Tag values SHOULD NOT
contain any other characters. Matching of tag values is case
insensitive.
Tag values submitted for registration by IANA MUST NOT contain any
characters other than the (lowercase) US-ASCII characters 'a'
through 'z' and the numbers 0 through 9.
Value: A sequence of octets representing the property value.
Property values are encoded as binary values and MAY employ sub-
formats.
The length of the value field is specified implicitly as the
remaining length of the enclosing Resource Record data field.
5.1.1. Canonical Presentation Format
The canonical presentation format of the CAA record is:
CAA <flags> <tag> <value>
Where:
Flags: Is an unsigned integer between 0 and 255.
Tag: Is a non-zero sequence of US-ASCII letters and numbers in lower
case.
Value: Is the <character-string> encoding of the value field as
specified in [RFC1035], Section 5.1.
5.2. CAA issue Property
The issue property tag is used to request that certificate issuers
perform CAA issue restriction processing for the domain and to grant
authorization to specific certificate issuers.
The CAA issue property value has the following sub-syntax (specified
in ABNF as per [RFC5234]).
Hallam-Baker & Stradling Standards Track [Page 10]
^L
RFC 6844 Certification Authority Authorization January 2013
issuevalue = space [domain] space [";" *(space parameter) space]
domain = label *("." label)
label = (ALPHA / DIGIT) *( *("-") (ALPHA / DIGIT))
space = *(SP / HTAB)
parameter = tag "=" value
tag = 1*(ALPHA / DIGIT)
value = *VCHAR
For consistency with other aspects of DNS administration, domain name
values are specified in letter-digit-hyphen Label (LDH-Label) form.
A CAA record with an issue parameter tag that does not specify a
domain name is a request that certificate issuers perform CAA issue
restriction processing for the corresponding domain without granting
authorization to any certificate issuer.
This form of issue restriction would be appropriate to specify that
no certificates are to be issued for the domain in question.
For example, the following CAA record set requests that no
certificates be issued for the domain 'nocerts.example.com' by any
certificate issuer.
nocerts.example.com CAA 0 issue ";"
A CAA record with an issue parameter tag that specifies a domain name
is a request that certificate issuers perform CAA issue restriction
processing for the corresponding domain and grants authorization to
the certificate issuer specified by the domain name.
For example, the following CAA record set requests that no
certificates be issued for the domain 'certs.example.com' by any
certificate issuer other than the example.net certificate issuer.
certs.example.com CAA 0 issue "example.net"
CAA authorizations are additive; thus, the result of specifying both
the empty issuer and a specified issuer is the same as specifying
just the specified issuer alone.
Hallam-Baker & Stradling Standards Track [Page 11]
^L
RFC 6844 Certification Authority Authorization January 2013
An issuer MAY choose to specify issuer-parameters that further
constrain the issue of certificates by that issuer, for example,
specifying that certificates are to be subject to specific validation
polices, billed to certain accounts, or issued under specific trust
anchors.
The semantics of issuer-parameters are determined by the issuer
alone.
5.3. CAA issuewild Property
The issuewild property has the same syntax and semantics as the issue
property except that issuewild properties only grant authorization to
issue certificates that specify a wildcard domain and issuewild
properties take precedence over issue properties when specified.
Specifically:
issuewild properties MUST be ignored when processing a request for
a domain that is not a wildcard domain.
If at least one issuewild property is specified in the relevant
CAA record set, all issue properties MUST be ignored when
processing a request for a domain that is a wildcard domain.
5.4. CAA iodef Property
The iodef property specifies a means of reporting certificate issue
requests or cases of certificate issue for the corresponding domain
that violate the security policy of the issuer or the domain name
holder.
The Incident Object Description Exchange Format (IODEF) [RFC5070] is
used to present the incident report in machine-readable form.
The iodef property takes a URL as its parameter. The URL scheme type
determines the method used for reporting:
mailto: The IODEF incident report is reported as a MIME email
attachment to an SMTP email that is submitted to the mail address
specified. The mail message sent SHOULD contain a brief text
message to alert the recipient to the nature of the attachment.
http or https: The IODEF report is submitted as a Web service
request to the HTTP address specified using the protocol specified
in [RFC6546].
Hallam-Baker & Stradling Standards Track [Page 12]
^L
RFC 6844 Certification Authority Authorization January 2013
6. Security Considerations
CAA records assert a security policy that the holder of a domain name
wishes to be observed by certificate issuers. The effectiveness of
CAA records as an access control mechanism is thus dependent on
observance of CAA constraints by issuers.
The objective of the CAA record properties described in this document
is to reduce the risk of certificate mis-issue rather than avoid
reliance on a certificate that has been mis-issued. DANE [RFC6698]
describes a mechanism for avoiding reliance on mis-issued
certificates.
6.1. Non-Compliance by Certification Authority
CAA records offer CAs a cost-effective means of mitigating the risk
of certificate mis-issue: the cost of implementing CAA checks is very
small and the potential costs of a mis-issue event include the
removal of an embedded trust anchor.
6.2. Mis-Issue by Authorized Certification Authority
Use of CAA records does not prevent mis-issue by an authorized
Certification Authority, i.e., a CA that is authorized to issue
certificates for the domain in question by CAA records.
Domain name holders SHOULD verify that the CAs they authorize to
issue certificates for their domains employ appropriate controls to
ensure that certificates are issued only to authorized parties within
their organization.
Such controls are most appropriately determined by the domain name
holder and the authorized CA(s) directly and are thus out of scope of
this document.
6.3. Suppression or Spoofing of CAA Records
Suppression of the CAA record or insertion of a bogus CAA record
could enable an attacker to obtain a certificate from an issuer that
was not authorized to issue for that domain name.
Where possible, issuers SHOULD perform DNSSEC validation to detect
missing or modified CAA record sets.
In cases where DNSSEC is not deployed in a corresponding domain, an
issuer SHOULD attempt to mitigate this risk by employing appropriate
DNS security controls. For example, all portions of the DNS lookup
Hallam-Baker & Stradling Standards Track [Page 13]
^L
RFC 6844 Certification Authority Authorization January 2013
process SHOULD be performed against the authoritative name server.
Data cached by third parties MUST NOT be relied on but MAY be used to
support additional anti-spoofing or anti-suppression controls.
6.4. Denial of Service
Introduction of a malformed or malicious CAA RR could in theory
enable a Denial-of-Service (DoS) attack.
This specific threat is not considered to add significantly to the
risk of running an insecure DNS service.
An attacker could, in principle, perform a DoS attack against an
issuer by requesting a certificate with a maliciously long DNS name.
In practice, the DNS protocol imposes a maximum name length and CAA
processing does not exacerbate the existing need to mitigate DoS
attacks to any meaningful degree.
6.5. Abuse of the Critical Flag
A Certification Authority could make use of the critical flag to
trick customers into publishing records that prevent competing
Certification Authorities from issuing certificates even though the
customer intends to authorize multiple providers.
In practice, such an attack would be of minimal effect since any
competent competitor that found itself unable to issue certificates
due to lack of support for a property marked critical SHOULD
investigate the cause and report the reason to the customer. The
customer will thus discover that they had been deceived.
7. IANA Considerations
7.1. Registration of the CAA Resource Record Type
IANA has assigned Resource Record Type 257 for the CAA Resource
Record Type and added the line depicted below to the registry named
"Resource Record (RR) TYPEs" and QTYPEs as defined in BCP 42
[RFC6195] and located at
http://www.iana.org/assignments/dns-parameters.
RR Name Value and meaning Reference
----------- --------------------------------------------- ---------
CAA 257 Certification Authority Restriction [RFC6844]
Hallam-Baker & Stradling Standards Track [Page 14]
^L
RFC 6844 Certification Authority Authorization January 2013
7.2. Certification Authority Restriction Properties
IANA has created the "Certification Authority Restriction Properties"
registry with the following initial values:
Tag Meaning Reference
----------- -------------------------------------- ---------
issue Authorization Entry by Domain [RFC6844]
issuewild Authorization Entry by Wildcard Domain [RFC6844]
iodef Report incident by IODEF report [RFC6844]
auth Reserved [HB2011]
path Reserved [HB2011]
policy Reserved [HB2011]
Although [HB2011] has expired, deployed clients implement the CAA
properties specified in the document and reuse of these property tags
for a different purpose could cause unexpected behavior.
Addition of tag identifiers requires a public specification and
Expert Review as set out in [RFC6195], Section 3.1.1.
The tag space is designed to be sufficiently large that exhausting
the possible tag space need not be a concern. The scope of Expert
Review SHOULD be limited to the question of whether the specification
provided is sufficiently clear to permit implementation and to avoid
unnecessary duplication of functionality.
7.3. Certification Authority Restriction Flags
IANA has created the "Certification Authority Restriction Flags"
registry with the following initial values:
Flag Meaning Reference
----------- ---------------------------------- ---------
0 Issuer Critical Flag [RFC6844]
1-7 Reserved> [RFC6844]
Assignment of new flags follows the RFC Required policy set out in
[RFC5226], Section 4.1.
Hallam-Baker & Stradling Standards Track [Page 15]
^L
RFC 6844 Certification Authority Authorization January 2013
8. Acknowledgements
The authors would like to thank the following people who contributed
to the design and documentation of this work item: Chris Evans,
Stephen Farrell, Jeff Hodges, Paul Hoffman, Stephen Kent, Adam
Langley, Ben Laurie, James Manager, Chris Palmer, Scott Schmit, Sean
Turner, and Ben Wilson.
9. References
9.1. Normative References
[RFC1035] Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS
Specification", RFC 2181, July 1997.
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005.
[RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "Resource Records for the DNS Security Extensions",
RFC 4034, March 2005.
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
Rose, "Protocol Modifications for the DNS Security
Extensions", RFC 4035, March 2005.
[RFC5070] Danyliw, R., Meijer, J., and Y. Demchenko, "The Incident
Object Description Exchange Format", RFC 5070,
December 2007.
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS
Security (DNSSEC) Hashed Authenticated Denial of
Existence", RFC 5155, March 2008.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
Hallam-Baker & Stradling Standards Track [Page 16]
^L
RFC 6844 Certification Authority Authorization January 2013
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008.
[RFC6195] Eastlake, D., "Domain Name System (DNS) IANA
Considerations", BCP 42, RFC 6195, March 2011.
[RFC6546] Trammell, B., "Transport of Real-time Inter-network
Defense (RID) Messages over HTTP/TLS", RFC 6546,
April 2012.
[RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
of Named Entities (DANE) Transport Layer Security (TLS)
Protocol: TLSA", RFC 6698, August 2012.
[STD13] Mockapetris, P., "Domain names - concepts and facilities",
STD 13, RFC 1034, November 1987.
Mockapetris, P., "Domain names - implementation and
specification", STD 13, RFC 1035, November 1987.
[X.509] International Telecommunication Union, "ITU-T
Recommendation X.509 (11/2008): Information technology -
Open systems interconnection - The Directory: Public-key
and attribute certificate frameworks", ITU-T
Recommendation X.509, November 2008.
9.2. Informative References
[HB2011] Hallam-Baker, P., Stradling, R., and B. Laurie, "DNS
Certification Authority Authorization (CAA) Resource
Record", Work in Progress, May 2011.
[RFC3647] Chokhani, S., Ford, W., Sabett, R., Merrill, C., and S.
Wu, "Internet X.509 Public Key Infrastructure Certificate
Policy and Certification Practices Framework", RFC 3647,
November 2003.
Hallam-Baker & Stradling Standards Track [Page 17]
^L
RFC 6844 Certification Authority Authorization January 2013
Authors' Addresses
Phillip Hallam-Baker
Comodo Group, Inc.
EMail: philliph@comodo.com
Rob Stradling
Comodo CA, Ltd.
EMail: rob.stradling@comodo.com
Hallam-Baker & Stradling Standards Track [Page 18]
^L
|