From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=5.0 tests=ALL_TRUSTED,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,RP_MATCHES_RCVD autolearn=unavailable autolearn_force=no version=3.4.1 Date: Tue, 3 Sep 2019 12:54:06 +0300 From: "Alexey V. Vissarionov" To: ALT Linux Team development discussions Message-ID: <20190903095406.GS12903@altlinux.org> References: <975ac233-dc84-d9eb-1d24-975ee807c075@basealt.ru> <20190831123520.GD12903@altlinux.org> <936a2336-e8c6-8274-37cf-a8059ee9bf44@gmail.com> <20190831154243.GE12903@altlinux.org> <7e2bba2a-867f-b8a0-6e27-1a07521e13fb@gmail.com> <77efad51-4876-fa68-f8e5-291a3bb5a058@altlinux.org> <20190903055855.GP12903@altlinux.org> <1411aaec-d4c4-7264-a916-bcb1acbc4aa1@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1411aaec-d4c4-7264-a916-bcb1acbc4aa1@altlinux.org> Subject: Re: [devel] rngd vs haveged vs crng (khwrngd) X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Sep 2019 09:54:11 -0000 Archived-At: List-Archive: List-Post: 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