[cabfpub] [Servercert-wg] Ballot SC4 - email and CAA CONTACT

Ryan Sleevi sleevi at google.com
Thu Aug 30 19:31:50 UTC 2018


I'm understanding that
https://github.com/cabforum/documents/compare/Ballot-SC4---CAA-CONTACT-email?diff=unified&expand=1
remains the current state, with the last update on August 17. Is there a
newer version?

It sounds like you plan on incorporating Corey's feedback at some point in
the future, but that isn't done yet?

In addition to that concrete feedback pending incorporation, there are a
number of issues.

1) The terminology seems to interchangably use "email to DNS domain name
holder" and "DNS contact email address". It seems aligning this terminology
within the text itself is good.

2) The structure of the requirements within the first paragraph of each
reads ambiguously. That is, item (i) states "sending an email to a DNS
domain name holder", while the following sentence describes how that email
address is obtained.
  - This can be read as suggesting these are distinct emails. That is, that
you send the e-mail to "a DNS domain name holder" (determined at the CAs
discretion) AND the email address specified through the given means. The
terminology alignment can help here, as well as rewording the second
sentence to indicate that "The CA SHALL determine the DNS contact email
address using the procedure specified in ..." or some equivalent.
  - Alternatively, the ordering of steps can be restructured in such a way
that the determination is the first step, followed by the subsequent step
of sending the email (that is, (i) becomes (ii), and the second sentence is
reworded and becomes (i)).

3) Format wise, as previously suggested, we've seen ambiguity issues arise
when ordered list of steps are attempted to naturally flow in to sentences.
As depressing as it seems, but certainly after incorporating the above
feedback, separating out (i) - (iii) onto distinct lines seems to provide
greater clarity about the necessary combined steps.

4) The issue of mixing TXT and CAA records is still present, through the
ambiguity of "DNS contact email address" being reused between .13 and .14.
It seems simpler and clearer, not to mention consistent with other methods,
to ensure that unambiguously, if you determine an email using .14, that
doesn't mean you can combine with .13 (or .2). This can be resolved by
changing the language from "provided that the email address used has been
obtained using this method" or some sort.

5) I again reiterate the value of separating out the TXT and CAA
discussions, so that we can unblock the CAA work from proceeding and
separately address the TXT. This would equally unblock the method regarding
phone validation and CAA, which seems valuable and useful for impacted CAs.
That is, treat these as two separate ballots.

With respect to the TXT method
1) "an email address found in the DNS TXT record of the Authorization
Domain Name in the format defined in Appendix B" is ambiguous. This implies
a TXT record on the ADN, while the stated intent of this is to be a
grandchild label of the ADN. This can be resolved through greater
specificity as to how that email address is determined, in line with the
above feedback for restructuring the list steps and the method of
determining the e-mail.

2) The language still remarks on its similarity to the iodef tag, except in
this current revision, there is no similarity to the iodef tag.

3) With respect to the contactemail property, "or it cannot be used" leaves
some ambiguity for CAs that will no doubt result in questions, similar to
the recent discussions around "invalid" domains for CAA. Consider, for
example, if a CAA record for child.example.com contains "sleevi at google.com
" (note, trailing padding), and example.com contains "asymmetric at google.com"
(note, well-formed). Can the CA dispatch an email to asymmetric at google.com
on the basis that it cannot use the CAA record for child.example.com? The
answer presumably is "NO", but the current language leaves this ambiguous.
If there's consensus on this, then we can restructure the process/algorithm
for determining the email by defining it in terms of CAA RRSets - that is,
that there first is a concrete step to 'gather' the matching RRSets, a
second step to 'validate' the RRSets, and the output of such an algorithm
is one or more e-mail addresses that can be used.

4) However, this problem - the competition between the CAA algorithm and
the use of ADN - creates new issues. Am I permitted, in the course of
issuing for child.example.com, to examine the CAA record for example.com?
As currently specified in the CAA section, this is ambiguous, due to CAA's
prohibition on tree walking once you run into a child. However, this is
exacerbated by the TXT record, since its use on authorization domain names
suggests that I can ignore "_caa_contact_email.child.example.com" and use "_
caa_contact_email.example.com". This is because the TXT section uses
"domain" without clarifying whether we're speaking about the ADN or the
FQDN, and the method invoking this algorithm (.14) uses ADN. To resolve
this, it's best to specify concretely what you want to happen, and we can
find text that tries to accomplish this. I would encourage you trying to
describe in prose / plain text in this thread what you want, rather than
trying to invoke spec text and try to capture that on the first go.

5) The issue with TXT and security still exists, in a way that does not
manifest for CAA. I appreciate that you've collapsed from grandchild to
child in the latest revision (specifically, the use of
"_caa_contact_email"), but as noted, domain holders now need to take steps
to ensure that such a domain is fully protected. This is an existing issue
with .7 that the VWG identified, and our options here are "introduce
something known-weak and ope to fix it later" or "prevent new methods from
being weak". Given the incentive structures for correcting the weaknesses
are misaligned, it's better to prevent its inclusion to begin with, so that
we can resolve how best to solve these - the same as if introducing new
blessed emails for 3.2.2.4.4. As previously proposed, one method of
resolution is to improve the transparency of the reliance on this method,
much as Microsoft has done for "deprecated but still widely used"
technologies, such as SMB1 (
https://blogs.technet.microsoft.com/filecab/2017/06/01/smb1-product-clearinghouse/
). I've not received a clear response as to your position on this.

On Wed, Aug 29, 2018 at 11:36 AM Tim Hollebeek <tim.hollebeek at digicert.com>
wrote:

> I’ve been on vacation for a week.
>
>
>
> If you have specific improvements to offer, please do.
>
> -Tim
>
>
>
> *From:* Ryan Sleevi <sleevi at google.com>
> *Sent:* Monday, August 27, 2018 5:52 PM
> *To:* Tim Hollebeek <tim.hollebeek at digicert.com>;
> servercert-wg at cabforum.org
> *Cc:* Corey Bonnell <CBonnell at trustwave.com>; CABFPub <public at cabforum.org
> >
> *Subject:* Re: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Tim,
>
>
>
> Has there been an update to the ballot?
>
>
>
> Similarly, has there been any effort to address the TXT deprecation, or
> the use of multiple layers of subdomains?
>
>
>
> On Thu, Aug 16, 2018 at 10:35 AM Tim Hollebeek via Servercert-wg <
> servercert-wg at cabforum.org> wrote:
>
> Thanks Corey.  This is very helpful.  I’ll update the ballot.
>
>
>
> -Tim
>
>
>
> *From:* Corey Bonnell <CBonnell at trustwave.com>
> *Sent:* Thursday, August 9, 2018 11:04 AM
> *To:* Tim Hollebeek <tim.hollebeek at digicert.com>; CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>;
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject:* Re: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Tim,
>
> There are additional concerns, namely regarding the character set encoding
> (as in UTF-8, UTF-16, Shift-JIS, etc.). A TXT record could conceivably
> contain a Shift-JIS-encoded (or some other character set) email address
> which may be treated as “valid” by a CA (who then sends an email to the
> Shift-JIS-encoded email address). However, when the TXT record RDATA is
> interpreted as UTF-8 by another CA, this will yield another email address,
> allowing an attacker to setup a mailbox to receive the DV email. Given
> this, I do not believe I am being overly pedantic in asking that we more
> concretely define what “valid” means.
>
>
>
> Given that I’ve seen at least one certificate in CT that had various
> Subject RDN values be encoded in UTF-16 (where UTF-16 isn’t even allowed),
> I believe this scenario is very likely to occur. Explicitly specifying what
> “valid” means by referencing RFC 6532 section 3.2 will provide guidance to
> the ecosystem to mitigate this risk. My suggested wording is to change “valid
> email address, with no additional padding or structure” to “valid email
> address as defined in RFC 6532 section 3.2, with no additional padding or
> structure”.
>
>
>
> That being said, I think there’s significant value in aligning the syntax
> of the CAA and TXT record. Specifying a single syntax makes it less
> cumbersome for Applicants, CA engineers and support personnel, and DNS
> providers who will likely author tools to generate these records. I agree
> with you that using the proposed TXT “valid email address” (with the
> addition of a reference to RFC 6532 to define “valid”) is preferable over
> mailto: for the reasons that you mentioned, provided that it’s used for
> both the CAA record (whose property tag would probably need to be renamed
> to “contactemail” or something similar) and TXT record.
>
>
>
> Thanks,
>
> Corey
>
>
>
> *From: *Tim Hollebeek <tim.hollebeek at digicert.com>
> *Date: *Tuesday, August 7, 2018 at 7:29 PM
> *To: *Corey Bonnell <CBonnell at trustwave.com>, CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>,
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject: *RE: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> No, I don’t think that scheme-based encodings and representations outside
> of a URI scheme is a reasonable interpretation of the text as written.  The
> draft text specifically states that the contents must be a valid email
> address.  That means it must be represented in the standard way, without
> alternative encodings or other silliness.
>
>
>
> I can put in the RFC 6532 reference to make that even more clear than it
> already is.  But I don’t want to have another Ballot 219 where we’re doing
> a lot of work to add text specifically to rule out unreasonable
> interpretations.  There’s an infinite amount of work down that road.
>
>
>
> -Tim
>
>
>
> *From:* Corey Bonnell <CBonnell at trustwave.com>
> *Sent:* Tuesday, August 7, 2018 3:32 PM
> *To:* Tim Hollebeek <tim.hollebeek at digicert.com>; CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>;
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject:* Re: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Tim,
>
> If Internationalized Email Address support is desired, then for
> completeness, “valid” should be more concretely defined. The reason why I
> think merely stating “valid” is insufficient is that there are multiple
> ways to encode an email address, and inconsistent handling of these values
> across CA implementations may create vulnerabilities where attackers can
> obtain certificates for domains that they don’t control.
>
>
>
> As an example, a “valid” email address could be interpreted as the
> scheme-specific part of a mailto: URL (eg, the foo at example.com in
> mailto:foo at example.com <foo at example.com>). The CAA “contact” property tag
> specifies a mailto: URL, so it reasonable to think that the TXT record
> does as well. URI-encoding of the scheme-specific part (see RFC 6068,
> section 2 https://tools.ietf.org/html/rfc6068#section-2
> <https://scanmail.trustwave.com/?c=4062&d=vavq28pjHFI2ph_WoO8TpMTD8JkSCWk7cxp_KdSnIA&s=5&u=https%3a%2f%2ftools%2eietf%2eorg%2fhtml%2frfc6068%23section-2>)
> differs from an email address encoded as specified in RFC 6532, section 3.2
> (https://tools.ietf.org/html/rfc6532#section-3.2
> <https://scanmail.trustwave.com/?c=4062&d=vavq28pjHFI2ph_WoO8TpMTD8JkSCWk7cxwletXyeg&s=5&u=https%3a%2f%2ftools%2eietf%2eorg%2fhtml%2frfc6532%23section-3%2e2>).
> Given the differences between these encodings, it would be possible for an
> attacker to find a CA that uses a different encoding than the CA that the
> domain owner used and setup a mailbox such that they receive the DV email
> when requesting a certificate for the victim domain from the other CA.
>
>
>
> For this reason, I think that explicitly mandating “a RFC 6532-compliant
> email address” would be prudent. Or alternatively, change the TXT record to
> specify a mailto: URL so that it is consistent with the CAA syntax.
>
>
>
> Thanks,
>
> Corey
>
>
>
>
>
> *From: *Tim Hollebeek <tim.hollebeek at digicert.com>
> *Date: *Tuesday, August 7, 2018 at 10:59 AM
> *To: *Corey Bonnell <CBonnell at trustwave.com>, CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>,
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject: *RE: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> I’d like not to make it more complicated than necessary, but if there are
> useful clarifications you can suggest about how better to define “valid”,
> I’m all ears.
>
>
>
> For the particular concern you mentioned, it seems clear to me that an
> Internationalized Email Address is in fact a valid email address for method
> 14 (assuming it is not invalid for some other reason).
>
>
>
> -Tim
>
>
>
> *From:* Corey Bonnell <CBonnell at trustwave.com>
> *Sent:* Tuesday, August 7, 2018 10:35 AM
> *To:* Tim Hollebeek <tim.hollebeek at digicert.com>; CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>;
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject:* Re: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Hi Tim,
>
> I think this updated text is fine (with one caveat about raw addresses;
> see below), pending changing “domain being validated” to “Authorization
> Domain Name” to be consistent with other changes of this usage in the
> ballot.
>
>
>
> If the TXT record data is merely the raw email address (as opposed to a
> mailto: URL), it would be good to specify more concretely what “valid”
> means. This is especially relevant in regard to Internationalized Email
> Addresses (and the potential can of worms that entails) and whether or not
> they’re considered “valid” for method 14.
>
>
>
> Thanks,
>
> Corey
>
>
>
> *From: *Tim Hollebeek <tim.hollebeek at digicert.com>
> *Date: *Friday, August 3, 2018 at 4:57 PM
> *To: *Corey Bonnell <CBonnell at trustwave.com>, CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>,
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject: *RE: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Corey,
>
>
>
> Upon further review, I believe the domain-authorization-email is a relic
> of a previous proposal, and could be safely removed.
>
>
>
> The DNS TXT record MUST be placed on the "_caa_contact_email" subdomain of
> the domain being validated.  The entire RDATA value of the
> "_caa_contact_email" record MUST be a valid email address, with no
> additional padding or structure, or it cannot be used.
>
>
>
> ?
>
>
>
> -Tim
>
>
>
> *From:* Corey Bonnell <CBonnell at trustwave.com>
> *Sent:* Friday, August 3, 2018 1:44 PM
> *To:* Tim Hollebeek <tim.hollebeek at digicert.com>; CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>;
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject:* Re: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Given that the entire RDATA is the email address, I don’t see how “The DNS
> record MUST be named "domain-authorization-email"” is applicable here, as
> there is nowhere in the RDATA to specify the name.
>
>
>
> Also, is the RDATA a mailto: URL (as in the CAA record), or is it a plain
> email address? I’d imagine the former would be preferable for parity with
> the CAA syntax as well as reuse of the “_caa_contact” attribute leaf for
> phone numbers.
>
>
>
> Thanks,
>
> Corey
>
>
>
> *From: *Tim Hollebeek <tim.hollebeek at digicert.com>
> *Date: *Friday, August 3, 2018 at 12:19 PM
> *To: *Corey Bonnell <CBonnell at trustwave.com>, CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>,
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject: *RE: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> I expect the email address would be the entirety of the RDATA for the RR,
> with no additional formatting.  I can make that explicit if you think it
> would be helpful.
>
>
>
> -Tim
>
>
>
> *From:* Corey Bonnell <CBonnell at trustwave.com>
> *Sent:* Friday, August 3, 2018 12:04 PM
> *To:* Tim Hollebeek <tim.hollebeek at digicert.com>; CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>;
> CA/Browser Forum Public Discussion List <public at cabforum.org>
> *Subject:* Re: [Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
> Hi Tim,
>
> Can you provide an example of how a TXT record would be formatted to
> convey the email address (as was done for the CAA records)? It’s not clear
> to me based on the description given.
>
>
>
> Thanks,
>
>
>
> *Corey Bonnell*
>
> Senior Software Engineer
>
>
>
> *Trustwave* | SMART SECURITY ON DEMAND
> https://www.trustwave.com <http://www.trustwave.com/>
>
>
>
> *From: *Servercert-wg <servercert-wg-bounces at cabforum.org> on behalf of
> Tim Hollebeek via Servercert-wg <servercert-wg at cabforum.org>
> *Reply-To: *Tim Hollebeek <tim.hollebeek at digicert.com>, CA/B Forum Server
> Certificate WG Public Discussion List <servercert-wg at cabforum.org>
> *Date: *Friday, August 3, 2018 at 11:50 AM
> *To: *CA/Browser Forum Public Discussion List <public at cabforum.org>, "
> servercert-wg at cabforum.org" <servercert-wg at cabforum.org>
> *Subject: *[Servercert-wg] Ballot SC4 - email and CAA CONTACT
>
>
>
>
>
> Ballot SC4: CAA Contact Property and Associated E-mail Validation Methods
>
> Purpose of Ballot: Increasingly, contact information is not available in
> WHOIS due to concerns about potential GDPR violations.  This ballot
> specifies a method by which domain holders can publish their contact
> information via DNS, and how CAs can use that information for validating
> domain control.
>
> The following motion has been proposed by Tim Hollebeek of DigiCert and
> endorsed by Bruce Morton of Entrust and Doug Beattie of GlobalSign.
>
> --- MOTION BEGINS ---
>
> This ballot modifies the “Baseline Requirements for the Issuance and
> Management of Publicly-Trusted Certificates” as follows, based on Version
> 1.6.0:
>
> Add Section 3.2.2.4.13: Domain Owner Email in CAA
>
> Confirm the Applicant's control over the FQDN by (i) sending an email to a
> DNS domain name holder, (ii) including a Random Value in the email, and
> (iii) receiving a confirming response utilizing the Random Value. The CA
> MUST send the email to an email address found in the CAA Contact property
> record of the Authorization Domain Name as defined in Appendix B.
>
>
>
> Each email MAY confirm control of multiple FQDNs, provided the email
> address used is a DNS contact email address for each ADN being validated.
>
>
>
> The Random Value SHALL be unique in each email. The email MAY be re-sent
> in its entirety, including the re-use of the Random Value, provided that
> its entire contents and recipient SHALL remain unchanged. The Random Value
> SHALL remain valid for use in a confirming response for no more than 30
> days from its creation. The CPS MAY specify a shorter validity period for
> Random Values.
>
>
>
> Note: Once the FQDN has been validated using this method, the CA MAY also
> issue Certificates for other FQDNs that end with all the labels of the
> validated FQDN. This method is suitable for validating Wildcard Domain
> Names.
>
> Add Section 3.2.2.4.14: Domain Owner Email published in TXT record
>
>
>
> Confirm the Applicant's control over the FQDN by (i) sending an email to a
> DNS domain name holder, (ii) including a Random Value in the email, and
> (iii) receiving a confirming response utilizing the Random Value. The CA
> MUST send the email to an email address found in the DNS TXT record of the
> Authorization Domain Name in the format defined in Appendix B.
>
>
>
> Each email MAY confirm control of multiple FQDNs, provided the email
> address used is a DNS contact email address for each ADN being validated.
>
> The Random Value SHALL be unique in each email. The email MAY be re-sent
> in its entirety, including the re-use of the Random Value, provided that
> its entire contents and recipient SHALL remain unchanged. The Random Value
> SHALL remain valid for use in a confirming response for no more than 30
> days from its creation. The CPS MAY specify a shorter validity period for
> Random Values.
>
>
>
> Note: Once the FQDN has been validated using this method, the CA MAY also
> issue Certificates for other FQDNs that end with all the labels of the
> validated FQDN. This method is suitable for validating Wildcard Domain
> Names.
>
>
>
> Add Appendix B: CAA Contact Tag
>
> The syntax for the contact property is similar to the iodef property.  It
> allows domain owners to publish contact information in DNS in addition to
> WHOIS for the purpose of validating domain control.
>
> CAA contact Property
>
>
>
> contact <URL> :  The contact property entry specifies the authorized means
> of contacting the holder of the domain or another party who is authorized
> to approve issuance of certificates for the domain.
>
>
>
> The contact property specifies a means of contacting the domain holder, or
> another party that is authorized to approve issuance of certificates for
> the domain in question.
>
> The contact property takes a URL as its parameter.  The following URL
> scheme type SHOULD be implemented:
>
> mailto: An SMTP email address where the domain holder or other authorized
> party can be contacted.
>
>
>
> Schemes other than "mailto:" MUST NOT be used.
>
>
>
> The following is an example where the holder of the domain specified the
> contact property using an email address.
>
>
>
> $ORIGIN example.com
> <http://scanmail.trustwave.com/?c=4062&d=vavq28pjHFI2ph_WoO8TpMTD8JkSCWk7c08pedHzeg&s=5&u=http%3a%2f%2fexample%2ecom>
>
> .              CAA 0 issue “ca.example.net”
>
> .              CAA 0 contact “mailto:domainowner at example.com
> <domainowner at example.com>”
>
>
>
> Support for Legacy Systems
>
>
>
> Some systems still do not have sufficient support for CAA records.  To
> allow users of those systems to specify contact information, a legacy
> format using text records is allowed.
>
>
>
> The DNS TXT record MUST be placed on the "_caa_contact" subdomain of the
> domain being validated.  The DNS record MUST be named
> "domain-authorization-email".  The value of "domain-authorization-email"
> MUST contain a valid email address, or it cannot be used.
>
>
>
> --- MOTION ENDS ---
>
> *** WARNING ***: USE AT YOUR OWN RISK.  THE REDLINE BELOW IS NOT THE
> OFFICIAL VERSION OF THE CHANGES (CABF Bylaws, Section 2.4(a)):
>
>
>
> A comparison of the changes can be found at:
> https://github.com/cabforum/documents/compare/Ballot-SC4---CAA-CONTACT-email?diff=unified&expand=1
> <https://scanmail.trustwave.com/?c=4062&d=vavq28pjHFI2ph_WoO8TpMTD8JkSCWk7cxwlc4T2fA&s=5&u=https%3a%2f%2fgithub%2ecom%2fcabforum%2fdocuments%2fcompare%2fBallot-SC4---CAA-CONTACT-email%3fdiff%3dunified%26amp%3bexpand%3d1>
>
> The procedure for approval of this ballot is as follows:
>
> Discussion (7+ days)
>
> Start Time: 2018-08-03 11:50 Eastern
>
> End Time: Not before 2018-08-10 11:50 Eastern
>
> Vote for approval (7 days)
>
> Start Time: TBD
>
> End Time: TBD
>
> _______________________________________________
> Servercert-wg mailing list
> Servercert-wg at cabforum.org
> http://cabforum.org/mailman/listinfo/servercert-wg
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/public/attachments/20180830/85e7ddb7/attachment-0003.html>


More information about the Public mailing list