HTTP/3(QUIC)에서 PQC 고려사항: 핸드셰이크·성능·호환성
HTTP/3(QUIC)은 TLS 1.3 기반으로 빠른 연결을 제공하지만, PQC 적용 시 핸드셰이크 크기·지연·호환성 이슈가 동시 발생한다. 특히 하이브리드 키교환과 인증서 체인 크기가 성능을 좌우한다. 운영에 바로 쓰는 점검 포인트를 정리한다.
HTTP/3는 QUIC 위에서 동작하고, QUIC의 보안은 TLS 1.3 핸드셰이크로 성립한다. 그래서 PQC를 고민할 때도 핵심은 “TLS에서 무엇이 바뀌는가”다. 그 변화가 QUIC의 UDP 특성과 만나면, 연결 성공률과 체감 속도가 달라진다.
1) 핸드셰이크에서 PQC가 들어가는 지점
QUIC은 TLS 1.3의 핸드셰이크 메시지를 QUIC의 CRYPTO 프레임으로 운반한다. 따라서 HTTP/3에서 PQC를 도입한다는 말은 보통 TLS 1.3의 키 교환 또는 서명(인증) 요소를 PQC로 바꾸거나 섞는다는 뜻이다.
현실적인 1순위는 하이브리드 키교환이다. 기존 ECDHE(X25519 등)와 PQC KEM(예: ML-KEM 계열)을 함께 수행해, 둘 중 하나가 깨지지 않으면 세션 키가 안전하도록 결합한다. 이렇게 하면 “양자 공격 대비”와 “현재 생태계 호환”을 동시에 노릴 수 있다.
인증(서명/인증서) 쪽은 더 신중해야 한다. PQC 서명은 키와 서명 크기가 커지는 경향이 있어 인증서 체인까지 커질 수 있고, 이는 QUIC 초기 전송량에 바로 부담이 된다. 그래서 과도기에는 “키교환만 하이브리드(PQC 포함) + 인증서 서명은 기존 방식” 조합이 운영적으로 흔하다. 결론적으로, HTTP/3에서 PQC의 첫 진입점은 대개 키교환이며, 서명은 생태계 성숙도와 트래픽 특성을 보고 단계적으로 간다.
2) 성능 영향과 튜닝 포인트
PQC(특히 하이브리드 키교환)는 핸드셰이크 메시지를 키운다. 문제는 QUIC이 UDP 위에서 동작한다는 점이다. QUIC Initial은 최소 1200바이트급 데이터그램을 전제로 설계됐고, 운영에서는 IP 단편화에 기대는 구성이 성능과 안정성에 불리하다. 핸드셰이크가 커지면 패킷이 더 잘 쪼개지고, 일부 네트워크에서는 손실·재전송·지연 스파이크가 눈에 띄게 늘 수 있다.
또 하나는 주소 검증 전 서버 전송량 제한(증폭 방지)이다. 클라이언트 주소가 검증되기 전에는 서버가 보낼 수 있는 데이터에 상한이 있어, 인증서나 추가 핸드셰이크 데이터가 큰 경우 한 번에 못 보내고 더 많은 라운드/재전송에 의존하게 된다. 이때 “연결은 되는데 느려졌다” 같은 현상이 생긴다.
실전 튜닝 포인트는 다음이 깔끔하다. 하이브리드 그룹은 처음부터 전체 적용하지 말고, 일부 트래픽에서 성공률·지연·재전송(PTO 포함)을 지표로 본 뒤 점진 확대한다. 인증서 체인을 슬림하게 만든다. 중간 인증서를 불필요하게 겹치게 두지 않고, 체인 길이와 크기를 줄이면 QUIC 초기 교환 부담이 직접 내려간다. HelloRetryRequest(또는 QUIC Retry 성격의 추가 왕복)가 잦아지지 않게, 서버가 지원하는 키교환 그룹 구성을 명확히 하고 클라이언트가 맞춰 갈 수 있게 배포 순서를 설계한다. 하이브리드에서 “잘못 찍어 한 번 더 왕복”이 되면 비용이 확 커진다.
3) 호환성·운영 체크리스트
호환성은 두 층으로 나뉜다. 첫째는 클라이언트/서버의 TLS·QUIC 라이브러리 지원이다. 둘째가 더 까다로운데, 방화벽·프록시·DPI·L4/L7 로드밸런서 같은 중간 장비가 큰 Initial/Handshake 교환을 비정상 처리하는 경우다. 특히 “HTTP/3는 되는데 특정 네트워크에서만 실패” 같은 이슈는 장비/정책에서 나올 때가 많다.
운영 체크리스트를 최소 단위로 정리하면 아래처럼 잡을 수 있다. 협상률(전체 연결 중 하이브리드 협상 비율), 실패율(핸드셰이크 실패 및 편향), 패킷 지표(Initial/Handshake 손실, 재전송, PTO), 인증서 지표(체인 크기/길이), 폴백(기존 그룹 즉시 복귀 스위치)이다.
배포는 보통 3단계가 안정적이다. 1단계는 내부/저비중 트래픽에서 하이브리드 키교환을 켜고 지표를 수집한다. 2단계는 외부로 점진 확대하되, 문제가 생기는 구간을 빠르게 분리할 수 있게 라우팅/피처 플래그를 둔다. 3단계는 커버리지(협상률)와 품질(지연/실패율)이 함께 만족될 때 적용 완료를 선언한다.
4) 결론
HTTP/3(QUIC)에서 PQC는 TLS 1.3 핸드셰이크의 변화로 구현되고, 당분간은 하이브리드 키교환이 가장 현실적인 출발점이다. 다만 QUIC의 UDP 특성과 초기 교환 제약 때문에, 핸드셰이크가 커질수록 손실·재전송·추가 왕복이 성능을 흔들 수 있다. 그래서 인증서 체인 슬림화, 협상 그룹 정리, 점진 롤아웃과 지표 기반 관측이 핵심 운영 전략이 된다. 호환성은 라이브러리뿐 아니라 중간 장비/네트워크에서 터지므로, 구간별 실패 패턴을 빠르게 격리할 수 있는 폴백 설계가 안전장치다.