id: Гость   вход   регистрация
текущее время 08:39 19/04/2024
Автор темы: Гость, тема открыта 26/12/2012 21:02 Печать
Категории: криптография, случайные числа, хард
создать
просмотр
ссылки

Аппаратные ГСЧ в ЦПУ от Intel


Судя по white papers (веб и filepdf, 457Kb) в 3-ем поколении ЦПУ i5 и i7 реализованы аппаратные ГСЧ/ГПСЧ соответствующие криптографическим критериям, расширенно множество инструкций – Intel Secure Key(codenamed Bull Mountain).
Так же приведен пример про простоту и легкость прикручивания их к OpenSSL с последующими кое-какими тестами производительности.
Есть уже у кого-нибудь опыт практического использования?


 
На страницу: 1, 2, 3, 4 След.
Комментарии
— Гость (23/05/2013 05:44)   <#>

Так киньте ссылку на статьи, где это обсуждается, а мы почитаем, спасибо скажем.
— Гость (23/05/2013 05:52)   <#>
P.S. И при чём тут период? В варианте с шифрованным счётчиком он тоже не обязан быть. Такое впечатление, что некоторые рассуждают так: нет периода ⇒ ГСЧ безопасен. Другие идут ещё дальше: нет периода в генерации гаммы для одноразового блокнота ⇒ шифр безопасен. У последовательности, не имеющей периода, всё равно могут быть легко детектируемые отклонения от случайного распределения, здесь же пытались придумать такую закладку, чтобы она была незаметной по статистике (а наличие периода — это совсем провал и предельный случай).
— unknown (10/12/2013 10:23)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
FreeBSD abandoning hardware randomness.

Вроде бы, решение команды FreeBSD не соответствует тому, что описано в статье по ссылке. Они просто решили не подавать выход с аппаратных генераторов энтропии напрямую в /dev/random, а прокручивать через сборщик системной энтропии в качестве одного из источников. Опять же, Линус Торвальдс принял такое же решение, для Linux соответственно.
— Гость (10/12/2013 11:17)   <#>

А что, раньше они так делали?! Хардварный пул не смешивался с той энтропией, что набирается софтварно? В Linux вроде всегда смешивалась.

«Hardware randomness» — не очень удачный термин, думаю. Есть ли чисто программная рандомность? BBS какой-нибудь если только? Остальное всё равно сводится к чему-то хардварному, просто в «TRNG» случайность черпается с самого нижнего уровня, а в программных RNG та же случайность собирается из её влияния на программные вещи более высокого уровня.
— unknown (10/12/2013 11:56, исправлен 10/12/2013 11:59)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Возможно, в BSD так и не делали, но просто собирались рассмотреть такой вариант.


Торвальдс жаловался, что инженеры Intel предлагали ему замещать энтропию в пуле при определении их ГСЧ, а не подмешивать в качестве одного из входов.


В принципе, если отбросить вероятность злого умысла, в этом есть и рациональное зерно: на примере HAVEGE, если снимать с него энтропию напрямую, то скорость будет 200 MB/s; если собирать её и пропускать через /dev/random и снимать уже оттуда (как делает демон haveged), то скорость на этой же системе будет 4 MB/s. Вопрос об оценках качества этой энтропии пока не рассматриваем, но то, что /dev/random сильно тормозной за счёт постобработки — очевидно.


Если бы HW-TRNG можно было считать идеальным и доверяемым, то постобработка ему была бы не нужна — она и так в него встроена, вместе с тестами и проверками на сбои. А внешняя софтварная постобаботка, реализованная в /dev/random, сильно тормозит его работу (почти на два порядка).

— Гость (10/12/2013 12:04)   <#>
Нельзя доверять одному источнику энтропии, каким бы он ни был. Просто нужно придумать быструю и программную постобработку.
— unknown (10/12/2013 12:40)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Совершенно верно.

Но, помимо всех своих прочих недостатков, существующие реализации /dev/random не были рассчитаны на сбор больших количеств энтропии с быстрых источников, поэтому скорость работы на такой случай в них никак не была оптимизирована.
— Гость (10/12/2013 13:37)   <#>

/comment70439


Вспомнилось, что разработчики QRNG на это тоже жаловались (на скорость /dev/random):

у них такая возможность не поддерживается из-за того, что есть какое-то узкое место, не позволяющее увеличить скорость на одного клиента (то ли системная программная фича, то ли хардварные особенности, так до конца и не понял).
— SATtva (10/12/2013 14:12)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
А жёлтая пресса уже пишет: "В FreeBSD 10 аппаратные ГСЧ RDRAND и Padlock использоваться не будут".
— Гость (12/12/2013 06:52)   <#>
Да, заголовок откровенно жёлтый, хотя внутри всё же правильно расписано:

Мы намерены использовать их в генераторе псевдослучайных чисел Yarrow, вместо того, чтобы направлять сгенерированные ими числа непосредственно в /dev/random.
— Гость (27/12/2013 05:06)   <#>
В новостях и рассылке недавно было, но тут прошло незамеченым:

Tor 0.2.4.20 is out

The first update to the new stable branch of Tor has been released on December 23rd. It fixes an issue that would create more preemptive circuits than actually need, and a security issue related to poor random number generation.

The latter affects “users who
  1. use OpenSSL 1.0.0 or later
  2. set ‘HardwareAccel 1’ in their torrc file
  3. have ‘Sandy Bridge’ or ‘Ivy Bridge’ Intel processors, and
  4. have no state file in their DataDirectory (as would happen on first start).
Users who generated relay or hidden service identity keys in such a situation should discard them and generate new ones.

Всё настолько серьёзно? Непонятно, это касается всех, у кого выполнен хотя бы один из перечисленных пунктов, или требуется выполнение всех из них вместе? Звучит так, как будто у всех с означенными Intel-процессорами можно постфактум расшифровать трафик из-за слабого RNG.

Do not allow OpenSSL engines to replace the PRNG, even when HardwareAccel is set. The only default builtin PRNG engine uses the Intel RDRAND instruction to replace the entire PRNG, and ignores all attempts to seed it with more entropy. That's cryptographically stupid: the right response to a new alleged entropy source is never to discard all previously used entropy sources.

OpenSSL целиком полагался на интеловский RDRAND и блокировал подмешивание свежей энтропии? Tor целиком черпал энтропию только из одного АНБ-источника под названием «Intel ГСЧ»?!

В последних downloads стоит версия 3.5 для TBB, в ней в Docs/ChangeLog.txt написано, что

Tor Browser Bundle 3.5 — Dec 17 2013
  • All Platforms
    • Update Tor to 0.2.4.19

Это что получается, текущая версия stable-связки не имеет защиты от вышеуказанной дыры с RNG?
— SATtva (27/12/2013 08:46)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Непонятно, это касается всех, у кого выполнен хотя бы один из перечисленных пунктов, или требуется выполнение всех из них вместе?

Второе.

OpenSSL целиком полагался на интеловский RDRAND и блокировал подмешивание свежей энтропии?

Могу ошибаться, но проблема вроде бы не в OpenSSL, а конкретно в Tor и в том, как он использовал RDRAND при его наличии.
— Гость (27/12/2013 09:09)   <#>

Опция

set ‘HardwareAccel 1’ in their torrc file

вроде бы не включена в стандартном TBB по умолчанию, поэтому, получается, всех, кто сидел на стандартных сборках, это не касается безотносительно выполнения всех остальных условий.
— SATtva (27/12/2013 09:17)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
Для клиентов эта опция бессмысленна, вычислительная нагрузка от криптоопераций по сравнению с релеями у них ничтожна.
— Гость (11/01/2014 01:03)   <#>

Ну, вдруг кто-то держит высоконагруженный HS у себя дома, будучи всего лишь Tor-клиентом. :)
На страницу: 1, 2, 3, 4 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3