올 해의 첫 공부는 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(인증 기관)가 발급한 인증서를 사용합니다.
- 검증 과정
- 서버는 자신의 정보와 공개키를 CA에 전달하여 인증서 발급을 요청합니다.
- CA는 자신의 비밀키로 해당 정보를 암호화하여 인증서를 만듭니다.
- 클라이언트는 이미 가지고 있는 CA의 공개키로 서버의 인증서를 복호화합니다.
- 복호화에 성공하면 신뢰할 수 있는 서버임을 확인하게 됩니다.
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 |