Encryptie en versleuteling, hoe zit dat?

  • Giel Oerlemans
  • woensdag 17 februari 2021 om 14:27

In veel publicaties, beleidsstukken, trainingen en voorlichting over cybersecurity wordt vaak met de termen 'encryptie' en ‘versleuteling’ geschermd als een maatregel om zaken veiliger te maken en te houden. Ook in het huidige privacydebat en als gaat om het gebruik van bijvoorbeeld chat en messengerapplicaties komt encryptie veelvuldig voor.
Encryptie is dus iets positiefs en werkt veiligheidsverhogend. Dit laatste met name omdat het  anderen onmogelijk maakt om informatie in te zien.
Verschillende overheden voeren op dat gebruik van encryptie beperkt zou moeten worden, of dat de overheid altijd de mogelijkheid zou moeten hebben tot ontsleutelen. Dit geeft al redelijk aan dat versleuteling ‘echt sterk’ is. In deze blog lichten we toe wat encryptie is, welke varianten er bestaan en wat deze technieken zo ‘sterk’ maakt, zonder te vervallen in al te zware wiskundige bewijzen.

Hoe werkt encryptie?

Allereerst staan we stil bij wat encryptie nou precies is, of eigenlijk doet. Herinner je je die briefjes in geheimschrift, die je op de basisschool uitwisselde?

“HVMI YYV JMIXWIRLSO”

kon zo’n geheime boodschap zijn.

Het doel van zo’n geheime boodschap: voor de docent is het niet te lezen. De beoogde ontvanger echter, die op de hoogte was van de ‘sleutel’, kon het bericht eenvoudig ontcijferen en lezen:
“drie uur fietsenhok”Encryptie, of versleuteling, is dus een manier om gegevens te beveiligen door ze onleesbaar te maken voor onbevoegden.

De versleutelmethode in het voorbeeld is eenvoudig. Iedere letter van de boodschap ,die vaak wordt aangeduid als ‘klare tekst’ wordt vier plaatsen in het alfabet ‘verschoven’ om te vercijferen. De versleutelde boodschap wordt aangeduid als ‘cijfertekst’. Ontcijferen gebeurt door de letters van de cijfertekst vier plaatsen ‘terug te schuiven’. Deze versleutelmethode werd al in de tijd van de Romeinen gebruikt, en wordt het zogenaamde Ceasar Cipher genoemd.

encryptie en decryptie van klare tekst naar cijfertekst en terug.

Erg sterk is deze versleuteling niet. De docent had eenvoudig kunnen achterhalen welke ‘sleutel’ (in dit geval +4) werd gebruikt, door simpelweg te kijken welke letter het vaakst voorkomt in de cijfertekst. In een Nederlandse tekst zijn gemiddeld 8% van de letters een ‘e’. De meest voorkomende versleutelde letter staat waarschijnlijk voor de ‘e’.  Andere zaken kunnen ook iets over de tekst verraden. Bijvoorbeeld wanneer er spaties in de cijfertekst zijn opgenomen. Deze verraden iets over de lengte van woorden.

Al iets sterker is het werken met een ‘sleutelwoord’, bijvoorbeeld ‘wiel’. In zo’n geval wordt niet voor iedere letter evenveel ‘verschoven’ (+4), maar wordt de verschuiving bepaald door de letterwaardes van de letters van de sleutel. Is het sleutelwoord “wiel” dan worden achtereenvolgens de waarde van de “w” (+23), dan de “I” (+9), de “e” (+5) en de “l” (+12) opgeteld bij de te versleutelen boodschap.

d r i e u u r f i e t s e n h o k
W (+23) I (+9) E (+5) L (+12) W I E L W I E L W I E L W
Z Z M P Q C V Q E M X D A V L Z G

Een dergelijke versleuteling staat bekend als een Vigenère versleuteling. De frequentieanalyse werkt niet meer. Toch zit er een zwakte in deze versleuteling, namelijk de herhaling van het wachtwoord.  Gebruik je een sleutel die net zo lang is als de tekst, dan is van repetities geen sprake. Echter is het uitwisselen van zo’n sleutel erg lastig, mede omdat je voor iedere tekst een unieke sleutel moeten hebben.

In de Tweede Wereldoorlog was versleuteling al veel complexer dan dit. Beroemd en berucht is de Duitse codeermachine, de Enigma. De geallieerden wisten deze uiteindelijk te kraken, wat het einde van de oorlog waarschijnlijk behoorlijk heeft kunnen bespoedigen. Het werk van Edward Turing aan het kraken van de Enigma machine heeft uiteindelijk de basis gelegd voor de moderne computer. Versleuteling is daarna alleen maar complexer geworden.

Moderne encryptie

De komst van de computer heeft de ontwikkeling enorm versneld en daarnaast ook noodzakelijk gemaakt. Computers worden in hoog tempo sneller en kunnen in kortere tijd een (zwakke) versleuteling kraken. De Enigma encryptie zou tegenwoordig in zeer korte tijd gekraakt kunnen worden. Daarnaast wordt er tegenwoordig continu gecommuniceerd over het internet. Allemaal communicatie waarvan we niet willen dat iemand anders meekijkt, zowel uit privacyoverwegingen, maar ook bijvoorbeeld bij het versturen van een wachtwoord naar een website.

Meest gebruikt vandaag de dag is een Belgische uitvinding, de Advanced Encryption Standard, AES, ook wel bekend onder de originele naam: Rijndael. In 2001 werd deze techniek door de Amerikaanse organisatie voor standaarden en technologie (NIST) uitgeroepen tot opvolger van de Data Encryption Standard (DES), die al uit 1977 stamde. De sleutellengte bij AES kan varieren: 128, 192 of 256 bits. Het aantal bits staat voor het aantal cijfers in een binair getal. Ter vergelijking, wanneer je een getal van 256 bits als decimaal getal wilt opschrijven kom je op een lengte van 78 cijfers. Zo’n lang getal ziet er als volgt uit:

115.792.089.237.316.195.423.570.985.008.687.907.853.269.984.665.640.564.039.457.584.007.913.129.639.936

Dat maakt de versleuteling ook zo sterk, lange sleutels. Het is onpraktisch, zo niet onmogelijk, om alle mogelijke sleutels (dat zijn er zoveel als het getal hierboven) te proberen. In feite werkt dat dus volgens hetzelfde principe als sterke wachtwoorden. Zelfs met de sterkste supercomputer ter wereld duurt het miljoenen jaren om alle sleutels te proberen.

Assymetrische cryptografie

Alle bovengenoemde voorbeelden zijn voorbeelden van symmetrische cryptografie, waarbij zowel de zender als ontvanger beschikken over dezelfde ‘sleutel’. Deze is dus een keer afgesproken tussen zender en ontvanger. Op het internet communiceert iedereen echter met iedereen. Je hebt nergens een geheime sleutel in hoeven te voeren om een beveiligde verbinding naar een website op te zetten via ‘https’.

Hiervoor wordt gebruik gemaakt van assymetrische cryptografie. De wiskundige details zullen we in dit blog achterwege laten, maar op wikipedia is dit vrij uitgebreid terug te vinden. Een bekend algoritme is RSA, uit 1977, genoemd naar de drie bedenkers.
Met behulp van RSA kan een tekst worden versleuteld met de publieke sleutel van de ontvanger, waarna deze ontvanger het bericht met een eigen (geheime) private sleutel kan ontcijferen. De sleutels voor encryptie en decryptie zijn dus niet gelijk.
De sleutels gebruikt in asymetrische cyptografie zijn veel langer. Voor RSA wordt bijvoorbeeld standaard 2048 bits gebruikt. Ook is het versleutelen en ontsleutelen veel langzamer dan bij symmetrische cryptografie. Daarom wordt asymmetrische cryptografie vaak gebruikt om een eenmalige (AES) sleutel uit te wisselen tussen verzender en ontvanger.

 
End-to-end encryptie

Met de groei van het gebruik van o.a. chatapplicaties is de term end-to-end encryptie veel gehoord. Zorgen over privacy en een verminderd vertrouwen in de partij die de dienst levert ligt hieraan ten grondslag. Dit laatste ook ingegeven door onthullingen over het massaal inbouwen van backdoors voor de overheid door met name Amerikaanse bedrijven.

End-to-end encryptie is een aanduiding voor het feit dat een bericht de hele weg van zender naar ontvanger versleuteld is en blijft. Er zit niemand tussen die het bericht kan lezen of een leesbaar bericht opslaat. Dit laatste gebeurt in de praktijk heel vaak. Wanneer een gebruiker een publieke post op de tijdlijn van facebook zet, dan gebeurt dat over een versleutelde (https) verbinding. Komt het versleutelde bericht aan bij facebook, dan zal facebook het bericht ontsleutelen en onversleuteld opslaan op zijn servers. Dat is niet zo gek, er wordt tenslotte iets op facebook gepost zodat de hele wereld het kan lezen.

Wat gebeurt er echter met een bericht dat je rechtstreeks aan een andere gebruiker stuurt, bijvoorbeeld via facebook messenger of Whatsapp? Wordt dat ook ontsleuteld en opgeslagen door de dienst, door facebook? Of beschikt Facebook echt niet zelf over de sleutel om jouw berichten, gericht aan een ander, te kunnen inzien? Dit laatste is wat ze beloven wanneer ze zeggen dat er sprake is van end-to-end encryptie.

Er zijn voldoende alternatieven. Echter is het niet zo dat end-to-end versleuteling je helemaal anoniem maakt. Bepaalde metagegevens, zoals bijvoorbeeld wie met wie communiceert, blijven te achterhalen. De dienst (facebook in ons voorbeeld) moet immers weten bij welke persoon een bericht dient te worden afgeleverd.

Nu we inhoudelijk meer weten over encryptie en het belang van encryptie is het aan ons om dit ook toe te passen. Deel jij voor je werk data met externe partijen? Zorg dan dat encryptie is toegepast en dat je informatie deelt over veilige kanalen. Wilt u als organisatie meer weten over hoe u uw medewerkers kunt ondersteunen om data veilig op te slaan en te transporteren? We adviseren u graag over de verschillende mogenlijkheden.

StackSecure maakt gebruik van cookies.

Voor het correct functioneren, optimaliseren van deze website en t.b.v. commerciële doeleinden maakt StackSecure gebruik van cookies. Meer hierover kunt u lezen in ons privacy statement