As I'm sure you know, there are several federated services, at least in the Education and Research area, where schemes like are used. In that scenario, Identity Providers under a certain policy ( provide signed assertions that contain the full name and email address of the Subject, along with other signed attributes. Identity providers under this scheme usually have even stricter policies. Unfortunately these entities are not under a strict audit scheme but has been working pretty well for decades.

If any of these Identity Providers want to enable their users to get an S/MIME Certificate trusted by NSS, I think it would be acceptable for the CA to validate control of the Domain part and then let the federated login take care of the local part. Does that seem reasonable?


On 2019-10-05 9:45 π.μ., Jeremy Rowley via dev-security-policy wrote:
I’m thinking more in terms of the potential rule in the Mozilla policy. If the 
rule is “the CA MUST verify the domain component of the email address” then the 
rule potentially prohibits the scenario where the CA verifies the entire email 
address, not the domain component, by sending a random value to each email 
address and requiring the email address holder to approve issuance. I actually 
liked the previous requirement prohibiting delegation of email address 
verification, although the rule lacked clarity on what email address 
verification entailed. I figure that will be defined in the s/MIME working 

Describing the actors is a good way to look at it though. Besides those three 
buckets of issuers, you have the RAs, the email holders, and the organization 
controlling the domain portion of the email address. These entities may not be 
the same as the CA. More often than not, the RA ends up being the organization 
contracting with the CA for the s/MIME services. The RAs are the risky party 
that I think should be restricted on what they can verify since that’s where 
the lack of transparency starts to come in. With the prohibition against 
delegation of email control eliminated, we’re again placing domain/email 
control responsibilities on a party that has some incentive to misuse it (to 
read email of a third party) without audit, technical, or policy controls that 
limit their authority.  Because there are a lack of controls over the RAs, they 
become a hidden layer in the process that can issue certificates without anyone 
looking at how they are verifying the email address or domain name and whether 
these processes are equivalent to the controls found int eh BR.  Similar to 
TLS, the unaudited party should not be the one providing or verifying 
acceptance of the tokens used to approve issuance.

In short, I’m agreeing with the “at least” verifying the domain control 
portion. However, I know we verify a lot of email addresses directly with the 
email owner that doesn’t have control over the domain name. So the rule should 
be something that permits verification by the root CA of either the full email 
address or the domain name but at least eliminates delegation to non-audited 
third parties. For phrasing, “the CA MUST verify either the domain component of 
the email address or the entire email address using a process that is 
substantially similar to the process used to verify domain names as described 
in the Baseline Requirements”, with the understanding that we will rip out the 
language and replace it with the s/MIME requirements once those are complete at 
the CAB Forum.


From: Ryan Sleevi <>
Sent: Friday, October 4, 2019 10:56 PM
To: Jeremy Rowley <>
Cc: Kathleen Wilson <>; Wayne Thayer <>; 
mozilla-dev-security-policy <>
Subject: Re: Policy 2.7 Proposal: Forbid Delegation of Email Validation for 
S/MIME Certificates


Could you describe a bit more who the actors are?

Basically, it seems that the actual issuance is going to fall into one of 
several buckets:
1) Root CA controls Issuing CAs key
2) Issuing CA controls its own key, but is technically constrained
3) Issuing CA controls its own key, and is not technically constrained

We know #1 is covered by Root CA’s audit, and we know #3 is covered by Issuing 
CA’s audit, and #2 is technically constrained and thus the domain part is 
apriori validated.

So when you say “some organizations”, I’m trying to understand which of the three cases 
here they fall under. If I understand correctly, the idea is that Customer Foo approaches 
Root CA (Case #1). Root CA knows Foo’s namespace is foo.example through prior verification, 
and Root CA allows Foo to issue to *@foo.example<mailto:*@foo.example>. Then Foo says 
“oh, hey, we have a contractor at user@bar.example<mailto:user@bar.example>, we’d 
like a cert for them too”.

Why can’t Root CA verify themselves? Why would or should Root CA trust Foo to 
do it correctly? I can imagine plenty of verification protocols where Foo can 
be the “face” of the verification, but that it uses Root CAs APIs and systems 
under the hood. I‘m fairly certain DigiCert has experience doing this for their 
customers, such as for white label CAs.

So that’s why I’m struggling to understand the use case, or the challenges, 
with at least requiring domain-part validation by the CA.

On Fri, Oct 4, 2019 at 8:09 PM Jeremy Rowley via dev-security-policy 
Will this permit either verification of the email address or the domain part? 
For example, some organizations may verify their entire domain space and then 
confirm contractors using a random value sent to the email address itself. They 
don't  need the entire domain space in those cases, but they do need to issue 
certificates for a few email addresses outside of their domain control. 
Verification of email control using a random value seems like it affords 
controls that are equivalent to the challenge-response mechanisms in the BRs.

-----Original Message-----
From: dev-security-policy 
 On Behalf Of Wayne Thayer via dev-security-policy
Sent: Friday, October 4, 2019 2:38 PM
To: Kathleen Wilson <<>>
Cc: mozilla-dev-security-policy 
Subject: Re: Policy 2.7 Proposal: Forbid Delegation of Email Validation for 
S/MIME Certificates

I'd like to revive this discussion. So far we've established that the existing 
"required practice" [1] is too stringent for email address validation and needs 
to be changed. We can do that by removing email addresses from the scope of the 
requirement as Kathleen proposed, or by exempting the local part of the email address as 
I proposed earlier:

"CAs MUST NOT delegate validation of the domain name part of an email address to a 
3rd party."

We have a fairly detailed explanation from Ryan Hurst of why and how removing 
the requirement entirely is beneficial, but no one else has spoken in favor of 
this need. Kathleen did however point out that this requirement doesn't appear 
to be the result of a thorough analysis. We have Ryan Sleevi arguing that the 
process described by Ryan Hurst is insecure and thus a reason to forbid 
delegation of validation of the domain name part. Pedro Fuentes also wrote in 
favor of this outcome.

One thing that might help to resolve this is a more detailed description of the 
weaknesses that are present in the process described by Ryan Hurst. If we can 
all agree that the process is vulnerable, then it seems that we'd have a strong 
argument for banning it.

- Wayne


On Thu, May 23, 2019 at 12:22 PM Kathleen Wilson via dev-security-policy <<>>

On 5/13/19 10:24 AM, Wayne Thayer wrote:
The BRs forbid delegation of domain and IP address validation to
third parties. However, the BRs don't forbid delegation of email
address validation nor do they apply to S/MIME certificates.

Delegation of email address validation is already addressed by
Mozilla's Forbidden Practices [1] state:

"Domain and Email validation are core requirements of the Mozilla's
Root Store Policy and should always be incorporated into the issuing
CA's procedures. Delegating this function to 3rd parties is not permitted."

I propose that we move this statement (changing "the Mozilla's Root
Store Policy" to "this policy") into policy section 2.2 "Validation Practices".

This is

I will appreciate everyone's input on this proposal.

- Wayne



As the person who filed the Github issue for this, I would like to
provide some background and my opinion.

Currently the 'Delegation of Domain / Email Validation to Third Parties'
section of the 'Forbidden Practices' page says:
"This is forbidden by the Baseline Requirements, section 1.3.2.
Domain and Email validation are core requirements of the Mozilla's
Root Store Policy and should always be incorporated into the issuing
CA's procedures. Delegating this function to 3rd parties is not permitted."

Based on the way that section is written, it appears that domain
validation (and the BRs) was the primary consideration, and that the
Email part of it was an afterthought, or added later. Historically, my
attention has been focused on TLS certs, so it is possible that the
ramifications of adding Email validation to this section was not fully
thought through.

I don't remember who added this email validation text or when, but I
can tell you that when I review root inclusion requests I have only
been concerned about making sure that domain validation is not being
delegated to 3rd parties. It wasn't until a representative of a CA
brought this to my attention that I realized that there has been a
difference in text on this wiki page versus the rules I have been
trying to enforce. That is when I filed the github issue.

I propose that we can resolve this discrepancy for now by removing "/
Email Validation" from the title of the section and removing "and Email"
from the contents of the section.

Unless we believe there are significant security reasons to add our
own S/MIME required/forbidden practices at this time, my preference is
to wait for the CA/Browser Forum to create the S/MIME Working Group,
and for that group to identify the S/MIME baseline requirements. Then
we can add policy and required/forbidden practices based on the S/MIME
BRs provided by that group.

I do realize that my proposal is unfair to CAs who have been
diligently following this section of this wiki page. Your diligence is
appreciated, and your contributions to this discussion will also be appreciated.


dev-security-policy mailing list<>

dev-security-policy mailing list<>

dev-security-policy mailing list<>
dev-security-policy mailing list

dev-security-policy mailing list

Reply via email to