Thanks Sleevi 

Thanks to provide us an example of (another intermediate).
Technical and name constraints seems much clear for me now.


2019年1月15日火曜日 1時56分58秒 UTC+9 Ryan Sleevi:
> On Mon, Jan 14, 2019 at 11:10 AM tadahiko.ito.public--- via
> dev-security-policy <[email protected]> wrote:
> 
> > Hi
> >
> > I have question for following case of certificate chain.
> > (root cert)--(1st intermediate cert)--(2nd intermediate cert)--(EE cert)
> > In addition, "1st intermediate cert" is for technically constrained with
> > name constraints (including server-auth EKU).
> >
> > I believe we Must put EKU (server-auth) for "2nd intermediate cert".
> > (regarding Mozilla root store policy 5.3)
> > However, Does "2nd intermediate cert" need name constraints?
> > # For our understanding, name constraints on 2nd intermediate is not
> > necessary, but do not sure about that.
> >
> 
> Thanks for raising this question! I defer to Wayne to provide the
> authoritative answer, but I believe your reading is mostly correct.
> 
> Under Section 5.3 of the Mozilla Policy, intermediate certificates created
> after 2019-01-01 MUST contain an EKU according to those policies.
> Under Section 5.3.1 of the Mozilla Policy, in order to be considered
> technically constrained, then it MUST contain nameConstraints in line with
> Section 7.1.5 of the BRs.
> 
> This means that (2nd intermediate cert), according to policy, MUST contain
> both an EKU and nameConstraints.
> 
> This is done for policy reasons, not strictly technical reasons. That is,
> RFC 5280 ensures that constraints flow down, such that if you had a chain
> (root cert)--(1st intermediate)--(2nd intermediate)--(EE)
> and 1st intermediate was nameConstrained, then those constraints would also
> apply to 2nd intermediate and EE.
> 
> However, it also means that if a chain existed
> (root cert)--(another intermediate)--(2nd intermediate)--(EE)
> 
> and "another intermediate" was NOT nameConstrained, then (2nd intermediate)
> would also not be constrained.
> 
> Thus, the policy requirement - of expressing those constraints in (2nd
> intermediate) - helps ensures that the intermediate will be constrained
> regardless of it building the chain from (1st intermediate) or (another
> intermediate). Mozilla Policy also requires disclosure of (another
> intermediate), but as the recent discussion reflected, that's not
> technically enforced yet. One can imagine that if there was technical
> enforcement - of all intermediates being disclosed and not trusted unless
> they were - then the policy requirement might be changed to align with the
> technical requirement. However, this is only possible when it can be
> guaranteed that an unconstrained "another intermediate" doesn't exist, and
> absent that technical guarantee, expressing all of the constraints
> (duplicating them) in "2nd intermediate" offers a more robust guarantee.

_______________________________________________
dev-security-policy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to