반응형



Forward Secrecy(정확히는 Perfect Forward Secrecy, PFS)는 한 줄로 말하면:
"미래에 서버 비밀키가 털려도,
과거 HTTPS 통신 내용은 복호화할 수 없게 만드는 성질"
이다.
현재 HTTPS/TLS에서 엄청 중요한 개념이다.
먼저 왜 필요했나?
옛날 HTTPS는 보통:
RSA 공개키로
AES 세션키 전달
방식을 사용했다.
예전 RSA 방식 흐름
1
클라이언트가:
AES_SESSION_KEY
생성.
2
서버 공개키로 암호화 후 전송.
3
서버 개인키로 복호화.
문제 발생
공격자가 네트워크를 계속 녹음하고 있었다고 하자.
미래에 서버 개인키 유출되면?
공격자는 과거 패킷에서:
암호화된 AES 세션키
를 다시 복호화 가능.
결과
예전 HTTPS 통신 전체 복호화 가능
해질 수 있다.
즉 문제는
장기 서버 개인키 하나가
모든 과거 통신 운명을 결정
한다는 것.
Forward Secrecy 목표
"서버 개인키 털려도
과거 세션은 안전하게"
만드는 것.
그래서 등장한 방식
현재는 대부분:
- Elliptic-curve Diffie–Hellman
- ECDHE
사용.
핵심 아이디어
세션마다 일회용 키 사용
한다.
ECDHE의 E 의미
E = Ephemeral
즉:
일회용(temporary)
이라는 뜻.
현대 TLS 흐름
연결 시작
브라우저와 서버가:
매 연결마다 새로운 임시 비밀값 생성
한다.
결과
이번 연결 전용 AES 세션키
생성.
중요한 점
이 세션키는:
서버 장기 개인키로부터
직접 계산 불가
하다.
그래서 미래에 서버 개인키 털려도
공격자는:
과거 세션의 임시 키
를 알 수 없다.
즉 과거 패킷 녹음해놔도
복호화 불가능.
쉽게 비유
예전 RSA 방식
모든 대화가
하나의 마스터 열쇠 기반
PFS 방식
대화할 때마다
새 일회용 열쇠 생성 후 폐기
그래서 과거 보호 가능
오늘 키 털려도:
어제 대화 열쇠는 이미 폐기
상태.
왜 HTTPS에서 중요?
인터넷 백본이나 국가기관 수준 공격자는:
암호화 패킷 장기간 저장
가능할 수 있다.
미래 공격 시나리오
지금은 못 풀어도
나중에 서버키 탈취하면?
문제가 있었다.
PFS는 이걸 막음
즉:
"나중에 키 털려도 과거 통신 보호"
한다.
TLS 1.3에서는 사실상 기본
TLS 1.3은:
RSA Key Exchange 제거
했다.
현재는 거의:
ECDHE 기반 PFS
사용.
그래서 현대 HTTPS 구조
| 역할 | 기술 |
| 서버 인증 | RSA/ECDSA 인증서 |
| 키 교환 | ECDHE |
| 실제 통신 | AES-GCM |
여기서 헷갈리기 쉬운 점
인증서 개인키는 여전히 존재
하지만 역할이 다르다.
현재 인증서 개인키 역할
"진짜 서버 맞다"
증명용.
세션키 생성은 따로
ECDHE 임시 키 사용.
즉:
인증키 ≠ 통신 세션키
구조.
실무에서 중요한 이유
보안 요구사항에서:
PFS 지원 여부
자주 확인한다.
특히:
- 금융
- 공공
- 클라우드
Cipher Suite 예시
PFS 지원:
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
여기서:
ECDHE
가 핵심.
핵심 한 줄
Forward Secrecy는:
세션마다 일회용 키를 사용해서,
미래에 서버 개인키가 유출되더라도
과거 HTTPS 통신은 복호화할 수 없게 만드는 보안 성질
이다.
반응형
'system_fundamentals > security_cryptography' 카테고리의 다른 글
| HTTPS 성능 비용 (0) | 2026.05.15 |
|---|---|
| TLS termination (0) | 2026.05.15 |
| Self-signed 문제 (0) | 2026.05.15 |
| CA 체계 (1) | 2026.05.15 |
| 인증서는 누가 믿는가 (1) | 2026.05.15 |
댓글