LINUX.ORG.RU
решено ФорумTalks

Где взять энтропию для /dev/random и как её протестировать?

 , , , ,


2

4

Наличие качественной энтропии крайне необходимо для ОС и критически влияет непосредственно на её безопасность, при использовании техник «случайное выравнивание адресного пространства» (ASLR)! Очень много случайных чисел также необходимо для криптографических операций: шифрования трафика, создания ключей и прочего.

Откуда брать случайные числа:

В системе одновременно можно запускать сразу несколько сервисов для создания энтропии.

Для безопасной работы необходимо >200бит/с энтропии!

$ cat /dev/random
$ reset

Если не секрет, откуда берёте энтропию Вы?

Ответ на: комментарий от ossa

Биологические RNG, которые заставляют пользователя стучать по клаве, дёргать мышкой и производить прочие действия не рассматриваем.

multihead ()

А мы вообще за детерминизм!

tiinn ★★★★ ()

Продам немного энтропии - не дорого.

BigAlex ★★★ ()

Существуют специальные генераторы на основе радиоактивных материалов.

Но мне кажется, достаточно простого усиленного теплового белого шума, пропущенного через отбеливающий фильтр для устранения неслучайных помех.

Deleted ()

дефолт, но иногда пользовался audio-entropyd, обнаружилось, что он эксклюзивно захватывает ALSA-устройства и после этого некоторые приложения не могут в звук

Harald ★★★★★ ()
Ответ на: комментарий от Harald

video_entropyd мне кажется способен дать достаточно качественной энтропии. Веб камерой в это время не попользуешься.

audio-entropyd надо указать устройство микрофона, вывод звука должен работать.

multihead ()

Где-то встречал инфу, что в компах/в процах т.н. HWRNG реализован банальным free-running осциллятором, а-ля мультивибратор на двух транзюках. У таких схем без дополнительных ухищрений частота и скважность гуляет вообще от всего, вплоть до погоды на Марсе. :)

yu-boot ★★ ()
Ответ на: комментарий от Deleted

Но мне кажется, достаточно простого усиленного теплового белого шума, пропущенного через отбеливающий фильтр для устранения неслучайных помех.

audio-entropyd тоже фильтрует случайные и не случайные помехи.

Проблема где взять качественную энтропию дома, желательно без покупных девайсов.

Аппаратных, не радиоактивных куча, в ввиде PCI-E платы или USB, десятки-сотни Мбит/с дают:

http://qrbg.irb.hr/

http://random.com.hr/products/hg400/

http://www.protego.se/

http://www.idquantique.com/index.php?option=com_content&view=article&...

multihead ()

Не знаю откуда берёт «энтропию» мой ПК, но я так думаю что для настольного ПК можно генерировать псевдослучайные числа основанные на передвижении мыши.

rezedent12 ☆☆☆ ()
Ответ на: комментарий от multihead

Проблема где взять качественную энтропию дома, желательно без покупных девайсов.

А чем тогда вам тот же audio-entropyd не угодил? И вообще, для домашних нужд обычных источников хватает.

Проблема - это когда встраиваемое устройство не имеет таковых источников вовсе (хотя бы на первоначальном этапе работы), а криптография нужна.

Deleted ()
Ответ на: комментарий от Deleted

А чем тогда вам тот же audio-entropyd не угодил? И вообще, для домашних нужд обычных источников хватает.

а вдруг агенты NSA из соседнего здания будут направленно транслировать в ваш микрофон специальные звуки и портить энтропию?

Harald ★★★★★ ()
Ответ на: комментарий от Harald

Есть тесты для проверки.

Можно использовать несколько источников энтропии одновременно, смешивая их в /dev/random

multihead ()
Ответ на: комментарий от multihead

)))) здесь не очень любят гиктаймс...
RS232 устройство 3-в-1 для домашнего Linux сервера: Часть 1 (Аппаратная)

Серверы, собранные из специально не предназначенных для этого комплектующих, обычно имеют два недостатка. У них отсутствует аппаратный сторожевой таймер и часто не хватает энтропии для ряда сервисов. Нехватка энтропии особенно актуальна для не сильно нагруженных серверов. Это связанно с тем, что ядро Linux в качестве источника энтропии использует активность системы, а именно: сетевого оборудования, дисковой подсистемы и аппаратных прерываний.

Также в домашнем сервере часто возникает необходимость иметь более экономный, по сравнению с Wi-Fi, радиомодуль для коммуникации с автономными датчиками.

Существует большой выбор устройств, с помощью которых можно решить любую из этих проблем, но подключение каждого из них требует отдельный порт. Оценив ситуацию, в итоге решил разработать устройство 3-в-1 подключаемое в RS232 (COM) порт. Остальные требования получились следующими:

Аппаратный сторожевой таймер, пригодный для работы со стандартным демоном watchdog;

Генератор истинных случайных чисел на базе эффекта обратного лавинного пробоя p-n перехода;

Радиомодуль nRF24L01+ для сбора данных с автономных датчиков.

targitaj ★★★★★ ()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от Deleted

А чем тогда вам тот же audio-entropyd не угодил?

Он мне не не нравится, video-entropyd намного качественнее и больше энтропии даёт. Я тишину люблю.

И вообще, для домашних нужд обычных источников хватает.

Для нужд PAX ASLR и https не хватит если нет в системе аппаратного RNG.

Проблема - это когда встраиваемое устройство не имеет таковых источников вовсе (хотя бы на первоначальном этапе работы), а криптография нужна.

CONFIG_PAX_LATENT_ENTROPY = y

и

pax_extra_latent_entropy параметр при загрузки ядра.

multihead ()
Ответ на: комментарий от buddhist

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

Видео, намного более привлекательно, поставил камеру на окошко, ветер листву на тополях качает, энтропия создаётся в больших объёмах.

multihead ()
Ответ на: комментарий от Harald

а вдруг агенты NSA из соседнего здания будут направленно транслировать в ваш микрофон специальные звуки и портить энтропию?

В соседней квартире жила бабка, так ее агенты КГБ лучами облучали.

Мы говорим о доме или о секретном ядерном бункере?

Deleted ()

Если не секрет, откуда берёте энтропию Вы?

«Шуршащий» диод + АЦП — «хватит всем» ардуинам, RPi, ... :)

quickquest ★★★★★ ()
Ответ на: комментарий от multihead

Я тишину люблю.

В любой тишине есть шум. Даже если вместо микрофона подключить резистор.

CONFIG_PAX_LATENT_ENTROPY

А это еще что? В Линуксе такого нет.

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

вот в дом-то как раз проще звуки транслировать, чем в секретный ядерный бункер :D

Harald ★★★★★ ()
Ответ на: комментарий от multihead

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

агенты NSA в кустах могут записывать тот же шум, что слышит твой микрофон с audioentropyd и генерировать похожие последовательности энтропии, +- не очень много вариантов перебора

Harald ★★★★★ ()

Тут большая часть людей разницу между /dev/random и /dev/urandom не знают, а ты про энтропию.

ChALkeR ★★★★★ ()

Ты знаешь, кстати? Вопрос на засыпку — в чём отличие /dev/random и /dev/urandom, и из какого из них надо брать случайные данные для криптографических целей?

ChALkeR ★★★★★ ()
Последнее исправление: ChALkeR (всего исправлений: 1)
Ответ на: комментарий от Deleted

В любой тишине есть шум. Даже если вместо микрофона подключить резистор.

В моей тишине, мой микрофон с audio_entropyd создавал энтропию которая не проходила тесты...

А это еще что? В Линуксе такого нет.

Видать АНБ не пропускает патч. )

CONFIG_PAX_LATENT_ENTROPY = y

multihead ()
Ответ на: комментарий от michwill

Получаю квантовый шум с веб-камеры

Какой прогой снимаешь?

video_entropyd ?

multihead ()
Ответ на: комментарий от ChALkeR

/dev/random TRNG

/dev/urandom PRNG

Для криптографии и безопасности только /dev/random !!

/dev/urandom можно использовать для целей затирания диска: dd if=/dev/urandom of=/dev/sda bs=1M

В топике речь только о /dev/random

multihead ()
Ответ на: комментарий от Deathstalker

У меня в системе энтропии мало. Стандартная в стандартном случае не проходит тесты.

Добавление: clrng, timer_entropyd, CONFIG_PAX_LATENT_ENTROPY в стандартном случае тоже не проходит тестов!!!

И только если нагрузить систему чем-то, например emerge -uDN world запустить, то энтропия с системных таймеров и IRQ будет достаточно хорошей.

Хочу попробовать к ним энтропию с разных алгоритмов на GPU c OpenCL подмешивать..

video_entropyd - дает сразу хорошею энтропию!

audio_entropyd - в тишине не проходит тестов.

multihead ()
Ответ на: комментарий от multihead

Факт в том, что ты совсем не понимаешь, как работает /dev/(u)random, и как работает энтропия в нём. Начни с основ.

Подсказка 1: это один и тот же CS PRNG.

Подсказка 2: использовать /dev/urandom для криптографии — абсолютно нормально.

Подсказка 3: 512 бит энтропии достаточно, чтобы снабдить тебя случайными данными для всего, чего тебе нужно, очень-очень надолго.

ChALkeR ★★★★★ ()
Последнее исправление: ChALkeR (всего исправлений: 2)

Для безопасной работы необходимо >200бит/с энтропии!

Серьезно? Как ты сумел это вычислить?

Manhunt ★★★★★ ()
Ответ на: комментарий от ChALkeR

Мы с тобой разным людям доверяем и разные методички читаем. Убеждать тебя не собираюсь.

Здесь речь идёт о КРИПТОГРАФИЧЕСКИ БЕЗОПАСНОМ генераторе случайных чисел. В теории /dev/random должен иметь TRNG и абсолютно не завязываться на любые компьютерные PRNG. Практично у меня /dev/random стандартный с ядра Linux + clrng + timer_entropyd + CONFIG_PAX_LATENT_ENTROPY — при отсутствии нагрузки на компьютер не проходят тестов, иногда даже самых простых рекомендованных АНБ!

Ситуацию справляет вебкамера с video_entropyd.

Если ты понимаешь что такое TRNG, можешь поделится как его добыть в быту.

Убеждать меня в годности PRNG для криптографии не стоит, это напрасная трата времени.

multihead ()
Ответ на: комментарий от x0r

можно попробывать архивнуть cat /dev/sda в /dev/null bzip-ом.

Согласен, это снабдит систему ПСЕВДОЭНТРОПИЕЙ с системных таймеров. Выше писал, что при нагрузках (например компиляции миров) энтропии с системных таймеров и прерываний хватает и она даже начинает проходить тесты.

Твой метод очень-очень дорог, в плане потребляемого электричества, системных ресурсов.

Надо дешевые методы дающие TRNG в быту!

multihead ()
Ответ на: комментарий от multihead

Убеждать меня в годности PRNG для криптографии не стоит, это напрасная трата времени.

Тогда, следуя своей логике, выкинь /dev/random вообще, потому что он тоже PRNG. Более того — тот же самый, что и /dev/urandom.

ChALkeR ★★★★★ ()
Последнее исправление: ChALkeR (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.