Взломаны RSA-ключи удостоверяющего центра из 90-х
I've factored the RSA keys of a Certificate Authority from the 90s

Автор решил проверить, насколько слабыми были первые RSA-ключи в веб-PKI. Он извлек корневые сертификаты из архивов Netscape и Internet Explorer, нашел 512-битные ключи канадского удостоверяющего центра E-Certify, доверенные для SSL в Netscape 4.51 (1999). С помощью CADO-NFS на обычном десктопе он разложил ключи за 32 и 29 часов, восстановил приватные ключи и даже поднял сайт, который открывается только в Netscape 4.51 с часами, установленными до 2003 года.
Это описывает ноль людей на планете… кроме этой VM, которую я настроил.
- hnmullany
Я был продакт-менеджером, отвечавшим за корневые сертификаты в браузере Netscape 4.51. Безумие видеть, как кто-то факторизует его 25 лет спустя.
Просто отвечу некоторым людям в комментариях. Да, мы знали, что криптография экспортного класса была слабой — в этом и был смысл — чтобы АНБ могло ее расшифровать — и правительство требовало от нас делать это в любом случае.
Кстати — у нас была цель расширить список корневых центров сертификации в релизе 4.5x — и это, возможно, был первый релиз, который монетизировал слоты для корневых сертификатов, потому что Netscape испытывал сильное давление, чтобы генерировать доход.
(Также — Verisign ненавидел, что мы расширяли конкуренцию, и пытался убедить нас внедрить программу, которая снова ограничила бы список набором «ответственных» компаний, то есть Verisign и еще одной-двумя. Мы отказались.)
- 63
Немного обидно, что так много интересных деталей оставили ИИ. Я бы с удовольствием послушал комментарии о том, почему была необходима собственная реализация TLS. Ну да ладно.
Обновление: нашел объяснение в комментарии в начале (на удивление короткого) Go-файла в связанном репозитории:
Целевой клиент — Netscape Communicator 4.51 (и 40-битная экспортная сборка, и 128-битная американская сборка) с часами, установленными на 2000 год.
crypto/tls в Go не может помочь: он отказался от SSLv3 в Go 1.14, никогда не принимал совместимый с SSLv2 ClientHello, который отправляет Netscape 4, и никогда не имел RC4-MD5 или 40-битных экспортных наборов шифров. Так что этот файл несет в себе собственную крошечную серверную реализацию SSLv3 поверх примитивов стандартной библиотеки (RSA PKCS#1 v1.5, RC4, DES, 3DES, MD5, SHA-1). Серверный ключ — 512-битный RSA, чтобы экспортные клиенты могли шифровать предварительный секрет напрямую, без ServerKeyExchange.
- alexpotato
Я владел сервисом «брокерский FTP» в хедж-фонде.
В 2021 году был проект по связи с банками и брокерами, с которыми мы работали, с просьбой обновить их ключи и шифры до современных версий.
Насколько я помню, самый старый ключ/шифр был конца 2000-х, так что меня не удивит, если кто-то где-то использует RSA-ключи из 90-х.
Подробнее о том, как хедж-фонды используют FTP, можно прочитать здесь:
https://x.com/alexpotato/status/1809579426687983657?s=20
Или послушать, как patio11 и я говорим об этих системах в целом здесь:
https://www.complexsystemspodcast.com/episodes/two-banks-can...
- goalieca
По сути, 2 дня на потребительском GPU, чтобы взломать 512-битный сертификат. Дело в том, что большая часть трафика тогда не использовала эфемерные ключи. Большая его часть вообще не была зашифрована! Но примерно через десятилетие стало нормой шифровать всё. Мне интересно, какие правительства по всему миру просто ждут, чтобы взломать анонимные политические высказывания, записывая и сохраняя их на будущее, когда расшифровка станет возможной.
- teiferer
> У меня нет веской причины делать это, но это кажется забавным.
Какая причина может быть лучше, чем то, что это весело?
- pvillano
Этот отчет SSL с четырьмя разными автоматическими оценками «F» — потрясающая развязка.
- gadders
Интересно, можно ли сейчас взломать старые слабые неамериканские ключи Lotus Notes, и есть ли где-нибудь старые .nsf-файлы, которые можно было бы расшифровать.
- tunahanfaruksav
Отличная статья. Тот факт, что CADO-NFS до сих пор занимает 32 часа на 5950X для 512-битного ключа, который по сегодняшним академическим меркам тривиален, действительно наглядно показывает, насколько комично малыми они были даже для 1999 года — RSA-155 пал в том же году. И еще мне нравится, что проверка на реальном Netscape 4.51 оказалась сложнее, чем сама факторизация.