Helpdesk

Cipher Suite

Het feit dat een SSL certificaat 128-bit of 256-bit encryptie ondersteund, wil niet zeggen dat er nooit zwakkere 40-bit encryptie verbindingen tot stand worden gebracht. Dit wordt namelijk bepaald door de configuratie van de server.

Voor het versleutelen van een SSL verbinding wordt gewerkt met zogenaamde 'cipher suites'. Zowel de client (browser of webapplicatie) als de server waarop de website draait, hebben beiden een lijst met cipher suites welke ze ondersteunen. Tijdens het eerste contact tussen client en server wordt gekeken welke cipher suite ze zullen gebruiken voor de SSL sessie. De volgorde van de ciphers op de server lijst geeft de voorkeur aan, maar als de client een bepaalde cipher suite niet ondersteunt wordt voor de volgende in de lijst gekozen. Uiteindelijk kun je dan op de zwakste cipher suite uitkomen of zelfs op nul.

Als bijvoorbeeld de browser is ingesteld op 40-bit encryptie en de server configuratie staat 40-bit encryptie toe, dan zal er een verbinding tot stand komen met deze lage encryptie. Lage encryptie als 40-bit wordt niet langer als veilig beschouwd, het is in enkele dagen te kraken of wel te decoderen.  Voor de gebruiker is het niet zichtbaar dat er een lage encryptie wordt gebruikt. Het adres in de browser blijft HTTPS en het slotje blijft ook gewoon zichtbaar. Ook een EV (Extended Validation) SSL certificaat  biedt geen garantie dat de zwakke 40-bit encryptie niet wordt toegestaan.

Moderne browsers zijn zo ingesteld dat er standaard geen 40-bit verbindingen geaccepteerd worden. Het mogelijke risico van zwakkere 40-bit SSL sessies is dan ook gering. Maar waar het nu om gaat is dit: wat accepteert de server? Als de server namelijk minimale eisen stelt, dan zal de browser daar aan moeten voldoen anders wordt er geen SSL verbinding opgebouwd en zal de gebruiker geen gebruik kunnen maken van de applicatie. Met een eenvoudige aanpassing van de server configuratie kunnen we de minimale eisen instellen en is het risico tot nul gereduceerd. Elke server beheerder zou hiervoor moeten zorgen.

Dit is het voorbeeld voor een configuratie van Apache:

SSLProtocol -ALL +SSLv3 +TLSv1
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP