On 10/08/15 11:28, Ben Laurie wrote:
On Sat, 8 Aug 2015 at 17:56 Bryan Ford <[email protected]
<mailto:[email protected]>> wrote:
<snip>
Out of curiosity, has anyone floated or elaborated on the idea of what
CT would look like if simplified not to rely on SCTs at all?

I believe I already mentioned that the original plan was to use
inclusion proofs, not SCTs. CAs did not like the consequent delay in
certificate issuance.

Gossip seeks to strengthen CT, whereas the following idea proposes a weaker form of CT that could be much easier to deploy in the short-term. This could form part of an incremental deployment strategy towards "full" CT.


PROBLEM

The long-term goal is for TLS clients to be able to abort TLS handshakes if an insufficient number of valid SCTs (or inclusion proofs - see TRAC ticket #10) are provided. To achieve this goal, we will need the vast majority of the TLS servers on the planet to be upgraded and/or the vast majority of the CAs on the planet to embed SCTs in certs and/or OCSP responses.

This could take years!  While we wait...


IDEA

When a TLS server sends a cert accompanied by zero SCTs / inclusion proofs, let the TLS client attempt to fetch and verify an inclusion proof (from each known log?) for each certificate encountered. (This would require a new log API for looking up an inclusion proof by certificate hash).
There are 3 possible outcomes:
1. If the TLS client obtains a valid inclusion proof, then all is well.
2. If the TLS client can't obtain any responses from any logs, it should act as if all is well (i.e. soft-fail). 3. If the TLS client receives responses from at least 1(?) log, indicating that there are zero inclusion proofs for the cert in question, it should flag the cert (to the browser vendor?) as potentially not logged.

TLS clients could start behaving this way sooner rather than later, since the only prerequisite is that each cert must be logged. (And of course adding a cert to a log is something that can be done by the CA, the domain owner, or indeed anyone else that encounters the cert).

If CAs are required (by browser root inclusion policies) to log all certs they issue, then any evidence of certs not being logged would prove CA misbehaviour.

Ideally the "there are zero inclusion proofs for this cert" response from the log would be signed by the log, so that it's possible for anyone who has a valid and sufficiently old SCT for that cert to prove log misbehaviour.

If there are a large number of logs, it might be impractical for TLS clients to try to fetch inclusion proofs from all of them, so there might need to be some sort of mechanism for figuring out which subset of logs should be checked.


No doubt there are rough edges in this initial proposal, but is this idea worth pursuing?

Or do folks feel that pursuing this idea would be too much of a distraction, and that we should instead focus on the long-term goal of getting "full" CT specified and deployed?

--
Rob Stradling
Senior Research & Development Scientist
COMODO - Creating Trust Online

_______________________________________________
Trans mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/trans

Reply via email to