Know-how / Kryptering

Hur fungerar krypteringsalgoritmen Rijndael?

Även känd under förkortningen AES

Att överföra strikt konfidentiell information på ett säkert sätt utan att obehöriga får åtkomst har alltid varit en utmaning. Tidiga ”hemliga språk” – som enkla bokstavsförskjutningar – är triviala att knäcka med modern datorkraft. I dag skyddar vi data med kryptografiska metoder, som är matematiskt exakt definierade och vars säkerhet har granskats offentligt.

Sådana metoder använder en nyckel, som bara avsändare och mottagare känner till. Kryptering och dekryptering följer då en krypteringsalgoritm – en tydligt beskriven matematisk metod.

Password Depot krypterar era konfidentiella data med algoritmen Rijndael, som är standardiserad som AES (Advanced Encryption Standard).

Nedan förklarar vi algoritmen och sätter in den i sitt tekniska sammanhang.

Advanced Encryption Standard (AES) – den standardiserade varianten av Rijndael

Det amerikanska National Bureau of Standards (i dag NIST) standardiserade 1977 DES; denna standard drogs tillbaka 2005 drogs tillbaka, eftersom den inte längre var tillräckligt säker (NIST-meddelande). Som efterföljare valde NIST 2001 Rijndael och standardiserade det som Advanced Encryption Standard (AES) (FIPS 197).

Viktigt: AES är en delmängd av Rijndael-familjen. AES fastställer blockstorleken till 128 bit och tillåter nycklar på 128, 192 eller 256 bit (NIST-information, FIPS 197 (PDF)).

AES är godkänt för att skydda information från amerikanska myndigheter upp till nivån TOP SECRET (se CNSSP-15 Fact Sheet samt NSA:s aktuella CNSA-2.0-FAQ).

Så fungerar Rijndael/AES (kort översikt)

Rijndael är ett substitutions-permutationsnätverk-chiffer. Kärnidierna är substitutioner på bytenivå, linjära transformationer och XOR-operationer.

Förlopp på blocknivå (128-bitars ”state”)

  • Nyckelexpansion (Key Schedule): Från nyckeln härleds Nr + 1 rundnycklar (t.ex. 11 vid AES-128, 13 vid AES-192, 15 vid AES-256). Källa: FIPS 197.
  • Initial runda: AddRoundKey – klartextblocket (som en 4×4-byte-matris) kombineras med den första rundnyckeln via XOR.
  • Rundor 1 … Nr:
    • SubBytes: Varje byte ersätts via en S-Box (multiplikativ invers i GF(28) plus affin transformation med konstant 0x63). Källa: FIPS 197.
    • ShiftRows: raderna i tillståndsmatrisen förskjuts cykliskt.
    • MixColumns: kolumner blandas genom matrismultiplikation över GF(28).
    • AddRoundKey: XOR med respektive omgångsnyckel.

Obs: I den sista omgången utgår MixColumns. Antalet omgångar är 10/12/14 för nycklar med 128/192/256 bit (FIPS 197).

AES kan implementeras i programvara, firmware eller hårdvara (FIPS 197). För praktisk användning används Driftlägen används, t.ex. CBC, CTR eller GCM (autentiserad kryptering). Rekommendationer finns i NIST SP 800–38A och NIST SP 800–38D (GCM/GMAC).

Viktigt för att sätta detta i sitt sammanhang: AES är en symmetrisk chiffermetod för datakryptering. Nyckelutbyte sker vanligtvis med asymmetriska metoder ((EC)DH/RSA). AES kan dock säkert inkapsla nycklar (”Key Wrap”) – jfr NIST SP 800–38F.

Officiell specifikation

Referensen finns här: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf

Brute force-attacker

Brute force innebär att en angripare alla möjliga nycklar prövar. Klassiska metoder som DES med endast 56-bitarsnycklar kan därmed i praktiken knäckas i dag – därför drog NIST officiellt tillbaka DES 2005officiellt tillbaka (NIST).

Moderna metoder som AES med nycklar på 128/192/256 bitar har däremot ett astronomiskt stort nyckelutrymme. I praktiken är det mindre algoritmen än nyckelhärledningen från lösenord och kvaliteten på huvudlösenordet.

Password Depot försvårar dessutom brute-force-attacker genom en fördröjningsfunktion: efter en felaktig inmatning av huvudlösenordet förblir programmet låst i några sekunder.

Slutsats: Vid korrekt implementering, lämpliga driftlägen (t.ex. GCM) och tillräcklig nyckellängd anses AES enligt dagens bedömning vara mycket säkert på lång sikt.

Mer om brute-force-attacker.

Förstå Brute‑Force‑attacker

Ta reda på varför lösenordslängden är avgörande och hur du skyddar dig.

Mer om Brute‑Force‑attacker