![Генерация энтропии для создания ключей RSA](https://rvso.com/image/1615285/%D0%93%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F%20%D1%8D%D0%BD%D1%82%D1%80%D0%BE%D0%BF%D0%B8%D0%B8%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9%20RSA.png)
Мне было интересно, как сделать свой сервер максимально безопасным. Я использую OpenSSH для подключения к нему, используя ключи RSA. Однако, что-то беспокоит меня в этом методе: для генерации ключей RSA я не генерировал «энтропию».
Вот пример: в Windows для шифрования папки с помощью VeraCrypt пользователю предлагается выполнить действия (движения мыши), чтобы сделать ключи RSA более случайными. Можем ли мы воспроизвести это в openssl или libressl?
Кроме того, я где-то читал, что можно значительно сократить время подбора закрытых ключей RSA, если знать конструкцию процессора (обычно государственного).
решение1
Я где-то читал, что можно значительно сократить время подбора закрытых ключей RSA, если знать конструкцию процессора (обычно государственного).
Важно понять причину: энтропия, которую вы описываете, неприменима к ключам RSA.
В RSA эта асимметрия основана на практической трудности факторизации произведения двух больших простых чисел, «проблеме факторизации».
Источник:RSA (криптосистема)
Так же,
Весь смысл генерации сертификата заключается в создании случайных чисел из вашего файла или генератора случайных чисел в качестве шумового входа в алгоритм для генерации очень больших простых чисел. Хитрость заключается в том, чтобы добраться до этих простых чисел. С пулом энтропии в 4096 бит, постоянно заполненным, как это будет предоставлять haveged(8), способность кого-то повторно сгенерировать те же самые простые числа, даже если у него есть полное знание вашей системы, крайне маловероятна.
Источник:Хороший источник энтропии для генерации ключей OpenSSL
OpenSSL и LibreSSL по умолчанию используют ядро операционной системы в качестве источника энтропии. Неизвестно ни одной уязвимости, кроме попытки взломать ключ RSA значительного и подходящего размера методом перебора.
OpenSSL и LibreSSL сами по себе не поддерживают want you to want. Однако, вы можете использовать что-то вродеГенератор ключей PuTTY, делать то, что хочешь.При использовании OpenSSL для генерации сертификата вам необходимо использовать ключ(и), сгенерированные с помощью соответствующей команды OpenSSL.
Можно ли воспроизвести это в openssl или libressl?
OpenSSL и LibreSSL не поддерживают сбор энтропии движений мыши.