В настоящее время я тестирую gpg --genkey
на Linux VM. К сожалению, это программное обеспечение, похоже, полагается на /dev/random
сбор энтропии и вежливо просит пользователя вручную вводить экраны после экранов криптографически случайного ввода, так что в конечном итоге оно может закончиться генерацией ключа, и я не нашел параметров командной строки, чтобы сообщить это использовать другой файл в качестве источника энтропии (парень на этом видео сталкивается с той же самой проблемой ...).
Тем не менее, пользователь должен быть свободен в выборе, /dev/urandom
так как в этом нет ничего плохого . Это в основном как воспоминание о старых алгоритмах PRNG, которые были более слабыми с криптографической точки зрения. Например, хотя на странице руководства NetBSD это различие может быть полезным на очень ранней стадии загрузки, оно описывает такое различие, как «фольклор» и «мнимая теория, которая защищает только от фантазийных моделей угроз» . Никто не согласен ни с количеством энтропии, требуемой этой командой, ни с тем фактом, что энтропия - это то, что фактически потребляется, как указано в man-странице GPG («ПОЖАЛУЙСТА, не используйте эту команду, если вы не знаете, что делаете, она может удалить драгоценную энтропию из системы!» ).
Я читал о людях, устанавливающих rngd
демон и настраивающих его для использования в /dev/urandom
качестве источника энтропии для подачи /dev/random
, но я нахожу такую практику сильно грязной.
Я попытался обойти проблему FreeBSD, удалив /dev/random
и связав ее с /dev/urandom
:
rm /dev/random
ln -s /dev/urandom /dev/random
Я вижу это как параметр, говорящий «Я верю /dev/urandom
как источник энтропии» .
Я боялся, что столкнусь с какой-нибудь ошибкой, но, похоже, это дает ожидаемый результат, поскольку команда теперь успешно возвращается немедленно.
Мой вопрос: есть ли какой-либо известный, практический и неправильный побочный эффект соединения /dev/random
с /dev/urandom
системами Linux, как это делается по умолчанию в системах FreeBSD? Или можно предусмотреть постоянную установку (например, в сценарии в конце процесса загрузки) в случае повторяющихся проблем, связанных с /dev/random
блокировкой какого-либо сервиса?
В Linux
/dev/random
выдает качественные случайные биты. Они получены из источников, которые не являются предсказуемыми и не повторяемыми, внешними по отношению к машине. Напротив,/dev/urandom
используются те же случайные данные, что и/dev/random
(если они есть), если их нет, используется генератор псевдослучайных чисел, который является детерминированным . Для большинства целей это достаточно непредсказуемо, но не для очень требовательных приложений, таких как криптография, и намного меньше для создания долговечных ключей, таких как для GPG.источник
/dev/urandom
отлично подходит для криптографии ./dev/urandom
, у вас нет причин доверять GPG.urandom
против»random
, подтверждаете ли вы, что замена/dev/random
файла ссылкой не должна иметь другого побочного эффекта и являлась бы жизнеспособной альтернативой упомянутомуrngd
мною трюку?