Claude, NIST ECDSA 시드 생성 원리 규명… 백도어 의혹 종결
핵심 내용
Claude가 NIST ECDSA 시드가 lrand48로 생성됐음을 확인해 백도어 의혹을 해소했다.
자세히 보기
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가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.