SMT 솔버로 깨는 미뇨트 시퀀스 기반 비밀 공유 체계

SMT 솔버로 깨는 미뇨트 시퀀스 기반 비밀 공유 체계
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 기존 Mignotte 시퀀스 기반 (k, m) 비밀 공유 방식이 t − 1개의 공유만으로도 비밀을 복원할 수 있음을 SMT(Satisfiability Modulo Theories) 솔버를 이용해 입증한다. 저자는 공유값을 정수 부등식으로 모델링하고, Z3와 같은 SMT 엔진을 통해 가능한 비밀 후보를 탐색함으로써 기존 스킴의 완전성을 위협한다.

상세 분석

Mignotte 시퀀스는 서로 서로소인 양의 정수 a₁ < a₂ < … < a_m을 선택하고, 임계값 t에 대해 전체 곱 M = ∏{i=1}^{t} a_i 와 하한 L = ∏{i=m‑t+2}^{m} a_i 을 정의한다. 비밀 S는 L < S < M 사이에 놓이며, 각 참가자는 자신의 공유값 s_i = S mod a_i 를 받는다. 전통적인 복원 과정은 t개의 공유와 CRT(중국 나머지 정리)를 이용해 정확히 S를 계산한다. 그러나 이 스킴은 “완전 비밀 공유”(perfect secret sharing) 특성을 만족하지 않는다; t‑1개의 공유만으로도 S가 어느 구간에 존재하는지에 대한 정보를 제공한다.

논문은 이러한 정보 누출을 정량화하고, SMT 솔버를 활용해 실제 비밀을 추정하는 절차를 제시한다. 구체적으로, t‑1개의 공유 {s_{i₁},…,s_{i_{t‑1}}}와 해당 모듈러 a_{i_j} 를 이용해 다음과 같은 부등식 시스템을 만든다.

  1. 0 ≤ x < M
  2. x mod a_{i_j} = s_{i_j} (j = 1…t‑1)
  3. L < x < M

이 시스템은 정수 변수 x에 대한 선형 동치와 모듈러 연산을 포함한다. 현대 SMT 엔진은 이러한 조합 논리를 효율적으로 처리할 수 있으며, 특히 Z3는 모듈러 연산을 지원하는 이론을 제공한다. 저자는 Z3에 위 제약을 입력하고, 모델을 탐색함으로써 가능한 x 값들을 도출한다. 실제 실험에서는 작은 규모(예: m = 5, t = 3)에서 t‑1개의 공유만으로도 유일한 x, 즉 원래 비밀 S를 복원하는 경우가 다수 관찰되었다.

이 접근법의 핵심은 “가능한 해의 집합을 좁히는” 과정이다. Mignotte 스킴에서 a_i 값이 충분히 크게 선택되지 않으면, L과 M 사이의 구간이 좁아져 부등식 시스템이 거의 유일한 해를 갖게 된다. 따라서 SMT 솔버는 탐색 공간을 급격히 감소시켜 실용적인 시간 안에 비밀을 찾아낸다.

논문의 기여는 두 가지로 요약된다. 첫째, Mignotte 기반 스킴이 실제 보안 요구를 충족하지 못한다는 점을 정형화된 방법(SMT)으로 입증했다는 점이다. 둘째, SMT 기술을 활용한 공격 모델을 제시함으로써 기존 비밀 공유 설계에 대한 새로운 위협 모델을 제공했다는 점이다. 그러나 몇 가지 한계도 존재한다. a_i 선택이 충분히 큰 경우(예: 1024비트 이상)에는 탐색 공간이 급격히 확대돼 SMT 솔버가 실용적인 시간 안에 해를 찾기 어렵다. 또한, 논문은 실험을 제한된 파라미터 집합에만 적용했으며, 대규모 실무 환경에서의 성능 평가는 부족하다.

결론적으로, Mignotte 시퀀스는 “완전성”을 보장하지 못하는 구조적 결함이 있으며, 특히 모듈러 값이 작고 t‑1개의 공유가 제공될 경우 SMT 기반 공격에 취약하다. 설계자는 이러한 위험을 인지하고, 보다 강력한 정보 이론적 보장을 제공하는 Shamir의 다항식 기반 비밀 공유나, 모듈러 값의 크기를 충분히 확대하는 방안을 고려해야 한다.


댓글 및 학술 토론

Loading comments...

의견 남기기