Van OTP naar AES: encryptie over de jaren heen
Afgelopen maanden wisten het WannaCry- en NotPetya-virus miljoenen slachtoffers te infecteren met ransomware. Eens je besmet wordt, worden alle bestanden versleuteld op je computer, en kan je die volgens de gijzelaars enkel terugkrijgen door een som losgeld te betalen. Wie niet betaalt, ziet zijn bestanden gewist. Als je wel duiten neertelt, dan krijg je de sleutel van de cybergijzelaars om je gegevens te ontgrendelen. Dit is een kwaadaardige vorm van encryptie, maar gelukkig is zo’n virtueel slot en grendel niet enkel een duivel-in-het-doosje. Meer zelfs, digitale versleuteling is noodzakelijk om je gegevens goed te beveiligen en vind je terug op alle noemenswaardige online diensten.
[related_article id=”218299″]Vorige week legden we de essentie van encryptie uit; vandaag nemen we de verschillende protocollen uit de laatste millennia onder de loep. Doorheen de tijd kenden we veel standaarden voor encryptie, zoals OTP, Data Encryption Standard (DES) en Advanced Encryption Standard (AES). In een virtuele tijdreis graven we dieper in op deze verschillende varianten, terwijl we telkens hun voor- en nadelen bespreken.
Eerste sporen van encryptie
De eerste vormen van cryptografie zijn zelfs voor Caesar stokoud en dateren uit het oude Egypte. Verschillende tombes hadden afwijkende hiërogliefen waarmee de Egyptenaren vermoedelijk een boodschap wilden vergrendelen. Encryptie was een relatief zeldzaam fenomeen, maar we vinden sporen terug bij de Romeinen, Alexander de Grote en zelfs in delen van de Kama Sutra. Als je vroeger meer wou te weten komen over een pittig seksstandje, dan moest je eerst de tekens decoderen.
Het duurde tot de negentiende eeuw voordat versleuteling zijn intrede maakte bij het grote publiek. Toen verschenen de eerste literaire werken die deze term beschreven, zoals ‘The Gold-Bug’ van Edgar Allan Poe. Ook het personage Sherlock Holmes moest voortaan cryptografische raadsels oplossen in de boeken van Arthur Conan Doyle. De eerste grootschalige praktische toepassing kwam met de komst van de elektrische telegraaf in 1843. Steeds meer mensen wilden hun boodschappen converteren in geheimschrift om te vermijden dat de telegrafist het bericht kon meelezen. De vraag naar versleuteling werd nog prangender met de komst van de radio rond het begin van de twintigste eeuw, omdat de vijand op elk moment de audioberichten kon opvissen en meeluisteren.
One-Time Pad
Daarom werd One-Time Pad (OTP) in 1882 ontwikkeld, maar de technologie werd pas later gecommercialiseerd in het telexverkeer. In deze techniek werd elk teken van de tekst uit de telex vercijferd met een teken op een sleutelband. Zowel zender als ontvanger beschikten over zo’n strook met exact dezelfde sleuteltekens. Deze codes waren volledig willekeurig en even groot als het bericht dat verzonden moest worden. Om een berichtje te coderen, liep de telexband parallel aan de encryptiestrook. De ontvanger voerde daarna de omgekeerde beweging uit om zo weer alles te ontcijferen. Deze methode is bijzonder veilig want elke letter is te vercijferen naar een willekeurige letter waardoor een ‘brute force attack’ onmogelijk is. Daardoor kan elke sleutel in een andere oplossing resulteren. Wel kon je zo’n sleutel maar één keer gebruiken en moest hij na gebruik meteen vernietigd worden, waardoor deze techniek niet toe te passen viel op grote schaal.
Vanaf de Eerste Wereldoorlog werden er ingewikkelde codeermachines ontwikkeld, zoals het Duitse Enigma in 1920. WO I wordt ook beschouwd als de eerste ‘crypto-oorlog’, omdat het kraken van de rotormachine Enigma de Duitse nederlaag in een versnelling bracht. In de film ‘The Imitation Game’ van regisseur Morten Tyldum zie je hoe Alan Turing een belangrijke rol vervulde in het ontcijferen van die machine. Hitler gebruikte een nog ingewikkeldere rotormachine, namelijk de Lorenz-machine die willekeurige sleutels voor telexberichten kon genereren. Opnieuw waren het de Britten die erin slaagden om deze vernuftige voorloper van de computer te ontraadselen.
De komst van de computer
Het computertijdperk deed de wereld van cryptografie op zijn grondvesten daveren. Een computer kon versleuteling immers op een heel snel tempo uitvoeren met een zeer groot aantal mogelijke sleutels. Het eerste encryptieprotocol kwam er in 1977, namelijk het Data Encryption Standard-algoritme (DES). Door data op te delen in blokken van 64-bits, die in zestien stappen door elkaar geschoven werden, kwam er een digitaal slot en grendel op je boodschappen. Nadien bleek echter dat deze methode niet zo veilig was. De uitkomst van zo’n encryptieproces was altijd dezelfde. Er werden nadien aanpassingen doorgevoerd door bijvoorbeeld de sleutellengte te vergroten, maar DES bleef een makkelijk te kraken encryptieprotocol, als je maar over voldoende rekenkracht beschikt. Sinds 1995 is deze methode in verval geraakt.
Daarnaast bleef er één groot knelpunt onder beveiligingsspecialisten: hoe kan je veilig een sleutel doorgeven? Grote concerns vervoerden dit lange tijd door middel van koeriers, maar overvallers konden die boodschappen met geweld bemachtigen. Twee Amerikanen, Whitfield Diffie en Martin Hellman, brachten de redding en ontwikkelden het Diffie-Hellman-sleuteluitwisselingsprotocol, dat een elektronische oplossing bood voor het transporteren van encryptiesleutels. Hiermee legden zij de grondslag voor asymmetrische cryptografie met publieke sleutels.
Huidige standaard
In 1997 hield het Amerikaanse Nationaal Instituut voor Standaardisatie en Technologie (NIST) een wedstrijd om een vervanger voor DES te ontwikkelen. Twee Leuvenaars, Vincent Rijmen en Joan Daemen, wonnen die competitie van technologiereuzen zoals IBM. Ze ontwikkelden Rijndael, een algoritme dat later de basis zou leggen voor de Advanced Encryption Standard (AES). Dit encryptieprotocol gebruiken we tot de dag van vandaag.
[related_article id=”218696″]Bij AES is de blokgrootte 128 bits en de sleutel 128, 192 of 256 bits. In theorie is AES alsnog te kraken, maar daar is ontzettend veel rekenkracht voor nodig. Uit de documenten die klokkenluider Snowden lekte, blijkt dat de Amerikanen wel pogingen ondernemen om AES zonder sleutel te decoderen, maar daar zijn ze alsnog niet in geslaagd. In theorie duurt het miljarden jaren vooraleer een normale computer een originele boodschap kan kraken, maar met het tempo waarmee supercomputers krachtiger en sneller worden kunnen ze deze tijdspanne ferm inkrimpen. Mocht blijken dat er een consistente manier is om uit het AES-labyrint te ontsnappen, dan zullen knappe bollen ongetwijfeld een nieuwe, ‘onkraakbare’ encryptiestandaard ontwikkelen.