앤트로픽의 ‘클로드’가 미국 국가안보국(NSA)이 제공한 암호 표준 숫자의 출처를 밝혀 25년 넘게 이어진 의문을 풀었다. 기존 암호를 해독한 것은 아니며, 암호 설계에 의도적인 약점이 포함됐을 수 있다는 의혹을 덜어주는 발견이다.

앤트로픽은 16일(현지시간) 연구 결과를 공개했다. 내부 연구용 클로드 모델이 30분도 채 되지 않아 미국 국립표준기술연구소(NIST)의 타원곡선 5종에 사용된 ‘시드(seed)’가 어떤 방식으로 만들어졌는지 찾아냈다고 밝혔다. 시드는 암호에 활용할 수학적 구조를 만드는 데 쓰이는 출발값이다.

NIST는 2000년 전자서명 표준에 이 타원곡선들을 채택했다. 타원곡선 전자서명 알고리즘(ECDSA)은 서명자가 누구인지, 데이터가 위조되거나 변조되지 않았는지를 확인하는 기술이며 웹사이트 인증서 등에 쓰인다.

당시 NSA는 곡선 설계에 필요한 시드를 제공했지만, 해당 숫자를 고른 이유는 설명하지 않았다. 숫자 자체는 공개됐으나 선택 과정은 알려지지 않았다. 이 때문에 NSA만 이용할 수 있는 약점을 숨기기 위해 특정 값을 의도적으로 선택했을 수 있다는 의혹이 제기됐다.

시드의 출처를 찾으려는 시도는 오랫동안 결실을 보지 못했다. 보안 연구자 스티브 와이스는 2018년 정보공개를 청구했지만 관련 기록을 얻지 못했다. 당시 관계자가 농담 섞인 영어 문장을 해시 함수로 바꿔 숫자를 만들었다는 이야기도 있었으나, 그 문구는 발견되지 않았다. 암호 전문가 필리포 발소르다는 2023년 이 문제에 현상금을 걸기도 했다.

앤트로픽 직원은 기존의 영어 문구 가설을 알리지 않은 상태로 클로드에 생성 방식을 조사해 달라고 요청했다. 클로드는 공개된 숫자에서 과거 프로그램의 흔적을 찾는 방법을 택했다. 1990년대 소프트웨어에 쓰인 난수 생성기를 살펴본 뒤 C 언어 라이브러리의 ‘lrand48’로 범위를 좁혔다.

클로드는 이어 생성 과정을 역으로 추적해 초기 입력값이 당시 시각을 숫자로 나타낸 유닉스 타임스탬프였다는 사실을 밝혀냈다. 이를 통해 P-256 등 NIST 타원곡선 5종의 시드를 재현했다. 앤트로픽은 누구나 결과를 확인할 수 있도록 검증 코드도 공개했다.

예측하기 쉬운 난수 생성기는 비밀키 생성에는 적합하지 않다. 하지만 이번에 복원한 시드는 처음부터 공개된 설계용 숫자이며, 이용자의 비밀키와는 별개다. 생성 방식을 알아냈다고 해서 전자서명을 위조하거나 타인의 비밀키를 알아낼 수 있는 것은 아니다.

이번 발견의 의미는 암호 표준이 만들어진 과정을 재현해 숫자가 의도적으로 조작됐을 가능성을 살펴볼 근거를 마련했다는 데 있다. 앤트로픽은 이번 결과로 숨겨진 약점에 대한 의심이 줄었으며, 이용자가 보안 설정을 변경하는 등 별도의 조치를 취할 필요는 없다고 설명했다.

다만 아직 밝혀지지 않은 점도 남아 있다. 생성 과정에서 조건을 충족한 일부 곡선이 선택되지 않은 이유, 그리고 여러 곡선에서 공개키 계산의 출발점으로 사용되는 ‘기준점’의 생성 방식은 아직 확인되지 않았다.

이번 발견으로 지급될 현상금 3만6864달러(약 4930만원)는 인터넷 보안 비영리단체 인터넷시큐리티리서치그룹(ISRG)에 기부될 예정이다.

출처 바로가기