90년대 인증기관의 RSA 키를 소인수분해했다

I've factored the RSA keys of a Certificate Authority from the 90s

90년대 인증기관의 RSA 키를 소인수분해했다

한 보안 연구자가 1999년 넷스케이프 4.51에 포함된 캐나다 인증기관 E-Certify의 512비트 RSA 루트 키 두 개를 소인수분해하는 데 성공했다. CADO-NFS를 이용해 데스크톱에서 각각 32시간과 29시간이 걸렸으며, 이를 통해 개인 키를 복구해 실제로 Netscape 4.51에서 작동하는 인증서를 발급했다. 이는 90년대 초기 웹 PKI의 보안 취약성을 보여주는 사례로, 연구자는 관련 키와 도구를 공개했다.

이 세상에 넷스케이프 4.51을 실행하면서 시계를 2003년 이전으로 맞춘 사람은 아무도 없을 것이다… 내가 만든 VM을 제외하면.
  1. hnmullany

    저는 Netscape 4.51 브라우저에서 루트 인증서를 담당하는 제품 관리자였습니다. 25년 후에 누군가 그것을 소인수분해하는 것을 보니 정말 미친 짓 같네요.

    댓글에 있는 몇몇 분들께 답변하자면, 네, 우리는 수출 등급 암호화가 약하다는 것을 알고 있었습니다. 그것이 요점이었습니다. NSA가 해독할 수 있도록 말이죠. 그리고 정부는 어쨌든 우리가 그렇게 하도록 요구했습니다.

    참고로, 우리는 4.5x 릴리스에서 루트 인증 기관 목록을 확장하는 목표를 가지고 있었습니다. 그리고 이것이 루트 슬롯을 수익화한 첫 번째 릴리스였을 수도 있습니다. Netscape가 수익 창출에 심각한 압박을 받고 있었기 때문입니다.

    (또한 Verisign은 우리가 경쟁을 확대하는 것을 싫어했고, 목록을 "책임 있는" 회사, 즉 Verisign과 다른 한두 개 회사로 다시 제한하는 프로그램을 구현하도록 우리를 설득하려 했습니다. 우리는 거절했습니다.)

  2. 63

    재미있는 부분 중 상당수가 AI에게 맡겨진 것은 좀 아쉽네요. 왜 맞춤형 TLS 구현이 필요했는지에 대한 설명이 있었으면 좋았을 텐데요. 어쨌든.

    업데이트: 링크된 저장소에 있는 (놀랍게도 짧은) Go 파일 상단의 주석에서 이 설명을 찾았습니다:

    대상 클라이언트는 Netscape Communicator 4.51(40비트 수출 빌드와 128비트 미국 빌드 모두)이며 시계가 2000년으로 설정되어 있습니다.

    Go의 crypto/tls로는 해결할 수 없습니다. Go 1.14에서 SSLv3를 제거했고, Netscape 4가 보내는 SSLv2 호환 ClientHello를 수락한 적이 없으며, RC4-MD5나 40비트 수출 제품군도 지원한 적이 없습니다. 따라서 이 파일은 표준 라이브러리 프리미티브(RSA PKCS#1 v1.5, RC4, DES, 3DES, MD5, SHA-1) 위에 자체적인 소형 SSLv3 서버 측 구현을 포함합니다. 서버 키는 512비트 RSA이므로 수출 클라이언트가 ServerKeyExchange 없이 직접 premaster secret을 암호화할 수 있습니다.

  3. alexpotato

    저는 헤지펀드에서 "브로커 FTP" 서비스를 담당했습니다.

    2021년에 우리가 연결한 은행 및 브로커와 통화하여 키와 암호를 최신 버전으로 업그레이드하도록 요청하는 프로젝트가 있었습니다.

    제가 기억하기로 가장 오래된 키/암호는 2000년대 후반이었으므로, 누군가가 90년대의 RSA 키를 어딘가에서 사용하고 있어도 놀라지 않을 것입니다.

    헤지펀드가 FTP를 어떻게 사용하는지에 대한 자세한 내용은 여기에서 읽을 수 있습니다:

    https://x.com/alexpotato/status/1809579426687983657?s=20

    또는 patio11과 제가 이러한 시스템에 대해 일반적으로 이야기하는 내용을 여기에서 들을 수 있습니다:

    https://www.complexsystemspodcast.com/episodes/two-banks-can...

  4. goalieca

    기본적으로 소비자용 GPU에서 2일이면 512비트 인증서를 깰 수 있습니다. 당시의 많은 트래픽은 임시 키를 사용하지 않았습니다. 대부분은 아예 암호화되지 않았습니다! 하지만 약 10년 후에는 모든 것을 암호화하는 것이 일반화되었습니다. 전 세계의 어떤 정부들이 익명의 정치적 발언을 기록하고 저장했다가 나중에 해독할 수 있을 때를 기다리고 있는지 궁금합니다.

  5. teiferer

    > 그렇게 할 특별한 이유는 없지만, 재미있을 것 같아서요.

    무언가를 하는 데 "재미"보다 더 좋은 이유가 있을까요?

  6. pvillano

    네 가지 서로 다른 자동 'F'가 있는 그 SSL 보고서는 정말 놀라운 반전입니다.

  7. gadders

    이제 오래된 Lotus Notes의 약한 비미국 키를 풀 수 있을지, 그리고 해독할 오래된 .nsf 파일이 아직 있는지 궁금하네요.

  8. tunahanfaruksav

    훌륭한 글입니다. CADO-NFS가 5950X에서 512비트 키를 푸는 데 여전히 32시간이 걸린다는 사실은, 오늘날 학계 기준으로는 사소한 일이지만, 1999년 기준으로도 이 키가 얼마나 우스울 정도로 작았는지를 잘 보여줍니다. RSA-155도 그 해에 무너졌습니다. 또한 실제 Netscape 4.51로 검증하는 것이 소인수분해 자체보다 더 어려웠다는 점도 마음에 듭니다.

이 날의 다른 글

2026-09-08