Wat zijn cipher suites en hoe gebruik je ze?

cacholong-web-blog

Een antwoord op de vraag welke cipher suites je nu eigenlijk moet gebruiken om jouw webomgeving veilig te houden

In een vorig artikel vertelden we je al het een en ander over SSL en TLS en welke rol deze oplossingen spelen bij het beveiligen van je website of webshop.

In dit artikel duiken we wat dieper in de materie en gaan we in op de rol die zogenoemde cipher suites spelen in het TLS- en SSL-landschap.

Wat zijn cipher suites precies? En welke cipher suites moet je nu eigenlijk gebruiken om jouw webomgeving veilig te houden?

Lees verder voor de antwoorden.

Inhoud van dit artikel


Wat zijn cipher suites?

Zonder dat we er ons bewust van zijn, zijn we allemaal wel bekend met het principe achter cipher suites. Heb je als kind al eens gecodeerde briefjes geschreven waarin je letters verving door tekens of cijfers of hele woorden inruilde voor andere woorden? Dan gebruikte je een geheimtaal die verdacht veel lijkt op een eenvoudige cipher.

Binnen de IT is een cipher suite een belangrijk onderdeel van je SSL-omgeving. Een goed gebruik van SSL behelst namelijk wat meer dan alleen het installeren van een SSL-certificaat. Ook de gekozen serverinstellingen zijn namelijk van belang. Een cipher suite is een verzameling van algoritmes (een serie instructies) die helpt bij het creëren van een veilige, versleutelde verbinding via het TLS-protocol.

N.B. Ik schreef al eerder dat de term SSL wat ongelukkig gekozen is. We hebben het altijd over SSL-certificaten, maar we zouden het beter TLS-certificaat kunnen noemen. Voor een ‘SSL-certificaat’ heb je geen SSL nodig, maar TLS. De meest recente versies zijn TLS 1.2 of 1.3.

De opbouw van een cipher suite

Een cipher suite bestaat in de regel uit de volgende drie onderdelen:
  • Een key exchange algoritme legt vast hoe de authenticatie plaatsvindt tijdens de SSL-handshake. Maak je gebruik van een key exchange (digitale sleuteluitwisseling)? Dan wisselen de verzender en ontvanger digitale sleutels uit via een versleuteld algoritme. Beide partijen beschikken over hetzelfde codeboek waarmee ze berichten ver- en ontsleutelen. ECDHE RSA is een voorbeeld van een key exchange algoritme.
  • Een encryptie-algoritme bepaalt hoe het uitgewisselde verkeer wordt versleuteld.
  • De message authentication code (MAC) is een algoritme voor het maken van cryptografische hashes van (blokken van) de uitgewisselde data. Denk bijvoorbeeld aan SHA-256. Het wordt gebruikt om te bevestigen dat het bericht afkomstig is van de opgegeven afzender (authenticiteitscheck) en niet is veranderd.


De 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. Die twee wisselen vervolgens informatie uit over de cipher suites waar ze bekend mee zijn. De server bepaalt vervolgens aan de hand van de lijst met overeenkomende cipher suites welke cipher het best bruikbaar is. De protocollen uit die specifieke cipher vormen de basis voor de verdere versleuteling van het dataverkeer. handshake

Welke cipher suites moet ik gebruiken?

Maar welke cipher suites kun je nu het beste gebruiken? Het antwoord op die vraag hangt deels af van de persoonlijke voorkeur van de eigenaar van de server en/of de specifieke gebruiksbehoeften van een organisatie.

In de praktijk genieten servers die gebruikmaken van ECDHE meestal de voorkeur. Waarom? Omdat deze cipher suites zijn uitgerust met het zeer lastig te kraken ECC-algoritme. Ook het cryptografisch protocol is van belang. Oudere protocollen als SSL 2.0 en 3.0 gelden tegenwoordig als onveilig en kwetsbaar voor man-in-the-middle-attacks. Sterker nog: ze zijn zo lek als een mandje. Daarom zijn de beter beveiligde protocollen TLS 1.2 en 1.3 de norm.

Welke cipher suite wordt ondersteund door TLS 1.2/1.3?

Maar welke cipher suites zijn nu compatibel met TLS 1.2 en 1.3? Het TLS 1.2-protocol ondersteunt in totaal een kleine 40 cipher suites. De beste keus? Cipher suites die gebruikmaken van het Diffie-Hellmann-sleutelwisselingsprotocol. Dit cryptografische protocol stelt twee deelnemers, die verder niets van elkaar weten, in staat om over een onbeveiligd communicatiekanaal een geheime encryptiesleutel uit te wisselen. De sleutel gebruik je vervolgens om communicatie tussen de deelnemers te versleutelen. Hier vind je een lijstje van cipher suites die het meest geschikt zijn om te gebruiken met TLS 1.2.

In het TLS 1.3-protocol zijn het aantal cipher suites sterk teruggebracht: verouderde en onveilige cipher suites zijn verwijderd. Door de verbetering van het protocol komt de verbinding tussen de verzender en ontvanger sneller tot stand. In totaal zijn er maar 5 cipher suites die worden ondersteund in het TLS1.3 protocol. Hier vind je ze.

Wat is een 'naming scheme'?

Elke cipher suite heeft een uniek naming scheme, een reeks codes die het beestje een naam geeft. De codes staan voor de algoritmische onderdelen van de cipher suite.

We kunnen dit illustreren aan de hand van een voorbeeld. Neem bijvoorbeeld een cipher suite met de naam TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. De betekenis van deze hele mond vol, ziet er als volgt uit:

  • De eerste 3 letters staan voor het protocol waar de cipher suite gebruik van maakt, in dit geval dus TLS.
  • ECDHE staat voor het gebruikte sleuteluitwisselingsmechanisme.
  • RSA is het authenticatiemechanisme dat je gebruikt tijdens de handshake.
  • AES is de code voor de ‘sessiecipher’.
  • 128 staat voor het aantal bits van de encryptiesleutel.
  • GCM geeft het gebruikte encryptietype weer.
  • SHA256 staat voor de hash-functie en laat zien welk MAC-algoritme de cipher suite gebruikt om een bericht te valideren. Het getal 256 geeft het aantal bits weer.


Tot slot: het belang van een cipher suite

Informatiebeveiliging wordt vaak als vanzelfsprekend gezien. In werkelijkheid zit er echter complexe techniek achter. Met een moderne cipher suite voeg je nog een extra dimensie toe aan het beveiligen van je dataoverdracht. Maar het kiezen van de juiste cipher suite kan wel een uitdaging zijn en vereist inzicht in servercapaciteit, encryptie- en decryptieprestaties, cryptografische lengtes en hashes. Kijk daarom nauwkeurig naar deze aspecten en check altijd goed de opbouw en het actuele veiligheidsniveau van een cipher suite.

Wil je meer weten over cipher suites? Of heb je behoefte om je informatiebeveiliging naar een hoger niveau te brengen? Neem contact met op. Ik help je graag verder!

4

Interesse? Laten we kennismaken!

Hoe kunnen we jouw helpen? We maken graag persoonlijk kennis. Vertel ons wat je wensen en eisen zijn. Dan geven we jou het juiste advies en overtreffen we jouw verwachting.

In contact komen
DNV-certified