Anthropic은 자사의 AI 시스템 Claude가 NIST ECDSA 곡선에 사용된 시드를 둘러싼 25년 된 의문을 풀었다고 발표했다. Claude는 30분도 안 돼 시드의 출처를 찾아내고, NSA가 값을 생성하는 데 사용한 정확한 방법을 밝혀냈다. 회사는 정답을 맞힌 사람에게 주기로 했던 상금 $36,864를 Internet Security Research Group에 기부한다.
Claude는 어떻게 답을 찾았나
Claude는 시드 숫자를 살펴보다 최상위 비트가 항상 0이라는 점을 발견했다. 이 패턴은 31비트 값만 생성하는 기본 C 라이브러리 난수 생성기 ‘lrand48’의 출력과 일치한다. Claude는 1997년 5월부터 1998년 4월까지의 타임스탬프를 시험해 NSA가 해당 기간의 Unix 타임스탬프를 사용해 lrand48을 초기화했음을 보여줬다. 이는 시드가 비밀 암호 설계로 만들어진 것이 아니며, 의도적인 백도어일 가능성도 낮다는 뜻이다.
사용자에게 어떤 의미가 있나
이번 발견으로 NIST 곡선에 숨겨진 취약점이 있을 수 있다는 오랜 의혹이 해소됐다. 보안 웹사이트부터 디지털 지갑까지 ECDSA 서명에 의존하는 개발자와 사용자에게, 이번 설명은 매개변수가 단순하고 공개적인 방식으로 생성됐다는 신뢰를 되찾아준다. 다만 주장을 독립적으로 검증하는 절차는 아직 진행 중이다. 이번 설명으로 숨겨진 공격 수단이 있다고 가정할 필요는 없어졌다.
왜 중요한가
일반 사용자에게 이번 설명은 널리 쓰이는 디지털 서명에 숨겨진 백도어가 있을 수 있다는 우려를 덜어준다. 개발자에게도 ECDSA 매개변수가 비밀스러운 NSA 설계가 아니라 단순하고 문서화된 난수 생성 과정에 기반한다는 점을 확인해준다. 다만 분석이 완전히 받아들여지려면 독립적인 암호학자들의 검증이 필요하다.