[devel] [sisyphus] Не переключается в графический режим

Andrey Savchenko bircoph на altlinux.org
Чт Ноя 8 20:06:28 MSK 2018


On Wed, 7 Nov 2018 21:38:20 +0300 Leonid Krivoshein wrote:
> 
> 07.11.2018 16:12, Andrey Savchenko пишет:
> > Вот именно. Нужно понимать, что такое случайные числа, чем они
> > отличаются от псевдослучайных, что такое энтропия данных и как это
> > всё используется в криптографии. Пока что Вы пишете полную чушь,
> > демонстрирующую отсутствие понимания темы обсуждения.
> 
> Андрей, Алексей, Дмитрий, не могу с вами согласиться по некоторым 
> вопросам. Изучив тему более глубоко, могу теперь быть докладчиком на 
> следующей конференции! :) Если серьёзно, в споре рождается ИСТИНА. Почти 
> одновременно с нашей дискуссией родился следующий талмуд от коллеги по 
> FLOSS: https://www.2uo.de/myths-about-urandom -- мнение там 
> высказывается противоположное вашему, даются важные замечания 
> относительно оценки размера энтропийного пула (!!!) и новшеств в этой 
> связи в ядре 4.8, приводятся мнения некоторых криптологов. Тебе, Андрей, 
> будет особо интересно узнать, для чего там используется полиномная 
> математика. ;-)

Вот именно, там *мнение*, а не научная статья или монография
известного эксперта. Я же ссылаю на публикации и книги, прошедшие
рецензирование и проверку временем.

Я прочитал таки мнение по твоей ссылке. В ней очень много громких
фраз и очень мало фактов. Весь первый раздел "вопрос – ответ" не
имеет ссылок на рецензируемые источники.

Впрочем, во многом автор прав, он вполне корректно приводит
упрощённую схему получения выхлопов (u)random. Главная проблема вот
в чём: он игнорирует факт изменения энтропии пула, считая его не
относящимся к делу (и без аргументации этого):

What about entropy running low?
It doesn't matter. 

Единственный недостаток /dev/random в том, что он работает в
блокирующем режиме, а urandom — в неблокирующем. Начиная с 4.17 это
исправили (CVE-2018-1108, ты сам приводил). Теперь urandom тоже
может быть блокирован при нехватке исходной энтропии. По-моему, на
это вы и напоролись.

Рекомендую также ознакомиться вот с этой работой (уже писал):
https://factorable.net/weakkeys12.extended.pdf

Даже в указанной тобой работе автор пишет о необходимости
сохранения пула энтропии при завершении работы и его загрузке при
запуске:

On Linux it isn't too bad, because Linux distributions save some
random numbers when booting up the system (but after they have
gathered some entropy, since the startup script doesn't run
immediately after switching on the machine) into a seed file that
is read next time the machine is booting. So you carry over the
randomness from the last running of the machine. 

А теперь представим, что питание внезапно отключилось. Даже у нас в
офисе это не редкость, а ИБП не у всех. Получится, что при
следующей загрузке будет использоваться старый пул. А это не
безопасно, очень, т.к. произойдёт повторное использование одной и
той же "неповторяемой" последовательности.

Шутки со случайностью плохи и стоят дорого. Недаром АНБ засунуло
бэкдор прямо в RNG: Dual_EC_DRBG:
https://en.wikipedia.org/wiki/Dual_EC_DRBG#Weakness:_a_potential_backdoor

> > Для начала рекомендую почитать Applied Cryptography by Bruce
> > Schneier, разделы:
> > 2.8 Random and Pseudo-Random-Sequence Generation.
> > 17.14 Real Random-Sequence Generators
> 
> Вот не стоило здесь это приводить, оно совершенно "ни о чём", чесслово! 

Шнайер и не о чём? Ты уверен? Это один из лучших криптографов мира,
работающий в открытую. Да, первое издание его "Прикладной
криптографии" вышло ещё в 1996 году (и одна конторка очень бесилась
по этому поводу) и не потеряло своей актуальности.

> Чтобы это понять, придётся прочитать про "мифы" от и до -- там это 
> разбивается в пух и прах.

Прочитал. Не нашёл, где разбивается. Там одни крики и никакой
математики. Из фактов есть только одна ссылка на Бернштейна,
которая выкручивается наоборот.

> К приведённой тобой статье 2012 года было куда больше интересных 
> комментариев относительно "природы истинной случайности", сама статья 
> затрагивала haveged постольку-поскольку. Там же автор активно продвигал 
> rngd -- другой юзерспейсный демон. А наша бурная дискуссия по следам 
> этих дебатов подвела следующие итоги:
> 
> 1. haveged в чём-то аналогичен /dev/urandom, он генерирует 
> "случайность", выполняя функцию аналогичную ядру.

Согласен.

> 2. единственная претензия к haveged и /dev/urandom в том, что на выходе 
> получается больше бит, чем на входе.

Да. И этого достаточно, чтоб ни для чего важного его не
использовать. Если долгосрочная защита не нужна, то можно и urandom
использовать, но она может быть нужна. Мы априори не знаем, что
будет делать пользователь, поэтому подставляться нельзя.

> 3. не надо использовать ни haveged, ни rngd в дистрибутивах Альт, чтобы 
> не подрывать себе репутацию.

Да.

> 4. надо находить и устранять причины раннего опустошения энтропии, 
> приводящие к блокировкам.

Думаю, дело не в раннем опустошении, а в раннем ненаполнении. На
бездисковых тонких клиентах это очень даже возможно.

> 5. желательно всем обзавестись такими энтропийными ключиками, как у 
> Алексея! :)

И да, и нет. То, что у Алексея ключик аппаратный — это хорошо, но,
как я помню, там нет равномеризации выборки и не гарантируется
несмещённость. А если третий момент распределения будет сильно
отличен от нуля, то это тоже значимая уязвимость, поскольку делает
возможным корреляционный анализ данных, особенно на большой выборке.

Best regards,
Andrew Savchenko
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20181108/90e26900/attachment-0001.bin>


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