[devel] rngd vs haveged vs crng (khwrngd)
Alexey V. Vissarionov
gremlin на altlinux.org
Вт Сен 3 12:54:06 MSK 2019
On 2019-09-03 11:49:20 +0300, Paul Wolneykien wrote:
>>> Если это так, то мне стало интересно, почему это сделано
>>> так сложно, что изначально содержит в себе потенциальную
>>> возможность race и deadlock?
>> Строго наоборот: очень долгое время (много лет) проблемы
>> просто не возникали, так как ядро успевало
> Вот это ненадёжное слово — "успевало"! Оно мне страшно не
> нравится.
Наполнение пула энтропии джля ГСЧ - вопрос времени. Если нет
специализированного оборудования (вроде моего клона ChaosKey),
для нормальной инициализации хватает примерно 10 секунд при
условии, что ядро начинает накачку энтропии за 5 секунд до
запуска /sbin/init (с аппаратным ГСЧ - 200...300 миллисекунд).
А у нас пул энтропии начинает наполняться уже _после_ запуска
/sbin/init - но всем пофигу.
>> набрать энтропию всеми четырьмя возможными способами
Очень прошу по возможности избегать фигурной нарезки цитат -
это искажает их смысл. Или хотя бы явно обозначать это.
>>> По описываемым симптомам, проблема явно в том, что PID 1
>>> стартует раньше, чем заполнен пул энтропии [...]
>>> Но поскольку за запуск PID 1 и за энтропию отвечает одно и
>>> то же ядро, то непонятно, почему нельзя сначала накопить
>>> энтропию (послушать диски, сеть и т.п.), и только потом уже
>>> запустить PID 1?
>> Почему нельзя-то? Можно. Но, похоже, никому не нужно.
> Я так подумал, что ведь и сам PID 1 можно модифицировать
> соответствующим образом, чтобы он адекватно говорил, чего
> ему не хватает и корректно ждал накопления шума.
Можно. Более того, можно смонтировать /proc и ждать появления в
/proc/sys/kernel/random/entropy_avail четырехзначного числа:
% egrep '[0-9]{4}' /proc/sys/kernel/random/entropy_avail
3749
> Вот тот же GnuPG, когда генерирует ключи, пишет сообщение
> вида: "Мне не хватает случайных чисел — будь добр, посовершай
> какие-нибудь действия".
Генерация ключевой пары - дело ответственное, и блокировка до
получения качественных случайных битов здесь не только допустима,
но и полностью оправдана.
> Мне кажется, что если энтропия действительно нужна при загрузке,
> то подобное сообщение тоже должно быть. С той лишь разницей, что
> обращено оно должно быть больше не к пользователю, а к
> администратору и содержать в себе вероятные рецепты увеличения
> энтропии. Вроде: подключите компьютер к локальной сети,
> подключите аппаратный генератор СЧ и т.п.
Пользователь от такой заявки вообще припухнет мрачно, а 95% админов
(http://lurkmore.to/95) снесут нахрен всю систему по причине "лучше
%s поставлю, там такой ботвы нет и все работает".
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
Подробная информация о списке рассылки Devel