← 최신 논문
💻 computer science

Exploring Side-Channel Protections in Hardware Implementations of PQC ML-KEM Verification

이 논문은 ML-KEM의 FPGA 기반 구현이 우수한 속도와 병렬성을 제공함에도 불구하고, 고차 마스킹 검증 방식조차 하드웨어 수준의 고유한 효과로 인해 전체 비밀키 복구를 가능하게 할 만큼 충분한 정보를 유출함으로써 부채널 공격에 매우 취약하다는 것을 입증한다.

원저자: Davis Ranney, Yashaswini I Makaram, A. Adam Ding, Yunsi Fei

게시일 2026-07-01
📖 4 분 읽기☕ 가벼운 읽기

원저자: Davis Ranney, Yashaswini I Makaram, A. Adam Ding, Yunsi Fei

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

큰 그림: 디지털 문 잠그기

ML-KEM을 미래의 강력한 "양자" 컴퓨터로부터 당신의 비밀을 안전하게 지키기 위해 설계된 새롭고 매우 강력한 디지털 자물쇠라고 상상해 보세요. 이 자물쇠가 작동하려면 **FO 검증(FO Verification)**이라는 특정 단계가 필요합니다. 이 단계를 방문객의 신분증을 확인하는 보안 요원에 비유할 수 있습니다. 보안 요원은 방문객이 말한 내용을 바탕으로 신분증을 다시 만들어낸 다음, 이를 원래의 것과 비교합니다. 만약 두 개가 완벽하게 일치하면 문이 열립니다. 일치하지 않으면, 보안 요원은 열쇠를 버리고 대신 무작위 종이 조각을 건네줍니다 (해커가 정답을 추측하는 것을 방지하기 위함입니다).

문제는 이 보안 요원이 "발자국"을 남긴다는 점입니다. 해커가 신분증을 확인하는 동안 보안 요원이 사용하는 전력량이나 방출하는 자기파를 관찰함으로써, 해커는 신분증이 일치했는지 여부를 알아낼 수 있습니다. 만약 해커가 "일치"와 "불일치"의 차이를 구별할 수 있다면, 결국 건물 전체의 마스터 키를 드러내도록 보안 요원을 속일 수 있습니다.

실험: 마이크로컨트롤러 vs. 거대 공장

연구진은 이 보안 요지를 마이크로컨트롤러(많은 기기에 들어있는 표준적이고 작은 컴퓨터 칩)에 구축하는 것이 FPGA(고속, 고부하 작업에 자주 사용되는 재구성 가능한 칩)에 구축하는 것과 어떻게 다른지 확인하고자 했습니다.

  • 마이크로컨트롤러는 책상 앞에 앉아 있는 신중하고 세심한 한 명의 사무원과 같습니다. 그들은 바이트 단위로 하나씩, 차례대로 신분증을 확인합니다.
  • FPGA는 수백 명의 노동자가 동시에 신분증을 확인하는 거대한 공장과 같습니다. 훨씬 더 빠르지만, 연구진은 너무 많은 노동자가 동시에 움직이면 해커가 들을 수 있는 더 크고 명확한 "소음"을 만들어낼 것이라고 의심했습니다.

그들은 보안 요원을 보호하는 세 가지 방법을 테스트했습니다:

  1. 보호 없음: 보안 요원이 신분증을 직접 확인합니다.
  2. 해시 기반 보호 (1차 보호): 확인하기 전에, 보안 요원은 신분증을 고유한 "지문"(해시)으로 갈아버린 다음, 지문을 서로 비교합니다.
  3. 고차 마스킹 (High-Order Masking): 보안 요원은 신분증을 여러 개의 무작위 조각(공유값)으로 나누고, 각 조각을 따로 확인한 다음 결과를 다시 결합합니다. 이는 원래의 신분증이 무엇인지 알 수 없게 만들기 위한 것입니다.

연구 결과: 속도 vs. 안전

1. 보호되지 않은 보안 요원 ("보호 없음" 테스트)

  • 마이크로컨트롤러: 사무원은 조용히 작업했습니다. "발자국"(전력 사용량)에 다소 소음이 있었지만, 해커가 신분증 일치 여부를 판단하기는 어려웠습니다. 해커는 약 **95%**의 확률로 정답을 맞혔습니다.
  • FPGA: 공장 노동자들은 시끄러웠습니다. 연구진이 더 많은 신분증 부분을 동시에 확인하기 위해 노동자 수(병렬성)를 늘리자, "발자국"이 믿기 힘들 정도로 선명해졌습니다.
    • 작은 팀(32비트)일 때는 여전히 듣기 어려웠습니다.
    • 큰 팀(512비트)일 때는 소음이 너무나 명확하여, 해커가 신분증 일치 여부를 **100%**의 확률로 알아낼 수 있었습니다.
  • 교훈: FPGA가 더 빠르고 병렬적일수록 보안 요원의 발자국은 더 선명해지며, 이는 해커가 열쇠를 훔치기 더 쉽게 만듭니다.

2. 갈려진 신분증 ("해시 기반" 테스트)

  • 아이디어: 신분증을 직접 비교하는 대신, 보안 요원이 먼저 그것을 해시(디지털 지문)로 갈아버리는 것입니다. 아주 작은 변화라도 완전히 다른 지문을 만들어내어 비교 과정을 숨길 수 있다는 아이디어입니다.
  • 결과: 연구진은 해커를 혼란시키기 위해 공장 노동자들이 해시를 처리하는 순서를 "섞는" 시도를 했습니다.
  • 실패: 효과가 없었습니다. 순서를 섞었음에도 불구하고, 공장 노동자들은 여전히 뚜렷한 특징을 남기는 패턴으로 움직였습니다. 연구진은 순서를 쉽게 파악할 수 있었고, 여전히 신분증 일치 여부를 알 수 있었습니다. 해커는 **94.7%**의 확률로 성공했습니다.
  • 비유: 이는 문서를 갈아버린 다음 무작위 순서로 다시 조립하여 비밀을 숨기려는 것과 같습니다. 만약 파쇄기를 지켜보고 있다면, 어떤 조각이 "일치" 더미에서 왔고 어떤 조각이 "불일치" 더미에서 왔는지 여전히 알 수 있습니다.

3. 분할된 신분증 ("고차 마스킹" 테스트)

  • 아이디어: 이것은 가장 진보된 보호 방식입니다. 신분증을 무작위 조각으로 나누고, 각 노동자가 전체 비밀을 알지 못하도록 조각들을 따로 확인합니다.
  • 마이크로컨트롤러: 이 방식은 잘 작동했습니다. 단 한 명의 사무원은 해커가 열쇠를 추측할 수 있을 만큼의 정보를 유출하지 못했습니다.
  • FPGA: 이 방식은 처참하게 실패했습니다. 공장에는 수많은 노동자가 각 조각을 동시에 확인하고 있기 때문에, 이들의 결합된 소음이 비밀을 드러냈습니다. 공유값(조각)을 더 많이 추가할수록 신호는 오히려 더 커졌습니다.
  • 결과: 해커는 일치 여부를 **98.5%**의 확률로 맞힐 수 있었습니다.
  • 비유: 100명에게 동시에 비밀을 속삭여서 숨기려고 한다고 상상해 보세요. 조용한 책상(마이크로컨트롤러)에서는 한 사람만 들을 수 있으므로 안전합니다. 하지만 시끄러운 공장(FPGA)에서는 100명이 동시에 속삭이는 소리가 합쳐져 하나의 굉음을 만들어내며, 이는 오히려 단 한 명의 속삭임보다 더 듣기 쉬운 소리가 됩니다.

결론

본 논문은 FPGA가 무언가를 빠르게 만드는 데는 놀랍지만, 이러한 특정 비밀을 안전하게 지키는 데는 현재 매우 취약하다고 결론짓습니다.

FPGA의 "속도"는 많은 일을 동시에 수행하는 것(병렬성)에서 옵니다. 불행하게도, 많은 일을 동시에 하는 것은 해커를 위한 신호기 역할을 하는 거대하고 동기화된 신호를 만들어냅니다. 일반적인 느린 칩(마이크로컨트롤러)에서 작동하는 보호 방법들은 이를 FPGA에서 속도를 높이려고 할 때 무너집니다.

핵심 요약: 느린 단선 도로를 위해 설계된 보안 계획을 단순히 50차선 초고속도로에 적용할 수는 없습니다. 교통량(병렬성)은 기존의 보안 계획이 고려하지 못한 새로운 종류의 소음을 만들어내기 때문입니다. 이 새로운 양자 자물쇠들을 빠른 하드웨어에서 안전하게 보호하려면, 완전히 새롭게 설계된 맞춤형 방어책이 필요합니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →