AES-256-versleuteling uitgelegd: wat het is en hoe het werkt

AES-256-versleuteling uitgelegd: wat het is en hoe het werkt

AES-256 is de versleutelingsstandaard die door overheden en beveiligingsprofessionals wordt gebruikt om de meest gevoelige gegevens ter wereld te beschermen.


AES-256 (Advanced Encryption Standard met een 256-bits sleutel) is een symmetrisch blokversleutelingsalgoritme dat door het National Institute of Standards and Technology (NIST) is gestandaardiseerd en door de NSA is goedgekeurd voor informatie op TOP SECRET-niveau. Het is de versleutelingsstandaard die door banken, overheden en beveiligingsgerichte apps wordt gebruikt wanneer gegevens absoluut privé moeten blijven. Deze handleiding legt uit hoe het werkt, wat de sleutelgrootte werkelijk betekent en hoe u versleutelingsclaims kunt verifiëren.

Wat AES eigenlijk is

AES is een blokversleuteling: het verwerkt gegevens in vaste blokken van 128 bits (16 bytes) tegelijk. Het neemt een invoerblok (plaintext) en een sleutel en produceert een onleesbaar uitvoerblok (ciphertext). De sleutelgrootte — 128, 192 of 256 bits — bepaalt hoeveel verwerkingsrondes worden uitgevoerd (respectievelijk 10, 12 of 14). Meer rondes betekent meer complexiteit, waardoor bruut-force aanvallen duurder worden.

Het algoritme werd geselecteerd na een open internationale competitie die NIST in 1997 startte. Het winnende algoritme, Rijndael, ontworpen door Joan Daemen en Vincent Rijmen, werd in 2001 AES. De competitie testte kandidaten gedurende drie jaar van openbare cryptanalyse. Het is geen propriëtair algoritme dat door een bedrijf is uitgevonden — het is een openbare standaard die is gebouwd op peer review.

Hoe AES-256-versleuteling werkt

Het versleutelingsproces werkt als volgt:

  1. Sleuteluitbreiding. De 256-bits sleutel wordt uitgebreid tot een sleutelschema van 15 sleutelronden via het Rijndael-sleutelschema. Elke ronde gebruikt een andere subsleutel afgeleid van de originele.

  2. Initiële rondetoestand. De 128-bits invoerblok wordt in een 4×4 byte-matrix gerangschikt.

  3. 14 rondes van transformaties. Elke ronde past vier bewerkingen toe: SubBytes (non-lineaire substitutie met behulp van een S-box), ShiftRows (rijverschuiving), MixColumns (kolommenmenging), en AddRoundKey (XOR met de rondesubsleutel). De laatste ronde slaat MixColumns over.

  4. Uitvoer. De definitieve matrix is de ciphertext — 128 bits statistisch willekeurige gegevens die niet te onderscheiden zijn van ruis.

Het resultaat: versleutelde gegevens onthullen niets over de plaintext en niets over de sleutel. Identieke plaintexts versleuteld met dezelfde sleutel maar verschillende initialisatievectoren produceren volledig verschillende ciphertexts.

GCM-modus: authenticatie toevoegen aan versleuteling

AES op zichzelf is een blokversleuteling. In de praktijk wordt het gecombineerd met een bewerkingsmodus die bepaalt hoe meerdere blokken worden verwerkt en hoe integriteit wordt gewaarborgd. De huidige standaard is GCM (Galois/Counter Mode).

AES-256-GCM is een AEAD-versleuteling (Authenticated Encryption with Associated Data). Het doet twee dingen tegelijk:

  • Versleuteling: Gegevens omzetten naar ciphertext met behulp van CTR-modus (teller).
  • Authenticatie: Een authenticatietag produceren die elke manipulatie van de ciphertext detecteert.

Dit is cruciaal. Zonder authenticatie kan een aanvaller versleutelde gegevens manipuleren zonder de inhoud te kennen. GCM maakt dergelijke manipulatie detecteerbaar — als één bit van de versleutelde gegevens wordt gewijzigd, mislukt de ontsleuteling met een verificatiefout in plaats van beschadigde output te produceren.

Sleutelgrootte en wat 256 bits werkelijk betekent

Een 256-bits sleutel heeft 2^256 mogelijke waarden. Dit is ongeveer 1,16 × 10^77. Om dit perspectief te geven:

  • Er zijn naar schatting 10^80 atomen in het waarneembare universum.
  • Het controleren van 1 biljoen sleutels per seconde (10^12/s) op de snelste supercomputer zou 3,31 × 10^56 jaar kosten om de sleutelruimte te doorzoeken.
  • De schatting voor de levensduur van het universum is 10^100 jaar.

Bruut-force is niet alleen impractisch. Het is computationeel onmogelijk met bekende natuurkundige beperkingen, ongeacht de beschikbare rekenkracht.

Sleutelafleiding: van wachtwoorden naar versleutelingssleutels

AES-256 vereist een sleutel van precies 256 bits. Menselijke wachtwoorden en patronen zijn geen 256-bits sleutels — ze zijn korter en bevatten patronen. Een sleutelafleiding-functie (KDF) overbrugt deze kloof.

PBKDF2 (Password-Based Key Derivation Function 2), gespecificeerd in RFC 8018, neemt uw wachtwoord, een willekeurig salt (om rainbow table aanvallen te voorkomen) en een iteratieteller, en produceert een sleutel van de gewenste lengte via herhaald hashen. De iteratieteller maakt elke wachtwoordraden rekenintensiever. Met 300.000 iteraties kost elke wachtwoordgok 300.000 hashes aan verwerkingskracht — direct vertaald naar lagere aanvalssnelheden voor brute-force.

Vaultaire gebruikt PBKDF2 met HMAC-SHA512 en een per-kluis willekeurig salt voor sleutelafleiding. Het getrokken patroon op het 5×5-raster voert PBKDF2 in. De uitvoer is de 256-bits AES-sleutel. Het patroon zelf wordt nooit opgeslagen.

Vergelijking: AES-128 vs AES-192 vs AES-256

Kenmerk AES-128 AES-192 AES-256
Sleutellengte 128 bits 192 bits 256 bits
Rondes 10 12 14
Beveiligingsniveau 128 bits 192 bits 256 bits
Prestatiekosten Laagste Gemiddeld Hoogste (minimaal verschil in de praktijk)
NSA-goedkeuring voor TOP SECRET Nee Nee Ja
NIST-aanbeveling (post-kwantum) Minimaal aanvaardbaar Aanvaardbaar Voorkeur

AES-128 is veilig voor de overgrote meerderheid van de praktische toepassingen. AES-256 is de voorkeur wanneer toekomstbestendigheid tegen kwantumcomputers wordt vereist. NIST's post-kwantum cryptografierichtlijnen bevelen AES-256 aan als de symmetrische standaard voor gegevens met een lange levensduur.

Hoe Vaultaire AES-256-GCM implementeert

Elk geïmporteerd bestand in Vaultaire wordt individueel versleuteld met AES-256-GCM met een willekeurig gegenereerde initialisatievector (IV) uniek voor dat bestand. Identieke bestanden produceren verschillende ciphertexts. Bestandsmetadata (namen, datums, miniatuurgegevens) worden afzonderlijk versleuteld met ChaCha20, een ander AEAD-systeem dat aanvullende cryptografische diversiteit biedt.

De versleutelingssleutel bestaat alleen in het geheugen van het apparaat terwijl de kluis actief is. Hij wordt gewist wanneer de app sluit, naar de achtergrond gaat of wanneer de gebruiker de kluis verlaat. Er is geen sleutelopslag op het apparaat en geen sleutelregistratie op een server.

Dit is de architectuur beschreven in de beveiligingsfuncties van Vaultaire.

Veelgestelde vragen

Is AES-256 onbreekbaar?

Met huidige technologie: ja, in de praktijk. Geen bekende aanval reduceert de benodigde rekenkracht voor het breken van AES-256 tot iets computationeel haalbaars. De beste bekende aanvallen zijn theoretische gerelateerde-sleutelaanvallen die aantonen dat AES-256 minder dan zijn theoretische beveiligingsniveau heeft — maar het werkelijke beveiligingsniveau blijft ver buiten het bereik van enig realistisch aanvalsscenario. Kwantumcomputers zouden de effectieve sleutelsterkte halveren (tot 128 bits beveiliging), waarvoor NIST AES-256 aanbeveelt boven AES-128 voor toekomstbestendige gegevens.

Wat is het verschil tussen AES-128 en AES-256?

Sleutelgrootte en rondecount. AES-128 gebruikt een 128-bits sleutel en 10 rondes. AES-256 gebruikt een 256-bits sleutel en 14 rondes. Beide zijn veilig voor huidige bedreigingen. AES-256 biedt extra marge voor toekomstige berekeningen (inclusief kwantumcomputers). Het prestatieverschil op moderne hardware is verwaarloosbaar — minder dan 40% meer verwerkingstijd voor versleuteling, wat verwaarloosbaar is voor bestanden op iPhone-hardware.

Gebruikt de overheid AES-256?

Ja. De NSA goedkeurde AES-256 voor informatie op SECRET- en TOP SECRET-niveau in haar Suite B-cryptografiestandaarden. Het Amerikaanse ministerie van Defensie, de FBI, de CIA en andere overheidsinstanties gebruiken AES-256 voor geclassificeerde gegevens. NIST's Federal Information Processing Standard (FIPS) 197 specificeert AES als de verplichte versleutelingsstandaard voor federale systemen die gevoelige informatie verwerken.

Kan ik verifiëren of een app echt AES-256 gebruikt?

Directe verificatie vereist toegang tot broncode of een cryptografische audit. Indirecte tests: (1) Als de app wachtwoordherstel biedt zonder een herstelzin, worden sleutels op de server opgeslagen — geen echte end-to-end versleuteling. (2) Als de app u laat inloggen op een nieuw apparaat en uw gegevens herstelt zonder sleuteloverdracht, heeft de server uw sleutels. (3) Zoek naar gepubliceerde onafhankelijke beveiligingsaudits, niet alleen voor marketingclaims. Open-sourceapps laten broncodeverificatie toe zonder audits. Apps die FIPS 140-3 certificering claimen, zijn onderworpen aan laboratoriumtests van hun cryptografische implementaties.

Samenvatting

AES-256 is de wereldwijde standaard voor symmetrische versleuteling. De 256-bits sleutelruimte is computationeel onbreekbaar. GCM-modus voegt authenticatie toe, waardoor manipulatie van versleutelde gegevens detecteerbaar is. De combinatie — AES-256-GCM — biedt zowel vertrouwelijkheid als integriteit. Vaultaire implementeert AES-256-GCM voor bestandsversleuteling, met sleutels afgeleid op het apparaat via PBKDF2 en nooit opgeslagen of verzonden.