sfs8 pt1
Ian Batten
ukcrypto at chiark.greenend.org.uk
Wed, 24 Sep 2008 16:33:15 +0100
>
> I don't see that as a valid argument. The reason that a server
> chooses to accept some less secure protocols as well as the most
> secure ones would be that some ancient browsers might only offer the
> less secure ones, and better to use those than nothing at all.
Surely, when you decided that you needed https, you had in mind (or,
better, in a document) a list of the criteria which led you to that
decision. And from that, you should be able to figure out the
acceptable cipher suites. If the cipher that the client proposes
doesn't meet those criteria, then it may as well be in plaintext, and
that _isn't_ better than nothing at all (``we'd like 3DES, but hey, if
you can only do ROT26, fire away''). PFS will, presumably, be a
factor in those criteria.
But if you want PFS, I _think_ you may struggle to get things working
with an iPhone. I believe that the key factor for PFS in the openssl
CipherSuite is kEDH. A webserver running with
SSLCipherSuite kEDH
ie ignore strength and everything else, but it must have EDH (see
below for list of the wide range of options that provides) won't sync
up with an iPod Touch running the latest bits. So that's where you
have to make choices: PFS, or the device in your users' pocket?
I don't regard PFS as necessary for mail.batten.eu.org: as the mail is
stored en clair within its Cyrus instance, someone who has broken in
probably doesn't need to break old sessions anyway. So I just use
``HIGH:MEDIUM:!3DES'' for Cyrus, Sendmail and Apache2, which ensures
decent keylengths while avoiding burning too much of the server's
CPU. By setting that for all the major applications I at least have a
consistent policy.
ian
ian
> -bash-3.00$ openssl ciphers -v kEDH:@STRENGTH
> ADH-AES256-SHA SSLv3 Kx=DH Au=None Enc=AES(256)
> Mac=SHA1
> DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256)
> Mac=SHA1
> DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256)
> Mac=SHA1
> EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168)
> Mac=SHA1
> EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168)
> Mac=SHA1
> ADH-DES-CBC3-SHA SSLv3 Kx=DH Au=None Enc=3DES(168)
> Mac=SHA1
> ADH-AES128-SHA SSLv3 Kx=DH Au=None Enc=AES(128)
> Mac=SHA1
> DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128)
> Mac=SHA1
> DHE-DSS-AES128-SHA SSLv3 Kx=DH Au=DSS Enc=AES(128)
> Mac=SHA1
> DHE-DSS-RC4-SHA SSLv3 Kx=DH Au=DSS Enc=RC4(128)
> Mac=SHA1
> ADH-RC4-MD5 SSLv3 Kx=DH Au=None Enc=RC4(128)
> Mac=MD5
> EXP1024-DHE-DSS-RC4-SHA SSLv3 Kx=DH(1024) Au=DSS Enc=RC4(56)
> Mac=SHA1 export
> EXP1024-DHE-DSS-DES-CBC-SHA SSLv3 Kx=DH(1024) Au=DSS Enc=DES(56)
> Mac=SHA1 export
> EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH Au=RSA Enc=DES(56)
> Mac=SHA1
> EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH Au=DSS Enc=DES(56)
> Mac=SHA1
> ADH-DES-CBC-SHA SSLv3 Kx=DH Au=None Enc=DES(56)
> Mac=SHA1
> EXP-EDH-RSA-DES-CBC-SHA SSLv3 Kx=DH(512) Au=RSA Enc=DES(40)
> Mac=SHA1 export
> EXP-EDH-DSS-DES-CBC-SHA SSLv3 Kx=DH(512) Au=DSS Enc=DES(40)
> Mac=SHA1 export
> EXP-ADH-DES-CBC-SHA SSLv3 Kx=DH(512) Au=None Enc=DES(40)
> Mac=SHA1 export
> EXP-ADH-RC4-MD5 SSLv3 Kx=DH(512) Au=None Enc=RC4(40)
> Mac=MD5 export
>