3

Итак, я пытался создать новый ключ GPG и продолжаю получать эту известную ошибку:

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 294 more bytes)

Итак, после 20 минут движений мыши, которые даже не привели к обнадеживающим +++++ s в нижней части терминала, я попробовал то, что, похоже, решило проблему для других: я установил rng-tools и запустил:

rngd -r /dev/random

Но это тоже ничего не дало. Без изменений вообще. Когда я бегу:

cat /proc/sys/kernel/random/entropy_avail

Я никогда не получаю вывод выше 60 или около того.

Таким образом, не говоря уже о насущных проблемах, т. Е. О невозможности генерировать новый ключ GPG, - почему моя машина так быстро поглощает энтропию? Кажется, что должна существовать основная проблема, которую следует решить.

1 ответ1

1

Чтобы получить немного больше энтропии, проверьте мой ответ на Server Fault для Generate entropy for PGP key.

Резюме этого ответа:

  • генерировать сетевые и дисковые операции ввода-вывода;
  • используйте hasged (но будьте осторожны, когда в среде VM, смотрите ссылку).

Что касается использования вами rngd, оно не будет "работать". Программа rngd - это своего рода сборщик случайных вещей, который после некоторого смещения и отбеливания будет использоваться для подпитки энтропии, которая будет использоваться для генерации случайного числа с использованием PRNG. Таким образом, rngd - это один сборщик, который предоставляет "входы" для PRNG в Linux. Когда вы используете /dev/random , Linux оценивает пул энтропии и, если решит, что он достаточно хорош, он будет использовать его для генерации нового случайного числа для /dev/random . Посмотрите эту техническую статью о случайных числах в LWN, см. Главу "Рекомендации администратора" .

Обычно при вызове /dev/random или gpg вы используете (и "истощаете") один и тот же пул энтропии. Так что это не поможет / работает. Используйте аппаратный RNG в качестве источника для rngd или любого другого источника, такого как веб-камера, микрофон и т.д., Но вам понадобятся соответствующие драйверы, чтобы связать их с rngd. И это зависит от того, используете ли вы виртуальную машину и какой дистрибутив вы используете.

Примечание: если вы работаете с голым железом (не в гостевой виртуальной машине), вы можете использовать TPM для аппаратного RNG. TPM не рекомендуется, если ваш злейший враг - АНБ ;-), читайте онлайн о TPM. Но если вы хотите использовать его, вот способ связать TPM с rngd (отказ от ответственности, я написал эту статью): http://www.berthon.eu/2015/using-tpm-as-a-source-of-randomness -энтропия/

И проверьте эту PDF-презентацию для информации, где используется энтропия :-) https://www.blackhat.com/docs/us-15/materials/us-15-Potter-Understanding-And-Managing-Entropy-Usage.pdf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .