IPsec

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Internetprotocolsecurity.JPG

IPsec (of Internet Protocol Security) is een standaard voor het beveiligen van internetprotocol (IP) door middel van encryptie en/of authenticatie op alle IP-pakketten. IPSec ondersteunt beveiliging vanaf het 3e niveau van het OSI-model, namelijk de netwerklaag.

Hierdoor kan het gebruikt worden door zowel TCP als UDP maar het levert wel overhead op ten opzichte van bijvoorbeeld SSL dat op hogere OSI-niveaus werkt (en geen UDP kan beveiligen).

De standaard is door het IETF vastgelegd in RFC's 2401–2412, optioneel voor IPv4 en verplicht bij IPv6. IPsec wordt vaak ingezet bij VPN-verbindingen.

Cryptografie[bewerken]

IPSec is een verzameling van cryptografische protocollen met twee doeleinden:

  • Beveiliging van de pakketstroom.
  • Uitwisseling van sleutels.

IPsec bestaat in twee varianten:

  • Transport : versleutelt de inhoud (payload) van het IP-pakket, maar niet de header.
  • Tunnel : versleutelt zowel de inhoud van het IP-pakket als de header.

Of het nu gaat om een klein of een groot bedrijf, een intern of een extern netwerk, een directe verbinding of een VPN verbinding. In een bedrijf met gevoelige data heeft men goede beveiliging nodig in het netwerk. Dit houdt ook in dat de data die verstuurd wordt via een netwerk beveiligd is tegen pakket sniffers die netwerkverkeer willen bekijken, onderscheppen of zelfs aanpassen. Om na te gaan of een verbinding veilig is moet men de CIA van beveiliging overlopen, CIA staat voor ConfidentialityIntegrityAuthentication.

Confidentiality, Integrity en Authentication (CIA)[bewerken]

IPSec tunnel voorbeeld
  • Confidentiality

Betekent dat niemand anders de data kan lezen die in het netwerk van computer naar computer gaat. Wanneer je een e-mail zou verzenden kan de hacker die het netwerk snift de e-mail niet lezen als hij de e-mail zou kunnen onderscheppen.

  • Integrity

Dit is dikwijls nog belangrijker dan confidentiality. Dit houdt in dat de data door niemand kan worden aangepast op weg naar zijn bestemming. Als een hacker een bericht aanpast van een militaire bevoegde om een aanval uit te voeren op een bepaald doel kan dit catastrofale gevolgen hebben. In die zin is Integriteit van het bericht belangrijker dan dat de hacker enkel zou kunnen lezen wat het bericht inhoudt.

  • Authentication

Authentication zorgt voor een bevestiging dat de zender de zender is die hij beweert te zijn en de machine de machine is die het beweert de zijn. Als de hacker uit het voorbeeld van integrity zich zou kunnen voordoen als die militaire bevoegde zou dit ook voor vreselijke gevolgen kunnen zorgen.

IPsec is een pakket met protocollen die samen aan deze drie beveiligingspijlers voldoen.

De beveiliging van IPsec bestaat voornamelijk uit twee delen. ESP - Encapsulating Security Payload en AH - Authentication Header, elk van deze voorziet in sommige van de CIA beveiligingspijlers.

  • ESP behandelt de confidentiality
  • AH behandelt authentication en integrity.

IPsec wordt toegepast met AH of ESP of een combinatie van beiden. Aangezien IPsec zich in de netwerklaag van het OSI-model bevindt, is het volledig onafhankelijk van de applicaties die hier gebruik van zullen maken.

Authentication Header (AH)[bewerken]

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next header   |  Payload len  |          Reserved             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 Security parameter index (SPI)                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Sequence Number Field                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                Authentication Data (variable)                 +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Next Header[bewerken]

Dit veld toont aan welk soort inhoud het pakket heeft, bijvoorbeeld TCP . Dit wordt aangeduid door een nummer (TCP = 6) bepaald door IANA. (Internet Assigned Numbers Authority is een organisatie die het beheer voert over een aantal standaardnummeringen die in gebruik zijn op het Internet.)

Payload Length[bewerken]

8 bits veld dat de lengte van de Authentication Header aanduidt.

Security Parameters Index[bewerken]

32 bitstring dat de ontvanger helpt te bepalen onder welke SA dit pakket zich bevindt. Een computer kan namelijk pakketten van verschillende SA’s tegelijk verwerken. (Een SA – Security Association: An SA is a relationship between two or more entities that describes how the entities will use security services to communicate securely. – Cisco.)

Sequence Number[bewerken]

Volgnummer van het pakket, wanneer het pakket 2^32 + 1 zou worden, moet er een nieuwe SA met een nieuwe sleutel worden opgesteld. De Sequence Number zit ook in de Authentication Data, hierdoor wordt een verandering aan de Sequence Number meteen opgemerkt. Sequence Number gebruikt men tegen Replay Attacks. Bijvoorbeeld: een hacker onderschept pakketten van een persoon die zich aanmeldt op een netwerk. De volgende dag stuurt de hacker de pakketten terug het netwerk in en kan zo toegang krijgen tot het netwerk zonder te weten wat de logingegevens zijn.

Authentication Data[bewerken]

Dit veld bevat de ICV (Integrity Check Value) die berekend wordt over het gehele pakket, inclusief sommige headers. De ontvanger berekent dezelfde hash. Als ze niet overeenkomen betekent dit dat het pakket beschadigd is geraakt (aangepast) of dat de secret key fout is. Deze pakketten worden genegeerd/verwijderd. Het veld is een veelvoud van 32-bits groot en moet steeds gevuld zijn. Men kan padding toepassen als de ICV het veld niet volledig vult.

Encapsulation Security Payload (ESP)[bewerken]

EncapsulationSecurityPayload.JPG

Security Parameter Index[bewerken]

Zie AH.

Sequence Number[bewerken]

Zie AH.

Payload Data[bewerken]

Dit is de geëncrypteerde data die in het pakket zit.

Padding[bewerken]

Vullen van resterende ruimte voor payload data zodat de data de grootte krijgt die het algoritme verwacht.

Pad Length[bewerken]

Dit veld geeft aan hoeveel padding het pakket meedraagt.

Next Header[bewerken]

Dit veld geeft aan welk datatype de inhoud van het gedecodeerde pakket is.

Authentication Data[bewerken]

Zie AH.

Externe links[bewerken]