[messaging] Google End-to-End plans on using key directories with a CT-like verification protocol
zaki at manian.org
zaki at manian.org
Thu Aug 28 11:51:59 PDT 2014
The purpose to CT is not to protect users from MITM attacks. The purpose of
CT is protect the operators of key directories from coercion and the
network from malicious/subverted key directory operators. CT will permit a
response that complying with a lawful interception order will result in a
significant loss of business for a directory operator. Keys will be
non-repudiable and thus it will clear after an adverse event who
facilitated the MITM attack.
Specifically, Google and Yahoo are large commercial entities that want to
operate an encrypted communication network without key escrow in a way
acceptable to their lawyers. The current operators of large e2e
networks(iMessage, BBM) use key escrow as part of their compliance regime
with lawful interception orders.
On Thu, Aug 28, 2014 at 11:18 AM, Moxie Marlinspike <moxie at thoughtcrime.org>
> On 08/27/2014 12:32 PM, Tony Arcieri wrote:
> > They plan on having email providers run "Key Directories" and using
> > encrypted messages to gossip data about the directories, providing a
> > CT-like system:
> > https://code.google.com/p/end-to-end/wiki/KeyDistribution
> I still have some questions about this approach. My understanding is that:
> 1) The monitors themselves can't determine whether Google is being
> "dishonest," beyond one extremely coarse view of whether Google is
> publishing an appropriate data structure.
> This is because:
> a) Users' keys will be changing constantly under completely normal
> b) From running a service that operates as a sort of "key directory," I
> know that many times they will even be changing in "suspicious" ways,
> ie. from A to B and then back to A again.
> This means:
> 2) Users are the only ones who have the information to determine whether
> Google is being dishonest.
> This is because:
> a) Users are the only ones who know what their keys actually are, and
> whether they were supposed to change.
> So we're in a situation where the best a "monitor" can do is provide the
> user with a view of their key state over time, which the user can verify
> with their own knowledge of what their key state should be. Nobody can
> detect an attack but the user themselves, which they depend on a third
> party service in order to be able to do. Everything is dependent on the
> I think there are three distinct classes of users:
> i) Almost everyone. In the world where all GMail customers are using
> E2E, the vast majority of them won't (and shouldn't be expected to) know
> what their key state should be, or what a key even is. So for those
> users, Google can make whatever key changes they want with impunity, and
> neither the "monitors" nor the users would be the wiser of Google's
> nefarious ways. This may be OK, particularly if there's no way for
> Google to distinguish between types of users.
> ii) The crypto few. There is a small percentage of users who will know
> what a key is and understand how this works well enough to be able to
> effectively monitor these changes.
> iii) Wingnuts. Larger than the crypto few, but still a vast minority.
> They'll know what a "key" is, but won't *really* understand how this
> works, and will become convinced that Google has MITMd them when their
> key changed under normal circumstances.
> I don't see any way to distinguish the "wingnuts" from "the crypto few."
> If either user steps forward to declare that their key was compromised,
> the only information we have is the log. However, the user is the only
> one with the information to determine whether the log is correct or not,
> so there's no real "proof" other than the user's word. Even with all
> the monitoring infrastructure available, there's still no information
> that a 3rd party can use to determine whether a key was maliciously
> inserted or not.
> That doesn't really seem to add up to a great situation. As I see it:
> 1) This is a *lot* of work. Servers have to maintain these directories
> at volumes (hopefully all gmail users) that are already difficult
> enough. Other organizations will need to be formed with somewhat
> considerable resources in order to effectively keep up with the monitoring.
> 2) Users can be successfully MITM'd, and will only learn about it after
> the fact.
> 3) It creates a potential SPAM problem.
> 4) It creates a potential reputation problem for the key directory,
> since "wingnuts" will constantly be announcing that they've been MITM'd
> (complete with "proof" in the form of the log), and there'll be no way
> for us to distinguish them from "the crypto few."
> So my question is, how is this better than doing the following:
> 1) Transmitting identity keys in-band.
> 2) Doing TOFU for keys seen.
> 3) Make the client notifying the user when a key changes, if the user
> has a key change notification preference set.
> 4) Leaving the key change notification preference off by default.
> It seems to me that this has the same security properties as the CT-like
> system, except:
> a) A *lot* less work, and a lot less complex. No need for other
> organizations to form.
> b) Both "wingnuts" and "the crypto few" are notified immediately of a
> MITM rather than after the fact. "Almost everyone" remains blissfully
> unaware, but again maybe that's OK if there's no way for the provider to
> know with certainty which category a user is in.
> c) It's harder for wingnuts to get confused.
> d) No SPAM problem.
> I'm really interested in hearing why partisans of the CT-style key
> directory think the overhead and other drawbacks are worth doing it over
> the simpler thing?
> - moxie
> Messaging mailing list
> Messaging at moderncrypto.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Messaging