<div dir="ltr"><div class="gmail_extra"><div>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.<br>

<br>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. <br>

<br><br><br><br><br><br></div>
<br><br><div class="gmail_quote">On Thu, Aug 28, 2014 at 11:18 AM, Moxie Marlinspike <span dir="ltr"><<a href="mailto:moxie@thoughtcrime.org" target="_blank">moxie@thoughtcrime.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

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