[devel] rngd vs haveged vs crng (khwrngd)
Alexey V. Vissarionov
gremlin на altlinux.org
Сб Авг 31 18:42:43 MSK 2019
On 2019-08-31 17:47:06 +0300, Leonid Krivoshein wrote:
>>> systemd, равно как и ядро, не решают проблему наполнения пула
>>> качественной энтропией на ранней стадии загрузки
>> Что любопытно, ядро эту задачу прекрасно решает. Особенно если
>> его об этом грамотно попросить.
> Если имеется ввиду |rng_core.default_quality=1000| , это тоже
> не совсем доверенный источник,
Нет - я про дисковые и сетевые контроллеры.
Для первых существует специальная функция add_disk_randomness(),
а вторые вызывают срабатывание add_interrupt_randomness() через
handle_irq_event_percpu()
> да и про |CONFIG_RANDOM_TRUST_CPU=y| некоторые скажут, что
> эту хрень не надо никогда использовать.
Использовать ее можно, но при соблюдении двух простых условий:
1. должны быть и другие источники энтропии;
2. к моменту начала использования недоверенного RNG пул должен
быть заполнен данными из других источников. И хорошо бы, чтобы
продолжал хотя бы чучуть пополняться из них.
После этого можно хоть cat /dev/zero > /dev/random запускать - на
качество энтропии это уже не повлияет :-)
>>> остаётся два варианта: использовать дополнительный аппаратный
>>> (доверенный) источник
>> Разве что на компутерах, где живет какой-нибудь CA... для
>> всего остального хватает грамотно собранного ядра (которое
>> накапливает энтропию начиная уже где-то с третьей секунды
>> работы и к запуску init успевает наполнить пул).
> Так в том и проблема, что есть железо, где не успевает.
Полностью детерминированное железо? Где? Хочу!
Продам - стану миллиардером.
> Только о нём спич. И здесь речь о случайных числах для запуска
> самого systemd, который может стартануть и быстрее, чем через
> три секунды.
Он при всем желании не может стартануть раньше, чем ядро скажет
run_init_process("/sbin/init");
А к этому времени пул энтропии уже должен быть хотя бы не пустым.
И достигается это (внезапно!) грамотной настройкой ядра.
>>> ЛИБО ослаблять энтропию программными демонами типа rngd/haveged/etc.
>> А вот эту срань вообще использовать нельзя. Нигде и никогда.
Здесь, насколько я понимаю, возражений нет?
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
Подробная информация о списке рассылки Devel