기록

[AWS/SAA-C03] S3 암호화: SSE와 CSE 비교 - 업로드 후 vs 업로드 전 암호화 본문

DevOps

[AWS/SAA-C03] S3 암호화: SSE와 CSE 비교 - 업로드 후 vs 업로드 전 암호화

youngyin 2024. 10. 12. 00:00

S3 Key로 암호화하기

Amazon S3(Simple Storage Service)는 안전하고 확장 가능한 객체 스토리지 서비스를 제공하며, 데이터 보호를 위해 다양한 암호화 옵션을 지원합니다. 이번 포스팅에서는 S3에서 제공하는 암호화 방식인 SSE(S3, KMS, C)와 CSE(CLIENT-SIDE ENCRYPTION)에 대해 자세히 알아보겠습니다.

1. SSE (Server-Side Encryption)

SSE는 Amazon S3에서 관리되는 서버 측 암호화 방식으로, 데이터가 S3에 업로드가 된 직후 자동으로 암호화됩니다. SSE는 세 가지 주요 유형이 있습니다.

1.1 SSE-S3 (S3 관리 암호화)

SSE-S3는 AWS가 제공하는 기본적인 암호화 방식으로, AES-256 암호화를 사용합니다. 이 방식은 AWS가 모든 암호화 키를 관리하므로 사용자는 키를 직접 관리할 필요가 없습니다.

1.2 SSE-KMS (AWS Key Management Service)

SSE-KMS는 AWS KMS를 사용하여 암호화 키를 관리하는 방식입니다. 사용자는 KMS를 통해 키를 직접 생성하고 관리할 수 있으며, 키에 대한 세부적인 권한 설정이 가능합니다.

1.3 SSE-C (Client-Supplied Keys)

SSE-C는 사용자가 직접 제공하는 암호화 키를 사용하여 데이터를 암호화하는 방식입니다. 이 경우 사용자가 키를 관리하며, *S3는 키를 저장하지 않습니다. *

2. CSE (Client-Side Encryption)

CSE는 클라이언트 측에서 데이터를 암호화한 후 S3에 업로드하는 방식입니다. 이 방법은 데이터가 S3에 저장되기 전에 암호화되므로, S3 내에서 데이터가 노출될 위험이 없습니다. 그러나 사용자에게 암호화 및 복호화 로직을 구현해야 하므로, 관리와 구현이 상대적으로 복잡할 수 있습니다.

3. S3 암호화 방식 비교

암호화 방식 설명 키 관리 장점 단점
SSE-S3 AWS 관리 암호화 AWS 관리 간편한 설정 키 제어 불가
SSE-KMS KMS 기반 암호화 사용자 관리 세밀한 권한 설정 비용 발생 가능
SSE-C 사용자 제공 키 사용자 관리 완전한 제어 키 관리 책임
CSE 클라이언트 측 암호화 사용자 관리 높은 데이터 보호 복잡한 관리
 
Comments