[devel] rngd vs haveged vs crng (khwrngd)

Paul Wolneykien manowar на altlinux.org
Вт Сен 3 11:49:20 MSK 2019


03.09.2019 08:58, Alexey V. Vissarionov пишет:
>> Если это так, то мне стало интересно, почему это сделано так
>  > сложно, что изначально содержит в себе потенциальную возможность
>  > race и deadlock?
> 
> Строго наоборот: очень долгое время (много лет) проблемы просто не
> возникали, так как ядро успевало

  Вот это ненадёжное слово — "успевало"! Оно мне страшно не нравится.

> набрать энтропию всеми четырьмя
> возможными способами - add_device_randomness(), add_disk_randomness(),
> add_input_randomness() и add_interrupt_randomness(). Сейчас компутеры
> стали производительнее и загружаются быстрее, да еще и люди мешают:
> источники энтропии инициализируют поздно, а данные из ГСЧ хотят рано.
> 
>  > По описываемым симптомам, проблема явно в том, что PID 1 стартует
>  > раньше, чем заполнен пул энтропии (необходимым и достаточным её
>  > количеством). Но поскольку за запуск PID 1 и за энтропию отвечает
>  > одно и то же ядро, то непонятно, почему нельзя сначала накопить
>  > энтропию (послушать диски, сеть и т.п.), и только потом уже
>  > запустить PID 1?
> 
> Почему нельзя-то? Можно. Но, похоже, никому не нужно.

  Я так подумал, что ведь и сам PID 1 можно модифицировать
соответствующим образом, чтобы он адекватно говорил, чего ему не хватает
и корректно ждал накопления шума.
  Вот тот же GnuPG, когда генерирует ключи, пишет сообщение вида: "Мне
не хватает случайных чисел — будь добр, посовершай какие-нибудь
действия". Мне кажется, что если энтропия действительно нужна при
загрузке, то подобное сообщение тоже должно быть. С той лишь разницей,
что обращено оно должно быть больше не к пользователю, а к
администратору и содержать в себе вероятные рецепты увеличения энтропии.
Вроде: подключите компьютер к локальной сети, подключите аппаратный
генератор СЧ и т.п.


Подробная информация о списке рассылки Devel