AES-256-kryptering forklaret: hvad det betyder for dine data

AES-256-kryptering forklaret: hvad det betyder for dine data

AES-256 forklaret: hvordan cifret fungerer, hvorfor 256-bit nøgler er vigtige, hvad GCM-tilstand tilføjer, og hvad du skal tjekke, når en app hævder at bruge AES-256-kryptering.


AES-256 er Advanced Encryption Standard med en 256-bit nøgle, standardiseret af NIST som FIPS 197 i 2001. Det er en symmetrisk krypteringsalgoritme brugt af den amerikanske regering til klassificerede oplysninger, banker til finansielle transaktioner og sikkerhedsapps til databeskyttelse i hvile og under transmission. AES-256 har 2^256 mulige nøgler: et tal større end det anslåede antal atomer i det observerbare univers. Ingen kendte angreb gør dette nøglerum beregningsmæssigt reducerbart.

Denne vejledning forklarer, hvad AES-256 faktisk gør, hvorfor nøglestørrelsen er vigtig, hvad de forskellige tilstande (ECB, CBC, GCM) betyder, og hvad du skal kigge efter, når en app hævder at bruge AES-256-kryptering.

Hvad AES faktisk gør

AES er et symmetrisk blokcifret. "Symmetrisk" betyder, at den samme nøgle krypterer og dekrypterer. "Blokcifret" betyder, at det behandler data i blokke af fast størrelse: 128 bit (16 bytes).

Algoritmen tager dine data (klartekst), kombinerer dem med nøglen og producerer et blandet output (chiffertekst) gennem en serie matematiske transformationer. Disse transformationer -- substitution, skift, blanding og nøgletilføjelse -- gentages et fast antal runder. AES-256 bruger 14 runder.

Hver runde anvender fire operationer:

  1. SubBytes: Hver byte erstattes ved hjælp af en fast substitutionstabel (S-box), hvilket introducerer ikke-linearitet.
  2. ShiftRows: Bytes i hver række forskydes med forskellige forskydninger, spredende data på tværs af positioner.
  3. MixColumns: Kolonner blandes via matrixmultiplikation i et endeligt felt, diffunderende ændringer på tværs af bytes.
  4. AddRoundKey: En rundenøgle (afledt af hovednøglen) XOR-es med dataene.

Efter 14 runder er klarteksten grundigt blandet. Vending af disse operationer med den korrekte nøgle gendanner de originale data. Uden nøglen er chiffertekst uadskillelig fra tilfældig støj.

Hvorfor 256 bits er vigtige

"256" i AES-256 refererer til nøglelængden: 256 bits. Det bestemmer antallet af mulige nøgler en angriber skal prøve for at bryde krypteringen med brute force.

Nøglestørrelse Mulige nøgler Brute-force-brydetid (billion forsøg/sek.)
56 bits (DES) 7,2 x 10^16 ca. 20 timer
128 bits (AES-128) 3,4 x 10^38 10^13 år (10 billioner år)
256 bits (AES-256) 1,16 x 10^77 10^51 år

Til sammenligning er universet ca. 1,38 x 10^10 år gammelt. At bryde AES-256 med brute force ville tage ca. 10^41 gange universets alder, selv med en billion forsøg per sekund.

AES-128 er allerede beregningsmæssigt uoverkommeligt at bryde med brute force. AES-256 giver yderligere margen mod fremtidige beregningsfremskridt, herunder kvantecomputere. Grovers algoritme (kvanteangreb) halverer effektivt nøglelængden, reducerende AES-256 til ækvivalenten af AES-128, hvilket stadig er uoverkommeligt. AES-128 ville blive reduceret til 64-bit effektiv sikkerhed, hvilket potentielt er sårbart. Derfor foretrækker sikkerhedskritiske applikationer AES-256.

AES-tilstande: hvorfor de er vigtige

AES alene krypterer kun én 128-bit blok ad gangen. For reelle data (fotos, dokumenter, videoer) har du brug for en "driftstilstand" der håndterer data større end 16 bytes. Tilstanden bestemmer, hvordan blokke kædes sammen, og den har kritiske sikkerhedsimplikationer.

ECB (Electronic Codebook): brug ikke

Hver blok krypteres uafhængigt med den samme nøgle. Identiske klartekstblokke producerer identiske chiffertekstblokke. Det lækker mønstre i dataene. Det klassiske eksempel: kryptering af et bitmap-billede med ECB bevarer billedstrukturen i chifferteksten, så indholdet forbliver genkendeligt. ECB er inkluderet i standarden, men bør aldrig bruges til data med struktur eller gentagne mønstre.

CBC (Cipher Block Chaining): ældre standard

Hver blok XOR-es med den foregående chiffertekst inden kryptering. Det eliminerer ECBs mønsterlækage. CBC var standardtilstanden i årtier, men er erstattet af GCM i de fleste applikationer. CBC kræver en tilfældig initialiseringsvektor (IV) og giver ikke indbygget autentificering.

GCM (Galois/Counter Mode): nuværende standard

GCM kombinerer kryptering i tællertilstand med Galois-feltautentificering. Det giver autentificeret kryptering: det krypterer data OG opretter et autentificeringskode der registrerer enhver ændring af chifferteksten. Hvis et enkelt bit ændres, fejler dekryptering i stedet for at producere beskadiget klartekst.

NIST standardiserede GCM i SP 800-38D (2007). Det er den anbefalede tilstand til nye implementeringer.

AES-256-GCM er AES med 256-bit nøgle i Galois/Counter Mode. Det er hvad sikkerhedskritiske applikationer bør bruge, og hvad Vaultaire bruger til kryptering af fotoindhold og filer.

Tilstand Mønsterlækage Autentificering Nuværende anbefaling
ECB Ja (alvorlig) Nej Brug ikke
CBC Nej Nej (kræver separat MAC) Ældre; acceptabelt med HMAC
GCM Nej Ja (indbygget) Anbefalet til nye implementeringer

Hvad AES-256 betyder for fotoopbevaring

Når en foto-hvælvingsapp hævder "AES-256-kryptering," bør tre ting gælde:

  1. Filindholdet krypteres med AES-256. De rå fotodata (pixels, metadata, miniature) transformeres til chiffertekst ved hjælp af en 256-bit nøgle.

  2. Hver fil bruger en unik initialiseringsvektor (IV). Krypteres to identiske fotos med den samme nøgle, bør chifferteksten være forskellig. Det kræver en unik IV pr. fil. Uden det kan statistisk analyse afsløre mønstre.

  3. Tilstanden giver autentificering (GCM eller tilsvarende). Uden autentificering kunne en angriber ændre chifferteksten uden opdagelse. Det dekrypterede resultat ville være beskadigede data, ikke en fejl.

Hvad "AES-256" på en marketingside ikke siger

AES-256 er nødvendigt, men ikke tilstrækkeligt. Flere kritiske faktorer bestemmer, om krypteringen faktisk beskytter dine data:

Nøgleafledning er afgørende. Hvordan genereres 256-bit nøglen? Afledes den fra en 4-cifret PIN med en svag KDF, er den effektive sikkerhed 4 cifre (10.000 kombinationer), ikke 256 bits. En stærk implementering bruger PBKDF2 med et højt antal iterationer eller Argon2 med passende hukommelses-/tidsparametre. Vaultaire bruger PBKDF2 med HMAC-SHA512 og afleder nøglen fra et mønster på et 5x5-gitter med milliarder af mulige input.

Nøgleopbevaring er afgørende. Hvor lever nøglen? Gemmes nøglen i klartekst i appens sandbox, kan enhver malware med filadgang læse den. Korrekt nøgleopbevaring bruger hardware-understøttede mekanismer som Apple Secure Enclave, hvor nøgler eksisterer i en dedikeret co-processor med sin egen krypterede hukommelse.

Hvad der krypteres er afgørende. Nogle apps krypterer filindhold, men efterlader filnavne, miniaturebilleder og metadata ukrypterede. En retsmedicinsk ekspert behøver ikke se dit foto, men ser "ferie-strand-2025.jpg" i fillisten. Omfattende kryptering dækker metadata separat.

Nøglens livscyklus er afgørende. Slettes nøglen fra hukommelsen, når appen lukkes? Forbliver nøglen i hukommelsen, kan en hukommelsesdump udtrække den. Vaultaire sletter nøgler fra hukommelsen ved hvert app-luk og kræver frisk mønstertastning ved hvert opstart.

AES-256 i praksis: hvem bruger det

Enhed Anvendelsestilfælde Tilstand
Den amerikanske regering (NSA) Klassificerede oplysninger GCM (eller CTR med separat autentificering)
Apple (iCloud ADP) iCloud Ende-til-ende-kryptering GCM
Signal Beskedkryptering CBC (med HMAC til autentificering)
Banker Kryptering af finansielle transaktioner GCM
1Password Adgangskodehvælving GCM
Vaultaire Foto- og filhvælving GCM
VeraCrypt Diskkryptering XTS (optimeret til diskblokke)

Almindelige misforståelser

"Militær kryptering" betegner ikke noget specifikt. Marketingsider bruger denne sætning, fordi den lyder imponerende. AES-256 bruges af militæret. Det samme gør AES-128. Sætningen fortæller dig intet om tilstand, nøgleafledning, nøgleopbevaring eller hvad der faktisk krypteres.

"256-bit kryptering" betyder ikke nødvendigvis AES-256. Andre cifre bruger også 256-bit nøgler (ChaCha20, Twofish, Serpent). Tjek hvilken algoritme der er specificeret. AES-256-GCM er den nuværende standard.

AES-256 beskytter ikke mod svage adgangskoder. Er din adgangskode "1234" og nøgleafledningen svag, er krypteringen effektivt 4-cifret sikker, uanset cifrets styrke. Kæden brister ved det svageste led.

AES-256 beskytter ikke data under brug. Når du ser et foto, skal det dekrypteres i hukommelsen. På det tidspunkt eksisterer det i klartekst i RAM. Korrekte implementeringer minimerer dette vindue og sletter hurtigt dekrypterede data.

Ofte stillede spørgsmål

Kan AES-256 brydes?

Ingen kendte angreb bryder AES-256 ved at reducere hele nøglerummet. Det mest kendte angreb (biclique attack af Bogdanov, Khovratovich og Rechberger, 2011) reducerer AES-256 fra 2^256 operationer til 2^254,4: en teoretisk forbedring der er beregningsmæssigt uden praktisk betydning. AES-256 forbliver ubrudt.

Er AES-256 modstandsdygtigt over for kvantecomputere?

Principielt ja. Grovers kvantealgoritme halverer den effektive nøglelængde: AES-256 bliver ækvivalenten til 128-bit sikkerhed mod kvanteangreb. AES-128 ville blive reduceret til 64-bit effektiv sikkerhed, hvilket potentielt er sårbart. NIST anbefaler AES-256 til langsigtet sikkerhed mod kvantecomputerfremskridt.

Hvad er forskellen på AES-128 og AES-256?

AES-128 bruger en 128-bit nøgle (10 runder). AES-256 bruger en 256-bit nøgle (14 runder). Begge betragtes som sikre mod nuværende angreb. AES-256 giver større margen mod fremtidige fremskridt, særligt kvantecomputere. AES-256 er ca. 40% langsommere end AES-128 på grund af de ekstra runder, men hardwareacceleration gør det ubetydeligt på moderne enheder.

Gør AES-256-kryptering min telefon langsommere?

Mærkbart nej. Moderne iPhones indeholder dedikeret AES-hardwareacceleration i Secure Enclave og processoren. Kryptering eller dekryptering af et foto tager millisekunder. AES er specifikt designet til hardwareimplementeringseffektivitet.

Hvordan ved jeg, om en app virkelig bruger AES-256?

Tjek appens sikkerhedsdokumentation, ikke kun marketingsiden. Kig efter: specifik algoritme og tilstand (AES-256-GCM, ikke bare "AES" eller "256-bit"), nøgleafledningsmetode (PBKDF2, Argon2), nøgleopbevaringsmekanisme (Secure Enclave, hardware-understøttet) og om metadata også krypteres. Open source-apps tillader uafhængig verifikation.

Konklusion

AES-256 er guldstandarden for symmetrisk kryptering, standardiseret af NIST, brugt af regeringer og finansielle institutioner, og modstandsdygtig mod alle kendte angreb inklusive kvantecomputere. Når du vurderer apps der hævder at bruge AES-256-kryptering, kig ud over cifret: tjek tilstand (GCM), nøgleafledning (PBKDF2/Argon2 med højt antal iterationer), nøgleopbevaring (hardware-understøttet) og hvilke data der faktisk krypteres (indhold og metadata).

Vaultaire bruger AES-256-GCM til filkryptering, PBKDF2 med HMAC-SHA512 til nøgleafledning, ChaCha20 til metadatakryptering og Apple Secure Enclave til nøglestyring. Kryptering er ikke markedsføringssprog. Det er matematik.