Sådan fungerer HTTPS · Mindmaps

Sådan fungerer HTTPS. Et redigerbart mindmap med farvede grene, underemner og forbindelser. Buede linjer viser sammenhænge; pile bruges, når retningen har betydning.

HTTPS er HTTP, der kører inde i en krypteret session. Før en eneste forespørgsel rejser, gennemfører browseren og serveren et TLS-handshake: de forhandler, verificerer serverens certifikat og bliver enige om en sessionsnøgle, kun de to deler.

Sådan fungerer HTTPS · Mindmaps

The interactive MindMap canvas for this explanation — every lane, row and arrow above is a real QueryChart diagram you can open and edit.

Sådan læser du mindmappet

  • Begynd ved emnet i midten, og følg en farvet gren til de tilhørende idéer.
  • Buede linjer viser sammenhænge; pile bruges, når retningen har betydning.

Browser hello

Denne gren samler “Browser connects to the HTTPS site”, “Browser sends a ClientHello with supported ciphers”.

Server identity

Denne gren samler “Server replies with its certificate and a ServerHello”, “Validity also checks the domain name on the certificate matches the site and that the certificate has not expired or been revoked.”, “Browser blocks the connection with a warning”, “Browser checks the certificate signature against the CA”.

Session keys

Denne gren samler “Browser sends a pre-master secret encrypted with the server's public key”, “From the pre-master secret, both sides independently compute the same session key. Only this key encrypts the actual data — the certificate's keys are used once.”.

Encrypted traffic

Denne gren samler “HTTP messages are encrypted with the session key”, “Browser and server exchange encrypted data”.

Forbindelser på tværs

HTTPS = HTTP båret over en krypteret TLS-session; krypteringen sker, før nogen HTTP-besked sendes.

Tilliden kommer fra certifikatudstederen, ikke fra serveren: browseren bedømmer serverens certifikat op mod en CA, den allerede stoler på.

Certifikatets nøgler bruges én gang til at beskytte nøgleudvekslingen; en frisk sessionsnøgle krypterer de faktiske data.

Et ugyldigt eller ikke-betroet certifikat stopper forbindelsen: HTTPS fejler lukket i stedet for at sende data ukrypteret.

Alt det, HTTPS beskytter, rejser over det samme pakkekoblede netværk, som forklaringen om internettet tegner.

Key relationships and takeaways

  • HTTPS = HTTP båret over en krypteret TLS-session; krypteringen sker, før nogen HTTP-besked sendes.
  • Tilliden kommer fra certifikatudstederen, ikke fra serveren: browseren bedømmer serverens certifikat op mod en CA, den allerede stoler på.
  • Certifikatets nøgler bruges én gang til at beskytte nøgleudvekslingen; en frisk sessionsnøgle krypterer de faktiske data.
  • Et ugyldigt eller ikke-betroet certifikat stopper forbindelsen: HTTPS fejler lukket i stedet for at sende data ukrypteret.
  • Alt det, HTTPS beskytter, rejser over det samme pakkekoblede netværk, som forklaringen om internettet tegner.

When to use this visual

  • At forklare et team, hvorfor hængelåsen dukker op, og hvad en certifikatadvarsel faktisk betyder.
  • At introducere udviklere til handshaket, før de fejlsøger TLS-problemer, udløbne certifikater eller advarsler om blandet indhold.
  • At undervise i tillidsmodellen: hvordan CA-hierarkiet og valideringen af certifikater beskytter mod, at nogen udgiver sig for at være en anden.

Sådan fungerer det

  1. Tilpas emnet i midten

    Giv emnet et navn, der passer til dit projekt eller din undervisning.

  2. Udbyg grenene

    Rediger idéerne, og tilføj eksempler eller noter.

  3. Forbind beslægtede idéer

    Tegn forbindelser på tværs af grene; brug kun pile, når retningen betyder noget.

Ofte stillede spørgsmål

Hvad er forskellen på HTTP og HTTPS?

HTTPS er HTTP, der kører inde i en krypteret TLS-forbindelse. Forespørgslen og svaret er nøjagtig den samme protokol; det, der ændrer sig, er, at browseren og serveren gennemfører et handshake, der etablerer en krypteret session, før nogen HTTP-besked sendes. Alt det, der sendes (URL, headere, cookies, svarets indhold) kan kun læses af de to ender.

Hvad sker der under TLS-handshaket?

Browseren sender et ClientHello med de protokoller og ciphers, den understøtter; serveren svarer med sit valg og sit certifikat; browseren verificerer certifikatet op mod en betroet certifikatudsteder; og de to sider udveksler en hemmelighed, som begge udleder den samme sessionsnøgle af. Derefter løber HTTP-beskederne krypteret. Forklaringen folder udvekslingen sammen til de fire trin.

Hvorfor har browseren brug for en certifikatudsteder?

Fordi en hvilken som helst server kunne udgive sig for at være et hvilket som helst domæne. Certifikatudstederen (CA) er den tredjepart, der signerer serverens certifikat efter at have verificeret, at domænet tilhører ansøgeren. Browseren leveres med de offentlige nøgler fra betroede CA'er og kan derfor selv verificere signaturen: det er det, der gør en selverklæret identitet til en, nogen går god for.

Hvad betyder en certifikatadvarsel?

Den betyder, at en af kontrollerne i beslutningen »Er certifikatet gyldigt og ikke udløbet?« fejlede: certifikatet er udløbet, dækker et andet domæne, er signeret af en CA, der ikke er betroet, eller er blevet tilbagekaldt. Browseren blokerer forbindelsen i stedet for at fortsætte, fordi sidens identitet ikke kan verificeres.

Rediger dette mindmap i QueryChart

Åbn mindmappet på et redigerbart lærred. Flyt idéer, tilføj grene, og tegn forbindelser.

Rediger dette mindmap i QueryChart

Mere i Mindmaps