여러 IKE 및 IPsec 알고리즘으로 업데이트하기
VPN for VPC IKE 및 IPsec 정책에 대해 여러 알고리즘을 구성할 수 있도록 지원합니다. 여러 알고리즘을 사용하면 호환성, 유연성 및 보안을 향상시킬 수 있습니다.
다음 지침에 따라 더 이상 사용되지 않는 단일 알고리즘 속성에서 여러 알고리즘 속성으로 마이그레이션하십시오.
시작하기 전에
VPN 정책을 업데이트하기 전에 다음 정보를 확인하십시오.
더 이상 사용되지 않는 단일 알고리즘 속성
2026년 5월 29일부로 VPN IKE 및 IPsec 단일 알고리즘 속성은 더 이상 사용되지 않습니다. 단일 속성으로 구성된 기존 VPN 연결은 변경 없이 계속 작동합니다. 그러나 가능한 한 빨리 배열 기반 알고리즘 속성으로 업데이트하는 것이 좋습니다.
| IKE 단일 속성(사용되지 않음) | IKE 다중 속성 (권장) |
|---|---|
authentication_algorithm |
authentication_algorithms |
encryption_algorithm |
encryption_algorithms |
dh_group |
dh_groups |
| IPsec 단일 속성(사용되지 않음) | IPsec 다중 속성 (권장) |
|---|---|
authentication_algorithm |
authentication_algorithms |
encryption_algorithm |
encryption_algorithms |
pfs |
pfs_groups |
VPN 환경에서 서로 다른 암호화 알고리즘을 지원하는 피어와의 호환성이 필요하거나, 하위 버전과의 호환성을 유지하면서 더 강력한 암호화를 우선시하고자 할 때는 여러 알고리즘을 사용하십시오.
중요한 고려사항
- 사용이 권장되지 않는 단일 알고리즘 속성을 가진 사용자 지정 IKE 또는 IPsec 정책을 사용하는 VPN 연결의 경우, 협상 실패나 상호 운용성 문제가 발생할 수 있습니다.
- 새로운 IKE 및 IPsec 정책은 어레이 기반 알고리즘 속성을 사용해야만 생성할 수 있습니다.
- 기존 IKE 또는 IPsec 정책을 업데이트하면 연결이 다시 설정되는 동안 일시적으로 VPN 터널 연결이 끊어질 수 있습니다.
- 재해 복구 절차, 자동화, 스크립트, API 통합 또는 CLI 워크플로우에서 더 이상 사용되지 않는 단일 속성을 참조하는 경우에는 그에 따라 업데이트하세요.
- 현재 IKE 및 IPsec 정책을 검토하여 사용 중인 알고리즘을 파악하세요.
- 피어 VPN 게이트웨이가 IBM Cloud 에서 구성하려는 알고리즘을 지원하는지 확인합니다.
- IBM Cloud VPN 게이트웨이를 업데이트하기 전에 피어 VPN 게이트웨이에서 IKE 및 IPsec 협상을 위한 일치 알고리즘을 구성하세요.
- 유지 관리 기간 동안 정책 업데이트를 계획하여 서비스 중단을 최소화하세요.
API의 업데이트 동작 이해
API는 단수 및 배열 기반 알고리즘 속성을 자동으로 동기화합니다. 정책을 업데이트하기 전에 다음 행동 및 제한 사항을 검토하세요.
- IKE 버전 호환성
- 배열 기반 알고리즘 속성은 IKEv2 에서만 지원됩니다. IKEv1 를 사용하는 경우, 각 카테고리에 대해 단일 속성을 사용하여 하나의 알고리즘을 구성해야 합니다.
- 배열 기반 속성과 함께 IKEv2 을 사용합니다:
{
"ike_version": 2,
"authentication_algorithms": ["sha512", "sha256"],
"encryption_algorithms": ["aes256", "aes128"]
}
- IKEv1 를 단수 속성과 함께 사용하세요:
{
"ike_version": 1,
"authentication_algorithm": "sha256",
"encryption_algorithm": "aes128"
}
IKEv1 는 카테고리당 하나의 알고리즘만 지원합니다. IKEv1 을 사용하는 VPN 연결은 배열 기반 IKE 또는 IPsec 알고리즘 속성을 지원하지 않습니다. 가능하면 IKEv2 을 사용하세요.
- 자동 동기화
- 배열 기반 속성(
authentication_algorithms,encryption_algorithms,dh_groups,pfs_groups)을 업데이트하면 해당 단수 속성(authentication_algorithm,encryption_algorithm,dh_group,pfs)이 자동으로 업데이트됩니다. 마찬가지로 단일 프로퍼티를 업데이트하면 관련 배열 기반 프로퍼티가 자동으로 업데이트됩니다. 예시는 다음을 참조하세요:
- 읽기 전용 표시기
- 여러 알고리즘이 구성되어 있는 경우, 단일 속성(
authentication_algorithm,encryption_algorithm)은 API 응답에서 읽기 전용 지표 값을 반환합니다. 예를 들어, 다음과 같습니다.
authentication_algorithm리턴"multiple"encryption_algorithm리턴"multiple"dh_group리턴65535
이러한 값은 응답으로만 반환되며 PATCH 요청에는 제출할 수 없습니다.
{
"authentication_algorithms": ["sha256", "sha384", "sha512"],
"authentication_algorithm": "multiple",
"dh_groups": [14, 15, 16],
"dh_group": 65535,
"encryption_algorithms": ["aes128", "aes256"],
"encryption_algorithm": "multiple"
}
배열 기반 속성에 알고리즘이 하나만 구성되어 있는 경우, 해당 단일 속성은 "multiple"`` 대신 구성된 값을 반환합니다.
{
"authentication_algorithms": ["sha256"],
"authentication_algorithm": "sha256",
"dh_groups": [14],
"dh_group": 14,
"encryption_algorithms": ["aes128"],
"encryption_algorithm": "aes128"
}
- 속성 혼합 제한
- 단일 요청에서 동일한 알고리즘 카테고리에 대해 단수 및 배열 기반 속성을 혼합하지 마세요. 요청당 하나의 접근 방식을 선택하세요.
- 올바른 예입니다: 이 예에는 모든 카테고리에 배열 기반 속성만 사용되는 IKE의 알고리즘 속성이 포함되어 있습니다:
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"]
}'
- 잘못된 예입니다: 이 예에는 동일한 카테고리에 대해 단수 및 배열 기반 속성이 모두 혼합되어 있는 IKE의 알고리즘 속성이 포함되어 있습니다:
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 알고리즘 요구 사항 및 제한 사항
encryption_algorithms속성에 GCM 기반 알고리즘(aes128gcm16,aes192gcm16또는aes256gcm16)이 포함된 경우authentication_algorithms속성을["disabled"]으로 설정해야 합니다.
- 올바른 예:
encryption_algorithms배열에GCM기반 알고리즘이 포함된 경우 IPsec 알고리즘 속성을 표시합니다:
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"]
}'
- 잘못된 예시: IPsec의 알고리즘 속성을 표시할 때,
encryption_algorithms배열에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 알고리즘은 단일 작업의 일부로 암호화와 기본 제공 인증을 제공합니다. sha256 또는 sha512 같은 별도의 인증 알고리즘을 GCM 암호화 알고리즘으로 구성하지 마세요.
동일한 정책 내에서 ‘ GCM ’ 암호화 알고리즘과 ‘non- GCM ’ 암호화 알고리즘을 혼합하여 사용해서는 안 됩니다. 이들을 혼합하면 구성 충돌이 발생하거나 협상 실패로 이어질 수 있습니다.
: authentication_algorithms 가 ["disabled"] 로 설정된 경우, GCM 에서 GCM 가 아닌 암호화 알고리즘으로 변경할 때는 authentication_algorithms 도 함께 업데이트해야 합니다.
- 올바른 예입니다:
encryption_algorithms및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"]
}'
- 잘못된 예제입니다: GCM 이외의 알고리즘(
aes128,aes192,aes256)으로encryption_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": ["disabled"],
"encryption_algorithms": ["aes256", "aes128"],
"pfs_groups": ["group_14", "group_15", "group_16"]
}'
- 알고리즘 유효성 검사 규칙
- 요청에 포함된 모든 알고리즘 값이 유효하고 고유하며 비어 있지 않은지 확인합니다. 지원되는 알고리즘 이름만 사용하고, 중복을 피하고, 각 배열에 하나 이상의 값을 제공하세요. 유효하지 않거나 중복되거나 비어 있는 항목은 유효성 검사 오류가 발생할 수 있습니다.
- 올바른 예제입니다: 모든 카테고리에 지원되는 알고리즘과 값이 사용되는 알고리즘 값을 업데이트합니다:
{
"authentication_algorithms": ["sha512", "sha256"],
"dh_groups": [14, 15],
"encryption_algorithms": ["aes256", "aes192", "aes128"]
}
- 잘못된 예제입니다: 동일한 알고리즘 카테고리에서 중복된 값이 사용되는 알고리즘 값을 업데이트합니다:
{
"authentication_algorithms": ["sha512", "sha256"],
"dh_groups": [14, 15],
"encryption_algorithms": ["aes256", "aes256", "aes128"]
}
API로 IKE 정책 업데이트하기
다음 단계에 따라 IKE 정책을 단일 알고리즘에서 다중 알고리즘으로 업데이트하십시오.
시작하기 전에 API 환경을 설정하세요.
API를 사용하여 IKE 정책을 업데이트하려면 다음 단계를 따르십시오
-
예를 들어 IKE 정책 ID를 변수에 저장합니다:
export ike_policy_id=<your_ike_policy_id>IKE 정책 ID를 찾으려면 IKE 정책 목록 명령을 사용합니다.
-
여러 알고리즘을 사용하도록 IKE 정책을 업데이트합니다. 단수 프로퍼티를 해당 배열 기반 프로퍼티로 바꿉니다.
authentication_algorithms- 인증 알고리즘의 배열입니다. 옵션:sha256,sha384,sha512.dh_groups- 디피-헬만 그룹의 배열입니다. 옵션14,15,16,17,18,19,20,21,22,23,24,31.encryption_algorithms- 암호화 알고리즘의 배열입니다. 옵션: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"] }'
IKE 정책 업데이트 예
IKE 정책에서 배열 기반 속성 encryption_algorithms, authentication_algorithms, dh_groups 을 업데이트하면 해당 단수 속성 encryption_algorithm, authentication_algorithm, dh_group 이 자동으로 업데이트됩니다.
마찬가지로 단일 프로퍼티를 업데이트하면 관련된 배열 기반 프로퍼티도 자동으로 업데이트됩니다.
다음 예는 PATCH 요청이 단수 및 배열 프로퍼티에 어떤 영향을 미치는지 보여줍니다:
예 1: 단일 알고리즘에서 다중 알고리즘으로
-
이 예는 단일 알고리즘에서 다중 알고리즘으로의 패치 동작을 보여줍니다. 현재 상태에는
aes128으로 설정된 단일 값 속성encryption_algorithm과aes128만 포함된 배열 기반 속성encryption_algorithms이 표시됩니다.{ "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" } -
PATCH요청에서 배열 기반 속성encryption_algorithms은 이제aes128과aes256을 모두 지정하도록 업데이트됩니다.{ "encryption_algorithms": [ "aes128", "aes256" ] } -
성공적인 응답은 다음 예제와 유사합니다. 이 응답에서
encryption_algorithm속성은"multiple"라는 읽기 전용 값을 반환하며, 이는 현재 여러 알고리즘이 구성되어 있음을 나타냅니다. 이 필드는PATCH요청을 통해 직접 수정할 수 없습니다. 배열 기반 속성인encryption_algorithms이aes128과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" }
예 2: 여러 알고리즘을 단일 알고리즘으로
-
이 예는 다중 알고리즘에서 단일 알고리즘으로 패치하는 동작을 보여줍니다. 현재 상태에서는 단일 값 속성
encryption_algorithm이"multiple"로 설정되어 있으며, 배열 기반 속성encryption_algorithms에는aes128와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" } -
PATCH요청에서 배열 기반 속성encryption_algorithms은 이제aes256만 지정하도록 업데이트됩니다.{ "encryption_algorithms": [ "aes256" ] } -
성공적인 응답은 다음 예제와 유사합니다. 이 응답에서 단일 값 속성
encryption_algorithm은 자동으로aes256로 설정되며, 이는 단 하나의 알고리즘만 구성되어 있음을 나타냅니다. 배열 기반 속성encryption_algorithms가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" }
API로 IPsec 정책 업데이트하기
다음 단계에 따라 단일 알고리즘 속성에서 배열 기반 알고리즘 속성으로 IPSec 정책을 업데이트하세요.
시작하기 전에 API 환경을 설정하세요.
API를 사용하여 IPsec 정책을 업데이트하려면 다음 단계를 따르십시오
-
예를 들어 IPsec 정책 ID를 변수에 저장합니다:
export ipsec_policy_id=<your_ipsec_policy_id>IPsec 정책 ID를 찾으려면 목록 IPsec 정책 명령을 사용합니다.
-
여러 알고리즘을 사용하도록 IPsec 정책을 업데이트합니다. 단수 프로퍼티를 해당 배열 기반 프로퍼티로 바꿉니다.
authentication_algorithms- 인증 알고리즘의 배열입니다. 옵션:sha256,sha384,sha512,disabled.encryption_algorithms- 암호화 알고리즘의 배열입니다. 옵션:aes128,aes192,aes256,aes128gcm16,aes192gcm16,aes256gcm16.pfs_groups- 완전 전달 비밀 그룹의 배열. 옵션: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"] }'
IPsec 정책 업데이트 예시
IPsec 정책에서 배열 기반 속성 encryption_algorithms, authentication_algorithms, pfs_groups 을 업데이트하면 해당 단일 값 속성 encryption_algorithm, authentication_algorithm, pfs 이 자동으로 업데이트됩니다.
마찬가지로 단일 값 프로퍼티를 업데이트하면 연결된 배열 기반 프로퍼티도 자동으로 업데이트됩니다.
다음 예는 PATCH 요청이 단수 및 배열 프로퍼티에 어떤 영향을 미치는지 보여줍니다:
예 1: 단일 알고리즘에서 다중 알고리즘으로
-
이 예는 단일 알고리즘에서 다중 알고리즘으로의 패치 동작을 보여줍니다. 현재 상태에는
aes128으로 설정된 단일 값 속성encryption_algorithm과aes128만 포함된 배열 기반 속성encryption_algorithms이 표시됩니다.{ "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" } -
PATCH요청에서 배열 기반 속성encryption_algorithms은 이제aes128과aes256을 모두 지정하도록 업데이트됩니다.{ "encryption_algorithms": [ "aes128", "aes256" ] } -
성공적인 응답은 다음 예제와 유사합니다. 이 응답에서 단일 값 속성
encryption_algorithm은 자동으로 읽기 전용 값"multiple"으로 설정되며, 이는 현재 여러 알고리즘이 구성되어 있음을 나타냅니다. 이 필드는PATCH요청을 통해 직접 수정할 수 없습니다. 배열 기반 속성인encryption_algorithms에는 이제aes128와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" }
예 2: 여러 알고리즘을 단일 알고리즘으로
-
이 예는 다중 알고리즘에서 단일 알고리즘으로 패치하는 동작을 보여줍니다. 현재 상태에서는 단일 값 속성
encryption_algorithm이"multiple"로 설정되어 있으며, 배열 기반 속성encryption_algorithms에는aes128와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" } -
PATCH요청에서 배열 기반 속성encryption_algorithms은 이제aes256만 지정하도록 업데이트됩니다.{ "encryption_algorithms": [ "aes256" ] } -
성공적인 응답은 다음 예제와 유사합니다. 이 응답에서 단일 값 속성
encryption_algorithm은 자동으로aes256로 설정되며, 이는 단 하나의 알고리즘만 구성되어 있음을 나타냅니다. 배열 기반 속성encryption_algorithms가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" }