Получение данных из из /dev/random
или /dev/urandom
, безусловно , не будет помощь, все это будет сделать , это истощает ваш пул энтропии, что делает этот вопрос еще хуже. Основное различие между этими двумя файлами заключается в том, что даже когда ядро исчерпает энтропию, оно urandom
будет генерировать случайные данные меньшего качества, но random
будет блокироваться до тех пор, пока не сможет собрать свежие высококачественные случайные данные. PGP требует максимально возможных случайных данных для генерации безопасных ключей, поэтому он всегда будет использовать /dev/random
.
Если у вас есть хорошие случайные данные или вы экспортируете их с другого сервера /dev/random
, вы можете использовать cat
их на своем сервере, /dev/random
чтобы получить больше энтропии. Вы никогда не должны cat
дважды использовать один и тот же файл /dev/random
.
Если вам часто не хватает энтропии, вы можете также рассмотреть возможность установки чего-то вроде hasged , демона, который генерирует энтропию в фоновом режиме и пополняет/dev/random
при необходимости.
Кроме того, он может быть заманчив симлинками /dev/random
к /dev/urandom
, но это следует рассматривать как угрозу безопасности как любой ключ генерируется с помощью его может быть менее безопасным , чем они должны. Хотя это может помочь для одного менее важного приложения, вы должны рассмотреть любое другое возможное использование /dev/random
, включая других пользователей, создающих свои собственные ключи, CSR и т. Д.
Томас Гайот-Сионнест
источник
/dev/random
это высококачественный PRNG , который обычно не должен блокироваться./dev/random
- это высококачественный PRNG на современных BSD и Linux, конечно. Но он заблокируется, если не будет достаточно энтропии. С другой стороны,/dev/urandom
не будет блокировать, если не достаточно доступных, но качество случайности может пострадать в этом случае. В деталях есть много тонкостей между случайными и случайными реализациями между Linux и различными BSD, но вышеупомянутое должно быть верно для всех AFAIK.ping 8.8.8.8
), если у вас есть другой сетевой хост, пытайтесь пинговать каждые 100 мс (если ваш RTT, конечно, <100 мс). И / или используйтеfind
для поиска файлов на жестком диске и очистки кэш-памяти RAM между каждым поиском файлов./dev/random
не блокируется во FreeBSD.dd if=/dev/random of=/tmp/rndtest bs=64M count=1
после новой загрузки, потребовалось 2 последовательных запуска, чтобы увидеть время, чтобы сгенерировать увеличение файла до 64 МБ. Я думал, что не буду видеть этот эффект с urandom в качестве входных данных, но FreeBSD, похоже, блокирует и его, в отличие от Linux.Вы можете использовать
haveged
.haveged
это демон, который генерирует энтропию при необходимостиисточник
Я бы порекомендовал генерировать ваши ключи gpg на вашем локальном компьютере, который будет иметь гораздо лучшую случайность, чем удаленный. А затем перенесите ключи с помощью SSH на удаленный компьютер.
Генерация локально будет быстрее (больше источника энтропии), более безопасной (никто не может шпионить за процессом, если ваша машина не заражена, лучше случайность).
Если вы все еще хотите генерировать их удаленно: в Linux вы можете генерировать больше энтропии, просто пропингуя хост (например
ping 8.8.8.8
), если у вас есть другой сетевой хост, пытайтесь пинговать каждые 100 мс (если ваш RTT <100 мс, конечно). И / или используйтеfind
для поиска файлов на жестком диске и очистки кэш-памяти RAM между каждым поиском файлов.Вы также можете установить,
haveged
но прочитать ограничения, если вы запускаете его в виртуальной среде: https://wiki.archlinux.org/index.php/Haveged#Virtual_machinesисточник
В системах на основе Debian вы можете установить
rng-tools
пакет, используя atp-get, а затем запустить демон для генерации энтропии:На серверах CentOS-6
rng
демон устанавливается как один из базовых инструментов (по крайней мере, на большинстве систем, над которыми я работал), и вы можете запустить следующую команду, чтобы запустить его, чтобы сгенерировать энтропию:источник
определенно работает на CentOS 7.2 VM. Иногда вы хотите создать ключи GPG на виртуальной машине, если вы создаете связку и хотите, чтобы ваш брелок был целым.
источник