Wat zijn cipher suites?

Cipher suites zijn een belangrijk onderdeel van de serverconfiguratie. Het zijn vastgelegde combinaties van verschillende algoritmes die worden gebruikt in het versleutelde verkeer tussen server en gebruiker. Hierin zijn de volgende onderdelen opgenomen die samen de cipher suites definiƫren:

1. Het key exchange algoritme, dat vastlegt of en hoe authenticatie plaatsvindt tijdens de handshake
2. Het bulk encryption algoritme, dat bepaalt hoe het verkeer wordt versleuteld
3. Het message authentication code algoritme, ook wel bekend als MAC, dat bepaalt waarmee elk blok verkeer wordt gehasht tot een cryptografisch versleuteld bericht
4. De PRF of pseudorandom function, een zogenaamde salt-functie die elke keer wanneer de MAC een blok verkeer wil versleutelen, dient als de cryptografische geheime sleutel waarmee het blok ook weer gelezen kan worden.

Handshake
Bij elke afzonderlijke verbinding tussen de server en een bezoeker van een website wordt een handshake uitgevoerd. Tijdens deze handshake zoekt de gebruiker contact met de server door middel van een ClientHello en een ServerHello, waarbij de twee informatie uitwisselen over de cipher suites waar ze bekend mee zijn. De server bepaalt dan aan de hand van de lijst met overeenkomende cipher suites welke het best bruikbaar is, en gebruikt de protocollen zoals deze in die cipher suite zijn opgenomen voor de verdere versleuteling van het verkeer.

Diffie-Hellman
De opbouw van de cipher suite is voor het bepalen van de meest veilige optie voor de server van groot belang. Welke ciphers het meest veilig zijn is zeer afhankelijk van de persoonlijke voorkeur van de eigenaar van de server, maar er wordt een voorkeur gegeven aan cipher suites die gebruik maken van ECDHE, een protocol dat gebruik maakt van het zeer lastig te kraken ECC algoritme.

Daarnaast wordt gekeken naar welk cryptografisch protocol gebruikt wordt. Tegenwoordig is TLS 1.2 de norm. De voorgangers, SSL 2.0 en 3.0, worden gezien als onveilig door hun zwakke punten die Man in the Middle attacks konden uitnodigen. Zo was de handshake in SSL 2.0 niet beveiligd, waardoor een hacker er voor kon zorgen dat er een zwakkere cipher suite werd gekozen dan normaal.

Configureren
De beheerder van een website kan door regelmatig updaten en de juiste configuraties te gebruiken er voor zorgen dat de beste cipher suites worden gebruikt. Een webserver maakt gebruik van webserver software, zoals Apache of nginx, die op hun beurt weer gebruik maken van zogenaamde software libraries zoals OpenSSL. Hierin staan alle bekende cipher suites vermeld. Het regelmatig bijwerken en updaten van OpenSSL is daarom zeer belangrijk, omdat een cipher suite opgeslagen moet zijn in de library alvorens deze aangeroepen en gebruikt kan worden door de serversoftware.

Gerelateerde blogartikelen
SSL en Verder: Cipher Suites