Déploiement VPN IKEv2/IPsec Post-Quantique sur Cisco C8000V
Ce guide détaille la mise en place d'une architecture VPN IKEv2/IPsec classique, suivie de sa transition vers une protection post-quantique à l'aide de la fonctionnalité PPK (Post-quantum Preshared Key), dans un environnement d'émulation EVE-NG.
1. Préparation et Installation dans EVE-NG
L'image utilisée est un routeur Cisco Catalyst 8000V (ex: c8000v-universalk9_8G_serial.17.16.01a.qcow2 téléchargeable sous ce lien : https://drop.ui.com/c08d0e4e-08fb-45e8-acda-32db751d78e8).
1.1 Intégration de l'image
Connectez-vous en SSH à votre serveur EVE-NG et exécutez les commandes suivantes :
# Création du répertoire (adaptez la version si nécessaire)
mkdir /opt/unetlab/addons/qemu/c8000v-17.06.02
cd /opt/unetlab/addons/qemu/c8000v-17.06.02
# Transférez votre fichier .qcow2 dans ce dossier via SFTP, puis renommez-le :
mv c8000v-universalk9_8G_serial.17.16.01a.qcow2 virtioa.qcow2
# Application des permissions
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Le Catalyst 8000V exige une virtualisation imbriquée parfaite. Si votre nœud crash au démarrage sous Windows :
- Ouvrez une invite de commandes en mode Administrateur.
- Exécutez :
bcdedit /set hypervisorlaunchtype off - Redémarrez obligatoirement le PC physique.
2. Préparation Initiale des Routeurs
Avant de configurer le VPN, il est nécessaire d'activer les licences cryptographiques sur les routeurs R1 et R2.
Au redémarrage, configurez un mot de passe enable secret conforme (ex: Admin123456!) lorsqu'il vous est demandé.
configure terminal
license boot level network-advantage addon dna-advantage
end
write memory
reload
3. Laboratoire 1 : Socle de Référence (VPN IKEv2/IPsec classique)
Ce laboratoire met en place le tunnel IPsec de base avec une authentification par clé pré-partagée (PSK).
Configuration de R1
configure terminal
hostn R1
! Configuration des interfaces
interface GigabitEthernet1
ip address 1.1.1.1 255.255.255.252
no shutdown
exit
interface Loopback110
ip address 10.10.10.1 255.255.255.255
exit
! Configuration IKEv2
crypto ikev2 keyring KR_IKEV2
peer R2
address 1.1.1.2
pre-shared-key cisco123
exit
crypto ikev2 profile PROF_IKEV2
match identity remote address 1.1.1.2 255.255.255.255
authentication local pre-share
authentication remote pre-share
keyring local KR_IKEV2
exit
! Configuration IPsec
crypto ipsec transform-set TS_IPSEC esp-aes 256 esp-sha256-hmac
mode tunnel
exit
crypto ipsec profile PROF_IPSEC
set transform-set TS_IPSEC
set ikev2-profile PROF_IKEV2
exit
! Interface Tunnel VTI
interface Tunnel0
ip address 10.255.0.1 255.255.255.252
tunnel source GigabitEthernet1
tunnel destination 1.1.1.2
tunnel mode ipsec ipv4
tunnel protection ipsec profile PROF_IPSEC
exit
! Routage
ip route 10.20.20.1 255.255.255.255 Tunnel0
end
write memory
Configuration de R2
configure terminal
hostn R2
! Configuration des interfaces
interface GigabitEthernet1
ip address 1.1.1.2 255.255.255.252
no shutdown
exit
interface Loopback120
ip address 10.20.20.1 255.255.255.255
exit
! Configuration IKEv2
crypto ikev2 keyring KR_IKEV2
peer R1
address 1.1.1.1
pre-shared-key cisco123
exit
crypto ikev2 profile PROF_IKEV2
match identity remote address 1.1.1.1 255.255.255.255
authentication local pre-share
authentication remote pre-share
keyring local KR_IKEV2
exit
! Configuration IPsec
crypto ipsec transform-set TS_IPSEC esp-aes 256 esp-sha256-hmac
mode tunnel
exit
crypto ipsec profile PROF_IPSEC
set transform-set TS_IPSEC
set ikev2-profile PROF_IKEV2
exit
! Interface Tunnel VTI
interface Tunnel0
ip address 10.255.0.2 255.255.255.252
tunnel source GigabitEthernet1
tunnel destination 1.1.1.1
tunnel mode ipsec ipv4
tunnel protection ipsec profile PROF_IPSEC
exit
! Routage
ip route 10.10.10.1 255.255.255.255 Tunnel0
end
write memory
Vérification du Lab 1
Générez du trafic depuis R1 pour monter le tunnel, puis vérifiez son état :
ping 10.20.20.1 source 10.10.10.1
show crypto ikev2 sa
L'état de la SA doit indiquer READY.
4. Laboratoire 2 : Ajout d'un PPK Manuel (Transition quantum-safe)
Ajout d'une Post-quantum Preshared Key (PPK) en surcouche au profil existant.
Sur R1
configure terminal
crypto ikev2 keyring ppk PPK-KR
peer R2
ppk manual id LAB-PQ key LabPQ2026
exit
exit
crypto ikev2 profile PROF_IKEV2
keyring ppk PPK-KR
end
write memory
Sur R2
configure terminal
crypto ikev2 keyring ppk PPK-KR
peer R1
ppk manual id LAB-PQ key LabPQ2026
exit
exit
crypto ikev2 profile PROF_IKEV2
keyring ppk PPK-KR
end
write memory
Vérification du Lab 2
Forcez la renégociation du tunnel pour appliquer la protection post-quantique :
! Sur R1 :
clear crypto sa
clear crypto ikev2 sa
ping 10.20.20.1 source 10.10.10.1
! Vérification détaillée :
show crypto ikev2 sa detailed
Le trafic est inchangé, mais la sortie détaillée de la commande show confirme l'intégration de la clé quantique dans la dérivation des secrets de session.
Ajout du PPK Obligatoire
L'objectif de ce laboratoire est de passer d'un renforcement optionnel à une politique stricte (enforcement). Il n'y a plus de fallback autorisé : le tunnel IKEv2 ne doit s'établir que si la clé PPK est strictement identique et configurée des deux côtés.
configure terminal
crypto ikev2 keyring PPK-KR
peer R2
address 172.16.12.2
ppk manual id LAB-PQ key LabPQ2026 required
exit
exit
! Relance de l'interface virtuelle pour appliquer la politique
interface Tunnel0
shutdown
no shutdown
end
write memory
configure terminal
crypto ikev2 keyring PPK-KR
peer R1
address 172.16.12.1
ppk manual id LAB-PQ key LabPQ2026 required
exit
exit
! Relance de l'interface virtuelle pour appliquer la politique
interface Tunnel0
shutdown
no shutdown
end
write memory