Hva er AES-kryptering?
AES i kryptografi viser til Advanced Encryption Standard, en rask, effektiv og sikker krypteringsalgoritme sertifisert av US National Institute of Standards and Technology (NIST). Det er en symmetrisk nøkkelchiffer som bruker samme nøkkel til både å kryptere og dekryptere data. Dette er relativt raskt, noe som gjør det ideelt for å kryptere store mengder data i ro.
På grunn av styrken og påliteligheten er AES en av de mest populære og vanlige typene kryptering som brukes i trådløs nettverkssikkerhet, data- og diskkryptering, påloggede betalingssystemer, skylagring, passordadministrasjon og til og med offentlige og militære applikasjoner. Amerikanske myndigheter bruker AES-kryptering for å sikre sin graderte informasjon, noe som har bidratt til populariteten.

Er AES-algoritmen sikker?
Ja. I 2000, etter en svært grundig(nytt vindu) og åpen utvelgelsesprosess, kunngjorde NIST at AES (frem til da kjent som Rijndael-algoritmen, laget av Vincent Rijmen og Joan Daemen) ville erstatte DES som den anbefalte(nytt vindu) «ugraderte, offentlig kjente krypteringsalgoritmen som kan beskytte sensitiv myndighetsinformasjon langt inn i neste århundre».
Ifølge NIST anses alle nøkkellengder i AES-algoritmen som «tilstrekkelige» for å beskytte gradert informasjon opp til nivået «Secret». For informasjon merket «Strengt hemmelig» kreves AES-192 eller AES-256.

Brute force-angrep
Den mest grunnleggende formen for angrep som er mulig mot enhver krypteringschiffer, er et brute force-angrep, som innebærer å prøve hver eneste mulige nøkkelkombinasjon til den riktige blir funnet.
Frontier(nytt vindu) er verdens kraftigste offentlig kjente superdatamaskin. Hvis den dedikerte hele kapasiteten sin til brute forcing av AES-128, ville den fortsatt trenge rundt 10–12 billioner år for å gå gjennom alle mulige kombinasjoner for AES-128. Dette er mye lengre enn universets alder. Så selv ved lavere bitstørrelser er AES svært motstandsdyktig mot brute force-angrep fra vanlige datamaskiner.
AES-256 er 340 milliarder-milliarder-milliarder-milliarder (2¹²⁸) ganger vanskeligere å brute force enn AES-128.
Selv om Grovers algoritme(nytt vindu) teoretisk reduserer sikkerheten til symmetriske nøkler med halvparten mot kvantetrusler(nytt vindu), er de fortsatt relativt motstandsdyktige mot kvantedatamaskiner, særlig når man bruker en 256-biters nøkkel.
Nøkkelangrep
Gjennom årene har kryptografer publisert en rekke teoretiske angrep på AES-nøkler, men alle disse er enten upraktiske i praksis eller bare effektive på AES-implementasjoner som bruker et redusert antall runder (se nedenfor).
Det mest vellykkede forsøket var det teoretiske biclique-angrepet(nytt vindu) som ble publisert i 2011, og som kan redusere tiden som trengs for å brute force AES med en faktor på fire. Det ville imidlertid fortsatt kreve milliarder av år å brute force AES på dagens eller overskuelig fremtidig maskinvare for datamaskiner.
Ingen kjente nøkkelangrep er praktiske mot korrekt implementert AES-128 eller høyere.
Sidekanalangrep
Et sidekanalangrep forsøker å redusere antallet kombinasjoner som kreves for å gjennomføre et vellykket brute force-angrep ved å lete etter spor fra datamaskinen som utfører krypteringsberegningene. Spor kan hentes ved å undersøke:
- Tidsbruk – hvor lang tid en datamaskin bruker på å utføre en operasjon
- Elektromagnetiske lekkasjer
- Lydsignaler
- Visuelle signaler (fanget opp med et kamera med høy oppløsning).
Særlig cache-timing-angrep har vist seg å være ganske effektive til å knekke AES. I det mest bemerkelsesverdige eksempelet klarte forskere i 2016 å gjenopprette(nytt vindu) en AES-128-nøkkel ved å bruke «bare rundt 6–7 blokker med ren tekst eller chiffertekst (teoretisk sett ville selv én enkelt blokk være nok)».
Det finnes imidlertid en rekke ting som kan gjøres for å redusere trusselen fra sidekanalangrep:
- Korrekt implementert AES kan forhindre måter data kan lekke på.
- Maskinvare som integrerer AES-instruksjonssettet, reduserer ytterligere AES' angrepsflate for sidekanalangrep.
- Randomiseringsteknikker kan brukes til å forstyrre forholdet mellom data beskyttet av AES og eventuelle lekkede data som kan samles inn ved hjelp av et sidekanalangrep.
I mange tilfeller krever sidekanalangrep at angriperen er i nærheten av eller har fysisk tilgang til enheten mens den dekrypterer data, selv om fjernangrep er mulige hvis skadelig programvare er installert på en enhet, særlig ved timing-angrep.
Slik fungerer AES
AES er en blokkchiffer som krypterer og dekrypterer data i blokker på 128 biter ved hjelp av 128-biters-, 192-biters- eller 256-bitersnøkler. Som nevnt tidligere brukes den samme nøkkelen til å kryptere og dekryptere data. AES som bruker en 128-biters nøkkel, omtales ofte som AES-128, og tilsvarende for AES-192 og AES-256.

Data krypteres ved hjelp av flere runder, som hver består av en serie matematiske operasjoner.
Prosessen starter med å bruke Rijndaels nøkkelplanalgoritme til å utlede en serie nye rundenøkler fra den opprinnelige hemmelige nøkkelen. Dette kalles nøkkelutvidelse.
Hver runde består deretter av én eller flere (eller en kombinasjon) av følgende operasjoner:
1. Add RoundKey: En XOR-operasjon(nytt vindu) utføres for å kombinere dataene som skal krypteres (chifferteksten) med hver rundenøkkel.

2. Sub Bytes: En substitusjonstabell brukes til å blande dataene ytterligere. Tenk i prinsippet på de enkle substitusjonschifrene du brukte som barn, der du erstattet hver bokstav i en melding med en bokstav et visst antall plasser senere i alfabetet.

3. Shift Rows: Hver 128-biters datablock består av en 16-biters 4x4-blokk. Denne operasjonen forskyver hver byte i en blokkrad med en bestemt forskyvning mot venstre.

4. MixColumns: En ekstra inverterbar lineær transformasjon utføres på hver kolonne i blokken.

Denne serien med transformasjoner utgjør én runde, som deretter gjentas på dataene et bestemt antall ganger, avhengig av nøkkelstørrelsen:
- AES-128 — 10 runder
- AES-192 — 12 runder
- AES 256 — 14 runder
For å dekryptere data utføres ganske enkelt alle trinnene som ble brukt til å kryptere dem, i omvendt rekkefølge. Dette krever den opprinnelige hemmelige nøkkelen for å reversere prosessen ved hjelp av hver inverse rundenøkkel.
Hvorfor foretrekkes AES-256 fremfor AES-192 eller AES-128?
Det ville tatt lengre tid enn universets alder å brute force AES-128 med dagens og overskuelig fremtidig teknologi. Den legendariske kryptografen Bruce Schneier har til og med argumentert(nytt vindu) for at AES-128 kan være sterkere enn AES-256 takket være en sterkere nøkkelplan – algoritmen som beregner alle rundenøklene fra den opprinnelige hemmelige nøkkelen.
Likevel har AES-256 blitt de facto-gullstandarden for symmetrisk nøkkelkryptering. Det blir ofte (om enn noe kontroversielt) sett på som det sterkere valget fordi den større nøkkelstørrelsen signaliserer en ekstra sikkerhetsmargin, slik at krypterte data forblir trygge selv om man finner en måte å dramatisk svekke algoritmen på. Dette argumentet har blitt sterkere etter hvert som behovet for motstandskraft etter kvantealderen blir mer presserende.
AES-CBC vs. AES-GCM
Inntil ganske nylig ble AES vanligvis brukt i cipher block chaining-modus (CBC), der hver blokk med ren tekst XOR-es med forrige blokk med chiffertekst før den krypteres. Når det brukes i CBC-modus, kreves en HMAC(nytt vindu)-hashalgoritme som HMAC-SHA256 for å verifisere dataene.
Det blir imidlertid stadig vanligere at AES brukes i Galois/counter-modus (GCM), som bruker tellermodus(nytt vindu) for kryptering. Hovedfordelen er at den bruker Galois-feltet(nytt vindu) til å verifisere data uten behov for en ekstern algoritme. Den er derfor mer effektiv enn å bruke en separat autentiseringsalgoritme som kan ha høy beregningsmessig overhead.
Selv om AES-CBC med HMAC-autentisering generelt anses som sikkert, er CBC potensielt sårbart for padding-angrep(nytt vindu), som POODLE(nytt vindu). Det er ikke GCM.
Maskinvareakselerert AES
De fleste moderne CPU-er inkluderer Advanced Encryption Standard New Instructions (AES-NI(nytt vindu)), et sett med maskinvareinstruksjoner som utfører AES-operasjoner direkte på prosessoren. Dette gjør AES mye raskere og bidrar også til å forhindre tidsbaserte sidekanalangrep fordi operasjonene skjer inne i prosessorens sikre kjøreenheter, så det er færre observerbare tidsvariasjoner som en angriper kan utnytte.
Proton og AES
Vi bruker AES i stor utstrekning for å sikre Proton-produkter:
Hendelser og kontakter sikres med AES-256 kombinert med ECC for nøkkelutveksling, for å sikre personvernet ditt via ende-til-ende-kryptering.
Proton VPN fokuserer hovedsakelig på den raske og effektive VPN-protokollen WireGuard® (som bruker ChaCha20), men OpenVPN-tilkoblinger bruker AES-256.
Proton Pass lagrer passord, notater, identiteter og andre elementer i det sikre hvelvet ditt ved hjelp av AES-256.
Proton Drive krypterer alle opplastede filer ende til ende med AES-256 ved hjelp av ECC for nøkkelutveksling. Proton Docs og Proton Sheets bruker også AES-256 med ECC-basert nøkkelutveksling, selv om krypteringsimplementeringen deres er forskjellig fra Proton Drives generelle filkrypteringsopplegg.
Proton Mail lagrer e-poster og vedlegg ved hjelp av AES-256 via OpenPGP-standarden. Selv den private nøkkelen din, som låser opp e-postene dine, er kryptert med AES-256 før den lagres på tjeneren.
Proton Meet bruker Messaging Layer Security (MLS) til å kryptere lyd, video og chatmeldinger, og sikrer forward secrecy (PFS) og post-compromise security (PCS) for all kommunikasjon. Alle møtedata er ende-til-ende-kryptert med AES-256-GCM.
Redusere angrep mot AES-kryptering
Sikkerhet er bare så sterk som det svakeste leddet, som vanligvis er passordet ditt. Dette betyr at sosial manipulering, nettfiskingsangrep og keyloggere(nytt vindu) også utgjør en trussel mot AES-krypterte data. Så selv når AES brukes, bør du ta følgende forholdsregler:
- Bruk en kryptert passordapp
- Bruk maskinvaresikkerhetsnøkler (som YubiKey) for et ekstra lag med beskyttelse
- Hvis du er del av en organisasjon, gjennomfør regelmessig sikkerhetsopplæring for ansatte for å forhindre nettfiskingsangrep
Ta kontroll over dataene dine
Proton ble bygget for å beskytte dataene dine helt fra starten. Med ende-til-ende-kryptering, apper med åpen kildekode og uavhengige revisjoner, forblir informasjonen din din.
Ofte stilte spørsmål om AES-kryptering
- Hva er best: AES eller DES?
- Hva er best: AES eller RSA?
- Hvor sterk er AES-sikkerhet?


