IPsec e Dove comincia la notte: differenze tra le pagine

(Differenze fra le pagine)
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
 
Nessun oggetto della modifica
 
Riga 1:
{{Film
{{IPstack}}
|titolo italiano= Dove comincia la notte
In [[telecomunicazioni]] e [[informatica]] '''IPsec''', abbreviazione di '''IP Security''', è uno [[standard (informatica)|standard]] per [[rete informatica|reti]] a [[commutazione di pacchetto|pacchetto]] che si prefigge di ottenere [[connessione (informatica)|connessioni]] sicure su [[Rete informatica|reti]] [[Internet Protocol|IP]].
|immagine=
La [[sicurezza informatica|sicurezza]] viene raggiunta attraverso funzionalità di [[cifratura]] e [[autenticazione]] dei [[pacchetto|pacchetti]] IP ([[datagramma|datagrammmi]]). La capacità di fornire protezione o sicurezza viene fornita quindi a [[livello di rete]] cui IP appartiene e questo fatto rende questo [[protocollo di rete|protocollo]] trasparente al [[livello applicazioni|livello delle applicazioni]] che non devono quindi essere modificate.
|didascalia=
|lingua originale= inglese
|titolo originale=
|paese= [[Italia]]
|anno uscita= [[1991]]
|titolo alfabetico=
|aspect ratio=
|genere = Horror
|genere 2 = Giallo
|regista= [[Maurizio Zaccaro]]
|sceneggiatore= [[Pupi Avati]]
|produttore= [[Antonio Avati]], [[Aurelio De Laurentiis]], [[Luigi De Laurentiis]]
|art director=
|animatore=
|attori=
*[[Tom Gallop]]: Irving
*[[Cara Wilder]]: Nora
*[[Don Pearson]]: Lee
*[[Kim Mai Guest]]: Sybil
*[[Blair Bybee]]: Denny
*[[Jerry Y. Wolking]]: Greg
|doppiatori originali=
*[[Riccardo Rossi (doppiatore)|Riccardo Rossi]]: Irving
*[[Lorena Bertini]]: Nora
*[[Michele Kalamera]]: Lee
*[[Ilaria Stagni]]: Sybil
*[[Francesco Bulckaen]]: Denny
*[[Angelo Maggi]]: Greg
|fotografo= [[Pasquale Rachini]]
|montatore= [[Amedeo Salfa]]
|effetti speciali=
|musicista= [[Stefano Caprioli]]
|scenografo=
|costumista=
|truccatore=
|sfondo=
}}
'''''Dove comincia la notte''''' è un [[film]] del [[1991]] diretto da [[Maurizio Zaccaro]].
 
Grazie a questa pellicola, il regista ha vinto il premio per il ''miglior regista esordiente'' ai [[David di Donatello (premio)|David di Donatello]] del [[1992]].
==Panoramica dello standard==
===Scopo del progetto===
IPsec è stato progettato per rendere sicure sia comunicazioni ''portal-to-portal'' sia comunicazioni ''end-to-end''. Nella prima configurazione il traffico viene reso "''sicuro''" a diversi computer (in alcuni casi ad un'intera [[LAN]]); nella seconda solo i ''peer'' che stabiliscono la connessione scambiano pacchetti protetti.
Tuttavia l'uso predominante di IPsec è la creazione di VPN ([[virtual private network]]); per conseguire tale scopo possono essere utilizzati entrambi i metodi prima espostii
 
===Introduzione=Trama==
Irving Crosley, un ragazzo italoamericano, torna a [[Davenport (Iowa)]] per firmare la cessione della casa del padre, appena deceduto, alla famiglia di Glenda Mallory, una studentessa che si era tolta la vita molti anni prima e che aveva avuto una relazione con suo padre. Lo scandalo che aveva generato questa vicenda aveva costretto Irving e sua madre ad andarsene dalla città e trasferirsi altrove. In molti nel quartiere sono certi che lo spirito della ragazza viva ancora in quella casa, ma Irving non sembra credere a queste superstizioni; questo dubbio, alimentato dal fatto che altri ancora pensano che Glenda non sia morta, convince Irving a indagare sul fatto, giungendo a una verità straziante che porterà il ragazzo alla follia.
''IPsec'' è una collezione di [[protocollo di rete|protocolli]] formata da:
* Protocolli che forniscono la cifratura del flusso di dati;
* Protocolli che implementano lo ''scambio delle chiavi'' per realizzare il flusso crittografato.
Per quanto riguarda il primo aspetto, esistono due protocolli: [[Authentication Header]] (AH) e [[Encapsulating Security Payload]] (ESP).
'''ESP''' fornisce autenticazione, confidenzialità e controllo di [[integrità dei dati|integrità del messaggio]] ed è il protocollo IP 50. '''AH''', invece, garantisce l'autenticazione e l'integrità del messaggio ma non offre la confidenzialità; per questo motivo ESP è molto più usato di AH; AH è il protocollo IP 51.<br/>
Attualmente esiste un solo protocollo per lo ''scambio delle chiavi'', il protocollo '''IKE'''.
IPsec è parte integrante di [[IPv6]], mentre è opzionale in [[IPv4]]. Di conseguenza, ci si aspetta che sarà maggiormente utilizzato quando IPv6 acquisterà popolarità.
Il protocollo è definito negli [[Request for Comments|RFC]] 2401-2412.
Dal [[2004]], sono in corso studi per l'aggiornamento dei protocolli.
 
==Riprese==
===Dettagli tecnici===
Il film, sceneggiato da [[Pupi Avati]], è stato girato a [[Davenport (Iowa)]] con la stessa troupe di ''[[Bix (film 1991)|Bix]]'', diretto dallo stesso Avati.<ref name="morandini">[http://www.mymovies.it/dizionario/recensione.asp?id=8226&morandini=1 Commento del Morandini su mymovies.it]</ref>
IPsec supporta due modalità di funzionamento:
* ''Transport mode''
*#connessione [[host]]-to-host
*#usato dagli end-point non dai [[gateway]]
*#viene cifrato solo il [[payload]] dei datagrammi IP, non l'[[header]]
*#computazionalmente leggero
*#ogni host che vuole comunicare deve avere tutto il software necessario ad implementare IPsec
*#si aggiunge solo l'header IPsec; mittente e destinazione si vedono
* ''Tunnel mode''
*#connessione gateway-to-gateway
*#viene cifrato tutto il pacchetto IP originale
*#utilizzato per realizzare le VPN
*#computazionalmente oneroso
*#solo i gateway devono avere il software Ipsec
*#si hanno punti di centralizzazione quindi single point of failure
*#si ha un doppio [[imbustamento|incapsulamento]], aggiungendo l'header del gateway e l'header IPsec; mittente e destinazione non si vedono
 
==Critica==
Le due modalità sono supportate sia da AH che da ESP.
*''Mystery story dotata di una logica d'intreccio e di un'atmosfera.'' Commento del dizionario Morandini che assegna al film ''due stelle e mezzo'' su cinque di giudizio.<ref name="morandini"/>
*Il dizionario Farinotti assegna al film ''tre stelle'' su cinque di giudizio.<ref>Pino Farinotti, Il Farinotti 2009, Newton Compton Editori 2008 - pag 654</ref>
 
==Note==
IPsec può essere utilizzato anche per connessioni tra gateway e host.
<references/>
 
== Collegamenti esterni ==
====Security Association e Security Policy====
* {{Collegamenti esterni}}
Il concetto di '''Security Association''' (in breve '''SA''') è alla base del funzionamento di IPsec. Una SA è un "contratto" fra le due entità coinvolte nella comunicazione; in essa vengono stabiliti i meccanismi di protezione e le chiavi da utilizzare durante il successivo trasferimento dei dati. Nell'ambito di IPsec, stabilire le security association è compito del protocollo IKE, sebbene sia possibile anche impostarle manualmente; ovviamente la procedura manuale è sconsigliata in quanto può introdurre errori che indeboliscono il tunnel. <br/>
Una peculiarità delle SA è che individuano una comunicazione unidirezionale; quindi durante la creazione della connessione le entità coinvolte creano e gestiscono una SA per ognuno dei versi della comunicazione, quindi 2 SA individuano un canale [[full-duplex]]. Al fine di semplificare la gestione delle SA, viene utilizzato un apposito [[database]] detto '''SAD''' ('''S'''ecurity '''A'''ssociation '''D'''atabase), dove viene tenuta traccia delle SA attive.
Una SA è costituita dai seguenti parametri
* Gli [[indirizzo IP|indirizzi IP]] dei ''peer'' coinvolti nella comunicazione;
* Il protocollo che verrà utilizzato per il tunnel (AH o ESP);
* le tecniche di cifratura utilizzate e le relative chiavi;
* Un intero a 32 bit chiamato '''SPI''', acronimo per '''S'''ecurity '''P'''arameter '''I'''ndex.
Dall'esame dei parametri di una SA, si deduce che vi sono contenute le informazioni necessarie per stabilire in che modo il traffico debba essere protetto; il passo successivo è definire ''quale'' traffico debba essere protetto: di questo si occupa la '''S'''ecurity '''P'''olicy (in breve '''SP'''). Una SP è una regola che stabilisce che tipo di traffico deve essere instradato nel tunnel e quindi essere coperto da IPsec; in modo analogo alle SA, le SP sono contenute in un SPD ('''S'''ecurity '''P'''olicy '''D'''atabase).
La security policy contiene:
* Indirizzo sorgente e indirizzo destinazione del pacchetto. Tale informazione è già contenuta nella SA e quindi può sembrare ridondante. In realtà questa informazione ha senso quando viene utilizzato il Tunnel mode.
* Il protocollo e la relativa porta da instradare nel tunnel. Questa opzione dipende dall'implementazione del protocollo e non è sempre contemplata; nel caso non sia disponibile, tutto il traffico prodotto viene veicolato nel tunnel.
* Un identificativo della SA da utilizzare per processare i dati.
Una volta stabilita la security association e la security policy, può cominciare la comunicazione che sfrutterà il protocollo AH o il protocollo ESP cui verrà passato il parametro SPI, che permetterà di risalire alle tecniche crittografiche da utilizzare per la trasmissione.
 
{{portale|cinema|giallo}}
==Protocolli di IPsec==
===IKE===
====Descrizione====
IKE è un [[acronimo]] per '''I'''nternet '''k'''ey '''e'''xchange ed è il protocollo usato per stabilire una '''security association''' nella suite di protocolli '''IPsec'''. Questo protocollo è definito in RFC 4306. È un protocollo di livello applicazione e utilizza il protocollo [[User Datagram Protocol|UDP]] come [[Livello di trasporto|protocollo di trasporto]]; la [[Porta (reti)|porta]] su cui viene stabilita la connessione è 500.<br/> L'obiettivo di IKE è stabilire uno ''shared session secret'', ossia una chiave condivisa corrispondente alla sessione da instaurare e a tal fine utilizza l'algoritmo di [[Scambio di chiavi Diffie-Hellman|Diffie-Hellman]]; dallo ''shared secret'' vengono successivamente derivate le chiavi crittografiche che verranno utilizzate per la successiva comunicazione.
Al fine di autenticare le entità coinvolte nella comunicazione possono essere utilizzate tecniche a chiave simmetrica o, alternativamente, a chiave asimmetrica; in quest'ultimo caso si fa ricorso a [[infrastrutture a chiave pubblica]] (PKI) e all'uso di [[Certificato digitale|certificati digitali]].
 
[[Categoria:Film horror]]
===Authentication Header (AH)===
[[Categoria:Film gialli]]
====Descrizione====
L''''A'''uthentication '''H'''eader (abbreviato '''AH'''), è un protocollo che fa parte della suite
IPsec. Il suo compito è quello di fornire un controllo di integrità pacchetto per
pacchetto, verifica dell'autenticità del mittente e protezione contro i
[[replay attack]]. AH '''non''' garantisce in alcun modo la confidenzialità del messaggio.<br/>
L'autenticità è garantita tramite funzioni di [[hash]] a chiave simmetrica, ossia tramite il meccanismo delle pre-shared keys. Per poter comunicare, due entità devono condividere la medesima chiave; tale chiave viene combinata con il messaggio originale e quindi viene calcolato il [[checksum]] tramite una funzione di hash crittografico(MD5 o SHA). Il messaggio e il checksum vengono, infine, inviati al ''peer'' remoto.
Il ''peer'' remoto riceve il messaggio; dato che questo è in chiaro, lo può leggere, combinare con la chiave di cui è a conoscenza e calcolare il checksum. Se il checksum corrisponde a quello inviato, il messaggio è autentico e viene accettato altrimenti viene scartato in quanto è stato modificato in un modo non consentito dallo standard.<br/>
Il protocollo AH è progettato per proteggere l'intero pacchetto IP inviato; tuttavia bisogna considerare che alcuni campi dell'header IP, come il '''TTL''', variano durante la trasmissione;
queste modifiche devono essere necessariamente consentite, per cui prima di calcolare il checksum, i campi cui è permesso variare vengono posti a '''0'''.
 
====Formato del pacchetto====
Di seguito viene illustrata la struttura del pacchetto AH (ogni casella rappresenta 1 [[byte]]).
{| border="1" cellspacing="0" cellpadding="2px"
| style="text-align:center;border:0;width:25%" | 0
| style="text-align:center;border:0;width:25%" | 1
| style="text-align:center;border:0;width:25%" | 2
| style="text-align:center;border:0;width:25%" | 3
|--
<!-- | 0 1 2 3 4 5 6 7 -->
<!-- | 0 1 2 3 4 5 6 7 -->
<!-- | 0 1 2 3 4 5 6 7 -->
<!-- | 0 1 2 3 4 5 6 7 -->
<!-- |-- -->
| style="text-align:center;" | Header successivo
| style="text-align:center;" | Dimensione Payload
| colspan="2" style="text-align:center;" | RISERVATO
|--
| colspan="4" style="text-align:center;" | Security Parameter Index (SPI)
|--
| colspan="4" style="text-align:center;" | Numero di Successione
|--
| colspan="4" style="text-align:center;" |
Dati per l'autenticazione (lunghezza variable)
|}
; Header successivo: Indica che tipo di protocollo verrà dopo.
; Dimensione Payload (8 bit) : La lunghezza dell'AH in word (1 word = 32 bit) meno 2. Per esempio , 96 sono i bit di default del campo Authentication Data, più altri 96 bit per i campi di lunghezza fissa di AH fanno 6 word ( 96+96 = 192 bit , diviso per 32 = 6). Sottraendo 2 risulta quindi 4 il valore contenuto della dimensione del payload standard.
; RISERVATO: Spazio lasciato per sviluppi futuri. Tutti i bit di questo campo vengono impostati a 0.
; Security Parameter Index: Questo campo identifica i parametri di sicurezza in combinazione con l'indirizzo IP. In genere è un numero pseudo-casuale che identifica la [[security association]] cui fa parte questo pacchetto.
; Numero di successione: Una successione di numeri monotonicamente crescenti. Per imperdire i [[replay attack]] , il numero di successione quando raggiunge il valore massimo (2^{32}-1) non deve ritornare a 0, ma una nuova SA deve essere creata.
; Dati per l'autenticazione: Contiene l'Integrity Check Value (ICV) è rappresenta l'[[HMAC]] calcolato dall'originatore del messaggio. L'HMAC viene calcolato utilizzando i campi dell'header IP (con il [[TTL]] originario), i campi dell'header AH tranne i dati dell'autenticazione (viene considerato a 0) e infite tutti i dati degli header di livello superiore, compresi quelli applicativi, che non vengono modificati durante il trasporto.
 
====Transport mode e Tunnel mode====
AH supporta nativamente sia il transport mode che il tunnel mode. In transport mode vengono protetti solo i protocolli di livello superiore a quello di rete ([[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]], etc); in tunnel mode il pacchetto IP originale viene incapsulato in un nuovo pacchetto IP, dopo essere stato elaborato da AH. Ne spieghiamo il funzionamento con l'ausilio di alcuni disegni.
Il metro di confronto è senza dubbio il pacchetto IP originale; in presenza di un collegamento basato su IPsec il pacchetto viene, ovviamente, alterato.
 
{| border="1" width="50%" cellspacing=0
|style="width:25%"| Header IP
|style="width:25%"| Header TCP
|style="width:50%"| Dati
|}
<small>Pacchetto IP originale</small>
 
A seconda della modalità di funzionamento di IPsec (tunnel mode o transport mode), il pacchetto originale viene alterato in modo diverso.
{| border="2" width="60%" cellspacing=0
|style="width:17%"| Header IP
|style="width:17%;background-color:orange;font-weight:bold"|Header AH
|style="width:17%"| Header TCP
|style="width:50%"| Dati
|}
{| width="60%"
|style="background-color:cyan;text-align:center;"| dati autenticati
|}
<small>AH in transport mode</small>
 
{| border="2" width="80%" cellspacing=0
|style="width:17%"| Header IP esterno
|style="width:13%;background-color:orange;font-weight:bold"|Header AH
|style="width:10%"| Header IP
|style="width:12%"| Header TCP
|style="width:37%"| Dati
|}
{| width="80%"
|style="background-color:cyan;text-align:center;"| dati autenticati
|}
<small>AH in tunnel mode</small>
 
La linea azzurra indica le zone del pacchetto che sono autenticate. Dal punto di vista della protezione, in entrambi i casi, i pacchetti vengono protetti completamente. Notiamo che nell'header IP, alcuni campi variano durante il transito nella rete, ad esempio il [[Time to live|TTL]].
Questi campi vengono posti a '''0''' prima di calcolare la funzione di [[hash]], necessaria per la protezione del pacchetto. Da quanto appena detto si evince subito che il protocollo AH è incompatibile con le varie tecniche di [[Network address translation|NAT]]; difatti se vengono alterati i campi indirizzo nell'header IP (in entrambe le modalità), in ricezione la checksum fallisce subito.
 
===Encapsulating Security Payload (ESP)===
====Descrizione====
'''Encapsulating Security Payload''', denotato con l'[[acronimo]] '''ESP''', è un protocollo che fa parte della suite IPsec. Il suo obiettivo è fornire confidenzialità e controllo di integrità e autenticità alla comunicazione. Contrariamente a quanto fa [[AH]], l'header IP non viene coperto dai controlli. Al pari di [[AH]], però, supporta sia il tunnel mode che il transport mode.
 
====Formato del pacchetto====
Di seguito viene riportato il formato del pacchetto '''ESP''' (ogni casella rappresenta 1 [[byte]]).
{| border="1" cellspacing="0" cellpadding="2px" width="50%"
| style="text-align:center;" width="25%"| '''0'''
| style="text-align:center;" width="25%"| '''1'''
| style="text-align:center;" width="25%"| '''2'''
| style="text-align:center;" width="25%"| '''3'''
|--
<!-- | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7
| 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7
| 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7
| 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7
|-- -->
| colspan="4" style="text-align:center;" | Security Parameters Index (SPI)
|--
| colspan="4" style="text-align:center;" | Sequence Number
|--
| colspan="4" style="text-align:center;border-bottom:none;" |
Payload * (variable)
|--
| style="border-top:none;" | &nbsp;
| colspan="3" style="text-align:center;border-bottom:none;" | Padding (0-255 byte)
|--
| style="border-right:none;" | &nbsp;
| style="border-left:none;border-top:none;" | &nbsp;
| style="text-align:center;" | Pad Length
| style="text-align:center;" | Next Header
|--
| colspan="4" style="text-align:center;" |
Authentication Data (variable)
|}
; Security Parameters Index (SPI): Al pari di quanto avviene in [[AH]], questo campo, in combinazione con l'indirizzo IP, individua la [[Security Association]] cui appartiene il pacchetto.
; Sequence Number: Una successione di numeri monotonicamente crescente, che identifica il pacchetto all'interno delle Security Association e previene da [[replay attack]].
; Payload: I dati che devono essere trasferiti
; Padding: È un campo di riempimento. È necessario in quanto alcuni codici di cifratura lavorano su blocchi di lunghezza fissa. Serve a far crescere la dimensione dei dati fino a divenire multiplo del blocco che l'algoritmo in uso riesce a gestire.
; Pad Length: Rappresenta, in bit, la dimensione dei dati di padding aggiunti.
; Next Header: Identifica il protocollo dei dati trasferiti
; Authentication Data: Contiene i dati usati per autenticare il pacchetto.
Come si può vedere dalla struttura del pacchetto (ma sarà illustrato meglio in seguito), ESP "''avvolge''" i dati dei protocolli di livello superiore, contrariamente a quanto fa AH che antepone un header.
 
==== Tunnel mode e Transport mode====
Essendo un protocollo per il trasferimento dati della suite IPsec, ESP supporta sia il Tunnel mode che il Transport mode. A seconda della modalità tratta i dati in modo differente. Prima di descrivere l'incapsulamento dei dati mostriamo il pacchetto IP originale, che transiterebbe sulla rete in assenza di IPsec
{| border="1" width="50%" cellspacing=0
|style="width:25%"| Header IP
|style="width:25%"| Header TCP
|style="width:50%"| Dati
|}<small>Pacchetto IP originale</small>
{| border="1" width="85%" cellspacing="0"
|style="width:13%;border:1;" | Header IP
|style="width:13%;background-color:orange;font-weight:bold" | Header ESP
|style="width:13%;background-color:lime" | Header TCP
|style="width:35%;background-color:lime" | Dati
|style="width:13%;background-color:orange;font-weight:bold" | Trailer ESP
|style="width:13%;background-color:orange;font-weight:bold" | ESP auth
|}
{| width="85%"
|style="width:13%;"| &nbsp;
|style="background-color:cyan;text-align:center"| Dati autenticati
|style="width:13%;"| &nbsp;
|}<small>ESP in Transport mode</small>
 
{|width="90%" cellspacing="0" border="1"
|style="width:11%;" | Header IP
|style="width:11%;background-color:orange;font-weight:bold" | Header ESP
|style="width:16%;background-color:lime" | Header IP interno
|style="width:16%;background-color:lime" | Header TCP
|style="width:24%;background-color:lime" | Dati
|style="width:11%;background-color:orange;font-weight:bold" | Trailer ESP
|style="width:11%;background-color:orange;font-weight:bold" | ESP auth
|}
{|width="90%"
|style="width:11%"| &nbsp;
| style="background-color:cyan;text-align:center;"| Dati autenticati
|style="width:11%"| &nbsp;
|} <small>ESP in Tunnel mode</small>
 
Le linee azzurre sottendono la parte di pacchetto che viene sottoposta a controllo di autenticità e integrità; le zone verdi indicano le zone di pacchetto che vengono protette tramite algoritmi crittografici. Per quanto riguarda gli algoritmi di cifratura possono essere utilizzati [[Data Encryption Standard]] (DES), [[3DES]], [[AES]] e [[Blowfish]].
Il controllo di integrità e autenticità viene eseguito tramite [[HMAC]] (funzioni di [[hash]]);
l'hash viene calcolato tramite una funzione di hash ([[MD5]] o [[SHA1]]), utilizzando una chiave condivisa; l'hash ottenuto viene allegato al messaggio e inviato. In ricezione viene controllata l'integrità del messaggio. Dagli schemi visti prima si nota che l'indirizzo IP più esterno non viene coperto dal controllo di integrità. Tale opzioni rende il protocollo ESP adatto ad essere utilizzato in alcuni tipi di [[Network address translation|NAT]], in particolare in quelli statici. Tuttavia esistono soluzioni ''ad-hoc'' per il funzionamento congiunto di IPsec e NAT come il NAT Traversal.
 
===NAT Traversal===
====Descrizione====
NAT traversal (o più in breve NAT-T) è il nome di un protocollo facente parte della suite IPsec e standardizzato in diversi [[Request for Comments|RFC]], di cui quello ufficiale è RFC 3947. L'obiettivo di questo protocollo è fornire la possibilità di stabilire un tunnel IPsec anche quando uno dei due ''peer'' coinvolti subisce un'operazione di nat per raggiungere l'altra entità coinvolta nella comunicazione.
 
====Scenario====
Il [[Network address translation|NAT]] è una tecnica molto utilizzata per il riuso degli [[indirizzi IP]]. Tuttavia gli host dietro un [[router]] (o un [[firewall]]) che effettua operazioni di NAT non godono di [[connettività end-to-end]]. Sebbene esistano diversi tipi di NAT, l'obiettivo generale è l'alterazione degli header del pacchetto. Questo comportamento è in netto contrasto con IPsec che ha tra i suoi obiettivi il controllo dell''''integrità''' del pacchetto.
In particolare il NAT è incompatibile con AH sia in tunnel mode che in transport mode, in quanto AH verifica l'integrità di tutto il pacchetto IP. ESP, invece, non copre l'header IP con controlli di sorta né in Tunnel mode né in Transport mode, per cui risulta adatto nel caso in cui il nat eseguito sia di tipo [[SNAT]]; in altre parole, la modifica apportata dal router deve coinvolgere '''solamente''' l'header IP e non anche la [[Porta (reti)|porta]] del livello superiore.
 
Il NAT crea problemi anche con IKE e soprattutto con IKE in '''main mode'''. Il main mode usato congiuntamente al metodo delle ''preshared-keys'' richiede l'autenticazione degli host coinvolti nella comunicazione e tale autenticazione prevede un controllo sugli indirizzi IP; per cui l'alterazione dell'indirizzo da parte di un'apparecchiatura di NAT provoca il fallimento dell'autenticazione.
 
In genere, nei dispositivi preposti alla gestione dei tunnel IPsec e nei client VPN, il NAT-T non è abilitato di default ma deve essere impostato a mano; tuttavia il suo utilizzo rimane opzionale: difatti durante la creazione della '''security association''', i peer determinano se uno dei due subisce operazioni di NAT e solo in questo caso viene usato il NAT-T; questa operazione viene fatta durante la prima fase della negoziazione '''IKE'''.
In prima battuta, i ''peer'' verificano che entrambi siano in grado di supportare in NAT-T; questa verifica è eseguita nella primissima fase del protocollo IKE, per mezzo di un pacchetto con un campo ''Vendor-ID'', che contiene un valore [[hash]] noto.<br/>
Una volta stabilito che entrambi supportano il NAT-T, vengono inviate delle frame "NAT-Discovery" (NAT-D), in modo da verificare chi dei due subisca il NAT, o al limite se lo subiscano entrambi. <br/>
Una volta stabilito chi subisce il NAT, la comunicazione si sposta su una nuova coppia di porte UDP e l'entità "''nat-tata''" comincia a inviare delle frame '''keepalive'''; queste frame servono a mantenere fisse le porte di comunicazione sul router e ad impedirgli di riassegnarle ad una nuova comunicazione.
 
Descriviamo come viene incapsulato il pacchetto originale ESP.
 
{|width="80%" cellspacing="0" border="1"
|style="width:12%;" | Header IP
|style="width:12%;background-color:orange;" | Header ESP
|style="width:17%;background-color:lime" | Header IP interno
|style="width:17%;background-color:lime" | Header TCP
|style="width:18%;background-color:lime" | Dati
|style="width:12%;background-color:orange;" | Trailer ESP
|style="width:12%;background-color:orange;" | ESP auth
|}
<small>ESP in Tunnel mode</small>
{|width="100%" cellspacing="0" border="1"
|style="width:9%;" | Header IP
|style="width:10%;background-color:green;font-weight:bold" | Header UDP
|style="width:12%;background-color:green;font-weight:bold" | Header NAT-T
|style="width:11%;background-color:orange;" | Header ESP
|style="width:14%;background-color:lime" | Header IP interno
|style="width:11%;background-color:lime" | Header TCP
|style="width:15%;background-color:lime" | Dati
|style="width:10%;background-color:orange;" | Trailer ESP
|style="width:10%;background-color:orange;" | ESP auth
|}
<small>ESP in Tunnel mode con incapsulamento UDP per NAT-T</small>
 
I campi segnati in <span style="background-color:green;font-weight:bold">verde scuro</span> sono quelli relativi al NAT-T; questi campi vengono inseriti subito dopo l'header IP esterno, che non viene alterato, così come non vengono alterati i campi successivi. In ricezione viene fatta l'operazione inversa.
 
== Elenco degli RFC relativi ad IPsec==
; RFC 4301: Security Architecture for the Internet Protocol
; RFC 2402: Authentication Header
; RFC 2406: Encapsulating Security Payload
; RFC 2407: IPsec Domain of Interpretation for ISAKMP (IPsec DoI)
; RFC 2408: Internet Security Association and Key Management Protocol (ISAKMP)
; RFC 2409: Internet Key Exchange (IKE)
; RFC 2410: The NULL Encryption Algorithm and Its Use With IPsec
; RFC 2411: IP Security Document Roadmap
; RFC 2412: The OAKLEY Key Determination Protocol
; RFC 3947: Negotiation of NAT-Traversal in the IKE
 
==Collegamenti esterni==
*http://www.ipsec-howto.org/italian/x151.html
*[http://www.linux.it/~davide/doc/tesi_html/index.html IPsec e TLS a confronto: funzioni, prestazioni ed estensioni]
*[http://www.isaserver.org/articles/IPSec_Passthrough.html How to pass IPSec traffic through ISA Server]
 
{{Portale|Crittografia|Sicurezza informatica|Telematica}}
 
[[Categoria:Standard Internet]]
[[Categoria:Protocolli di Internet]]
[[Categoria:Protocolli livello rete]]
[[Categoria:Sicurezza in rete]]
[[Categoria:Protocolli crittografici]]
 
[[af:IPSec]]
[[ar:آي بي سك]]
[[bg:IPsec]]
[[cs:IPsec]]
[[da:IPsec]]
[[de:IPsec]]
[[en:IPsec]]
[[es:IPsec]]
[[et:IPsec]]
[[eu:IPsec]]
[[fa:آی‌پی‌سک]]
[[fi:IPsec]]
[[fr:IPsec]]
[[he:IPSec]]
[[id:IP Security]]
[[ja:IPsec]]
[[ml:ഐപിസെക്ക്]]
[[nl:IPsec]]
[[pl:IPsec]]
[[pt:IPsec]]
[[ru:IPsec]]
[[simple:IPsec]]
[[sv:IPsec]]
[[ta:இணைய வரைமுறைப் பாதுகாப்பு]]
[[tr:IPsec]]
[[uk:IPsec]]
[[vi:Ipsec]]
[[zh:IPsec]]