안녕하세요,
베스핀글로벌 GCP Support팀입니다.
이번 아티클에서는 주제로 "Compute Engine에서 사용 가능한 데이터 암호화 키 종류"를 다루고자 합니다.
GCE Disk 암호화
기본적으로 Compute Engine Disk는 저장되는 데이터를 암호화합니다.[1]
아래와 같이 3가지 암호화 키 옵션이 제공 됩니다.
1. Google 기본 암호화 키 : Default 값 설정으로 이 키는 자동으로 생성되어 구글이 안전하게 저장하고 관리합니다.
2. 고객 관리 암호화 키(CMEK) : Cloud KMS를 사용하여 암호화 키를 생성하고 관리합니다. 사용자가 직접 키의 라이프사이클을 관리할 수 있습니다.
3. 고객 제공 암호화 키(CSEK) : 사용자가 직접 암호화 키를 제공할 수 있습니다. 구글이 키를 저장하지 않음으로 사용자가 키 관리에 대한 완전한 제어권을 가집니다.
하지만 제공되는 3가지 옵션이 모든 형태의 디스크에 대해 적용이 가능한 것은 아닙니다.
아래와 같이 디스크 종류 별로 지원하는 암호화 기능이 다른 점을 참고하시기 바랍니다.
- Persistent Disk 볼륨은 Google 기본 암호화, CMEK, CSEK를 지원합니다. 
- Google Cloud Hyperdisk에서는 CMEK와 Google 기본 암호화를 지원합니다. CSEK를 사용하여 하이퍼디스크를 암호화할 수 없습니다. 
- 로컬 SSD 디스크는 Google 기본 암호화만 지원합니다. CSEK 또는 CMEK를 사용하여 로컬 SSD 디스크를 암호화할 수 없습니다. 
Goolge 기본 암호화 키
Google 기본 암호화 키는 고객 데이터를 저장하는 모든 Google Cloud 서비스에 제공되는 옵션입니다.
아래와 같은 특징을 가지고 있습니다.
- 구글이 자체적으로 키를 생성하고 보관하기 때문에 별도의 구성이 필요하지 않습니다.
- Google Cloud 서비스에 저장된 고객 데이터를 자동으로 암호화합니다.
- 키를 자동으로 순환하고 데이터를 다시 암호화합니다.(순환 일정은 제어 불가)
- AES-256을 사용한 암호화를 지원합니다.
- FIPS 140-2 Level 1 인증을 받았습니다.
- 추가적인 비용이 발생하지 않습니다.
고객 관리 암호화 키(CMEK)
고객 관리 암호화 키는 구글 클라우드에서 권장하는 암호화 방식입니다.
Cloud Key Management Service(Cloud KMS)[2]를 사용하여 암호화 키를 만들고 원하는 일정대로 키를 순환 할 수 있습니다.
아래와 같은 특징을 가지고 있습니다.
- 자동 키 순환 일정, IAM 역할 및 권한을 제어하고 키 버전을 사용 설정, 중지, 폐기합니다.
- 암호화 및 복호화에 대칭 및 비대칭 키를 지원합니다.
- 대칭 키를 자동으로 순환합니다.
- 여러 일반적인 알고리즘을 지원합니다.
- FIPS 140-2 Level 1 인증을 받았습니다.(소프트웨어 키 기준)
- 키 버전당 $0.06의 추가적인 비용이 발생합니다.
고객 관리 암호화 키를 사용하는 방법은 아래와 같습니다.
1) Cloud KMS에서 Key Ring을 생성

2) Compute Engine Disk 생성 시 암호화 옵션으로 CMEK 선택 > 사용할 Key 선택
※ VM에서 사용하는 Service Account에 해당 Key에 대한 암호화/복호화 권한을 부여해야합니다.

고객 제공 암호화 키(CSEK)
고객 제공 암호화 키[3]를 사용하여 자체 암호화키를 제공할 경우 Compute Engine은 사용자의 키를 사용하여 데이터를 암호화 및 복호화합니다.
Google은 사용자의 키를 서버에 저장하지 않으며, 사용자가 키를 제공하지 않는 한 보호되는 데이터에 액세스할 수 없습니다.
(키 자료는 메모리 내에 상주합니다.)
즉, 사용자가 키를 잊어버리거나 손실한 경우 Google에서 해당 키를 복구하거나 손실된 키로 암호화된 데이터를 복구할 수 없습니다.
따라서 고객 제공 암호화 키를 사용하는 경우 사용자가 키를 안전하게 관리하고 분실하지 않도록 주의해야 합니다.
CSEK는 Compute Enigne과 Cloud Storage에서만 사용할 수 있습니다.
아래와 같이 새 디스크 생성 시 CSEK 옵션을 선택할 수 있습니다.

참조 링크
[1] 디스크 암호화 정보
https://cloud.google.com/compute/docs/disks/disk-encryption
[2] Cloud Key Management Service 개요
https://cloud.google.com/kms/docs/key-management-service
[3] 고객 제공 암호화 키
https://cloud.google.com/docs/security/encryption/customer-supplied-encryption-keys
관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.
감사합니다.
