On 30/04/2024 22:33, Brendan McMillion wrote:
This doesn't apply in case we're distrusting a CA because it's
failed. In 9.1 we're rotating keys. As I laid out in my initial
mail, we can already sign the new root with the old root to enable
rotation. There's no size impact to up-to-date clients using
intermediate suppression or abridged certs.
The approach you describe requires the cooperation of the CA, in
signing the new root with the old root. My understanding is that CAs
(especially CAs in trouble with their root program) are often
uncooperative or absentee.
I think one of the two of us is confused. You indicated section 9.1
which explicit describes key rotation where the operator is staying the
same but switching to new keys which is what I responded to. If instead
you're talking about kicking out a CA for bad behaviour, this draft
doesn't really help as I pointed out earlier.
It also requires the CA's customers to go through a full issuance
cycle before they get certificates with the new root, which could take
over a year, during which time the compromised root will still need to
be trusted.
The distrust-after mechanism I mentioned doesn't require trusting the
compromised root during the transition time. SCTs enable us to pin the
valid certificate set to a fixed point in time.
This draft is substantially better than that. It normalizes websites
having multiple certificates from different CAs. In a future world
with widespread adoption of Trust Expressions and ACME, a root could
be distrusted immediately without warning and nothing would break
because websites would transparently switch to their alternate CA.
This deployment model is completely unrealistic and even if it were
practical, would be achieved with ACME alone without trust expressions.
This is predicated on the assumption that either the vast majority of
websites will configure their ACME client with multiple CAs or that the
distrusted CA actively provision replacement certificates from an
alternative CA. It's unclear why websites will want to maintain an
account with a CA they are not actively using for the extremely rare
event that their primary will be distrusted over-night. Alternately,
it's unclear why a CA would cooperate in its removal, they have
literally zero incentive to make their own removal easier.
Let's assuming for a moment we could a) get most of the world to use
ACME (a worthy but challenging goal) and b) get them to configure
multiple CAs and receive multiple certificates. We don't need trust
expressions to be able to do quick rotations - because we don't ever
want to use the old CA. It's just a case of swapping to the new one.
There's no need for negotiation.
During the very very long period in which this is being incrementally
deployed by clients and servers, Trust Expressions is still
substantially better than the approach you describe because it creates
the possibility for clients to negotiate away from a compromised CA
where possible (i.e., even if a website operator has taken no action
but presents multiple certificates, a client can choose a certificate
with a non-compromised root).
This is a repeat of the same point. It's a fantasy to expect that
website operators are going to establish accounts with multiple CAs on
the off chance of a catastrophic distrust. It is literally twice as much
work. In terms of the what the distrust is actually trying to achieve,
we actively want folks to stop using bad certificates from the bad CA
and in that sense, the pain is an essential part of the process in
improving security for everyone.
Again, as a reminder, distrust-after based on SCT dates largely
eliminates the need for overnight distrust decisions. We can already
remove bad CAs gracefully without having to trust them during their
deprecation period.
As has been mentioned, it takes a very long time for TLS extensions to
gain adoption by a broad set of client implementations, server
implementations, and website operators. If we built an extension that
just said "I have an accurate clock, you can send me short-lived
certificates" then it would need adoption by client implementations,
server implementations, and website operators, and this would take a
long time. Trust Expressions creates a happy path where 1.) clients
indicate support for a feature by trusting a fancy new CA, and 2.)
website operators support that feature simply by configuring their
ACME client to get a certificate from that CA. Changing the server
implementation isn't necessary. This happy path seems quite nice and
useful to me
There's a few huge problems with this:
1) Most of the interesting things we want to do require changes to
server implementations, so this doesn't help much.
2) It's extremely questionable that CAs should have the power to
reconfigure servers without the server operator actively opting in.
3) One of the extremely questionable acts that a CA might be
incentivised to do is provision a certificate chain from a domestic
government operated CA alongside the intended one. Helpfully bypassing
the need to convince website operators to use them.
This 3rd problem is exactly what I've been highlighting. If you're
trying to build a domestic government controlled PKI, you run into a
huge adoption challenge:
* No website wants to change to use your government controlled PKI,
because the user's don't support it and the rest of the world won't
ever have it, so the site is effectively blocked.
* There's no legitimate reason for a user to want to install the
government controlled root, because there's no sites that are using.
This draft very neatly solves that challenge. You can provision a large
number of sites with the government cert chain with little work. You
don't even need consent if you use the CA method as you described. Those
sites remain available to both local and international visitors so they
don't really mind unless they're the kind of site with strong opinions
about internet privacy. You can start to push your domestic users onto
using your domestic root store with the argument that a) its locally
supervised so its great and b) loads of local sites already support it.
Later, you have the latitude to start misbehaving or blocking traffic
that doesn't advertise your root store.
Reading between the lines, you seem like a person who would not
ordinarily be in favour of trusting CAs with TLS configuration
decisions, or making it easier to spin up a CA and so increasing the
number of trusted CAs in the world, or having a fragmented PKI along
national borders. This draft directly enables all three and you've yet
to identify an feature that Trust Expressions actually delivers that
isn't already available through simpler, already deployed, means.
On Tue, Apr 30, 2024 at 8:38 AM Dennis Jackson
<ietf=40dennis-jackson...@dmarc.ietf.org> wrote:
As mentioned above, we have such an extension already insofar as
indicating support for Delegated Credentials means indicating a
desire for a very short credential lifetime and an acceptance of
the clock skew risks.
Given how little use its seen, I don't know that its a good
motivation for Trust Expressions.
On 30/04/2024 16:33, Eric Rescorla wrote:
On Tue, Apr 30, 2024 at 8:29 AM Watson Ladd
<watsonbl...@gmail.com> wrote:
On Tue, Apr 30, 2024 at 8:25 AM Eric Rescorla <e...@rtfm.com>
wrote:
>
>
> On the narrow point of shorter lifetimes, I don't think the
right way to advertise that you have an accurate clock is to
advertise that you support some set of root certificates.
>
> If we want to say that, we should have an extension that
actually says you have an accurate clock.
That says you *think* you have an accurate clock.
Quite so. However, if servers gate the use of some kind of
short-lived credential
on a client signal that the client thinks it has an accurate
clock (however that
signal is encoded) and the clients are frequently wrong about
that, we're going
to have big problems.
-Ekr
Sincerely,
Watson
--
Astra mortemque praestare gradatim
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls