Hoppa till innehålletHisnLabs
← Kryptografi du kan lita på

Lektion 2 av 4 · 9 min

Digitala signaturer, certifikat, och TLS

Hur en webbläsare vet att den verkligen pratar med din bank, varför en hänglåsikon betyder något specifikt, och vad den inte betyder.

Föregående lektion lämnade en fråga öppen: asymmetrisk kryptering låter dig skicka en hemlighet till någon vars publika nyckel du har — men hur vet du att den publika nyckeln faktiskt tillhör dem, och inte en angripare däremellan? Digitala signaturer och certifikat besvarar det, och tillsammans gör de TLS, protokollet bakom varje https://-adress, möjligt.

Digitala signaturer: bevis på ursprung, inte hemlighet

En digital signatur kör asymmetrisk kryptering baklänges. Istället för att kryptera ett meddelande med någons publika nyckel så att bara de kan läsa det, signerar avsändaren ett meddelande med sin egen privata nyckel, och vem som helst kan verifiera det med avsändarens publika nyckel. Om verifieringen lyckas är två saker sanna: meddelandet kom från den som innehar den privata nyckeln, och det ändrades inte efteråt — samma kollisionsresistens-egenskap från föregående lektions diskussion om hashning gör manipulation upptäckbar. En signatur bevisar äkthet och integritet; den håller inte, i sig, meddelandet hemligt.

Certifikat: en signatur som går i god för en publik nyckel

Ett digitalt certifikat löser problemet ”vems publika nyckel är detta egentligen”. Som Cloudflares Learning Center förklarar är ett SSL/TLS-certifikat ”en datafil som finns på en webbplats ursprungsserver” och innehåller domännamnet, den publika nyckeln, ett utgångsdatum, och — avgörande — ”certifikatutfärdarens digitala signatur.” En certifikatutfärdare (CA) är en betrodd tredje part som kontrollerar att en webbplats kontrollerar domänen den begär ett certifikat för, och sedan signerar det certifikatet med sin egen privata nyckel. Din webbläsare levereras med en inbyggd lista över CA:er den litar på, så när den tar emot ett certifikat signerat av en av dem kan den lita på den publika nyckeln inuti utan att någonsin ha träffat webbplatsens operatör. Ett självsignerat certifikat — ett en webbplats signerar själv istället för att få från en CA — har ingen sådan extern bekräftelse, vilket är varför webbläsare som standard behandlar ett sådant som opålitligt.

TLS: att sätta båda i arbete

RFC 8446, specifikationen för TLS 1.3, beskriver en handskakning i faser: nyckelutbyte, där de två sidorna etablerar delat hemligt material; sedan autentisering, där, med RFC:ns egna ord, ”serversidan av kanalen autentiseras alltid; klientsidan autentiseras valfritt” — normalt bevisar bara webbplatsen sin identitet, inte besökaren. Servern bevisar vem den är med sitt certifikat och en signatur bara den kunde producera med sin privata nyckel. När båda sidor litar på anslutningen härleder de snabba symmetriska nycklar (föregående lektions AES, vanligtvis) för själva datan. RFC 8446 anger rakt ut vad detta ger dig: konfidentialitet och integritet för den utbytta datan, och autentisering av servern. Den anger också, lika tydligt, en gräns: ”TLS döljer inte längden på datan den överför”, och metadata som vilken server du anslöt till och när förblir synlig för alla som är positionerade att observera anslutningen.

Vad hänglåsikonen betyder och inte betyder

Hänglåset / https:// betyderDet betyder inte
Anslutningen till den servern är krypterad och dess integritet är skyddadWebbplatsen är pålitlig, ärlig, eller säker att använda
Du pratar med den som kontrollerar det domännamnetAtt det domännamnet är den du tror det är — en övertygande efterliknande domän får också ett giltigt certifikat
Ingen på nätverksvägen kan läsa eller tyst ändra trafikenIngen kan se att du besökte webbplatsen, när, eller hur ofta

En nätfiskesajt byggd på en efterliknande domän kan ha ett fullt giltigt certifikat: TLS autentiserar domänen, inte avsikten hos den som registrerade den. Det är därför den tidigare lektionen om hur attacker utvecklas behandlar en falsk inloggningssida, hänglås och allt, som ett verkligt hot, inte en motsägelse.

Viktigt att minnas

  • En digital signatur bevisar vem som skickade ett meddelande och att det inte ändrades — den håller inte, i sig, meddelandet hemligt.
  • Ett certifikat är ett signerat uttalande, från en certifikatutfärdare en webbläsare redan litar på, om att en given publik nyckel tillhör en given domän.
  • En TLS-handskakning (RFC 8446) autentiserar alltid servern; besökaren autentiseras sällan på samma sätt.
  • TLS skyddar konfidentialitet och integritet under överföring, och bekräftar att du nådde den domän du avsåg — den döljer inte att en anslutning skedde, och garanterar inte att webbplatsen bakom är pålitlig.
  • En nätfiskesajt på en efterliknande domän kan visa ett fullt giltigt hänglås; certifikatet autentiserar domänen, inte operatörens avsikt.

Testa dig själv

  1. 1. Vad bevisar en giltig digital signatur på ett meddelande?

    • Att meddelandet är hemligt för alla utom mottagaren
    • Att meddelandet kom från innehavaren av en specifik privat nyckel och inte ändrades — Rätt.
    • Att meddelandet skickades med TLS
    • Att meddelandet är fritt från skadligt innehåll

    Signaturer verifierar äkthet och integritet med hjälp av signerarens nyckelpar; de krypterar inte meddelandet för hemlighet.

  2. 2. Vilken roll spelar en certifikatutfärdare (CA) i TLS?

    • Den lagrar dina lösenord åt dig
    • Den går i god, med sin egen signatur, för att en publik nyckel tillhör en given domän — Rätt.
    • Den krypterar all trafik på internet
    • Den blockerar nätfiskewebbplatser automatiskt

    En CA kontrollerar domänkontroll och signerar certifikatet, vilket låter webbläsare som redan litar på CA:n lita på certifikatets publika nyckel utan att kontakta webbplatsoperatören direkt.

  3. 3. Enligt RFC 8446, vilken sida av en typisk TLS-anslutning autentiseras alltid?

    • Bara klienten (din webbläsare)
    • Servern — Rätt.
    • Ingendera sidan som standard
    • Båda sidor, alltid, utan undantag

    RFC 8446 anger att serversidan alltid autentiseras, medan klientautentisering är valfri och mycket mindre vanlig för vanlig webbsurfning.

  4. 4. Varför kan en nätfiskewebbplats fortfarande visa en giltig hänglåsikon?

    • Hänglåsikoner är kosmetiska och betyder ingenting
    • Ett certifikat autentiserar ett domännamn, inte ärligheten hos den som registrerade det — Rätt.
    • Webbläsare kontrollerar inte längre certifikat
    • Nätfiskewebbplatser kan inte använda HTTPS alls

    TLS-certifikat bekräftar att du pratar med den faktiska innehavaren av en given domän; en övertygande efterliknande domän kan skaffa sig ett eget, fullt giltigt certifikat.

Testa det med FireAI

Omsätt den här lektionen i praktiken på din egen Mac.

Källor

Omsätt det på din Mac

Prova alla funktioner gratis i 17 dagar, inget kort behövs.

Ladda ner för Mac Dokumentation