diff options
author | Nick Mathewson <nickm@torproject.org> | 2012-10-19 01:01:26 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2012-10-19 01:01:26 -0400 |
commit | 9f1b1ef4fbc67b2d3f6e2f9b2dd4d8cd44dc49b7 (patch) | |
tree | 52a85a5cef51285bde84ff3aef17a4d078bafecc | |
parent | 981f25a73ad5ff5de1147e6f9bc3cb7c55cda71b (diff) | |
parent | a0e9dc9f55a452d78d9d16b4a2fc7d57dafa0409 (diff) | |
download | tor-9f1b1ef4fbc67b2d3f6e2f9b2dd4d8cd44dc49b7.tar tor-9f1b1ef4fbc67b2d3f6e2f9b2dd4d8cd44dc49b7.tar.gz |
Merge remote-tracking branch 'origin/maint-0.2.3'
-rw-r--r-- | changes/bug7139 | 9 | ||||
-rw-r--r-- | src/common/tortls.c | 8 |
2 files changed, 17 insertions, 0 deletions
diff --git a/changes/bug7139 b/changes/bug7139 new file mode 100644 index 000000000..dfb7d3283 --- /dev/null +++ b/changes/bug7139 @@ -0,0 +1,9 @@ + o Major bugfixes (security): + + - Disable TLS session tickets. OpenSSL's implementation were giving + our TLS session keys the lifetime of our TLS context objects, when + perfect forward secrecy would want us to discard anything that + could decrypt a link connection as soon as the link connection was + closed. Fixes bug 7139; bugfix on all versions of Tor linked + against OpenSSL 1.0.0 or later. Found by "nextgens". + diff --git a/src/common/tortls.c b/src/common/tortls.c index 75889e9ad..2ff18355d 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -1190,6 +1190,14 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime, #ifdef SSL_OP_NO_TLSv1_1 SSL_CTX_set_options(result->ctx, SSL_OP_NO_TLSv1_1); #endif + /* Disable TLS tickets if they're supported. We never want to use them; + * using them can make our perfect forward secrecy a little worse, *and* + * create an opportunity to fingerprint us (since it's unusual to use them + * with TLS sessions turned off). + */ +#ifdef SSL_OP_NO_TICKET + SSL_CTX_set_options(result->ctx, SSL_OP_NO_TICKET); +#endif if ( #ifdef DISABLE_SSL3_HANDSHAKE |