[messaging] The Simple Thing

Nadim Kobeissi nadim at nadim.computer
Sat Oct 4 13:49:52 PDT 2014



------ Original Message ------
From: "Ben Laurie" <ben at links.org>
To: "Nadim Kobeissi" <nadim at nadim.computer>
Cc: "Joseph Bonneau" <jbonneau at gmail.com>; "messaging" 
<messaging at moderncrypto.org>
Sent: 2014-10-04 6:36:06 AM
Subject: Re: [messaging] The Simple Thing

>On 3 October 2014 23:03, Nadim Kobeissi <nadim at nadim.computer> wrote:
>>
>>  I'd like to add, as another person who's been lurking this 
>>discussion:
>>
>>  For what it's worth, I think The Simple Thing has substantial value 
>>over other potential models due to its reliance on pre-existing 
>>architecture and pre-established norms.
>>
>>  The building blocks are already there: the infrastructure for key 
>>exchange, the norms for authentication, and so on.
>
>
>What are these "norms for authentication"? Isn't the underlying
>premise that most users can't do authentication currently?

They *can* in theory via OOB methods. They *don't* because OOB 
authentication is tedious unless you improve the ease-of-use aspect.

>
>>
>>  There isn't the need for setting up any new giant multi-tiered 
>>worldwide network for auditing and keeping various actors in check 
>>should they conspire to modify Bob's key. And I think this is more 
>>valuable than it seems to many people at first.
>>
>>  Some will say: "it doesn't matter! I have the will, the means and the 
>>energy to build my new CT-like system!" And my response would be: 
>>Great - why don't you use that energy to improve The Simple Thing, 
>>since its components and norms are *already in place* and all we have 
>>to do is make sure they're more user-friendly? Work on making out of 
>>band authentication easier, for example.
>>
>>  I'm doing work on authentication right now (more on this later) and 
>>I've already seen some promising work on this list in a variety of 
>>creative ways. By working towards a better (simpler?) Simple Thing, 
>>you'll be building on top of techniques that are established, on an 
>>infrastructure you can already wrangle, on algorithms that are simpler 
>>to implement from the programmer's perspective. Ease of use is 
>>literally *the only missing piece*, and I think projects like Moxie's 
>>work (look at how well Signal/Redphone does per-session 
>>authentication, for example) and also Cryptocat/miniLock are showing 
>>that we can make this happen.
>
>I've looked, but I can't find how Redphone, Signal, Cryptocat or
>miniLock do authentication ... pointers, please?
Here's a screenshot from a Signal call:
http://www.wired.com/wp-content/uploads/2014/06/signal.jpg

The two words, "hockey publisher" are being used to authenticate (they 
act as fingerprints of session keys.)

NK

>
>On the energy needed to build a CT-like system: we're already writing
>most of the code for CT, so it also is built on stuff that already
>exists...
>
>>
>>
>>
>>  NK
>>
>>
>>  ------ Original Message ------
>>  From: "Joseph Bonneau" <jbonneau at gmail.com>
>>  To:
>>  Cc: "messaging" <messaging at moderncrypto.org>
>>  Sent: 2014-10-03 5:35:35 PM
>>  Subject: Re: [messaging] The Simple Thing
>>
>>>  Let me try to summarize this thread (as I understand it) since I've 
>>>been lurking and I think there may be some connections between ideas 
>>>missing. Here's an attempt at outlining how MITM detection would work 
>>>in two discussed cases as I understand it:
>>>
>>>  CT-style (I think we should call it CT-style to avoid confusion with 
>>>Certificate Transparency proper for TLS certificates)
>>>  *Alice looks up Bob's key.
>>>  *The Evil Log inserts a spurious key for Bob. We're assuming (I 
>>>think almost all of us are willing to assume this) that 
>>>log-consistency auditors ensure the log has to actually put the 
>>>spurious key into a globally consistent log forever. Trying to 
>>>locally fork Alice's view is too risky if some non-zero proportion of 
>>>users gossip out of band.
>>>  *Later on (after up to the MMD) Bob gets a ping from his monitor 
>>>that "a new key for Bob has been logged." Bob concludes that the Evil 
>>>Log is evil. Alice learns nothing.
>>>
>>>  The Simple Thing
>>>  *Alice looks up Bob's key. Two versions seem to have been discussed 
>>>at different points:
>>>       Version (a)-Alice gets it directly from Bob over an untrusted 
>>>channel.
>>>       Version (b)-Alice gets it from a semi-trusted key 
>>>directory/service provider for Bob's address.
>>>  *In Version (a), a MITM simply changes Bob's transmitted key. In 
>>>Version (b), the Evil Directory signs a spurious key for Bob and 
>>>returns it to Alice.
>>>  *Ideally, Alice asks Bob out-of-band if this new key is correct 
>>>before sending anything. If so, Bob detects the attack and warns 
>>>Alice not to send. In Version (b) Bob furthermore concludes that the 
>>>Evil Directory is evil.
>>>
>>>  The assessment is that CT-style allows only the recipient to detect 
>>>the attack, after the fact, and The Simple Thing allows the sender to 
>>>detect the attack before sending. To me this wasn't the most 
>>>intuitive summary-in both cases it's only the intended recipient 
>>>(Bob) who can be certain an attack took place and that the Evil Log 
>>>or Evil Directory has been evil.
>>>
>>>  The difference is whom you need to be "paranoid" (or just 
>>>perceptive). The Simple Thing detects attacks if the sender is 
>>>paranoid and actually insists on preemptive fingerprint checks and 
>>>CT-style detects attacks if the recipient is paranoid and has 
>>>monitoring alerts set up and actually checks them.
>>>
>>>  "Being paranoid" means slightly different things of course: setting 
>>>up monitoring vs. doing fingerprint checks. Without hard data we 
>>>can't really be sure, though intuitively it seems to me that setting 
>>>up monitoring and checking against your own recent activity is 
>>>probably easier. For one thing, in a CT-style system each key change 
>>>should only require one check (by Bob) whereas with The Simple Thing 
>>>each key change of Bob's requires all of his paranoid contacts to 
>>>initiate a fingerprint check.
>>>
>>>  The costs also seem more naturally aligned in CT-style systems: if 
>>>Bob changes keys more often he's the one that has to do more checking 
>>>of reports from monitors, whereas in The Simple Thing frequent 
>>>changes by Bob impose a burden on others.
>>>
>>>  So CT probably has some usability advantages, at the cost of 
>>>complexity and extra parties (auditors, monitors) needing to operate.
>>>
>>>  A seemingly-obvious point I haven't seen yet: it's perfectly natural 
>>>to have both systems in place. Nothing prevents layering The Simple 
>>>Thing on top of a CT-style log. Paranoid Alice can certainly check 
>>>out of band if she looks up a new key for Bob in the log and it's 
>>>different from what she's used previously. Paranoid Bob can set up 
>>>monitoring. Now you get detection if either sender or receiver is 
>>>paranoid.
>>>
>>>  On Fri, Oct 3, 2014 at 7:54 PM, Tao Effect <contact at taoeffect.com> 
>>>wrote:
>>>>
>>>>  Dear elijah,
>>>>
>>>>  On Oct 3, 2014, at 11:43 AM, elijah <elijah at riseup.net> wrote:
>>>>>
>>>>>  In the auditing-infrastructure thing, the hope is that user agents 
>>>>>will
>>>>>  be written to smartly and automatically perform the auditing. Yes, 
>>>>>it is
>>>>>  detection after the fact. The prediction is that the number of 
>>>>>people
>>>>>  running an auditing user agent will be greater than the number of
>>>>>  senders doing fingerprint verification, and that this greater 
>>>>>number
>>>>>  will provider greater deterrent against bogus key endorsements.
>>>>
>>>>
>>>>  In the CT world, auditing and monitoring are two very different 
>>>>things, and they must not be confused.
>>>>
>>>>  Auditing does not detect mis-issued certificates/keys/whatever 
>>>>before the fact, during the fact, or after the fact [1].
>>>>
>>>>  Kind regards,
>>>>  Greg Slepak
>>>>
>>>>  [1] 
>>>>https://blog.okturtles.com/2014/09/the-trouble-with-certificate-transparency/
>>>>
>>>>  --
>>>>  Please do not email me anything that you are not comfortable also 
>>>>sharing with the NSA.
>>>>
>>>>
>>>>
>>>>  _______________________________________________
>>>>  Messaging mailing list
>>>>  Messaging at moderncrypto.org
>>>>  https://moderncrypto.org/mailman/listinfo/messaging
>>>>
>>>
>>
>>  _______________________________________________
>>  Messaging mailing list
>>  Messaging at moderncrypto.org
>>  https://moderncrypto.org/mailman/listinfo/messaging



More information about the Messaging mailing list