빠르고 안전하게 둘 다 쓰면 되지! 대칭키 + 비대칭키 활용 혼합 활용 왜?
방식 | 장점 | 단점 |
대칭키 | 빠름, 단순 | 키 전달이 어렵다 |
비대칭키 | 키 공유는 안전함 | 느림, 계산 복잡 |
💡 그래서 실전에서는 보통 비대칭키로 대칭키를 전달하고 대칭키로 실제 데이터를 암호화
혼합 방식 = 하이브리드 암호 시스템 구조 요약
- 1단계: 대칭키 생성
- A(보내는 쪽)는 메시지를 안전하게 보낼 준비를 합니다.
- 먼저, 임의의 대칭키(예: AES 키)를 생성합니다.
- 예: s3cr3tK3y! 이 키는 실제로 메시지를 암호화할 때 쓸 키입니다.
- 2단계: 수신자의 공개키로 대칭키 암호화
- A는 이 대칭키(s3cr3tK3y!)를 B의 공개키로 암호화합니다.
- 이 암호화된 키는 B의 개인키 없이는 절대 풀 수 없습니다.
- 결과: Encrypted(s3cr3tK3y!, B의 공개키) 이건 키 전달 전용 암호화입니다.
- 3단계: 암호화된 대칭키를 전송
- A는 B에게 암호화된 대칭키를 먼저 보냅니다.
- B는 이걸 자신의 개인키로 복호화해서 대칭키 원본을 획득합니다.
- 4단계: 데이터 암호화 & 전송
- A는 이제 아까 생성한 대칭키로 실제 메시지를 암호화합니다. 예: "계약서 내용을 첨부합니다." → Encrypted(..., AES 키)
- 이 암호화된 메시지도 B에게 전송합니다.
- 5단계: 수신자 B는 두 가지를 복호화
- 받은 암호화된 대칭키 → 개인키로 복호화 → s3cr3tK3y!
- 받은 암호화된 메시지 → 이 대칭키로 복호화 → 원본 메시지 획득
이 구조는 다음의 장점을 가짐
- 키 전달은 안전하게
- 데이터 전송은 빠르게
TLS도 이 구조다!
6장에서 다룬 TLS도 결국 이 구조입니다:
- 공개키(Public Key): 인증서에서 가져옴 → 안전하게 키를 전달
- 대칭키(Symmetric Key): 세션 키로 사용됨 → 빠르게 데이터 암호화
💡 하이브리드 구조는 TLS의 핵심 원리
특징
① 이걸 뭐라고 부르나?
용어 | 의미 |
Hybrid Encryption | 대칭 + 비대칭 조합 방식 |
Session Key | 일시적으로 생성된 대칭키 |
Key Exchange | 안전한 키 전달 과정 (보통 비대칭키 이용) |
Session Key는 단발성이라 유출돼도 큰 문제 없음 → 다음 통신 시엔 다른 세션키를 새로 만듦
② 실전 활용 예시
예시 | 설명 |
TLS/HTTPS | 공개키로 세션키 전달, 이후 대칭키 사용 |
PGP 메일 암호화 | 메일 본문은 대칭키로, 대칭키는 수신자의 공개키로 |
모바일 메시징 앱 | 매 세션마다 대칭키를 새로 생성, 빠르게 암호화 |
요약
왜 혼합 구조가 정답인가?
- 비대칭키는 느리지만, 키 전달에 탁월
- 대칭키는 빠르지만, 공유가 위험
- 이 둘을 합치면 → 속도 + 보안 모두 확보
그래서 실제 암호 시스템은 거의 다 하이브리드 구조로 구성됨
'IT > security' 카테고리의 다른 글
#9 공개키를 믿을 수 있을까? (0) | 2025.05.10 |
---|---|
#8 비대칭키의 문제점 (0) | 2025.05.10 |
#6 인터넷에서는 비대칭키를 어떻게 활용할까? (0) | 2025.05.10 |
#5 디지털 서명 (0) | 2025.05.10 |
#4 비대칭키 (Asymmetric Key) (0) | 2025.05.10 |