S3의 객체 암호화

2024. 4. 22. 14:32AWS Cloud Base

목차

  • 개요
  • SSE S3
  • SSE KMS
  • SSE Client
  • Client Side

 

 

개요 

  • On Transit : SSL/TLS(HTTPS)
  • At Rest(Server Side) 
    • SSE S3: S3에서 알아서 암호화
    • SSE KMS: KMS 서비스를 이용해 암호화
    • SSE C : 클라이언트에서 제공한 암호를 통해 암호화
  • Client Side : 클라이언트가 직접 암호화(가장 안정적 but 귀찮음)

 

SSE S3

  • 데이터 저장시 S3에서 관리키를 통해 데이터 암호화
  • 데이터 가져올시 S3에서 관리키를 통해 데이터 복호화
  • S3가 키도 알아서 관리해줌

 

SSE KMS

  • 데이터 저장시 S3에서 KMS 서비스를 통해 나온 키로 데이터 암호화
  • 데이터 가져올시 S3에서 KMS 서비스를 통해 나온 키로 데이터 복호화
  • 즉, 키를 KMS 서버에서 관리를 함(SSE보다 훨씬 강력하며 안전)
    1. 키가 어떻게 로테이션되며, 관리되는지를 사용자가 직접 관리할 수 있기 때문
    2. 나아가 권한을 분리할 수 있음
      • S3의 Full 권한이 생겨도, KMS에 대한 권한이 없으면 데이터를 읽을 수 없음
      • 인프라 관리자, 파일 관리자 등에게 권한을 세분화시켜서 나눠주면, 그만큼 안전성이 올라감(역할 분담)

 

SSE Client

  • 데이터 저장시 클라이언트 Key로 S3에서 데이터를 암호화하여 저장
  • 데이터 가져올시 클라이언트 Key로 S3에서 데이터 복호화 후 가져옴
  • 클라이언트 단에서 해당 Key를 관리해야되며, 잃어버리면 데이터를 못 불러옴

 

Client Side

  • 데이터 저장시 클라이언트에서 클라이언트 Key로 암호화 후 S3에 전달하여 저장
  • 데이터 가져올시 S3에서 가져온 뒤, 클라이언트에서 클라이언트 Key로 복호화후 읽음
  • 클라이언트가 Key를 잃어버리면, 못 읽음

 

 

출처 : https://www.youtube.com/watch?v=tvnwOH7hP_8&list=PLfth0bK2MgIan-SzGpHIbfnCnjj583K2m&index=25

'AWS Cloud Base' 카테고리의 다른 글

AWS RDS  (0) 2024.08.13
S3 정적 호스팅  (0) 2024.04.22
S3 버전 관리 및 객체 잠금  (0) 2024.04.20
S3 Bucket Policy  (0) 2024.04.20
S3 Class  (0) 2024.04.20