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.
Non hai tempo per leggere ? guarda il video !
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 (Security Association Database), dove viene tenuta traccia delle SA attive. In particolare una SA è costituita dai seguenti parametri:
•Gli 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 Security Parameter Index.
Abbiamo visto che una VPN e’ formata da due fasi, sotto riportate.
Fase 1
Lo scopo principale della Fase 1 è creare un canale crittografato sicuro attraverso il quale i due peer possano negoziare la Fase 2. Quando la Fase 1 termina con successo, i peer passano rapidamente alle negoziazioni della Fase 2. Se la Fase 1 fallisce, i dispositivi non possono iniziare la Fase 2.
Fase 2
Lo scopo delle negoziazioni di Fase 2 è che i due peer si accordino su un insieme di parametri che definiscono quale traffico può passare attraverso la VPN e come crittografare e autenticare il traffico. Questo accordo si chiama Security Association.
Vediamo i requisiti per configurare la fase 1 e 2 ad esempio su di un router Cisco 1.Configurare ISAKMP (fase 1) 2.Configurare Ipsec ISAKMP fase2, ACLs, Crypto map)
Fase 1
R2(config)# crypto isakmp policy 1
R2(config-isakmp)# encr 3des
R2(config-isakmp)# hash md5
R2(config-isakmp)# authentication pre-share
R2(config-isakmp)# group 2
R2(config-isakmp)# lifetime 86400
Fase 2
R2(config)# crypto isakmp key crazynet address 1.1.1.1
R2(config)# ip access-list extended VPN-TRAFFIC
R2(config-ext-nacl)# permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255
R2(config)# crypto ipsec transform-set TS esp-3des esp-md5-hmac
R2(config)# crypto map CMAP 10 ipsec-isakmp
R2(config-crypto-map)# set peer 1.1.1.1
R2(config-crypto-map)# set transform-set TS
R2(config-crypto-map)# match address VPN-TRAFFIC
R2(config)# interface FastEthernet0/1
R2(config- if)# crypto map CMAP
IKE è un protocollo molto flessibile, può supportare anche l’autenticazione basata su “segreti” pre condivisi, detti “Master Keys”. Tuttavia è anche molto complesso, possiede molte opzioni, sotto protocolli alternativi, ecc.
IKE è nato come evoluzione/unione di diversi altri algoritmi, tra i quali i più importanti sono:
ISAKMP (Internet Security Association and Key Management Protocol), esso fornisce un framework ed un generico protocollo di negoziazione per stabilire delle SA e chiavi crittografate, ma non stabilisce alcun particolare meccanismo di autenticazione;
Oakley, è una suite di protocolli per l’accordo delle chiavi, che permette a due entità di creare una chiave condivisa.
In generale possiamo dire che IKE combina le potenzialità dei pacchetti generati dal protocollo ISAKMP e lo scambio dati del protocollo Oakley, che si basano sul protocollo Diffie-Hellman.