[messaging] channel-ID vs PAKE secrets
Trevor Perrin
trevp at trevp.net
Wed Feb 19 10:43:08 PST 2014
On Tue, Feb 18, 2014 at 5:06 PM, Brian Warner <warner at lothar.com> wrote:
> On 2/18/14 3:30 PM, Trevor Perrin wrote:
>> But for an online rendezvous, the meeting ID (derived from the shared
>> secret) is the weak point: An attacker can try to guess the shared
>> secret by making a large number of online queries for the meeting ID,
>> and the rendezvous server can try to crack the meeting ID with offline
>> search.
>>
>> You earlier suggested that users could agree on separate meeting IDs
>> and shared secrets. But I'm not sure that gains anything. (Ex: if
>> users can agree on 60 shared secret bits, splitting that into a 30-bit
>> meeting ID and 30-bit shared secret weakens resistance against the
>> offline attack to 30 bits).
>
> Oh, I probably didn't explain myself well: the users must specifically
> agree on two *independent* secrets.
[...]
> But if the secrets are properly independent, then an attacker who wins
> the 30-bit online attack against the channel-ID merely earns the right
> to make the one (and only) guess at the 30-bit PAKE secret.
Good point, I agree that having separate secrets makes PAKE meaningful
here, since it's no longer undermined by the Meeting ID.
But the tradeoffs are complicated:
Choosing two 30 bit secrets instead of one 60 bit means:
(a) Easier for rendezvous server to do offline search and discover
the Meeting ID secret. If that secret is something like
"AliceAndBob123" which links one or both users then this is a problem.
(b) Easier for online attacker to search 2^30 Meeting IDs, thus
discovering the Meeting ID secret and disrupting the rendezvous.
*BUT*
+ Instead of revealing the PAKE secret, these just give the attacker
"one shot" at hijacking the connection with 2^-30 probability.
If the total entropy is large enough to resist offline search (eg 80
bits plus key stretching), then splitting it doesn't help and could
make (a) a problem. If the total entropy is small enough that
splitting it makes (b) easy (eg 30 bits), then that's also probably a
bad idea.
There's probably a sweet spot in-between where separate secrets is a
good idea. But I'm not sure exactly how big it is, or if we could get
users to reliably hit it. Hmm.
Trevor
More information about the Messaging
mailing list