Sweet32: Birthday attacks on 64-bit block ciphers in TLS and OpenVPN

CVE-2016-2183, CVE-2016-6329

Cryptographic protocols like TLS, SSH, IPsec, and OpenVPN commonly use
block cipher algorithms, such as AES, Triple-DES, and Blowfish, to encrypt
data between clients and servers. To use such algorithms, the data is
broken into fixed-length chunks, called blocks, and each block is encrypted
separately according to a mode of operation. Older block ciphers, such as
Triple-DES and Blowfish use a block size of 64 bits, whereas AES uses a
block size of 128 bits.

It is well-known in the cryptographic community that a short block size
makes a block cipher vulnerable to birthday attacks, even if there are no
cryptographic attacks against the block cipher itself. We observe that such
attacks have now become practical for the common usage of 64-bit block
ciphers in popular protocols like TLS and OpenVPN. Still, such ciphers are
widely enabled on the Internet. Blowfish is currently the default cipher in
OpenVPN, and Triple-DES is supported by nearly all HTTPS web servers, and
currently used for roughly 1-2% of HTTPS connections between mainstream
browsers and web servers.

We show that a network attacker who can monitor a long-lived Triple-DES
HTTPS connection between a web browser and a website can recover secure
HTTP cookies by capturing around 785 GB of traffic. In our proof-of-concept
demo, this attack currently takes less than two days, using malicious
Javascript to generate traffic. Keeping a web connection alive for two days
may not seem very practical, but it worked easily in the lab. In terms of
computational complexity, this attack is comparable to the recent attacks
on RC4. We also demonstrate a similar attack on VPNs that use 64-bit
ciphers, such as OpenVPN, where long-lived Blowfish connections are the
norm.

Countermeasures are currently being implemented by browser vendors,
OpenSSL, and the OpenVPN team, and we advise users to update to the latest
available versions.

Our results will appear in the following technical paper at ACM CCS 2016:
https://www.sigsac.org/ccs/CCS2016/
https://sweet32.info/SWEET32_CCS16.pdf

Karthikeyan Bhargavan, Gaëtan Leurent
__



FAQ
Why is 3DES still used with a modern browser?

Because more than 1% of the web servers are poorly configured, and prefer
using 3DES rather than AES.
How can I check if my server is well configured?

You can use the scanning tool form Qualys SSL Labs. In the "Handshake
Simulation" section, you should see 3DES or RC4 only with browsers that
don't support stronger ciphersuites, like IE6/XP and IE8/XP. If you have
3DES ciphersuites at the bottom of the "Cipher Suites" section, you can try
to remove them, but it's not an immediate security issue. Removing 3DES
will protect you against potential downgrade attack, but it will also break
connections from older clients.
How can I fix my server's configuration

You can follow the advice from Mozilla, and their Configuration generator.
I'm using Blowfish-256, is it safe?

No, the attack is independent of the key length. It work on Blowfish with
any key length, and Triple-DES with 3 independent keys (168 bits in total).
Why Sweet32?

It's a stupid pun, based on the sweet sixteen birthday celebration. Our
attack is a birthday attack (taking its name from the birthday paradox)
with complexity 232. You could also say that 232 is the sweet spot where
attacks become practical.

__

https://sweet32.info/

Reply via email to