Proton

Hvad er AES-kryptering?

AES i kryptografi henviser til Advanced Encryption Standard, en hurtig, effektiv og sikker krypteringsalgoritme certificeret af US National Institute of Standards and Technology (NIST). Det er en symmetrisk nøglekryptering, der bruger den samme nøgle til både at kryptér og dekrypter data. Dette er forholdsvis hurtigt, hvilket gør det ideelt til at kryptér store mængder data i hvile.

På grund af sin styrke og pålidelighed er AES en af de mest populære og almindelige typer kryptering, der bruges i trådløs netværkssikkerhed, data- og diskkryptering, online betalingssystemer, sky lagerplads, adgangskodeadministration og endda offentlige og militære applikationer. Den amerikanske regering bruger AES-kryptering til at sikre sine klassificerede oplysninger, hvilket har bidraget til dens popularitet.

Er AES-algoritmen sikker?

Ja. I 2000, efter en meget grundig(nyt vindue) og åben udvælgelsesproces, meddelte NIST, at AES (indtil da kendt som Rijndael-algoritmen, skabt af Vincent Rijmen og Joan Daemen) ville erstatte DES som den anbefalede(nyt vindue) "ikke-klassificerede, offentligt offentliggjorte krypteringsalgoritme, der er i stand til at beskytte følsomme regeringsoplysninger langt ind i det næste århundrede".

Ifølge NIST anses alle AES-algoritmens nøglelængder for at være "tilstrækkelige" til at beskytte klassificerede oplysninger op til niveauet "Secret". For "Yderst hemmeligt" (Top Secret) information kræves AES-192 eller AES-256.

Brute force-angreb

Den mest grundlæggende form for angreb mod enhver kryptering er et brute force-angreb, som indebærer at prøve alle mulige nøglekombinationer, indtil den rigtige findes. 

Frontier(nyt vindue) er verdens mest kraftfulde offentligt kendte supercomputer. Hvis den dedikerede hele sin kapacitet til at brute force AES-128, ville det stadig kræve i størrelsesordenen 10-12 billioner år at udtømme alle mulige kombinationer for AES-128. Dette er langt længere end universets alder. Så selv ved de lavere bitstørrelser er AES meget modstandsdygtig over for brute force-angreb fra konventionelle computere. 

AES-256 er 340 milliarder-milliarder-milliarder-milliarder (2¹²⁸) gange sværere at brute force end AES-128.

Selv om Grovers algoritme(nyt vindue) teoretisk reducerer sikkerheden for symmetriske nøgler med halvdelen mod kvantetrusler(nyt vindue), er de stadig forholdsvis kvanteresistente, især ved brug af en 256-bit nøgle.

Nøgleangreb

Gennem årene er en række teoretiske angreb på AES-nøgler blevet offentliggjort af kryptografer, men alle disse er enten uanvendelige i praksis eller kun effektive mod AES-implementeringer, der bruger et reduceret antal runder (se nedenfor). 

Det mest succesfulde forsøg var det teoretiske biclique-angreb(nyt vindue), der blev offentliggjort i 2011, og som kan reducere den tid, der er nødvendig for at brute force AES, med en faktor fire. Det ville dog stadig kræve milliarder af år at brute force AES på nuværende eller forventelig computerhardware. 

Intet kendt nøgleangreb er praktisk mod korrekt implementeret AES-128 eller højere. 

Sidekanalangreb

Et sidekanalangreb forsøger at reducere antallet af kombinationer, der kræves for at gennemføre et vellykket brute force-angreb, ved at lede efter spor fra computeren, der udfører krypteringsberegningerne. Spor kan indsamles ved at undersøge:

  • Timing – hvor lang tid en computer bruger på at udføre en operation
  • Elektromagnetisk lækage
  • Lydmæssige spor
  • Visuelle spor (opfanges ved hjælp af et højopløseligt kamera).

Især cache-timing-angreb har vist sig at være ret effektive til at knække AES. I det mest bemærkelsesværdige eksempel kunne forskere i 2016 gendan(nyt vindue) en AES-128-nøgle ved hjælp af "kun omkring 6-7 blokke klartekst eller chiffertekst (teoretisk ville selv en enkelt blok være tilstrækkelig)".

Der kan dog gøres en række ting for at begrænse truslen fra sidekanalangreb:

  • Korrekt implementeret AES kan forhindre måder, hvorpå data kan blive lækket.
  • Hardware, der integrerer AES-instruktionssættet, reducerer yderligere AES' angrebsflade for sidekanalangreb.
  • Randomiseringsteknikker kan bruges til at forstyrre forholdet mellem data beskyttet af AES og eventuelle lækkede data, der kan indsamles ved hjælp af et sidekanalangreb. 

I mange tilfælde kræver sidekanalangreb, at angriberen har fysisk adgang eller er i tæt nærhed til enheden, mens den dekrypter data, selv om fjernangreb er mulige, hvis der installeres ondsindet software på en enhed, især i tilfælde af timing-angreb.

Sådan fungerer AES

AES er en blokchiffer, der kryptér og dekrypter data i blokke på 128 bit ved hjælp af 128-bit-, 192-bit- eller 256-bit-nøgler. Som nævnt tidligere bruges den samme nøgle til at kryptér og dekrypter data. AES med en 128-bit nøgle omtales ofte som AES-128, og tilsvarende gælder for AES-192 og AES-256.

Data krypteres ved hjælp af flere runder, som hver består af en række matematiske operationer. 

Processen starter med at bruge Rijndaels nøgleskemaalgoritme til at udlede en række nye rundenøgler fra den oprindelige hemmelige nøgle. Dette kaldes nøgleudvidelse.

Hver runde består derefter af en eller flere (eller en kombination) af følgende operationer:

1. Add RoundKey: En XOR-operation(nyt vindue) udføres for at kombinere de data, der skal krypteres (chifferteksten), med hver rundenøgle.

2. Sub Bytes: En substitutionstabel bruges til at blande dataene yderligere. Tænk i princippet på de enkle substitutionschifre, De brugte som barn, hvor De erstattede hvert bogstav i en besked med et andet et fast antal pladser senere i alfabetet.

3. Shift Rows: Hver 128-bit datablock består af en 16-bit 4x4-blok. Denne operation forskyder hver byte i en blokrække med en bestemt forskydning mod venstre.

4. MixColumns: En yderligere inverterbar lineær transformation udføres på hver kolonne i blokken.

Denne række transformationer udgør én runde, som derefter gentages på dataene et bestemt antal gange, afhængigt af nøglens størrelse:

  • AES-128 — 10 runder
  • AES-192 — 12 runder
  • AES 256 — 14 runder

For at dekrypter data udføres alle de trin, der bruges til at kryptér dem, blot i omvendt rækkefølge. Dette kræver den oprindelige hemmelige nøgle for at vende processen ved hjælp af hver omvendt rundenøgle.

Hvorfor foretrækkes AES-256 frem for AES-192 eller AES-128?

Det ville tage længere tid end universets alder at brute force AES-128 med nuværende og forventelig teknologi. Den legendariske kryptograf Bruce Schneier har endda argumenteret(nyt vindue) for, at AES-128 kan være stærkere end AES-256 takket være dets stærkere nøgleskema - algoritmen, der beregner alle rundenøglerne ud fra den oprindelige hemmelige nøgle.

Alligevel er AES-256 blevet de facto-guldstandarden for symmetrisk nøglekryptering. Det betragtes ofte (om end noget kontroversielt) som det stærkere valg, fordi dets større nøglestørrelse signalerer en ekstra sikkerhedsmargin, så krypteret data forbliver sikker, selv hvis man finder en måde at svække algoritmen dramatisk på. Dette argument er blevet stærkere, efterhånden som behovet for post-kvantemodstand bliver mere presserende. 

AES-CBC vs. AES-GCM

Indtil for ganske nylig blev AES normalt brugt i cipher block chaining-tilstand (CBC), hvor hver blok klartekst XOR'es med den forrige blok chiffertekst, før den krypteres. Når det bruges i CBC-tilstand, kræves en HMAC(nyt vindue)-hashalgoritme som HMAC-SHA256 for at verificere dataene.

Det bliver dog stadig mere almindeligt, at AES bruges i Galois/counter-tilstand (GCM), som bruger counter-tilstanden(nyt vindue) for kryptering. Den største fordel er, at den bruger Galois-feltet(nyt vindue) til at verificere data uden behov for en ekstern algoritme. Den er derfor mere effektiv end at bruge en separat godkendelsesalgoritme, som kan have en høj beregningsmæssig overhead.

Selv om AES-CBC med HMAC-godkendelse generelt anses for sikker, er CBC potentielt sårbar over for padding-angreb(nyt vindue), såsom POODLE(nyt vindue). Det er GCM ikke.

Hardwareaccelereret AES

De fleste moderne CPU'er inkluderer Advanced Encryption Standard New Instructions (AES-NI(nyt vindue)), et sæt hardwareinstruktioner, der udfører AES-operationer direkte på processoren. Dette gør AES meget hurtigere og hjælper også med at forhindre timing-baserede sidekanalangreb, fordi operationerne sker inde i processorens sikre eksekveringsenheder, så der er færre observerbare timingvariationer, som en angriber kan udnytte.

Proton og AES

Vi gør udstrakt brug af AES til at sikre Proton-produkter:

Begivenheder og kontakter sikres ved hjælp af AES-256 kombineret med ECC til nøgleudveksling for at sikre Deres privatliv via end-to-end kryptering.

Proton VPN fokuserer primært på den hurtige og effektive WireGuard® VPN-protokol (som bruger ChaCha20), men OpenVPN-forbindelser bruger AES-256.

Proton Pass gemmer adgangskoder, noter, identiteter og andre elementer i Deres sikre boks ved hjælp af AES-256.

Proton Drive kryptér alle uploadede filer end-to-end med AES-256 ved hjælp af ECC til nøgleudveksling. Proton Docs og Proton Sheets bruger også AES-256 med ECC-baseret nøgleudveksling, selv om deres krypteringsimplementering adskiller sig fra Proton Drives generelle filkrypteringsordning.

Proton Mail gemmer e-mails og vedhæftninger ved hjælp af AES-256 via OpenPGP-standarden. Selv Deres privat nøgle, som låser Deres e-mails op, er krypteret med AES-256, før den lagres på serveren.

Proton Meet bruger Messaging Layer Security (MLS) til at kryptér lyd, video og chatbeskeder og sikrer forward secrecy (PFS) og post-compromise security (PCS) for al kommunikation. Alle mødedata er end-to-end krypteret ved hjælp af AES-256-GCM.

Begrænsning af AES-krypteringsangreb

Sikkerhed er kun så stærk som det svageste led, som normalt er Deres adgangskode. Det betyder, at social engineering-svindelnumre, phishing-angreb og keyloggere(nyt vindue) også er en trussel mod AES-krypterede data. Så selv når AES bruges, bør De tage følgende forholdsregler:

Proton

Tag kontrollen over dine data

Proton blev bygget til at beskytte dine data helt fra begyndelsen. Med end-to-end kryptering, open source-apps og uafhængige revisioner forbliver dine oplysninger dine.

Ofte stillede spørgsmål om AES-kryptering

Hvad er bedst: AES vs. DES?
Hvad er bedst: AES vs. RSA?
Hvor stærk er AES-sikkerhed?

Få mere at vide om kryptering