On Tue, Mar 31, 2015 at 6:58 AM, Jeff Burdges <[email protected]> wrote:
>
>
>
> On 31 Mar 2015, at 1:43, Trevor Perrin <[email protected]> wrote:
>
>> But Alice's correspondents can't link their tokens and realize they're
>> talking to the same person (unless the server colludes with them). So
>> perhaps your goal is to eventually remove other linkable public keys /
>> data from Pond, so it's harder for parties to recognize they have
>> shared correspondents?
>
> Remember Pond has two key pairs. Contacts still see the same "message
> signing" key pair, just not the same identity key. They cannot verify that
> they’re talking to the same mailbox, but they know they’re talking to the
> same “message signing" key.
Right, which is why I wondered if your goal was to "eventually remove
other linkable public keys [...] so it's harder for parties to
recognize they have shared correspondents".
It seems that's not your goal, so I'm unsure what the goal is.
> At present, it’s completely realistic for someone to accidentally post their
> or your identity key on a public forum.
So what? Who cares that a server indexes a user by some particular identifier?
> Someone could email themselves their own state file and have a bad password,
> compromising all their contact’s identity keys and making the server a more
> interesting target for traffic analysis.
Why does knowing contact identity keys make any server a "more
interesting target for traffic analysis"? What does that mean?
There's some piece of this you're assuming but haven't explained, it feels like.
>> It makes tokens bigger. Before each token just had to include a
>> (private-key, MAC over public-key). Adding a public-key-encrypted
>> identifier is going to at least double this, I think. Alice has to
>> replenish her correspondents' tokens frequently, since each message
>> consumes a token. Pond's a bandwidth-limited system, so that's a real
>> cost.
>
> I described a pretty fat token, yes. I doubt one needs to double the token
> size though. If I understand correctly, the current token is {x, HMAC(k,y)}
> and the contact derives y from x to send (y, HMAC(k,y)) with their message.
> A token like {x, (z, HMAC(k,y)) } where z is a nonce plus a portion of y
> encrypted for the server.
You could truncate x (say to 16 bytes, and derive the rest of the
private key via PRG keyed by x), you could also truncate the HMAC.
Adding public-key encrypted data adds an ephemeral public key (32
bytes for 25519), the ciphertext, and probably a MAC.
So I think at least doubling the size of tokens given from Alice to
her correspondents is accurate.
> In fact, x itself could be the hash of z, which slims down the token size
> considerably.
If z includes the public-key encrypted to the server, how could the
private key could be a hash of z?
Trevor
_______________________________________________
Messaging mailing list
[email protected]
https://moderncrypto.org/mailman/listinfo/messaging