[AWS] 암호화와 SSL/TLS

 

 

 

 

 

올 해의 첫 공부는 AWS로 시작하게 되었습니다.

단순히 배포를 할 줄 아는 것보다는 더 정확하게 이해하고 싶어졌기 때문입니다.

완강까지.. 화이팅

 

 

 

 

 

1️⃣   암호화 기초 개념 (Encryption vs Hashing)

데이터 보안의 가장 기본이 되는 암호화와 해시의 차이를 명확히 이해하는 것이 중요합니다.

 

🏷️  암호화 (Encryption)

  • 개념 : 수학적 과정을 통해 정보를 읽을 수 없는 데이터로 변환하는 행위입니다.
  • 특징 : 적절한 키(Key)가 있다면 원래의 정보로 복원(복호화)이 가능합니다.
  • 용어 정리
    • 평문(Plaintext) : 암호화 전의 순수한 데이터
    • 암호문(Ciphertext) : 알고리즘과 키를 통해 변환된 데이터
    • 복호화(Decryption) : 암호문을 다시 평문으로 되돌리는 과정

 

🏷️ 해시 (Hash)

  • 개념 : 임의의 길이를 가진 데이터를 고정된 길이의 암호화된 문자열로 바꾸는 것입니다.
  • 특징 : 복원이 불가능합니다. (단방향성) 한 번 해시화하면 원본 데이터를 다시 찾아낼 수 없으므로 주로 비밀번호 저장이나 데이터 무결성 확인에 사용됩니다.

 

 

 

 

 

2️⃣   상황에 따른 데이터 보호 (At Rest vs At Transit)

데이터가 어디에 머물고 있느냐에 따라 적용하는 암호화 기술이 달라집니다.

 

🏷️ 저장된 데이터 보호 (Encryption At Rest)

  • 개념 : 디스크, SSD, DB 등 저장 매체에 기록된 데이터를 보호하는 방식입니다.
  • 작동 방식 : 애플리케이션에서 데이터를 암호화하여 저장하고, 불러올 때만 복호화합니다.
  • 장점 : 물리적인 디스크를 도난당하거나 데이터 파일이 유출되어도 키가 없으면 내용을 알 수 없습니다.

 

🏷️ 전송 중 데이터 보호 (Encryption At Transit)

  • 개념 : 네트워크를 통해 데이터가 오가는 과정(통신)을 암호화하는 것입니다.
  • 작동 방식 : 송신 측에서 암호화하여 보내고 수신 측에서 복호화합니다.
  • 예시 : HTTPS, SSL/TLS 프로토콜 등이 대표적입니다.
  • 목적 : 데이터 전송 중 발생하는 스니핑(탈취)으로부터 정보를 보호합니다.

 

 

 

 

 

3️⃣   암호화 방식에 따른 분류 (대칭키 vs 비대칭키)

암호화와 복호화에 사용하는 '키'의 종류에 따라 두 가지로 나뉩니다.

해당 내용은 이전에 보다 자세하게 정리한 포스팅이 있으니, 해당 글을 참고해주세요!

 

 

 

구분 대칭키 암호화 (Symmetric) 비대칭키 암호화 (Asymmetric)
키 개수 1개 (동일한 키로 암호화/복호화) 2개 (공개키 + 비밀키 한 쌍)
속도 매우 빠름 (연산이 단순) 비교적 느림 (연산이 복잡)
키 전달 키를 전달하는 과정에서 노출 위험 있음 공개키는 배포해도 되므로 전달이 쉬움
활용 실제 대량의 데이터 전송/암호화 키 교환, 디지털 서명, 인증

💡 통신에서는 주로, 비대칭키로 안전하게 대칭키를 교환한 뒤,
     실제 데이터 전송은 속도가 빠른 대칭키 방식을 사용하는 하이브리드 방식을 주로 사용합니다.

 

 

 

 

 

 

4️⃣   암호화 서명 (Digital Signature)

데이터의 무결성과 발신자의 신원을 보장하는 기술입니다.

 

  • 원리: 비밀키(Private Key)로 서명을 생성하고, 누구나 얻을 수 있는 공개키(Public Key)로 서명을 검증합니다.
  • 핵심 가치: "이 데이터는 반드시 이 비밀키를 가진 주체가 만들었다"는 것을 보장합니다.
  • 실제 사례 (AWS Pre-Signed URL)
    • 사용자가 S3 파일에 접근할 권한이 있는지 확인하기 위해, 애플리케이션이 가진 키로 URL에 서명을 합니다.
    • AWS 서비스는 이 서명을 확인하여 권한이 있는 요청인지 검증하고 파일을 제공합니다.

 

 

 

 

 

5️⃣   SSL/TLS (통신 보안 프로토콜)

클라이언트와 서버 간의 데이터 무결성과 기밀성을 보장하는 핵심 프로토콜입니다.

 

🏷️ SSL/TLS 3단계 과정

1. Cipher Suites 교환

  • 클라이언트와 서버가 서로 어떤 보안 알고리즘(암호화 방식 등)을 사용할지 리스트를 주고받으며 합의합니다.

2. 인증 (Certificate)

  • 문제상황 : 접속한 서버가 진짜인지 어떻게 믿을까?
  • 해결 : CA(인증 기관)가 발급한 인증서를 사용합니다.
  • 검증 과정
    1. 서버는 자신의 정보와 공개키를 CA에 전달하여 인증서 발급을 요청합니다.
    2. CA는 자신의 비밀키로 해당 정보를 암호화하여 인증서를 만듭니다.
    3. 클라이언트는 이미 가지고 있는 CA의 공개키로 서버의 인증서를 복호화합니다.
    4. 복호화에 성공하면 신뢰할 수 있는 서버임을 확인하게 됩니다.

3. 키 교환 (Key Exchange)

  • 서로 신뢰가 확인되면, 비대칭키(RSA 등) 알고리즘을 사용하여 실제 통신에 쓸 대칭키를 안전하게 생성하고 교환합니다.
  • 이후의 모든 데이터 통신은 이 대칭키를 통해 이루어집니다.

 

 

 

 

 

⏺️ 정리

항목 핵심 내용
암호화 vs 해시 복원 가능성 여부 (암호화는 O, 해시는 X)
At Rest 저장된 데이터 보호 (디스크 암호화)
At Transit 이동 중인 데이터 보호 (HTTPS, SSL/TLS)
비대칭키의 역할 키 전달의 단점 보완 및 인증/서명에 활용
SSL/TLS CA 인증서를 통한 신뢰 구축 및 안전한 키 교환 과정

 

암호화는 단순한 데이터 변환을 넘어,

데이터가 머물고 이동하는 모든 경로에서 무결성기밀성을 유지하기 위한 필수적인 기술입니다.

 

 

 

 

 

🧾  참고 자료

쉽게 설명하는 AWS 기초 강의 - 암호화 & SSL/TLS

'AWS' 카테고리의 다른 글

[AWS] CIDR 개념  (0) 2026.05.24
[AWS] EBS(Elastic Block Store)개념 이해하기  (1) 2026.03.11
[AWS] EC2 인스턴스 유형 선택방법  (0) 2026.02.21
[AWS] AWS의 구조  (0) 2026.02.08