In questo documento viene descritto come configurare una connessione VPN IKEv2 da sito a sito tra due appliance ASA Cisco con scambio di più chiavi IKEv2.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Per la stesura del documento, sono state usate appliance Cisco ASA con versione 9.20.1.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Lo scambio di più chiavi IKEv2 presenta le seguenti limitazioni:
I requisiti delle licenze sono gli stessi della VPN da sito a sito sulle appliance ASA.
L'arrivo di computer quantistici di grandi dimensioni comporta un grande rischio per i sistemi di sicurezza, in particolare per quelli che utilizzano la crittografia a chiave pubblica. I metodi crittografici che si pensava fossero molto difficili per i normali computer possono essere facilmente rotti dai computer quantistici. Quindi, sorge la necessità di passare a nuovi metodi resistenti ai quanti, chiamati anche algoritmi di crittografia post-quantistica (PQC). Lo scopo è quello di migliorare la sicurezza delle comunicazioni IPsec utilizzando scambi di chiavi multipli. Ciò implica la combinazione di uno scambio di chiavi tradizionale con uno post-quantistico. Questo approccio garantisce che lo scambio risultante sia almeno altrettanto efficace del tradizionale scambio di chiavi, fornendo un ulteriore livello di sicurezza.
Il piano prevede il miglioramento di IKEv2 tramite l'aggiunta del supporto per più scambi di chiave. Questi scambi di chiave extra possono gestire algoritmi che sono al sicuro dalle minacce quantistiche. Per lo scambio di informazioni su queste chiavi aggiuntive, viene introdotto un nuovo tipo di messaggio denominato Intermediate Exchange. Questi scambi di chiave vengono negoziati utilizzando il normale metodo IKEv2, tramite il payload SA.
In questa sezione vengono descritte le configurazioni dell'ASA.
Per le informazioni di questo documento viene utilizzata la seguente configurazione della rete:

Se le interfacce ASA non sono configurate, verificare di configurare almeno gli indirizzi IP, i nomi delle interfacce e i livelli di sicurezza:
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 10.10.10.10 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
Nota: Verificare la connettività alle reti interne ed esterne, in particolare al peer remoto utilizzato per stabilire un tunnel VPN da sito a sito. È possibile usare un comando ping per verificare la connettività di base.
Per configurare i criteri IKEv2 per queste connessioni, immettere i seguenti comandi:
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
È possibile configurare ulteriori trasformazioni di scambio chiave in crypto ikev2 policy utilizzando il comando additional-key-exchange. È possibile configurare un totale di sette trasformazioni di scambio aggiuntive. In questo esempio, sono state configurate due trasformazioni di scambio aggiuntive (utilizzando i gruppi DH 21 e 31).
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
Il criterio IKEv2 finale è simile al seguente:
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
Nota: Esiste una corrispondenza di criteri IKEv2 quando entrambi i criteri dei due peer contengono gli stessi valori di autenticazione, crittografia, hash, parametro Diffie-Hellman e parametro Additional Key Exchange.
È necessario abilitare IKEv2 sull'interfaccia che termina il tunnel VPN. In genere, si tratta dell'interfaccia esterna o Internet. Per abilitare IKEv2, immettere il comando crypto ikev2 enable outside in modalità di configurazione globale.
Per un tunnel da sito a sito, il profilo di connessione è IPSec-l2l. Per configurare la chiave già condivisa IKEv2, immettere i seguenti comandi:
tunnel-group 10.20.20.20 type ipsec-l2l
tunnel-group 10.20.20.20 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
L'appliance ASA utilizza gli Access Control Lists (ACL) per distinguere il traffico che deve essere protetto con la crittografia IPSec dal traffico che non deve essere protetto. Protegge i pacchetti in uscita che corrispondono a una voce ACE (Application Control Engine) dell'autorizzazione e garantisce la protezione dei pacchetti in entrata che corrispondono a una voce ACE dell'autorizzazione.
object-group network local-network
network-object 192.168.0.0 255.255.255.0
object-group network remote-network
network-object 172.16.10.0 255.255.255.0
access-list asa-vpn extended permit ip object-group local-network object-group remote-network
Nota: Il peer VPN deve avere lo stesso ACL in un formato con mirroring.
In genere, è necessario un NAT di identità per evitare che il traffico interessante colpisca il NAT dinamico. Il NAT dell'identità configurato in questo caso è:
nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup
La proposta IPSec IKEv2 viene utilizzata per definire una serie di algoritmi di crittografia e integrità allo scopo di proteggere il traffico di dati. Per poter creare un'associazione di protezione IPSec correttamente, questa proposta deve corrispondere a entrambi i peer VPN. I comandi utilizzati in questo caso sono:
crypto ipsec ikev2 ipsec-proposal IKEV2_TSET
protocol esp encryption aes-256
protocol esp integrity sha-256
Una mappa crittografica combina tutte le configurazioni richieste e deve necessariamente contenere:
La configurazione utilizzata è:
crypto map outside_map 1 match address asa-vpn
crypto map outside_map 1 set peer 10.20.20.20
crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET
La parte finale sta applicando questa mappa crittografica all'interfaccia esterna (pubblica) utilizzando il crypto map outside_map interface outside comando.
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 10.10.10.10 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
!
crypto ikev2 enable outside
!
tunnel-group 10.20.20.20 type ipsec-l2l
tunnel-group 10.20.20.20 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
!
object-group network local-network
network-object 192.168.0.0 255.255.255.0
!
object-group network remote-network
network-object 172.16.10.0 255.255.255.0
!
access-list asa-vpn extended permit ip object-group local-network object-group remote-network
!
nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup
!
crypto ipsec ikev2 ipsec-proposal IKEV2_TSET
protocol esp encryption aes-256
protocol esp integrity sha-256
!
crypto map outside_map 1 match address asa-vpn
crypto map outside_map 1 set peer 10.20.20.20
crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET
!
crypto map outside_map interface outside
interface GigabitEthernet0/0
nameif outside
security-level 0
ip address 10.20.20.20 255.255.255.0
!
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 172.16.10.1 255.255.255.0
!
crypto ikev2 policy 10
encryption aes-256
integrity sha256
group 20
prf sha256
lifetime seconds 86400
additional-key-exchange 1
key-exchange-method 21
additional-key-exchange 2
key-exchange-method 31
!
crypto ikev2 enable outside
!
tunnel-group 10.10.10.10 type ipsec-l2l
tunnel-group 10.10.10.10 ipsec-attributes
ikev2 remote-authentication pre-shared-key cisco
ikev2 local-authentication pre-shared-key cisco
!
object-group network local-network
network-object 172.16.10.0 255.255.255.0
!
object-group network remote-network
network-object 192.168.0.0 255.255.255.0
!
access-list asa-vpn extended permit ip object-group local-network object-group remote-network
!
nat (inside,outside) source static local-network local-network destination static remote-network remote-network no-proxy-arp route-lookup
!
crypto ipsec ikev2 ipsec-proposal IKEV2_TSET
protocol esp encryption aes-256
protocol esp integrity sha-256
!
crypto map outside_map 1 match address asa-vpn
crypto map outside_map 1 set peer 10.10.10.10
crypto map outside_map 1 set ikev2 ipsec-proposal IKEV2_TSET
!
crypto map outside_map interface outside
Nota: L'ACL è nel formato con mirroring e le chiavi già condivise sono le stesse su entrambe le estremità.
Prima di verificare se il tunnel è attivo e se sta attraversando il traffico, accertarsi che alle appliance ASA venga inviato traffico interessante.
Nota: Il tracer del pacchetto è stato usato per simulare il flusso del traffico. A tale scopo, è possibile usare il comando packet-tracer; packet-tracer input inside icmp 192.168.0.11 8 0 172.16.10.11 dettagliato sull'appliance Local-ASA.
Per convalidare gli scambi di chiave aggiuntivi, è possibile utilizzare il show crypto ikev2 sa comando. Come mostrato nell'output, è possibile controllare i parametri AKE per convalidare gli algoritmi di scambio selezionati.
Local-ASA# show crypto ikev2 sa IKEv2 SAs: Session-id:2, Status:UP-ACTIVE, IKE count:1, CHILD count:1 Tunnel-id Local Remote fvrf/ivrf Status Role 246015 10.10.10.10/500 10.20.20.20/500 READY INITIATOR Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:20, Auth sign: PSK, Auth verify: PSK Additional Key Exchange Group: AKE1: 21 AKE2: 31 Life/Active Time: 86400/7 sec Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535 remote selector 172.16.10.0/0 - 172.16.10.255/65535 ESP spi in/out: 0xf41ca3b5/0xda0e693b
I debug menzionati possono essere usati per risolvere i problemi del tunnel IKEv2:
debug crypto ikev2 protocol 127
debug crypto ikev2 platform 127
Nota: Se si desidera risolvere i problemi relativi a un solo tunnel (come nel caso di un dispositivo in produzione), è necessario abilitare i debug in modo condizionale utilizzando il comando debug crypto condition peer X.X.X.X.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
2.0 |
14-May-2026
|
Formattazione |
1.0 |
16-Jan-2024
|
Versione iniziale |