I propose that while prop 198 and others cover some crypto changes we need to make - I think they won't be made quickly enough. I think that we should jump to 2048bit rsa and 2048bit DHE as soon as possible. We should do this before 0.2.4.x (which nick says will enable TLS-ECDHE by default) as we have a long way before 0.2.4.x is even remotely available.
The first thing is that nick says:
I want to know performance impact and fingerprintability.
This ticket should gather data on performance (RSA/DHE/etc) for servers and on the issue of fingerprintability (mitm filter/block/etc) where people use 2048bit DHE.
I've put this as a 02.3.x-final Milestone but it's likely this will change.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
According to https://www.ssllabs.com/ssltest/ - we see a few trends with SSL/TLS servers - one of the most important ones is that 2048bit RSA is becoming more common.
From their data - around 80% of sites use 2048bit RSA. I'm going to ask them directly about DHE as it appears to be missing from their monthly summary.
Also, if we're going to mess with the old handshake, should we consider making the size negotiable between the nodes rather than changing to another fixed value? Should we consider supporting multiple handshakes and hashing together to generate a shared secret for the sake of not putting all eggs in one basket? I think we (myself and nickm) briefly touched on that at the Reykjavik meeting.
Fine punting to 0.2.6. (The backport will be that it either works or it doesn't.)
AFAICT, it doesn't do us any good to make the RSA link certificates longer unless we do it as part of some kind of effort like prop220.
Argument: Since we're using an adequate EC group for our ECDHE, we get forward secrecy except against an active MITM. But any MITM that's enabled by RSA1024 would work just as well if we increased the link key size to 2048 bits, since the identity key size is still RSA1024 until we implement proposal 220.
Trac: Milestone: Tor: 0.2.5.x-final to Tor: 0.2.6.x-final
Fine punting to 0.2.6. (The backport will be that it either works or it doesn't.)
AFAICT, it doesn't do us any good to make the RSA link certificates longer unless we do it as part of some kind of effort like prop220.
Argument: Since we're using an adequate EC group for our ECDHE, we get forward secrecy except against an active MITM. But any MITM that's enabled by RSA1024 would work just as well if we increased the link key size to 2048 bits, since the identity key size is still RSA1024 until we implement proposal 220.
Agree with that argument and fine with punting to 0.2.6 then.
I think all that is left here is switching from 1024-bit RSA link keys to 2048-bit RSA link keys. According to some surveys, 2048-bit link keys are already in a majority for websites, so this won't be a huge deal.
P256 ECDHE is fairly common in the wild, but 2048-bit DHE is quite rare.
I did some quick experiments to tell whether changing to better certificates would break compatibility. It appears that 0.2.2 and later all work just fine with 2048-bit link keys.
It's possible, however, that we want to want to do more here. It's pretty unusual to have a 2048-bit certificate that's signed by a 1024-bit key. So when we send out our link certificate for TLS, we want to have a dummy 2048-bit key sign it -- and we want to present a real identity-key-signed link cert when we do our CERTS cells.
I've verified that doing that works just fine with 0.2.3 and later, and hacked up a chutney network to the point where it kinda just works with the v2 handshake. I think I have the v1 handshake working too, but I haven't tested it.
(I don't know whether we care very much about v2 and v1, or whether we're deprecating them... but at least, using 2048-bit link keys signed by 2048-bit temporary keys won't force us to deprecate them.)
My hacks are in a branch "ticket6088_hax". They need more work to get applied. There's not much point applying them without also doing proposal 220.