IPsec è una raccolta di protocolli che forniscono: confidenzialità, autenticazione del mittente e prevenzione di replay-attack.
Questi protocolli possono essere utilizzati per implementare delle reti private virtuali (VPN).
Il protocollo AH fornisce autenticazione, ma non fornisce confidenzialità. A volte alcuni pacchetti non hanno bisogno di passare attraverso il processo costoso della cifratura, in tali casi entra in gioco AH.
AH fornisce tale servizio calcolando il MAC su alcune parti del datagramma IP, creando un ICV (Integrity Check Value).
Vi sono alcuni campi del datagramma IP che cambiano da un hop all'altro come TTL o Checksum, AH non autentica tali campi, li pone a 0 prima di effettuare il calcolo dell'ICV.
AH potrebbe essere seguito da ESP.
L'header AH, a seconda della modalità con cui è usato cambia la sua locazione.
Nell'header sono compresi una serie di campi, tra cui:
Quando un'entità abilitata IPsec ESP riceve un datagramma IP vanilla da spedire utilizzando il protocollo ESP, deve procedere con la conversione in un datagramma IPsec ESP.
La conversione attraversa i seguenti passi:
ESP effettua la cifratura e/o l'autenticazione dell'intero datagramma IP vanilla, o di una parte (in base alla modalità utilizzata)
In modalità transport il procedimento è simile a quello illustrato per la modalità tunnel.
La differenza risiede nel fatto che in questa modalità viene cifrato il payload del datagramma IP vanilla.
L'header ESP è posto tra il segmento a livello di trasporto e l'header IP.
Il trailer ESP viene posto alla fine del datagramma IP, così come le informazioni relative all'autenticazione.
In questo caso vengono cifrati il segmento a livello di trasporto e il trailer ESP, mentre viene autenticato l'header ESP, il segmento e il trailer.
La differenza è che in modalità transport viene messa in sicurezza la connessione tra due host fissati.
Sia ESP che AH fanno uso dei numeri di sequenza per prevenire attacchi di duplicazione.
I numeri di sequenza vengono utilizzati per implementare una finestra anti-duplicazione, nota come anti-replay window.
L'anti-replay window consente al ricevente IPsec di non ricevere pacchetti duplicati.
La finestra del ricevente IPsec ha una certa dimensione.
I pacchetti ricevuti dal destinatario IPsec possono avere:
Sia ESP che AH utilizzano le associazioni di sicurezza (SA, Secuirty Association). Un'associazione di sicurezza è connessione logica unidirezionale tra gli host comunicanti. Se deve avvenire una comunicazione bidirezionale, occorrono due SA.
Una SA mantiene alcune informazioni di stato riguardo la connessione, tra cui:
In modalità tunnel l'header dell'intero datagramma originale viene autenticato e viene creato un nuovo hedaer IP che viene piazzato davanti a al pacchetto (anch'esso autenticato).
In modalità trasporto viene autenticata la comunicazione tra due host fissati.
L'header AH è posto tra il segmento a livello di trasporto e l'header IP.