Mise à jour vers plusieurs algorithmes IKE et IPsec
VPN for VPC permet de configurer plusieurs algorithmes pour les politiques IKE et IPsec. L'utilisation de plusieurs algorithmes peut améliorer la compatibilité, la flexibilité et la sécurité.
Suivez les instructions ci-dessous pour passer des propriétés d'algorithme obsolètes (au singulier) à des propriétés d'algorithme multiples.
Avant de commencer
Veuillez prendre connaissance des informations suivantes avant de mettre à jour vos politiques VPN.
Propriétés de l'algorithme singulier obsolètes
À partir du 29 mai 2026, les propriétés des algorithmes VPN IKE et IPsec singular sont obsolètes. Les connexions VPN existantes, configurées avec des paramètres spécifiques, continuent de fonctionner sans modification. Il est toutefois recommandé de passer dès que possible à des propriétés d'algorithme basées sur des tableaux.
| Propriété singulière IKE (obsolète) | IKE à plusieurs propriétés (recommandé) |
|---|---|
authentication_algorithm |
authentication_algorithms |
encryption_algorithm |
encryption_algorithms |
dh_group |
dh_groups |
| Propriété singulière d'IPsec (obsolète) | Propriété IPsec multiple (recommandée) |
|---|---|
authentication_algorithm |
authentication_algorithms |
encryption_algorithm |
encryption_algorithms |
pfs |
pfs_groups |
Utilisez plusieurs algorithmes lorsque votre environnement VPN doit être compatible avec des nœuds prenant en charge différents algorithmes cryptographiques, ou lorsque vous souhaitez privilégier un chiffrement plus puissant tout en conservant la rétrocompatibilité.
Remarques importantes
- Les connexions VPN qui utilisent des politiques IKE ou IPsec personnalisées comportant des propriétés d'algorithmes spécifiques obsolètes peuvent rencontrer des échecs de négociation ou des problèmes d'interopérabilité.
- Les nouvelles politiques IKE et IPsec ne peuvent être créées qu'en utilisant les propriétés d'algorithmes basées sur des tableaux.
- Lorsque vous mettez à jour une politique IKE ou IPsec existante, il se peut que le tunnel VPN soit temporairement déconnecté pendant que la connexion est rétablie.
- Si vos procédures de reprise après sinistre, vos automatismes, vos scripts, vos intégrations API ou vos flux de travail CLI font référence à des propriétés singulières obsolètes, mettez-les à jour en conséquence.
- Examinez vos politiques IKE et IPsec actuelles pour identifier les algorithmes utilisés.
- Vérifiez que la passerelle VPN homologue prend en charge les algorithmes que vous prévoyez de configurer sur IBM Cloud.
- Configurez les algorithmes de correspondance sur la passerelle VPN homologue pour la négociation IKE et IPsec avant de mettre à jour la passerelle IBM Cloud VPN.
- Planifier les mises à jour des politiques pendant une fenêtre de maintenance afin de minimiser les interruptions de service.
Comprendre le comportement des mises à jour dans l'API
L'API synchronise automatiquement les propriétés des algorithmes singuliers et des algorithmes basés sur des tableaux. Examinez les comportements et les restrictions suivants avant de mettre à jour vos politiques.
- Compatibilité des versions IKE
- Les propriétés des algorithmes basés sur des tableaux ne sont prises en charge qu'à l'adresse IKEv2. Si vous utilisez IKEv1, vous devez configurer un algorithme unique pour chaque catégorie à l'aide de propriétés singulières.
- Utilisez IKEv2 avec les propriétés basées sur des tableaux :
{
"ike_version": 2,
"authentication_algorithms": ["sha512", "sha256"],
"encryption_algorithms": ["aes256", "aes128"]
}
- Utilisez « IKEv1 » avec des propriétés au singulier :
{
"ike_version": 1,
"authentication_algorithm": "sha256",
"encryption_algorithm": "aes128"
}
IKEv1 ne prend en charge qu'un seul algorithme par catégorie. Les connexions VPN qui utilisent IKEv1 ne prennent pas en charge les propriétés des algorithmes IKE ou IPsec basées sur des tableaux. Utilisez IKEv2 dans la mesure du possible.
- Synchronisation automatique
- Lorsque vous mettez à jour les propriétés basées sur un tableau (
authentication_algorithms,encryption_algorithms,dh_groups,pfs_groups), les propriétés singulières correspondantes (authentication_algorithm,encryption_algorithm,dh_group,pfs) sont mises à jour automatiquement. De même, la mise à jour des propriétés singulières met automatiquement à jour les propriétés connexes basées sur des tableaux. Pour des exemples, voir :
- Indicateurs en lecture seule
- Lorsque plusieurs algorithmes sont configurés, les propriétés spécifiques (
authentication_algorithm,encryption_algorithm) renvoient des valeurs d'indicateur en lecture seule dans les réponses de l'API. Exemple :
authentication_algorithmretourne"multiple"encryption_algorithmretourne"multiple"dh_groupretourne65535
Ces valeurs ne sont renvoyées que dans les réponses et ne peuvent pas être soumises dans une demande PATCH.
{
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"authentication_algorithm": "multiple",
"dh_groups": [14, 15, 16],
"dh_group": 65535,
"encryption_algorithms": ["aes128", "aes256"],
"encryption_algorithm": "multiple"
}
Si un seul algorithme est configuré dans une propriété basée sur un tableau, la propriété singulière renvoie la valeur configurée au lieu de "multiple".
{
"authentication_algorithms": ["sha256"],
"authentication_algorithm": "sha256",
"dh_groups": [14],
"dh_group": 14,
"encryption_algorithms": ["aes128"],
"encryption_algorithm": "aes128"
}
- Restriction du mélange des propriétés
- Ne pas mélanger dans une même demande des propriétés singulières et des propriétés basées sur des tableaux pour la même catégorie d'algorithme. Choisissez une approche par demande.
- Exemple correct : Cet exemple inclut les propriétés de l'algorithme pour IKE, où seules les propriétés basées sur des tableaux sont utilisées pour toutes les catégories :
curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"dh_groups": [14, 15, 16],
"encryption_algorithms": ["aes128", "aes256"]
}'
- Exemple incorrect : Cet exemple inclut les propriétés de l'algorithme pour IKE, où les propriétés singulières et les propriétés basées sur des tableaux sont mélangées pour la même catégorie :
curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithm": "sha512",
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"dh_groups": [14, 15, 16],
"encryption_algorithms": ["aes128", "aes256"]
}'
- GCM exigences et restrictions relatives aux algorithmes
- Si la propriété
encryption_algorithmscontient des algorithmes basés sur GCM (aes128gcm16,aes192gcm16ouaes256gcm16), la propriétéauthentication_algorithmsdoit être définie sur["disabled"].
- Exemple correct : affiche les propriétés des algorithmes IPsec lorsque le tableau «
encryption_algorithms» (Algorithmes de chiffrement) comprend des algorithmes basés sur « GCM » :
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["disabled"],
"encryption_algorithms": ["aes256gcm16", "aes192gcm16"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- Exemple incorrect : affiche les propriétés de l'algorithme pour IPsec alors que le tableau «
encryption_algorithms» ( ) comprend des algorithmes basés sur « GCM » :
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["sha256"],
"encryption_algorithms": ["aes256gcm16", "aes192gcm16"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
GCM permettent le chiffrement et l'authentification intégrée dans le cadre d'une seule opération. Ne configurez pas d'algorithmes d'authentification distincts tels que sha256 ou sha512 avec des algorithmes de cryptage
GCM.
Ne mélangez pas les algorithmes de chiffrement « GCM » et « non- GCM » dans une même politique. Leur combinaison peut entraîner des conflits de configuration et des échecs de négociation.
: Lorsque le paramètre « authentication_algorithms » est défini sur « ["disabled"] », vous devez également mettre à jour le paramètre « authentication_algorithms » si vous passez d'un algorithme
de chiffrement « GCM » à un algorithme autre que « GCM ».
- Exemple correct : Mise à jour des propriétés
encryption_algorithmsetauthentication_algorithms:
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["sha512", "sha256"],
"encryption_algorithms": ["aes256", "aes128"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- Exemple incorrect : Montre un cas où seule la propriété
encryption_algorithmsest mise à jour avec des algorithmes non GCM (aes128,aes192,aes256):
curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
-H "Authorization: $iam_token" \
-d '{
"authentication_algorithms": ["disabled"],
"encryption_algorithms": ["aes256", "aes128"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- Règles de validation des algorithmes
- Assurez-vous que toutes les valeurs d'algorithme de votre demande sont valides, uniques et non vides. N'utilisez que des noms d'algorithmes supportés, évitez les doublons et fournissez au moins une valeur dans chaque tableau. Les entrées non valides, en double ou vides peuvent entraîner une erreur de validation.
- Exemple correct : Met à jour les valeurs des algorithmes, lorsque les algorithmes et valeurs pris en charge sont utilisés pour toutes les catégories :
{
"authentication_algorithms": ["sha512", "sha256"],
"dh_groups": [14, 15],
"encryption_algorithms": ["aes256", "aes192", "aes128"]
}
- Exemple incorrect : Met à jour les valeurs de l'algorithme, lorsque des valeurs en double sont utilisées dans la même catégorie d'algorithme :
{
"authentication_algorithms": ["sha512", "sha256"],
"dh_groups": [14, 15],
"encryption_algorithms": ["aes256", "aes256", "aes128"]
}
Mise à jour des politiques IKE avec l'API
Suivez ces étapes pour mettre à jour vos politiques IKE et passer d'un algorithme unique à plusieurs algorithmes.
Avant de commencer, assurez-vous de configurer votre environnement API.
Pour mettre à jour une politique IKE via l'API, procédez comme suit :
-
Enregistrez l'ID de la politique IKE dans une variable, par exemple :
export ike_policy_id=<your_ike_policy_id>Pour trouver l'ID de la politique IKE, utilisez la commande list IKE policies.
-
Mettez à jour la stratégie IKE pour utiliser plusieurs algorithmes. Remplacer les propriétés singulières par les propriétés correspondantes basées sur des tableaux.
authentication_algorithms- Tableau d'algorithmes d'authentification. Options :sha256,sha384,sha512.dh_groups- Tableau des groupes de Diffie-Hellman. Options :14,15,16,17,18,19,20,21,22,23,24,31.encryption_algorithms- Tableau d'algorithmes de cryptage. Options :aes128,aes192,aes256.curl -X PATCH "$vpc_api_endpoint/v1/ike_policies/$ike_policy_id?version=$api_version&generation=2" \ -H "Authorization: $iam_token" \ -d '{ "authentication_algorithms": ["sha256", "sha384", "sha512"], "dh_groups": [14, 15, 16], "encryption_algorithms": ["aes128", "aes256"] }'
Exemples de mise à jour de la politique IKE
Lorsque vous mettez à jour les propriétés basées sur le tableau encryption_algorithms, authentication_algorithms, et dh_groups dans la stratégie IKE, les propriétés singulières correspondantes encryption_algorithm,
authentication_algorithm, et dh_group sont automatiquement mises à jour. De même, lorsque vous mettez à jour l'une des propriétés singulières, les propriétés associées basées sur les tableaux sont également mises
à jour automatiquement.
L'exemple suivant montre comment les requêtes PATCH affectent les propriétés singulières et les propriétés de tableau :
Exemple 1 : algorithmes simples à multiples
-
Cet exemple montre comment passer d'un algorithme unique à des algorithmes multiples. L'état actuel montre que la propriété à valeur unique
encryption_algorithmest définie suraes128, et que la propriété basée sur un tableauencryption_algorithmsne contient également queaes128.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "aes128", "encryption_algorithms": [ "aes128" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" } -
Dans la requête
PATCH, la propriétéencryption_algorithms, basée sur un tableau, est mise à jour de manière à spécifier à la foisaes128etaes256.{ "encryption_algorithms": [ "aes128", "aes256" ] } -
Une réponse réussie ressemble à celle de l'exemple ci-après. Dans cette réponse, la propriété singulière
encryption_algorithmrenvoie une valeur en lecture seule"multiple", indiquant que plusieurs algorithmes sont désormais configurés. Ce champ ne peut pas être modifié directement via une requêtePATCH. La propriété «encryption_algorithms», basée sur un tableau, a été mise à jour pour inclure à la foisaes128etaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" }
Exemple 2 : Plusieurs algorithmes pour un seul
-
Cet exemple montre comment passer de plusieurs algorithmes à un seul. L'état actuel indique que la propriété à valeur unique
encryption_algorithmest définie sur"multiple", et que la propriété de type tableauencryption_algorithmscontientaes128etaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" } -
Dans la requête
PATCH, la propriétéencryption_algorithms, basée sur un tableau, est mise à jour de manière à ne spécifier queaes256.{ "encryption_algorithms": [ "aes256" ] } -
Une réponse réussie ressemble à celle de l'exemple ci-après. Dans cette réponse, la propriété à valeur unique «
encryption_algorithm» est automatiquement définie sur «aes256», ce qui indique qu’un seul algorithme est configuré. La propriété «encryption_algorithms», basée sur un tableau, a été mise à jour pour inclure «aes256».{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "created_at": "2025-03-09T01:40:25.782663Z", "dh_group": 14, "dh_groups": [ 14 ], "encryption_algorithm": "aes256", "encryption_algorithms": [ "aes256" ], "id": "r006-e98f46a3-1e4e-4195-b4e5-b8155192689d", "ike_version": 2, "key_lifetime": 28800, "name": "my-ike-policy", "negotiation_mode": "main", "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ike_policy" }
Mise à jour des politiques IPsec avec l'API
Procédez comme suit pour mettre à jour vos politiques IPsec et passer des propriétés d'algorithmes singuliers à des propriétés d'algorithmes basés sur des tableaux.
Avant de commencer, assurez-vous de configurer votre environnement API.
Pour mettre à jour une politique IPsec à l'aide de l'API, procédez comme suit :
-
Enregistrez l'ID de la politique IPsec dans une variable, par exemple :
export ipsec_policy_id=<your_ipsec_policy_id>Pour trouver l'ID de la politique IPsec, utilisez la commande list IPsec policies.
-
Mettre à jour la politique IPsec pour utiliser plusieurs algorithmes. Remplacer les propriétés singulières par les propriétés correspondantes basées sur des tableaux.
authentication_algorithms- Tableau d'algorithmes d'authentification. Options :sha256,sha384,sha512,disabled.encryption_algorithms- Tableau d'algorithmes de cryptage. Options :aes128,aes192,aes256,aes128gcm16,aes192gcm16,aes256gcm16.pfs_groups- Réseau de groupes "Perfect Forward Secrecy". Options :disabled,group_14,group_15,group_16,group_17,group_18,group_19,group_20,group_21,group_22,group_23,group_24,group_31.curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \ -H "Authorization: $iam_token" \ -d '{ "authentication_algorithms": ["sha256", "sha384", "sha512"], "encryption_algorithms": ["aes128", "aes256"], "pfs_groups": ["group_14", "group_15", "group_16"] }'
Exemples de mise à jour de la politique IPsec
Lorsque vous mettez à jour les propriétés basées sur un tableau encryption_algorithms, authentication_algorithms, et pfs_groups dans une politique IPsec, les propriétés correspondantes à valeur unique
encryption_algorithm, authentication_algorithm, et pfs sont automatiquement mises à jour. De même, lorsque vous mettez à jour l'une des propriétés à valeur unique, les propriétés associées basées sur
un tableau sont également mises à jour automatiquement.
L'exemple suivant montre comment les requêtes PATCH affectent les propriétés singulières et les propriétés de tableau :
Exemple 1 : algorithmes simples à multiples
-
Cet exemple montre comment passer d'un algorithme unique à des algorithmes multiples. L'état actuel montre que la propriété à valeur unique
encryption_algorithmest définie suraes128, et que la propriété basée sur un tableauencryption_algorithmsne contient également queaes128.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes128", "encryption_algorithms": [ "aes128" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" } -
Dans la requête
PATCH, la propriétéencryption_algorithms, basée sur un tableau, est mise à jour de manière à spécifier à la foisaes128etaes256.{ "encryption_algorithms": [ "aes128", "aes256" ] } -
Une réponse réussie ressemble à celle de l'exemple ci-après. Dans cette réponse, la propriété à valeur unique «
encryption_algorithm» est automatiquement définie sur la valeur en lecture seule «"multiple"», ce qui indique que plusieurs algorithmes sont désormais configurés. Ce champ ne peut pas être modifié directement via une requêtePATCH. La propriété «encryption_algorithms», basée sur un tableau, inclut désormais à la fois «aes128» et «aes256».{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" }
Exemple 2 : Plusieurs algorithmes pour un seul
-
Cet exemple montre comment passer de plusieurs algorithmes à un seul. L'état actuel indique que la propriété à valeur unique
encryption_algorithmest définie sur"multiple", et que la propriété de type tableauencryption_algorithmscontientaes128etaes256.{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "multiple", "encryption_algorithms": [ "aes128", "aes256" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" } -
Dans la requête
PATCH, la propriétéencryption_algorithms, basée sur un tableau, est mise à jour de manière à ne spécifier queaes256.{ "encryption_algorithms": [ "aes256" ] } -
Une réponse réussie ressemble à celle de l'exemple ci-après. Dans cette réponse, la propriété à valeur unique «
encryption_algorithm» est automatiquement définie sur «aes256», ce qui indique qu’un seul algorithme est configuré. La propriété «encryption_algorithms», basée sur un tableau, a été mise à jour pour inclure «aes256».{ "authentication_algorithm": "sha256", "authentication_algorithms": [ "sha256" ], "connections": [], "created_at": "2025-03-09T01:46:00.785105Z", "encapsulation_mode": "tunnel", "encryption_algorithm": "aes256", "encryption_algorithms": [ "aes256" ], "id": "r006-51eae621-dbbc-4c47-b623-b57a43c19876", "key_lifetime": 3600, "name": "my-ipsec-policy", "pfs": "group_14", "pfs_groups": [ "group_14" ], "resource_group": { "id": "fee82deba12e4c0fb69c3b09d1f12345", "name": "Default" }, "resource_type": "ipsec_policy", "transform_protocol": "esp" }