Hoppa till innehållet
Hem

Symmetrisk kryptering – vad det är och hur det fungerar

Symmetrisk kryptering – hur delade nycklar, stream- och blockchiffer (AES, Twofish) fungerar, fördelar, prestanda och säkerhetsrisker för snabb och effektiv dataskydd.

Symmetriska nyckelalgoritmer är en metod inom kryptografi. Det innebär att nycklarna för dekryptering och kryptering är exakt samma delade hemlighet. Denna hemlighet kan skapas slumpmässigt, härledas från ett lösenord, eller etableras genom ett hemligt nyckelutbytesförfarande som Diffie-Hellman. För att vara säker måste nyckeln hållas hemlig för alla obehöriga parter.

Bildgalleri

1 Bild

Varför används symmetrisk kryptering?

Algoritmer med symmetriska nycklar är viktiga eftersom de generellt är mycket snabbare än algoritmer för kryptografi med offentlig nyckel (asymmetrisk kryptografi). I asymmetrisk kryptografi kan krypteringsnyckeln göras offentlig så att vem som helst kan skicka ett sekretessbelagt meddelande, eftersom den öppna nyckeln inte i praktiken kan användas för att härleda dekrypteringsnyckeln. Men asymmetriska algoritmer är långsamma, så de används ofta bara för att säkert överföra en kort, symmetrisk sessionnyckel. Därefter används symmetrisk kryptering för att skydda själva kommunikationen eftersom den ger bättre prestanda vid stora datamängder.

Typer av symmetriska algoritmer

Det finns två huvudtyper av symmetriska chiffer: stream ciphers och block ciphers. Streamciphers krypterar data som en ström av bitar eller bytes, en i taget, vilket gör dem lämpliga för strömmande data. Blockchiffer tar fasta block av bitar (t.ex. 64 eller 128 bitar) och krypterar varje block som en enhet. Tidigare användes ofta 64-bitarsblock, men moderna chiffrer som Advanced Encryption Standard (AES) använder 128-bitarsblock för bättre säkerhet och prestanda.

Driftslägen (modes of operation)

Blockchiffer används nästan alltid i något driftsläge som definierar hur blocken kedjas ihop och hur slumphjälp (IV eller nonce) används. Vanliga driftslägen är CBC (Cipher Block Chaining), CTR (Counter), GCM (Galois/Counter Mode) och OFB/CFB. Valet av läge påverkar både säkerhet och flexibilitet:

  • CBC kräver en slumpmässig IV och är sårbart för vissa paddingrelaterade attacker om inte autentisering används.
  • CTR och GCM är strömlinjeformade lägen som förvandlar ett blockchiffer till en ström och möjliggör parallellisering. GCM ger dessutom inbyggd autentisering (AEAD).
  • Alltid använd lämplig IV/nonce och se till att icke återanvända nonce-värden med samma nyckel, särskilt i CTR/ GCM-lägen.

Populära symmetriska chiffer

Exempel på populära symmetriska cyphers är Twofish, Serpent, AES (även kallad Rijndael), Blowfish, CAST5, RC4, TDES och IDEA. I moderna system rekommenderas ofta AES (i lägen som GCM eller CBC med separat autentiseringssteg) eller moderna Authenticated Encryption-algoritmer som ChaCha20-Poly1305 (utan länkade i texten).

Säkerhetsaspekter och attacker

Symmetriska system kan fortfarande vara sårbara för olika typer av attacker om de implementeras eller används felaktigt. Historiskt har vissa kryptoanalysmetoder utnyttjat symmetri, vilket gjorde tidiga system mindre säkra. Vanliga attacker inkluderar "known-plaintext"-attacker, "chosen plaintext"-attacker, differentialkryptoanalys och linjär kryptoanalys. Andra praktiska problem är:

  • Återanvändning av nycklar eller noncer som kan leda till att hela trafiken avslöjas.
  • Padding-orakelattacker mot CBC-läge om felmeddelanden läcks.
  • Dålig nyckelhantering — om nyckeln komprometteras förloras all konfidentialitet.

Nyckelhantering och best practices

Några rekommenderade riktlinjer för säker användning av symmetrisk kryptering:

Användningsområden

Symmetrisk kryptering används i många praktiska tillämpningar där prestanda och effektivitet är viktiga, exempelvis:

  • Transportlagersäkerhet (TLS) där asymmetrisk kryptografi används för att byta sessionnyckel och symmetrisk kryptering skyddar själva datatrafiken.
  • Disk- och filkryptering (t.ex. full-disk encryption) för att skydda data i vila.
  • VPN-tunnlar och krypterade lagringslösningar.
  • Säkra meddelandeapplikationer och autentiserade protokoll.

Sammanfattningsvis är symmetrisk kryptering en effektiv och central del av modern kryptografi: snabb för stora datamängder, men beroende av säker nyckelhantering, korrekt användning av driftslägen och skydd mot praktiska implementeringsfel för att uppnå god säkerhet.

Andra termer för kryptering med symmetrisk nyckel är kryptering med hemlig nyckel, enkel nyckel, delad nyckel, en nyckel och slutligen kryptering med privat nyckel. Den sista termen har inte samma betydelse som termen privat nyckel har i kryptering med offentlig nyckel.

Symmetriska respektive asymmetriska algoritmer

Till skillnad från symmetriska algoritmer använder asymmetriska nyckelalgoritmer en annan nyckel för kryptering än för dekryptering. Det innebär att en användare som känner till krypteringsnyckeln för en asymmetrisk algoritm kan kryptera meddelanden, men kan inte beräkna dekrypteringsnyckeln och kan inte dekryptera meddelanden som krypterats med den nyckeln. Nedan följer en kort jämförelse av dessa två typer av algoritmer:

Hastighet

Algoritmer med symmetriska nycklar är i allmänhet mycket mindre beräkningskrävande än algoritmer med asymmetriska nycklar. I praktiken är asymmetriska nyckelalgoritmer vanligtvis hundratals till tusentals gånger långsammare än symmetriska nyckelalgoritmer.

Nyckelhantering

En nackdel med symmetriska nyckelalgoritmer är kravet på en delad hemlig nyckel, där båda parter har samma kopia i varje ände. För att garantera säker kommunikation mellan alla i en grupp på n personer behövs totalt n(n - 1)/2 nycklar, vilket är det totala antalet möjliga kommunikationskanaler. För att begränsa effekterna av en eventuell upptäckt av en kryptografisk angripare bör nycklarna bytas ut regelbundet och förvaras säkert under distributionen och i drift. Processen med att välja, distribuera och lagra nycklar kallas nyckelhantering och är svår att genomföra på ett tillförlitligt och säkert sätt.

Hybridkryptosystem

I moderna kryptosystem används både asymmetriska (offentliga nycklar) och symmetriska algoritmer för att dra nytta av det bästa av båda. Asymmetriska algoritmer används för att distribuera symmetriska nycklar i början av en session. När en symmetrisk nyckel är känd av alla parter i sessionen kan snabbare symmetriska nyckelalgoritmer som använder den nyckeln användas för att kryptera resten av sessionen. Detta förenklar problemet med nyckeldistribution, eftersom asymmetriska nycklar endast behöver distribueras autentiskt, medan symmetriska nycklar måste distribueras både autentiskt och konfidentiellt.

System som använder en sådan hybridmetod är SSL, PGP och GPG osv.

Relaterade sidor

  • Asymmetriska nyckelalgoritmer

Frågor och svar

F: Vad är symmetriska nyckelalgoritmer?

S: Symmetriska nyckelalgoritmer är en metod inom kryptografi där nycklarna för dekryptering och kryptering är exakt samma delade hemlighet.

F: Hur kan man generera hemligheten?

S: Hemligheten kan genereras slumpmässigt, eller från ett lösenord, eller genom ett hemligt nyckelutbytesförfarande som Diffie-Hellman.

F: Varför är symmetriska nyckelalgoritmer viktiga?

S: Symmetriska nyckelalgoritmer är mycket viktiga eftersom de är snabbare på datorer än algoritmer med offentliga nycklar.

F: Vad är kryptografi med offentliga nycklar (kryptografi med asymmetriska nycklar)?

S: I kryptografi med offentlig nyckel (asymmetrisk nyckelkryptografi) kan nyckeln för kryptering utan problem ges till allmänheten, och alla kan skicka hemliga meddelanden till dig. Nyckeln för kryptering är "öppen" eftersom den i praktiken inte kan användas för att få fram nyckeln för dekryptering.

F: Vilka är de två typerna av symmetriska chiffer?

S: Två typer av symmetriska chiffer är strömchiffer och blockchiffer. Stream ciphers krypterar ett meddelande som en ström av bitar en i taget medan block ciphers tar block av bitar, krypterar dem som en enda enhet och använder ibland svaret senare också.

F: Vilken storlek på block använder moderna chiffrer?

S: Moderna chiffer som Advanced Encryption Standard använder 128-bitars block.

F: Vilka typer av attacker har använts för att utnyttja symmetri i historien?

S: I historien har vissa kryptoanalysmetoder utnyttjat symmetri så att symmetriska system var mindre säkra. Några attacker som har använts är attacker med känd klartext, attacker med vald klartext, differentiell kryptoanalys och linjär kryptoanalys.

Relaterade artiklar

Författare

AlegsaOnline.com Symmetrisk kryptering – vad det är och hur det fungerar

URL: https://sv.alegsaonline.com/art/95629

Dela