- Details
Seit dem 25. August ist die erste Stable Version von OpenSSL 1.1.0 verfügbar.
Neu hinzugekommene Algorithmen sind u. a. der moderne Stream Cipher ChaCha20 mit Poly1305 Authentisierung, der Message Authentication Mode CCM (Counter with CBC-MAC) für AES Cipher und die elliptische Kurve X25519 für den Diffie-Hellman-Schlüsselaustausch.
Große Teile des Codes wurden für die Version neu geschrieben. Die API ist inkompatibel zu allen Vorgängerversionen, so dass alle Anwendungen, die OpenSSL nutzen, für 1.1.x weitgehend und sorgfältig angepasst werden müssen. Daher dürfte es noch eine Weile dauern, bis die gängigen Linux-Distributionen mit der neuen OpenSSL-Version ausgeliefert werden.
Schutz vor Sweet32
Zugleich mit der Veröffentlichung der Version 1.1.0 reagieren die OpenSSL-Entwickler auf den unter dem Namen Sweet32 bekanntgewordenen Angriff auf 3DES (CVE-2016-2183):
- In den Versionen der Branches 1.0.2 und 1.0.1 werden die 3DES Cipher aus der Kategorie 'HIGH' nach 'MEDIUM' verschoben. In den 'DEFAULT' Ciphern sind sich nach wie vor enthalten.
- In der neuen Version 1.1.0 sind die 3DES Cipher, wie RC4, standardmäßig deaktiviert. Sowohl 3DES als auch RC4 können durch Setzen der Option '--enable-weak-ssl-ciphers' mit einkompiliert werden. Ihre Kategorie ist 'MEDIUM', im 'DEFAULT' fehlen sie.
Nicht reanimierbar abgeschaltet wurden in 1.1.0 das veraltete SSLv2-Protokoll (SSLv3 bleibt erhalten) sowie sämtliche 40- und 56-Bit Cipher.
Referenzen:
1. https://www.openssl.org/news/openssl-1.1.0-notes.html
2. https://www.openssl.org/blog/blog/2016/08/24/sweet32
3. https://sweet32.info/SWEET32_CCS16.pdf
- Details
Bislang galten Kollisionsangriffe auf Block Cipher ohne Kenntnis des verwendeten Keys als theoretisch möglich, aber für reale Angriffe unattraktiv, weil für deren Erfolg Plaintext teilweise vorausgeahnt werden muss und Gigabytes mitgeschnittener Daten nur wenige Bits Ertrag verheißen. Was jedoch, wenn Teile des Plaintexts vom Angreifer selbst leicht vorgegeben und über den Browser des Opfers die benötigten Datenmengen unauffällig versendet werden können und am Ende die Authentifizierung einer HTTPS oder VPN Session herausspringt? Karhikeyan Bhargavan und Gaëtan Leurent, Forscher des französischen Inria Instituts, demonstrieren in ihrem letzte Woche veröffentlichten Paper nun erstmals die Durchführbarkeit eines Angriffs (den sie auf den Namen Sweet32 getauft haben) auf ältere, aber durchaus noch gebräuchliche 64-Bit Block Cipher wie 3DES und Blowfish (AES dagegen arbeitet mit einer Blockgröße von 128 Bit) mit lohnenswerten Ergebnissen. In weniger als zwei Tagen gelang es ihnen, den Session Cookie einer HTTPS Session und die BasicAuth Credentials einer OpenVPN-Verbindung zu rekonstruieren.
Block Cipher
Im Gegensatz zu Stream Ciphern, bei denen die Verschlüsselung Bit- oder Byte-weise erfolgt, verschlüsseln Block Cipher ihrem Namen entsprechend ganze Blöcke von Plaintext in Blöcke von Ciphertext. Bei Verwendung desselben Keys überführt ein Block Cipher dabei denselben Block Plaintext immer in denselben Block Ciphertext. Um trotzdem eine zufällige, nicht dem Plaintext-Muster entsprechende, Verteilung von Ciphertext-Blöcken zu erreichen, arbeiten Block Cipher in sogenannten Betriebsarten, TLS z. B. zumeist im Cipher Block Chaining (CBC) Mode, wie bei Wikipedia dargestellt: