Versleuteling > Typen versleuteling > AES-versleuteling
Wat is AES-versleuteling?
AES in cryptografie verwijst naar de Advanced Encryption Standard, een snel, efficiënt en veilig versleutelingsalgoritme gecertificeerd door het Amerikaanse National Institute of Standards and Technology (NIST). Het is een symmetrische versleutelingsmethode die dezelfde sleutel gebruikt om gegevens zowel te versleutelen als te ontsleutelen. Dit is relatief snel, waardoor het ideaal is voor het versleutelen van grote hoeveelheden opgeslagen gegevens.
Vanwege de sterkte en betrouwbaarheid is AES een van de meest populaire en gebruikelijke soorten versleuteling die worden gebruikt in de beveiliging van draadloze netwerken, gegevens- en schijfversleuteling, online betalingssystemen, cloudopslag, wachtwoordbeheer en zelfs overheids- en militaire toepassingen. De Amerikaanse overheid gebruikt AES-versleuteling om haar geclassificeerde informatie te beveiligen, wat heeft bijgedragen aan de populariteit ervan.

Is het AES-algoritme veilig?
Ja. In 2000 kondigde het NIST, na een zeer grondig(nieuw venster) en open selectieproces, aan dat AES (tot dan toe bekend als het Rijndael-algoritme, gemaakt door Vincent Rijmen en Joan Daemen) DES zou vervangen als zijn aanbevolen(nieuw venster) “niet-geclassificeerd, openbaar gemaakt versleutelingsalgoritme dat in staat is om gevoelige overheidsinformatie tot ver in de volgende eeuw te beschermen”.
Volgens NIST worden alle sleutellengtes van het AES-algoritme als “voldoende” beschouwd om geclassificeerde informatie te beschermen tot het niveau “Geheim”. Voor “Topgeheime” informatie is AES-192 of AES-256 vereist.

Brute force-aanvallen
De meest elementaire vorm van aanval op een versleutelingscijfer is een brute-force-aanval, waarbij elke mogelijke sleutelcombinatie wordt geprobeerd totdat de juiste is gevonden.
Frontier(nieuw venster) is 's werelds krachtigste publiekelijk bekende supercomputer. Als het zijn volledige vermogen zou inzetten voor het brute-forcen van AES-128, zou het nog steeds in de orde van 10-12 biljoen jaar duren om alle mogelijke combinaties voor AES-128 te doorlopen. Dit is veel langer dan de leeftijd van het universum. Dus zelfs bij lagere bitgroottes is AES zeer goed bestand tegen brute-force-aanvallen van conventionele computers.
AES-256 is 340 miljard-miljard-miljard-miljard (2¹²⁸) keer moeilijker te brute-forcen dan AES-128.
Hoewel het algoritme van Grover(nieuw venster) de beveiliging van symmetrische sleutels tegen kwantumdreigingen theoretisch halveert, zijn ze nog steeds relatief kwantumbestand, vooral bij gebruik van een 256-bits sleutel.
Sleutelaanvallen
In de loop der jaren hebben cryptografen een aantal theoretische aanvallen op AES-sleutels gepubliceerd, maar geen daarvan is in de praktijk werkbaar of ze zijn alleen effectief op AES-implementaties die een verminderd aantal rondes gebruiken (zie hieronder).
De succesvolste poging was de theoretische biclique-aanval(nieuw venster) die in 2011 werd gepubliceerd en de tijd die nodig is voor een brute force-aanval op AES met een factor vier kan verkorten. Het zou echter nog steeds miljarden jaren duren om AES met brute force te kraken op huidige of voorzienbare computerhardware.
Geen enkele bekende sleutelaanval is praktisch tegen correct geïmplementeerde AES-128 of hoger.
Side-channel-aanvallen
Een side-channel-aanval probeert het aantal combinaties te verminderen dat nodig is voor een succesvolle brute force-aanval door aanwijzingen te zoeken in de computer die de versleutelingsberekeningen uitvoert. Aanwijzingen kunnen worden verkregen door te kijken naar:
- Timing - hoe lang een computer nodig heeft om een bewerking uit te voeren
- Elektromagnetische lekken
- Audiosignalen
- Visuele aanwijzingen (opgevangen met een camera met hoge resolutie).
Vooral cache-timing-aanvallen zijn behoorlijk effectief gebleken bij het succesvol kraken van AES. In het opvallendste voorbeeld konden onderzoekers in 2016 een AES-128-sleutel herstellen(nieuw venster) met "slechts ongeveer 6 - 7 blokken tekst zonder opmaak of ciphertext (theoretisch zou zelfs één blok volstaan)".
Er kunnen echter een aantal dingen worden gedaan om de dreiging van side-channel-aanvallen te beperken:
- Correct geïmplementeerde AES kan manieren voorkomen waarop gegevens kunnen lekken.
- Hardware die de AES-instructieset integreert, verkleint het aanvalsoppervlak van side-channel-aanvallen op AES verder.
- Randomisatietechnieken kunnen worden gebruikt om de relatie te verstoren tussen gegevens die door AES worden beschermd en gelekte gegevens die via een side-channel-aanval kunnen worden verzameld.
In veel gevallen vereisen side-channel-aanvallen dat de aanvaller zich in de directe nabijheid van het apparaat bevindt of er fysieke toegang toe heeft terwijl het gegevens ontsleutelt, hoewel aanvallen op afstand mogelijk zijn als er kwaadaardige software op een apparaat is geïnstalleerd, met name in het geval van timing-aanvallen.
Hoe AES werkt
AES is een blokcipher die gegevens versleutelt en ontsleutelt in blokken van 128 bits met sleutels van 128, 192 of 256 bits. Zoals eerder opgemerkt, wordt dezelfde sleutel gebruikt voor het versleutelen en ontsleutelen van gegevens. AES met een 128-bitsleutel wordt vaak AES-128 genoemd, en hetzelfde geldt voor AES-192 en AES-256.

Gegevens worden versleuteld met behulp van meerdere rondes, die elk bestaan uit een reeks wiskundige bewerkingen.
Het proces begint met het gebruik van het sleutelschema-algoritme van Rijndael om een reeks nieuwe rondesleutels af te leiden van de oorspronkelijke geheime sleutel. Dit staat bekend als sleutelexpansie.
Elke ronde bestaat vervolgens uit een of meer (of een combinatie) van de volgende bewerkingen:
1. Add Round Key: Er wordt een XOR-bewerking(nieuw venster) uitgevoerd om de te versleutelen gegevens (de cijfertekst) te combineren met elke rondesleutel.

2. Sub Bytes: er wordt een substitutietabel gebruikt om de gegevens verder te vermengen. Denk in principe aan de eenvoudige substitutiecijfers die u als kind gebruikte, waarbij u elke letter in een bericht verving door een letter die een vast aantal plaatsen verder in het alfabet stond.

3. Shift Rows: elk gegevensblok van 128 bits bestaat uit een 4x4-blok van 16 bits. Deze bewerking verschuift elke byte in een blokrij met een bepaalde offset naar links.

4. Mix Columns: Er wordt een extra omkeerbare lineaire transformatie uitgevoerd op elke kolom in het blok.

Deze reeks transformaties vormt één ronde, die vervolgens een bepaald aantal keren op de gegevens wordt herhaald, afhankelijk van de sleutelgrootte:
- AES-128 — 10 rondes
- AES-192 — 12 rondes
- AES 256 — 14 rondes
Om gegevens te ontsleutelen, worden alle stappen die zijn gebruikt om ze te versleutelen eenvoudig in omgekeerde volgorde uitgevoerd. Daarvoor is de oorspronkelijke geheime sleutel nodig om het proces om te keren met elke inverse rondesleutel.
Waarom heeft AES-256 de voorkeur boven AES-192 of AES-128?
Het zou langer duren dan de leeftijd van het universum om AES-128 te brute-forcen met de huidige en voorzienbare technologie. De legendarische cryptograaf Bruce Schneier heeft zelfs beweerd(nieuw venster) dat AES-128 sterker zou kunnen zijn dan AES-256, omdat het een sterker sleutelschema heeft — het algoritme dat alle rondesleutels berekent op basis van de oorspronkelijke geheime sleutel.
Toch is AES-256 de de facto gouden standaard geworden voor symmetrische versleuteling. Het wordt vaak (hoewel enigszins controversieel) gezien als de sterkere keuze, omdat de grotere sleutelgrootte een extra veiligheidsmarge signaleert, zodat versleutelde gegevens veilig blijven, zelfs als er een manier wordt gevonden om het algoritme drastisch te verzwakken. Dit argument is sterker geworden naarmate de behoefte aan post-kwantumresistentie dringender wordt.
AES-CBC versus AES-GCM
Tot vrij recent werd AES meestal gebruikt in de cipher block chaining-modus (CBC), waarbij elk blok tekst zonder opmaak met het vorige ciphertextblok wordt ge-XOR'd voordat het wordt versleuteld. Bij gebruik in CBC-modus is een HMAC(nieuw venster)-hashalgoritme zoals HMAC-SHA256 vereist om de gegevens te verifiëren.
Het komt echter steeds vaker voor dat AES wordt gebruikt in de Galois/counter-modus (GCM), die de tellermodus(nieuw venster) van versleuteling gebruikt. Het belangrijkste voordeel is dat het het Galois-veld(nieuw venster) gebruikt om gegevens te verifiëren zonder dat daarvoor een extern algoritme nodig is. Het is daarom efficiënter dan het gebruik van een afzonderlijk verificatiealgoritme dat een hoge rekenoverhead kan hebben.
Hoewel AES-CBC met HMAC-verificatie over het algemeen als veilig wordt beschouwd, is CBC potentieel kwetsbaar voor padding-aanvallen(nieuw venster), zoals POODLE(nieuw venster). GCM is dat niet.
Hardwareversnelde AES
De meeste moderne CPU's bevatten Advanced Encryption Standard New Instructions (AES-NI(nieuw venster)), een set hardware-instructies die AES-bewerkingen rechtstreeks op de processor uitvoert. Dit maakt AES veel sneller en helpt ook timing-gebaseerde side-channel-aanvallen te voorkomen, omdat de bewerkingen plaatsvinden binnen de beveiligde uitvoeringseenheden van de processor, waardoor er minder waarneembare timingvariaties zijn die een aanvaller kan misbruiken.
Proton en AES
Wij maken uitgebreid gebruik van AES om Proton-producten te beveiligen:
Afspraken en contacten worden beveiligd met AES-256 in combinatie met ECC voor de sleuteluitwisseling om uw privacy te waarborgen via end-to-end versleuteling.
Proton VPN richt zich vooral op het snelle, efficiënte WireGuard® VPN-protocol (dat ChaCha20 gebruikt), maar OpenVPN-verbindingen gebruiken AES-256.
Proton Pass slaat wachtwoorden, notities, identiteiten en andere items op in uw beveiligde kluis met AES-256.
Proton Drive versleutelt alle geüploade bestanden end-to-end met AES-256 met ECC voor sleuteluitwisseling. Proton Docs en Proton Sheets gebruiken ook AES-256 met op ECC gebaseerde sleuteluitwisseling, hoewel hun versleutelingsimplementatie verschilt van het algemene bestandsversleutelingsschema van Proton Drive.
Proton Mail slaat e-mails en bijlagen op met AES-256 via de OpenPGP-standaard. Zelfs uw geheime sleutel, die uw e-mails ontgrendelt, wordt met AES-256 versleuteld voordat die op de server wordt opgeslagen.
Proton Meet gebruikt Messaging Layer Security (MLS) om audio, video en chatberichten te versleutelen, zodat forward secrecy (PFS) en post-compromise security (PCS) voor alle communicatie worden gewaarborgd. Alle vergadergegevens zijn end-to-end versleuteld met AES-256-GCM.
AES-versleutelingsaanvallen beperken
Beveiliging is slechts zo sterk als de zwakste schakel, en dat is meestal uw wachtwoord. Dit betekent dat social engineering-tactieken, phishingaanvallen en keyloggers(nieuw venster) ook een threat vormen voor met AES versleutelde gegevens. Dus zelfs wanneer AES wordt gebruikt, moet u de volgende voorzorgsmaatregelen nemen:
- Gebruik een versleutelde wachtwoordbeheerder
- Gebruik hardwarebeveiligingssleutels (zoals YubiKey) voor een extra beschermingslaag
- Als u deel uitmaakt van een organisatie, voer dan regelmatig beveiligingstraining voor medewerkers uit om phishingaanvallen te voorkomen
Neem de controle over uw gegevens
Proton is gebouwd om uw gegevens vanaf het begin te beschermen. Met end-to-end versleuteling, open-source apps en onafhankelijke audits, blijft uw informatie van u.
Veelgestelde vragen over AES-versleuteling
- Wat is beter: AES of DES?
- Wat is beter: AES of RSA?
- Hoe sterk is AES-beveiliging?


