Безопасна ли генерация ключей Thunderbird?

Я не могу найти много информации о специфике генерации ключей PGP в Thunderbird. Программное обеспечение довольно старое, и такие вещи, как «Это может занять несколько минут» или что-то в этом роде, хотя это занимает меньше секунды, как бы заставляют меня приподнять бровь.

Хотя программное обеспечение часто обновляется, алгоритм генерации ключей по-прежнему безопасен для него, поскольку не имеет значения, насколько безопасен PGP, если генерация ключей слабая и предсказуемая.

1 ответ
1

Crypto.SE или Security.SE могли бы предоставить гораздо лучший ответ, чем я (я не работаю над криптографией), но:

Что касается конкретных реализаций, если вы используете недавний Thunderbird со встроенной поддержкой OpenPGP (который на самом деле довольно новый), скорее всего, он был написан для использования функции генерации ключей RSA, предоставляемой NSS, библиотекой SSL / TLS, используемой Thunderbird. и Firefox. Другими словами, операция на самом деле не является специфичной для PGP, и приложение должно только поместить уже сгенерированный ключ в правильный конверт – у него нет причин нести какой-то специфичный для PGP код генерации ключей, созданный несколько десятилетий назад.

(Хотя даже если бы это было так, это не значит, что код не менялся десятилетиями, например, сам NSS с его корнями Netscape является буквально одной из старейших библиотек SSL, когда-либо написанных.)

С другой стороны, если я правильно помню, он несёт пользовательский интерфейс код, который раньше был частью аддона Enigmail; они просто интегрировали его в приложение и заменили бэкэнд. Некоторые послания начала 2000-х годов вполне могли остаться.

Но в целом есть несколько причин, почему это быстро:

  1. Алгоритм генерации ключей не похож на алгоритмы хеширования паролей; его сила не зависит на том, что он медленный. Раньше создание ключа RSA было медленным, потому что процессоры мы медленный и поиск простых чисел на самом деле требовал времени. Но как генерация случайных чисел, так и различные тесты на простоту по-прежнему достигают одного и того же результата с одинаковым уровнем безопасности, независимо от того, сколько времени это займет.

    Это не сильно различается между разными программами – вы можете протестировать любой инструмент, который работает с ключами RSA, и они должны дать идентичные результаты. Чтобы использовать в качестве примера слегка избыточный размер ключа, что-то вроде openssl genrsa 8192 (с OpenSSL) или certtool -p --bits=8192 (GnuTLS) действительно занимает больше минуты на ЦП Celeron ~ 2005 года, но только около 8 секунд на Xeon ~ 2012 года.

    (OpenSSL тоже «довольно старый», примерно такой же старый, как NSS, но он используется ежедневно для создания подавляющего большинства сертификатов TLS и их пар ключей в Интернете.)

  2. Генераторы простых случайных чисел действительно стали лучше (с новыми алгоритмами, которые работают быстрее и лучше поняты), но, что более важно, они также более доступны – в прошлом программе приходилось использовать свой собственный ГСЧ и заботиться о сборе энтропии из сомнительных источников (например, “Entropy Gathering Daemon” в Unix или ” покачивайте мышью в течение 10 секунд “то, что PuTTYgen делает и сегодня), в настоящее время каждая ОС сама предоставляет CSPRNG, который приложение может мгновенно вызывать для случайных данных, когда это необходимо.

  3. Теперь у нас есть более распространенные алгоритмы асимметричного ключа, которые вообще не основаны на огромных простых числах – генерация ключа ECDSA, если вы выбрали этот вариант, выполняется совершенно другим способом, чем генерация ключа RSA, и, действительно, предназначается. намного быстрее, чем RSA. (Ключи намного короче при том же уровне безопасности.)

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *