안녕하세요,

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "Compute Engine에서 사용 가능한 데이터 암호화 키 종류"를 다루고자 합니다.



GCE Disk 암호화


기본적으로 Compute Engine Disk는 저장되는 데이터를 암호화합니다.[1]

아래와 같이 3가지 암호화 키 옵션이 제공 됩니다.


1. Google 기본 암호화 키 : Default 값 설정으로 이 키는 자동으로 생성되어 구글이 안전하게 저장하고 관리합니다.

2. 고객 관리 암호화 키(CMEK) : Cloud KMS를 사용하여 암호화 키를 생성하고 관리합니다. 사용자가 직접 키의 라이프사이클을 관리할 수 있습니다.

3. 고객 제공 암호화 키(CSEK) : 사용자가 직접 암호화 키를 제공할 수 있습니다. 구글이 키를 저장하지 않음으로 사용자가 키 관리에 대한 완전한 제어권을 가집니다.



하지만 제공되는 3가지 옵션이 모든 형태의 디스크에 대해 적용이 가능한 것은 아닙니다.

아래와 같이 디스크 종류 별로 지원하는 암호화 기능이 다른 점을 참고하시기 바랍니다.




Goolge 기본 암호화 키


Google 기본 암호화 키는 고객 데이터를 저장하는 모든 Google Cloud 서비스에 제공되는 옵션입니다.

아래와 같은 특징을 가지고 있습니다.


  • 구글이 자체적으로 키를 생성하고 보관하기 때문에 별도의 구성이 필요하지 않습니다.
  • Google Cloud 서비스에 저장된 고객 데이터를 자동으로 암호화합니다.
  • 키를 자동으로 순환하고 데이터를 다시 암호화합니다.(순환 일정은 제어 불가)
  • AES-256을 사용한 암호화를 지원합니다.
  • FIPS 140-2 Level 1 인증을 받았습니다.
  • 추가적인 비용이 발생하지 않습니다.



고객 관리 암호화 키(CMEK)


고객 관리 암호화 키는 구글 클라우드에서 권장하는 암호화 방식입니다.

Cloud Key Management Service(Cloud KMS)[2]를 사용하여 암호화 키를 만들고 원하는 일정대로 키를 순환 할 수 있습니다.

아래와 같은 특징을 가지고 있습니다.



고객 관리 암호화 키를 사용하는 방법은 아래와 같습니다.


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에 문의해 주시기 바랍니다.


감사합니다.