Transport Layer Beveiliging
Als data van punt A naar punt B gaat kan deze data afgeluisterd worden. Dit afluisteren noemen we een Man in the Middle Attack. De laag die dan afgeluisterd wordt is de transport laag of de “Transport Layer”.
In deze post wil ik de Transport Layer beter bespreken.
Wat is de Transport layer:
De “Transport Layer” is de 4e laag in het OSI en de 3e laag in het TCP/IPmodel. Deze laag zorgt voor de transport van data tussen verschillende applicaties. De Transport Layer bezorgd data vanuit de bovenste laag (Application Layer) naar de onderliggende laag (de Network of Internet Layer). De Transport Layer zorgt ervoor dat de data opgebroken wordt in kleinere segmenten en dat iedere byte voorzien wordt van een segment nummer. Doordat de Transport Layer end-to-end data bezorging tussen verschillende hosts regelt wordt connectie tussen hosts die niet in elkaars subnet liggen mogelijk. Zeer essentieel voor het internet dus. Binnen de Transport Layer functioneren een groot aantal protocollen. De bekendste (en voor het internet gebruikte) protocollen zijn TCT en UDP.
Transport Layer Diensten:
De volgende diensten zijn van toepassing op de Transport Layer:
- Verbinding georiënteerd protocol:
- Dezelfde volgorde aflevering:
- Betrouwbaarheid:
- Flow control:
- “Congestion avoidance / Congestion control”:
De meeste applicaties interpreteren een verbinding bij voorkeur als een verbinding georiënteerde verbinding (datastream) i.p.v. onderliggende (connectie loze) verbindingsmodellen, zoals het datagram model van het User Datagram Protocol (UDP) en van het internet Protocol (IP). Een verbinding georiënteerd model maakt gebruik van een “handshaking” model waarmee de eindgebruiker geverifieerd wordt en waarbij de status van de dataverzending bijgehouden wordt. Bij CL-connections (connectie loze verbindingen) zoals UDP is er geen ontvangstgarantie, worden data pakketten niet gesorteerd en kan het zijn dat er dubbele pakketten ontvangen worden. Bottomline, een verbinding georiënteerde verzending van data is netter en geeft een bepaalde garantie. Daarom geven de meeste applicatie hier de voorkeur aan.
De netwerklaag zelf kan niet garanderen dat date pakketten aankomen in dezelfde volgorde als waarin ze zijn verzonden. Als dit wel noodzakelijk is gebeurt dit meestal d.m.v. segment nummering. Omdat de volgorde van aflevering vaak wenselijk is wordt dit ondersteund door de Transport Layer (TCP/IP protocol).
Pakketten kunnen tijdens het transport verloren gaan als gevolg van overbelasting van het netwerk en fouten. Door middel van een fout detectie code, zoals een checksum, kan het transport protocol controleren of de gegevens niet beschadigd zijn, en zorgt de Transport Layer voor een correcte ontvangst door het sturen van een ACK of NACK bericht naar de afzender (host). “Automatic Repeat Requests” schema’s kunnen worden gebruikt om om verloren of beschadigde gegevens opnieuw te verzenden waardoor een pakketje alsnog compleet gemaakt kan worden.
De snelheid van de gegevensoverdracht tussen twee knooppunten moet soms worden beheerd om te voorkomen dat een snelle afzender meer gegevens verstuurd dan kan worden verwerkt door de ontvangende data buffer, waardoor een buffer overrun kan worden veroorzaakt.
Congestie controle kan verkeer binnen een telecommunicatienetwerk besturen, om instorting van de verbinding te voorkomen. Dit gebeurt doordat resources evenredig verdeeld worden. Zo kan de congestion control de waardes van de pakketjes veranderen en kan hij automatische herhaling verzoeken doen.
Waarom willen we de Transport Layer Beveiligen?
Omdat de data op de transportlaag voor vrijwel iedereen bereikbaar is (binnen hetzelfde netwerk) is deze laag voor hackers een prachtige doelwit voor het vergaten van informatie.
We willen bij het verzenden van data graag voldoen aan de volgende voorwaarden.
- Authenticatie (weten met wie we verbinden waarbij de authenticiteit gecontroleerd is)
- Integriteit (ervanuit kunnen gaan dat onze data niet gemanipuleerd wordt en dat retour data niet gemanipuleerd is.)
- Betrouwbaarheid (erop kunnen vertrouwen dat data veilig en privé verzonden en ontvangen wordt).
Hoe beveiligen we de Transport Layer?
De Transport Layer laag is te beveiligen middels SSL / TLS certificaten. Door een juiste implementatie van deze certificaten ontstaat een veilige verbinding waarbij authenticatie, integriteit en betrouwbaarheid gewaarborgd zijn.