TLS (algemeen)

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 2 jun 2018 om 10:52 (→‎Hoe?)
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

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.

Certificaten

Een certificaat bevat de volgende informatie:

  • Betreffende URL
  • Eventueel: Naam en gegevens van de eigenaar van de URL
  • Naam van de certificate authority (CA) die garant staat voor de juistheid van die info
  • Hash van al deze informatie, vercijferd met de publieke sleutel van de betreffende CA.

Dankzij de hash kun je controleren dat de info van het certificaat correct is. Details zijn me effe ontschoten.

Zie ook

Bronnen