Claude, NIST ECDSA 시드 생성 원리 규명… 백도어 의혹 종결

·2026.10.17 02:02

핵심 내용

Claude가 NIST ECDSA 시드가 lrand48로 생성됐음을 확인해 백도어 의혹을 해소했다.

1 / 7

자세히 보기

Anthropic의 Frontier Red Team은 Claude가 NIST ECDSA 곡선(P-192, P-224, P-256, P-384, P-521)의 미스터리한 시드 생성 메커니즘을 식별했다고 발표했습니다. 이 발견은 시드가 임의적이거나 백도어가 아니라, Unix 타임스탬프로 초기화된 표준 Unix C 라이브러리 난수 생성기 **lrand48**로 생성되었음을 밝혀냄으로써 25년간 이어진 암호화 논쟁을 종결했습니다.

발견 메커니즘

연구팀은 시드가 Unix 타임스탬프로 시딩된 lrand48 인스턴스에서 추출된 20바이트 출력값임을 확인했습니다. 시드의 상위 비트 패턴을 분석하여 생성기가 48비트 상태 중 상위 31비트만 반환한다는 사실을 파악했으며, LLL (Lenstra–Lenstra–Lovász) 격자 기저 축소 알고리즘을 사용해 숨겨진 17비트를 성공적으로 복원했습니다.

주요 발견 사항은 다음과 같습니다:

  • P-256 시드는 생성기의 1842번째 반복에서 발견되었습니다.
  • 10개 소수 곡선 시드의 타임스탬프는 1997년 5월부터 1998년 4월 사이에 있습니다.
  • 이진 곡선 시드는 1984년 2월 타임스탬프에 해당하며, 이는 두 배가 되면 1998년 4월 17일과 일치하여 프로그램이 시계 값의 절반을 사용했음을 시사합니다.

기준점 기원

팀은 1997년 5월에 생성된 6개 곡선(P-192 및 ANSI X9.62 예제 포함)의 기준점 G 생성 방법도 규명했습니다. 이 점들은 Arjen Lenstra의 FreeLIP 패키지 난수 생성기를 사용하여 생성되었습니다. 작은 정수로 시딩하고 7개의 출력값을 버린 후, 유효한 점이 나올 때까지 26비트 출력값을 곡선 소수로 나눈 나머지를 구하는 방식이었습니다.

이 기준점들의 검증된 시드는 다음과 같습니다:

  • P-192: 시드 20000
  • prime239v1: 시드 20420
  • prime239v2: 시드 20507
  • prime239v3: 시드 20509
  • prime192v2: 시드 20512
  • prime192v3: 시드 20517

시사점 및 한계

이 결과는 곡선 선택 과정에 의도적인 약점이나 백도어가 없었음을 확인하며, Neal Koblitz와 Alfred Menezes 같은 연구자들이 제기해 온 오랜 우려를 불식시킵니다. Filippo Valsorda가 제공한 $36,864의 현상금은 Internet Security Research Group에 기부될 예정입니다.

하지만 일부 측면은 여전히 미해결 상태입니다:

  • B-163의 시드는 아직 복원되지 않았습니다.
  • P-224, P-256, P-384, P-521 및 NIST 이진 곡선의 기준점 G 생성 방법은 여전히 불명확합니다.
  • 생성 중 특정 유효한 곡선 후보를 건너뛴 기준은 불분명하지만, 건너뛴 횟수가 적어 의도적인 약화 시도는 없는 것으로 보입니다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.