Actualización a múltiples algoritmos IKE e IPsec

VPN for VPC permite configurar varios algoritmos para las políticas de IKE e IPsec. El uso de varios algoritmos puede mejorar la compatibilidad, la flexibilidad y la seguridad.

Sigue estas instrucciones para migrar de las propiedades de algoritmo únicas, que ya no se utilizan, a las propiedades de algoritmo múltiples.

Antes de empezar

Revisa la siguiente información antes de actualizar tus políticas de VPN.

Propiedades del algoritmo singular obsoletas

A partir del 29 de mayo de 2026, las propiedades de algoritmo singular VPN IKE e IPsec quedan obsoletas. Las conexiones VPN existentes configuradas con propiedades específicas siguen funcionando sin cambios. No obstante, se recomienda actualizar a las propiedades del algoritmo basadas en matrices lo antes posible.

Propiedades de algoritmos singulares y basados en matrices para políticas IKE
Propiedad singular de IKE (obsoleta) IKE con varias propiedades (recomendado)
authentication_algorithm authentication_algorithms
encryption_algorithm encryption_algorithms
dh_group dh_groups
Propiedades de algoritmos singulares y basados en matrices para políticas IPsec
Propiedad singular IPsec (obsoleta) IPsec con múltiples propiedades (recomendado)
authentication_algorithm authentication_algorithms
encryption_algorithm encryption_algorithms
pfs pfs_groups

Utiliza varios algoritmos cuando tu entorno VPN requiera compatibilidad con otros usuarios que admitan diferentes algoritmos criptográficos o cuando desees dar prioridad a un cifrado más seguro sin perder la compatibilidad con versiones anteriores.

Consideraciones importantes

  • Las conexiones VPN que utilicen políticas IKE o IPsec personalizadas con propiedades de algoritmos individuales obsoletas podrían sufrir fallos en la negociación o problemas de interoperabilidad.
  • Las nuevas políticas de IKE e IPsec solo se pueden crear utilizando propiedades de algoritmos basadas en matrices.
  • Al actualizar una política IKE o IPsec existente, puede que se desconecte temporalmente el túnel VPN mientras se restablece la conexión.
  • Si sus procedimientos de recuperación ante desastres, automatización, secuencias de comandos, integraciones de API o flujos de trabajo de CLI hacen referencia a propiedades singulares obsoletas, actualícelos en consecuencia.
  • Revise sus políticas actuales de IKE e IPsec para identificar los algoritmos en uso.
  • Compruebe que la pasarela VPN par admite los algoritmos que tiene previsto configurar en IBM Cloud.
  • Configure los algoritmos de coincidencia en la pasarela VPN par para la negociación IKE e IPsec antes de actualizar la pasarela IBM Cloud VPN.
  • Planifique las actualizaciones de las políticas durante una ventana de mantenimiento para minimizar la interrupción del servicio.

Comprender el comportamiento de actualización en la API

La API sincroniza automáticamente las propiedades de algoritmos singulares y basados en matrices. Revise las siguientes conductas y restricciones antes de actualizar sus políticas.

Compatibilidad con la versión de IKE
Las propiedades de algoritmos basados en matrices sólo son compatibles con IKEv2. Si utilizas IKEv1, debes configurar un único algoritmo para cada categoría utilizando propiedades singulares.
  • Utilice IKEv2 con propiedades basadas en matrices:
{
   "ike_version": 2,
   "authentication_algorithms": ["sha512", "sha256"],
   "encryption_algorithms": ["aes256", "aes128"]
}
  • Utiliza « IKEv1 » con propiedades en singular:
{
   "ike_version": 1,
   "authentication_algorithm": "sha256",
   "encryption_algorithm": "aes128"
}

IKEv1 sólo admite un algoritmo por categoría. Las conexiones VPN que utilizan IKEv1 no son compatibles con IKE basado en matrices ni con las propiedades de los algoritmos IPsec. Utilice IKEv2 siempre que sea posible.

Sincronización automática
Al actualizar las propiedades basadas en matrices (authentication_algorithms, encryption_algorithms, dh_groups, pfs_groups), se actualizan automáticamente las propiedades singulares correspondientes (authentication_algorithm, encryption_algorithm, dh_group, pfs). Del mismo modo, la actualización de propiedades singulares actualiza automáticamente las propiedades basadas en matrices relacionadas. Para ver ejemplos, consulte:
Indicadores de sólo lectura
Cuando se configuran varios algoritmos, las propiedades singulares (authentication_algorithm, encryption_algorithm) devuelven valores de indicador de solo lectura en las respuestas de la API. Por ejemplo:
  • authentication_algorithm devuelve "multiple"
  • encryption_algorithm devuelve "multiple"
  • dh_group devuelve 65535

Estos valores sólo se devuelven en las respuestas y no pueden enviarse en una solicitud a 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 solo hay un algoritmo configurado en una propiedad basada en una matriz, la propiedad singular devuelve el valor configurado en lugar de "multiple".

{
   "authentication_algorithms": ["sha256"],
   "authentication_algorithm": "sha256",
   "dh_groups": [14],
   "dh_group": 14,
   "encryption_algorithms": ["aes128"],
   "encryption_algorithm": "aes128"
}
Restricción de la mezcla de propiedades
No mezcle propiedades singulares y basadas en matrices para la misma categoría de algoritmo en una misma solicitud. Elija un enfoque por solicitud.
  • Ejemplo correcto: Este ejemplo incluye las propiedades del algoritmo para IKE, donde sólo se utilizan propiedades basadas en matrices para todas las categorías:
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"]
   }'
  • Ejemplo incorrecto: Este ejemplo incluye las propiedades del algoritmo para IKE, donde se mezclan propiedades singulares y basadas en matrices para la misma categoría:
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 requisitos y restricciones del algoritmo
Si la propiedad encryption_algorithms contiene algoritmos basados en GCM (aes128gcm16, aes192gcm16, o aes256gcm16), la propiedad authentication_algorithms debe establecerse en ["disabled"].
  • Ejemplo correcto: Muestra las propiedades del algoritmo IPsec cuando la matriz « encryption_algorithms » incluye algoritmos basados en « 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"]
   }'
  • Ejemplo incorrecto: muestra las propiedades del algoritmo para IPsec en el que la matriz « encryption_algorithms » incluye algoritmos basados en « 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 proporcionan cifrado y autenticación integrada como parte de una única operación. No configure algoritmos de autenticación independientes como sha256 o sha512 con algoritmos de cifrado GCM.

No mezcles algoritmos de cifrado « GCM » y «non- GCM » en la misma política. Mezclarlos puede provocar conflictos de configuración y fallos en la negociación.

: Cuando authentication_algorithms está configurado como ["disabled"], también debes actualizar authentication_algorithms al cambiar de GCM a algoritmos de cifrado que no sean GCM.

  • Ejemplo correcto: Actualiza las propiedades encryption_algorithms y authentication_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"]
   }'
  • Ejemplo incorrecto: Muestra un caso en el que sólo se actualiza la propiedad encryption_algorithms con algoritmos que no son 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"]
   }'
Reglas de validación de algoritmos
Asegúrese de que todos los valores de algoritmo de su solicitud son válidos, únicos y no están vacíos. Utilice sólo nombres de algoritmos compatibles, evite los duplicados y proporcione al menos un valor en cada matriz. Las entradas no válidas, duplicadas o vacías pueden dar lugar a un error de validación.
  • Ejemplo correcto: Actualiza los valores del algoritmo, donde los algoritmos y valores soportados se utilizan para todas las categorías:
{
   "authentication_algorithms": ["sha512", "sha256"],
   "dh_groups": [14, 15],
   "encryption_algorithms": ["aes256", "aes192", "aes128"]
}
  • Ejemplo incorrecto: Actualiza los valores del algoritmo, donde se utilizan valores duplicados en la misma categoría de algoritmo:
{
   "authentication_algorithms": ["sha512", "sha256"],
   "dh_groups": [14, 15],
   "encryption_algorithms": ["aes256", "aes256", "aes128"]
}

Actualización de políticas IKE con la API

Sigue estos pasos para actualizar tus políticas IKE y pasar de un algoritmo único a varios.

Antes de empezar, asegúrese de configurar su entorno API.

Para actualizar una política IKE mediante la API, sigue estos pasos:

  1. Almacena el ID de la política IKE en una variable, por ejemplo:

    export ike_policy_id=<your_ike_policy_id>
    

    Para encontrar el ID de la política IKE, utilice el comando list IKE policies.

  2. Actualice la política IKE para utilizar varios algoritmos. Sustituye las propiedades singulares por las correspondientes propiedades basadas en matrices.

    authentication_algorithms- Conjunto de algoritmos de autenticación. Opciones: sha256, sha384, sha512.

    dh_groups- Conjunto de grupos Diffie-Hellman. Opciones: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 31.

    encryption_algorithms- Conjunto de algoritmos de cifrado. Opciones: 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"]
      }'
    

Ejemplos de actualización de políticas IKE

Cuando se actualizan las propiedades basadas en matrices encryption_algorithms, authentication_algorithms, y dh_groups en la política IKE, las propiedades singulares correspondientes encryption_algorithm, authentication_algorithm, y dh_group se actualizan automáticamente. Del mismo modo, al actualizar cualquiera de las propiedades singulares, también se actualizan automáticamente las propiedades basadas en matrices asociadas.

El siguiente ejemplo muestra cómo las peticiones a PATCH afectan tanto a las propiedades singulares como a las del array:

Ejemplo 1: De algoritmos simples a múltiples

  • Este ejemplo muestra el comportamiento de parcheo de algoritmos simples a múltiples. El estado actual muestra la propiedad de valor único encryption_algorithm establecida en aes128, y la propiedad basada en matrices encryption_algorithms que también contiene sólo aes128.

       {
       "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"
       }
    
  • En la solicitud PATCH, la propiedad basada en matrices encryption_algorithms se actualiza para que ahora especifique tanto aes128 como aes256.

       {
       "encryption_algorithms": [
          "aes128",
          "aes256"
       ]
       }
    
  • Una respuesta satisfactoria tiene un aspecto similar al del ejemplo siguiente. En esta respuesta, la propiedad singular encryption_algorithm devuelve un valor de solo lectura "multiple", lo que indica que ahora hay varios algoritmos configurados. Este campo no se puede modificar directamente mediante una solicitud de tipo « PATCH ». La propiedad basada en una matriz « encryption_algorithms » se ha actualizado para incluir tanto « aes128 » como « aes256 ».

       {
       "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"
       }
    

Ejemplo 2: Múltiples algoritmos en uno

  • Este ejemplo muestra el comportamiento de parcheo de múltiples a un único algoritmo. El estado actual muestra que la propiedad de valor único encryption_algorithm está establecida en "multiple", y que la propiedad basada en una matriz encryption_algorithms contiene aes128 y aes256.

       {
       "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"
       }
    
  • En la solicitud PATCH, la propiedad basada en matrices encryption_algorithms se actualiza para que ahora especifique sólo aes256.

       {
       "encryption_algorithms": [
          "aes256"
       ]
       }
    
  • Una respuesta satisfactoria tiene un aspecto similar al del ejemplo siguiente. En esta respuesta, la propiedad de valor único « encryption_algorithm » se establece automáticamente en « aes256 », lo que indica que solo hay un algoritmo configurado. La propiedad basada en una matriz « encryption_algorithms » se ha actualizado para incluir « 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"
       }
    

Actualización de políticas IPsec con la API

Siga estos pasos para actualizar sus políticas IPsec de propiedades de algoritmos singulares a basadas en matrices.

Antes de empezar, asegúrese de configurar su entorno API.

Para actualizar una política de IPsec mediante la API, sigue estos pasos:

  1. Almacena el ID de la política IPsec en una variable, por ejemplo:

    export ipsec_policy_id=<your_ipsec_policy_id>
    

    Para encontrar el ID de la política IPsec, utilice el comando list IPsec policies.

  2. Actualice la política IPsec para utilizar múltiples algoritmos. Sustituye las propiedades singulares por las correspondientes propiedades basadas en matrices.

    authentication_algorithms- Conjunto de algoritmos de autenticación. Opciones: sha256, sha384, sha512, disabled.

    encryption_algorithms- Conjunto de algoritmos de cifrado. Opciones: aes128, aes192, aes256, aes128gcm16, aes192gcm16, aes256gcm16.

    pfs_groups- Conjunto de grupos de Perfect Forward Secrecy. Opciones: 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"]
      }'
    

Ejemplos de actualización de políticas IPsec

Cuando se actualizan las propiedades basadas en matrices encryption_algorithms, authentication_algorithms, y pfs_groups en una política IPsec, las correspondientes propiedades de valor único encryption_algorithm, authentication_algorithm, y pfs se actualizan automáticamente. Del mismo modo, al actualizar cualquiera de las propiedades de valor único, también se actualizan automáticamente las propiedades basadas en matrices asociadas.

El siguiente ejemplo muestra cómo las peticiones a PATCH afectan tanto a las propiedades singulares como a las del array:

Ejemplo 1: De algoritmos simples a múltiples

  • Este ejemplo muestra el comportamiento de parcheo de algoritmos simples a múltiples. El estado actual muestra la propiedad de valor único encryption_algorithm establecida en aes128, y la propiedad basada en matrices encryption_algorithms que también contiene sólo aes128.

       {
       "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"
       }
    
  • En la solicitud PATCH, la propiedad basada en matrices encryption_algorithms se actualiza para que ahora especifique tanto aes128 como aes256.

       {
       "encryption_algorithms": [
          "aes128",
          "aes256"
       ]
       }
    
  • Una respuesta satisfactoria tiene un aspecto similar al del ejemplo siguiente. En esta respuesta, la propiedad de valor único « encryption_algorithm » se establece automáticamente en el valor de solo lectura « "multiple" », lo que indica que ahora hay varios algoritmos configurados. Este campo no se puede modificar directamente mediante una solicitud de tipo « PATCH ». La propiedad basada en una matriz « encryption_algorithms » incluye ahora tanto « aes128 » como « 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"
       }
    

Ejemplo 2: Múltiples algoritmos en uno

  • Este ejemplo muestra el comportamiento de parcheo de múltiples a un único algoritmo. El estado actual muestra que la propiedad de valor único encryption_algorithm está establecida en "multiple", y que la propiedad basada en una matriz encryption_algorithms contiene aes128 y 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"
       }
    
  • En la solicitud PATCH, la propiedad basada en matrices encryption_algorithms se actualiza para que ahora especifique sólo aes256.

       {
       "encryption_algorithms": [
          "aes256"
       ]
       }
    
  • Una respuesta satisfactoria tiene un aspecto similar al del ejemplo siguiente. En esta respuesta, la propiedad de valor único « encryption_algorithm » se establece automáticamente en « aes256 », lo que indica que solo hay un algoritmo configurado. La propiedad basada en una matriz « encryption_algorithms » se ha actualizado para incluir « 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"
        }