[Servercert-wg] Ballot SC 13 version 3

Ryan Sleevi sleevi at google.com
Mon Nov 26 16:30:03 MST 2018


Sorry for more suggestions, but I am wanting to make sure this ballot
matches folks understanding and intent, and Doug's question I think
rightfully highlights some confusion (it took me multiple reads and
discussions with people to make sure I was coming up with consistent
interpretations as others) - some of it I may have induced!

I've tried to distill it into concrete questions and thoughts about what
the answers should be / rationale, but I'd be curious to know different
answers or perspectives.

1) While this method is stated as intending to replace WHOIS, it does
present something more permissive than our current WHOIS validation methods
(in practice). While WHOIS lookup is similar in processing model as DNS,
that is, start from the root server, work down the hierarchy each label,
following references to the next server to query, it's fairly rare
(citation needed) for servers to delegate WHOIS for subdomains (except in
registrable domains), and more or less the wild-west once outside of the
gTLD-and-registrar space. Is this OK?

I think this is OK, because this model bears more similarity to our
DNS-based validation of control (such as TXT or CNAME) or the website
validation of control (which relies on A/AAAA, even though we've not
explicitly specified it as such, which is a problem with .6). That is,
we've decided that hierarchal delegation past the registrar is OK, and so
having TXT or CAA methods that obtain email addresses past the point of
hierarchal delegation should equally be OK.

2) If we say it's OK, what should the search algorithm for CAA be? Options
include:
  2.a) Use only the CAA record at the ADN; do not use the 6844 algorithm.
CAA is only being used as a semi-structured record type, not as
CAA-as-defined-by-6844
  2.b) Use the CAA search algorithm defined in 6844 (as amended) to obtain
the Resource Record Set.

In these, I lean towards 2.b over 2.a, so that we do not create an overly
complex series of special rules for CAs in processing CAA (whether they're
processing the 'issue' and 'issuewild' tags, and any subsequent tags, vs
this tag). I think it's conceptually and structurally simple to say
"Whenever you're looking up a CAA record, you use the CAA algorithm" - that
seems to reduce risk for implementations.

3) If we adopt 2.b, what is the processing algorithm and the ADN if you
have a domain "a.b.example.com", which has CAA records on both "
a.b.example.com" and "b.example.com"?

By adopting 2.b, we're saying the CAA Record Set for an ADN(a.b.example.com)
is only that on "a.b.example.com", and that only that specific email is
authorized - that is, the email address for "b.example.com" MUST be ignored
and not considered.

However, we also know that the CAA Record Set for ADN(b.example.com) will
be the e-mail address in b.example.com. Thus, it seems you SHOULD be able
to authorize "a.b.example.com" using the email address at a.b.example.com
with the ADN of a.b.example.com, or you can authorize a.b.example.com using
the email address at b.example.com and an ADN of b.example.com.

Further, because you can validate multiple FQDNs, but not ADNs, that share
an e-mail, you MUST NOT send an email to *both* a.b.example.com and
b.example.com's email addresses - those are separate validations (for the
same FQDN), and thus need to have different secrets/values. I'm not sure if
this makes sense, but I think that's the maximally restrictive reading of
the current language.

All of this with one further caveat - if there is an "issue" or "issuewild"
record for the FQDN, then I still have to respect that, independent of the
contact method for the ADN. That is, if "a.b.example.com" contains no
contact e-mail, but an "issue" field, then even though the contactemail at "
b.example.com" approved it, I can't issue if they're not compatible.

4) If we adopt 2.b, what is the ADN if I attempt to validate using CAA,
using the input domain of "a.b.example.com", and there's no CAA record on
a.b.example.com, but there is on b.example.com?

If I use the ADN of a.b.example.com, and feed it to the specified
algorithm, I'll get the CAA Record Set from b.example.com. Does that mean
the ADN was b.example.com, because that's where the record set came from,
or does it mean that the ADN was a.b.example.com, because that's what I fed
into the CAA algorithm?

I'm less clear here, but it seems a lurking source of bugs for CAs, so I'd
think we want clarity.

5) Doug's response makes me think that some clarity/guidance is also
appropriate for TXT record lookup, particularly around the situation where
both "a.b.example.com" and "b.example.com" contain TXT records. Is it
permitted to send e-mails to the union of the set to approve issuance?

I'm not sure it's a good idea, with the main argument against it being OK
is whether or not "b.example.com", by approving "a.b.example.com", is being
seen as approving all subsequent issuances for "b.example.com" and
subdomains, without that being clear. I'm not sure if this is more of a
structural issue with ADNs and the lack of clarity as to whether an
authorization is for a single certificate or reusable in perpetuity, and
how a subscriber knows whether they are approving an FQDN or an ADN.


I'm not sure the best way to resolve these issues, either. I can appreciate
discussion on list to flesh out the 'intent' of this ballot and its
application, but in thinking how to spec any of the possible answers, this
gets trickier. I suspect we'll want some degree of guidance about inputs
and outputs (much like was done independently, and sadly, after multiple
misissuances, for CAA), so that we can arrive at a test suite for
compatible implementations solely by reading the spec. In other SDOs, this
is generally done via a "test suite" that accompanies the spec and thus
serves as interpretative guidance for any ambiguity, and any untested
ambiguity can then be added as a new test to see real world results.

On Wed, Nov 21, 2018 at 1:51 PM Tim Hollebeek via Servercert-wg <
servercert-wg at cabforum.org> wrote:

>
>
> As before, there is both a full redline, and a diff since the last version.
>
>
>
> Ballot SC13: 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: Email to DNS CAA Contact
>
> Confirming the Applicant's control over the FQDN by sending a Random Value
> via email and then receiving a confirming response utilizing the Random
> Value. The Random Value MUST be sent to an email address identified as a
> CAA contactemail property record as defined in Appendix B.  The relevant
> CAA Resource Record Set MUST be found using the search algorithm defined in
> RFC 6844 Section 4, as amended by Errata 5065 (Appendix A).
>
>
>
> Each email MAY confirm control of multiple FQDNs, provided that the DNS
> contactemail email address is the same for each Authorized Domain Name
> 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: Email to DNS TXT Contact
>
>
>
> Confirming the Applicant's control over the FQDN by sending a Random Value
> via email and then receiving a confirming response utilizing the Random
> Value. The Random Value MUST be sent to an email address identified as a
> DNS TXT record email contact for
>
> an Authorization Domain Name.  See Appendix B for the format of
>
> the DNS TXT record email contact.
>
>
>
> Each email MAY confirm control of multiple FQDNs, provided that the DNS
> contactemail email address is the same for each Authorized Domain Name
> 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: DNS Contact Properties
>
> These methods allow domain owners to publish contact information in DNS
> for the purpose of validating domain control.
>
> B.1. CAA Methods
>
>
>
> B.1.1. CAA contactemail Property
>
>
>
> SYNTAX: contactemail <rfc6532emailaddress>
>
>
>
> The CAA contactemail property takes an email address as its parameter.
> The entire parameter value MUST be a valid email address as defined in RFC
> 6532 section 3.2, with no additional padding or structure, or it cannot be
> used.
>
>
>
> The following is an example where the holder of the domain specified the
> contact property using an email address.
>
>
>
> $ORIGIN example.com
>
> .              CAA 0 contactemail "domainowner at example.com"
>
>
>
> The contactemail property MAY be critical, if the domain owner does not
> want CAs who do not understand it to issue certificates for the domain.
>
>
>
> B.2. DNS TXT Methods
>
>
>
> B.2.1. DNS TXT Email Contact
>
>
>
> The DNS TXT record MUST be placed on the "_validation-contactemail"
> subdomain of the domain being validated.  The entire RDATA value of this
> TXT record MUST be a valid email address as defined in RFC 6532 section
> 3.2, with no additional padding or structure, 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
>
>
>
> The changes between version 3 and version 2 are here:
>
>
> https://github.com/cabforum/documents/commit/e8e24ae14bf68f22a9bb13edc7201896fa948641?short_path=7f6d14a#diff-7f6d14a20e7f3beb696b45e1bf8196f2
>
> The procedure for approval of this ballot is as follows:
>
> Discussion (7+ days)
>
> Start Time: 2018-11-21 2:00 PM Eastern
>
> End Time: Not before 2018-11-28 2:00 PM 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://cabforum.org/pipermail/servercert-wg/attachments/20181126/329f3f48/attachment-0001.html>


More information about the Servercert-wg mailing list