[cabf_validation] Draft Minutes for the Validation Subcommittee Server Certificate Working Group Teleconference - November 18, 2021
Dimitris Zacharopoulos (HARICA)
dzacharo at harica.gr
Thu Nov 25 17:38:38 UTC 2021
These are the Draft Minutes of the Teleconference described in the
subject of this message as prepared by Dimitris Zacharopoulos (HARICA).*
*
Please review the minutes and propose edits if necessary. These minutes
will be considered for approval at the next meeting. The recording of
the meeting will be deleted once the minutes are approved.
Attendees(in alphabetical order)
Amanda Mendieta (Apple), Ben Wilson (Mozilla), Bruce Morton (Entrust),
Clint Wilson (Apple), Corey Bonnell (Digicert), Dimitris Zacharopoulos
(HARICA), Enrico Entschew (D-TRUST), Inigo Barreira (Sectigo), Joanna
Fox (TrustCor Systems), Johnny Reading (GoDaddy), Kati Davids (GoDaddy),
Michael Slaughter (Amazon), Michelle Coon (OATI), Niko Carpenter
(SecureTrust), Paul van Brouwershaven (Entrust), Rebecca Kelley (Apple),
Ryan Dickson (Google), Steven Deitte (GoDaddy), Thomas Zermeno
(SSL.com), Tim Hollebeek (Digicert), Tyler Myers (GoDaddy), Wayne Thayer
(Mozilla).
Agenda
1. CRL validity period ballot (SC52)
2. Certificate Profiles and effective dates
3. Delegate DNS to the CA for Domain Validation
Minutes
Preparation
* The recording started
* Roll call was taken by Tim
* The antitrust statement was read by Tim
* Minute taker was assigned (Dimitris)
1. SC-52: Specify CRL Validity Intervals in Seconds
Tim asked for Members to check the ballot and whether the changes will
negatively affect other areas like Request Tokens, Audit periods, etc.
2. Certificate Profiles and effective dates
* A ballot becomes effective when it clears IPR
* Possible explicit effective dates in the actual ballot
Tim said it would be very challenging to write a version of the BRs that
contains the old profiles, the new profiles and effective dates for those.
The problem is simple. After the transition date, we want CAs to use the
new profiles. Before that effective date, CAs would be OK to use the old
profiles.
All certificates issues after the transition date, must comply with the
new certificate profiles. Until that transition date, the CA MAY use the
profiles described in the previous BR version.
The cleanup for this would just remove the transition date when it is no
longer necessary.
Bruce agreed that this is a nice approach. He asked what would happen if
a subsequent ballot changed the language in the profiles sections. Tim
said we could agree not to modify the profiles section until the
transition date of the Profiles ballot. In case we find an issue in the
profiles, there will still be a linked version to a BRs version and
follow-up ballots will be able to modify this language in whatever ways
necessary in order to express the changes required.
Clint agrees with the approach.
If we discover that we have made a mistake in the language, we will have
time to run a subsequent ballot to fix issues before the problematic
language becomes effective.
Wayne says that CAs could pick-and-choose which corrupts the
interpretation of the new changes. CAs should either comply entirely
with the old or entirely with the new profiles. That might eliminate
some of the risk of pick-and-choose. The implementation time period is
relatively short so it's not a huge risk and would only apply for 6 months.
Tim had the impression that the current language already forbids the
pick-and-choose option and would welcome suggestions for improvements to
making this clearer.
In any case, Tim considers that everything in the new profiles is not
considering anything done in the previous profiles as "illegal". Wayne
said that we need to confirm that something in the new profiles is not
prohibited by the old profiles. Tim replied that he doesn't think this
is the case and Wayne suggested we add a sentence to state that clearly
for readers as for the intent.
Wayne said that if the Profiles ballot extends to parts of the BRs
outside section 7, for example definitions and such, modulo other
ballots that happen in the interim period, we could say that the CA
either must comply with this version or that version, but not
pick-and-choose. However, he agreed that this is difficult to achieve
when there are subsequent ballots.
Dimitris said that the BRs say that CAs must always comply with the
latest version. Tim said that if auditors asked, we would point to
explicit text of the latest BRs that says you may comply with a previous
version.
3. Delegating DNS to the CA for Domain Validation
Wayne described the issue of method 7 DNS domain control authorization.
Method 7 allows the use of CNAME records to redirect from one domain to
another where at some point you check a TXT record that contains the
Random Value and complete the Domain Validation process.
The CA can register a Domain Name "cadomainvalidations.com". Then create
subdomains off of that Domain Name and ask Applicants to create CNAME
records that point to those subdomains. This would allow the CA to
essentially self-authorize and self-issue renewed certificates.
The topic was discussed in m.d.s.p. back in 2019 where Jeremy Rowley
from Digicert and Ryan Sleevi from Google had a disagreement about
whether this practice is allowed in the BRs or not.
Some CAs might be using this practice today. It's best if we are
explicit about it and either explicitly allow or forbid this practice.
What are the associated risks?
If a CA were to use this method, without having any binding between the
organization that was instructed to create a CNAME that points to a
subdomain controlled by the CA, if there was no binding between that and
the actual request coming in for the certificate, then anyone could
request a certificate once it was CNAMEd, once the CNAME was set by the
rightful Domain Name holder. The CA cannot distinguish whether the
request comes from the Domain Name holder or not. You have to bind this
delegation with a particular account at the CA systems so to accept only
requests that are authorized and linked to this delegated account.
Add language to method 7 that says that the Random Value must be bound
to the Applicant's account. So, you might have a Random Value but also
have an account authorization.
Would this be a new method? Wayne suggests that this is a yes, it should
be an entirely new method that describes what is and what is not allowed.
If the Applicant delegates via CNAME the Domain Authorization to a
Domain that the CA controls, then the CA binds that delegation with an
account in its systems, and then the risk is prevented. Then, when the
CA wants to issue a certificate, it is practically self-validating.
Then, why should the CA generate the Random Value in the first place?
It's just an exercise that doesn't add any security value or prove
anything. Just the fact of creating a CNAME pointing to a subdomain of
the CA, should be considered authorization, and a "permanent" one.
This authorization starts to look like how the CAA works. Just like a
Domain Name holder points the CAA to a domain name, it could point to a
CNAME as a permanent authorization, or a CA "account identifier". The CA
would then be able to issue certificates in perpetuity as long as this
record is in place.
So, the idea is to codify that as a validation method that uses CAA or
CNAME to delegate this issuance authorization to the CA under a
particular "account identifier".
Dimitris asked if we should first discuss if this practice is
problematic and introduces significant risks and whether it is specific
to delegations to CA or delegations in general. In many ways today, it
is very difficult, almost impossible for a CA to distinguish between an
Applicant and a Reseller.
Is the delegation problem problematic in general?
Who is the Applicant (especially on a hosting provider)? Need to check
if this is currently allowed in method 7.
Wayne recalled that in the 2019 email thread, there was discussion about
whether Amazon Web Services is the Applicant for certificates asked by
their customers or not.
Tim: There are ways to implement this, it is allowed, but you can do it
in a very bad way. We need to update the BRs so that if someone is going
to allow it, here's how it should be done, in a secure manner.
Dimitris said that method 7 clearly allows delegating Domain Names to
hosting providers. Perhaps there is an issue for hosting providers that
are also CAs that perform the validation. Is the problem identified in
the fact that CAs could do it directly, so instead of having two
parties, an "Applicant" and a "CA", we have the CA wearing two hats? Tim
replied that it's unclear. It depends how you read some of those words
in the BRs.
Wayne recalled that the original question came from a CA that asked "am
I allowed to do this"? That spawned the discussion but it was not
clearly resolved. The cases we should consider are Amazon, GoDaddy,
Google and Microsoft who are also hosting providers and CAs. Are they
allowed to do this? Can the CA do it directly? If not, can the CA /that
is also a hosting provider/ do it?
Bruce recommended that we just assume that it is currently permitted and
proceed with making it clear whether it is permitted or not going
forward. CAs have been audited, nobody said it's not permitted, we can't
change the past.
Wayne added that this is a typical situation where we should debate what
are the CAs' and Browsers' expectations and in the end it doesn't really
matter that much, it just needs to be clear so there is a common
understanding going forward.
Binding a Random Value to a specific customer could be a trivial change.
However, it doesn't really answer the question about whether this is
allowed or not.
In general, adding random values to a domain that the CA controls, is
just "theater".
Permanent delegations are risky. Tim said that CAs still need to check
delegation every time. Currently it's probably not required because of
the validation reuse clause.
Tim recommends that instead of allowing that in method 7, we should
create a new method that allows it with better security properties.
Tim said that for the random value to work, the CA would need to check
that the CNAME is in place so this is covered. However, Dimitris pointed
out that this validation action can be reused for 398 days, except for
the CAA that needs to take place on every certificate issuance. So,
requiring the CNAME delegation check on every issuance, would be an
improvement over the current requirements. Tim thought that this would
then make this method special in a way he doesn't feel is necessary.
Wayne asked if we could add a sentence in method 7 that says "if a CNAME
is used to redirect the Domain Control to the CA then something must be
tied to the account".
Tim will write a straw-man proposal for further discussion.
Corey mentioned that this could easily be the case in method 2 where the
Applicant adds a CA email address in the WHOIS record. Niko said it
could also apply to method 18 with a permanent redirect that always
redirects to the CA-controlled Domain Name.
It goes back to the original question whether delegating Domain Control
validation to the CA is an acceptable practice or not. An arbitrary
third-party is OK to be delegated for Domain Control validation. Why not
for the CA?
Tim recommended to leave the other methods until we find good language
for method 7. He also thinks that this delegation would be good for
agility purposes.
Tim mentioned that the Random Value is like a "bearer token" between the
Applicant and the CA. If the CA gets authorization by an action from the
Applicant at the Authorization Domain Name level, then the "bearer
token" becomes irrelevant.
Niko replied that, without stating whether this is for better or worse,
the Random value shows intent at the time of setting that DNS record,
while the CNAME record doesn't have that property.
Wayne said that he agrees with Corey that this delegation issue probably
applies to several Domain Validation methods but it might make more
sense to start with improving the DNS method first.
Wayne asked whether we should ban it for the other methods until we look
at the issue thoroughly. Tim suggested not to touch the other methods
until we do some analysis.
Bruce mentioned that we could ban it and wait for a CA that uses it to
come forward. Tim was negative with that approach and asked how does one
know whether an email address is or is not controlled by the CA?
Dimitris: This is probably the case for the WHOIS email addresses but
not the constructed email address method. But, similarly, how can we
differentiate whether a Domain Name is controlled by a CA or not? It
could very well point to a Domain Name that is not the one the CA is
using for their brand name. It's not possible to track this down.
Bruce made an observation that we tried very hard to remove "any other
method" and it appears that we currently do have "any other method"
being effectively allowed. Perhaps we didn't define things specifically
enough? Tim replied that we always knew this would be an iterative
process where methods and language would be continuously improved. We
have made very good progress in the Domain Validation methods, things
are much better than what they used to be. All agreed.
Adjourned
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/validation/attachments/20211125/dac06437/attachment-0001.html>
More information about the Validation
mailing list