Insecure TLS_ECDH_anon_WITH_AES_128_CBC_SHA
- IANA name:
- TLS_ECDH_anon_WITH_AES_128_CBC_SHA
- OpenSSL name:
- AECDH-AES128-SHA
- GnuTLS name:
- TLS_ECDH_ANON_AES_128_CBC_SHA1
- Hex code:
- 0xC0, 0x18
- TLS Version(s):
- TLS1.0, TLS1.1, TLS1.2, TLS1.3
- Protocol:
- Transport Layer Security (TLS)
- Key Exchange:
- Elliptic Curve Diffie-Hellman (ECDH)
- Authentication:
- Anonymous (anon)
- Encryption:
- Advanced Encryption Standard with 128bit key in Cipher Block Chaining mode (AES 128 CBC)
- Hash:
- HMAC Secure Hash Algorithm 1 (SHA)
- Included in RFC:
- Machine-readable:
- application/json
This key exchange algorithm does not support Perfect Forward Secrecy (PFS) which is recommended, so attackers cannot decrypt the complete communication stream.
Anonymous key exchanges are generally vulnerable to Man in the Middle attacks.
In 2013, researchers demonstrated a timing attack against several TLS implementations using the CBC encryption algorithm (see isg.rhul.ac.uk). Additionally, the CBC mode is vulnerable to plain-text attacks in TLS 1.0, SSL 3.0 and lower. A fix has been introduced with TLS 1.2 in form of the GCM mode which is not vulnerable to the BEAST attack. GCM should be preferred over CBC.
The Secure Hash Algorithm 1 has been proven to be insecure as of 2017 (see shattered.io).