copyright: years: 2023, 2026 lastupdated: "2026-08-13"
keywords: Hyper Protect Virtual Servers 의 데이터 보안, VPC용, BYOK(Bring Your Own Key), KMS(Key Management Service), KMS, Hyper Protect Crypto Services
subcollection: vpc
Hyper Protect Virtual Servers 에서 VPC를 위한 데이터 보안
VPC용 IBM Cloud Hyper Protect Virtual Servers 은 더 이상 사용되지 않습니다. 2026년 2월 28일부터는 새 인스턴스를 만들 수 없습니다. 기존 인스턴스는 2027년 2월 20일까지 지원됩니다. 해당 날짜에 여전히 존재하는 모든 인스턴스는 삭제됩니다. IBM 기밀 컴퓨팅 컨테이너 런타임(이전의 Hyper Protect Virtual Servers ) 또는 IBM 기밀 컴퓨팅 컨테이너 런타임 for Red Hat 가상화 솔루션(이전의 Red Hat 가상화 솔루션용 Hyper Protect 컨테이너 런타임 )을 사용하여 워크로드를 재배치할 수 있습니다. 데이터 마이그레이션에 대한 자세한 내용은 마이그레이션 가이드를 참조하세요. 자세한 내용은 서비스 사용 중단 공지를 참조하세요.
Hyper Protect Virtual Servers 용 VPC 인스턴스에 연결하는 데이터 볼륨은 LUKS( Linux ) 통합 키 설정 암호화 암호로 보호됩니다. 패스프레이즈는 배포 과정에서 제공된 시드에서 파생됩니다. Hyper Protect Crypto Services 에서 제공하는 자체 키를 사용하여 저장 중인 데이터에 더 높은 수준의 암호화 보호 및 제어를 적용할 수 있습니다.
데이터 볼륨이 암호화되는 방법
자체 키 없이 인스턴스에 첨부하는 데이터 볼륨은 계약의 workload- volumes 및 env- volumes 섹션에서 제공되는 두 개의 시드를 사용하여 자동으로 암호화됩니다. 시드는 내부적으로 UTF8 시퀀스로 변환된 후 연결됩니다. 연결된 시퀀스의 해시( SHA256 )는
16진수 다이제스트로 계산되며, 이는 데이터 볼륨을 암호화하는 LUKS 암호로 사용됩니다. 자세한 내용은 계약 정보에서 확인하십시오.
사용자 고유의 키로 민감한 데이터 보호
Hyper Protect Virtual Servers 부터 VPC 지원이 키 관리 서비스(KMS) Hyper Protect Crypto Servicesibm-hyper-protect-container-runtime-1-0-s390x-11 와 통합됩니다. Hyper Protect Crypto Services 는 세 번째 시드로 난수 값을 생성하고 이를 CRK(고객 루트 키) 로
감쌉니다. CRK에 대한 자세한 정보는 루트 키 를 참조하십시오. 랩핑된 시드는 데이터 볼륨의 메타데이터 파티션에 저장됩니다. LUKS 비밀번호 문구는 세 개 의 시드 (메타데이터 파티션의 시드 (먼저 랩핑 해제됨) 및 계약의 두 시드) 를 사용하여
생성됩니다.
배경 지식: HPCR 이미지 버전부터 ibm-hyper-protect-container-runtime-1-0-s390x-9, VPC 인스턴스용 새로운 Hyper Protect Virtual Servers 에서는 데이터 볼륨이 두 부분으로 분할됩니다. 첫 번째 파티션(100 MiB )은 내부 메타데이터 전용으로 예약됩니다(워크로드가 접근할 수 없음 ). 두 번째 파티션은 워크로드용 데이터 볼륨으로 유지됩니다. 새 볼륨만 파티션됩니다.
현재 키 관리 서비스로는 Hyper Protect Crypto Services 만 지원됩니다.
다음 표는 씨앗에 대한 요약입니다. 세 번째 시드는 키 관리 서비스에서 제공하는 시드입니다.
| 시드 | 제공자 | 시작 | 필수 또는 선택사항 |
|---|---|---|---|
| seed1 | 배치자 페르소나 | env-계약의 volumes 섹션 |
필수 |
| seed2 | 워크로드 페르소나 | workload-계약의 volumes 섹션 |
필수 |
| seed3 | Hyper Protect Crypto Services | Hyper Protect Crypto Services 계약서에 세부 사항이 명시된 kms 경우에만 세 번째 시드를 생성하고 CRK로 이를 감쌉니다. 봉투 암호화는 랩(wrap) API를 호출하여 수행됩니다. 랩핑된 seed는 데이터 볼륨의 메타데이터 파티션에 저장됩니다. |
선택사항 |
KMS 인스턴스로부터 보호하여 볼륨을 보호하는 경우 키 디먼이 시작됩니다. CRK의 상태 변화에 반응하는 역할을 담당합니다.
고객 관리 키 정보
Hyper Protect Virtual Servers VPC에서는 고객 관리형 키를 구현하기 위해 봉투 암호화를데이터 암호화 키로 데이터를 암호화한 다음 완전히 관리 가능한 루트 키로 키를 암호화하는 프로세스입니다. 사용합니다. 봉투 암호화란 한 암호화 키를 다른 암호화 키로 암호화(감싸는)하는 것을 말합니다. 우리의 경우, 래핑된 키는 세 번째 시드이며, 시드를 래핑하는 데 사용되는 키는 Hyper Protect Crypto Services 에서 제공하는 CRK입니다.
Hyper Protect Crypto Services 에서 CRK를 소유합니다. VPC용 Hyper Protect Virtual Servers 은 CRK를 전혀 인식하지 못합니다. 해당 키의 저장, 관리 및 시드 암호화·복호화에 대한 처리는 전적으로 키 관리 서비스 내에서 수행됩니다.
Hyper Protect Crypto Services 이 서비스는 FIPS 140-2 레벨 4 인증을 받은 하드웨어를 기반으로 하며, 이는 업계 내 모든 클라우드 제공업체가 제공하는 수준 중 가장 높은 등급입니다. 자세한 정보는 Hyper Protect Crypto Services 시작하기를 참조하십시오.
Hyper Protect Virtual Servers 의 VPC용 고객 관리형 키 활성화
해당 기능을 활성화할 수 있는지 여부는 VPC 인스턴스용 LUKS( Hyper Protect Virtual Servers )의 기록(파티션 레이아웃 및 LUKS 암호화)과 계약 정보에 따라 달라집니다. 가능한 시나리오 및 결과는 다음 표를 참조하십시오. 계약의 kms 세부사항 이 의미하는 내용을 모르는 경우 단계 의
지시사항을 참조하십시오. 이 표는 가상 서버의 시작 시 동작, 가상 서버에 연결된 볼륨 수, 계약 파일에 지정된 입력을 보여줍니다.
| 데이터 볼륨의 파티션 수 | 메타데이터 파티션 | 계약 | 파티션/두 번째 파티션이 LUKS 암호화되었는지 여부 | Hyper Protect Virtual Servers 의 VPC 동작 |
|---|---|---|---|---|
| 0 | 해당사항 없음 | kms 세부사항 있음 |
LUKS 암호화되지 않음 | 인스턴스는 데이터 볼륨에 두 개의 파티션을 생성하고, Hyper Protect Crypto Services 를 호출하여 세 번째 시드를 생성한 후 이를 CRK로 감쌉니다. 랩핑된 seed는 메타데이터 파티션에 저장됩니다. 그런 다음 인스턴스는 시드(먼저 언랩 처리됨)와 계약에서 가져온 두 개의 시드를 사용하여 두 번째 파티션을 암호화하기 위한 LUKS 암호 문구를 생성합니다. |
| 0 | 해당사항 없음 | kms 세부사항 있음 |
LUKS 암호화 | 인스턴스가 종료됩니다. 계약에서 kms 세부사항을 제거해야 합니다. |
| 1 | 해당사항 없음 | 지원되지 않음. 인스턴스가 종료됩니다. | ||
| 2 | 암호화된 seed없음 | kms 세부사항 포함 (한 항목) |
LUKS 암호화되지 않음 | 해당 인스턴스는 Hyper Protect Crypto Services 를 호출하여 세 번째 시드를 생성하고 이를 CRK로 래핑합니다. 랩핑된 seed는 메타데이터 파티션에 저장됩니다. 그런 다음 인스턴스는 시드(먼저 언랩 처리됨)와 계약에서 가져온 두 개의 시드를 사용하여 두 번째 파티션을 암호화하기 위한 LUKS 암호 문구를 생성합니다. |
| 2 | 암호화된 seed없음 | kms 세부사항 포함 (한 항목) |
LUKS 암호화 | 이전과 유사한 흐름으로 두 번째 파티션을 재암호화합니다. 이전 LUKS 비밀번호 문구가 대체됩니다. env 및 workload의 두 시드는 이전과 동일해야 하며, 그렇지 않으면 재암호화가 실패하고 인스턴스가 종료됩니다. 올바른 seed를 제공하고 재시도하십시오. |
| 2 | 암호화된 seed없음 | kms 세부사항 포함 (다중 항목) |
LUKS 암호화되지 않음 | 세 번째 시드를 랩핑하고 두 번째 파티션을 암호화하기 위한 이전 시나리오와 유사한 플로우입니다. 첫 번째 항목의 구성만 세 번째 시드를 랩핑하는 데 사용됩니다. |
| 2 | 암호화된 seed가 있습니다. | kms 세부사항 포함 (한 항목) |
LUKS 암호화되지 않음 | 이전 프로비저닝 과정에서 볼륨을 사용했을 수 있지만 암호화가 실패했을 가능성이 있습니다. 또는 볼륨에 두 개의 파티션을 제공한 후, 세 번째 시드로 임의의 값을 수동으로 생성하여 이를 래핑한 후 메타데이터 파티션에 저장했습니다. 어느 경우에나 인스턴스는 파티셔닝이 올바른지 확인합니다. 그렇지 않으면 인스턴스가 종료됩니다. 파티션 구분이 올바른 경우, 인스턴스는 암호화된 시드를 풀기 위해
Hyper Protect Crypto Services 를 호출하고, 시드와 계약에서 제공된 두 시드를 사용하여 LUKS 암호화 암호를 생성한 후 두 번째 파티션을 암호화합니다. |
| 2 | 암호화된 seed가 있습니다. | kms 세부사항 포함 (한 항목) |
LUKS 암호화 | 해당 인스턴스는 암호화된 시드를 해제하기 위해 Hyper Protect Crypto Services 를 호출하고 데이터 파티션에서 LUKS 레이어를 엽니다. |
| 2 | 암호화된 seed가 있습니다. | kms 세부사항 포함 (다중 항목) |
해당 인스턴스는 첫 kms 번째 항목으로 암호화된 시드를 해제하기 위해 Hyper Protect Crypto Services 를 호출합니다. 실패하면 다음 항목을 사용합니다. 성공하면 첫 번째 구성을 사용하여 시드를 다시 랩핑합니다. 모든 항목이 작동하지 않으면 인스턴스가 종료됩니다. |
|
| 2 | 암호화된 seed가 있습니다. | kms 세부사항 없음 |
인스턴스가 종료됩니다. 계약에 kms 세부사항을 제공해야 합니다. |
인스턴스가 종료된 경우 IBM Cloud 로그에서 로그를 확인하십시오.
단계
-
Hyper Protect Crypto Services 인스턴스를 프로비저닝하고 루트 키를 생성합니다. 자세한 정보는 루트 키 작성 을 참조하십시오.
보안을 강화하기 위해 Hyper Protect Crypto Services 와 함께 가상 사설 엔드포인트를 사용하는 것이 권장됩니다.
-
계약 서를 작성할 때 -
volumes``env섹션에 세부kms사항을 추가한 후, 해당 계약서를 사용하여 VPC 인스턴스에 대한 자동 화된 인스턴스 생성( Hyper Protect Virtual Servers )을 생성하십시오. 다음 예를 참조하십시오.env: | logging: logRouter: hostname: 34be57c7-6ff2-4685-8839-903921e90ab9.ingress.jp-tok.logs.cloud.ibm.com iamApiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" volumes: test: kms: - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx" type: "public" - apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" crn: "crn:v1:bluemix:public:hs-crypto:us-south:a/xxxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx:key:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" type: "private" seed:"workload_phrase1" kmsTimeout: 10 apiKey: "L4SsSE32xxxxxjAgfHCVkdW8xl_CiqMn4Lpc1dzTD" signingKey: "xxxxxxxxx" workload: | volumes: test: mount: "/mnt/data" seed: "workload_phrase2" filesystem: "ext4"
공격자가 KMS 세부사항을 잘못 사용하지 않도록 하려면 배치자 ( env 섹션 제공) 가 계약을 암호화 하고 서명 하도록 적극 권장합니다. 암호화에 대한 자세한 정보는 계약 암호화 를 참조하십시오. 서명의 경우
env 섹션에 공개 서명 키 (signingKey 필드) 를 추가하고 계약에 envWorkloadSignature 섹션을 추가하여 전체 계약에 서명하십시오. 서명의 목적은 및 env workload 섹션이 항상 함께 사용되고 제3자에 의해 변조되지 않도록 보장하는 데 있습니다. 자세한 정보는 계약 서명 을 참조하십시오.
-
kmskms필드에 항상 첫 번째 항목으로 사용할 KMS 구성을 입력하십시오. 다음 항목은 이전 KMS 구성입니다 (현재 구성으로 마이그레이션하기 전에 랩핑된 시드를 복호화하는 데 사용됨). 최대 5개의 항목이 지원됩니다. KMS 구성 변경에 대한 자세한 내용은 다른 키 관리 서비스 ( Hyper Protect Crypto Services ) 인스턴스 또는 루트 키로 변경을 참조하십시오.계약의
kms세부사항이 올바르지 않으면 인스턴스가 즉시 종료됩니다. -
kmsTimeout계약에서
kmsTimeout(0-1000분 사이) 를 지정할 수 있습니다. 명시되지 않은 경우, 기본 타임아웃 값은 10분입니다. 이 값은 초기 부팅 또는 재부팅 시 인스턴스가 시드(seed)를 언랩(unwrap)하려고 시도하는 시간을 결정합니다. 이 제한시간이 경과하면 메시지가 로그되고 인스턴스가 종료됩니다. -
type이 필드를 사용하여 사설 네트워크에 있는 경우 인스턴스를 "개인용" 으로 지정하고 공용 네트워크에 있는 경우 "공용" 으로 지정합니다. 이 항목은 다른 Hyper Protect Crypto Services 인스턴스 또는 CRK로 전환하는 것을 지원하기 위해 사용됩니다.
볼륨이 새 볼륨인 경우, 인스턴스는 데이터 볼륨에 두 개의 파티션을 생성하고, Hyper Protect Crypto Services 를 호출하여 세 번째 시드를 생성한 후 이를 CRK로 감쌉니다. 랩핑된 seed는 메타데이터 파티션에 저장됩니다. 그런 다음 인스턴스는 시드(먼저 언랩 처리됨)와 계약에서 가져온 두 개의 시드를 사용하여 두 번째 파티션을 암호화하기 위한 LUKS 암호 문구를 생성합니다.
또한 볼륨에 두 개의 파티션을 수동으로 작성하고, 무작위 값을 세 번째 시드로 작성하고, 랩핑하고, 메타데이터 파티션에 저장하도록 선택할 수 있습니다.
-
리눅스 유틸리티를 사용하여 블록 장치에 두
parted개의 파티션을 생성하십시오.- 첫 번째 파티션은 로 표시되며 길이는
metadata100입니다. MiB. 메타데이터 파티션은 내부 메타데이터 전용으로 예약되어 있으며 워크로드가 접근해서는 안 됩니다. 파일 시스템( ext4 )을 생성하고 keyfile이라는 이름의 파일을 생성합니다. - 두 번째 파티션은
data로 레이블이 지정되고 전체 디스크 공간을 채웁니다.
- 첫 번째 파티션은 로 표시되며 길이는
-
Hyper Protect Crypto Services KMS API 사용 키를 래핑하여 HSM 기반의 무작위 평문을 생성하고, 값을 전달하지 않고 래핑합니다.
-
응답 객체에서 암호문을 키 파일로 복사하십시오.
-
KMS 정보로 계약을 준비하고, 래핑된 시드가 포함된 수동으로 파티션된 볼륨을 사용하여 VPC 인스턴스에 대한 디스크( Hyper Protect Virtual Servers )를 생성하십시오.
인스턴스가 실행 중일 때, 키 데몬은 주기적으로 Hyper Protect Crypto Services 인스턴스에 접속합니다. 동일한 제한시간 kmsTimeout 이 적용됩니다. Hyper Protect Crypto Services 인스턴스에 연결할 수 없거나, CRK 상태가 Active 올바르지 않거나, 액세스 매개변수(kms 세부 정보)가 더 이상 일치하지
않을 경우 데몬이 재시작을 트리거합니다.
인스턴스가 종료되면 Log Analysis 의 로그를 확인하십시오.
VPC용 Hyper Protect Virtual Servers 에서 고객 관리 키 사용
루트 키 회전
CRK가 수동으로 또는 키 순환 정책 에 따라 자동으로 순환되는 경우 키 디먼은 키 순환을 발견하고 시드를 다시 랩핑합니다.
다른 Hyper Protect Crypto Services 인스턴스 또는 루트 키로 변경
다른 Hyper Protect Crypto Services 인스턴스나 다른 루트 키 ID를 사용하려면, 계약의 첫 번째 항목으로 새 KMS 구성을 추가하고 Hyper Protect Virtual Servers 인스턴스를 다시 생성하십시오. 계약서에 기존 KMS 구성(현재 사용 중인)을 유지하십시오. VPC용 Hyper Protect Virtual Servers 는 인스턴스화 과정에서 암호화된 시드를 기존 구성으로 해독한 후 새 구성으로 시드를 재포장합니다. 계약에서 최대 5개의 항목이 지원됩니다.
변경이 완료된 후에는 다음 상호작용에서 이전 항목을 제거할 수 있습니다.
루트 키 사용 안함
루트 키를 사용 불가능하게 하면 키의 상태가 일시중단됨이 됩니다. Hyper Protect Virtual Servers 의 VPC용 핵심 데몬은 주기적으로 CRK의 상태를 확인합니다. 상태가 활성(Active) 이 아닐 경우 가상
서버가 재시작됩니다. 재시작 중 키 데몬은 폴링을 통해 상태를 지속적으로 확인하며, 소요 시간이 초과할 경우 가상 kmsTimeout 서버가 종료됩니다. 키를 다시 활성으로 가져오려면 루트 키를 사용으로 설정 해야
합니다.
CRK가 만료되지 않았는지 확인하십시오. 그렇지 않으면 상태가 비활성화(Deactivated)로 전환되며, 가상 서버가 재시작된 후 결국 종료됩니다. 주요 키에 대한 자세한 내용은 ‘암호화 키의 수명 주기 모니터링’을 참조하십시오.