TLS (algemeen)
TLS oftewel Transport Layer Security is een protocol om communicatie over internet te beveiligen.
Wat?
Informatiebeveiliging kent de volgende basisconcepten [1]:
- Vertrouwelijkheid: Informatie is alleen beschikbaar voor degenen die daartoe zijn geautoriseerd
- Beschikbaarheid: Geautoriseerde gebruikers hebben op het juiste moment toegang tot informatie
- Integriteit: Waarborgen van juistheid, tijdigheid (actualiteit) en volledigheid van de informatie
- Verifiëerbaarheid: Mogelijkheden om met voldoende zekerheid vast te stellen dat aan de overige drie eisen is voldaan
TLS zorgt voor een deel voor deze aspecten:
Vertrouwelijkheid
- Communicatie tussen twee partijen vindt vercijferd plaats
- Eavesdropping is niet mogelijk
- Ook als in de toekomst de vercijfering gekraakt wordt, is daarmee niet met terugwerkende kracht alle communicatie te ontcijferen.
Integriteit
- Sessies worden gecontroleerd op man-in-the-middle-attacks
- Data wordt gecontroleerd op verminking (bv. door storing).
Verifiëerbaarheid
Dankzij gebruik van certificaten en signing, is de webserver daadwerkelijk wie-ie is.
Hoe?
Het TLS-protocol bestaat uit twee fases: Handshake en data-transmissie. Voor dit artikel is alleen de handshake-fase van belang. Deze bestaat opnieuw uit een aantal fases.
Onderhandel encryptie-protocol
Er zijn diverse parameters, zoals welke variant van het vercijferingsprotocol er gebruikt gaat worden.
Webserver verzendt certificaat
De webserver beschikt over een certificaat waarmee de authenticiteit van de webserver vastgesteld kan worden. Sommige certificaten authenticeren enkel de URL, anderen tevens het bedrijf of de instantie vanwie de URL is
Webserver verzendt publieke sleutel
- Er wordt gebruik gemaakt van de PKE-sleutels van de webserver
- De webserver zendt zijn publieke sleutel naar de client
Schakel over op vercijferde communicatie
Alle parameters vastgesteld? Dan is de handshake beëindigd, en wordt er overgeschakeld op vercijferde communicatie.
Zie ook
Bronnen
- https://www.youtube.com/watch?v=4nGrOpo0Cuc - SSL TLS HTTPS process explained in 7 minutes, Johannes Bickel, 2014