Atualização para vários algoritmos IKE e IPsec

VPN for VPC permite configurar vários algoritmos para políticas de IKE e IPsec. O uso de vários algoritmos pode melhorar a compatibilidade, a flexibilidade e a segurança.

Siga as instruções a seguir para migrar das propriedades de algoritmo únicas, que estão em desuso, para várias propriedades de algoritmo.

Antes de Iniciar

Analise as informações a seguir antes de atualizar suas políticas de VPN.

Propriedades preteridas do algoritmo singular

A partir de 29 de maio de 2026, as propriedades do algoritmo singular VPN IKE e IPsec serão descontinuadas. As conexões VPN existentes, configuradas com propriedades específicas, continuam funcionando sem alterações. No entanto, recomenda-se atualizar para as propriedades do algoritmo baseado em matriz o mais rápido possível.

Propriedades de algoritmos singulares e baseados em matriz para políticas IKE
Propriedade singular do IKE (obsoleta) IKE com várias propriedades (recomendado)
authentication_algorithm authentication_algorithms
encryption_algorithm encryption_algorithms
dh_group dh_groups
Propriedades de algoritmos singulares e baseados em matriz para políticas IPsec
Propriedade IPsec singular (obsoleta) Várias propriedades do IPsec (recomendado)
authentication_algorithm authentication_algorithms
encryption_algorithm encryption_algorithms
pfs pfs_groups

Utilize vários algoritmos quando seu ambiente de VPN exigir compatibilidade com nós que suportem diferentes algoritmos criptográficos ou quando você quiser priorizar uma criptografia mais forte, mantendo a compatibilidade com versões anteriores.

Considerações importantes

  • As conexões VPN que utilizam políticas personalizadas de IKE ou IPsec com propriedades de algoritmos específicos que foram descontinuadas podem apresentar falhas na negociação ou problemas de interoperabilidade.
  • Novas políticas de IKE e IPsec só podem ser criadas utilizando propriedades de algoritmos baseadas em matriz.
  • Quando você atualiza uma política IKE ou IPsec existente, ela pode desconectar temporariamente o túnel VPN enquanto a conexão é restabelecida.
  • Se seus procedimentos de recuperação de desastres, automação, scripts, integrações de API ou fluxos de trabalho da CLI fizerem referência a propriedades singulares obsoletas, atualize-os adequadamente.
  • Analise suas políticas atuais de IKE e IPsec para identificar os algoritmos em uso.
  • Verifique se o gateway de VPN paritário é compatível com os algoritmos que você planeja configurar em IBM Cloud.
  • Configure os algoritmos de correspondência no gateway de VPN par para negociação IKE e IPsec antes de atualizar o gateway IBM Cloud VPN.
  • Planeje atualizações de políticas durante uma janela de manutenção para minimizar a interrupção do serviço.

Compreensão do comportamento de atualização na API

A API sincroniza automaticamente as propriedades de algoritmos singulares e baseados em matriz. Analise o comportamento e as restrições a seguir antes de atualizar suas políticas.

Compatibilidade de versão IKE
As propriedades de algoritmos baseados em matrizes são compatíveis apenas com IKEv2. Se você usar o IKEv1, deverá configurar um único algoritmo para cada categoria utilizando propriedades singulares.
  • Use IKEv2 com propriedades baseadas em matriz:
{
   "ike_version": 2,
   "authentication_algorithms": ["sha512", "sha256"],
   "encryption_algorithms": ["aes256", "aes128"]
}
  • Use “ IKEv1 ” com propriedades no singular:
{
   "ike_version": 1,
   "authentication_algorithm": "sha256",
   "encryption_algorithm": "aes128"
}

IKEv1 suporta apenas um algoritmo por categoria. As conexões VPN que usam IKEv1 não são compatíveis com propriedades de algoritmo IPsec ou IKE baseadas em matriz. Use o site IKEv2 sempre que possível.

Sincronização automática
Quando você atualiza as propriedades baseadas em matriz (authentication_algorithms, encryption_algorithms, dh_groups, pfs_groups), as propriedades singulares correspondentes (authentication_algorithm, encryption_algorithm, dh_group, pfs) são atualizadas automaticamente. Da mesma forma, a atualização de propriedades singulares atualiza automaticamente as propriedades relacionadas baseadas em matriz. Para obter exemplos, consulte:
Indicadores somente leitura
Quando vários algoritmos estão configurados, as propriedades singulares (authentication_algorithm, encryption_algorithm) retornam valores de indicadores somente para leitura nas respostas da API. Por exemplo:
  • authentication_algorithm retorna "multiple"
  • encryption_algorithm retorna "multiple"
  • dh_group retorna 65535

Esses valores são retornados somente nas respostas e não podem ser enviados em uma solicitação PATCH.

{
   "authentication_algorithms": ["sha256", "sha384", "sha512"],
   "authentication_algorithm": "multiple",
   "dh_groups": [14, 15, 16],
   "dh_group": 65535,
   "encryption_algorithms": ["aes128", "aes256"],
   "encryption_algorithm": "multiple"
}

Se apenas um algoritmo estiver configurado em uma propriedade baseada em matriz, a propriedade singular retorna o valor configurado, em vez de "multiple"``.

{
   "authentication_algorithms": ["sha256"],
   "authentication_algorithm": "sha256",
   "dh_groups": [14],
   "dh_group": 14,
   "encryption_algorithms": ["aes128"],
   "encryption_algorithm": "aes128"
}
Restrição de mistura de propriedades
Não misture propriedades singulares e baseadas em matriz para a mesma categoria de algoritmo em uma única solicitação. Escolha uma abordagem por solicitação.
  • Exemplo correto: Esse exemplo inclui as propriedades do algoritmo para IKE, em que somente as propriedades baseadas em matriz são usadas para todas as categorias:
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"]
   }'
  • Exemplo incorreto: Este exemplo inclui as propriedades do algoritmo para IKE, em que as propriedades singulares e baseadas em matriz são misturadas para a mesma categoria:
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 e restrições do algoritmo
Se a propriedade encryption_algorithms contiver algoritmos baseados em GCM (aes128gcm16, aes192gcm16, ou aes256gcm16), a propriedade authentication_algorithms deverá ser definida como ["disabled"].
  • Exemplo correto: Exibe as propriedades do algoritmo IPsec quando a matriz “ encryption_algorithms ” inclui algoritmos baseados em “ 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"]
   }'
  • Exemplo incorreto: Mostra as propriedades do algoritmo para o IPsec, em que a matriz “ encryption_algorithms ” inclui algoritmos baseados em “ 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 fornecem criptografia e autenticação incorporada como parte de uma única operação. Não configure algoritmos de autenticação separados, como sha256 ou sha512 com algoritmos de criptografia GCM.

Não misture algoritmos de criptograf GCM es e não GCM es na mesma política. Misturá-los pode causar conflitos de configuração e falhas na negociação.

: Quando a variável authentication_algorithms estiver definida como ["disabled"]``, você também deverá atualizar a variável authentication_algorithms ao mudar de algoritmos de criptografia GCM para algoritmos que não sejam GCM.

  • Exemplo correto: Atualiza as propriedades encryption_algorithms e 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"]
   }'
  • Exemplo incorreto: Mostra um caso em que apenas a propriedade encryption_algorithms é atualizada com algoritmos que não são 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"]
   }'
Regras de validação do algoritmo
Certifique-se de que todos os valores de algoritmo em sua solicitação sejam válidos, exclusivos e não vazios. Use apenas nomes de algoritmos compatíveis, evite duplicatas e forneça pelo menos um valor em cada matriz. Entradas inválidas, duplicadas ou vazias podem resultar em um erro de validação.
  • Exemplo correto: Atualiza os valores do algoritmo, onde os algoritmos e valores suportados são usados para todas as categorias:
{
   "authentication_algorithms": ["sha512", "sha256"],
   "dh_groups": [14, 15],
   "encryption_algorithms": ["aes256", "aes192", "aes128"]
}
  • Exemplo incorreto: Atualiza os valores do algoritmo, onde valores duplicados são usados na mesma categoria de algoritmo:
{
   "authentication_algorithms": ["sha512", "sha256"],
   "dh_groups": [14, 15],
   "encryption_algorithms": ["aes256", "aes256", "aes128"]
}

Atualização de políticas IKE com a API

Siga estas etapas para atualizar suas políticas IKE, passando de um único algoritmo para vários algoritmos.

Antes de começar, certifique-se de configurar seu ambiente de API.

Para atualizar uma política IKE por meio da API, siga estas etapas:

  1. Armazene o ID da política IKE em uma variável, por exemplo:

    export ike_policy_id=<your_ike_policy_id>
    

    Para localizar o ID da política IKE, use o comando list IKE policies.

  2. Atualize a política IKE para usar vários algoritmos. Substitua as propriedades singulares pelas propriedades baseadas em matriz correspondentes.

    authentication_algorithms- Conjunto de algoritmos de autenticação. Opções: sha256, sha384, sha512.

    dh_groups- Matriz de grupos de Diffie-Hellman. Opções: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 31.

    encryption_algorithms- Conjunto de algoritmos de criptografia. Opções: 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"]
      }'
    

Exemplos de atualização de política IKE

Quando você atualiza as propriedades baseadas em matriz encryption_algorithms, authentication_algorithms e dh_groups na política IKE, as propriedades singulares correspondentes encryption_algorithm, authentication_algorithm e dh_group são atualizadas automaticamente. Da mesma forma, quando você atualiza qualquer uma das propriedades singulares, as propriedades baseadas em matriz associadas também são atualizadas automaticamente.

O exemplo a seguir mostra como as solicitações do PATCH afetam as propriedades singulares e de matriz:

Exemplo 1: Algoritmos únicos para múltiplos

  • Este exemplo mostra o comportamento de aplicação de patches de um único algoritmo para vários algoritmos. O estado atual mostra a propriedade de valor único encryption_algorithm definida como aes128, e a propriedade baseada em matriz encryption_algorithms também contendo apenas 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"
       }
    
  • Na solicitação PATCH, a propriedade baseada em matriz encryption_algorithms é atualizada para que agora especifique tanto aes128 quanto aes256.

       {
       "encryption_algorithms": [
          "aes128",
          "aes256"
       ]
       }
    
  • Uma resposta bem-sucedida se parece com o exemplo a seguir. Nesta resposta, a propriedade singular encryption_algorithm retorna um valor somente leitura "multiple", indicando que vários algoritmos estão agora configurados. Este campo não pode ser modificado diretamente por meio de uma solicitação do tipo “ PATCH ”. A propriedade baseada em matriz encryption_algorithms foi atualizada para incluir tanto aes128 quanto 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"
       }
    

Exemplo 2: Vários algoritmos para um único

  • Este exemplo mostra o comportamento de aplicação de patches de vários algoritmos para um único. O estado atual mostra que a propriedade de valor único encryption_algorithm está definida como "multiple", e que a propriedade baseada em matriz encryption_algorithms contém aes128 e 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"
       }
    
  • Na solicitação PATCH, a propriedade baseada em matriz encryption_algorithms é atualizada para que agora especifique apenas aes256.

       {
       "encryption_algorithms": [
          "aes256"
       ]
       }
    
  • Uma resposta bem-sucedida se parece com o exemplo a seguir. Nessa resposta, a propriedade de valor único encryption_algorithm é definida automaticamente como aes256, indicando que apenas um único algoritmo está configurado. A propriedade baseada em matriz ` `encryption_algorithms` ` foi atualizada 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"
       }
    

Atualização de políticas IPsec com a API

Siga estas etapas para atualizar suas políticas IPsec de propriedades de algoritmo singulares para propriedades de algoritmo baseadas em matriz.

Antes de começar, certifique-se de configurar seu ambiente de API.

Para atualizar uma política IPsec por meio da API, siga estas etapas:

  1. Armazene o ID da política IPsec em uma variável, por exemplo:

    export ipsec_policy_id=<your_ipsec_policy_id>
    

    Para localizar o ID da política IPsec, use o comando list IPsec policies.

  2. Atualize a política IPsec para usar vários algoritmos. Substitua as propriedades singulares pelas propriedades baseadas em matriz correspondentes.

    authentication_algorithms- Conjunto de algoritmos de autenticação. Opções: sha256, sha384, sha512, disabled.

    encryption_algorithms- Conjunto de algoritmos de criptografia. Opções: aes128, aes192, aes256, aes128gcm16, aes192gcm16, aes256gcm16.

    pfs_groups- Matriz de grupos de Perfect Forward Secrecy. Opções: 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"]
      }'
    

Exemplos de atualização de política IPsec

Quando você atualiza as propriedades baseadas em matriz encryption_algorithms, authentication_algorithms e pfs_groups em uma política IPsec, as propriedades de valor único correspondentes encryption_algorithm, authentication_algorithm e pfs são atualizadas automaticamente. Da mesma forma, quando você atualiza qualquer uma das propriedades de valor único, as propriedades baseadas em matriz associadas também são atualizadas automaticamente.

O exemplo a seguir mostra como as solicitações do PATCH afetam as propriedades singulares e de matriz:

Exemplo 1: Algoritmos únicos para múltiplos

  • Este exemplo mostra o comportamento de aplicação de patches de um único algoritmo para vários algoritmos. O estado atual mostra a propriedade de valor único encryption_algorithm definida como aes128, e a propriedade baseada em matriz encryption_algorithms também contendo apenas 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"
       }
    
  • Na solicitação PATCH, a propriedade baseada em matriz encryption_algorithms é atualizada para que agora especifique tanto aes128 quanto aes256.

       {
       "encryption_algorithms": [
          "aes128",
          "aes256"
       ]
       }
    
  • Uma resposta bem-sucedida se parece com o exemplo a seguir. Nessa resposta, a propriedade de valor único encryption_algorithm é automaticamente definida com o valor somente leitura "multiple", indicando que agora há vários algoritmos configurados. Este campo não pode ser modificado diretamente por meio de uma solicitação do tipo “ PATCH ”. A propriedade baseada em matriz encryption_algorithms agora inclui tanto aes128 quanto 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"
       }
    

Exemplo 2: Vários algoritmos para um único

  • Este exemplo mostra o comportamento de aplicação de patches de vários algoritmos para um único. O estado atual mostra que a propriedade de valor único encryption_algorithm está definida como "multiple", e que a propriedade baseada em matriz encryption_algorithms contém aes128 e 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"
       }
    
  • Na solicitação PATCH, a propriedade baseada em matriz encryption_algorithms é atualizada para que agora especifique apenas aes256.

       {
       "encryption_algorithms": [
          "aes256"
       ]
       }
    
  • Uma resposta bem-sucedida se parece com o exemplo a seguir. Nessa resposta, a propriedade de valor único encryption_algorithm é definida automaticamente como aes256, indicando que apenas um único algoritmo está configurado. A propriedade baseada em matriz ` `encryption_algorithms` ` foi atualizada 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"
        }