Hvad er AES 256 bit kryptering?

Du er sikkert stødt på akronymet AES mere end én gang. Måske har du endda spekuleret på det: Hvad er AES?

Hvad er der så specielt ved AES kryptering? I så fald er du kommet til det rette sted. I denne artikel fortæller vi dig alt, hvad du har brug for at vide om AES – Advanced Encryption Standard (avanceret krypteringsstandard, selvom man ikke rigtig bruger andet end det engelske ord)

Kort fortalt:

Vi kan definere AES som en moderne block cipher, der understøtter tre nøglelængder på 128, 192 og 256-bit kryptering. Det giver en fremragende langtidssikkerhed mod brute-force-angreb.

I 2010 var AES den mest populære filkrypteringsenhed i verden; den anvendes i vid udstrækning i sikre filoverførselsprotokoller som FTPS, HTTPS (som her på seek.dk), SFTP, OFTP, AS2 og WebDAVS. De fleste af de VPN-tjenester, der er gennemgået på SEEK, bruger det højeste niveau af AES-kryptering. Tjenester som ExpressVPN og CyberGhost bruger faktisk 256-bit AES.

Specifikke tal om brugen af AES er svære at finde, men det anslås at teknologien krypterer over 50% af alle data globalt.

Amerikanske NSA tillader overførsel af klassificerede data på TOP SECRET-niveau via AES. Vi taler om officielle statshemmeligheder her, i ren James Bond-stil.

Hvordan AES begyndte

Først, lidt baggrundsinformation om krypteringsstandarder. Den tidligere Data Encryption Standard (DES), der blev udviklet i midten af 1970'erne og officielt vedtaget i 1977, var blevet forældet og i stigende grad modtagelig for cyberangreb i 1990'erne. Derfor besluttede det amerikanske National Institute of Standards and Technology (NIST) at erstatte den med en ny, avanceret standard.

NIST indhentede og overvejede i sidste ende flere forslag. Det vindende forslag, som blev indsendt af to unge belgiske kryptologer – Vincent Rijmen og Joan Daemen – blev kaldt Rijndael. Vi bruger det synonymt med AES. NIST vedtog officielt det nye krypteringssystem i november 2001, og det trådte i kraft i maj 2002. Resten af verden fulgte hurtigt trop.

Hvad er AES?

AES er i sin simpleste form en kryptografisk algoritme, der bruges til at beskytte elektroniske data. Det er en symmetrisk blok-cipher, der kan kryptere og dekryptere oplysninger. Kryptering konverterer data til en uforståelig form kaldet ciphertext. Dekryptering konverterer dataene tilbage til deres oprindelige form kaldet klartekst.

For det første har AES en krypteringsnøglelængde på 128, 192 og 256 bit, som kan kryptere og dekryptere data i blokke på 128 bit. Den længste AES-krypteringsnøglelængde er også kendt som kryptering af militær kvalitet. Selv om det er den mest sikre, og de fleste antivirusprogrammer og løsninger til administration af adgangskoder bruger 256 bit, bør du have det helt fint med at bruge en af de to andre – medmindre du ligesom USA's nationale sikkerhedsagentur (NSA) frygter fremtidige angreb fra kvantecomputere.

For det andet kan den modstå de fleste, hvis ikke alle kendte angreb (mere om det lidt senere).

For det tredje er den hurtig og kompakt på en lang række forskellige platforme. Ved optimal ydelse kan man opnå 1,3 cyklusser/byte på en single-core Intel Core i7 Processor Extreme Edition, i7-980X til AES-128 i parallelle tilstande.

Sådan fungerer AES

Som mange andre blokchiffrer bruger AES runder af kryptering, der udfører ciffertransformationerne. Hver runde består typisk af flere byggeblokke, der er designet i fællesskab til at skabe en funktion, som derefter køres flere gange. Antallet af runder, som AES udfører, afhænger af længden af nøglen. Ved 128 bit udfører den 10 ved 192 – 12 og ved 256 – 14.

I modsætning til sin forgænger – den førnævnte DES – som kun kan kryptere ca. halvdelen af datavæsenet i hver runde, er AES i stand til at kryptere hele datavæsenet i én runde.

Hver runde består af fire lag:

1) SubBytes giver fremragende forvirring – “Forvirring”, som det vedrører AES, er en egenskab ved en sikker krypteringsfunktion. Den gør forholdet mellem cifferteksten og den symmetriske nøgle så komplekst som muligt. Dette skaber ikke-lineære tabeller, som er ekstremt gode til at eliminere mønstre.

2) ShiftRows giver diffusion – hvor “diffusion” er en anden egenskab ved driften af en sikker AES-chiffre. Målet her er at sprede den statistiske struktur af klarteksten over cifferteksten ved at sprede hver del af input til hver del af output.

3) MixColumns giver yderligere spredning for at øge effektiviteten.

4) AddRoundKey blander nøglen, hvilket gør det umuligt for en angriber at beregne, hvad krypteringen gør.

Det er interessant, at den sidste runde ikke har et MixColumns-lag. Dette gør krypterings- og dekrypteringsskemaet symmetrisk.

Tilføjelsen af en undernøgle i begyndelsen og i slutningen er kendt som key whitening.

AES-krypteringseksempel

Du kender sikkert følgende (ofte fejlciterede) berømte replikker fra William Shakespeares Romeo og Julie:

Hvad ligger der i et navn? Det, vi kalder en rose, ville dufte lige sødt, hvilket navn den end havde.”

Og sådan ser de ud i AES 256-bit kryptering:

VT+yUq1FrhydGyJ2PwEj5pqIXLgZdMsfhbI3KmvjmkQ5EPwqRsb7j9JmZsi8sUeM7ON2pC2dMHyCXBZtGECD45rFOrrY/jxdSEXgBP/3NwxiCf8QFD6GY+GH+5atCUAzWOJqmBaD1ALHKelYQJrE0Q

Ikke nær så romantisk, vel? Dog skal det siges, at det nok ville få point for originalitet på et kort til Valentinsdag.

Du kan selv prøve at kryptere dine egne skuespil – eller hvad som helst, for den sags skyld. Der findes flere AES krypteringsværktøjer på nettet, som dette værktøj f.eks.

Implementering af AES

Stifterne af AES-algoritmen specificerede i deres oprindelige forslag, at hverken den eller nogen af dens implementeringer ville være genstand for patenter. Det gør den gratis at bruge. Vi kan finde den i alle slags software, firmware, hardware eller enhver kombination heraf. Måske er den mest almindelige anvendelse, som du sandsynligvis vil støde på, i Wi-Fi-sikkerhedsprotokoller, såsom WPA-PSK (AES) og WPA2-PSK (AES).

Du finder generelt den ældre TKIP (Temporal Key Integrity Protocol) ved siden af AES. Det oprindelige formål med TKIP var at erstatte det ret usikre WEP (Wired Equivalent Privacy)

Desværre viste det sig ikke at være nogen stor forbedring i forhold til sin forgænger. Derfor kom den langt mere sikre AES med den nye WPA2 (Wi-Fi Protected Access II) krypteringstype. Den PSK del af forkortelsen betyder Pre-shared Key, og er din krypteringskode.

Programmeringssprog som Java og Python kan også drage fordel af AES-sikkerhed.

Er AES sikkert?

Generelt afhænger krypteringsstyrken af længden af den numeriske nøgle, der krypterer og dekrypterer meddelelser.

Og her er det skøre:

Det er ikke muligt at udføre et vellykket brute-force-angreb på AES-256; et sådant forsøg ville kræve omtrent lige så mange kombinationer som 1.100 efterfulgt af 75 nuller.

I 2017 lykkedes det hollandske forskere at udtrække AES 256-krypteringsnøgler ved hjælp af et “side channel-angreb“, med forbedret antenne og signalbehandling. Udstyret kostede mindre end 1500 kr., så du kan teoretisk set gøre det selv – men husk, at du skal være mindre end en meter væk fra den enhed, du sigter på.

Historien om Advanced Encryption Standard, som begyndte for et kvart århundrede siden med forskere fra de lave lande, har nu sluttet sig med forskere fra samme område. Selv her i skrivende stund er AES stadig den mest udbredte filkrypteringssoftware til beskyttelse af elektroniske data i hele verden. Og det vil det sandsynligvis også blive ved med at være, i hvert fald i den nærmeste fremtid.

Der er en god chance for, at du bruger det på den enhed, du læser denne tekst på – og derfor elsker du det allerede, selv om du ikke har været klar over det indtil nu.