Vad är AES-kryptering?
AES inom kryptografi står för Advanced Encryption Standard, en snabb, effektiv och säker krypteringsalgoritm som har certifierats av US National Institute of Standards and Technology (NIST). Det är ett symmetriskt nyckelchiffer som använder samma nyckel för att både kryptera och avkryptera data. Detta går relativt snabbt, vilket gör det idealiskt för att kryptera stora mängder lagrad data.
På grund av sin styrka och tillförlitlighet är AES en av de mest populära och vanligaste typerna av kryptering som används för säkerhet i trådlösa nätverk, data- och diskkryptering, betalningssystem online, molnlagringsutrymme, lösenordshantering och till och med statliga och militära applikationer. USA:s regering använder AES-kryptering för att skydda sin sekretessbelagda information, vilket har bidragit till dess popularitet.

Är AES-algoritmen säker?
Ja. År 2000, efter en mycket grundlig(nytt fönster) och öppen urvalsprocess, meddelade NIST att AES (som fram till dess var känt som Rijndael-algoritmen, skapad av Vincent Rijmen och Joan Daemen) skulle ersätta DES som dess rekommenderade(nytt fönster) "oklassificerade, offentligt redovisade krypteringsalgoritm som kan skydda känslig statlig information långt in i nästa århundrade".
Enligt NIST anses alla nyckellängder för AES-algoritmen vara "tillräckliga" för att skydda sekretessbelagd information upp till nivån "Secret". För information på nivån "Top Secret" krävs AES-192 eller AES-256.

Brute force-attacker
Den mest grundläggande formen av attack som är möjlig mot alla krypteringschiffer är en brute force-attack, vilket innebär att man provar varje möjlig nyckelkombination tills den rätta hittas.
Frontier(nytt fönster) är världens kraftfullaste offentligt kända superdator. Om hela dess kapacitet ägnades åt att brute force-knäcka AES-128 skulle det ändå krävas i storleksordningen 10–12 biljoner år för att uttömma alla möjliga kombinationer för AES-128. Det är mycket längre än universums ålder. Så även med mindre bitstorlekar är AES mycket motståndskraftigt mot brute force-attacker från konventionella datorer.
AES-256 är 340 miljarder-miljarder-miljarder-miljarder (2¹²⁸) gånger svårare att brute force-knäcka än AES-128.
Även om Grovers algoritm(nytt fönster) teoretiskt halverar säkerheten för symmetriska nycklar mot kvantrelaterade hot(nytt fönster), är de fortfarande relativt motståndskraftiga mot kvantangrepp, särskilt vid användning av en 256-bitarsnyckel.
Nyckelattacker
Under årens lopp har kryptografer publicerat ett antal teoretiska attacker mot AES-nycklar, men alla dessa är antingen opraktiska i verkligheten eller endast effektiva mot AES-implementationer som använder ett reducerat antal rundor (se nedan).
Det mest framgångsrika försöket var den teoretiska biclique-attacken(nytt fönster) som publicerades 2011 och som kan minska tiden som krävs för att brute force-knäcka AES med en faktor fyra. Det skulle dock fortfarande kräva miljarder år att brute force-knäcka AES på någon nuvarande eller förutsebar datorhårdvara.
Ingen känd nyckelattack är praktiskt genomförbar mot korrekt implementerad AES-128 eller högre.
Sidokanalsattacker
En sidokanalsattack försöker minska antalet kombinationer som krävs för att genomföra en lyckad brute force-attack genom att leta efter ledtrådar från datorn som utför krypteringsberäkningarna. Ledtrådar kan samlas in genom att undersöka:
- Tajming – hur lång tid det tar för en dator att utföra en operation
- Elektromagnetiska läckor
- Ljudsignaler
- Visuella signaler (fångade med en högupplöst kamera).
Särskilt cache-tajmingattacker har visat sig vara ganska effektiva för att framgångsrikt knäcka AES. I det mest uppmärksammade exemplet kunde forskare 2016 återställa(nytt fönster) en AES-128-nyckel med "bara omkring 6–7 block oformaterad text eller chiffertext (teoretiskt skulle till och med ett enda block räcka)".
Det finns dock ett antal saker som kan göras för att minska hotet från sidokanalsattacker:
- Korrekt implementerad AES kan förhindra sätt som data kan läcka på.
- Hårdvara som integrerar AES-instruktionsuppsättningen minskar ytterligare AES:s attackyta för sidokanalsattacker.
- Randomiseringstekniker kan användas för att störa sambandet mellan data som skyddas av AES och eventuella data som läckt och som kan samlas in med hjälp av en sidokanalsattack.
I många fall kräver sidokanalsattacker att angriparen befinner sig i närheten av enheten eller får fysisk åtkomst till den medan den avkrypterar data, även om fjärrattacker är möjliga om skadlig mjukvara installeras på en enhet, särskilt vid tajmingattacker.
Så fungerar AES
AES är ett blockchiffer som krypterar och avkrypterar data i block om 128 bitar med hjälp av nycklar på 128, 192 eller 256 bitar. Som nämnts tidigare används samma nyckel för att kryptera och avkryptera data. AES med en 128-bitarsnyckel kallas ofta AES-128, och på motsvarande sätt gäller det för AES-192 och AES-256.

Data krypteras med flera rundor, där var och en består av en serie matematiska operationer.
Processen börjar med att Rijndaels nyckelschemaalgoritm används för att härleda en serie nya rundnycklar från den ursprungliga hemliga nyckeln. Detta kallas nyckelexpansion.
Varje runda består sedan av en eller flera (eller en kombination) av följande operationer:
1. Add RoundKey: En XOR-operation(nytt fönster) utförs för att kombinera de data som ska krypteras (chiffertexten) med varje rundnyckel.

2. Sub Bytes: En substitutionstabell används för att blanda data ytterligare. Tänk i princip på de enkla substitutionschiffer du använde som barn där du ersatte varje bokstav i ett meddelande med en som låg ett visst antal steg senare i alfabetet.

3. Shift Rows: Varje 128-bitars datablock består av ett 16-bitars 4x4-block. Denna operation förskjuter varje byte i en blockrad åt vänster med en viss förskjutning.

4. MixColumns: En ytterligare inverterbar linjär transformation utförs på varje kolumn i blocket.

Denna serie transformationer utgör en runda, som sedan upprepas på data under ett visst antal rundor beroende på nyckelstorlek:
- AES-128 — 10 rundor
- AES-192 — 12 rundor
- AES 256 — 14 rundor
För att avkryptera data utförs alla steg som användes för att kryptera dem helt enkelt i omvänd ordning. Detta kräver den ursprungliga hemliga nyckeln för att vända processen med hjälp av varje omvänd rundnyckel.
Varför föredras AES-256 framför AES-192 eller AES-128?
Det skulle ta längre tid än universums ålder att brute force-knäcka AES-128 med dagens och förutsebar teknik. Den legendariske kryptografen Bruce Schneier har till och med hävdat(nytt fönster) att AES-128 kan vara starkare än AES-256 tack vare att det har ett starkare nyckelschema – algoritmen som beräknar alla rundnycklar från den ursprungliga hemliga nyckeln.
Ändå har AES-256 blivit den faktiska guldstandarden för symmetrisk nyckelkryptering. Det ses ofta (om än något kontroversiellt) som det starkare valet eftersom dess större nyckelstorlek signalerar en extra säkerhetsmarginal så att krypterad data förblir säker även om man hittar något sätt att dramatiskt försvaga algoritmen. Detta argument har blivit starkare i takt med att behovet av motståndskraft efter kvantdatorer blivit mer angeläget.
AES-CBC jämfört med AES-GCM
Fram till ganska nyligen användes AES vanligtvis i läget cipher block chaining (CBC), där varje block oformaterad text XOR:as med föregående chiffertextblock innan det krypteras. När det används i CBC-läge krävs en HMAC(nytt fönster)-hashalgoritm som HMAC-SHA256 för att verifiera data.
Det blir dock allt vanligare att AES används i Galois/counter-läge (GCM), som använder räknarläget(nytt fönster) för kryptering. Den största fördelen är att det använder Galois-fältet(nytt fönster) för att verifiera data utan behov av en extern algoritm. Det är därför mer effektivt än att använda en separat autentiseringsalgoritm som kan medföra en hög beräkningskostnad.
Även om AES-CBC med HMAC-autentisering generellt anses säkert, är CBC potentiellt sårbart för paddingattacker(nytt fönster), till exempel POODLE(nytt fönster). Det är inte GCM.
Hårdvaruaccelererad AES
De flesta moderna CPU:er innehåller Advanced Encryption Standard New Instructions (AES-NI(nytt fönster)), en uppsättning hårdvaruinstruktioner som utför AES-operationer direkt på processorn. Detta gör AES mycket snabbare och hjälper också till att förhindra tajmingbaserade sidokanalsattacker eftersom operationerna sker inuti processorns säkra exekveringsenheter, så att det finns färre observerbara variationer i tajming som en angripare kan utnyttja.
Proton och AES
Vi använder AES i stor utsträckning för att skydda Proton-produkter:
Händelser och kontakter skyddas med AES-256 i kombination med ECC för nyckelutbytet för att säkerställa din integritet via end-to-end-kryptering.
Proton VPN fokuserar främst på det snabba och effektiva VPN-protokollet WireGuard® (som använder ChaCha20), men OpenVPN-anslutningar använder AES-256.
Proton Pass lagrar lösenord, anteckningar, identiteter och andra objekt i ditt säkra valv med AES-256.
Proton Drive krypterar alla uppladdade filer end to end med AES-256 och använder ECC för nyckelutbyte. Proton Docs och Proton Sheets använder också AES-256 med ECC-baserat nyckelutbyte, även om deras krypteringsimplementation skiljer sig från Proton Drives allmänna filkrypteringssystem.
Proton Mail lagrar e-post och bilagor med AES-256 via OpenPGP-standarden. Även din privata nyckel, som låser upp din e-post, är krypterad med AES-256 innan den lagras på servern.
Proton Meet använder Messaging Layer Security (MLS) för att kryptera ljud, video och chattmeddelanden, vilket säkerställer framåtsekretess (PFS) och säkerhet efter kompromettering (PCS) för all kommunikation. Alla mötesdata är end-to-end-krypterade med AES-256-GCM.
Minska attacker mot AES-kryptering
Säkerheten är bara så stark som sin svagaste länk, vilket vanligtvis är ditt lösenord. Det innebär att social engineering-bedrägerier, nätfiskeattacker och keyloggers(nytt fönster) också utgör ett hot mot data som krypterats med AES. Så även när AES används bör du vidta följande försiktighetsåtgärder:
- Använd en krypterad lösenordshanterare
- Använd säkerhetsnycklar i hårdvara (som YubiKey) för ett extra skyddslager
- Om du är en del av en organisation, genomför regelbunden säkerhetsutbildning för personalen för att förebygga nätfiskeattacker
Ta kontroll över dina data
Proton byggdes för att skydda dina data från början. Med end-to-end-kryptering, appar med öppen källkod och oberoende granskningar förblir din information din.
Vanliga frågor om AES-kryptering
- Vilket är bättre: AES eller DES?
- Vilket är bättre: AES eller RSA?
- Hur stark är säkerheten i AES?


