[Ach] Cipher-Order: AES128/AES256 - was: Secure E-Mail Transport based on DNSSec/TLSA/DANE
Gunnar Haslinger
gh.bettercrypto at hitco.at
Tue Nov 3 20:21:22 CET 2015
Am 03.11.2015 um 12:39 schrieb Aaron Zauner:
> The problem with these cipherstrings is that
> they're interpreted differently depending on the OpenSSL branch and
> version.
Is this true?
I think the String just works syntactically correct as designed.
Lets have a look at the current cipherString-B and split it up at the ":"
https://git.bettercrypto.org/ach-master.git/blob/HEAD:/src/common/cipherStringB.tex
EDH+CAMELLIA
EDH+aRSA
EECDH+aRSA+AESGCM
EECDH+aRSA+SHA256
EECDH
+CAMELLIA128
+AES128
+SSLv3
!aNULL
!eNULL
!LOW
!3DES
!MD5
!EXP
!PSK
!DSS
!RC4
!SEED
!IDEA
!ECDSA
kEDH
CAMELLIA128-SHA
AES128-SHA
As I can see you push "+AES128 "to the end by using "+" prefix in line 7.
This results in (as already pasted the mail before):
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
DHE-RSA-CAMELLIA256-SHA
DHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA128-SHA
DHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA
CAMELLIA128-SHA
AES128-SHA
Let's keep in mind the syntax rules, especially the "+" rule which might
be not very intuitive:
https://www.openssl.org/docs/manmaster/apps/ciphers.html
If ! is used then the ciphers are permanently deleted from the list. The
ciphers deleted can never reappear in the list even if they are
explicitly stated.
If - is used then the ciphers are deleted from the list, but some or all
of the ciphers can be added again by later options.
If + is used then the ciphers are moved to the end of the list. This
option doesn't add any new ciphers it just moves matching existing ones.
So for me I don't can see how Azet's information that AES128 should be
preferred could be covered by that cipher string.
Maybe you wanted to use "+AES256" and this was a typo?
replacing "+AES128" by "+AES256" to push back AES256 and prefer AES128
you get this list which looks better:
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
DHE-RSA-CAMELLIA256-SHA
DHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
DHE-RSA-AES256-SHA
ECDHE-RSA-AES256-SHA
CAMELLIA128-SHA
AES128-SHA
Sorry - i didn't like to roll-up your Cipher-String-Discussion which I
don't know as I joined the list this summer - but in my mind this
cipher-string is long, complex and even doesn't include CipherStrings
like AES256-SHA256, AES256-SHA, AES256-GCM-SHA384, AES128-GCM-SHA256,
... which are not so bad to my mind (expect not supporting forward
secrecy, but AES128-SHA which you include at the end of your string even
doesn't support PFS, it's one of thes last-hope cipherstrings for old
Clients without DHE/ECDHE Support).
so again, I used "my own" cipher-string and my goal was:
1) be as secure as BetterCrypto-Cipherstring-B, but:
2) Performance: prefer ECDHE over DHE
3) Performance: prefer AES128 over AES256
4) throw out Camellia - but if you like Camellia just replace the "!"
before CAMELLIA by a "+" which keeps it in and pushes it to the back.
$ openssl ciphers -v
'EECDH:EDH:AESGCM:AES:+AES256:SHA:aRSA:!aNULL:!eNULL:!LOW:!MEDIUM:!MD5:!PSK:!SRP:!DES!3DES:!ECDSA:!kECDH:!DSS:!CAMELLIA'
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128)
Mac=SHA256
ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128)
Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128)
Mac=SHA256
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256)
Mac=SHA384
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256)
Mac=SHA256
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256)
Mac=SHA256
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
and optionally with "+CAMELLIA" at the End:
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256)
Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128)
Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256)
Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128)
Mac=SHA1
regards,
Gunnar
More information about the Ach
mailing list