Judge Claude Hilton said that it was effectively Levison's fault that sites have only a single private SSL key.Ars doesn't evaluate the truth of that, but technically, it could be accurate. The Perfect Forward Secrecy modes of TLS—DHE and ECDHE—effectively generate a key per connection, authenticating the parameters used to create it with the server's certificate (which is in turn authenticated by the CA system.) However, if Lavabit's servers were set up to allow RSA-only modes, then that configuration introduces the weakness. Under RSA, the server's private key becomes the master private key, capable of decrypting any connection traffic in those modes, because that private key is used to encrypt all the traffic.
Showing posts with label dh. Show all posts
Showing posts with label dh. Show all posts
Saturday, October 5, 2013
The Lavabit Problem: the Universal TLS Key
Lavabit refused to hand over the key to the whole kingdom for the U.S. Government to ostensibly capture the traffic of one user. The judge ruled in the prosecution's favor in the resulting court case:
Tuesday, May 10, 2011
Quickie: Diffie-Hellman Groups
Relying on others' suggested magic numbers for crypto is probably a Bad Idea, so recently I studied Diffie-Hellman a while to understand what the "DH Group" parameter was in my IPSEC setup, and my PuTTY settings.
DH turns out to be a lot like RSA, so bit lengths are comparable between the two and neither is directly comparable to symmetric ciphers like AES. A specific Diffie-Hellman exchange happens using some parameters: a generator for the base, and a prime to use as modulus. (An exponent remains secret.) DH Groups refer to specific, pre-chosen prime-and-generator pairs so that, for example, SSH can negotiate "group 14" instead of transferring the complete parameters themselves.
These groups have been standardized in RFC 2409, with additional groups defined in RFC 3526. The latter RFC defines the bit lengths of the groups explicitly, stating that group 5 is 1536 bits, group 14 is 2048, and group 16 is 4096 bits. As far as I can tell, groups 1 and 2 defined in the earlier RFC are only 768 and 1024 bits, respectively.
Note well: I believe this means DH groups 1 and 2 are dangerously short and should not be used to set up an IPSEC VPN today. Likewise, PuTTY should really be configured out-of-the-box to warn about the use of anything less than DH group 14.However, before I take my own advice, I need to do some experiments to determine whether the IPSEC client in iOS actually handles DH groups other than 2. Edit from THE FUTURE: iOS 4.x does not accept other groups; iOS 5.x no longer accepts group 2, AFAICT. I haven't gotten a working IPSEC VPN set up again, though, since it's not very important to me. (Work provides a PPTP VPN.)
DH turns out to be a lot like RSA, so bit lengths are comparable between the two and neither is directly comparable to symmetric ciphers like AES. A specific Diffie-Hellman exchange happens using some parameters: a generator for the base, and a prime to use as modulus. (An exponent remains secret.) DH Groups refer to specific, pre-chosen prime-and-generator pairs so that, for example, SSH can negotiate "group 14" instead of transferring the complete parameters themselves.
These groups have been standardized in RFC 2409, with additional groups defined in RFC 3526. The latter RFC defines the bit lengths of the groups explicitly, stating that group 5 is 1536 bits, group 14 is 2048, and group 16 is 4096 bits. As far as I can tell, groups 1 and 2 defined in the earlier RFC are only 768 and 1024 bits, respectively.
Note well: I believe this means DH groups 1 and 2 are dangerously short and should not be used to set up an IPSEC VPN today. Likewise, PuTTY should really be configured out-of-the-box to warn about the use of anything less than DH group 14.
Subscribe to:
Posts (Atom)