[cabf_validation] Final Minutes for the SCWG Validation Subcommittee Teleconference - March 9, 2023

Dimitris Zacharopoulos (HARICA) dzacharo at harica.gr
Thu Mar 23 15:09:07 UTC 2023


These are the Final Minutes of the Teleconference described in the 
subject of this message, prepared by Dimitris Zacharopoulos (HARICA).


  Minutes validation subcommittee 2023-03-09


    Roll call

Aaron Poulsen - (Amazon), Andrea Holland - (VikingCloud), Aneta 
Wojtczak-Iwanicka - (Microsoft), Ben Wilson - (Mozilla), Bruce Morton - 
(Entrust), Chris Clements - (Google), Clint Wilson - (Apple), Corey 
Bonnell - (DigiCert), Daryn Wright - (GoDaddy), Dimitris Zacharopoulos - 
(HARICA), Doug Beattie - (GlobalSign), Dustin Hollenback - (Microsoft), 
Enrico Entschew - (D-TRUST), Inigo Barreira - (Sectigo), Janet Hines - 
(VikingCloud), Johnny Reading - (GoDaddy), Joseph Ramm - (OATI), Kiran 
Tummala - (Microsoft), Martijn Katerbarg - (Sectigo), Michael Slaughter 
- (Amazon), Michelle Coon - (OATI), Nargis Mannan - (VikingCloud), Paul 
van Brouwershaven - (Entrust), Pekka Lahtiharju - (Telia Company), 
Rebecca Kelley - (Apple), Rollin Yu - (TrustAsia Technologies, Inc.), 
Ryan Dickson - (Google), Tobias Josefowitz - (Opera Software AS), Wayne 
Thayer - (Fastly), Wendy Brown - (US Federal PKI Management Authority).


    Approval of minutes

No minutes to approve from previous Teleconference


    Review of Agenda

Approved

  * Multi-perspective Domain Validation
  * Resuming the discussion about Applicant, Applicant Representative
  * Certificate issuance flows
      o Traditional hosting providers
      o CDN


    Update from Ryan on multi-perspective domain validation

Ryan gave a quick summary.

At the last F2F, a guest speaker from Princeton University investigating 
vulnerabilities with DNS and Internet routing, gave a nice presentation 
and a live demo via an ethical BGP hijack and forced mis-issuance of a 
Certificate. The researcher explained some possible mitigations we can 
do collectively to prevent this issue.

Multi-perspective domain validation is one such mitigation. Chrome team 
is leading this effort and gathered a team of members from Princeton and 
other interested parties to work on some draft requirements that we 
might be able to add to the baseline requirements. The goal is not to 
sunset or deprecate the existing validation methods that cannot take 
advantage of the multi-perspective DV. Email and other Domain Validation 
methods will continue to work. The focus is on strengthening the methods 
that can benefit from the MPDV approach.

Corey asked if we could have an outstanding agenda item for a progress 
report on this topic and Ryan agreed.

Dimitris asked if this is a closed group or something that we could 
potentially bring into the Forum, like inviting Princeton researchers 
and other folks to participate as Interested Parties. We would be able 
to publish minutes and all the good provisions we already have in the 
CA/B Forum.

Ryan replied that the current approach is that this is just a group of 
individual organizations that are interested in a common initiative. 
They are keeping everything open so there is a call for interested 
parties to volunteer for the work team. An email group will be created 
and a draft project plan and a kick-off sometime next week.

Detailed minutes will be taken so there is a clear history because it is 
important to be transparent. It's also important to capture history as 
to why did the group come to these conclusions. Ryan wants to make sure 
the experts are capable of participating and that was his only concern. 
He's fine either way as long as the Princeton team is able to participate.

There was some discussion about possible IP concerns and how an external 
group developing requirements would introduce those to a Forum WG. Ryan 
said this will be discussed at the 1st kick off meeting, he hadn't 
considered IP at this point. It needs to be solved one way or another.

Tobi said that perhaps since this will be introduced to the Forum, it's 
not much of an issue from an IP perspective but we need to explore some 
more. The primary researchers would need to sign the IPR, we'll ask them 
and report at next meeting.


    Discussion on certificate issuance flows

The following flows have been drafted:

 1. Traditional Hosting Provider, written by Corey
 2. CDN, written by Wayne
 3. ACME flow, written by Corey

Doug offered to write up at least one other flow in the next couple of 
weeks.

We will spend the rest of this meeting on the first one.


      Traditional Hosting Provider flow

This model describes how the "generally house certificates" were issued 
at the time the 1st BRs were written, 10+ years ago. The model is using 
a "shared hosting provider".

  * https://docs.google.com/document/d/1uX8jJ0u9p8mNjUeLl31N8YbmhIuuC2jfs2mZW6Bj-Hk/edit#
  * 16 descrete steps

Corey went through the steps and explained actions on each step.

Ben said that the reason we wanted to explore this flow is because we 
felt that the BRs do not describe modern/current models. Exploring this 
path would show us how to change the BRs to accommodate these models or 
make them more clear, especially when it comes to the certificate 
application, Applicant/Applicant Representative issues and where the 
Subscriber Agreement kicks in.

Corey agreed that that is one aspect of the effort. Another one is about 
the validation parts, whether or not the Applicant has to manually place 
the token at a given location, or that location could be delegated to 
another party, the subscriber key generation, etc. It's kind of a 
holistic reexamination of the processes to see how they map to current 
practices.

Ben disagreed with the idea of having a the holistic approach because we 
might get stuck.

Corey: take a step back and see what exactly we are looking for

Corey did a high level description of the steps to get a certificate 
that we need to address:

 1. Signing of the Subscriber Agreement
 2. Generation of the private key
 3. What elements are required for a certificate request?
 4. Domain Validation (does the Applicant need to manually place the
    Random Value?)

Wayne mentioned that we might need to add a definition of roles as a 5th 
element.

 1. Who is the Applicant?
 2. In the case of third parties, how do they map to the BR definitions
    (if at all)?

Text added to the main description of the Traditional Hosting Provider flow.

Private Key can be generated by the hosting provider on behalf of the 
Applicant. This seems to be allowed per section 6.1.2 but some Members 
thought it might be a good idea for this part to be clarified. No 
disagreements with that plan.

Dimitris mentioned that there might be a need for some kind of explicit 
Certificate acceptance action per BRs 9.6.3 "Acceptance of Certificate".

Ben said that in some cases when you send something out, without 
expecting an acknowledgment may be considered acceptance.

Corey brought up section 6.9.3 sub-item 3 of the BRs and understood the 
issue. Agreed to take a note in the minutes to revisit and clarify this 
part of the process.

Michael Slaughter. There is an implicit nature of acceptance. You 
implicitly authorize a hosting provider to generate keys on behalf of. 
Similarly, acceptance of the certificate is implicit by the Subscriber 
using the certificate. How much do we want to go into switching from 
implicit approvals to explicit? Or, explicitly calling out that these 
are implicit approvals/acceptances?

Wayne. An interesting area is when a Subscriber Agreement is accepted 
via an API call, like, set a flag in the API and that means you have 
accepted the agreement. Seems like a common practice. We should argue 
that this is acceptable, or if we do not consider this acceptable, it 
would mean a lot of changes.

Corey clarified that in the beginning of section 9.6.3, there is clear 
language that allows "click-through" agreements to be implemented, and 
such agreements are legally enforceable.

Wayne would still like this part to be a bit more explicit, although he 
agrees that this language probably allows this practice. Wayne argued 
that if we hard code acceptance of agreement to "true", and noting that 
"He Is Not A Lawyer", it doesn't seem viable. He believes that if that's 
the case, we should remove the requirement for the automated acceptance 
of the Subscriber Agreement in a way that you have to do something to 
demonstrate acceptance.

Doug noted that this is how ACME clients work today, where the user 
configures the client to accept the subscriber agreement.

Ryan: With ACME, when you register the account, you either needs to send 
the command that you accept the Subscriber Agreement or interactively 
accept it, one time. However, there are some cases where the user 
automatically accepts those agreements when, for example, they download 
some software that contains the ACME client tools. It's not always 
transparent to the user.

He then questioned, are they used? Are they legally binding and 
enforceable? Perhaps we should not require them as Wayne mentioned. He 
was not a great fan of Subscriber Agreements. That is more of a personal 
opinion, not the opinion of the Chrome Root Program. He believes there 
is something worth pursuing.

Wayne continued on this topic asking about the case where a web server 
is configured to automatically request a certificate. Who is the 
Subscriber in that case?

Ben mentioned some opinion about the "Digital Signature Guidelines" from 
the American Bar Association regarding the acceptance, and in particular 
the implied acceptance.

  * Implied acceptance can be done in the absence of express
    manifestation of approval by the Subscriber.

Corey asked if that interpretation could be applied for both the 
Certificate Acceptance and the acceptance of the Subscriber Agreement. 
Ben replied that it would not apply to the acceptance of the Subscriber 
Agreement.

Dimitris mentioned that subscriber agreements must be affirmatively 
accepted and legally enforceable. It is key on enforcing policies 
described in the BRs like revocation requirements, all the warranties 
and representations, to Certificate Subscribers. With that in mind, he 
believes we should clarify but not make the requirements weaker so he 
would not support removing the need for an Applicant to accept the 
Subscriber Agreement.

Corey restated that the applicant's acceptance of the Subscriber 
Agreement means that they are going to fulfill all these obligations.

Dimitris relied to Wayne's previous point about who is the Subscriber 
when a Web Server requests a certificate, and the answer is that there 
is always some human configuring these things, at least in 2023.

Wayne still questions whether that's legally enforceable. If the person 
configured something and then that caused some other action to later 
accept this legal agreement, it doesn't seem to be very strongly 
enforceable. He is not against a mechanisms where a subscriber can 
affirmatively accept it but he is against this "subscriber agreement 
theater" for which people have found ways to make so automatic that it 
doesn't add any value.

Dustin asked Wayne if he is only referring to the initial onboarding, 
like having a new customer, as with ACME's example that Ryan mentioned 
earlier, that you accept the agreement once and you don't have to accept 
any more. Wayne replied that he was referring to both.

Dimitris asked what happens when the Subscriber Agreement changes? The 
Applicant/Subscriber would need to be alerted about that. He thinks that 
ACME support it.

Ryan was thinking of all these cases and believes that if we put our 
minds together and find a a better way of getting the acknowledgment 
from the subscriber, and accept that over time, it would promote more 
agility in the ecosystem. People familiar with ACME and ARI (ACME 
Renewal Information) which can "signal some messages" from the CA to the 
Subscriber. That would give them the way to switch to another provider 
in an automated way. That would be very useful for mis-issuances (e.g. 
63 bits of entropy in the serial number) or some other "doomsday" scenario.

We could consider a concept of pre-accepting agreements without getting 
certificates yet, something of that sort.

Perhaps refining this language for more automation, pre-agreements .

Dimitris highlighted that "pre-agreements" or things of that sort will 
be very challenging because of the different jurisdictions. That's why 
the language in section 9.6.3 contains the statement "provided that the 
CA has determined that such agreements are legally enforceable".

Ryan wondered if there is a world where the subscriber agreement becomes 
optional, and the CA determines that this is a risk they are willing to 
accept.

Ben replied that he didn't think we should go down that path.

Dimitris mentioned that a CA can find different ways to obligate an 
applicant to follow some rules but historically we wanted all 
Applicants, all Subscribers to have a minimum set of responsibilities, 
warranties and obligations especially towards revocation of 
certificates. Also, for the need to contact the CA when the domain name 
changes, or the key is compromised. Without an agreement, this minimum 
set of expectations goes away for the ecosystem not for the CA.

Ben mentioned that from a legal perspective, there needs to be some kind 
of affirmative act at some point. There are situations where computers 
can enter into legal agreements if they have been empowered by their 
creators (developers, system administrators, etc) or the companies that 
have set it up. There are cases where computers have been allowed to 
take over the contracting process. Perhaps we're not talking about that 
same thing here.

Ben continued explaining that there is a concept of Affirmative act. The 
acceptance of the agreement doesn't need to be actually a click, we need 
to consider what that would look like "Accepting an agreement" without 
clicking something. He gave an example of a "shrinkwrap license" 
(https://en.wikipedia.org/wiki/Shrinkwrap_(contract_law)). These 
software licenses didn't really want users to accept anything but it 
said that by using or keeping something open, they agreed to it. The 
acceptance of the agreement doesn't have to be so specific as clicking 
on something, it can be something else. We should think broadly in terms 
of what would the affirmative act be, that somebody does at some point 
to put in motion this idea of accepting this subscriber agreement.

Michael doesn't fundamentally have a problem with a subscriber agreement 
being actively accepted but he raised a concern that we should not add 
any additional friction or require manual action in order to give that 
affirmative response.

Ryan: An act like "requesting a certificate", would that constitute 
acceptance of the agreement?

Martijn: completing the domain validation could potentially be 
considered a possible acceptance of the SA?

Corey summarized that we should modify this language about the 
electronically click-through agreement and expand upon that point. No 
objections were raised. He asked for volunteers to draft some concrete 
language and Ben volunteered to take that on.

Dustin will also contact Ben offline to assist. He mentioned that we 
should not limit this only to specific options but use them as examples. 
It can be something generic like "some affirmative act by the subscriber 
provided that the CA has determined that such process creates a legally 
enforceable subscriber agreement".

Wendy: An act like installing & using the cert could also be used.

Ben will work on some language proposals.

Step 9, registered their domain, they have an A record pointing to the 
hosting machine. Not delegating to the hosting provider, no CNAME

Wayne mentioned that he covered the CNAME delegation in the CDN model so 
it might be a good place to talk about it.

Dimitris noticed that the model uses the DNS challenge and not the 
agreed-upon change to website and was wondering if this was a deliberate 
choice considering that a hosting provider would have access to the 
server to place a random value in a file and complete the transaction. 
Corey thinks both DNS and agreed-upon change to website would be similar 
in this model because there is no integration between a CA and a hosting 
provider. This is another assumption that should be stated. These are 
mostly manual steps.

Wayne highlighted that this is a model before CAs started integrating 
with hosting providers and automating some of these model. He has 
considered these integrations that Dimitris was talking about in the CDN 
model.

Martijn mentioned that we should at some point consider the reseller 
model too. It seems like a hybrid of the hosting provider being the 
reseller in which case they would probably perform that.

Assumption that the Applicant and the hosting provider are different 
entities and there is no integration between hosting provider and CA. 
This is the "2010" model where the "webmaster" is doing most of the steps.

Dimitris asked Corey if it would be useful to document those assumptions 
(that there is no DNS delegation, or CNAME, or...) to the beginning of 
the workflow which will make the steps make more sense. Corey agreed to 
add those assumptions.

The group agreed to pick up where we left off at step 12.

Clint asked to time-box the discussion so we have time for at least 
another model.


Adj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/validation/attachments/20230323/b5459446/attachment-0001.html>


More information about the Validation mailing list