Security: seems chrome will use X25519 even if my Nginx does not specify, is it a bug?
Reported by
whx20...@gmail.com,
Jan 8 2017
|
||
Issue descriptioncould you see this issue? https://github.com/openssl/openssl/issues/2188
,
Jan 10 2017
There are two places that curves are used. There's the acceptable curves for the server certificate and the set of curves that will be used on each connection when talking with the client. OpenSSL 1.1.0 had part of this behavior broken and might error out there. Since Chrome will prefer X25519, this really isn't a Chrome side issue, since a correctly working server that is actually refusing X25519 should fail to connect with Chrome, so it sounds like your nginx configuration isn't explicitly preventing X25519 (If its unspecified nginx/OpenSSL default to a wide array of curves). You should be able to explicitly specify particular curves in nginx (using the 'ssl_ecdh_curve' command, though only on newer versions of nginx) if you'd like to restrict X25519, though its not recommended since most implementations prefer X25519 over any of the P-* curves.
,
Jan 10 2017
^ That is, if Chrome were doing X25519 when the server didn't support it, the server should fail to connect, so if you're getting a successful connection over X25519, this is a server configuration issue.
,
Jan 11 2017
thanks to you two. I finally figured it out. svaldez@chromium.org is right. My understanding: ECC cert use a curve and the key exchange procedure also use a curve. These two can often and indeed be different. However, if you set ssh_ecdh_curve X25519; into the Nginx under openssl 1.1.0c the Nginx/openssl will use X25519 to both the two places above .which is not correct because X25519 can only be used in key exchange. My solution is: 1. Do not set ssh_ecdh_curve , then the nginx will use its default settings, which can reach my goals becasue chrome will prefer X25519, but this is not recommended because you can not control the nginx's default setings(seems to be P-256). 2. explicitly set ssh_ecdh_curve X25519:spec284r1; this is perfect for me
,
Jan 11 2017
sorry , the last line of Comment4 is ssh_ecdh_curve X25519:spec384r1 not 284 |
||
►
Sign in to add a comment |
||
Comment 1 by elawrence@chromium.org
, Jan 9 2017Labels: -Type-Bug-Security -Restrict-View-SecurityTeam Needs-Feedback Type-Bug