DNS Certification Authority Authorization (CAA) is an
Internet security
Internet security is a branch of computer security. It encompasses the Internet, browser security, web site security, and network security as it applies to other applications or operating systems as a whole. Its objective is to establish rules ...
policy mechanism for
domain name
In the Internet, a domain name is a string that identifies a realm of administrative autonomy, authority, or control. Domain names are often used to identify services provided through the Internet, such as websites, email services, and more. ...
registrants to indicate to
certificate authorities whether they are authorized to issue
digital certificates for a particular
domain name
In the Internet, a domain name is a string that identifies a realm of administrative autonomy, authority, or control. Domain names are often used to identify services provided through the Internet, such as websites, email services, and more. ...
. Registrants publish a "CAA"
Domain Name System
The Domain Name System (DNS) is a hierarchical and distributed name service that provides a naming system for computers, services, and other resources on the Internet or other Internet Protocol (IP) networks. It associates various information ...
(DNS)
resource record which compliant certificate authorities check for before issuing digital certificates.
CAA was drafted by computer scientists
Phillip Hallam-Baker and Rob Stradling in response to increasing concerns about the security of publicly trusted certificate authorities. It is an
Internet Engineering Task Force
The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
(IETF)
proposed standard.
Background
A
series of incorrectly issued certificates from 2001 onwards
damaged trust in publicly trusted certificate authorities,
and accelerated work on various security mechanisms, including
Certificate Transparency to track misissuance,
HTTP Public Key Pinning and
DANE to block misissued certificates on the
client side, and CAA to block misissuance on the certificate authority side.
The first draft of CAA was written by
Phillip Hallam-Baker and Rob Stradling, and submitted as an
IETF Internet Draft in October 2010.
This was progressively improved by the
PKIX Working Group,
and approved by the
IESG as , a
Proposed Standard, in January 2013.
CA/Browser Forum discussion began shortly afterward,
and in March 2017 they voted in favor of making CAA implementation mandatory for all certificate authorities by September 2017.
At least one certificate authority,
Comodo, failed to implement CAA before the deadline.
A 2017 study by the
Technical University of Munich
The Technical University of Munich (TUM or TU Munich; ) is a public research university in Munich, Bavaria, Germany. It specializes in engineering, technology, medicine, and applied and natural sciences.
Established in 1868 by King Ludwig II ...
found many instances where certificate authorities failed to correctly implement some part of the standard.
In September 2017, Jacob Hoffman-Andrews submitted an Internet Draft intended to simplify the CAA standard. This was improved by the LAMPS Working Group, and approved as , a Proposed Standard, in November 2019.
,
Qualys
Qualys, Inc. is an American technology firm based in Foster City, California, specializing in cloud security, compliance and related services.
Qualys has over 10,300 customers in more than 130 countries. The company has strategic partnerships ...
reports that only 15.4% of the 150,000 most popular
TLS-supporting websites use CAA records.
Record
Certificate authorities implementing CAA perform a
DNS lookup for CAA
resource records, and if any are found, ensure that they are listed as an authorized party before issuing a
digital certificate
In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the validity of a public key. The certificate includes the public key and information about it, informa ...
. Each CAA resource record consists of the following components:
; flag : A
flags byte which implements an
extensible signaling system for future use. , only the ''issuer critical'' flag has been defined, which instructs certificate authorities that they must understand the corresponding property tag before issuing a certificate.
This flag allows the protocol to be extended in the future with mandatory extensions,
similar to
critical extensions in X.509 certificates.
; tag :One of the following properties from the
IANA
The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Internet P ...
Certification Authority Restriction Properties registry:
:; issue: This property authorizes the holder of the domain specified in the associated property value to issue certificates for the domain for which the property is published.
:; issuewild :This property acts like ''issue'' but only authorizes the issuance of
wildcard certificate
In cryptography, a public key certificate, also known as a digital certificate or identity certificate, is an electronic document used to prove the validity of a public key. The certificate includes the public key and information about it, informa ...
s, and takes precedence over the ''issue'' property for wildcard certificate requests.
:; issuemail : This property authorizes the holder of the domain specified in the associated property value to issue
S/MIME certificates for the domain for which the property is published.
An absent property does not prevent S/MIME certificate issuance.
:; issuevmc : This property authorizes the holder of the domain specified in the associated property value to issue
BIMI certificates for the domain for which the property is published. An absent property does not prevent BIMI certificate issuance.
:; iodef : This property specifies a method for certificate authorities to report invalid certificate requests to the domain name holder using the
Incident Object Description Exchange Format. , not all certificate authorities support this tag, so there is no guarantee that all certificate issuances will be reported.
:; contactemail : Increasingly, contact information is not available in WHOIS due to concerns about potential GDPR violations. This property allows domain holders to publish contact information in DNS.
:; contactphone : As above, for phone numbers.
; value: The value associated with the chosen property tag.
The lack of any CAA records authorizes normal unrestricted issuance, and the presence of a single blank ''issue'' tag disallows all issuance.
Third parties monitoring certificate authority behavior might check newly issued certificates against the domain's CAA records. states; CAA records MAY be used by Certificate Evaluators as a possible indicator of a security policy violation. Such use SHOULD take into account 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.
Extensions
specifies
"accounturi"
and
"validationmethods"
parameters which allow users to specify desired methods of domain control validation (DCV) as defined in
ACME protocol. For example, website administrators can bind a domain they control to a particular account registered with their desired Certification Authority.
History
A draft of the first extension to the CAA standard was published on October 26, 2016, proposing a new ''account-uri'' token to the end of the ''issue'' property, which ties a domain to a specific
Automated Certificate Management Environment account.
This was amended on August 30, 2017, to also include a new ''validation-methods'' token, which ties a domain to a specific validation method,
and then further amended on June 21, 2018, to remove the hyphen in ''account-uri'' and ''validation-methods'' making them instead ''accounturi'' and ''validationmethods''.
Examples
To indicate that only the certificate authority identified by ''ca.example.net'' is authorized to issue certificates for
example.com
The domain names example.com, example.net, example.org, and example.edu are second-level domain names in the Domain Name System of the Internet. They are reserved by the Internet Assigned Numbers Authority (IANA) at the direction of the Inter ...
and all subdomains, one may use this CAA record:
To disallow any certificate issuance, one may allow issuance only to an empty issuer list:
To indicate that certificate authorities should report invalid certificate requests to an
email address An email address identifies an email box to which messages are delivered. While early messaging systems used a variety of formats for addressing, today, email addresses follow a set of specific rules originally standardized by the Internet Enginee ...
and a
Real-time Inter-network Defense endpoint:
To use a future extension of the protocol, for example, one which defines a new ''future'' property, which needs to be understood by the certificate authority before they can safely proceed, one may set the ''issuer critical'' flag:
Incidents
In 2017, Camerfirma was found to improperly validate CAA records. Camerfirma claimed to have misunderstood the
CA/Browser Forum Baseline Requirements describing CAA validation.
In early 2020,
Let's Encrypt
Let's Encrypt is a Non-profit organisation, non-profit certificate authority run by Internet Security Research Group (ISRG) that provides X.509 public key certificate, certificates for Transport Layer Security (TLS) encryption at no charge. It is ...
disclosed that their software improperly queried and validated CAA records potentially affecting over 3 million certificates. Let's Encrypt worked with customers and site operators to replace over 1.7 million certificates, but decided not to revoke the rest to avoid client downtime since the affected certificates would expire in less than 90 days.
See also
*
Certificate authority compromise
*
Certificate Transparency
*
DNS-based Authentication of Named Entities
*
HTTP Public Key Pinning
*
List of DNS record types
References
External links
*
Certification Authority Restriction Properties registryat
IANA
The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Internet P ...
List of CA identifiers for use in CAA recordsat Common CA Database
{{SSL/TLS
Transport Layer Security
Domain Name System