Stap 0/8 Status Idle Sim klaar

//Stappen

De TLS-handshake verloopt in 8 fasen. Klik "Volgende stap" om door te gaan.

1

Client Hello

Browser begroet de server en stuurt welke beveiligingsmethodes hij kent. ClientHello met supported cipher suites, TLS-versie, client random, SNI.

2

Server Hello

Server kiest een methode en groet terug. ServerHello met gekozen cipher suite, server random, session ID.

3

Server stuurt certificaat

Server laat zijn identiteitsbewijs zien. X.509 certificate chain (leaf + intermediates).

4

Client verifieert certificaat

Browser controleert of het bewijs te vertrouwen is. Wie heeft het ondertekend? Chain validation tot een root CA in de trust store + hostname check + expiry check.

5

Key exchange

Browser en server bedenken samen een geheime sleutel zonder die direct te versturen. ECDHE key exchange: public keys uitwisselen, shared secret afleiden.

6

Change Cipher Spec

Vanaf nu is alles versleuteld. ChangeCipherSpec: switch naar symmetric encryption met session key.

7

Finished

Beide kanten bevestigen dat de handshake gelukt is. Finished: versleutelde hash van alle handshake-berichten ter verificatie.

8

Application Data

De website-data wordt nu versleuteld verstuurd. HTTPS-payload (GET / Response) over de TLS record layer.

//Visualisatie

Browser (links) ↔ Server (rechts). Bij stap 8 wordt alles versleuteld.

Browser Server

//Inhoud van dit pakket

// klik op "Volgende stap" om te beginnen

//Besturing

Huidige cipher: -

//Log ACTIVE

Tijd Richting Inhoud Notitie
Geen events. Start de handshake.

// Wat is TLS?

TLS is de techniek die ervoor zorgt dat data tussen jouw browser en een website niet door anderen kan worden meegelezen of veranderd. Het kleine hangslot in je adresbalk = TLS. TLS (Transport Layer Security) levert vertrouwelijkheid (encryptie), integriteit (MAC/AEAD) en authenticiteit (X.509 certs) tussen client en server. Opvolger van SSL. Huidige versies: TLS 1.2 en 1.3.

Voordat er één byte applicatie-data versleuteld wordt verstuurd, doen browser en server eerst een handshake: ze spreken algoritmes af, controleren elkaars identiteit en leiden samen een geheime sleutel af.

// Symmetric vs asymmetric: waarom beide?

Asymmetric (publieke/private sleutel) is veilig maar traag. Het wordt alleen tijdens de handshake gebruikt, vooral om de identiteit te checken en samen een geheim te bedenken.

Symmetric (één gedeelde sleutel) is snel. Zodra browser en server samen die session key hebben, wordt alle data versleuteld met symmetric (bv. AES-GCM, ChaCha20-Poly1305).

// Certificaat trust chain

Een certificaat zegt: "Ik ben simulateit.nl". Maar wie zegt dat dat klopt? De handtekening van een Certificate Authority (CA). Browsers vertrouwen een vaste lijst CAs (de trust store).

De keten: leaf certintermediate CAroot CA. Als één schakel niet klopt (verlopen, self-signed, verkeerde hostname) krijgt de gebruiker een waarschuwing. Precies wat je hier kan testen met de toggles.