On 7 November 2016 at 11:25, Ryan Sleevi <r...@sleevi.com> wrote:
> On Monday, November 7, 2016 at 9:02:37 AM UTC-8, Gervase Markham wrote:
>> As in, their dishonesty would be carefully targetted and so not exposed
>> by this sort of coarse checking?
>
> (Continuing with Google/Chrome hat on, since I didn't make the previous reply 
> explicit)
>
> Yes. An 'evil log' can provide a divided split-view, targeting only an 
> affected number of users. Unless that SCT was observed, and reported (via 
> Gossip or some other means of exfiltration), that split view would not be 
> detected.
>
> Recall: In order to ensure a log is honest, you need to ensure it's providing 
> consistent views of the STH *and* that SCTs are being checked. In the absence 
> of the latter, you don't need to do the former - and that's infrastructure 
> for monitoring primarily focuses on the STH consistency, with the 
> assumption/expectation that clients are doing the SCT inclusion proof 
> fetching.
>
> So if I were wanting to run an evil log, which could hide misissued 
> certificates, I could sufficiently compel or coerce a quorum of acceptable 
> logs to 'misissue' an SCT for which they never incorporated into their STH. 
> So long as clients don't ask for an inclusion proof of this SCT, there's no 
> need for a split log - and no ability for infrastructure to detect. You could 
> use such a certificate in targeted, user-specific attacks.
>
> This is why it's vitally important that clients fetch inclusion proofs in 
> some manner (either through gossip or through 'privacy' intermediaries, which 
> is effectively what the Google DNS proposal is - using your ISP's DNS 
> hierarchy as the privacy preserving aspect), and then check that the STH is 
> consistent (which, in the case of Chrome, Chrome clients checking Google's 
> DNS servers is effectively an STH consistency proof with what Google sees).
>
> In the absence of this implementation, checking the SCT provides limited 
> guarantee that a certificate has actually been logged - in effect, you're 
> making a full statement that you trust the log to be honest. Google's goal 
> for Certificate Transparency has been to not trust logs to be honest, but to 
> verify - but as Chrome builds out it's implementation, it has to 'trust 
> someone' - and given our broader analysis of the threat model and scenario, 
> the decision to "trust Google" (by requiring at least one SCT from a 
> Google-operated log) is seen as no worse than existing "trust Google" 
> requests existing Chrome users are asked of (for example, trusting Chrome's 
> autoupdate will not be compromised, trusting Google not to deliver targeted 
> malicious code). [1]
>
> Thus, in the absence of SCT inclusion proof checking (whether temporarily, as 
> implementations blossom, or permanently, if you feel there can be no suitable 
> privacy-preserving solution), you're trusting the logs not to misbehave, much 
> like you trust CAs not to misbehave. You can explore technical solutions - 
> such as inclusion proof checking - or you can explore policy solutions - such 
> as requiring a Mozilla log, or requiring logs have some criteria to abide by 
> ala WebTrust for CAs, or who knows what - but it's at least useful to 
> understand the context for why that decision exists, and what the trust 
> tradeoffs are with such a decision.

++

I feel compelled to note that we have an IETF draft on Gossip to
address this need:
https://datatracker.ietf.org/doc/draft-ietf-trans-gossip/ so if people
are unaware of it, please read it and give us feedback on the IETF
[trans] list. The document needs review, but we think we're done it
excepting community review.

On the point of SCT Inclusion Proofs, we propose three options:
- Client fetches the Inclusion proof via DNS[0] and pollinates the
resulting STH which should be privacy preserving
- Client does _not_ fetch an inclusion proof, but provides historical
SCTs to the website of origin[1] for auditors to collect
- The client ships its browsing history to some third party wholesale.

We're not too keen on the last one ;)

But please, read the doc and give us feedback on [trans] - I don't
want to divert this thread =)

-tom

[0] Or any other privacy preserving mechanism, such as Tor, but
realistically DNS is going to be the main option for now.
[1] We assume an attacker cannot MITM a website permanently, and the
algorithm is designed such that in 'most cases' the evidence of an
attack is preserved by the client for submission after the MITM ends.
_______________________________________________
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to