1990년대 인증기관의 RSA 암호 키를 직접 풀어보았습니다

1990년대 웹 브라우저인 넷스케이프 4.51에 내장되었던 옛 인증 기관의 512비트 암호키를 찾아내, 일반 가정용 컴퓨터로 소인수분해하여 비밀키를 완전히 복원해 낸 실험입니다. 작성자는 복원한 비밀키로 웹사이트 인증서를 새로 발급하고 과거 규약에 맞춘 전용 서버를 구축하여 옛 브라우저 환경에서 정상 작동함을 확인했습니다.

오늘날 인터넷 보안 체계는 최소 2048비트 이상의 긴 암호키를 요구하지만, 인터넷 표준 규격이 확립되기 전이었던 1990년대에는 규제와 기준 미비로 취약한 키가 브라우저에 포함되기도 했습니다. 이 실험은 과거 브라우저에 실제로 탑재되었던 512비트 암호 체계가 오늘날 개인용 컴퓨터 한 대로 약 30시간 만에 완전히 해독될 수 있음을 구체적인 연산 결과로 입증합니다.

글쓴이는 인터넷 신원 증명 체계인 웹 PKI 초창기에 사용된 작은 크기의 RSA 암호키를 찾아 해독해 보기로 했습니다. 과거 브라우저 설치 파일들을 분석한 결과, 1999년 3월 출시된 넷스케이프 4.51 버전에 캐나다의 옛 인증 기관 E-Certify가 발급한 512비트 루트 인증서 2종(웹 서버 보안 통신용, 이메일 암호화 규격용)이 탑재되어 있음을 확인했습니다. 같은 해 후반에 이미 512비트 암호키가 연산으로 뚫렸던 점을 고려하면, 당시 기준으로도 매우 취약한 규격이었습니다.

공개키를 소인수분해하여 원래의 두 소수를 찾아내면 암호를 해독하는 열쇠인 비밀키를 복원할 수 있습니다. 글쓴이는 가정용 데스크톱 컴퓨터(AMD 라이젠 9 5950X)에서 공개 소인수분해 연산 도구인 CADO-NFS를 실행했습니다. 그 결과 웹 서버 보안 통신용 인증서의 공개키는 약 32시간 만에, 이메일 암호화 규격용 인증서의 공개키는 약 29시간 만에 두 소수로 분해되어 비밀키가 모두 완전히 복원되었습니다.

이렇게 복원한 비밀키로 새 인증서를 발급해 시험하려면 인증서 유효기간 만료 전인 2003년 10월 16일 이전으로 시계를 되돌린 넷스케이프 4.51 환경이 필요했습니다. 또한 당시의 옛 통신 규약은 최신 규약과 전혀 호환되지 않아, 구형 규약 전용 웹 서버 프로그램을 직접 제작해 사이트를 열었습니다. 시계를 과거로 맞춘 넷스케이프 4.51 브라우저로 해당 사이트에 접속하자 보안 경고 없이 유효한 인증서로 정상 인식되었습니다.

복원 대상이 된 인증서는 2002년에 넷스케이프에서 제거되었고 2003년 10월 16일에 유효기간이 끝났으며, 현대 브라우저는 당시의 옛 통신 규격을 지원하지 않으므로 현재 일반 이용자에게 미치는 보안 위협은 없습니다. 다만 이 실험은 연산 기술의 발전에 따라 과거의 암호 체계가 개인용 컴퓨터 수준에서도 쉽게 무력화될 수 있음을 보여주며, 안전한 인터넷 환경을 유지하기 위해 암호키 길이를 정기적으로 늘리고 표준을 엄격히 관리해야 하는 이유를 잘 보여줍니다.