Bug#945049: gnutls: Please prefer PFS ciphers over plain RSA ones.

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Mon Nov 18 22:55:18 GMT 2019


Package: gnutls28
Version: 3.6.7-4
Severity: important

Assuming the client program did not specify a cipher list we end up with
NORMAL and this can be display via
	gnutls-cli --list --priority NORMAL

If we strip TLS1.3 and ECDHE away (because the remote side does not support
it) then we end up with:

|TLS_RSA_AES_256_GCM_SHA384                              0x00, 0x9d      TLS1.2
|TLS_RSA_AES_256_CCM                                     0xc0, 0x9d      TLS1.2
|TLS_RSA_AES_256_CBC_SHA1                                0x00, 0x35      TLS1.0
|TLS_RSA_AES_128_GCM_SHA256                              0x00, 0x9c      TLS1.2
|TLS_RSA_AES_128_CCM                                     0xc0, 0x9c      TLS1.2
|TLS_RSA_AES_128_CBC_SHA1                                0x00, 0x2f      TLS1.0
|TLS_DHE_RSA_AES_256_GCM_SHA384                          0x00, 0x9f      TLS1.2
|TLS_DHE_RSA_CHACHA20_POLY1305                           0xcc, 0xaa      TLS1.2
|TLS_DHE_RSA_AES_256_CCM                                 0xc0, 0x9f      TLS1.2
|TLS_DHE_RSA_AES_256_CBC_SHA1                            0x00, 0x39      TLS1.0
|TLS_DHE_RSA_AES_128_GCM_SHA256                          0x00, 0x9e      TLS1.2
|TLS_DHE_RSA_AES_128_CCM                                 0xc0, 0x9e      TLS1.2
|TLS_DHE_RSA_AES_128_CBC_SHA1                            0x00, 0x33      TLS1.0

as possible candidates. If the server has no preference then we
negotiate TLS_RSA_AES_256_GCM_SHA384. It would be ideal to send first
the DHE ciphers and then the non-DHE ciphers. The ECDHE cipher come
first so it would be make sense to send the DHE ciphers before the plain
RSA.

There is documentation how the ciphers can be overriden but this does
not work as I would expect it. Or I failed at somepoint. I added:

|$ cat /etc/gnutls/config
|[priorities]
|SYSTEM = PFS:SECURE128:SECURE192
|NORMAL = PFS:SECURE128:SECURE192

but the output of
	gnutls-cli --list --priority NORMAL

remains unchanged. However using
	gnutls-cli --list --priority @NORMAL

gives me the PFS ones fist since the application uses NORMAL by default,
this does not help (as by chaning system defaults).

Could the DHE ciphers please be moved up (preferable 1.2 ciphers first,
followed by 1.0 but I guess this makes no change unless ciphers were
removed on the remote side) in the default ciphers list? Using a config
file would work (I guess) but having this by default would be better
security wise I suppose.

Sebastian



More information about the Pkg-gnutls-maint mailing list