Encryptie met publieke sleutels vormt de ruggengraat van moderne webbeveiliging. Centraal in dit systeem bevindt zich de Secure Sockets Layer (SSL). Netscape heeft dit protocol gemaakt om browsers en webservers veilig te laten communiceren. Het was nooit de bedoeling om voor altijd alleen te blijven staan.

Tegenwoordig is SSL slechts een verouderde term. De daadwerkelijk gebruikte standaard is Transport Layer Security (TLS).

U hoeft geen programmeur te zijn om het verschil in uw dagelijkse browsen te zien. Het staat daar in de adresbalk. Zoek naar de “s” in https.

Vroeger zag je http. Nu zie je https.

Er is meestal een klein hangslotpictogram in de buurt. Soms staat het in de statusbalk onder aan het venster. Soms zweeft het in het URL-veld. De betekenis is hetzelfde. Uw gegevens zijn gecodeerd. Als u inlogt op een bankrekening of PayPal gebruikt, wilt u dat slot zien. Uw betalingsgegevens mogen niet in platte tekst op de draad staan.

“TLS en SSL zijn sterk afhankelijk van certificeringsinstanties om de identiteit te verifiëren.”

Maar hoe weet de browser eigenlijk dat de site veilig is? Het is geen magie. Het is een handdruk met een Certificaatautoriteit (CA).

Wanneer u een beveiligde pagina aanvraagt, begint het proces. De browser voegt de “s” toe aan “http”. Vervolgens controleert het drie specifieke dingen voordat de pagina wordt geladen:

  1. Vertrouwen : Is het certificaat afkomstig van een partij die de browser vertrouwt?
  2. Geldigheid : Is het certificaat momenteel actief en niet verlopen?
  3. Match : Hoort het certificaat daadwerkelijk bij de site die u bezoekt?

Als een van deze controles mislukt, geeft de browser een waarschuwing. Het laat je niet blindelings doorgaan. Dankzij dit systeem kunt u erop vertrouwen dat uw gevoelige informatie veilig wordt doorgegeven. Het protocol is geëvolueerd, maar de kerntaak blijft hetzelfde. Houd uw gegevens uit de handen van afluisteraars.

De handdruk die uw gegevens veilig houdt

Dit is waar de daadwerkelijke beveiliging plaatsvindt.

De browser neemt de openbare sleutel die u zojuist heeft ontvangen en gebruikt deze om een ​​willekeurig gegenereerde symmetrische sleutel te coderen. Eenvoudig genoeg.

Maar hier zit het addertje onder het gras. Encryptie met publieke sleutels is zwaar. Het vereist serieuze rekenkracht. Als u dit voor elk gegevenspakket zou doen, zou uw browser tot stilstand komen. Systemen doen dat dus niet.

In plaats daarvan gebruiken ze een hybride aanpak.

Zie het als een beveiligde tunnel. De publieke sleutel is slechts de deurbel. Het laat de eerste boodschap door. Eenmaal binnen schakel je voor de rest van het gesprek over op symmetrische sleutelversleuteling. Het is sneller. Het is lichter. Het is de standaard voor de manier waarop twee computers een beveiligde sessie starten.

Eén computer maakt de symmetrische sleutel. Het rondt het af met behulp van encryptie met publieke sleutels. Het stuurt het naar de andere kant. De andere kant ontgrendelt het. Nu hebben beide partijen dezelfde geheime code.

Vanaf dat moment communiceren ze met behulp van symmetrische sleutelcodering.

En dit is het deel dat de meeste gebruikers missen. De sleutel houdt geen stand.

Wanneer de sessie eindigt, wordt de sleutel vernietigd. Het wordt weggegooid. Weg.

Als u een nieuwe sessie start, wordt er een nieuwe symmetrische sleutel aangemaakt. Het hele proces herhaalt zich.

“Zodra de sessie is beëindigd, verwijdert elke computer de symmetrische sleutel die voor die sessie is gebruikt.”

Dit heet voorwaartse geheimhouding. Of in ieder geval een basisversie ervan. Het betekent dat zelfs als een hacker één sleutel steelt, deze voor iets anders nutteloos is. Elke sessie is geïsoleerd. Elke sessie heeft zijn eigen unieke slot.

Waarom doet dit er toe?

Omdat het de schade beperkt. Als uw HTTPS-verbinding wordt onderschept, krijgt de aanvaller alleen de gegevens van die ene sessie. Ze krijgen uw wachtwoordgeschiedenis niet. Ze ontvangen uw oude e-mails niet. Ze krijgen de sleutel van het koninkrijk niet.

De sleutel is tijdelijk. De sessie is van voorbijgaande aard. De beveiliging is continu.

Het is een dans van creatie en vernietiging. Sleutels zijn geboren. Gegevensstromen. Sleutels sterven.

En je ziet het niet eens.