i den här artikeln, den andra i en 3-delsserie om symmetrisk nyckelkrypteringsteknik, tittar vi på utvecklingen av symmetriska nyckelkrypteringsalgoritmer och utbudet av algoritmer som finns tillgängliga idag tillsammans med deras styrkor och svagheter, liksom vikten av krypto-agility.,

DES-algoritmen familj

Den ursprungliga DES (Data Encryption Standard) block chiffer algoritm, även kallad DEA (Data Encryption Algorithm), utvecklades av IBM i början av 1970-talet och publicerade (med små förändringar) som en standard av den AMERIKANSKA Regeringen 1977, har snabbt blivit en de-facto internationell standard.

men med en nyckellängd på endast 56 bitar (plus 8 paritetsbitar) blev det klart på 1990-talet att det inte längre var tillräckligt säkert mot brute-forcing av nyckeln med moderna datorer, som växte i kraft enligt Moores lag., Därmed Trippel-DES(aka TDES, TDEA eller 3DES) infördes år 1998, med hjälp av en bunt av 3 nycklar, vilket ger en nominell styrka på 168 bitar, men till priset av att det går långsamt. Alternativt kan nyckellängden minskas till 112 bitar genom att göra två av tangenterna samma-det kallas ibland 2DES eller 2tdea; det här är dock inte snabbare och en 112-bitars nyckel anses inte längre vara säker.

Triple-DES används fortfarande i stor utsträckning idag, särskilt inom finansbranschen, även om många applikationer hoppade över Triple-DES på grund av dess dåliga prestanda och gick direkt från DES till AES istället., Men även om en 168 – bitars nyckel fortfarande anses vara stark, rekommenderas den inte längre för nya applikationer eftersom den använder en liten blockstorlek (64 bitar). Detta gör det mottagligt för vad som kallas ”Sweet 32” attack, vilket innebär att nyckeln kan brytas om mer än 232 block av data krypteras utan att ändra nyckeln. Med tanke på den stora mängden data som lagras eller överförs av moderna system innebär detta att man måste ändra nyckeln ofta, vilket är opraktiskt.,

RC algoritm familj

De första medlemmarna av RC algoritm familj, RC2 och RC4 (aka ARC4 eller ARCFOUR), var designad av Ron Rivest (RSA fame) 1987. RC2 är en 64-bitars blockchiffer som stöder en nyckellängd på upp till 128 bitar, även om den ursprungligen endast godkändes för USA-export med en 40-bitars nyckel. RC4 är en strömchiffer som har använts i stor utsträckning (t.ex. i SSL/TLS-protokollet och tidiga Wi-Fi-säkerhetsstandarder). Varken RC2 eller RC4 anses dock säkra idag.,

RC5 är ett blockchiffer med en variabel blockstorlek (32, 64 eller 128 bitar), variabel nyckellängd (upp till 2 040 bitar) och variabelt antal rundor (upp till 255). Detta möjliggör en avvägning mellan prestanda och säkerhet, och det anses fortfarande säkert när det används med lämpliga parametrar. Det ändrades senare för att producera RC6 med en fast blockstorlek på 128 bitar som tävlande för Advanced Encryption Standard – Se nedan. RC5 och RC6 används emellertid inte i stor utsträckning eftersom de är patenterade.,

Rijndael algoritm familj (AES)

En delmängd av Rijndael algoritm familj block chiffer valdes AES (Advanced Encryption Standard) i 2001 för att ersätta DES, efter en tävling som drivs av US National Institute of Standards and Technology (NIST). Det är nu allmänt känt som AES-algoritmen, med en blockstorlek på 128 bitar och tre nyckellängdsalternativ: 128, 192 eller 256 bitar. Antalet rundor varierar med nyckellängd.,

AES är den symmetriska algoritmen-of-choice för de flesta applikationer idag och används mycket ofta, mestadels med 128 eller 256-bitars nycklar, med den senare nyckellängden anses även stark nog för att skydda militära topphemliga data. Observera att, förutsatt att det inte finns några kända svagheter i en algoritm, kommer en enda 128-bitars nyckel att ta miljarder år att brute force med hjälp av någon klassisk datateknik idag eller inom överskådlig framtid (men se quantum computing nedan).,

andra symmetriska algoritmer

många andra blockchiffer har utvecklats under åren, till exempel Blowfish, IDEA och CAST-128 (aka CAST5). De flesta äldre algoritmer begränsas dock av blockstorlek och/eller nyckellängdsbegränsningar samt (i vissa fall) säkerhetsproblem och/eller patentrestriktioner och har därmed haft relativt liten framgång utanför en eller två specifika ansökningar.

ett antal blockchiffer utvecklades för att delta i AES-tävlingen, såsom Twofish, Serpent, MARS och CAST-256., Många av dessa är fortfarande mycket bra, även om Rijndael så småningom valdes baserat på en kombination av säkerhet, prestanda och andra faktorer, så dessa används sällan.

det finns också många exempel på andra strömchiffer.

vissa regeringar utvecklar sina egna nationella algoritmer, oavsett om de är avsedda för militär eller kommersiell användning. Den amerikanska National Security Administration (NSA) har utvecklat många algoritmer genom åren, även om detaljerna i de flesta förblir hemliga. Andra relativt välkända exempel på nationella algoritmer inkluderar Magma (aka GOST 28147-89) och Kuznyechik (aka GOST R 34.,12-2015) i Ryssland, SM1 och SM4 i Kina och UTSÄDE i Sydkorea.

det finns för närvarande en hel del forskning om lätta algoritmer, lämplig för implementering i billiga mobila enheter och Internet-of-Things (IoT) applikationer, som vanligtvis har begränsad CPU-prestanda, begränsat minne och/eller begränsad effekt tillgänglig.

kvantberäkning

När storskalig kvantberäkning blir tillgänglig, eventuellt om cirka 10 år från och med nu, kommer den att ha stor inverkan på kryptografi. I synnerhet kommer de asymmetriska algoritmer som övervägande används idag att brytas effektivt., Lyckligtvis verkar effekten på symmetriska algoritmer vara mindre allvarlig – Grovers algoritm har effekten att halvera nyckellängden, så AES-128 har en effektiv styrka som motsvarar en 64-bitars nyckel och AES-256 reduceras till styrkan hos en 128-bitars nyckel. Det innebär att AES-256 fortfarande kan användas med säkerhet inför kvantberäkning (såvitt vi vet idag).

Crypto-agility

som vi har sett är inga algoritmer perfekta – kryptografiska attacker blir bara starkare när nya verktyg och tekniker utvecklas., Algoritmer som en gång ansågs starka är idag lätta att bryta på en hemdator. Även dagens bästa algoritmer kommer att försvagas av kvantberäkning. Nya algoritmer kommer att fortsätta att utvecklas för att förbättra säkerheten och rikta nya applikationer med specifika behov, såsom IoT.

historien har dock visat att förändrade algoritmer kan vara svårare än väntat, med gamla algoritmer som fortfarande används väl efter att de inte längre anses säkra.

du behöver bara titta på MD5, SHA1, DES, 2TDEA, RC4, RSA-1024 och så vidare för att se hur smärtsam och lång process kan vara.,

problemet är driftskompatibilitet. När hela ekosystem har byggts upp kring en viss algoritm, precis som finansbranschen har byggts upp runt DES och Triple-DES, kräver det samarbete mellan nationer, industrier, standardiseringsorgan och leverantörer under många år för att åstadkomma förändring. Hårdvara, mjukvara, protokoll alla måste uppdateras. Det finns enorma ekonomiska konsekvenser, särskilt när befintlig infrastruktur måste bytas ut.,

quantum computing hotar att skapa en stor omvälvning under de närmaste 5-10 åren, och företag som inte vill fastna på bakfoten måste börja planera nu. Alla nya applikationer ska utformas med ”crypto-agility” i åtanke – dvs möjligheten att byta algoritmer via enkla, smärtfria mjukvaruuppgraderingar. Helst bör denna process styras och hanteras centralt för att spara att behöva nå ut till varje applikation individuellt för att uppgradera den.,

i den sista artikeln i denna serie kommer vi att titta på användningen av krypteringslägen med symmetriska blockchiffer, inklusive behovet av padding och initieringsvektorer.

referenser och vidare läsning

  • 3DES är officiellt pensionerad (2018), av Jasmine Henry
  • trender i kryptografi Del 1 – algoritmer och kryptering (2018), av Rob Stubbs
  • kvantberäkning och dess inverkan på kryptografi (2018), av Rob Stubbs
  • Vad är krypto-Agility?, (2018), av Jasmine Henry
  • steg för att nå krypto agility för att bli förberedd för kvantberäkning (2019), av Terry Anton
  • uppnå smidig Kryptografihantering med Crypto Service Gateway (CSG) (2019), av Rob Stubbs
  • Vad är ett krypto-abstraktionslager? (2018), Av Chris Allen
  • vrida kryptografi till en tjänst-Del 1 (2018), av Rob Stubbs

Cover Image: ”hallway” av artighet ofKai Pilger (pexels.com, CC BY 2.0)