akademin körs anonymt — inget sparas
skapa kontonummer →
Akademin / Nivå VI · Fundament / Lektion 30
lektion 30 · fundament

Vad hänglåset betyder.

Det lilla låset i adressfältet är resultatet av en 200 millisekunder lång dans mellan din webbläsare och servern, varje gång du laddar en HTTPS-sida. Det är denna dans som gör allt vi pratat om i fundamentet omöjligt att avlyssna.

Välj spår Hur tekniskt vill du ha det?

HTTP själv är klartext. Vem som helst på café-WiFi:t kunde läsa dina lösenord, cookies, hela sidor — om det inte vore för TLS. Det är lagret under HTTP som krypterar allt. Hänglåset i adressfältet är beviset på att det fungerar.

01HTTP + S = TLS

HTTPS är HTTP som körs ovanpå en krypterad tunnel. Tunneln heter TLS (Transport Layer Security). Innan ett enda HTTP-request kan skickas måste din browser och servern göra ett handshake — en kort dialog där de:

Hela dansen tar ungefär 200 millisekunder. Du märker den aldrig.

02Vad certifikatet bevisar

När din browser ansluter till säkerkoll.se skickar servern ett dokument — ett certifikat — som säger:

"Jag är säkerkoll.se. Signerat: Let's Encrypt."

Let's Encrypt är en certifikat-myndighet. Browsern litar på den, för att Let's Encrypt har bevisat sin trovärdighet. När browsern ser signaturen vet den: en pålitlig instans har bekräftat att den här servern verkligen är säkerkoll.se.

Utan certifikat — eller med ett certifikat browsern inte litar på — får du varningen "Anslutningen är inte privat". Det är inte krångligt. Det är browsern som vägrar prata med någon som inte kan bevisa vem den är.

03Hela handshaken på fyra steg

Tryck på "starta handshake" för att se hur det går till:

TLS-handshake mot säkerkoll.se
Tid i verkligheten: ~200 ms Antal nätverks-rundor: 2 (TLS 1.3)

04Varför det skyddar dig

Allt vi pratat om i fundamentet — lösenord (lektion 27), cookies (lektion 28), JWT (lektion 29), alla headers (lektion 26), hela HTTP-trafiken (lektion 25) — färdas över wiren i klartext utan TLS. Det är café-WiFi:t som lyssnar. Internet-leverantören som spårar. Hotellet som loggar. Reklam-injektorerna som modifierar dina sidor.

Praktisk regel: Logga aldrig in på en sajt som visar http:// istället för https://. Och om du ser browser-varningen "inte privat" — backa, gå tillbaka. Sajten är antingen felkonfigurerad eller någon mannen-i-mitten försöker fejka den.

05Vad det betyder för dig

Du har nu sex lektioner under bältet om hur webben faktiskt fungerar — HTTP, headers, auth, cookies, JWT och TLS. Det är fundamentet som alla andra säkerhetsämnen vilar på. Lektion 31 och framåt kommer att utnyttja exakt detta för att förklara CSRF, IDOR, SSRF och de andra sårbarhets-klasserna ovanpå webbens grundlager.

TLS 1.3 (RFC 8446) ersatte TLS 1.2 år 2018. Handshake komprimerades från två round-trips till en, gamla osäkra ciphersuites togs bort, och Perfect Forward Secrecy blev obligatoriskt. Allt under hänglåset hanteras nu på 1-RTT — och med 0-RTT för återanslutningar.

01TLS 1.3-handshake i detalj

Hela handshake består av två meddelanden var från klient och server, parallellt:

  1. ClientHello — klient skickar: TLS-version, supported ciphersuites, supported groups (kurvor), random nonce, sin del av key share (ECDHE public key)
  2. ServerHello — server svarar: vald ciphersuite, sin del av key share, sitt random
  3. Nu kan båda räkna ut shared secret via ECDHE — utan att skicka det över wiren
  4. Server skickar: EncryptedExtensions, Certificate (certifikatkedjan), CertificateVerify (signatur av handshake-historiken med privata nyckeln), Finished
  5. Klient verifierar: certifikatkedjan mot inbyggda CA-roots, CertificateVerify-signaturen, Finished-MAC
  6. Klient skickar: Finished
  7. Krypterad applikationstrafik börjar

02Ciphersuites i TLS 1.3

I TLS 1.2 fanns över 300 ciphersuites — många trasiga. TLS 1.3 har bara fem, alla AEAD-baserade:

Notera vad som saknas: RSA-key exchange (ingen PFS), CBC-mode, RC4, 3DES, MD5, SHA-1. Allt det togs bort.

03Perfect Forward Secrecy (PFS)

Den viktigaste egenskapen i TLS 1.3. Shared secret härleds via ECDHE — en efemär (engångs) Diffie-Hellman där båda parter genererar nya nycklar för varje session.

Konsekvens: även om någon spelar in all krypterad trafik och senare stjäl serverns privata nyckel, kan de inte dekryptera de historiska sessionerna. Privata nyckeln användes bara för signaturer, inte för nyckelutbyte. Det är därför PFS är avgörande för långsiktig integritet.

04Certifikatkedjan

Ett TLS-certifikat står inte själv — det är del av en kedja:

Root CA (ISRG Root X1, i din browser)
  ↓ signerar
Intermediate CA (Let's Encrypt R3)
  ↓ signerar
Leaf cert (säkerkoll.se)

Browsern har ~150 root-certifikat förinstallerade. Kedjan måste leda från sajtens certifikat upp till en root browsern litar på. Bryts kedjan någonstans — varning. Är någon CA komprometterad — hela kedjan misstänkliggörs.

05HSTS, pinning, och CAA

Tre lager av extra skydd ovanpå basala TLS:

06MitM via fake cert — när det fungerar

Tre scenarier där en angripare kan se igenom TLS:

Försvar: certificate pinning (hårdkoda förväntade certs i appen — vanligt i mobilappar) och Certificate Transparency-bevakning.

07Prova själv — denna sidas TLS

Här är vad din browser säger om anslutningen till säkerkoll just nu — direkt från Performance API och window-objektet.

Live: din nuvarande TLS-anslutning
läser...
För mer detalj: F12 → Security-fliken Inspekt cert: klicka hänglåset → Certifikat

08Avslutning på fundamentet

Sex lektioner. Du kan nu:

Allt resten — CSRF, IDOR, SSRF, XSS i detalj, SAML/OAuth, WebSocket-säkerhet — bygger på det här. Du har fundamentet.

Snabb-koll — tre frågor

lektion 30 · klarad ✓ — fundamentet klart Tillbaka

Du har klarat hela fundamentet

Sex lektioner om webbens grundbultar — HTTP, headers, auth, cookies, JWT och TLS. Fler lektioner i nivå VI kommer löpande.

Tillbaka till akademin