포스트 양자 보안 전환 (Post-Quantum Security Transition)

양자 컴퓨터 시대를 대비해 리눅스 커널 개발자가 실제로 점검해야 할 TLS, VPN, Secure Boot, 모듈 서명, TPM, 공급망, 저장 데이터 전환 포인트를 실무 중심으로 정리합니다.

전제 조건: 암호화(Encryption) 알고리즘 내부 구조 문서를 먼저 읽으면 Shor 알고리즘, Grover 알고리즘, ML-KEM, ML-DSA 같은 용어를 훨씬 빠르게 따라갈 수 있습니다. 이 문서는 수학 증명보다 운영 영향과 전환 순서를 우선 설명합니다.
일상 비유: 이 개념은 건물의 자물쇠 교체와 비슷합니다. 철문과 경비실은 계속 유용하지만, 열쇠 복제 기술이 바뀌면 출입증 체계, 열쇠 관리 규정, 문서 보관함까지 함께 바꿔야 합니다.

핵심 요약

  • 공개키 — RSA, ECDH, ECDSA, Ed25519 같은 공개키 계열은 양자 위협을 직접 받습니다.
  • 대칭키 — AES-256, ChaCha20, HMAC, HKDF 같은 대칭 계열은 즉시 폐기 대상이 아니며 보안 마진 재조정이 핵심입니다.
  • 수확 후 복호화(Decryption) — 지금 수집한 트래픽을 나중에 양자 컴퓨터로 복호화하는 공격 모델을 말합니다.
  • 하이브리드 전환 — 전환기에는 기존 공개키와 PQC를 함께 써서 호환성과 보증을 동시에 확보합니다.
  • 검증기 호환성 — 모듈 서명, Secure Boot, TPM 증명은 알고리즘만 바꾸면 끝나지 않고 검증 체인 전체가 따라와야 합니다.

단계별 이해

  1. 무엇이 깨지는지 구분합니다.
    대칭 암호와 공개키 암호를 구분하지 않으면 대응 우선순위(Priority)를 잘못 잡게 됩니다.
  2. 장기 기밀 데이터부터 분류합니다.
    10년 이상 숨겨야 하는 트래픽과 서명 검증(Signature Verification) 체계를 먼저 찾는 것이 효과적입니다.
  3. 하이브리드 가능한 구간부터 전환합니다.
    TLS와 배포 서명 체계처럼 병행 운용이 가능한 구간이 초기 전환의 중심입니다.
  4. 검증기와 운영 절차를 함께 갱신합니다.
    키 저장소, 신뢰 루트, 로그, 감사 규칙, 성능 한계까지 같이 점검해야 실제 전환이 됩니다.

개요

양자 컴퓨터(Quantum Computer) 시대의 위협을 논할 때 가장 흔한 오해는 "모든 암호가 한 번에 무너진다"는 식의 단순화입니다. 실제로는 공개키(Public-Key) 계열과 대칭키(Symmetric-Key) 계열의 영향이 크게 다르며, 리눅스 커널 개발자 관점에서는 프로토콜 핸드셰이크, 서명 검증기, 부팅 체인, 공급망 검증기가 먼저 문제를 드러냅니다.

이 문서는 "양자 컴퓨터가 무섭다"는 수준의 일반론이 아니라, 지금 어떤 자산을 찾아야 하고, 어디는 하이브리드가 가능하며, 어디는 검증기 전체를 같이 바꿔야 하는지를 실무 중심으로 정리합니다. 이론 설명은 필요한 만큼만 담고, 깊은 수학 배경은 암호화 알고리즘 내부 구조로 넘깁니다.

NIST는 2024년 8월 13일에 FIPS 203(ML-KEM), FIPS 204(ML-DSA), FIPS 205(SLH-DSA)를 최종 발표했으며, 미국 NSA는 2025년 3월 CNSS Policy 15(CNSSP-15) 개정판을 통해 CNSA 1.0 폐지와 CNSA 2.0 전환 타임라인을 국가 안보 시스템(NSS)에 제시했습니다.

왜 이 문제가 생기는가

기초 개념만 놓고 보면 문제는 단순합니다. 지금의 공개키 암호는 "역연산이 매우 어렵다"는 가정 위에 서 있는데, 양자 알고리즘은 그 역연산 일부를 고전 컴퓨터보다 훨씬 효율적으로 처리할 수 있습니다. 반면 대칭 암호는 "모든 키를 다 해보는 데 시간이 너무 오래 걸린다"는 쪽에 더 가깝기 때문에, 같은 양자 위협이라도 영향이 다르게 나타납니다.

질문짧은 답실무 의미
왜 RSA와 ECC가 문제입니까?Shor 알고리즘이 소인수 분해와 이산 로그 문제를 구조적으로 위협합니다.키 교환, 인증서, 서명 체계가 모두 전환 대상입니다.
왜 AES는 바로 버리지 않습니까?Grover 알고리즘은 전수 탐색을 줄이지만 공개키처럼 완전히 무너뜨리지는 않습니다.AES-256 같은 더 긴 키 길이를 우선 검토하면 됩니다.
왜 지금부터 준비해야 합니까?수확 후 복호화 공격은 미래의 양자 컴퓨터를 위해 현재 트래픽을 저장해 둘 수 있기 때문입니다.장기 기밀 데이터는 오늘의 암호화만 보고 안전하다고 말할 수 없습니다.
왜 전환이 느립니까?알고리즘 하나를 바꾸는 것이 아니라 검증기, 키 저장소, 감사 체계까지 바꿔야 하기 때문입니다.부트 체인과 공급망은 네트워크보다 훨씬 느리게 움직입니다.
용어를 짧게 정리하면: KEM(Key Encapsulation Mechanism)은 "안전하게 공유 비밀을 합의하는 장치"이고, 서명(Signature)은 "이 파일이 정말 내가 만든 것인지 증명하는 장치"입니다. 양자 전환에서는 KEM은 TLS/IKE 쪽에서, 서명은 Secure Boot/모듈 서명/릴리스 배포 쪽에서 먼저 문제를 드러냅니다.

위협 모델

양자 시대 위협은 단순히 "언젠가 RSA가 깨진다"는 문장으로 끝나지 않습니다. 커널과 운영 환경에서는 적어도 세 가지 축을 나눠서 봐야 합니다.

위협을 머릿속에서 그리는 방법

양자 위협을 판단할 때는 "암호 알고리즘"보다 먼저 어떤 자산이 얼마나 오래 살아남아야 하는가를 생각하는 편이 좋습니다. 예를 들어 오늘의 HTTPS 세션 쿠키는 하루 뒤면 가치가 사라질 수 있지만, 오늘 전송한 소스 코드 서명 키 백업이나 장기 계약 문서는 10년 뒤에도 가치가 남을 수 있습니다.

자산기밀성 유지 기간양자 준비 긴급도이유
일반 웹 세션짧음중간즉시 큰 피해는 아닐 수 있으나, 서비스 규모가 크면 전환 비용이 커서 미리 준비해야 합니다.
기업 내부 VPN 트래픽중간~김높음설계 문서, 운영 비밀, 자격 증명 교환이 섞여 있는 경우가 많습니다.
릴리스 서명 키와 업데이트 체인매우 높음한 번 위조되면 과거와 미래 아티팩트 신뢰가 함께 무너질 수 있습니다.
장기 보관 백업높음수확 후 복호화 모델에 직접 노출됩니다.
위협 모델지금 일어나는가영향 대상운영 의미
수확 후 복호화TLS, QUIC, VPN, 장기 보관 백업미래에 양자 컴퓨터가 생기면 현재 저장된 암호문이 복호화될 수 있으므로 장기 기밀 데이터는 지금부터 전환해야 합니다.
서명 위조아직 아님릴리스 서명, 모듈 서명, 펌웨어(Firmware) 서명, 인증서실용적 양자 컴퓨터가 등장하면 위조 업데이트와 위조 인증서 문제가 한꺼번에 열릴 수 있습니다.
검증기 지연(Latency)UEFI, 부트로더(Bootloader), 배포판 도구, HSM, CI 파이프라인(Pipeline), 커널 로더(Loader)알고리즘 표준화보다 검증기 지원이 늦게 따라오므로 전환기 설계가 가장 중요합니다.
성능/크기 증가TLS 핸드셰이크, 서명 아티팩트, NIC offload패킷(Packet) 크기, 인증서 체인, CPU 비용이 늘어나므로 용량 계획과 병목(Bottleneck) 점검이 필요합니다.
핵심 우선순위: 기밀성 유지 기간이 긴 데이터, 서명 검증이 보안 경계인 체계, 그리고 검증기 교체 비용이 큰 체계를 먼저 점검해야 합니다. 반대로 디스크 내부의 대칭 암호 데이터 경로는 상대적으로 급하지 않을 수 있습니다.

실제 운영 시나리오 세 가지

  1. HTTPS 서비스:
    지금 방문자의 세션은 오늘 끝날 수 있지만, 기업 고객의 계약 문서와 API 토큰은 장기 가치가 남을 수 있습니다. 그래서 공용 웹사이트와 내부 관리망의 우선순위는 같지 않습니다.
  2. 커널 모듈(Kernel Module) 배포:
    오늘 서명한 모듈이 내일만 검증되면 끝나는 것이 아니라, 나중에 장애 복구나 포렌식 때도 "그때 이 바이너리가 진짜였는가"를 입증해야 할 수 있습니다.
  3. 원격 증명 인프라:
    TPM Quote 자체보다 중요한 것은 검증 서버가 그 증명을 어떤 인증서 체인(Chain of Trust)으로 신뢰하느냐입니다. 양자 전환은 여기서 자주 지연됩니다.

무엇이 실제로 위협받는가

양자 위협은 암호 primitive마다 다르게 작용합니다. 아래 표는 리눅스 커널 문서에서 자주 다루는 기술을 세 갈래로 나눈 것입니다.

현재 기술양자 영향우선순위기본 대응
RSA, DHShor 알고리즘으로 직접 위협받습니다.매우 높음PQC 또는 하이브리드 키 교환/서명으로 교체합니다.
ECDH, ECDSA, Ed25519타원 곡선 기반 공개키도 직접 위협받습니다.매우 높음TLS, VPN, 릴리스 서명, 증명 체계를 우선 전환합니다.
AES-128Grover 알고리즘으로 보안 마진이 줄어듭니다.중간장기 기밀 자산은 AES-256 우선으로 재검토합니다.
AES-256, ChaCha20-Poly1305즉시 폐기 대상은 아니며 보안 마진 조정 문제입니다.낮음계속 사용할 수 있지만 키 관리와 핸드셰이크 전환이 함께 필요합니다.
SHA-256, SHA-384, SHA-512, HMAC, HKDF이론적 약화는 있으나 공개키처럼 즉시 붕괴하지는 않습니다.낮음장기 보존 체계만 별도 검토하고, 당장은 공개키 전환이 우선입니다.

왜 대칭 암호는 상대적으로 덜 급한가

실무자가 가장 많이 헷갈리는 지점이 바로 여기입니다. 네트워크 패킷을 실제로 암호화하는 것은 보통 AES-GCM이나 ChaCha20-Poly1305 같은 대칭 암호입니다. 그런데 이 세션 키를 처음 안전하게 합의하는 과정은 대개 ECDH나 DH 같은 공개키 기반 절차입니다. 양자 위협은 이 "문을 여는 열쇠 교환"에 먼저 큰 충격을 줍니다.

구간오늘 많이 쓰는 기술양자 전환에서 먼저 볼 항목
세션 시작X25519, P-256, RSA 인증서하이브리드 KEM, PQ 서명, 검증기 호환성
데이터 전송AES-GCM, ChaCha20-Poly1305키 길이, 성능, 재키잉 주기
로그와 감사해시(Hash), HMAC, 서명 메타데이터어떤 체인이 고전 전용인지 구분 가능한지
무엇을 먼저 바꿔야 하는가 완전 교체 우선 RSA 기반 서명 ECDSA, Ed25519 DH, ECDH, Curve25519 핸드셰이크 릴리스 인증서와 원격 증명 인증서 이 구간이 양자 위협의 중심입니다. 네트워크 기밀성, 코드 서명, 신뢰 체인이 여기에 묶입니다. 하이브리드 우선 TLS 1.3 키 교환 IKEv2와 VPN 제어 평면 릴리스 서명과 아티팩트 검증 장비가 아직 PQ 전용을 못 받을 때의 전환기 호환성과 보증을 같이 챙기는 구간입니다. 둘 중 하나만 남겨 두는 방식이 아니라 정책을 명확히 나눠야 합니다. 대체로 유지 가능 AES-256, XTS, ChaCha20-Poly1305 HMAC, HKDF, SHA-384/512 dm-crypt, fscrypt 데이터 경로 kTLS, ESP의 대칭 데이터 처리 핸드셰이크와 서명 체계가 더 중요합니다. 대칭 경로는 유지하되 키 길이와 KDF 정책을 재점검합니다. 커널 개발자 관점에서는 "대칭 데이터 경로"보다 "공개키 제어 평면과 검증기"를 먼저 찾는 것이 맞습니다.

네트워크 프로토콜과 커널 경계

실무적으로 가장 먼저 부딪히는 영역은 TLS, VPN, QUIC 같은 네트워크 프로토콜입니다. 여기서 중요한 것은 데이터 평면(Data Plane)제어 평면(Control Plane)을 분리해서 보는 것입니다.

대상지금 위협받는 지점커널 개발자 관점권장 조치
TLS 1.3 / OpenSSLX25519, P-256, 인증서 서명핸드셰이크는 주로 유저스페이스 TLS 스택이 담당합니다.하이브리드 그룹(X25519MLKEM768 등) 시험, 인증서/CA 체계 인벤토리, 핸드셰이크 CPU 비용 측정을 시작합니다.
kTLS직접 붕괴 지점은 아님kTLS는 레코드 계층의 대칭 암호 처리와 오프로드가 중심입니다.핸드셰이크 전환을 유저스페이스에서 처리하고, kTLS는 대칭 데이터 경로 성능 유지 관점에서 봅니다.
WireGuardCurve25519 핸드셰이크데이터 패킷은 ChaCha20-Poly1305로 보호되지만 키 합의는 별개입니다.PresharedKey를 헤지로 쓸 수 있으나, 장기 전략은 별도 설계가 필요합니다.
IPSec / IKEv2IKE의 DH/ECDH와 인증서 서명ESP 데이터 경로는 AES-GCM, ChaCha20-Poly1305 같은 대칭 암호가 중심입니다.IKE 라이브러리와 인증 체계의 하이브리드 지원, MTU와 CPU 비용 재측정을 같이 진행합니다.
QUICTLS 기반 핸드셰이크커널보다 유저스페이스 라이브러리와 CDN 생태계 영향이 큽니다.브라우저, CDN, TLS 라이브러리의 하이브리드 키 교환 지원 여부를 별도로 점검합니다.
네트워크에서 실제 전환 지점은 어디인가 TLS / HTTPS 핸드셰이크: X25519, P-256, 인증서 여기가 PQ 전환 중심 데이터 평면: AES-GCM / ChaCha20-Poly1305 WireGuard 핸드셰이크: Curve25519 + PSK 선택 공개키 교환은 전환 필요 데이터 평면: ChaCha20-Poly1305 유지 가능 IPSec / IKEv2 IKE: DH/ECDH, 인증서, 정책 협상 제어 평면이 PQ 전환 핵심 ESP: AES-GCM / ChaCha20-Poly1305 공통점: "데이터를 암호화하는 엔진"보다 "세션을 여는 공개키 절차"가 먼저 전환 대상입니다.

기초 예시로 이해하는 세 가지 상황

상황오늘의 흐름양자 전환에서 달라지는 점
웹 서버브라우저와 서버가 ECDH로 세션 키를 합의하고, 이후 대칭키로 HTTP를 보호합니다.세션 키 합의 부분을 하이브리드 KEM으로 바꾸고, 인증서 서명 체계도 함께 점검해야 합니다.
사이트 간 WireGuard피어 공개키를 미리 배포하고, 세션은 Curve25519 기반으로 엽니다.PSK를 더하는 것만으로 조직 전체 전환이 끝나지 않으므로 키 배포와 운영 자동화를 별도로 재설계해야 합니다.
기업 IPSec 게이트웨이IKE가 SA를 협상하고, ESP가 실제 데이터를 보호합니다.ESP 엔진보다 IKE 라이브러리, 인증서, 정책 서버가 먼저 바뀌어야 합니다.
경계조건: kTLSIPSec & xfrm을 본다고 해서 "커널 쪽 데이터 경로를 PQC로 다시 써야 한다"는 뜻은 아닙니다. 실제 전환 지점은 대체로 공개키 핸드셰이크, 인증서 검증, IKE와 같은 제어 평면입니다.

하이브리드 설계와 알고리즘 선택

TLS 1.3 하이브리드 키 교환은 기존 타원 곡선(Elliptic Curve) 기반 키 교환과 ML-KEM을 병렬로 수행하고, 두 공유 비밀을 하나의 결합 함수로 묶어 세션 키를 만듭니다(IETF draft-ietf-tls-hybrid-design의 concat 방식). 어느 한쪽 알고리즘이 나중에 깨져도 나머지 하나가 세션을 보호하므로, 전환기에는 두 경로를 모두 강제하는 정책이 중요합니다. 결합 단계에서 도메인 분리(Domain Separation) 라벨을 쓰지 않으면 두 프로토콜의 공유 비밀이 충돌할 수 있으므로 표준 구현의 키 스케줄을 그대로 따라야 합니다.

하이브리드 키 교환: 두 공유 비밀을 결합해 세션 키 생성 X25519 (고전) 공개키 32바이트 고전 DH 공유 비밀 ECDHE key_share ML-KEM-768 (PQC) 공개키 1,184바이트 KEM 공유 비밀 ML-KEM key_share 결합 함수 두 공유 비밀 concat HKDF-Extract + 도메인 분리 양쪽 모두 필수 TLS 1.3 키 스케줄 → 핸드셰이크 트래픽 키 레코드 계층은 AES-256-GCM / ChaCha20-Poly1305 (대칭 유지) 어느 한쪽이 나중에 깨져도 나머지 하나가 세션을 보호합니다. 결합 함수가 "양쪽 모두 성공"을 요구해야 다운그레이드(고전만으로 협상)가 막힙니다.

알고리즘별 키·서명 크기 비교

FIPS 203/204/205에 정의된 고정 크기입니다. 커널 7.0의 include/crypto/mldsa.h 상수와 일치합니다. 크기 증가는 핸드셰이크 메시지, 인증서 체인, 패킷 MTU 계획에 그대로 나타나므로 용량 계획의 입력값으로 사용합니다.

알고리즘공개키비밀키서명/암호문특징
ML-KEM-512800B1,632B768B (암호문)128-bit 강도, 최소 배치용
ML-KEM-7681,184B2,400B1,088B (암호문)192-bit 강도 — TLS 하이브리드(X25519MLKEM768)의 표준 선택
ML-KEM-10241,568B3,168B1,568B (암호문)256-bit 강도 — CNSA 2.0 요구 파라미터
ML-DSA-441,312B2,560B2,420B (서명)128-bit 강도
ML-DSA-651,952B4,032B3,309B (서명)192-bit 강도 — FIPS 204 중급 권장, 커널 모듈 서명 후보
ML-DSA-872,592B4,896B4,627B (서명)256-bit 강도 — CNSA 2.0 요구 파라미터
SLH-DSA-128s32B64B7,856B (서명)해시 기반 — 서명이 매우 큼, 펌웨어 서명용
비교: ECDSA P-25664B32B~70B (서명)현행 참고치
크기 영향: 하이브리드 TLS ClientHello는 X25519 key_share(32B)에 ML-KEM-768 key_share(1,184B)가 더해져 1KB를 훌쩍 넘깁니다. 미들박스 호환성과 함께, 인증서 체인에 ML-DSA 서명(2.4~4.6KB)이 들어가면 핸드셰이크 패킷 수와 MTU 분할도 달라지므로 실제 캡처로 측정해야 합니다.

부팅 체인과 공급망

양자 전환에서 가장 까다로운 부분은 검증기 전체가 함께 움직여야 하는 영역입니다. 네트워크 핸드셰이크는 비교적 하이브리드가 쉽지만, 부팅 체인과 공급망은 펌웨어, 부트로더, 운영체제 도구, CI, HSM, 감사 로그까지 연결됩니다.

영역현재 의존점양자 시대 위험실무 고려사항
Secure BootPE 서명, db/KEK/MOK, X.509 체인기존 서명 체계 위조 가능성펌웨어(Firmware)와 shim, 부트로더, 커널 이미지 검증기가 PQ 서명을 이해할 수 있는지 별도 확인해야 합니다.
커널 모듈 서명PKCS#7, builtin/system keyring서명 위조와 검증기 호환성 문제서명 알고리즘보다 검증기와 배포 파이프라인 전체 지원이 먼저입니다.
IMA/EVM파일 해시, 서명, 키링(Keyring)장기 무결성(Integrity) 보증 약화측정값 자체보다 서명 알고리즘과 검증 정책 전환이 핵심입니다.
Git 태그와 릴리스 서명GPG, SSH signing, Sigstore오래 보관되는 릴리스 증거 위조 가능성이중 서명, 별도 고보증 채널, 감사 로그 형식까지 같이 설계해야 합니다.
펌웨어 업데이트UEFI capsule, vendor key, 이미지 서명플랫폼 신뢰 루트 교체 지연플랫폼 벤더의 PQ 전환 속도가 전체 일정을 제한할 수 있습니다.

업데이트 신뢰 체인(Chain of Trust)은 어떻게 보아야 하는가

부팅 체인과 공급망은 네트워크와 달리 "한 번의 핸드셰이크"로 끝나지 않습니다. 개발자가 서명한 아티팩트가 빌드 시스템(Build System), 저장소, 배포판, 부트로더, 커널, 모듈 로더를 거치며 여러 번 검증됩니다. 따라서 중간 어느 검증기 하나라도 PQ 전환을 이해하지 못하면 전체 체인이 고전 알고리즘에 계속 묶일 수 있습니다.

서명 하나가 아니라 검증기 연쇄를 봐야 합니다 개발자 릴리스 서명 CI / 빌드 아티팩트 생성 저장소 패키지 / 이미지 부트 체인 펌웨어, shim, UKI 커널 런타임 모듈, IMA, TPM 감사 로그 / 포렌식 중간 어느 검증기라도 PQ 서명이나 복합 정책을 이해하지 못하면 전체 체인은 고전 알고리즘에 계속 묶일 수 있습니다.
검증 정책 주의: 전환기에 기존 서명과 PQ 서명을 같이 붙이더라도, 검증기가 기존 서명만으로 항상 통과시키면 포스트 양자 보증은 생기지 않습니다. 호환성 경로와 고보증 경로를 운영 정책에서 분리해야 합니다.

저장 데이터와 장기 기밀성

dm-crypt나 파일시스템(Filesystem) 암호화는 대칭 암호가 중심이므로, 네트워크 핸드셰이크처럼 즉시 붕괴하는 영역은 아닙니다. 그래서 "디스크 암호화는 당장 안 바꿔도 된다"는 말이 어느 정도는 맞습니다. 다만 이것이 아무 것도 안 해도 된다는 뜻은 아닙니다.

실무 판단 기준: 저장 데이터 자체보다 그 데이터를 배포, 복구, 래핑, 전송하는 주변 공개키 경로를 먼저 찾는 편이 보통 더 효과적입니다.

기초 예시: 무엇은 급하고 무엇은 덜 급한가

사례판단이유
노트북의 로컬 LUKS2 디스크중간데이터 경로는 대칭 암호 중심이지만, 복구 키 관리와 백업 키 래핑 경로는 별도 점검이 필요합니다.
10년 보관 오브젝트 스토리지 백업높음수확 후 복호화 위험과 키 래핑 경로가 모두 문제 됩니다.
사내 NAS와 원격 복제 트래픽높음저장 데이터보다 전송 채널의 TLS/VPN 제어 평면이 먼저 전환 대상이 됩니다.
임시 캐시(Cache)와 단기 로그낮음~중간데이터 가치 수명이 짧다면 장기 기밀성 위험은 상대적으로 낮습니다.

하드웨어, TPM, 난수, 성능

양자 전환은 알고리즘 이름만 바꾸는 작업이 아닙니다. 하드웨어 가속, TPM 증명, NIC 오프로드, 패킷 크기, CPU 용량 계획이 함께 바뀝니다.

구성요소계속 유용한 점오해하기 쉬운 점점검 항목
TPM 2.0Measured Boot, Seal/Unseal, 원격 증명 기반은 계속 중요합니다.TPM이 있다고 시스템이 자동으로 포스트 양자 안전해지지는 않습니다.AK/EK 인증서, 원격 검증기, 증명 로그 형식까지 함께 전환 가능한지 확인합니다.
QRNG / hwrng엔트로피 품질 확보에 도움을 줍니다.좋은 난수원이 PQC 전환을 대신하지는 않습니다.DRBG, 엔트로피 풀, 초기 시드 경로를 점검합니다 — 난수 보안 참조.
암호화 가속기AES, SHA, IPsec, kTLS 데이터 평면 가속은 계속 유효합니다.현재 가속기가 ML-KEM, ML-DSA를 곧바로 가속한다고 가정하면 안 됩니다.CPU fallback 비용, 핸드셰이크 TPS, 서명 검증량을 재벤치마크합니다.
NIC offload대칭 데이터 경로 오프로드는 유지될 가능성이 높습니다.핸드셰이크와 인증서 검증은 여전히 CPU에 남는 경우가 많습니다.MTU, 초기 핸드셰이크 지연, 재키잉 비용을 같이 측정합니다.

특히 네트워크 장비와 방화벽(Firewall)은 "데이터 평면은 오프로드되는데 제어 평면만 CPU에 남는" 비대칭 병목이 자주 생깁니다. PQC 전환기에는 이 차이가 더 커질 수 있으므로, 단순한 Gbps 수치만 보지 말고 핸드셰이크 처리량(Throughput), 인증서 체인 크기, 초기 연결 지연을 같이 측정해야 합니다.

왜 성능 수치가 달라지는가

대략적으로 보면 PQ 전환은 세 군데에서 비용을 늘립니다. 첫째, 핸드셰이크 메시지 안에 들어가는 공개키와 보조 데이터가 커집니다. 둘째, 서명과 검증에 쓰는 CPU 시간이 늘어날 수 있습니다. 셋째, 기존 하드웨어 가속기는 AES나 SHA는 잘 가속해도 새 KEM과 서명 알고리즘은 곧바로 가속하지 못할 수 있습니다.

관측 지표왜 변합니까무엇을 봐야 합니까
초기 연결 지연핸드셰이크 왕복과 메시지 크기가 바뀝니다.P50, P95 연결 지연과 인증서 체인 크기를 함께 봅니다.
CPU 사용량서명 검증과 KEM 처리 비용이 늘어날 수 있습니다.초당 새 연결 수, 코어 사용량, 오프로드 fallback 여부를 봅니다.
메모리 압력더 큰 키와 서명 버퍼(Buffer)를 다루게 됩니다.캐시 적중률, 객체 크기 증가, 큐 길이를 확인합니다.

난수(Randomness)와 포스트 양자 보안

PQC 전환에서 가장 과소평가되는 전제 조건이 난수입니다. RSA·ECC는 주로 키 생성에만 난수를 쓰지만, PQC는 매 세션·매 서명마다 난수를 소비합니다. ML-KEM 캡슐화는 32바이트의 신선한(fresh) 난수 메시지 m을 요구하며(FIPS 203), ML-DSA 서명은 기본적으로 신선한 난수와 사전 생성 시드를 함께 쓰는 hedged 변형을 사용합니다(FIPS 204). 난수 생성기가 취약하면 알고리즘 자체가 표준을 정확히 따라도 보안이 무너집니다.

난수 파이프라인과 PQC 알고리즘별 의존 지점 엔트로피 소스 HW RNG · RDRAND 인터럽트 타이밍 · 부트로더 커널 CRNG ChaCha20 fast key erasure getrandom() · vDSO 시스템 콜 또는 vDSO 부팅 초기엔 블로킹 사용자 공간 DRBG AES-256-CTR 등 getrandom()에서 시드 ML-KEM-768 캡슐화 캡슐화마다 m 32B 신선 필수 (K, r) = G(m ‖ H(pk)) 실패: m 재사용·예측 → 공유 비밀 K 복구 ML-DSA-65 서명 서명마다 난수(hedged) Fiat-Shamir 논스(Nonce) 역할 실패: 논스 재사용 → 비밀 키 복구 SLH-DSA 서명 키 생성 시드 32B 메시지 난수화는 PRF 실패: 시드 약화 → 서명 위조 가능 모든 난수 소비는 결국 커널 CRNG → getrandom() 경로에 의존합니다. 이 경로가 취약하면 알고리즘 교체와 무관하게 전체 PQC 보증이 무너집니다.

알고리즘별 난수 의존 지점

알고리즘난수 사용 지점난수가 취약하면 일어나는 일
ML-KEM 캡슐화캡슐화마다 32바이트 신선한 m (FIPS 203) — (K, r) = G(m ‖ H(pk))로 공유 비밀 K가 결정됩니다.m이 재사용·예측되면 K가 예측됩니다. 같은 m 재사용은 동일 암호문·동일 키를 만들고, 수확 후 복호화 보호가 무의미해집니다.
ML-DSA 서명서명마다 32바이트 난수(기본 hedged 변형, FIPS 204 §5.2) — Fiat-Shamir 논스(Nonce) 역할을 합니다.서명 난수가 두 메시지에 재사용되면 ECDSA 논스 재사용과 같은 원리(z1 - z2 = (c1 - c2)·s)로 비밀 키를 복구할 수 있습니다.
ML-DSA 키 생성승인된 RBG(Random Bit Generator)로 32바이트 시드 ξ 생성 (FIPS 204 §5.1).시드가 약하거나 예측 가능하면 비밀 키 공간이 줄어듭니다.
SLH-DSA키 생성 시드 32바이트. 메시지 난수화 값 R은 비밀키 기반 PRF로 만들어져 서명 시점에는 추가 난수를 쓰지 않습니다(FIPS 205).키 시드가 약화되면 서명 위조로 이어집니다. 서명 시 난수 의존이 낮은 대신 키 관리가 중요해집니다.
하이브리드 TLS
(X25519 + ML-KEM)
양쪽 임시 키(ephemeral key) 모두 매 연결마다 신선해야 합니다 — key_share 재사용 금지.재연결 시 동일 세션 키가 재생(replay)될 수 있습니다.

난수 실패가 실제 공격으로 이어지는 경로

신선한 난수 vs 난수 실패 정상: 매번 신선한 난수 ML-KEM: m이 매번 다름 → 암호문 c와 키 K도 매번 달라 세션 독립 ML-DSA: r이 매번 다름 → 서명 z가 매번 달라 비밀 키 유지 TLS: key_share 신선 → 재연결에도 세션 키가 독립적 취약: 난수 재사용·예측 ML-KEM: m 재사용 → 동일 c·K → 공유 비밀 예측 ML-DSA: r 재사용 → z1 - z2 = (c1 - c2)·s → 비밀 키 복구 TLS: key_share 재사용 → 동일 세션 키 재생(replay) PQC 안전성은 "알고리즘 수학"과 "난수 생성" 두 축 위에 있습니다. 난수 축이 무너지면 구현이 완벽해도 보증이 사라집니다.

리눅스 커널 난수 경로 실무

# 1. 커널 난수 소스 신뢰 설정 확인 (CONFIG_RANDOM_TRUST_CPU / BOOTLOADER)
zcat /proc/config.gz 2>/dev/null | grep RANDOM_TRUST || \
    grep -E "CONFIG_RANDOM_TRUST" /boot/config-$(uname -r)

# 2. CRNG 준비 상태 (준비되면 256 — 이후에는 항상 256)
cat /proc/sys/kernel/random/entropy_avail

# 3. OpenSSL DRBG가 OS 난수(getrandom)에서 시드되는지 추적
strace -e trace=getrandom openssl rand -hex 16 2>&1 | head

# 4. 하이브리드 TLS 연결마다 key_share가 새로 만들어지는지 확인
openssl s_client -connect 127.0.0.1:4433 -tls1_3 -groups X25519MLKEM768 \
    -brief 2>&1 | grep -i negotiated
난수는 "암호의 일부"입니다: FIPS 203/204는 승인된 RBG에서 신선한 난수를 생성할 것을 요구합니다. PQC 전환 계획에 RNG 감사(엔트로피 소스, 시드 경로, fork·VM 스냅샷 처리, DRBG 검증)를 포함하지 않으면, 알고리즘을 교체해도 난수 실패로 키가 노출될 수 있습니다. 하드웨어 난수 생성기 문서와 함께 점검하는 것을 권장합니다.

전환 체크리스트

실무에서는 한 번에 전체를 바꾸기보다, 영향이 큰 경로부터 순차적으로 정리하는 편이 안전합니다.

권장 전환 순서 1. 자산 인벤토리 TLS 종료점 VPN, 모듈 서명, Secure Boot TPM 증명, 릴리스 서명 2. 하이브리드 도입 하이브리드 TLS 병렬 서명과 이중 검증 성능과 크기 측정 3. 검증기 갱신 키 저장소 부트 체인과 배포 도구 감사와 로그 형식 4. 정책 수렴 고전 서명 예외 축소 PQ 전용 경로 확장 운영 기준선 재정의 가장 흔한 실패는 "알고리즘은 바꿨지만 검증기 정책과 배포 체계가 그대로"인 상태입니다.
  1. 암호 자산 목록을 만듭니다. TLS 종료점, WireGuard 피어, IKE 게이트웨이, Secure Boot 키, 모듈 서명 키, Git 태그 서명 키, TPM 증명 체계를 모두 나열합니다.
  2. 장기 기밀 자산을 분리합니다. 수확 후 복호화 위협이 큰 서비스부터 우선순위를 매깁니다.
  3. 하이브리드 가능한 구간을 먼저 엽니다. TLS와 릴리스 서명처럼 병행 운용이 가능한 영역부터 시험합니다.
  4. 검증기 호환성을 따로 추적합니다. 펌웨어, 부트로더, 배포판 툴, HSM, CI, 원격 검증기가 어떤 알고리즘을 실제로 받는지 확인합니다.
  5. 성능 한계를 다시 측정합니다. 핸드셰이크 지연, CPU 사용량, 패킷 크기, 인증서 체인 크기, 서명 검증 시간을 재측정합니다.
  6. 로그와 감사 기준을 바꿉니다. 어떤 경로가 고전 전용인지, 어떤 경로가 하이브리드인지, 어떤 경로가 PQ 우선인지 운영자가 구분할 수 있어야 합니다.
# 1. 커널과 사용자 공간의 암호 자산을 훑는 기본 점검
grep -E "CONFIG_MODULE_SIG|CONFIG_SYSTEM_TRUSTED|CONFIG_IMA|CONFIG_INTEGRITY" .config
mokutil --sb-state
keyctl list %:.platform

# 2. TLS / OpenSSL / PQC 관련 지원 확인
openssl version
openssl list -public-key-algorithms 2>/dev/null | grep -E "ML-|SLH"
openssl list -kem-algorithms 2>/dev/null

# 3. VPN과 키 교환 경계 확인
wg show
ip xfrm state
ip xfrm policy

# 4. TPM과 측정 부팅 경계 확인
tpm2_pcrread sha256:7,11 2>/dev/null
journalctl -b | grep -i "secure boot\\|ima\\|tpm"

작게 시작하는 30일 예시

  1. 1주차:
    TLS 종료점, VPN, Secure Boot, 모듈 서명, 릴리스 서명 위치를 표로 정리합니다.
  2. 2주차:
    각 경로가 어떤 공개키 알고리즘과 어떤 검증기를 쓰는지 기록합니다.
  3. 3주차:
    하이브리드 전환이 가능한 서비스 한 곳을 고르고 시험 환경에서 연결 지연과 CPU 비용을 측정합니다.
  4. 4주차:
    운영 문서에 "고전 전용", "하이브리드 시험 중", "장기 전환 필요" 상태를 표시하고 다음 분기 계획을 세웁니다.

커널·배포판 PQC 동향 (2024-2026)

2024년 8월 NIST가 FIPS 203/204/205 최종본을 공개한 뒤 2년 동안 리눅스 생태계는 사용자 공간(User Space)부터 빠르게 포스트 양자(Post-Quantum) 알고리즘을 받아들이기 시작했습니다. 커널 본체도 7.0(2026-04-12) 개발 주기에서 ML-DSA(Dilithium) 검증 라이브러리와 X.509 인증서 처리를 처음으로 병합했습니다. ML-KEM과 SLH-DSA는 아직 커널 업스트림에 없으므로, 2026년 현재는 "상층부는 이미 움직이고, 커널은 검증기 쪽부터 따라가는" 전환기로 볼 수 있습니다.

시점변경리눅스 개발자 영향
Linux 6.11 (2024-09)getrandom() vDSO 구현 병합 (x86-64 우선)사용자 공간 RNG가 시스템 콜(System Call) 없이 ChaCha20 스트림을 직접 소비하며, 일부 워크로드에서 최대 15배 처리량 향상이 보고됩니다. PQC 연산은 난수 소모가 많아 이 경로의 안정성이 전제 조건입니다.
Linux 6.15 (2025-05-25)VAES+AVX2 기반 AES-CTR 최적화, dm-crypt의 공통 CRC32 라이브러리 전환, dm-stripe inline-crypto passthrough하이브리드 TLS가 대칭 처리량에 더 크게 의존하므로, 레코드 계층 성능이 병목을 좌우합니다. AMD Zen 5에서 최대 3.3배 AES-CTR 가속이 보고됩니다.
Linux 6.17 (2025-09-28)SHA-256 lib/crypto 라이브러리 재구성 — SHA-224/HMAC-SHA224 통합과 아키텍처 최적화(sha256_transform_arch) 도입부팅 초기(early boot) 해시 경로와 커널 내부 SHA-256 사용처가 하나의 최적화된 라이브러리로 수렴합니다. 커널 서명·무결성 연산의 공통 기반이 정비되는 셈입니다.
Linux 7.0 (2026-04-12)ML-DSA 업스트림 최초 병합lib/crypto/mldsa.c 검증 라이브러리, crypto/mldsa.ccrypto_sig 래퍼(mldsa44/65/87), asymmetric_keys의 X.509 공개키 지원X.509 인증서와 커널 모듈 서명(MODULE_SIG) 검증 경로에서 ML-DSA 서명을 처리할 수 있게 되었습니다. 커널 쪽은 검증 전용(서명 생성은 -EOPNOTSUPP)이라 서명은 외부 툴에서 만들어야 하며, ML-KEM·SLH-DSA는 아직 미병합입니다.
OpenSSL 3.5 LTS (2025-04-08, 지원 2030-04-08)ML-KEM, ML-DSA, SLH-DSA가 기본 provider에 내장. TLS 1.3 기본 그룹 목록이 X25519MLKEM768, X25519로 변경배포판을 업그레이드만 해도 서버가 하이브리드 키 교환을 기본 제안하기 시작합니다. 미들박스가 낯선 key_share 때문에 끊는 사례가 첫 번째 운영 이슈로 보고됩니다.
RHEL 10 (2025)crypto-policies에 PQC 지원 통합 — 10.0은 crypto-policies-pq-preview 설치 후 DEFAULT:TEST-PQ로 활성화, 10.1부터 기본(DEFAULT) 정책에 포함OpenSSL·GnuTLS·NSS는 ML-KEM을, OpenSSH는 mlkem768x25519-sha256 키 교환을 지원합니다. update-crypto-policies --set DEFAULT:NO-SHA1 같은 한 줄로 조직 전체 방향을 고정할 수 있으며, 커널 키링이 받는 알고리즘 집합도 이 정책에 영향을 받습니다.
Ubuntu 26.04 (2026)OpenSSH 10.2p1 탑재 — 9.9(2024-09)에서 실험 도입된 mlkem768x25519-sha256가 10.0(2025-04)부터 기본 제안으로 승격되었고 이를 그대로 이어받습니다.SSH가 하이브리드 키 교환을 기본으로 쓰면 sshd_configKexAlgorithms를 명시적으로 관리할 필요가 커집니다.
Microsoft SymCrypt-OpenSSL 1.10.0 (2026-07)ML-KEM·ML-DSA provider 재도입 — 1.9.0(2025-05-21)은 릴리스 직전 ML-KEM을 revert했고, 1.10.0에서 p_scossl_mlkem·p_scossl_mldsa 경로가 다시 들어갔습니다.Windows 계열과 Linux가 같은 SymCrypt provider 계통으로 PQC 상호 운용을 시험할 수 있는 조합입니다. 다만 1.9.x까지는 ML-KEM 없이 배포되었으므로 버전 확인이 필요합니다.
DebConf25 (2025)"Rethinking Cryptography in the Linux Kernel — Preparing for the PQC Era" 발표장기 아카이브용 dm-crypt, fscrypt를 PQC로 전환하려는 논의가 공식화되었습니다. 현재는 로드맵 단계이며, 2026년 이후 RFC 수준의 패치(Patch) 시리즈가 공개될 전망입니다.

CNSA 2.0 규제 달력

미국 NSA의 CNSA 2.0과 NIST SP 800-131A Rev.3는 리눅스 운영자가 실제로 의식해야 하는 외부 압력의 중심입니다. 배포판 정책과 커널 기본값이 이 달력을 따라 조금씩 움직입니다.

CNSA 2.0 · NIST 알고리즘 폐지 주요 달력 2025 OpenSSL 3.5 LTS RHEL 10, PQ 선호 브라우저/CDN PQ 실험 2026-2029 2026-09: FIPS 140-2 검증 이력화 2026-04: 커널 7.0 ML-DSA 병합 하이브리드 대규모 전개 2030 SP 800-131A Rev.3: 112→128bit AES-ECB 퇴출, DSA 폐지 SHA-1·SHA-224 폐지 일정 2031: NSS 전체 QR(NSA) 2033 CNSA 2.0 배타적 사용 RSA/ECDH 단계 축소 2035 RSA/DH/ECDH 전면 폐지(NIST 제안) ML-KEM-1024 / ML-DSA-87 전환 완료 목표
주의: CNSA 2.0이 요구하는 것은 ML-KEM-1024, ML-DSA-87, LMS, XMSS, SHA-384/512, AES-256 같은 상위 파라미터 집합입니다. ML-KEM-512, ML-DSA-44 같은 저강도 파라미터는 상용 환경에는 쓰더라도 국가 안보 계열에는 인정되지 않습니다. 배포판이 "PQC 지원"이라고 발표했다고 해서 규제 요건까지 만족하는 것은 아닙니다.

커널 내부 PQC 현황 점검

2026년 8월 현재 커널 업스트림에는 ML-DSA가 7.0(2026-04-12)에서 처음 병합되었으며, 나머지 ML-KEM·SLH-DSA는 아직 없습니다. 대부분의 실제 PQC 경로는 여전히 사용자 공간 라이브러리(OpenSSL 3.5, liboqs, SymCrypt-OpenSSL, NSS 3.118)를 거칩니다. 커널이 관여하는 지점은 다음과 같은 경계에 집중됩니다.

# 커널 업스트림에서 PQC 관련 심볼 빠른 확인 (7.0+ 기준: ML-DSA는 존재, ML-KEM/SLH-DSA는 미정의)
grep -RE "ML_DSA|ML_KEM|SLH_DSA" include/ crypto/ lib/crypto/ 2>/dev/null | head
ls lib/crypto/mldsa.c crypto/mldsa.c 2>/dev/null && echo "ML-DSA 병합됨 (7.0+)"

# 모듈 서명 키 알고리즘 현재 설정 확인
scripts/config --state MODULE_SIG_KEY
scripts/config --state MODULE_SIG_HASH
scripts/config --state MODULE_SIG_FORMAT

# asymmetric-key 서브시스템의 지원 알고리즘 목록
cat /proc/crypto | awk '/^name/ {name=$3} /^type.*akcipher/ {print name}'

OpenSSL 3.5·OpenSSH 실습

실무자에게 가장 빠른 학습 방법은 OpenSSL 3.5를 설치한 환경에서 직접 하이브리드 TLS 연결과 PQC 서명을 생성해 보는 것입니다. 아래 예시는 OpenSSL 3.5가 기본으로 깔리는 RHEL 10 또는 Fedora 42 이상에서 바로 실행됩니다.

ML-KEM-768 하이브리드 키 교환 확인

# 현재 OpenSSL이 지원하는 KEM과 서명 목록
openssl list -kem-algorithms | grep -E "ML-KEM|X25519MLKEM"
openssl list -signature-algorithms | grep -E "ML-DSA|SLH-DSA"

# 서버 측: TLS 1.3 + 하이브리드 key_share로만 응답하도록 강제
openssl s_server -accept 4433 \
    -cert server.crt -key server.key \
    -tls1_3 -groups X25519MLKEM768 \
    -www

# 클라이언트 측: 같은 그룹으로 접속하고 실제 선택된 KEM 확인
openssl s_client -connect 127.0.0.1:4433 \
    -tls1_3 -groups X25519MLKEM768 \
    -brief 2>&1 | grep -E "Negotiated|Peer signature"

TLS 1.3 핸드셰이크에서 ClientHello에 두 개의 key_share(X25519와 X25519MLKEM768) 항목이 들어가는지는 tshark로 확인합니다. PQC 키 교환은 ClientHello 크기가 1KB를 훌쩍 넘기게 만들며, 일부 구형 미들박스는 이 크기에서 단절을 일으키는 것이 2025년의 대표적 운영 이슈입니다.

# 하이브리드 key_share가 실제 전송되는지 패킷 레벨에서 확인
tshark -i lo -f "tcp port 4433" \
    -Y "tls.handshake.type == 1" \
    -Tfields -e tls.handshake.extensions_key_share.group \
    -e tls.handshake.extensions_key_share.key_exchange_length

ML-DSA-65 서명 생성과 검증

# 1. ML-DSA-65 개인키 생성 (FIPS 204의 권장 중급 파라미터)
openssl genpkey -algorithm ML-DSA-65 -out mldsa65.key

# 2. 공개키 추출과 키 속성 확인
openssl pkey -in mldsa65.key -pubout -out mldsa65.pub
openssl pkey -in mldsa65.key -text -noout | head -5

# 3. 문서 서명과 검증
echo "package release 2026.04" > manifest.txt
openssl pkeyutl -sign -inkey mldsa65.key \
    -rawin -in manifest.txt -out manifest.sig
openssl pkeyutl -verify -pubin -inkey mldsa65.pub \
    -rawin -in manifest.txt -sigfile manifest.sig

# 4. 서명 크기 실측 — ML-DSA-65 서명은 3,309바이트(FIPS 204 고정값)로 ECDSA-P256(~70바이트)보다 크게 뛰어오릅니다.
wc -c manifest.sig

OpenSSH ML-KEM 키 교환

OpenSSH 9.9(2024-09)가 mlkem768x25519-sha256를 실험적으로 도입했고, 10.0(2025-04)부터 기본 제안 알고리즘 1순위로 승격했습니다(9.9까지는 sntrup761x25519-sha512가 기본이었습니다). Ubuntu 26.04는 OpenSSH 10.2p1을 탑재하므로 별도 설정 없이 기본 제안에 포함됩니다. 서버와 클라이언트가 같은 KEM을 선호하도록 맞춰야 협상이 성공합니다.

# 서버가 실제로 제안하는 KEX 알고리즘
ssh -Q kex | grep -E "mlkem|sntrup"

# 클라이언트에서 명시적으로 ML-KEM 하이브리드 키 교환 강제
ssh -o KexAlgorithms=mlkem768x25519-sha256 \
    -o HostKeyAlgorithms=ssh-ed25519 \
    -vv user@host 2>&1 | grep "kex:"

# /etc/ssh/sshd_config에 시스템 전역 정책 고정
printf "KexAlgorithms mlkem768x25519-sha256,curve25519-sha256\n" \
    | sudo tee /etc/ssh/sshd_config.d/50-pqc.conf
실측 팁: -vv 디버그 로그에서 kex: algorithm: mlkem768x25519-sha256 줄이 찍히면 실제로 하이브리드 KEX가 동작한 것입니다. 과거 2024-2025 초반에 많이 쓰인 sntrup761x25519-sha512(NTRU Prime 기반)는 NIST 표준은 아니지만 OpenSSH에서 일찍 실험된 경로이며, 신규 조직 정책에는 ML-KEM 계열을 우선 권장합니다.

배포판 crypto-policies 관점

# RHEL 10 / Fedora: 시스템 전역 암호 정책 상태
update-crypto-policies --show
update-crypto-policies --is-applied

# 기본에서 SHA-1과 레거시 알고리즘을 제외하고 PQC 선호로 고정하는 예
sudo update-crypto-policies --set DEFAULT:NO-SHA1

# 정책이 다루는 구성 요소 목록 (OpenSSL, GnuTLS, NSS, OpenSSH, Libreswan 등)
ls /etc/crypto-policies/back-ends/

자주 나오는 오해

참고자료