On Tue, Oct 22, 2019 at 6:31 PM Wayne Thayer via dev-security-policy <
dev-security-policy@lists.mozilla.org> wrote:

> > I'm also not sure if I understand the wording correctly. Let's assume, an
> > internal CA of company "mycompany" gets successfully validated for
> > mycompany.example and receives a (possibly name constrained) certificate
> > for its issuing CA from one of the root CAs. Can this internal CA issue
> > certificates for every email address under @mycompany.example without
> > further validation or is an internal validation process required? My
> > opinion is, that such an internal validation process doesn't increase
> > security, since mycompany controls the mailservers of mycompany and can
> > anyhow validate everything.
> >
> >
> Thanks Dimitris and Rufus. Would it satisfy your concern if the requirement
> was changed to:
>
> The CA SHALL NOT delegate validation of the Base Domain Name (as defined in
> the Baseline Requirements) portion of an email address.
>

I may be misunderstanding Rufus' concern, but it seemed slightly different?

That is, taken in the whole of 2.2, the expectation is "the CA takes
reasonable measures to verify that the entity submitting the request
controls the email account associated with the email address referenced in
the certificate *or* has been authorized by the email account holder to act
on the account holder's behalf".

If the CA has validated "mycompany.example", associated with account
"mycompany", what is the expectation for 'localpart'?

Interpretation 1) The CA MAY delegate validation of the localpart to
'mycompany'. However, 'mycompany' MUST take reasonable measure ...
Interpretation 2) By validating 'mycompany' as to have control over
'mycompany.example', the CA has taken reasonable measure. No further
validation requirements exist for the localpart, provided it is directed by
the 'mycompany' account, as 'mycompany' is seen to implicitly have control
over the MX records.

I'm not sure Interpretation #2 fully holds (e.g. if the CA were using
something like 3.2.2.4.6 or a non-DNS-based challenge), but I think it was
trying to get at whether (CA || mycompany) needs to perform some validation
step for 'localpart' once the validation for the domain part is done.

  As to Dimitris' case, I think you're spot on in understanding the problem.


> Alternately, would this create an unacceptable loophole in the requirement
> and if so, can you suggest a more secure alternative?


My worry is that CAs will read this believing it permits more than
intended. If the CA doesn't use "Base Domain Name" / "Authorization Domain
Name", and only validates at the FQDN (i.e. the entire @domain), they may
see this as being permitted to delegate. After all, they are not delegating
validation of a Base Domain Name, they're delegating validation of an FQDN.

"""The CA SHALL NOT delegate validation of the domain portion of an email
address. The CA MAY rely on validation the CA has performed for an
Authorization Domain Name (as specified in the Baseline Requirements) as
being valid for subdomains of that Authorization Domain Name."""

The point here is to make it explicit SHALL NOT. The following sentence
does not conflict or limit that scope, but gives the CA limited additional
permission to address the case Dimitris raised.

The choice of "Authorization Domain Name" versus "Base Domain Name" is that
a given FQDN may have multiple "Base Domain Names", due to how the Public
Suffix List works. The Authorization Domain Name process was designed to
find the most specific Base Domain Name, by pruning labels left-to-right.
Rather than recreate that algorithm, I reused it here.

The downside is that such a definition picks up CNAME chasing, which
(similar to the remarks to Rufus), can be distinct from MX validation in
some situations. However, it's a trade-off, and seems strictly improved
over the status quo, and regardless, the documentation requirement that 2.2
places would cover those situations (hopefully).
_______________________________________________
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to