[liberationtech] New protocol sacrifices bandwidth for metadata privacy

Aymeric Vitte vitteaymeric at gmail.com
Thu Aug 7 14:57:36 PDT 2014


The paper will be great but maybe you could detail a little bit more on 
your site how this is working.

Because the obvious next question is: if the clique is 1 billion peers, 
they all keep their time decrypting the 34 slots x 1 billion time every 
x time to find out who has their keys.

Probably not and you have an answer to this, or I misunderstood something.

Regards,

Le 06/08/2014 17:18, Marc W. Abel a écrit :
> /********
> Aymeric Vitte wrote:
>
> Maybe I did not find it, but is there a spec/description how it works
> exactly (something else than the man pages)? If I understand correctly,
> every peer broadcast its keys to everybody, then I (IP1) find out that
> IP2 has my keys and I send the traffic messages directly to IP2, since
> everybody is connected to everybody and discussing with everybody this
> is difficult to trace, correct? But we might detect that IP1 is
> discussing with IP2 for real, even if you mention that clique is not
> about anonymity maybe it can be made more difficult.
> ********/
>
> Hi Aymeric,
>
> Thanks for all of your work with Peersm.  I am in the process of 
> getting a paper submitted that will have a more thorough description 
> of Clique's workings.  But questions are welcome at all times!
>
> If these four assumptions hold:
>
> 1. The /only/ information an attacker has is what one or more 
> intermediate routers can see ("plain old wiretapping" is employed).
>
> 2.  Clique's block cipher is secure.
>
> 3.  Linux's pseudorandom number generator /dev/urandom is secure.
>
> 4.  Clique's countermeasures against fine-grained timing analyses are 
> adequate.
>
> Then my answer to your question is:
>
> To an observer with no keys, all Clique traffic looks the same, and 
> all peers treat each other identically.  Alice can't just send Bob a 
> message; if she is to send anything at all, she must continually send 
> messages to everyone.
>
> If an attacker does not have the key that is shared by Alice and Bob, 
> then spotting traffic between them isn't merely difficult; it's 
> impossible.  It is no longer true that "we might detect that IP1 is 
> discussing with IP2 for real".
>
> Clique's key discovery system is solely for finding peer IP 
> addresses.  I'd rather not have this system at all, but considering 
> the threat model Clique is designed for, the communicants have no 
> other means of advising each other of IP address changes without risk 
> of being discovered.
>
> The way Clique's key broadcast protocol works is to encrypt a 128-bit 
> block with the key in question, and set that encrypted block in a 
> randomly selected slot of the outgoing packet.  There are 34 such 
> slots, so a single packet can advertise as many as 34 different keys.  
> The rest of the packet is cryptographically secure random noise.
>
> The only way, under the above four assumptions, that a key 
> advertisement can be visible to someone is if she happens to hold the 
> key in question.  In this case, the block will contain the following 
> after decryption.  If the block didn't fall within expected 
> parameters, the key did not match.
>
> 32 bits of zeroes
> 32 bits for the sender's IP address*
> 43 bits of time since UNIX Epoch, in seconds**
> 20 bits of microsecond within current second
>  1 last bit that is also zero
>
> *The sender's IP address is as it would be viewed from the recipient's 
> perspective.
>
> **This field has many leading zero bits, but no Year 2038 problem!
>
> Note that in order to pretend to have someone else's key, but not 
> actually have it, an attacker would need to replay a valid key 
> discovery block that contains the correct IP address to which the key 
> is bound.  Such an attack would work backwards:  all the imposter can 
> do is send the truth.  Note also that the Clique protocol never has 
> any peer forward any message.
>
> Best wishes,
>
> Marc
>

-- 
Peersm : http://www.peersm.com
torrent-live: https://github.com/Ayms/torrent-live
node-Tor : https://www.github.com/Ayms/node-Tor
GitHub : https://www.github.com/Ayms




More information about the liberationtech mailing list