[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Forward secrecy in spiped



On 04/24/14 15:27, Frederick Akalin wrote:
>> From reading through the protocol, it seems there are two modes for 
>> forward secrecy:
> 
> A) Use forward secrecy, but allow the other side to turn it off. (default) 
> B) Turn off forward secrecy.

Correct.

> However, there could conceivably be a third mode:
> 
> C) Use forward secrecy, and terminate any connection that tries to turn it
> off.
> 
> The only problem is that if an endpoint receives 1 for the y value of the
> other side, it doesn't necessarily know that the other side has 0 for its x
> value. (I'd have to check whether it's possible, given the specific modulus
> and the possible range of x, to rule out a non-zero x for a zero y value,
> unless someone already knows the answer to this...)

If you receive y=1 from a protocol-compliant endpoint, it is running with
FPS turned off.

Protocol non-compliant endpoints could hardcode other values, e.g., y=2,
which would also have the effect of breaking FPS, but of course non-compliant
endpoints could do all sorts of things to deliberately leak keys.

> This third mode would make it possible to guard against misconfigurations,
> e.g. I might want forward secrecy to be always used, and for stuff to blow
> up / complain if that changes. Is this a valid use case?

It's certainly plausible as an anti-foot-shooting mechanism.  It doesn't gain
you any theoretical security (since it can be circumvented), but it might still
be useful in practice.

Want to send me a patch?

-- 
Colin Percival
Security Officer Emeritus, FreeBSD | The power to serve
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid