Lektion 1 av 4 · 9 min
Symmetrisk kryptering, asymmetrisk kryptering, och hashning
Tre olika kryptografiska verktyg garanterar tre olika saker. Att blanda ihop dem är den vanligaste källan till falsk trygghet.
Folk säger ofta ”det är krypterat” som om det avgör en säkerhetsfråga. Det gör det inte, eftersom kryptering inte är en enda sak. Den här lektionen täcker de tre byggstenarna bakom nästan alla påståenden om digitalt skydd: symmetrisk kryptering, asymmetrisk kryptering, och hashning. Var och en garanterar något annorlunda, och att veta vilken som är i spel talar om vad som faktiskt skyddas.
Symmetrisk kryptering: en delad nyckel
Cloudflares Learning Center beskriver symmetrisk kryptering enkelt: ”det finns bara en nyckel, och alla kommunicerande parter använder samma (hemliga) nyckel för både kryptering och dekryptering.” Advanced Encryption Standard (AES) är standardexemplet idag, efter att ha ersatt den äldre Data Encryption Standard (DES) sedan DES korta nyckellängd gjorde den knäckbar genom brute force. Symmetrisk kryptering är snabb och är det som faktiskt krypterar merparten av din data, oavsett om det är en fil på disk eller innehållet i en webbsida laddad över HTTPS. Dess centrala problem är distribution: båda sidor behöver samma hemliga nyckel, och att få den nyckeln till den andra parten utan att någon annan ser den är precis det problem asymmetrisk kryptering löser.
Asymmetrisk kryptering: två nycklar som fungerar som ett par
I asymmetrisk, eller publik-nyckel, kryptering finns två matematiskt kopplade nycklar: ”en nyckel används för kryptering, och en annan nyckel används för dekryptering,” enligt Cloudflare. Krypteringsnyckeln kan publiceras till vem som helst — därav ”publik nyckel” — medan den matchande dekrypteringsnyckeln förblir privat. Data låst med den publika nyckeln kan bara låsas upp med den privata nyckeln. Detta är vad som låter två personer som aldrig träffats komma överens om en delad hemlighet över ett öppet nätverk, vilket är precis vad som händer i början av varje HTTPS-anslutning (nästa lektion täcker den handskakningen i detalj). RSA och elliptisk kurv-kryptografi är de vanliga algoritmerna bakom det idag.
Hashning: ett fingeravtryck, inte ett lås
En hashfunktion är ingetdera av ovanstående: den låser ingenting, och det finns ingen nyckel att låsa upp den med. NIST definierar den som en funktion som ”mappar en bitsträng av godtycklig längd till en bitsträng med fast längd” — i klarspråk, den gör om vilken fil eller vilket meddelande som helst till ett kort fingeravtryck med fast storlek. NIST specificerar egenskaperna en godkänd hashfunktion måste ha: det måste vara beräkningsmässigt omöjligt att hitta en indata som ger en given utdata (envägs), och omöjligt att hitta två olika indata som ger samma utdata (kollisionsresistens). Det är därför hashning kontrollerar integritet — ändrades den här filen? — och skyddar sparade lösenord: en tjänst kan kontrollera ett lösenord mot sin sparade hash utan att någonsin ha lagrat det faktiska lösenordet. Äldre hashfunktioner som MD5 och SHA-1 anses inte längre säkra mot en målmedveten angripare, vilket är varför moderna system använder SHA-2- eller SHA-3-familjerna istället.
Vad var och en faktiskt garanterar
| Verktyg | Vad det garanterar | Vad det inte garanterar |
|---|---|---|
| Symmetrisk kryptering | Konfidentialitet, om den delade nyckeln förblir hemlig | Ett säkert sätt att utbyta den nyckeln från början |
| Asymmetrisk kryptering | Ett sätt att utbyta en hemlighet, och att verifiera identitet (se nästa lektion om signaturer) | Hastighet; den är betydligt långsammare än symmetrisk kryptering för stora datamängder |
| Hashning | Integritet: bevis på att data inte ändrats, och ett sätt att kontrollera hemligheter utan att lagra dem | Konfidentialitet; en hash är inte designad att kunna reverseras, men den är inte heller designad för att dölja storleken eller förekomsten av data |
Hur de kombineras i praktiken
Nästan inget använder bara en av dessa. En typisk säker anslutning använder asymmetrisk kryptering kortvarigt, för att komma överens om en delad hemlighet, och växlar sedan till snabb symmetrisk kryptering för själva datan, medan hashning körs hela tiden för att säkerställa att inget som skickats ändrats på vägen. Att känna igen dessa tre roller är det som gör resten av den här kursen — signaturer, certifikat, TLS, och totalsträckskryptering — begriplig som kombinationer av samma lilla uppsättning verktyg snarare än separat magi.
Viktigt att minnas
- Symmetrisk kryptering använder en delad nyckel för både kryptering och dekryptering; den är snabb men kräver ett sätt att dela nyckeln säkert.
- Asymmetrisk kryptering använder en publik nyckel och en privat nyckel som ett par, och löser det nyckeldistributionsproblem symmetrisk kryptering har.
- Hashning ger ett fingeravtryck med fast storlek av data; den skyddar integritet och sparade hemligheter, inte konfidentialitet — det finns ingen nyckel för att låsa upp en hash.
- Riktiga system kombinerar alla tre: asymmetrisk kryptering för att komma överens om en hemlighet, symmetrisk kryptering för hastighet, hashning för att fånga manipulation.
- Äldre algoritmer (DES, MD5, SHA-1) har kända svagheter; AES och SHA-2/SHA-3-familjerna är dagens standarder.
Testa dig själv
1. Vad är den avgörande egenskapen hos symmetrisk kryptering?
- Den använder en publik nyckel och en privat nyckel
- Den använder en delad hemlig nyckel för både kryptering och dekryptering — Rätt.
- Den kan inte användas för stora datamängder
- Den kräver aldrig någon nyckel alls
Symmetrisk kryptering förlitar sig på en enda delad nyckel som båda parter redan har; utmaningen är att distribuera den nyckeln säkert.
2. Vilket problem löser asymmetrisk kryptering som symmetrisk kryptering inte kan lösa på egen hand?
- Att göra kryptering snabbare
- Att låta två parter komma överens om en delad hemlighet utan att träffas först — Rätt.
- Att göra lösenord lättare att komma ihåg
- Att förhindra att data någonsin raderas
Publik-nyckel-kryptografi låter en publik nyckel delas öppet medan bara den matchande privata nyckeln kan dekryptera, vilket möjliggör säkert nyckelutbyte över ett öppet nätverk.
3. Varför kan en hashfunktion inte användas för att hålla ett meddelande hemligt?
- Hashar är alltid för korta för att innehålla ett meddelande
- En hash är envägs till sin design; det finns ingen nyckel för att reversera den tillbaka till originaldatan — Rätt.
- Hashfunktioner är olagliga att använda för kryptering
- Hashar fungerar bara på bilder, inte text
Hashfunktioner är byggda så att det är beräkningsmässigt omöjligt att återskapa den ursprungliga indatan från utdatan — den egenskapen (envägs) gör dem användbara för integritetskontroller och lösenordslagring, inte för konfidentialitet.
4. Vilket par algoritmer anses föråldrade på grund av kända svagheter?
- AES och RSA
- DES och MD5 — Rätt.
- SHA-2 och elliptisk kurv-kryptografi
- TLS och HTTPS
DES korta nyckellängd och MD5:s kollisionssvagheter innebär att moderna system använder AES och SHA-2/SHA-3-familjerna istället.
Testa det med FireAI
Omsätt den här lektionen i praktiken på din egen Mac.
- Djup granskning, utan att dekryptera något — Få riktiga detaljer om en säker anslutning utan att FireAI någonsin läser vad som finns inuti den.
- Vad som stannar på din Mac, och de enda gångerna FireAI går online själv — Läs hela listan över vad FireAI skickar, istället för att ta en brandväggs ord för det.
Källor
- Cloudflare Learning Center: What is encryption?
- NIST Computer Security Resource Center Glossary: hash function
Omsätt det på din Mac
Prova alla funktioner gratis i 17 dagar, inget kort behövs.