Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(376)

Issue 304400043: Curve25519 TLS integration

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 9 months ago by franziskus
Modified:
9 years, 8 months ago
Reviewers:
mt
Visibility:
Public.

Description

Curve25519 TLS integration

Patch Set 1 #

Total comments: 8

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+238 lines, -167 lines) Patch
M external_tests/ssl_gtest/ssl_dhe_unittest.cc View 1 1 chunk +0 lines, -77 lines 0 comments Download
M external_tests/ssl_gtest/ssl_ecdh_unittest.cc View 1 1 chunk +92 lines, -0 lines 0 comments Download
M external_tests/ssl_gtest/tls_agent.h View 1 1 chunk +3 lines, -2 lines 0 comments Download
M external_tests/ssl_gtest/tls_agent.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M external_tests/ssl_gtest/tls_connect.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M external_tests/ssl_gtest/tls_connect.cc View 1 3 chunks +47 lines, -0 lines 0 comments Download
M lib/ssl/ssl3con.c View 1 1 chunk +1 line, -1 line 0 comments Download
M lib/ssl/ssl3ecc.c View 1 9 chunks +25 lines, -36 lines 0 comments Download
M lib/ssl/sslimpl.h View 1 3 chunks +11 lines, -12 lines 0 comments Download
M lib/ssl/sslsock.c View 1 4 chunks +46 lines, -34 lines 0 comments Download
M lib/ssl/sslt.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M lib/ssl/tls13con.c View 1 1 chunk +4 lines, -4 lines 0 comments Download
M tests/ssl_gtests/ssl_gtests.sh View 1 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 3
mt
So the big issue here is that we will prefer 25519 to the exclusion of ...
9 years, 9 months ago (2016-08-12 04:03:06 UTC) #1
franziskus
I'll upload a new version later from home that should fix most issues and disable ...
9 years, 8 months ago (2016-08-17 08:53:05 UTC) #2
mt
9 years, 8 months ago (2016-08-17 10:03:08 UTC) #3
On 2016/08/17 08:53:05, franziskus wrote:
> I'll upload a new version later from home that should fix most issues and
> disable 25519 by default. Everything else, i.e. equal priority with P256 and
> enabling by default, I'll tackle separately as discussed.
> 
> > lib/ssl/ssl3ecc.c:453: ssl_GetECGroupForServerSocket(sslSocket *ss)
> > This function will pretty much guarantee that we never pick 25519 over
P-256. 
> > We've been avoiding refactoring this for a while, but you might have to do
> > something about it.
> > 
> > The problem here is that with a 128-bit AEAD/symmetric cipher, this function
> > insists on an ECDH exchange that is twice as wide.  25519 is only more than
> > twice as wide as the worst of our cipher suites, so we'll avoid picking it.
> > 
> > We should chat about what we think the requirements are here so that we can
> pick
> > the right algorithm (for picking the right algorithm).
> 
> That's not entirely correct. We search for the weakest link in the chain,
which
> is usually the certificate here. I added 4096 bit RSA certs to the gtests and
> set the 25519 curve bits to 256 in ssl_named_groups to allow choosing it here
as
> well (for 2048 bit certs we require only 224 bit curves so that's non
problem).
> But we should probably revisit this EC group selection algorithm. I'm not sure
> if we really want to make the curve selection dependent on the weakest link.
> Choosing it depending on the cipher (which is always at least 128) sounds more
> sensible to me.

I agree, we should choose based on the record protection.  We might have a way
to raise the strength to match the certificate, but we shouldn't reduce strength
if the certificate key is weak (that leads to bad properties for collected
traffic).  That's a separate change again though, one I'd be happy to help with.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b