컴퓨터/클라우드

[GCP Associate Cloud Engineer] 암호화(Encryption)

sidedoor 2025. 1. 22. 15:16

데이터 암호화

클라우드에 데이터를 이동하거나 저장할 때, 보안이 중요하다.

암호화되지 않은 데이터를 저장하면, 무단 접근 시 데이터가 그대로 노출될 위험이 있다.

암호화는 데이터를 보호하는 주요 방법 중 하나로, 데이터를 허가받지 않은 접근으로부터 안전하게 지킨다.

따라서 데이터 손실 시에도 암호화 덕분에 데이터 보호 가능하다.

방어의 법칙(Defense in Depth): 데이터의 저장, 전송, 사용 단계에서 모두 암호화 적용.

 

데이터의 상태

 

데이터는 세 가지 주요 상태 중 하나에 있을 수 있다

 

데이터가 저장된 상태(Data at Rest)

저장 장치나 백업에 데이터가 저장된 상태로 하드 디스크의 데이터, 데이터베이스 내부의 데이터, 데이터베이스 백업 및 아카이브등이 해당된다.

이는 스토리지 암호화를 통해 보호한다.

 

데이터가 이동 중인 상태(Data in Motion)

네트워크를 통해 데이터를 전송하는 중인 상태로 온프레미스 스토리지에서 클라우드 스토리지로 데이터 복사하거나 애플리케이션과 데이터베이스 간 데이터 송수신 상태가 해당된다.

세부적으로 따지면 클라우드 내의 장치 간 데이터 전송을 하는 클라우드 내부 전송, 인터넷을 통한 클라우드와 외부 간 데이터 전송을 하는 클라우드 외부 전송이 있다.

클라우드 외부 전송은 더 높은 수준의 보안이 필요하다.

이는 TLS(Transport Layer Security) 같은 프로토콜을 사용하여 네트워크 전송 중 데이터를 보호하는데, 클라우드 외부 전송에 더 높은 보안 수준 적용한다.

 

데이터가 사용 중인 상태(Data in Use)

활성 데이터가 비영구적(non-persistent) 상태에서 처리되는 경우로 RAM에 저장된 데이터가 해당된다.

이는 데이터가 RAM이나 CPU 내부에서 처리되는 동안 보안 유지된다.

 

 

데이터 암호화 접근법

 

대칭 키 암호화(Symmetric Key Encryption)

하나의 키를 사용하여 데이터를 암호화 및 복호화하는 것으로 평문을 키를 사용해 암호문으로 변환하고, 복호화 시 동일한 키로 암호문을 평문으로 복원한다.

 

장점: 처리 속도가 빠르고, 구현이 간단하다.

단점

 - 키 관리 문제

암호화 키를 안전하게 보관해야 하며, 키가 유출되면 데이터가 위험에 노출된다.

 - 키 공유 문제

데이터를 암호화 및 복호화하는 시스템 간에 키를 안전하게 공유하는 것이 어렵다.

 

비대칭 키 암호화(Asymmetric Key Encryption)

두 개의 키를 사용하여 데이터를 공개 키로 암호화하고, 데이터를 개인 키로 복호화한다.

 

장점

공개 키를 모두에게 공유 가능. 개인 키만 안전하게 보호하면 되기 때문에 키 공유 문제를 해결했다.

단점

대칭 키 암호화에 비해 속도가 느리다.

 

보안 강도

RSA와 같은 강력한 알고리즘을 사용하면, 공개 키로 개인 키를 추출하는 데 수년이 걸릴 수 있다.

 

암호화 적용 단계

 

저장 데이터(Data at Rest)

하드 디스크, 데이터베이스, 백업 데이터 등에 암호화 적용

 

전송 중 데이터(Data in Transit)

TLS 같은 프로토콜 사용하여 애플리케이션과 데이터베이스 간, 또는 클라우드 외부로의 데이터 전송 시 암호화 적용

.

사용 중 데이터(Data in Use)

RAM에서 처리되는 데이터도 보호

Cloud KMS

Cloud KMS는 Google Cloud에서 암호화 키 생성, 관리, 제어를 지원하는 서비스이다.

대칭 키와 비대칭 키를 생성하고, 이를 활용해 데이터 암호화 및 복호화, 서명 등을 수행할 수 있다.

 

키 생성 및 관리

Google Cloud에서 대칭 및 비대칭 키 생성하고, 키 사용을 특정 애플리케이션 및 GCP 서비스로 제한 가능하다.

 

데이터 암호화

디스크, Cloud Storage, 데이터베이스 등 다양한 GCP 리소스의 데이터를 암호화하고, API를 통해 암호화, 복호화, 데이터 서명 기능 제공한다.

 

온프레미스 키 통합

온프레미스에서 생성된 암호화 키를 KMS에 통합해 사용할 수 있다.

 

GCP 서비스와 통합

KMS는 GCP의 거의 모든 데이터 암호화 서비스와 통합 가능하다.

 

Cloud KMS 키 옵션

 

Google 관리 키 (Google Managed Key)

Google에서 키를 완전히 관리하여 사용자 설정 불필요하기 때문에 간단한 사용 사례에 적합하다.

 

고객 관리 키 (Customer Managed Key)

사용자가 KMS에서 암호화 키를 생성하고 직접 관리하기 때문에 키의 수명, 접근 제어 등을 사용자가 설정 가능하여 민감한 데이터를 직접 관리해야 하는 경우 적합하다.

 

고객 제공 키 (Customer Supplied Key)

사용자가 온프레미스에서 생성한 키를 KMS에 등록해 사용하여 외부 키를 사용하여 GCP 리소스를 암호화한다.

키 관리 및 제어를 온프레미스에서 계속 유지해야 하는 경우 적합하다.

 

사용 예시

디스크 암호화: Compute Engine 디스크의 데이터 암호화.

스토리지 암호화: Cloud Storage에 저장된 데이터 암호화.

데이터베이스 암호화: GCP에서 관리되는 데이터베이스의 데이터 암호화.

암호화 키 통합: 온프레미스와 클라우드 환경의 암호화 키를 통합 관리.