Perfect Forward Secrecy: 모든 세션에 고유한 키가 필요한 이유
VPN에 연결하면 데이터는 키, 즉 정보를 잠그고 여는 수학적 값을 사용하여 암호화됩니다. 그런데 누군가 그 키 중 하나를 손에 넣는다면 어떻게 될까요? Perfect Forward Secrecy가 없다면 그 답은 불편합니다. 과거 트래픽의 상당 부분이 복호화될 수 있기 때문입니다. PFS를 사용하면 피해가 최대 단일 세션으로 제한됩니다.
쉽게 설명하는 PFS
Perfect Forward Secrecy는 특정 암호화 시스템의 기능으로, 각 세션이 완전히 고유하고 임시적인 암호화 키를 사용하도록 보장합니다. 세션이 종료되면 해당 키는 폐기되며 저장되지 않습니다. 공격자가 나중에 연결 수립에 사용되는 마스터 자격 증명인 장기 개인 키를 획득하더라도 이전 세션을 복호화하는 것은 불가능합니다. 모든 대화는 각자의 금고에 봉인되며, 그 금고의 열쇠는 세션이 끝나는 즉시 파괴됩니다.
작동 방식
전통적인 암호화 방식은 장기 정적 개인 키에서 세션 키를 파생시키는 경우가 많습니다. 그 개인 키가 도난당하거나 유출되면, 암호화된 트래픽을 기록해 둔 공격자가 모든 내용을 소급하여 복호화할 수 있습니다.
PFS는 임시 키 교환 프로토콜, 가장 일반적으로는 Diffie-Hellman Ephemeral (DHE) 또는 그 타원 곡선 변형인 ECDHE를 사용하여 이러한 의존성을 차단합니다. 간략한 작동 과정은 다음과 같습니다.
- 서버에 연결하면 사용자의 기기와 서버가 각각 독립적으로 임시(ephemeral) 키 쌍을 생성합니다.
- 이 임시 키를 사용하여 공유 세션 키를 협상하며, 이 키는 직접 전송되지 않습니다.
- 세션이 종료되면 양측은 임시 키를 삭제합니다.
- 다음 세션에서는 처음부터 완전히 새로운 임시 키를 생성합니다.
이러한 임시 키는 저장되지 않고 장기 자격 증명에서도 파생되지 않기 때문에, 정적 개인 키에서 개별 세션 키로 이어지는 수학적 경로가 존재하지 않습니다. 이것이 이름에서 "forward"가 의미하는 바입니다. 나중에 무언가가 노출되더라도 시간상 앞으로의 기밀성이 보장됩니다.
VPN 사용자에게 중요한 이유
VPN은 로그인 자격 증명, 금융 거래, 개인 메시지, 업무 문서 등 가장 민감한 데이터 일부를 처리합니다. PFS가 없다면 정교한 공격자(국가 수준의 행위자나 자원이 풍부한 해커 그룹)가 "지금 수집하고, 나중에 복호화한다"는 전략을 사용할 수 있습니다. 오늘 암호화된 VPN 트래픽을 기록해 두고, 언젠가 키를 해독하거나 탈취할 수 있을 때까지 기다리는 것입니다. 하드웨어와 컴퓨팅 성능이 발전하는 상황에서 이는 단순한 가정이 아닙니다.
PFS는 그 가능성을 완전히 차단합니다. VPN 제공업체의 서버 개인 키가 몇 년 후에 유출되더라도, 과거 세션은 여전히 암호화된 상태로 읽을 수 없습니다. 기자, 활동가, 비즈니스 전문가, 그리고 진정으로 민감한 통신을 다루는 모든 사람에게 이는 매우 중요한 보호 장치입니다.
PFS는 단기적인 공격으로 인한 피해도 제한합니다. 세션 키가 어떤 방식으로든 노출되더라도, 영향을 받는 것은 해당 단일 세션뿐이며 전체 연결 기록은 안전합니다.
PFS를 지원하는 VPN 프로토콜
모든 VPN 프로토콜이 기본적으로 Perfect Forward Secrecy를 구현하는 것은 아닙니다. 간략한 비교는 다음과 같습니다.
- WireGuard — 본질적으로 임시 키를 사용하며, PFS가 설계에 내재되어 있습니다.
- OpenVPN — DHE 또는 ECDHE 암호화 제품군으로 구성 시 PFS를 지원합니다.
- IKEv2/IPSec — Diffie-Hellman 그룹을 통해 PFS를 지원하며, 신뢰할 수 있는 구현에서는 기본적으로 활성화되어 있는 경우가 많습니다.
- L2TP/IPSec 및 PPTP — 신뢰할 수 있는 PFS 지원이 제한적이거나 없으며, 이 이유를 포함한 여러 이유로 구식으로 간주됩니다.
VPN 제공업체를 평가할 때, PFS가 단순히 이론적인 기능으로만 나열된 것이 아니라 실제로 활성화되어 있는지 문서나 독립적인 감사 보고서를 통해 확인하는 것이 좋습니다.
실제 사례
2024년에 한 내부 고발자가 VPN을 사용하여 문서를 공유하는 상황을 가정해 보겠습니다. 어떤 정보 기관이 그 암호화된 트래픽을 모두 기록했습니다. 2027년에 그 기관이 VPN 제공업체를 침해하여 서버 키를 탈취하는 데 성공했습니다. PFS가 없었다면 2024년의 모든 내용을 복호화할 수 있었을 것입니다. 하지만 PFS가 있다면, 2024년의 세션 키는 각 세션이 종료되는 순간 이미 삭제된 상태입니다. 2027년에 탈취한 키는 그 과거 트래픽에 아무런 소용이 없습니다.
이것이 바로 Perfect Forward Secrecy가 의도한 대로 정확히 작동하는 모습입니다.