본 콘텐츠는 사용자의 편의를 고려해 자동 기계 번역 서비스를 사용하였습니다. 영어 원문과 다른 오류, 누락 또는 해석상의 미묘한 차이가 포함될 수 있습니다. 필요하시다면 영어 원문을 참조하시기를 바랍니다.
2025년 10월 마지막 주인 이번 주에는 인터넷 보안의 주요 이정표에 도달했습니다. 사람이 시작한 Cloudflare 트래픽의 대부분이 포스트 퀀텀 암호화를 사용하여 지금 수집/추후 해독 위협을 완화하고 있습니다.
Cloudflare는 이 기쁜 순간을 이용해 인터넷이 포스트 퀀텀 암호화로 옮겨가는 현재의 상황과 앞으로의 긴 여정에 대한 최신 정보를 제공하고자 합니다. 21개월 전에 마지막 개요를 발표했으며, 그 이후로 꽤 많은 일이 있었습니다. 법안의 많은 부분이 저희 예상대로 통과되었습니다. NIST 표준의 마무리, 양자내성암호의 광범위한 채택 규제 기관의 더 자세한 로드맵, 양자 컴퓨터 구축 진행 상황; 일부 암호화가 깨졌습니다(배포된 것과 비슷한 것은 아니니 걱정하지 마세요). 새롭고 흥미로운 암호화 방식이 제안됐습니다.
하지만 몇 가지 깜짝 놀랄 만한 반응도 있었습니다. 양자 알고리즘이 개선되어 Q-데이를 향해 거대한 도약이 이루어졌고, 우리는 새로운 양자 알고리즘 덕분에 제대로 우려할 수 있었습니다. 이 모든 내용과 더불어 향후 더 많은 내용을 다룰 예정입니다. 오늘 할 수 있는 일을 말씀드리겠습니다.
첫 번째 중요한 사항: 암호화를 변경하는 이유는 무엇일까요? 양자 컴퓨터 때문입니다. 이 놀라운 장치는 0과 1로 제한하는 대신, 자연이 실제로 우리에게 제공하는 것 중 양자 중첩, 간섭, 얽힘 등을 더 많이 사용하여 계산합니다. 이를 통해 양자 컴퓨터는 자연 자체를 시뮬레이션하는 등 매우 구체적인 특정 계산에서 탁월할 수 있으므로 신 소재를 개발하는 데 큰 도움이 될 것입니다.
하지만 양자 컴퓨터가 일반 컴퓨터를 대체하지는 않습니다. 실제로 양자 컴퓨터는 일상 생활에 중요한 대부분의 작업을 수행하는 일반 컴퓨터보다 훨씬 못합니다. 그래픽 카드나 신경 엔진으로 생각하면 됩니다. 범용 장치가 아닌 특정 계산을 위한 특수 장치입니다.
안타깝게도 양자 컴퓨터는 RSA, 타원 곡선(ECC) 등 오늘날에도 널리 사용되는 키 암호화를 해독하는 데 탁월합니다. 따라서 Cloudflare는 양자 공격에 대항할 수 있도록 설계된 암호화인 포스트 퀀텀 암호화로 옮겨가고 있습니다. 다양한 암호화 유형에 미치는 정확한 영향에 대해서는 나중에 설명하겠습니다.
현재로서는 양자 컴퓨터가 다소 빈약합니다. 단순히 오늘날의 실제 암호화 키를 해독하기에 충분하지 않습니다. 그렇다고 해서 암호화된 트래픽이 오늘 바로 수집되어 양자 컴퓨터가 RSA-2048 등 오늘날 여전히 널리 사용되는 암호화를 해독할 수 있는 날인 Q-데이 이후에 해독할 수 있으므로 걱정할 필요가 없다는 의미는 아닙니다. Cloudflare에서는 이를 '지금 수집하고 나중에 해독' 공격이라고 부릅니다.
인수 분해를 벤치마크로 삼아 보면, 양자 컴퓨터는 전혀 놀라운 결과를 얻을 수 없습니다. 부정 행위를 하지 않는 양자 컴퓨터에서 가장 큰 수는 15로, 다양한 재미있는 방법으로 쉽게 계산할 수 있습니다. 인수 분해에서 기존 컴퓨터를 능가하기 시작할 때까지 양자 컴퓨터를 무시하고 싶고, 그렇게 하는 것은 큰 실수입니다. 보수적으로 추정해도 Q-day는 양자 컴퓨터가 인수 분해에서 기존 컴퓨터를 이기는 날짜로부터 3년이 채 되지 않습니다. 그렇다면 진행 상황은 어떻게 추적할 수 있을까요?
Q-day를 향한 행진에서 고려해야 할 두 가지 범주는 양자 하드웨어의 진행 상황과 해당 하드웨어에서 실행되는 소프트웨어의 알고리즘 개선입니다. 우리는 두 가지 측면에서 모두 상당한 진전을 보았습니다.
시계처럼 매년 기록적인 큐비트 수를 가진 새로운 양자 컴퓨터에 대한 뉴스 기사가 있습니다. 이처럼 큐비트 계산에 집중하는 것도 오해의 소지가 있습니다. 우선, 양자 컴퓨터는 아날로그 기계이며 계산을 방해하는 노이즈가 항상 존재합니다.
양자 컴퓨터를 구축하는 데 사용되는 다양한 유형의 기술 간에는 큰 차이점이 있습니다. 실리콘 기반 양자 컴퓨터는 확장성이 뛰어난 것으로 보이며, 명령을 빠르게 실행하지만, 큐비트에 노이즈가 매우 많습니다. 그렇다고 쓸모 없다는 것은 아닙니다. 양자 오류 수정 코드 를 사용하면 노이즈가 있는 수백만 개의 실리콘 큐비트를 수천 개의 고충실도 큐비트로 효과적으로 바꿀 수 있으며, 이는 RSA를 해독하기에 충분할 수 있습니다. 반면에 함정 이온 양자 컴퓨터는 노이즈가 훨씬 적지만, 확장하기가 더 어렵습니다. RSA-2048은 수십만 개의 함정 이온 큐비트만이 잠재적으로 막을 수 있습니다.
x축 큐비트 카운트와 y축 노이즈로 표시된 2021년부터 2025년까지의 최신 양자 컴퓨팅의 타임랩스. 회색 영역의 점들은 다양한 양자 컴퓨터들입니다. 회색 음영 영역이 가장 왼쪽의 빨간색 선에 도달하면 문제가 발생하는데, 이는 양자 컴퓨터가 대형 RSA 키를 해독할 수 있음을 의미합니다. 워털루 대학교의 새뮤얼 Jaques가 편집했습니다.
큐비트 수와 노이즈는 극히 일부에 불과합니다. 큐비트의 상호 연결성과 같은 큰 차이를 만들 수 있는 낮은 수준의 세부 사항이 있습니다. 더 중요한 것은 이 그래프에 기록 이면의 엔지니어링이 얼마나 확장 가능한지 포착되지 않는다는 것입니다.
즉, 이 그래프에서는 지난 2년 동안 양자 컴퓨터의 발전이 정체된 것으로 보이지만, 전문가들에게는 그래프에서는 눈에 띄지 않는 Google의 2024년 12월 Willow 발표가 실제로 표면에서 첫 번째 논리적 큐비트를 달성하는 진정한 이정표라고 할 수 있습니다. 확장 가능한 방식으로 코드를 작성합니다. Sam Jaques 인용:
처음 이러한 결과(Willow의 성과)를 들었을 때, 저는 “오, 양자 컴퓨팅이 실제로 존재한다”는 느낌을 받았습니다.
이는 진정한 이정표이지만, 예상치 못한 도약은 아닙니다. Sam의 말을 다시 인용합니다.
제가 열정을 쏟고 있음에도 불구하고, 이는 예상해야 할 수준에 도달했으며 다소 늦을 수도 있습니다. 이 리더들이 시연한 모든 큰 혁신은 우리가 RSA를 깨뜨릴 수 있는 2,000만 큐비트 컴퓨터에 도달하기라도 전에 해야 할 일입니다. 예상치 못한 혁신은 없습니다. 이를 매년 기존 칩의트랜지스터 밀도가 증가하는 것과 같다고 생각하면 됩니다.
평소처럼 비즈니스를 하는 것도 전략입니다. Google에서 Willow를 위해 추구하는 초극도 큐비트 접근 방식은 엔지니어링 측면에서 최소한의 도약만으로 어려움을 정면으로 돌파하는 가장 명확한 경로가 되어왔습니다.
Microsoft는 토폴로지 큐비트에 투자하면서 정반대의 전략을 추구하고 있습니다. 큐비트는 이론상 노이즈의 영향을 받지 않는 경우가 많습니다. 하지만 하드웨어에서는 아직 완전히 구현되지 않았습니다. 이들이 확장 가능한 방식으로 구축될 수 있다면 초컨덕트 큐비트보다 훨씬 우수할 것입니다. 하지만 애초에 이런 사이트를 구축할 수 있는지조차 알 수 없습니다. 2025년 초 Microsoft는 majorana 1 칩을 발표했으며, 이는 이러한 칩을 구축하는 방법을 보여줍니다. 하지만 이 칩은 완전한 모습과는 거리가 멉니다. 계산을 지원하지 않으므로 이전에 Sam의 비교 그래프에도 표시되지 않습니다.
토폴로지 큐비트와 초컨덕팅 큐비트 사이에도, 전 세계의 연구실들이 추구하는 많은 접근법이 그래프에 나와 있습니다. 예를 들어,중립 원자를 이용하는 QuEra와 갇힌 이온을 이용하는 Quantinuum이 있습니다.
언론에서는 Q-day로 전환하는 하드웨어 측면의 진전이 훨씬 더 많은 주목을 받았습니다. 하지만 지난 2년간의 가장 큰 돌파구는 하드웨어 측면이 아닙니다.
지금까지 가장 큰 혁신: Craig Gidney의 최적화
RSA-2048을 깨뜨리려면 초전도 접근 방식으로 약 2천만 큐비트 가 필요할 것으로 생각했습니다. 훨씬 더 적은 비용으로 이를 수행할 수 있는 것으로 나타났습니다. Craig Gidney는 놀랍게 포괄적인 2025년 6월 논문에서 영리한 양자 소프트웨어 최적화를 위해서는 100만 큐비트 미만이 필요하다는 것을 보여줍니다. 이것이 Sam의 그래프에서 RSA를 해독할 수 있는 양자 컴퓨터의 크기를 나타내는 빨간색 선이 2025년에 극적으로 왼쪽으로 이동하는 이유입니다.
이 성과를 자세히 설명하기 위해 무어의 법칙을 유지한 Google이 1년 반마다 물리적 큐비트 수를 두 배로 늘릴 수 있다고 가정해 보겠습니다. 이는 지금까지 Google이 시연한 것보다 훨씬 빠른 속도이지만, 기반이 마련되면 이러한 속도를 달성할 수 있다는 것도 상상할 수 없는 일이 아닙니다. 그러면 2,000만 큐비트에 도달하려면 2052년까지 걸리겠지만, 100만 큐비트에 도달하려면 2045년까지 기다려야 합니다. 크레이그는 혼자서 Q-day를 7년 앞당겼습니다!
소프트웨어 최적화는 얼마나 더 발전할 수 있을까요? 샘은 큐비트를 100,000초컨덕팅 큐비트 아래로 낮추는 것은 불가능해 보이며, RSA-2048을 깨뜨리려면 242,000초컨덕트 큐비트 이상이 필요할 것으로 예상합니다. 이전에 양자 컴퓨터의 발전에 대해 대략적으로 추측했다면, 이는 각각 2039년과 2041년+의 Q-데이에 해당합니다.
Craig의 추정치는 대규모 초컨덕팅 큐비트 양자 컴퓨터의 아키텍처에 대해 자세하고 합리적인 가정을 하는 것이지만, 여전히 추측일 뿐이며 이러한 추정치는 약간 다를 수 있습니다.
알고리즘 측면에서는 기존 양자 알고리즘이 개선될 수 있을 뿐만 아니라 완전히 새로운 양자 알고리즘이 발견될 수 있습니다. 2024년 4월, Yilei Chen은 이러한 새로운 양자 알고리즘을 발견하여 특정 격자 문제를 해결할 수 있다고 주장하는 논문을 발표했습니다. 이 질문으로 인해 제대로 된 파문을 일으켰습니다. 현재의 양자내성암호 알고리즘은 공격할 수 없지만, Chen의 알고리즘은 개선될 수 있을까요? 잠재적인 개선 사항을 파악하려면 알고리즘이 더 높은 수준에서 실제로 무엇을 하는지 이해해야 합니다. Chen의 알고리즘은 매우 복잡하기 때문에 RSA를 해독하는 Shor의 양자 알고리즘보다 훨씬 어렵습니다. 따라서 전문가가 Chen의 접근 방식의 한계를 인식하기 시작하는 데 시간이 걸렸고, 실제로 10일 후에 알고리즘에서 근본적인 버그가 발견되었습니다. 바로 이 접근 방식이 작동하지 않는다는 것입니다. 위기를 피했습니다.
이 데이터에서 무엇을 알 수 있을까요? 낙관적으로는 암호화가 평소와 다름없는 비즈니스이며, 공격의 한 경로가 막다른 길이었던 것으로 밝혀지면서 격자의 상태가 더 좋아졌습니다. 현실적으로는 격자 바구니에 많은 달걀이 있다는 사실을 상기시켜 줍니다. 나중에 살펴보겠지만, 현재 모든 곳에서 작동하는 실제적인 대안은 없습니다.
양자 키 배포(QKD) 지지자들은 QKD가 자연의 법칙 덕분에 보안을 통해 문제를 정확히 해결한다고 말할 수 있습니다. 글쎄요, 그러한 주장을 뒷받침할 별표가 몇 개 있지만, 이 블로그 게시물에서 주장하는 것처럼 포인트 투 포인트 연결을 넘어 QKD를 확장하는 방법을 아직 아무도 이해하지 못했습니다.
완전히 새로운 공격은 어떤 암호화를 해킹할 수 있을지 추측하는 것은 좋은 일이지만, 앞으로 남은 문제가 무엇인지 기억해야 합니다. 많은 암호화가 양자 컴퓨터에 의해 확실히 깨질 수 있다는 것입니다. Q-day가 도래하고 있습니다. 문제는
암호화와 보안에 대해 충분히 오랫동안 노력해 왔다면 지난 몇 년 동안 매년 "Q-day는 X년이면 충분합니다"라는 말을 들어보셨을 것입니다. 따라서 적절한 맥락에서 그러한 주장을 하기 전까지는 Q-day가 항상 "미래의 시간"인 것처럼 느껴질 수 있습니다.
2019년부터 Global Risk Institute는 매년 전문가 설문조사를 통해 5년, 10년, 15년, 20년, 30년 내에 RSA-2048이 작동할 가능성이 얼마나 되는지 물었습니다. 다음은 2024년 결과로, Willow가 석방되고 Gidney가 혁신을 이루기 전에 인터뷰를 진행했습니다.
Global Risk Institute 전문가에서 2024년부터 양자 컴퓨터가 다른 타임라인 내에 RSA-2048을 중단시킬 가능성에 대한 설문조사 결과를 발표했습니다.
이 차트의 가운데 열에서 볼 수 있듯이, 인터뷰에 응한 전문가의 절반 이상이 퀀텀 컴퓨터가 15년 내에 RSA-2048을 해독할 확률이 50% 이상이라고 생각했습니다. 2019년, 2020년, 2021년, 2022년, 2023년의 역사적인 답변을 찾아보겠습니다. 다음은 인터뷰 당시의 15년 이내의 Q-데이 가능성을 그래프로 나타낸 것입니다.
15년 이내의 Q-데이 기회에 대해 양자 위협 타임라인 보고서의 과거 답변을 확인하세요.
이는 답변의 신뢰도가 점차 낮아지고 있지만 예상했던 속도는 어느 정도일까요? 6년 간의 답변을 통해 1년 동안의 예측이 얼마나 일관된지 표시할 수 있습니다. 2019년의 15년 추정치는 2024년의 10년 추정과 일치하나요?
Q 데이 날짜에 수년에 걸친 양자 위협 타임라인 보고서의 과거 답변. x축은 Q-데이를 주장하는 연도이고 y축은 Q-데이가 일어날 가능성이 50%(왼쪽) 또는 70%(오른쪽) 이상이라고 생각하는 전문가의 비율을 나타냅니다.
전문가에게 Q-day가 약 짝수 가능성이 될 시기(왼쪽 그래프)에게 물어보면 대부분 몇 년 동안 같은 대답을 합니다. 15년 후에 그럴 수 있습니다. 그러나 더 많은 확실성을 요구하면서 >70%의 확률로 Q 데이를 요구한다면(오른쪽 그래프), 전문가들은 몇 년 동안 대부분 일관성이 있다고 답합니다. 예를 들어, 5분의 1은 2019년과 2024년 인터뷰에서 2034년을 생각했습니다.
따라서 전문가로부터 일관된 답변을 원한다면 Q-데이가 언제일 수 있는지가 아니라 언제쯤 가능할 것인지 묻습니다. 이제 Q-데이에 대해 추측하는 것은 즐거운 일이지만, 솔직하게 답하자면 아무도 확실하게 알 수 없습니다. 알려지지 않은 것이 너무 많습니다. 그리고 결국 Q-day의 날짜는 규제 기관이 설정한 기한보다 훨씬 덜 중요합니다.
다양한 규제 기관의 타임라인도 살펴볼 수 있습니다. 2022년, 국가안보국(NSA)은 CNSA 2.0 가이드라인을 발표했으며, 포스트 퀀텀 암호화로의 마이그레이션 기한은 2030년에서 2033년까지로 설정되어 있습니다. 또한 2022년에 미국 연방 정부는 미국인들이 완전히 이주하는 것을 목표로 2035년을 목표로 설정했고, 새 정부는 이 틀을 벗어나지 않았습니다. 2024년에 호주에서는 2030년을 공격적인 마이그레이션 기한으로 설정했습니다. 영국 NCSC는 2025년 초를 영국의 경우 2035년과 일치시켰습니다. 2025년 중반, 유럽연합은 신청에 따라 기한을 2030년과 2035년인 로드맵을 발표했습니다.
모든 국가 규제 기관에서는 포스트 퀀텀 마이그레이션 타임라인을 제공하는 것은 아니지만, 일반적으로 2030–2035년 기간을 따릅니다.
그렇다면 양자 컴퓨터는 언제 문제를 일으키기 시작할까요? 2034년이든 2050년이든 너무 이르다는 것은 확실합니다. 50년에 걸쳐 암호화가 큰 성공을 거두었다는 것은 세탁기, 심박 조율기, 위성 등 이제 우리 주변에 만연해 있다는 뜻입니다. 대부분의 업그레이드는 쉽고 제품 수명 주기에 적합하지만, 롱테일은 어렵고 비용이 많이 드는 업그레이드가 될 것입니다.
이제 포스트 퀀텀 암호화로의 마이그레이션을 살펴보겠습니다.
우선순위를 결정하려면 먼저 안전한 연결을 생성하는 데 필요한 다양한 종류의 암호화에 대한 포스트 퀀텀 마이그레이션의 어려움, 영향, 긴급성에 큰 차이가 있다는 점을 이해하는 것이 중요합니다. 사실 대부분의 조직에게는 키 합의 와 서명/인증서라는 두 번의 포스트 퀀텀 마이그레이션이 있을 것입니다. 브라우저에서 웹사이트를 방문할 때 보안 연결을 생성하는 경우를 위해 이 내용을 설명하겠습니다.
연결의 암호화 도구는 AES-GCM과 같은 대칭 암호입니다. 암호화 하면 떠오르는 바로 이 모습입니다. 이 경우 양 당사자(이 경우 브라우저와 서버)가 공유 키를 가지고 있고, 동일한 키로 메시지를 암호화/암호 해독하는 것입니다. 해당 키가 없으면 아무것도 읽거나 수정할 수 없습니다.
좋은 소식은 AES-GCM과 같은 대칭 암호가 이미 포스트 퀀텀으로 안전하다는 것입니다. Grover의 양자 알고리즘을 사용하려면 대칭 키 길이의 두 배가 필요하다는 오해가 흔히 존재합니다. 알고리즘을 자세히 살펴보면 실용적이지 않다는 것이 분명합니다. 포스트 퀀텀 암호화의 표준화를 주도해 온 미국 국립표준기술연구소인 NIST에서 포스트 퀀텀 보안 수준을 정의하는 방식은 매우 시사하는 바가 많습니다. 이들은 이 계획이 기존의 대칭 암호처럼 고전적 컴퓨터나 양자 컴퓨터를 사용하여 해독하기 어려운 것이어야 한다고 말하며 구체적인 보안 수준을 다음과 같이 정의합니다.
레벨 | 정의, 최소한 깨뜨리기 어려운 것 만큼이나 … | 예시 |
1 | 전체 검색을 통해 AES-128 의 키를 복구하려면 | ML-KEM-512, SLH-DSA-128s |
2 | 전체 검색을 통해 SHA256에서 충돌 찾기 | ML-DSA-44 |
3 | 전체 검색을 통해 AES-192 의 키를 복구하려면 | ML-KEM-768, ML-DSA-65 |
4 | 전체 검색을 통해 SHA384 에서 충돌 찾기 | |
5 | 전체 검색을 통해 AES-256 의 키를 복구하려면 | ML-KEM-1024, SLH-DSA-256s, ML-DSA-87 |
NIST PQC 보안 수준이 높을수록 깨기가 더 어렵습니다('안전성'). ML-DSA, SLH-DSA, ML-KEM의 예는 아래에서 다룹니다.
대칭 암호화의 키 길이를 두 배로 늘리는 것을 제안하는 데는 좋은 의도가 있습니다. 많은 사용 사례에서 추가 비용은 그렇게 높지 않으며 이론적 위험을 완전히 완화합니다. 대칭 암호화를 확장하는 것은 저렴합니다. 비트를 두 배로 늘리는 것이 일반적으로 비용의 절반보다 훨씬 적습니다. 표면적으로는 간단한 팁입니다.
하지만 AES-256을 채택해야 한다고 주장한다면, 공개 키 암호화에도 NIST PQC 수준 5를 채택해야 한다고 주장하는 것이 타당해 보입니다. 문제는 공개 키 암호화는 확장성이 부족하다는 것입니다. 체계에 따라 수준 1에서 수준 5로 이동하면 일반적으로 데이터 사용량과 CPU 비용이 두 배 이상 증가합니다. 앞으로 살펴보겠지만, 포스트 퀀텀 서명을 배포하는 것은 레벨 1은 이미 어려운 일이며, 레벨 5에서 배포하는 것은 힘을 잃기 쉽습니다.
하지만 더 중요한 것은 조직에서 사용할 수 있는 리소스가 제한되어 있다는 점입니다. 우리는 조직이 확실히 양자 취약점이 있는 RSA를 그대로 내버려두는 비용을 들여 AES-128을 업그레이드하는 것을 우선시하고 싶지 않습니다.
대칭 암호만으로는 충분하지 않습니다. 웹 사이트를 처음 방문할 때 어떤 키를 사용해야 하는지 어떻게 알 수 있을까요? 브라우저는 수신하는 모든 사람이 해당 키를 볼 수 있으므로 무작위 키를 보낼 수 없습니다. 불가능하다고 생각할 수도 있겠지만, 브라우저와 서버가 공유 키에 합의할 수 있도록 하는 영리한 수학 문제가 있습니다. 이러한 체계를 키 합의 메커니즘이라고 하며, TLS 핸드셰이크에서 수행됩니다. 2024년에 거의 모든 트래픽이 Diffie–Hellman 스타일의 키 합의인 X25519로 보호되지만, 양자 컴퓨터에서 Shor의 알고리즘이 작동하면 그 보안이 완전히 깨집니다. 따라서 Diffie–Hellman을 통해 현재 보호된 모든 통신이 저장되어 있다면 향후 양자 컴퓨터가 해독할 수 있습니다.
따라서 지금 키 합의를 업그레이드하는 것이 시급합니다. 다행히도 포스트 퀀텀 키 합의는 비교적 배포가 간단하며, 앞서 보았듯이 Cloudflare에서 2025년 말까지 요청의 절반이 이미 포스트 퀀텀 키 합의로 보호되고 있습니다!
키 계약을 통해 키에 대한 보안 합의가 가능하지만, 큰 차이가 있습니다. Cloudflare는 누구와 키에 대해 합의했는지 알지 못합니다. 키 합의만 수행하면 중간에 있는 공격자가 브라우저 및 서버와 별도로 키 합의를 수행하고 교환되는 메시지를 다시 암호화할 수 있습니다. 이를 방지하려면 마지막 요소인 인증이 필요합니다.
이는 서명을 통해 이루어집니다. cloudflare.com과 같은 웹 사이트를 방문하면 웹 서버는 cloudflare.com에서 해당 인증서 의 공개 키를 관리함을 보증하는 인증 기관(CA)이 서명한 인증서 를 제시합니다. 그런 다음 웹 서버가 인증서의 공개 키에 해당하는 개인 키를 사용하여 핸드셰이크와 공유 키에 서명합니다. 이렇게 하면 클라이언트가 cloudflare.com과 키 계약을 체결했음을 확인할 수 있습니다.
RSA 및 ECDSA는 오늘날 일반적으로 사용되는 기존 서명 체계입니다. 다시 말하지만, Shor의 알고리즘은 이들 서명을 단축하여 양자 공격자가 어떤 서명도 위조할 수 있도록 허용합니다. 즉, 양자 컴퓨터를 사용하는 공격자는 비포스트 퀀텀 인증서를 수락하는 웹 사이트(및 MitM)를 가장할 수 있습니다.
이 공격은 양자 컴퓨터가 RSA/ECDSA를 크래킹할 수 있는 후에만 수행할 수 있습니다. Q-day가 시작되기 전에 모두를 마이그레이션하기만 하면 되므로 TLS에 대한 서명 체계를 업그레이드하는 것이 덜 긴급합니다. 안타깝게도 포스트 퀀텀 서명으로의 마이그레이션은 훨씬 더 어렵고 더 많은 시간이 필요할 것입니다.
인터넷에서 포스트 퀀텀 암호화로 마이그레이션할 때의 기술적 과제에 대해 자세히 살펴보기 전에, Cloudflare가 어떻게 여기까지 오게 되었는지, 향후 몇 년 동안 예상할 수 있는 일은 무엇인지 살펴보겠습니다. 포스트 퀀텀 암호화가 어떻게 탄생하게 되었는지 시작해 보겠습니다.
1980년경 물리학자인 Feynman과 Manin은 독립적으로 양자 컴퓨터를 제안했습니다. Shor가 RSA/ECC를 공격하는 알고리즘을 발표하는 데는 또 14년이 걸렸습니다. 대부분의 포스트 퀀텀 암호화는 Shor의 유명한 알고리즘보다 앞서 등장했습니다.
포스트 퀀텀 암호화에는 다양한 분기가 있으며, 이 중 가장 두드러진 분기는 격자 기반, 해시 기반, 다변량, 코드 기반, 등발생 기반입니다. 등원성 기반 암호화를 제외하고는 처음부터 포스트 퀀텀 암호화로 생각된 것이 없었습니다. 사실, 초기의 코드 기반 및 해시 기반 체계는 1970년대에 제안된 RSA와 동시대적인 기술이며, 1994년에 Shor의 알고리즘이 발표되기보다 비교적 앞서 있었습니다. 또한 1988년에 나온 첫 번째 다변량 체계는 Shor의 알고리즘보다 훨씬 오래되었습니다. 가장 성공적인 분기 기반인 격자 기반 암호화가 Shor와 가장 가까운 동시대 사람인 1996년에 제안된 것이라는 것은 우연의 일치입니다. 비교를 위해 오늘날 널리 사용되는 elliptic curve cryptography는 1985년에 처음 제안되었습니다.
Shor의 알고리즘이 발표된 후 몇 년 후, 암호학자들은 기존의 암호화 방식을 측정했습니다. 무엇이 명확하게 손상되었으며, 무엇이 포스트 퀀텀 보안이 될 수 있을까요? 2006년에는 포스트 퀀텀 암호화에 관한 첫 번째 연례 국제 워크숍이 열렸습니다. 이 컨퍼런스를 통해, 해당 분야에 대한 소개라고 할 수 있는 소개 글이 준비되었습니다. 한 가지 주의할 점은 무지개 서명 체계의 종말입니다. 같은 해인 2006년에 타원 곡선 키 합의 X25519 가 제안되어 현재 대부분의 인터넷 연결을 자체적으로 또는 포스트 퀀텀 ML-KEM-768과의 하이브리드로 보호합니다.
10년 후인 2016년에 미국 국립표준기술연구소(NIST)인 NIST는 양자내성암호를 표준화하기 위한 공개 경쟁을 시작했습니다. 이들은 2001년에 AES 를 표준화하고 2012년에 SHA3 를 표준화하는 데 사용된 것과 유사한 개방형 형식을 사용했습니다. 누구나 체계를 제출하고 제안서를 평가하면 참여할 수 있습니다. 전 세계의 암호학자들이 알고리즘을 제출했습니다. 관심을 집중시키기 위해, 제출된 제출 목록은 세 라운드에 걸쳐 축소되었습니다. 공개의 피드백을 기반으로 원래 82개 팀에서 8개가 최종 라운드에 진출했습니다. 8개 스킴 중에서 2022년 NIST는 KEM(키 합의용) 4개와 서명 스킴 3개를 선택해서 2022년에 먼저 표준화했습니다.
이전 이름 | 새 이름 | 지점 |
Kyber | ML-KEM (FIPS 203)
모듈 격자 기반 키 캡슐화 메커니즘 Standard | 격자 기반 |
Dilitium | ML-DSA (FIPS 204) 모듈-격자 기반 디지털 서명 Standard | 격자 기반 |
SPHINCS+ | SLH-DSA (FIPS 205) 무상태 해시 기반 디지털 서명 Standard | 해시 기반 |
Falcon | FN-DSA (아직 표준화되지 않음) NTRU 격자를 통한 FFT 디지털 서명 Standard | 격자 기반 |
첫 3가지 표준에 대한 최종 표준은 2024년 8월에 발표되었습니다. FM-DSA는 늦었고, 나중에 다루겠습니다.
ML-KEM은 현재 표준화된 유일한 포스트 퀀텀 키 합의이며, 더 큰 키 크기로 인해 가끔 문제가 발생하기는 하지만, 대부분 드롭인 방식으로 업그레이드됩니다.
서명의 경우는 다소 다릅니다. NIST에서 이미 이 세 가지의 표준화를 결정했다는 사실은 분명합니다. 그리고 향후 표준화될 예정인 서명이 훨씬 더 많습니다. 그 이유는 제안된 시그니처 중 어느 것도 이상적이지 않기 때문입니다. 간단히 말해, 우리는 모두 익숙한 것보다 훨씬 더 큰 키와 서명을 사용합니다.
보안 관점에서 SLH-DSA는 가장 보수적인 선택이지만, 동시에 최악의 성능을 제공합니다. 공개 키와 서명 크기의 경우에는 DN-DSA도 이 세 가지 모두를 사용할 수 있지만, 부동 소수점 산술 때문에 서명을 안전하게 구현하기는 어렵습니다. DN-DSA의 제한된 적용 가능성과 설계 복잡성으로 인해 NIST에서는 다른 세 가지 계획에 먼저 집중하기로 결정했습니다.
이렇게 하면 ML-DSA가 기본 선택으로 남습니다. 비교에 대해서는 아래에 더 포함되어 있습니다.
NIST의 표준을 갖는 것만으로는 충분하지 않습니다. 또한 높은 수준의 프로토콜에서 새로운 알고리즘을 사용하는 방식을 표준화해야 합니다. TLS의 키 합의와 같은 많은 경우, 이는 새로운 알고리즘에 식별자를 할당하는 것만큼 간단할 수 있습니다. DNSSEC와 같은 다른 경우에는 조금 더 생각해야 합니다. IETF 의 많은 실무 그룹에서는 NIST의 최종 표준이 도착하기 위해 여러 해 동안 준비해 왔으며, 2024년이 끝나기 전에 곧 많은 프로토콜 통합이 마무리될 것으로 예상했습니다. 일부는 완료되었지만, 대부분은 아직 끝나지 않은 상태였습니다.
좋은 소식부터 시작해서 어떤 일이 진행되었는지 살펴보겠습니다.
X25519와 ML-KEM-768(나중에 자세히 설명)을 결합하는 하이브리드 TLS 키 합의 X25519MLKEM768 은 사용할 준비가 되었으며 실제로 꽤 널리 배포되어 있습니다. 다른 프로토콜도 마찬가지로 간단한 설정을 위해 IPsec과 같은 하이브리드 작동 모드에서 ML-KEM을 채택하고 있습니다. (특정 설정의 경우 여전히 파악해야 할 약간의주름이 있습니다. 향후 블로그 게시물에서 다루겠습니다.)
해당 RFC가 아직 게시되지 않았다면 놀라운 결과일 수 있습니다. 하지만 키 계약을 TLS 또는 IPsec에 등록하는 데는 RFC가 필요하지 않습니다. 두 경우 모두 RFC를 기대하는 사람들에게 혼란을 피하기 위해 RFC를 그대로 적용하고 있으며, TLS의 경우에는 키 합의를 권장 사항으로 표시해야 합니다.
서명의 경우, ML-DSA의 X.509 인증서 및 TLS 통합은 문제 없습니다. 전자는 새로 발행된 RFC이고, 후자는 RFC를 요구하지 않습니다.
나쁜 소식입니다. 이 글을 작성하는 2025년 10월 현재, IETF에서는 하이브리드 인증서(포스트 퀀텀 서명 체계와 기존 서명 체계가 모두 결합된 인증서) 수행 방법을 고정하지 않았습니다. 비슷합니다. 2026년 초에 이 문제가 파악되기를 바랍니다.
하지만 단지 일부 식별자만 할당하는 것이라면 지연의 원인은 무엇일까요? 대부분은 선택에 관한 것입니다. ML-DSA에서 어떤 선택이 가능했는지부터 살펴보겠습니다.
ML-DSA 지연: 프리해싱과 개인 키 형식이 많이 사용됨
ML-DSA 인증서에 대한 두 가지 주요 논의 주제는 프리해싱과 개인 키 형식이었습니다.
프리해싱은 시스템의 한 부분에서 메시지를 해시하고 다른 부분에서 최종 서명을 생성하는 것입니다. 이는 서명을 위해 큰 파일을 HSM 으로 전송하지 않으려는 경우에 유용합니다. ML-DSA의 초기 초안은 SHAKE256을 사용한 프리해싱을 지원했지만, 이는 명확하지 않았습니다. NIST의 ML-DSA 최종 버전에는 두 가지 변형이 포함되어 있었습니다. 일반 ML-DSA와 명시적으로 사전 해시된 버전(모든 해시를 선택할 수 있음)이 있습니다. 여러 변형을 갖는 것은 이상적이지 않습니다. 사용자가 어떤 것을 선택할지 선택해야 하기 때문입니다. 모든 소프트웨어가 모든 변형을 지원하는 것은 아닙니다. 모두를 대상으로 테스트/유효성 검사를 수행해야 합니다. 변종을 하나만 선택해야 하는 것은 논란의 여지가 없지만, 문제는 어떤 것을 선택하느냐입니다. 오랜 토론 끝에 일반 ML-DSA가 선택되었습니다.
두 번째 문제는 개인 키 형식입니다. 성능 벤치마크에서 후보자를 비교하는 방식으로 인해 원래 ML-DSA 제출이 개인 키에서 일부 계산을 캐시하는 것이 좋아 보입니다. 이는 개인 키가 필요로 하는 것보다 크고(수 킬로바이트) 더 많은 유효성 검사 단계가 필요함을 의미합니다. 이 회사에는 개인 키를 32바이트 시드만 남기고 핵심 요소로 만들 것을 제안했습니다. NIST는 최종 표준에서 시드와 원래의 더 큰 개인 키를 모두 허용하기로 결정했습니다. 이는 이상적이지 않습니다. 둘 중 하나를 고수하는 것이 좋습니다. 이 경우 IETF는 선택을 할 수 없었고 심지어 세 번째 옵션을 추가하기도 했습니다. 바로 시드 및 확장 개인 키 쌍입니다. 기술적으로, 거의 모든 사람이 시드 가 더 나은 선택이라는 데 동의했지만, 만족스럽지 않은 이유는 일부 벤더가 시드 를 유지하지 않은 키를 이미 만들었기 때문입니다. 그렇습니다. Cloudflare에는 이미 포스트 퀀텀 레거시가 있습니다. 이 두 가지 선택을 하는 데 거의 1년이 걸렸습니다.
ML-DSA 하이브리드 서명 체계를 정의하기 위해 선택할 수 있는 항목이 훨씬 더 많습니다. ML-DSA를 결합할 기존 방식은? 양측의 보안 수준을요. 그런 다음 어떤 개인 키 형식을 사용할 것인가? ECDSA에 어떤 해시를 사용해야 할까요? 하이브리드 모델들은 새로운 질문을 제시합니다. 하이브리드에서 키를 재사용하도록 허용하나요? 그리고 이를 위해 스트리핑 공격을 방지하고 싶나요? 또한 프리해싱에 대한 질문은 하이브리드 수준에서의 프리해시라는 세 번째 옵션과 함께 돌아올 수 있습니다.
2025년 10월의 ML-DSA 하이브리드 서명 초안에는 1년 전의 26개보다 적은 18개의 변형이 포함되어 있습니다. 다시 말하지만, 이는 너무 많다는 데 동의하지만, 그 이상으로 줄이기는 쉽지 않았습니다. 최종 사용자가 선택할 수 있도록 3개의 옵션으로 시작하는 짧은 목록이 추가되었지만 당연히 6개로 확장되었습니다. 이 중 MLDSA44-ECDSA-P256-SHA256이 인터넷에서 폭넓게 지원되고 사용될 것으로 예상됩니다.
이제 완성된 표준인 키 합의로 돌아가 보겠습니다.
다음 단계는 소프트웨어 지원입니다. 모든 생태계가 같은 속도로 움직일 수 있는 것은 아니지만, 우리는 이미 저장/나중에 해독에 대응하기 위해 포스트 퀀텀 키 합의가 널리 채택되는 것을 확인했습니다. 모든 주요 브라우저의 최신 버전과 많은 TLS 라이브러리 및 플랫폼, 특히 OpenSSL, Go, 최신 Apple OS에서는 기본적으로 X25519MLKEM768이 활성화됩니다. 개요는 여기에서 유지됩니다.
다시 말하지만, TLS의 경우 키 합의와 서명 간에 큰 차이점이 있습니다. 키 합의의 경우, 서버와 클라이언트는 독립적으로 포스트 퀀텀 키 합의에 대한 지원을 추가하고 실행할 수 있습니다. 양쪽에서 TLS 협상이 활성화되면 포스트 퀀텀 키 합의가 사용됩니다. 이 블로그 게시물에서 TLS 협상에 대해 자세히 설명합니다. 귀사의 제품이 TLS만 사용하는 경우, 지금 저장/해독 문제는 TLS 라이브러리의 간단한 소프트웨어 업데이트로 해결할 수 있습니다.
포스트 퀀텀 TLS 인증서는 더 번거롭습니다. 양쪽 끝을 모두 제어하지 않는 한 두 개의 인증서를 설치해야 합니다. 하나는 신규 클라이언트용 포스트 퀀텀 인증서이고, 다른 하나는 기존 클라이언트용 기존 인증서입니다. 자동 인증서 발급을 아직 사용하고 있지 않다면 이를 확인해 보는 것도 좋은 이유가 될 수 있습니다. TLS를 사용하면 클라이언트가 어떤 서명 체계를 지원하는지 알릴 수 있어 서버가 포스트 퀀텀 인증서를 지원하는 클라이언트에게만 제공하도록 선택할 수 있습니다. 안타깝게도 거의 모든 TLS 라이브러리에서 다중 인증서 설정을 지원하지만, 모든 서버에서 해당 구성이 노출되는 것은 아닙니다. 이렇게 해도 대부분의 경우 여전히 구성 변경이 필요합니다. (물론 캐디가 대신 처리할 것입니다.)
포스트 퀀텀 인증서에 대해 말씀드리면, 인증 기관(CA)이 인증서를 발급할 수 있으려면 시간이 좀 걸릴 것입니다. HSM은 먼저 (하드웨어) 지원이 필요하고, 그런 다음 감사를 받아야 합니다. 또한 CA/브라우저 포럼 에서 새 알고리즘의 사용을 승인해야 합니다. 루트 프로그램은 타임라인에 대해 서로 의견이 다릅니다. 저희가 들은 바에 따르면, 루트 프로그램 중 하나가 2025년이 끝나기 전에도 1년 기간의 ML-DSA-87 인증서를 수락하도록 파일럿 프로그램을 준비하고 있다는 소식을 들었습니다. 이를 뒷받침하기 위해 CA/브라우저 포럼 투표용지 초안을 작성하고 있습니다. 이에 비해 Chrome은 대규모 인증서 문제를 먼저 해결하는 것을 선호합니다. NIST 표준이 발표된 후 많은 제출이 있게 될 것이므로 초기 기업에게는 감사 때문에 병목 현상이 생길 가능성이 높습니다. 최초의 포스트 퀀텀 인증서는 2026년에 등장하겠지만, 2027년 이전에 모든 브라우저에서 이를 널리 사용할 수 있거나 신뢰를 받을 가능성은 거의 없습니다.
우리는 많은 인터넷 트래픽이 포스트 퀀텀 키 합의로 보호되지만, 공개 포스트 퀀텀 인증서는 하나도 사용되지 않는 흥미로운 중간 시기에 살고 있습니다.
더 많은 계획에 대한 검색은 계속되고 있습니다
NIST에서는 포스트 퀀텀 암호화의 표준화가 아직 끝나지 않았습니다. 두 차례의 포스트 퀀텀 경쟁이 더 진행되고 있습니다. 4차 경쟁과 대표적인 온램프(on-ramp) 경쟁입니다.
NIST에서는 지금까지 포스트 퀀텀 키 합의 중 하나인 ML-KEM만 표준화했습니다. 만약 예상보다 취약할 경우를 대비하여 격자 기반이 아닌 백업 KEM을 두 번째로 갖고 싶어 합니다. 이를 찾기 위해 원래 경쟁 상대를 네 번째 라운드로 확장하여 결선 진출자 중 백업 KEM을 선택했습니다. 2025년 3월, HQC 가 표준화 대상으로 선정 되었습니다.
HQC는 모든 지표에서 ML-KEM보다 훨씬 성능이 떨어집니다. 보안 수준이 가장 낮은 변형인 HQC-1은 전송 중에 7kB의 데이터가 필요합니다. 이는 가장 높은 보안 수준 변형인 ML-KEM-1024에 필요한 3kB의 거의 두 배입니다. CPU 성능에도 비슷한 격차가 있습니다. 또한 HQC는 보안 수준에 따라 규모가 더 악화됩니다. ML-KEM-1024가 ML-KEM-512 비용의 약 두 배인데, HQC의 가장 높은 보안 수준은 3배 이상의 데이터(21kB!)와 4배 이상의 컴퓨팅이 필요합니다.
보안은 어떨까요? 점진적으로 개선되는 공격을 헤지하기 위해 ML-KEM-768은 HQC-1에 비해 우위에 있고 성능이 훨씬 우수하며 수준 1에 비해 수준 3에서 보안 여유가 커집니다. 도약은 어떨까요? ML-KEM과 HQC는 각각 순수 격자와 코드 위에 유사한 대수적 구조를 사용합니다: 해당 분야에서 이루어진 돌파구가 양쪽 모두에 적용될 수 있다는 것은 전혀 불가능한 일이 아닙니다. 이제 대수적 구조가 없으면 코드와 격자가 서로 연관되어 있다고 느낍니다. 우리는 추측하기 시작했습니다. 격자에 대한 치명적인 공격이 코드에 영향을 미치지 않을 수도 있지만, 영향을 미치는 것도 놀라운 일은 아닙니다. 결국, 더 유사하지 않은 RSA와 ECC는 모두 양자 컴퓨터에 의해 해독됩니다.
만약을 대비하여 HQC를 계속 곁에 두어도 안심할 수 있습니다. 여기에서는, Chen의 격자에 대한 양자 알고리즘에 결함이 있다는 것이 아직 명확하지 않았던 그 혼란스러운 주간에 있었던 일화를 공유하고자 합니다. ML-KEM이 영향을 받게 된다면 무엇으로 교체해야 할까요? HQC를 잠시 고려했지만, ML-KEM의 조정된 변형이 여전히 훨씬 더 성능이 뛰어날 것이라는 점은 분명했습니다.
한 발 물러서서, 두 번째 효율적인 KEM을 찾고 있다는 것은 사치스러운 입장입니다. 새로운 포스트 퀀텀 체계에 대한 희망이 주어진다면, 저는 더 나은 KEM이 아니라 더 나은 서명 체계를 요구할 것입니다. 제가 운이 좋은지 봅시다.
2022년 말, 처음 4개의 픽을 발표한 후 NIST에서는 추가적인 서명 스킴을 찾기 위해 '시그니처 온램프(on-ramp)'라는 새로운 대회를 개최했습니다. 이 경쟁의 목표는 두 가지입니다. 첫 번째는 격자 기반 암호화에 대한 암호 분석 혁신에 대한 헤지입니다. NIST는 (크기와 컴퓨팅 모두에서) SLH-DSA보다 성능이 나은 시그니처를 표준화하고 싶지만, 격자를 기반으로 하지 않습니다. 두 번째로, 공격자들은 현재 명단이 잘 작동하지 않는 사용 사례에서 잘 작동할 수 있는 서명 체계를 찾고 있습니다. 이에 대해서는 이 게시물 뒷부분에서 자세히 다루겠습니다.
2023년 7월, NIST에서는 1차 공개 검토를 위해 40개의 제출물을 게시했습니다. 암호화 커뮤니티가 작동하자 첫 번째 라운드는 언제나 그렇듯이 일주일 만에 대부분의 스킴이 무력화되었습니다. 2024년 2월까지 10개의 서브스크립션이 완전히 무력화되었고 다른 몇몇 봇은 급격히 약화되었습니다. 입상한 후보 중 2024년 10월에 NIST에서는 2차 후보작 14편을 후보로 선정했습니다.
1년 전, Cloudflare는 이러한 14개의 제출물을 아주 자세히 다루는 블로그 게시물을 작성했습니다. 부족하다는 점입니다. 포스트 퀀텀 서명 체계가 놀라운 발전을 이루었습니다. 이러한 세부 사항은 나중에 간단히 살펴보고 작년 이후로 발전한 사항에 대해서는 몇 가지 업데이트를 알려드리겠습니다. 포스트 퀀텀의 주요 경쟁과 마찬가지로 선정 과정에도 몇 년이 걸릴 것이라는 점을 언급할 필요가 있습니다. 애초에 고장나지 않는다면 이러한 온램프 서명 체계가 2028년 이전에 표준화될 가능성은 거의 없습니다. 즉, 앞으로는 아주 환영할 일이지만, 더 나은 서명 체계가 오늘날 당면한 문제를 해결할 수 있을지는 장담할 수 없습니다. TLS 1.3의 편집장인 Eric Rescorla는 다음과같이 말합니다.
이를 염두에 두고 배포 진행 상황을 살펴보겠습니다.
큰 그림을 파악했으니 이제 널리 배포된 이 X25519MLKEM768에 대해 좀 더 세부적인 내용을 살펴보겠습니다.
먼저 포스트 퀀텀 부분입니다. ML-KEM은 CRYSTALS-Kyber라는 이름으로 제출되었습니다. 미국 표준이지만, 이 패키지의 디자이너들은 프랑스, 스위스, 네덜란드, 벨기에, 독일, 캐나다, 중국, 미국의 산학연 디자이너들이 일하고 있습니다. 그 성능을 살펴보겠습니다.
오늘날 대다수의 클라이언트는 기존의 키 합의 X25519를 사용합니다. 이를 ML-KEM과 비교해 보겠습니다.
X25519와 ML-KEM의 크기 및 CPU 비교. 성능은 하드웨어 플랫폼 및 구현 제약에 따라 상당히 달라지며, 대략적인 수치로만 이해해야 합니다.
ML-KEM-512, -768 및 -1024는 각각 AES-128, -192 및 -256과 (양자) 공격에 대한 내성을 갖는 것을 목표로 합니다. AES-128 수준에서조차 ML-KEM은 X25519보다 훨씬 커서 유선 상에서 800+768=1,568 바이트가 필요한 반면, X25519는 64바이트에 불과합니다.
반면에 ML-KEM-1024조차도 일반적으로 X25519보다 훨씬 빠르지만, 이는 플랫폼과 구현에 따라 상당히 다를 수 있습니다.
Cloudflare는 아직 이러한 속도 향상의 이점을 누리지 못하고 있습니다. 다른 많은 얼리 어답터와 마찬가지로 저희도 안심하고 X25519와 ML-KEM-768을 결합하는 하이브리드 키 계약을 배포합니다. 이 조합이 놀라운 이유는 두 가지입니다.
X25519('128비트 보안')와 ML-KEM-768('192비트 보안')을 결합해야 하는 이유는?
포스트 퀀텀 X25519를 고민할 이유가 있을까요?
이러한 명백한 보안 수준 불일치는 격자 기반 암호화의 암호 분석 개선을 방해하기 위한 헤지 기능입니다. X25519의 (양자가 아닌) 보안은 많은 신뢰를 받고 있습니다. AES-128과 매칭하는 것만으로도 충분합니다. 현재로서는 ML-KEM-512 보안이 편안하지만, 향후 수십 년 동안 암호 분석은 더 개선될 수 있습니다. 따라서 일단은 여유를 두고 싶습니다.
X25519를 포함하는 데에는 두 가지 이유가 있습니다. 첫째, ML-KEM의 모든 변형이 혁신적으로 연결되면 모든 변형이 안전하지 않게 될 가능성이 아주 적습니다. 이 경우 X25519는 여전히 비-퀀텀 보안을 제공하며, 우리의 포스트 퀀텀 마이그레이션도 상황을 악화시키지 않았습니다.
더 중요한 것은 우리가 알고리즘에 대한 공격뿐만 아니라 구현에 대한 공격도 걱정하지 않는다는 점입니다. 우리가 총알을 피한 주목할 만한 예로는 타이밍 공격인 KyberSlash가 있습니다. 이는 당사의 것을 포함하여 많은 Kyber(ML-KEM의 이전 버전) 구현에 영향을 미쳤습니다. 다행히 KyberSlash는 TLS에서 사용되기 때문에 Kyber에 영향을 미치지 않습니다. 실제로 TLS에 영향을 미치는 유사한 구현 실수를 하려면 적극적인 공격자가 필요할 수 있습니다. 이 경우 공격자의 목표는 수십 년 후에 데이터를 해독하는 것이 아니라 쿠키 또는 기타 토큰을 훔치거나 악의적인 페이로드를 삽입하는 것입니다. X25519를 포함하면 그러한 공격을 방지할 수 있습니다.
그렇다면 ML-KEM-768과 X25519는 실제로 얼마나 잘 작동할까요?
구글은 잠재적인 호환성 및 성능 문제를 잘 인지하고 있었으며, NIST가 경쟁을 시작한 바로 그 해인 2016년에 양자 컴퓨팅 이후 암호화에 대한 첫 번째 실험을 시작했습니다. 이어서 2018년에 Cloudflare 와 Google 은 두 번째로 큰 규모의 공동 실험을 진행했습니다. 우리는 두 가지 다른 하이브리드 양자 이후 키 합의 방식을 테스트했습니다: 격자 기반 NTRU-HRSS와 X25519를 결합한 CECPQ2, 그리고 동형 기반 SIKE와 다시 X25519를 결합한 CECPQ2b입니다. NTRU-HRSS는 크기가 ML-KEM과 매우 유사하지만, 클라이언트 측에서 계산상 다소 부담이 더 큽니다. 반면에 SIKE는 매우 작은 키를 사용하고 계산 비용이 많이 들며 2022년에 완전히 손상되었습니다. TLS 핸드셰이크 시간과 관련하여 X25519+NTRU-HRSS는 매우 잘 수행되었습니다.
안타깝게도 소수의 클라이언트가 NTRU-HRSS 연결 끊김을 경험했습니다. 그 이유는 NTRU-HRSS 키 공유의 크기 때문입니다. 과거에는 TLS 연결을 생성할 때 클라이언트가 전송한 첫 번째 메시지인 소위 ClientHello는 거의 항상 단일 네트워크 패킷 내에 맞습니다. TLS 사양에서는 더 큰 ClientHello를 허용하지만, 실제로 이를 사용하는 사람은 없습니다. 따라서 ClientHello 가 항상 단일 패킷에 적합하다고 암묵적으로 가정하는 미들 장비, 로드 밸런서, 기타 소프트웨어가 있으므로 프로토콜 골화는 다시 발생합니다.
그 후 몇 년 동안 PQ로 실험을 계속했으며 2022년에는 Kyber로, 2024년에는 ML-KEM으로 전환했습니다. Chrome은 호환되지 않는 제품의 공급업체에 연락하는 일을 훌륭하게 해냈습니다. 이러한 호환성 문제가 없었다면 Chrome에서 5년 전에 포스트 퀀텀 키 합의를 개선했을 것입니다. 2024년 3월에 이르러 Chrome이 데스크톱에서 기본적으로 포스트 퀀텀 키 합의를 활성화할 수 있을 만큼 편안해지기까지 시간이 걸렸습니다. 그 후 다른 많은 클라이언트와 모든 주요 브라우저가 포스트 퀀텀 키 합의를 기본적으로 사용하는 데 Chrome에 참여했습니다. 불완전한 타임라인:
2016년 7월 | PQ를 사용한 Chrome의 첫 번째 실험(CECPQ) |
2018년 6월 | Cloudflare / Google 실험(CECPQ2) |
2022년 10월 | Cloudflare는 기본적으로 서버 측에서 PQ를 활성화합니다 |
2023년 11월 | Chrome, 데스크톱에서 PQ를 10%까지 끌어올리다 |
2024년 3월 | Chrome은 데스크톱에서 기본적으로 PQ를 활성화합니다. |
2024년 8월 | Go는 기본적으로 PQ를 활성화합니다 |
2024년 11월 | Chrome은 Android와 데스크톱의 Firefox에서 기본적으로 PQ를 활성화합니다. |
2025년 4월 | OpenSSL 은 기본적으로 PQ를 활성화합니다 |
2025년 10월 | Apple은 iOS / iPadOS / macOS 26 출시와 함께 PQ를 기본으로 도입하고 있습니다. |
주목할 만한 점은 데스크톱에서 PQ를 활성화하는 Chrome과 Android 사이에 격차가 있다는 것입니다. 그래프에 나와 있듯이 ML-KEM은 성능에 큰 영향을 미치지 않지만, 특히 모바일에서 느린 연결이 만연하는 롱테일에서 무시할 수 없으며 진행하기 위해 더 많은 고려 사항이 필요했습니다.
하지만 마침내 드디어 도달했습니다. 인간 트래픽의 50% 이상(그리고 계속 증가하고 있습니다!)이 지금 저장/나중에 저장으로부터 보호되고 있어 포스트 퀀텀 키 합의가 웹의 새로운 보안 기준이 되고 있습니다.
브라우저는 방정식의 일부입니다. 서버는 어떨까요?
2022년에 저희는 기본적으로 모든 고객이 포스트 퀀텀 키 합의 서버 측을 활성화했습니다. Google은 2023년에 GCP를 제외한 대부분의 서버에 동일한 작업을 수행했습니다. 그 이후로 많은 사람들이 이를 따랐습니다. Jan Schaumann은 상위 100,000개의 도메인을 정기적으로 스캔하고 있습니다. 그는 2025년 9월에 올린 게시물에서 불과 6개월 전의 28%에서 증가한 39%가 PQ를 지지한다고 보고했습니다. 그의 설문조사에서 우리는 Amazon, Fastly, Squarespace, Google, Microsoft와 같은 대규모 서비스 공급자에 대한 지원을 제공할 뿐만 아니라 Hetzner 및 OVHcloud에서 호스팅되는 지원을 추가하는 자체 호스팅된 서버도 조금씩 추가하는 것을 목격했습니다.
이것이 공개적으로 액세스할 수 있는 웹입니다. Cloudflare와 같은 서비스 뒤의 서버는 어떨까요?
2023년 9월에는 고객이 Cloudflare에서 원본으로의 연결에서 포스트 퀀텀 키 합의를 활성화할 수 있도록 지원을 추가했습니다. 다음 다이어그램의 연결이 (3)입니다.
방문자가 캐시되지 않은 페이지를 요청할 때의 일반적인 연결 흐름입니다.
2023년에 포스트 퀀텀 키 합의를 지지한 오리진은 0.5%에 불과했습니다. 2024년까지도 상황은 크게 변하지 않았습니다. 2025년인 올해에는 소프트웨어 지원이 출시되면서 지원이 서서히 증가할 것으로 예상됩니다. 이제 우리는 3.7%를 기록하고 있습니다.
포스트 퀀텀 키 합의 X25519MLKEM768을 지원하는 원본 비율.
3.7%는 클라이언트와 퍼블릭 서버의 이전 50%와 39%에 비해 전혀 인상적이지 않은 것처럼 들리지만, 비웃을 수는 없습니다. 원본에는 클라이언트보다 다양성이 훨씬 더 많습니다. 그 수를 늘리기 위해 무언가를 해야 하는 사람들이 훨씬 더 많기 때문입니다. 하지만 여전히 7배 이상이 증가한 수치이며, 2024년에는 고객 지원률이 1.8%에 도달했습니다.고객의 경우 원본을 업그레이드하기가 항상 쉬운 것은 아닙니다. 그렇다면 양자 내성(post-quantum) 보안을 상실할 수 있다는 뜻일까요? 아니오, 반드시 그런 것은 아닙니다. Cloudflare Tunnel 을 원본에 대한 사이드카로 설정하면 Cloudflare와 원본 간의 연결을 보호할 수 있습니다.
지원은 모두 훌륭하고 훌륭하지만, 브라우저 실험에서 알 수 있듯이 프로토콜 골화는 큰 우려 사항입니다. 원본에서는 어떤 모습일까요? 상황에 따라 달라집니다.
포스트 퀀텀 키 합의를 활성화하는 방법에는 빠른 방법과 느리지만 안전한 방법의 두 가지가 있습니다. 두 경우 모두 원본이 포스트 퀀텀을 지원하지 않으면 안전하게 기존 키 합의로 대체됩니다. 이 블로그 게시물에서 자세한 내용을 설명하지만, 요컨대 우리가 빠른 방법은 포스트 퀀텀 키를 즉시 보내며, 더 안전하게 보낼 수 있는 방법은 HelloReryRequest를 사용해서 왕복 한 번 미루는 것입니다. 주요 브라우저는 모두 빠른 방식을 이용합니다.
저희는 모든 원본을 정기적으로 스캔하여 무엇을 지원하는지 확인했습니다. 좋은 소식은 모든 오리진이 안전하지만 느린 방법을 지원했다는 것입니다. 우리가 관찰한 바에 따르면 연결 중 0.05%가 중단된다는 것을 발견했으므로 빠른 방법은 잘 작동하지 못했습니다. 이 비용은 기본적으로 빠른 방법을 사용하기에는 너무 높기 때문입니다. Cloudflare는 모든 비기업 고객에게 기본적으로 안전한 방법을 사용하여 원본 서버로 전송되는 PQ를 활성화했으며, 기업 고객도 선택할 수 있습니다.
하지만 속도가 빠르고 모두가 이용할 수 있기 전까지는 만족하지 않습니다. 따라서 스캔 결과 안전하다고 판단되는 경우 모든 고객에 대해 신속 방식을 사용하여 원본으로 포스트 퀀텀을 자동으로 활성화합니다.
지금까지 이야기한 모든 연결은 Cloudflare와 외부 당사자 간의 연결입니다. Cloudflare 내에도 많은 내부 연결이 있습니다(위의 두 다이어그램에서 2로 표시됨). 2023년에 저희는 내부 연결을 포스트 퀀텀 키 합의로 업그레이드하기 위해 대대적으로 추진했습니다. 우리가 추구하는 다른 모든 포스트 퀀텀 노력과 비교할 때, 우리는 단연코 가장 큰 성과였습니다. 우리는 회사의 모든 엔지니어링 팀에 하고 있는 일을 중단할 것을 요청했습니다. 제품으로 보호하는 데이터 및 연결을 점검합니다. 포스트 퀀텀 키 합의로 업그레이드하세요. 대부분의 경우 업그레이드는 간단했습니다. 실제로 많은 팀이 이미 소프트웨어 업데이트를 통해 업그레이드되었습니다. 하지만 이미 모든 작업이 완료되었다는 점에는 상당한 시간이 걸릴 수 있습니다! 다행히도 이번 푸시에서는 성능 문제나 골화 문제가 확인되지 않았습니다.
대부분의 내부 연결을 업그레이드했지만, 롱테일이 남아 있으며, 이에 대한 작업을 계속 진행하고 있습니다. 2023년에 업그레이드하지 못한 가장 중요한 연결은 WARP 클라이언트와 Cloudflare 간의 연결입니다. 2025년 9월에 Wireguard에서 QUIC로 전환하여 업그레이드했습니다.
앞서 살펴본 바와 같이, 포스트 퀀텀 키 합의는 프로토콜 골화로 인한 초기 문제에도 불구하고 간편하게 배포할 수 있었습니다. 대부분의 경우 평범한 소프트웨어 업데이트입니다. 또한 배포 비율이 50%에 달하며(늘어나고 있음) Cloudflare는 인터넷의 새로운 보안 기준으로 자리 잡고 있습니다.
이제 더 어려운 두 번째 마이그레이션을 살펴보겠습니다.
이제 인터넷에서 사용되는 서명을 업그레이드하는 데 주의를 집중하겠습니다.
Cloudflare는 2024년 11월 작년에 포스트 퀀텀 서명 체계 분야에 대해 길고 심층적인 분석을 다뤘습니다. 아직 대부분 최신 정보이지만, 몇 가지 흥미로운 진전이 있었습니다. 여기에서는 작년의 몇 가지 주요 사항과 흥미로운 업데이트를 살펴보겠습니다.
현재 AES-128 보안 수준에서 사용할 수 있는 포스트 퀀텀 서명(ML-DSA-44와 SLH-DSA의 두 가지 변형) 규모를 조정하는 것부터 시작하겠습니다. 초기에 가장 널리 사용될 계획이므로 ML-DSA-44를 기본으로 사용합니다. 비교를 위해, 현재 널리 사용되는 Ed25519 및 RSA-2048, 그리고 곧 표준화될 TN-DSA-512도 포함되어 있습니다. 여기에는 서명 온램프에서 TLS 유망 서명 체계에 대한 9개의 샘플이 포함되어 있습니다.
AES-128 보안 수준에서 다양한 서명 계획의 비교. CPU 시간은 플랫폼 및 구현 제약에 따라 크게 다르며 대략적인 표시로만 간주해야 합니다. ⚠️ 빠르지만 위험한 부동 소수점 산술을 사용할 때 FM-DSA 서명 시간(아래 경고 참조). ⚠️ SQIsign 서명은 부채널을 보호할 타이밍이 아닙니다.
대부분의 서명이 단순히 훨씬 더 크기 때문에 포스트 퀀텀 서명 체계 중 어떤 것도 Ed25519(ECDSA P-256과 유사)를 드롭인 대체하지 못하다는 것이 바로 명백해졌습니다. SQISign, MAYO, SNOVA, UOV는 온램프에서 사용할 수 있지만 이들은 이상적인 제품이 아닙니다. MAYO, SNOVA, UOV는 공개 키 규모가 크고 SQISign은 엄청난 계산이 필요합니다.
향후 전망: 첫 번째 경쟁업체의 최고 성능은 FM-DSA-512인 것으로 보입니다. FN-DSA-512의 서명과 공개 키는 단지 1,563바이트에 불과하며, 서명 시간은 다소 합리적입니다. 하지만 SN-DSA는 아킬레스건입니다. 수용할 만한 서명 성능을 얻으려면 빠른 부동 소수점 연산이 필요합니다. 서명이 없으면 서명이 약 20배 느려집니다. 그러나 부동 소수점 산술은 일정한 시간 내에 실행되어야 하므로 속도만으로는 충분하지 않고, 부동 소수점 연산이 없으면 타이밍 서명 생성을 통해 DN-DSA 개인 키를 복구할 수 있습니다. 안전한 DN-DSA 구현을 작성하는 것은 매우 어려운 일이므로, TLS 핸드셰이크와 같이 서명이 즉시 생성되는 경우 DN-DSA는 위험합니다. 이는 서명에만 영향을 미친다는 점을 강조하는 것이 좋습니다. FN-DSA 확인에는 부동 소수점 계산이 필요하지 않습니다(그리고 확인 과정에서 어쨌든 개인 키가 유출되지는 않습니다.).
인터넷에서 포스트 퀀텀 서명으로 마이그레이션할 때 가장 큰 문제는 단일 연결에도 많은 서명이 존재한다는 것입니다. 바로 이 웹 사이트를 처음 방문하신다면 Cloudflare는 다섯 개의 서명과 두 개의 공개 키를 보냅니다.
이들 중 대부분은 인증서 체인을 위한 것입니다. CA는 중간 인증서에 서명하고, 중간 인증서는 리프 인증서에 서명하며, 이 리프 인증서는 다시 서버의 신뢰성을 증명하는 TLS 기록에 서명합니다. 계속해서 세게 평가한다면, Cloudflare는 여전히 두 가지 서명이 부족합니다.
이는 인증서 투명성에 필요한 SCT를 위한 것입니다. 인증서 투명성(CT)은 브라우저 연결을 보호하는 생태계인 Web PKI의 핵심이지만, 잘 알려지지 않은 부분입니다. 그 목표는 발급된 모든 인증서를 공개적으로 기록하여 잘못된 발급이 발생한 후 감지할 수 있도록 하는 것입니다. crt.sh 및 Cloudflare Radar의 기반이 되는 시스템입니다. CT는 최근 1.1.1.1에 대한 악성 인증서를 공개하며 그 가치를 다시 한 번 입증했습니다.
인증서 투명성은 독립 당사자가 CT 로그를 실행하도록 함으로써 작동합니다. CA는 인증서를 발급하기 전에 먼저 최소 두 개의 서로 다른 CT 로그에 인증서를 제출해야 합니다. SCT는 인증서가 기록되었음을 증명하는 영수증 역할을 하는 CT 로그의 서명입니다.
서명을 사용하는 방법에는 공개 키가 포함되는지 여부와 서명이 온라인 또는 오프라인인지 여부라는 두 가지 측면을 강조할 가치가 있습니다.
SCT와 중간체 상의 루트 서명의 경우, 공개 키는 핸드셰이크 중에 전송되지 않습니다. 따라서 이러한 경우의 경우 서명은 작지만 공개 키가 큰 MAYO, SNOVA, UOV 등의 서명 체계가 특히 적합합니다. 다른 서명에는 공개 키가 포함되며, 공개 키와 서명이 결합되는 크기를 최소화하는 것이 더 중요합니다.
핸드셰이크 서명은 온라인에서 생성되는 유일한 서명이며 다른 모든 서명은 미리 생성됩니다. 핸드셰이크 서명은 한 번만 생성되고 확인되는 반면, 다른 서명은 일반적으로 여러 클라이언트에서 여러 번 확인됩니다. 즉, 핸드셰이크 서명의 경우 핫 경로에 있는 서명 및 확인 시간의 균형을 맞추는 것이 유리한 반면, 다른 서명의 경우 서명 속도가 느리더라도 확인 시간이 더 좋은 것이 가치가 있습니다. 이는 타원 곡선 서명에 비해 RSA가 여전히 누리고 있는 장점 중 하나입니다.
다양한 서명 체계를 조합하는 것은 재미있는 퍼즐이지만, 몇 가지 단점도 있습니다. 서로 다른 체계를 여러 개 사용하면 알고리즘 취약성 또는 구현 취약성 중 하나가 전체를 손상시키므로 공격면이 늘어납니다. 또한, 생태계 전체가 다수의 알고리즘을 구현하고 최적화해야 하는데, 이는 상당한 부담입니다.
그렇다면 시도해 볼 만한 합리적인 조합에는 어떤 것이 있을까요?
현재 사용할 수 있는 표준 초안으로는 선택권이 별로 없습니다.
모든 서명에 대해 ML-DSA-44로 전환하면 TLS 핸드셰이크 중에 서버에서 클라이언트로 전송되어야 하는 데이터 15kB가 추가됩니다. 많은가요? 아마도 그럴 겁니다. 이에 대해서는 추후 다시 다루겠습니다.
조금 기다렸다가 핸드셰이크 서명을 제외한 모두를 DN-DSA-512로 바꾸면 7kB만 추가될 것입니다. 훨씬 더 낫지만, 부채널을 타이밍하지 않으면 FM-DSA-512 서명을 안전하게 구현하기 어렵다는 점을 반복 말씀드리고 싶습니다. 문제를 해결하는 또 다른 방법은 여기에서 설명하는 상태 저장 해시 기반 서명을 사용하는 것입니다. 요약하면, DN-DSA-512와 상태 저장 해시 기반 서명은 ML-DSA-44와 비슷하고 명확한 성능 이점을 제공하지만, 안전하게 사용하기 어렵습니다.
유망한 새로운 서명 체계가 몇 가지 있으며 NIST 온램프에 제출되었습니다.
순수한 크기로만 보면 SQISign I이 RSA-2048을 능가하면서 확실한 승자입니다. 안타깝게도 서명과 결정적으로 확인에 필요한 계산량은 너무 높습니다. SQISign은 구현 보안 측면에서 FN-DSA보다 열악한 위치에 있습니다. 매우 복잡하고 일정한 시간 내에 서명을 수행하는 방법이 불분명합니다. 틈새 응용 프로그램의 경우 SQISign이 유용할 수 있지만, 일반적인 채택의 경우 더 많은 양의 서명이 필요한 경우에도 확인 시간을 크게 개선해야 합니다. 지난 몇 년 동안 인증 시간을 개선하는 데는 놀라운 진전이 있었습니다. 알고리즘 단순화 SQISign(변종)에 대한 구현 보안 아직까지는 도달하지 않았지만, 그 격차는 예상했던 것보다 훨씬 많이 줄어들었습니다. 개선의 속도가 계속된다면 향후 SQISign은 TLS에도 실행 가능할 수 있습니다.
한 가지 보수적인 경쟁자는 UOV(불균형 오일 및 식초)입니다. 이는 공개 키(66.5kB)는 크지만 서명(96바이트)은 작은 오래된 다변량 체계입니다. 수십 년 동안 공개 키와 서명 크기의 균형을 맞추기 위해 UOV 공개 키에 구조를 추가하려는 시도가 많이 있었습니다. 레인보우, GeMMS 등 소위 구조화된 다변량 계획 중 상당수는 불행히도 "주말 동안 노트북으로" 무너지는 데 실패했습니다. 잠시 후 설명하게 될 MAYO와 SNOVA는 구조화된 다변량의 최신 시도입니다. UOV 자체는 대부분 피해를 입지 않았습니다. 놀랍게도 2025년에 Lars Ran은 UOV에서 완전히 새로운 '웨지' 공격을 발견했습니다. UOV에는 큰 영향을 미치지 않지만, SNOVA와 MAYO가 더 큰 영향을 받습니다. 이 공격이 주목할 만한 이유는 비교적 단순한 아이디어를 기반으로 한다는 점입니다. 이전에는 이러한 공격이 발견되지 않았다는 점이 놀랍습니다. 이제 성능으로 돌아가서, 루트를 위해 UOV를, 다른 용도로 ML-DSA-44를 사용하는 SCT를 결합하면 10kB만 보게 됩니다.
이제 주요 이벤트로 돌아가 보겠습니다.
현재 명단을 살펴보면 MAYO, 특히 SNOVA는 성능 관점에서 훌륭해 보입니다. 작년에는 SNOVA와 MAYO가 성능 면에서 유사했지만, 그 차이가 상당히 해소되었습니다.
MAYO는 무지개를 무력화시킨 암호 전문가가 설계했습니다. 구조화된 다변수 체계이므로 보안에 대한 면밀한 조사가 필요하지만, 유틸리티(손상되지 않았다고 가정)는 매력적입니다. MAYO를 사용하면 서명과 공개 키 크기 간에 세밀하게 절충할 수 있습니다. 제출 시 상황을 단순하게 하기 위해 작성자는 두 가지 구체적인 변형을 제안했습니다. 하나는 균형 서명(454바이트)과 공개 키(1.4kB) 크기의 MAYOone 이고, 다른 하나는 공개 키를 관리 가능한 상태로 유지하면서 216바이트의 서명을 갖는 MAYOtwo 입니다. 4.3kB로 서명 시간은 ECDSA보다는 약간 느리지만, RSA보다는 훨씬 낫습니다. 당연하게도 두 변형을 모두 합치면 4.3kB에 불과합니다. 이 수치는 작년보다 약간 높은 수치입니다. MAYO가 새로 발견된 공격을 고려하기 위해 매개변수를 다시 약간 조정했기 때문입니다.
경쟁업체에서SNOVA는 MAYO보다 공격을 더 많이 받았습니다. SNOVA의 대응은 더 적극적이었습니다. 매개변수를 조정하기 위해 단순히 조정하는 대신 체계의 내부에도 더 큰 변화를 주어 공격에 대응하고 성능을 개선했습니다. SNOVA(37,17,16,2) 와 SNOVA(24,5,23,4) 를 자연스럽게 결합하면 무려 2.1kB가 추가될 것입니다.
우리는 위험하지만 훨씬 더 규모가 작은 SNOVA와 보수적이지만 느린 MAYO 사이에 대결이 형성되는 것을 목격하고 있습니다. 간략하게 살펴보면 둘 다 아주 만족스러운 성능을 보여주며, 지금 배포하기에는 너무 위험합니다. Ran의 새로운 웨지 공격은 다변량 암호 분석 분야가 여전히 놀라움이 있으며 더 많은 눈과 시간이 필요함을 보여주는 예입니다. SNOVA와 MAYO 중에서 승자를 고르기에는 아직 시기상조입니다. 계속 경쟁하도록 두세요. 안전한 것으로 밝혀지더라도 2029년까지는 표준화되지 않을 가능성이 높으므로 포스트 퀀텀 인증으로의 초기 마이그레이션을 위해 의존할 수 없다는 것을 의미합니다.
되돌아가 보면, ML-DSA-44의 15kB가 실제로 그렇게 나쁜가요?
정말로 우리가 추가 바이트를 신경 쓰고 있을까요?
평균적으로 초당 약 1,800만 개의 TLS 연결이 Cloudflare를 통해 설정됩니다. 각각을 ML-DSA로 업그레이드하려면 2.1Tbps가 필요하며, 이는 현재 총 네트워크 용량의 0.5%입니다. 아직까지는 문제 없습니다. 문제는 이러한 추가 바이트가 성능에 미치는 영향입니다.
ML-DSA-44에서 스와핑하려면 15kB가 추가로 필요합니다. 이는 오늘날의 일반적인 핸드셰이크와 비교하면 많은 양이지만 많은 웹 페이지에서 제공되는 JavaScript나 images와 비교하면 많지 않습니다. 요점은 여기서 우리가 적용해야 하는 변경이 비대해진 웹 사이트에 사용되든 시간이 중요한 API 호출에 사용되든 모든 TLS 연결에 적용된다는 것입니다. 단순히 더 오래 기다리기만 하는 것이 아닙니다. 셀룰러 수신이 불규칙한 경우에는 추가 데이터가 페이지 로드 시 완화에 도움이 될 수 있습니다. (여담으로 비대함은 많은 앱에서 놀라울 정도로 많은 수의 TLS 핸드셰이크를 수행합니다).
키 합의에서와 같이, 우리는 성능만이 유일한 관심사가 아니라 애초에 연결이 성공하기를 원합니다. 2021년에 저희는 더 큰 포스트 퀀텀 인증서를 시뮬레이션하기 위해 인증서 체인을 인위적으로 확대하는실험을 진행했습니다. 그 결과를 요약해 드리겠습니다. 한 가지 중요한 점은 일부 클라이언트나 미들 장비에서는 10kB보다 큰 인증서 체인을 선호하지 않는다는 것입니다. 이는 단일 인증서 마이그레이션 전략에 문제가 됩니다. 이 접근 방식에서 서버는 소위 비중대 확장이라고 하는 별도의 포스트 퀀텀 인증서가 포함된 하나의 기존 인증서를 설치합니다. 포스트 퀀텀 인증서를 지원하지 않는 클라이언트는 확장을 무시합니다. 이 접근 방식에서는 단일 인증서를 설치하면 호환성 문제가 있는 모든 클라이언트가 즉시 중단되므로 시작할 수 없습니다. 성능 측면에서도 10kB에서 초기 혼잡 창으로 인해 성능이 급격히 저하됩니다.
9kB는 너무 많은가요? TLS 핸드셰이크 시간의 저하는 약 15%입니다. 우리는 후자가 실행 가능하다고 생각했지만, 이상적이지 않습니다. 이러한 속도 저하가 눈에 띄고 너무 늦기 전에 사람들이 포스트 퀀텀 인증서 배포를 미룰 수도 있습니다.
Chrome은 최대 TLS 핸드셰이크 시간 회귀에 대해 10%를 목표로 설정하여 더욱 신중합니다. 포스트 퀀텀 키 합의를 배포한 결과 이미 서버에서 클라이언트로 1.1kB, 클라이언트에서 서버 간에 1.2kB가 추가되어 TLS 핸드셰이크 시간이 4% 감소했다고 보고했습니다. 이 속도 저하율은 9kB에서 발견한 15%보다 비례적으로 크지만, 이는 다운로드 속도보다 업로드 속도로 인해 설명될 수 있습니다.
TLS 핸드셰이크 시간에 초점을 맞추는 것에 대한 반대 의견도 있습니다. 세션을 재개하면 인증서를 다시 전송할 필요성이 줄어든다는 주장도 있습니다. 두 번째 주장은 일반적인 웹 사이트를 방문하는 데 필요한 데이터가 포스트 퀀텀 인증서에 비해 추가 바이트가 왜 작다는 것입니다. 한 가지 예는 이 2024년 간행물입니다. 여기에서 Amazon 연구원들은 데이터가 많은 TLS 연결에 대한 대규모 포스트 퀀텀 인증서의 영향을 시뮬레이션했습니다. 이들은 일반적인 연결이 여러 요청과 수백 킬로바이트를 전송하며, 그런 사람들의 입장에서는 TLS 핸드셰이크 속도 저하가 자연스럽게 사라질 것이라고 주장합니다.
그런데 세션을 재개하고 수백 킬로바이트의 연결을 넘는 것이 흔한 일일까요? 그 경험을 공유해 드리고자 합니다. 브라우저 또는 브라우저형 클라이언트에 의해 시작될 가능성이 높은 QUIC 연결을 중점적으로 다룹니다. Cloudflare를 통한 하나 이상의 HTTP 요청을 전달하는 모든 QUIC 연결 중 27%는 재개된 것이며, 이는 이전 TLS 연결의 키 자료가 재사용되므로 인증서를 전송할 필요가 없음을 의미합니다. 재개된 QUIC 연결을 통해 서버에서 클라이언트로 전송된 바이트 수 중앙값은 4.4kB인 반면, 평균은 259kB입니다. 재개하지 않는 경우 중앙값은 8.1kB이고 평균은 583kB입니다. 중앙값과 평균의 차이가 이처럼 큰 것은 데이터 사용량이 많은 연결 중 일부가 평균을 왜곡하는 경우가 있음을 나타냅니다. 실제로 QUIC 연결 전체 중 15.5%만이 100kB 이상을 전송합니다.
현재(압축 포함) 인증서 체인의 중앙값은 3.2kB입니다. 이는 재개되지 않은 QUIC 연결의 절반 이상을 통해 서버에서 클라이언트로 전송되는 모든 데이터의 거의 40%가 인증서 전용이라는 것을 의미하며, 이는 포스트 퀀텀 알고리즘으로 갈수록 더 악화됩니다. 대다수의 QUIC 연결에서 ML-DSA-44를 기존 서명을 대체하는 방식으로 사용하면 연결 수명 동안 전송되는 바이트 수가 두 배 이상 증가합니다.
일반적인 연결을 위해 전송되는 데이터의 대부분이 포스트 퀀텀 인증서를 위한 것이라면 기분이 좋지 않을 것입니다. 이는 여전히 실제로 중요한 것, 즉 브라우징 경험(예: 최대 콘텐츠풀 페인트) 및 해당 인증서가 사용자의 월 데이터 상한선에서 가져오는 데이터 양입니다. 영향을 계속 조사하여 파악하겠습니다.
인터넷에서 포스트 퀀텀 인증으로 마이그레이션하기 위한 경로는 키 합의보다 훨씬 명확하지 않습니다. 오늘날의 인증에 훨씬 더 근접한 성능을 확보하지 못한다면 대다수가 포스트 퀀텀 인증을 비활성화할 것으로 예상됩니다. Q-day가 다가올 때까지 포스트 퀀텀 인증 활성화를 미루는 것은 너무 늦기 전에 문제를 발견하지 못한다는 실제적인 위험을 수반합니다. 그렇기 때문에 포스트 퀀텀 인증을 기본적으로 사용할 수 있을 만큼 성능을 좋게 만드는 것이 중요합니다.
순서대로 서명 수를 줄이기 위해 다양한 아이디어를 모색하고 있습니다. 중간체를 배제하는 것입니다. KEMTLS; 그리고 Merkle Tree 인증서. 이에 대해서는 작년에 자세히 다루었습니다. 대부분의 진전은 마지막 단계인 머클 트리 인증서 (MTC)에서 이루어졌습니다. 이 제안에서는 일반적인 경우에 핸드셰이크 서명을 제외한 모든 서명을 800바이트 미만의 짧은 머클 트리 증명으로 대체합니다. 따라서 현재 기존 인증서를 사용하는 것보다 실제로 더 빠른 포스트 퀀텀 인증이 가능합니다! 올해 말까지 Chrome과 함께 사용해 볼 예정입니다. 이 블로그 게시물에서 자세히 알아보세요.
길었지만, 이 블로그 게시물에서는 TLS를 마이그레이션하는 것에 대해서만 다루었습니다. 그리고 Encrypted ClientHello(우리는 잊지 않았음)에 대해 논의하지 않았으므로 우리가 완전히 다루지 않은 TLS도 마찬가지입니다. 중요하지만, TLS가 인터넷 보안에 대한 유일한 프로토콜 키는 아닙니다. 다른 문제 몇 가지를 간략하게 언급하고 싶지만, 자세히 설명할 수는 없습니다. 한 가지 특별한 문제는 도메인 이름 확인의 보안을 담당하는 DNSSEC입니다.
키 합의와 서명이 가장 널리 사용되는 암호화 기본 요소이지만, 지난 몇 년 동안 저희는 고급 사용 사례에 서비스를 제공하기 위해 Privacy Pass/PAT의 연결 불가능한 토큰, 익명의 자격 증명,속성 기반 암호화를 지원합니다. 이러한 고급 암호화 계획의 대부분은 아직 알려진 실용적인 포스트 퀀텀 대안이 없습니다. 저희는 기쁘게도 양자내성 자격 증명 분야에서 큰 발전이 있었습니다.
양자 공격으로부터 안전하게 지키기 위해 지금 할 수 있는 일
요약하자면, 주목해야 할 주요 포스트 퀀텀 마이그레이션은 키 합의와 인증서입니다.
저희는 양쪽 모두 소프트웨어 업데이트만 하면 되는 포스트 퀀텀 키 합의 로 전환하여 지금 저장/나중에 해독 공격에 대응하는 것을 권장합니다. 즉, 소프트웨어와 서비스 전반에서 X25519MLKEM768을 빠르게 채택(저희는 목록을 유지하고 있습니다)하면 이미 지금 저장/나중에 해독에 대해 안전할 수 있음을 의미합니다! Cloudflare Radar에서 브라우저가 X25519MLKEM768을 지원하는지 확인 할 수 있습니다. Firefox를 사용하신다면, 방문하는 동안 웹 사이트 지원을 확인하는 확장 기능 이 있습니다. 여기에서 웹 사이트의 지원 여부를 스캔할 수 있으며, Wireshark를 사용하여 회선에서 이를 확인할 수 있습니다.
즉석 검사에 불과합니다. 올바른 마이그레이션을 위해서는 암호화가 사용되는 위치를 파악해야 합니다. 대부분의 조직이 애초에 사용하는 모든 소프트웨어, 서비스, 외부 벤더를 추적하는 데 어려움을 겪고 있기 때문에 이는 쉽지 않은 일입니다. 업그레이드하기 어렵거나 외부 종속성이 있는 시스템이 있을 수 있지만, 많은 경우 업그레이드는 간단합니다. 사실, 많은 경우 이러한 작업이 이미 완료된 것을 확인하는 데 많은 시간이 할애할 것입니다.
무엇을 해야 할지 결정하는 것이 대량의 작업이므로 이를 첫 번째 이정표로 분할하는 것이 매력적일 수 있습니다.먼저 상세한 인벤토리를 작성하고 소위 CBOM(암호화 자재 명세서)입니다. 인벤토리가 그 자체로 목표가 되도록 하지 마십시오. 우리는 공을 주시해야 합니다. 마이그레이션하기 위해 무엇을 해야 할지 알게 되었다면 기다리지 말고 컨텍스트 전환을 하십시오. 그렇다고 해서 속도가 빠르다는 의미는 아닙니다. 스프린트가 아닌 마라톤이지만, 처음부터 얼마나 많은 그라운드를 다룰 수 있는지에 놀랄 것입니다.
인증서. 이 블로그를 작성하는 2025년 10월 현재, 포스트 퀀텀 인증서의 최종 표준은 아직 정해지지 않았습니다. 해결하는 데 그리 오랜 시간이 걸리지 않기를 바랍니다. 하지만 포스트 퀀텀 인증서를 준비하기 위해 지금 할 수 있는 일은 많습니다. 후회하지 않을 것입니다. 소프트웨어를 최신 상태로 유지합니다. 인증서 발급을 자동화합니다. 여러 인증서를 설치할 수 있는지 확인하세요.
프로토콜 골화가 걱정된다면 기다릴 이유가 없습니다. 최종 포스트 퀀텀 표준은 초안과 크게 다르지 않을 것입니다. 오늘 예비 구현(또는 대규모 더미 인증서)으로 테스트할 수 있습니다.
포스트 퀀텀 마이그레이션은 아주 독특합니다. 일반적으로, 암호화가 해독되면 이는 갑작스럽거나 점진적으로 발생하여 한동안 무시할 수 있게 됩니다. 두 경우 모두 결국 마이그레이션은 서두르게 됩니다. 양자 위협으로 인해 많은 암호화를 대체해야 한다는 것을 확실히 알지만 시간적 여유도 있습니다. 좀처럼 손이 가지 않는 많은 시스템에서 지금 유지 관리를 수행해야 하는 집안일 대신, 이 기회를 기회로 삼아 보시기 바랍니다. 단순한 핫픽스 대신, 지금이 과거의 선택을 재고할 기회입니다.
최소한, 지금 시작한다면 말이죠. 마이그레이션 성공을 기원하며, 문제가 있으면 질문-research@cloudflare.com으로 문의해 주세요.