AWS S3 보안 정리 - SSE, CSE, SSL/TLS 이해하기

2026. 6. 25. 11:40·Data Engineering/AWS

S3는 AWS에서 가장 많이 사용하는 객체 스토리지 서비스입니다. 중요한 데이터와 로그, 백업 파일을 저장하는 만큼 데이터 보안 역시 매우 중요합니다.

S3는 데이터를 보호하기 위해 크게 두 가지 암호화 방식과 하나의 전송 구간 암호화를 제공합니다.

  • 저장 시 암호화(Encryption at Rest)
  • 전송 시 암호화(Encryption in Transit)

이번 글에서는 S3에서 제공하는 대표적인 보안 기능인 SSE(Server-Side Encryption), CSE(Client-Side Encryption), SSL/TLS를 알아보겠습니다.


1. S3 암호화란?

S3 암호화는 저장되는 데이터를 암호화하여 권한이 없는 사용자가 파일을 획득하더라도 내용을 확인할 수 없도록 하는 기능입니다.

암호화는 크게 다음 두 가지 방식으로 나뉩니다.

  • 서버에서 암호화하는 방식(SSE; Server-Side Encryption)
  • 클라이언트에서 암호화하는 방식(CSE; Client-Side Encryption)

2. S3 암호화 방식 비교

구분 암호화 위치 키  관리사용 난이도 대표 용도
SSE-S3 AWS S3 AWS 매우 쉬움 일반 서비스
SSE-KMS AWS S3 AWS KMS 쉬움 기업 서비스, 감사 로그
SSE-C AWS S3 사용자 어려움 자체 키 관리 환경
CSE 클라이언트 사용자 가장 어려움 높은 보안이 필요한 환경

3. SSE(Server-Side Encryption)란?

암호화 방식 키 관리 주체 주요 특징 대표 활용 사례
SSE-S3 AWS S3 • AWS가 암호화 키를 자동 생성 및 관리
• 설정이 가장 간단함
• 별도의 키 관리가 필요 없음
• 웹 서비스 이미지
• 일반 로그 파일
• 프로젝트 백업
• 일반 애플리케이션 데이터
SSE-KMS AWS KMS • AWS KMS를 이용한 키 관리
• IAM을 통한 세밀한 접근 제어 가능
• CloudTrail 기반 감사(Audit) 지원
• 키 교체(Rotation) 및 권한 관리 가능
• 개인정보 저장
• 의료 데이터
• 금융 데이터
• 기업 서비스 및 중요 백업
SSE-C 사용자
(Customer)
• 사용자가 직접 암호화 키 제공 및 관리
• AWS는 키를 저장하지 않음
• 다운로드 시 동일한 키 필요
• 키 분실 시 복구 불가
• 자체 보안 정책을 가진 기업
• AWS에 키 저장이 불가능한 환경
• 규제가 엄격한 산업의 데이터

SSE는 객체가 S3에 저장되는 순간 AWS 서버에서 자동으로 암호화를 수행하는 방식입니다.

사용자는 평소처럼 파일을 업로드하면 되며, 저장 과정에서 자동으로 암호화가 적용됩니다.

즉, 업로드 과정은 동일하지만 S3 내부에서 암호화가 이루어집니다.

3-1) SSE-S3

https://thecyphere.com/blog/amazon-s3-encryption/

SSE-S3는 AWS가 암호화 키를 생성하고 관리하는 가장 기본적인 암호화 방식입니다.

객체를 업로드하면 AWS가 자동으로 암호화를 수행하며 사용자는 별도의 키를 관리할 필요가 없습니다.

  • 2번은 데이터를 보호하는 과정
  • 3번은 데이터를 보호하는 데 사용한 '키'를 다시 보호하는 과정

3-2) SSE-KMS

KMS(Key Management Service)는 암호화 키를 안전하게 생성, 저장, 관리하는 서비스입니다.

파일이 Data Key로 암호화된 이후에는 Data Key를 그대로 저장하지 않습니다. 만약 Data Key가 평문으로 저장된다면 해당 키를 획득한 사람이 파일을 복호화할 수 있기 때문입니다.

그래서 KMS(Key Management Service)가 Data Key를 다시 암호화합니다.

https://thecyphere.com/blog/amazon-s3-encryption/

 

  • 객체마다 새로운 Data Key가 생성된다.
  • 객체는 해당 Data Key를 이용해 암호화된다.
  • Data Key는 KMS Key로 다시 암호화되어 저장된다.
  • 일반적으로 하나의 KMS Key가 여러 개의 Data Key를 관리한다.

3-3) SSE-C

https://thecyphere.com/blog/amazon-s3-encryption/

  • SSE-C(Server-Side Encryption with Customer-provided Keys)는 사용자가 직접 암호화 키를 제공하는 방식입니다.
  • S3는 사용자가 제공한 키를 이용해 암호화를 수행하지만 키 자체는 저장하지 않습니다.
  • 즉, 객체를 다운로드할 때도 동일한 키를 반드시 제공해야 합니다.
  • 기업 내부 보안 정책상 AWS에 키를 맡길 수 없는 환경에서 사용됩니다.

4. CSE(Client-Side Encryption)

https://paladincloud.io/aws-security-risks/kms-vs-sse

CSE는 파일을 업로드하기 전에 사용자의 애플리케이션에서 먼저 암호화를 수행하는 방식입니다.

암호화된 데이터만 S3에 저장되므로 AWS도 원본 데이터를 확인할 수 없습니다.

 

특징

  • 클라이언트에서 암호화
  • AWS는 암호문만 저장
  • 가장 높은 수준의 보안 제공
  • 구현 난이도가 높음

대표적으로 국가기관, 금융권, 의료기관 등 높은 보안 수준이 요구되는 환경에서 사용됩니다.


5. SSL/TLS란?

https://medium.com/%40ank.rck/https-explained-for-interviews-a-clear-practical-guide-13bc5bb5dbfa

SSL/TLS는 전송되는 데이터를 보호합니다.

예를 들어 사용자가 S3에 파일을 업로드하면 인터넷을 통해 데이터가 이동합니다.

이때 HTTPS(SSL/TLS)를 사용하면 전송 구간이 암호화되어 중간에서 데이터를 가로채더라도 내용을 확인할 수 없습니다.

  • 저장 시 암호화 → SSE, CSE
  • 전송 시 암호화 → SSL/TLS

6. 어떤 방식을 선택해야 할까?

상황 추천 방식
일반 프로젝트 SSE-S3
기업 서비스 SSE-KMS
자체 키 관리 필요 SSE-C
최고 수준 보안 CSE

7. 마치며

이번 글에서는 S3에서 제공하는 암호화 방식인 SSE-S3, SSE-KMS, SSE-C, CSE와 SSL/TLS의 역할을 살펴보았습니다.

 

처음에는 모두 비슷한 기능처럼 보일 수 있지만, 암호화를 수행하는 위치와 암호화 키를 관리하는 주체가 각각 다르다는 점을 이해하며 차이를 쉽게 구분할 수 있었습니다.

 

특히 SSE-KMS에서 사용하는 Data Key와 KMS Key의 관계를 이해하면 S3의 암호화 구조도 함께 이해할 수 있었습니다.

'Data Engineering > AWS' 카테고리의 다른 글

AWS EFS란?  (0) 2026.06.26
AWS EBS란?  (0) 2026.06.26
AWS S3 Lifecycle이란?  (0) 2026.06.25
AWS Glue란?  (0) 2026.06.23
Data Mesh란?  (0) 2026.06.23
'Data Engineering/AWS' 카테고리의 다른 글
  • AWS EFS란?
  • AWS EBS란?
  • AWS S3 Lifecycle이란?
  • AWS Glue란?
jjaehyeok
jjaehyeok
jjaehyeok 님의 블로그 입니다.
  • jjaehyeok
    jjaehyeok 님의 블로그
    jjaehyeok
  • 전체
    오늘
    어제
    • 분류 전체보기 (108) N
      • Navisafe (15)
        • Infrastructure (13)
        • Data Pipeline (0)
        • Trouble shooting (2)
      • Data Engineering (56) N
        • Airflow (11)
        • Kafka (3)
        • Spark (0)
        • ELK (2)
        • Kubernetes (7)
        • AWS (33) N
        • Flink (0)
      • CodingTest (31)
        • 문제 풀이(Lv1~Lv2) (21)
        • 문제 풀이(Lv3) (10)
        • SQL (0)
      • 알고리즘 정리 (3)
        • 자료구조 (스택, 큐, 해시) (3)
        • 정렬 & 그리디 (0)
        • DFS & BFS (0)
        • 이분탐색 (0)
        • DP (0)
      • 자격증 (1)
        • CKAD (1)
        • DEA-C01 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Kafka
    DynamoDB
    ECR
    eks
    RDS
    DEA-C01
    AWS
    datasync
    batch
    S3
    datatransfer
    documentdb
    CKAD
    Glue
    k8s
    Airflow
    Redshift
    elk
    EC2
    trouble shooting
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
jjaehyeok
AWS S3 보안 정리 - SSE, CSE, SSL/TLS 이해하기
상단으로

티스토리툴바