<?xml version="1.0" encoding="UTF-8"?>

<!-- [CS] updated by Chris 09/06/23 -->

<!-- draft submitted in xml v3 -->

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.2.2) -->

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-caa-issuemail-07" number="9495" submissionType="IETF" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true"
updates="" obsoletes="" xml:lang="en" version="3">

  <!-- xml2rfc v2v3 conversion 3.17.5 -->
  <front>
    <title abbrev="CAA for Email Addresses">Certification Authority Authorization (CAA) Processing for Email Addresses</title>
    <seriesInfo name="RFC" value="9495"/>
    <author fullname="Corey Bonnell">
      <organization>DigiCert, Inc.</organization>
      <address>
        <email>corey.bonnell@digicert.com</email>
      </address>
    </author>
    <date year="2023" month="October"/>
    <area>sec</area>
    <workgroup>lamps</workgroup>
    <keyword>caa</keyword>
    <keyword>certification authority authorization</keyword>
    <keyword>email address</keyword>
    <abstract>

<t>The Certification Authority Authorization (CAA) DNS resource record (RR)
provides a mechanism for domains to express the allowed set of
Certification Authorities that are authorized to issue
certificates for the domain. RFC 8659 contains the core CAA
specification, where Property Tags that restrict the issuance of
certificates that certify domain names are defined. This specification
defines a Property Tag that grants authorization to Certification Authorities to issue
certificates that contain the <tt>id-kp-emailProtection</tt> key purpose in
the <tt>extendedKeyUsage</tt> extension and at least one <tt>rfc822Name</tt> value or
<tt>otherName</tt> value of type <tt>id-on-SmtpUTF8Mailbox</tt> that includes the domain name
in the <tt>subjectAltName</tt> extension.</t>
    </abstract>
  </front>
  <middle>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Certification Authority Authorization (CAA) DNS resource record (RR)
provides a mechanism for domains to express the allowed set of
Certification Authorities that are authorized to issue
certificates for the domain. <xref target="RFC8659"/> contains the core CAA
specification, where Property Tags that restrict the issuance of
certificates that certify domain names are defined. <xref target="RFC8659"/> does not
define a mechanism to restrict the issuance of certificates that
certify email addresses. For the purposes of this document, a
certificate "certifies" an email address if the certificate contains the
<tt>id-kp-emailProtection</tt> key purpose in
the <tt>extendedKeyUsage</tt> extension and at least one <tt>rfc822Name</tt> value or
<tt>otherName</tt> value of type <tt>id-on-SmtpUTF8Mailbox</tt> that includes the domain name
in the <tt>subjectAltName</tt> extension.</t>
      <t>This document defines a CAA Property Tag that restricts the allowed set
of issuers of certificates that certify email addresses. Its
syntax and processing are similar to the "issue" Property Tag as defined
in <xref target="RFC8659" sectionFormat="of" section="4.2"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
       <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
       "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
       "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
       "<bcp14>SHOULD NOT</bcp14>",
       "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
       "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
       are to be interpreted as described in BCP&nbsp;14
       <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
       when, they appear in all capitals, as shown here.</t>
</section>
    <section anchor="syntax">
      <name>Syntax of the "issuemail" Property Tag</name>
      <t>This document defines the "issuemail" Property Tag. &nbsp;The presence of
one or more "issuemail" Properties in the Relevant Resource Record
Set (RRSet) <xref target="RFC8659"/> indicates that the domain is requesting that
Certification Authorities restrict the issuance of certificates that
certify email addresses.</t>
      <t>The CAA "issuemail" Property Value has the following sub-syntax
(specified in ABNF as per <xref target="RFC5234"/>):</t>

<sourcecode name="" type="abnf"><![CDATA[
  issuemail-value = *WSP [issuer-domain-name *WSP]
    [";" *WSP [parameters *WSP]]

  issuer-domain-name = label *("." label)
  label = (ALPHA / DIGIT) *( *("-") (ALPHA / DIGIT))

  parameters = (parameter *WSP ";" *WSP parameters) / parameter
  parameter = tag *WSP "=" *WSP value
  tag = (ALPHA / DIGIT) *( *("-") (ALPHA / DIGIT))
  value = *(%x21-3A / %x3C-7E)
]]></sourcecode>
      <t>The production rules for "WSP", "ALPHA", and "DIGIT" are defined in
<xref target="RFC5234" sectionFormat="of" section="B.1"/>. Readers who are familiar with the sub-syntax
of the "issue" and "issuewild" Property Tags will recognize that this
sub-syntax is identical.</t>
      <t>The meanings of each production rule within "issuemail-value" are as
follows:</t>
      <dl spacing="normal" newline="true">
        <dt>"issuer-domain-name":</dt><dd>A domain name of the Certification Authority comprised of one or
more labels</dd>
        <dt>"label":</dt><dd>A single domain label that consists solely of ASCII letters,
digits, and the hyphen (known as an "LDH label")</dd>
        <dt>"parameters":</dt><dd>A semicolon-separated list of parameters</dd>
        <dt>"parameter":</dt><dd>A tag and a value, separated by an equals sign ("=")</dd>
        <dt>"tag":</dt><dd>A keyword that identifies the type of parameter</dd>
        <dt>"value":</dt><dd>The string value for a parameter</dd>
      </dl>
    </section>
    <section anchor="processing-of-the-issuemail-property-tag">
      <name>Processing of the "issuemail" Property Tag</name>
      <t>Prior to issuing a certificate that certifies an email address, the
Certification Authority <bcp14>MUST</bcp14> check for publication of a Relevant
RRSet. The discovery of such a Relevant RRSet <bcp14>MUST</bcp14>
be performed using the algorithm specified in <xref target="RFC8659" sectionFormat="of" section="3"/>.
The input domain to the discovery algorithm <bcp14>SHALL</bcp14> be the domain "part"
<xref target="RFC5322"/> of the email address that is being certified. If the domain
"part" of the email address being certified is an Internationalized
Domain Name <xref target="RFC5890"/> that contains one or more U-Labels, then all
U-Labels <bcp14>MUST</bcp14> be converted to their A-Label representation <xref target="RFC5891"/>
for the purpose of discovering the Relevant RRSet for that email
address.</t>
      <t>If the Relevant RRSet is empty or if it does not contain
any "issuemail" Properties, then the domain has not requested any
restrictions on the issuance of certificates for email addresses. The
presence of other Property Tags, such as "issue" or "issuewild", does
not restrict the issuance of certificates that certify email addresses.</t>
      <t>For each "issuemail" Property in the Relevant RRSet, the
Certification Authority <bcp14>SHALL</bcp14> compare its issuer-domain-name with the
issuer-domain-name as expressed in the Property Value. If there is not
any "issuemail" record whose issuer-domain-name (as expressed in the
Property Value) matches the Certification Authority's
issuer-domain-name, then the Certification Authority <bcp14>MUST NOT</bcp14> issue
the certificate. If the Relevant RRSet contains any "issuemail"
Property whose issuemail-value does not conform to the ABNF syntax as
defined in <xref target="syntax"/> of this document, then those records <bcp14>SHALL</bcp14> be
treated as if the issuer-domain-name in the issuemail-value is the empty
string.</t>
      <t>If the certificate certifies more than one email address, then the
Certification Authority <bcp14>MUST</bcp14> perform the above procedure for each
email address being certified.</t>
      <t>The assignment of issuer-domain-names to Certification Authorities is
beyond the scope of this document.</t>
      <t>Parameters may be defined by a Certification Authority as a means
for domains to further restrict the issuance of certificates. For
example, a Certification Authority may define a parameter that contains
an account identifier.  If the domain elects to add this parameter in an
"issuemail" Property, the Certification Authority will verify that the
account that is requesting the certificate matches the account specified
in the Property and will refuse to issue the certificate if they do not
match.</t>
      <t>The processing of parameters in the issuemail-value is specific to each
Certification Authority and is beyond the scope of this document. In
particular, this document does not define any parameters and does not
specify any processing rules for when parameters must be acknowledged by
a Certification Authority. However, parameters that do not conform to
the ABNF syntax as defined in <xref target="syntax"/> will result in the
issuemail-value being not conformant with the ABNF syntax. As stated
above, a Property whose issuemail-value is malformed <bcp14>SHALL</bcp14> be treated as
if the issuer-domain-name in the issuemail-value is the empty string.</t>
    </section>
    <section anchor="examples-of-the-issuemail-property-tag">
      <name>Examples of the "issuemail" Property Tag</name>
      <t>Several illustrative examples of Relevant RRSets and their expected
processing semantics follow. All examples assume that the
issuer-domain-name for the Certification Authority is
"authority.example".</t>
      <section anchor="no-issuemail-property">
        <name>No "issuemail" Property</name>
        <t>The following RRSet does not contain any "issuemail" Properties,
so there are no restrictions on the issuance of certificates that
certify email addresses for that domain:</t>
        <artwork><![CDATA[
mail.client.example         CAA 0 issue "authority.example"
mail.client.example         CAA 0 issue "other-authority.example"
]]></artwork>
      </section>
      <section anchor="single-issuemail-property">
        <name>Single "issuemail" Property</name>
        <t>The following RRSet contains a single "issuemail" Property where the
issuer-domain-name is the empty string, so the issuance of certificates
certifying email addresses for the domain is prohibited:</t>
        <artwork><![CDATA[
mail.client.example         CAA 0 issuemail ";"
]]></artwork>
      </section>
      <section anchor="single-issuemail-property-with-parameters">
        <name>Single "issuemail" Property with Parameters</name>
        <t>The following RRSet contains a single "issuemail" Property where the
issuer-domain-name is "authority.example" and contains a single
"account" parameter of "123456". In this case, the Certification
Authority <bcp14>MAY</bcp14> issue the certificate, or it <bcp14>MAY</bcp14> refuse to issue the
certificate, depending on its practices for processing the "account"
parameter:</t>
        <artwork><![CDATA[
mail.client.example
        CAA 0 issuemail "authority.example; account=123456"
]]></artwork>
      </section>
      <section anchor="multiple-issuemail-properties">
        <name>Multiple "issuemail" Properties</name>
        <t>The following RRSet contains multiple "issuemail" Properties,
where one Property matches the issuer-domain-name of the example Certification
Authority ("authority.example") and one Property does not match.
Although this example is contrived, it demonstrates that since
there is at least one record whose issuer-domain-name matches the
Certification Authority's issuer-domain-name, issuance is permitted.</t>
        <artwork><![CDATA[
mail.client.example         CAA 0 issuemail ";"
mail.client.example         CAA 0 issuemail "authority.example"
]]></artwork>
      </section>
      <section anchor="malformed-issuemail-property">
        <name>Malformed "issuemail" Property</name>
        <t>The following RRSet contains a single "issuemail" Property whose
sub-syntax does not conform to the ABNF as specified in <xref target="syntax"/>.
Given that "issuemail" Properties with malformed syntax are treated the
same as "issuemail" Properties whose issuer-domain-name is the empty
string, issuance is prohibited.</t>
        <artwork><![CDATA[
malformed.client.example     CAA 0 issuemail "%%%%%"
]]></artwork>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations that are expressed in <xref target="RFC8659"/> are relevant
to this specification.</t>
      <t>The processing of "issuemail" Properties as specified in this document
is a supplement to the Certification Authority's validation process.
The Certification Authority <bcp14>MUST NOT</bcp14> treat solely the presence of an
"issuemail" Property with its issuer-domain-name specified within the
Relevant CAA RRSet as sufficient validation of the email address. The
Certification Authority <bcp14>MUST</bcp14> validate the email address according to the
relevant policy documents and practice statements.</t>
      <t>CAA Properties may have the "critical" flag asserted, which specifies
that a given Property is critical and must be processed by conforming
Certification Authorities. If a Certification Authority does not
understand the Property, then it <bcp14>MUST NOT</bcp14> issue the certificate in
question.</t>
      <t>If a single CAA RRSet is processed by multiple Certification Authorities
for the issuance of multiple certificate types, then a Certification
Authority's lack of support for a critical CAA Property in the RRSet
will prevent the Certification Authority from issuing any certificates
for that domain.</t>
      <t>For example, assume that an RRSet contains the following Properties:</t>
      <artwork><![CDATA[
client.example         CAA 128 issue "other-authority.example"
client.example         CAA 0 issuemail "authority.example"
]]></artwork>
      <t>In this case, if the Certification Authority whose issuer-domain-name
matches "authority.example" does not recognize the "issue" Property Tag,
then that Certification Authority will not be able to issue S&wj;/MIME
certificates that certify email addresses for "client.example".</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA has registered the following entry in the "Certification Authority Restriction Properties" subregistry of the "Public Key
Infrastructure using X.509 (PKIX) Parameters" registry group:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Tag</th>
            <th align="left">Meaning</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">issuemail</td>
            <td align="left">Authorization Entry by Email Address</td>
            <td align="left">RFC 9495</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5322.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5891.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8659.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>

      </references>
      <references>
        <name>Informative References</name>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5890.xml"/>
	
      </references>
    </references>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank the participants on the LAMPS Working
Group mailing list for their insightful feedback and comments. In
particular, the author extends sincere appreciation to <contact fullname="Alexey Melnikov"/>,
<contact fullname="Christer Holmberg"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="John Levine"/>, <contact fullname="Lars Eggert"/>,
<contact fullname="Michael Richardson"/>, <contact fullname="Murray Kucherawy"/>, <contact fullname="Paul Wouters"/>,
<contact fullname="Phillip Hallam-Baker"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Russ Housley"/>, <contact fullname="Sean Turner"/>,
<contact fullname="Seo Suchan"/>, <contact fullname="Tim Chown"/>, and <contact fullname="Tim Wicinski"/> for their official reviews and
suggestions, which greatly improved the quality of this document.</t>
    </section>
  </back>
</rfc>
