LINUX.ORG.RU
ФорумTalks

Торвальдс заодно с АНБ

 , ,


2

0

Линус Торвальдс известен резкими высказываниями. Очередными несчастными, кто попал под раздачу, стал Кайл Кондон (Kyle Condon), который организовал сбор подписей за то, чтобы убрать инструкцию RDRAND из /dev/random для повышения общей безопасности ядра.

Генератор псевдослучайных чисел RDRAND, созданный компанией Intel, использует встроенный в процессор Ivy Bridge источник энтропии — тепловой шум процессора. По крайней мере, так заявляют разработчики из Intel. Но этот аппаратный ГСЧ подозревают в наличии скрытой предсказуемости, запрограммированной изначально. В свете недавнего скандала с внедрением бэкдора АНБ в другой стандартный ГСЧ, у некоторых разработчиков возникли подозрения, что в случае с RDRAND тоже могут быть следы работы этой организации.

Бывший мейнтейнер ГСЧ ядра Linux говорит, что даже ушел с работы из-за того, что Линус самовольно включил в модуль ГСЧ этот сомнительный патч от Intel два года назад.

http://www.xakep.ru/post/61246/

★★★★★

Последнее исправление: Klymedy (всего исправлений: 3)

У меня другой вопрос. Вот если предсказуемый, то насколько и как. Ну вот сгенерировал я тут себе ключ неизвестно какого числа, неизвестно в какое время, неизвестно как дергал мышкой (а это учитывается). Какие тут могут быть читы? Если я по другому дергал мышкой, то по идее должны получиться другие числа, так как они узнают как я это делал? Если не другие, то это бы уже как-то проверили

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

такой код

Я не про код. Я про сам алгоритм. Помнится мне, в ГОСТе нашли какую-то уязвимость, время взлома сократилось на несколько порядков. Ты уверен, что там больше нет такого рода «уязвимостей», специально оставленных для нужд спецслужб?

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

хотя... там же не любые числа допустимы.

допустимы любые.

Может быть число вариантов на много порядков меньше

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

Ну вот например есть такая штука как факторизация (man 1 factor), это поиск делителей числа. Задача в общем случае очень сложна (и для больших чисел не решаема на сегодняшней технике), но есть частные случаи. Например число из 9000 семёрок делится на 3. А ещё на 11. Вот такие исключения и фильтруются.

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

Я не про код. Я про сам алгоритм. Помнится мне, в ГОСТе нашли какую-то уязвимость, время взлома сократилось на несколько порядков. Ты уверен, что там больше нет такого рода «уязвимостей», специально оставленных для нужд спецслужб?

в GnuPG? Я не верю в то, что авторы GnuPG умнее всех остальных кодеров. И умеют оставлять такие закладки, которые для других кодеров невидимы.

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

допустимы любые.

Нет. Насколько я знаю, оба ключа - функции от двух простых чисел. Далеко не факт что область допустимых значений - все числа от 0 до 2^2048.

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

Фильтруются числа, которые позволяют ПОДБИРАТЬ ключ. Т.е. эти фильтры ещё сужают исходную область 0..2^2048.

Ну вот например есть такая штука как факторизация (man 1 factor), это поиск делителей числа.

Всё это имеет отношение только к подбору ключа, но не к генерации, и тем более не к области допустимых значений открытых и закрытых ключей.

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

Не в ГнуПГ, а в AES, к примеру, который есть в ГнуПГ.

а при чём тут AES? В этом алгоритме нет никаких случайных чисел. Он полностью детерминирован.

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

у серверов мышки не бывает обычно, и дёргать нечего :)

у серверов бывает Over9000 клиентов с мышками, которые этот сервер постоянно дёргают.

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

Есть у меня один знакомый яблочник, он тоже верит, что его любимая компания не сливает информацию, они ведь даже опровержение написали!

ну вообще то надо доказывать слив информации, а не его отсутствие.

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

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

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

Нет. Насколько я знаю, оба ключа - функции от двух простых чисел. Далеко не факт что область допустимых значений - все числа от 0 до 2^2048.

имеется ввиду «любые из допустимых». Ясное дело, что если у тебя по алгоритму «простое число», то число 6 не пойдёт.

Вот только криптоаналитику это не очень помогает, то, что какие-то из чисел недопустимы.

1. допустимых чисел всё равно МНОГО. Причём с практической точки зрения их ничуть не меньше.

2. алгоритм перебора допустимых чисел неочевиден, и часто вообще невыводим. Потому придётся всё равно проверять ВСЕ числа.

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

Ну вот например есть такая штука как факторизация (man 1 factor), это поиск делителей числа.

Всё это имеет отношение только к подбору ключа, но не к генерации, и тем более не к области допустимых значений открытых и закрытых ключей.

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

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

2. алгоритм перебора допустимых чисел неочевиден, и часто вообще невыводим.

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

З.Ы. записал в свой todo - почитать алгоритмы работы биткойн-майнера и ssh-keygen

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

ну вообще то надо доказывать слив информации, а не его отсутствие.

Кто тебе сказал такую тупость? Если ты поймал кого-то, кто шарит по твоим карманам, то это ЕМУ придётся доказывать, что он у тебя ничего не брал.

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

2. алгоритм перебора допустимых чисел неочевиден, и часто вообще невыводим.

Что в свою очередь означает возможность коллизий и отсутствие гарантий на то, что этот диапазон достаточно широк.

да ничего это не обозначает. Мы вот даже не знаем алгоритма получения простого числа (по номеру или следующее), единственный «алгоритм» который нам известен — тупой брутфорс, вроде решета Эратосфена. Ну да, плюс ещё эвристики и Over9000 разных правил. Вот только все эти эвристики и правила не сильно помогают. Точнее IRL вообще не помогают, ибо известны и на этапе генерации ключа тоже. Возвращаясь к примеру из 9000 семёрок: это число большое, но и ёжику понятно, что разложить его хотя-бы на 3 множителя несложно. Два множителя я уже дал, это 3 и 11. Есть и другие. Вот только это _особый_ случай, и вовсе не обязательно делать такой ключ.

И опять же никто не мешает взять кластер

Зачем сразу кластер? Твой кластер также ничтожен и убог, как калькулятор из 80х годов прошлого века. Это если факторизировать числа из 2048и битов. Хоть кластером, хоть карандашом и бумажкой, эффект один — столько не живут. Даже Вселенная столько не живёт.

З.Ы. записал в свой todo - почитать алгоритмы работы биткойн-майнера и ssh-keygen

там не слишком сложные алгоритмы. Но я-бы рекомендовал начать с более простых вещей, вроде md4 vs CRC32. Почему и как ломается CRC32, и почему это не катит для md4.

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

Линус продался. Срочно форкаем ядро и уходим в подполье.

такой большой, а ксакперу веришь...

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

да ничего это не обозначает.

Именно. А ты на это «ничего не означает» полагаешься в вопросах безопасности

Это если факторизировать числа из 2048и битов.

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

Но я-бы рекомендовал начать с более простых вещей,

И до них дойдёт. Но ты так и не понял - нет смысла ни подбирать ключ, ни искать коллиизи. Тупо генерить ключи и через некоторое время посмотреть - а есть ли совпадения с чьми-нибудь ключами в открытых CA. И именно на предмет схожести с генерацией ключей я и буду смотреть алгоритм майнера. Когда будет свободное время

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

И доказать её не сложно (если она конечно действительно есть, и её уровень достаточен для предсказания и взлома ключей).

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

Но в данном случае Линус Торвальдс прав - даже если там есть предсказуемость, в Linux эта инструкция используется как один из источников энтропии, а не единственный, если я правильно понял.

praseodim ★★★★★
()

Трольвадсу нужны деньги на новый ССД. теперь будет по 85 долларов посты клепать!

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

Если ты поймал кого-то, кто шарит по твоим карманам

так ведь не поймали

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

если коротко: то становится чуть проще брутить пароли в генерации которых юзается псевдослучайная последовательность.

Только пароли мало кто генерирует.

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

акт 2. Но рандом на самом деле (tm) оказывается предсказуемой функцией от времени и ip адресов. Приходит АНБ. Пальцы большого брата - веером.

От времени мб, только откуда АНБ узнает момент времени генирации ключа?
От ip адреса врятли, всетаки проц и сетевая карта разные устройства, к тому же ip адреса может и не быть.

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

Фишка в том, что если враг узнает X, то он _может_ расшифровать сообщение, без всяких ключей. Только для этого надо научится предсказывать СЛУЧАЙНЫЕ числа.

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

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

Договориться с тем, кто будет делать генератор Х.

Ты когда рандомом пользуешься он тебе разные значения выдает или постоянно одно и то же (Х)?

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

Ты когда рандомом пользуешься

А я пользуюсь рандомом? Или может быть чем-то, что делает вид, что оно рандом?

cipher ★★★★★
() автор топика

за одно

это тост?

«Торвальдс (пьёт) за одно с АНБ»

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

псевдо генератором рандома.

Вот это и есть ответ на вопрос. Собственно вся шумиха именно вокруг него. Кое-кто сомневается, что он генерирует «правильные» числа.

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

Вот это и есть ответ на вопрос.

Нет это не ответ на вопрос.
Ты не бъяснил как «договоренность» будет влиять на работу генератора и как это позволит узнать X.

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

This RDRAND might monitor the state of the rest of the CPU in order to produce «random» data that is specially matched to the existing contents of the sludge-bucket so as to cancel out some of its randomness.

с таким подходом лучше сразу удавиться

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

Ты не бъяснил как «договоренность» будет влиять на работу генератора и как это позволит узнать X.

Множество значений Х может быть вполне конечным, возможно и сильно сократит сложность подбора в некоторых алгоритмов. Это конечное множество можно кому-нибудь рассказать.

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

Over9000 миллиардов лет чем-то лучше 100500 миллиардов

Линк на статистику подтверждающую это высказывание фстудию.

если без RDRAND, то что ты предложишь использовать

Школоло? Во-первых, жили как-то до ivy bridge и рандом юзали, во-вторых, ты так и не понял мою позицию по данному вопросу.

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

Далеко не факт что область допустимых значений - все числа от 0 до 2^2048.

http://ru.wikipedia.org/wiki/Теорема_о_распределении_простых_чисел

2^2048 - это десятичное число, длиной под ~620 знаков (по моим грубым прикидкам). Теперь хинт. 90% всех чисел будут 620 значными. В них будет простых чисел больше, чем в оставшихся 619-значных числах.

Да, там есть ограничения, что простые числа подбираются особых свойств, но всё равно их очень очень много.

http://ru.wikipedia.org/wiki/Функция_распределения_простых_чисел#.D0.A2.D0.B0...

Т.е. если на отрезве 0 до 2^2048 чисел будет 2^2000 или даже 2^1900 простых чисел, тебя это устроит?

n_play
()

В свете недавнего скандала с внедрением бэкдора АНБ в другой стандартный ГСЧ

А можно линк? А то не слежу за всем этим цирком.

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

Множество значений Х может быть вполне конечным, возможно и сильно сократит сложность подбора в некоторых алгоритмов. Это конечное множество можно кому-нибудь рассказать.

Даже если генератор будет выдавать только значения 0 или 1 можно получить любое число составив его из нескольких сгенерированных чисел. К тому же реализация алгоритма перевода сгенерированного числа в пароль неизвестна, а конечное множество генерируемых чисел очень легко поддается проверке.
Это слишком глупая и очень палевная идея для АНБ.

И это не обращая в внимания на то что критически важные пароли придумываются, а не генерируются.

TDrive ★★★★★
()
Последнее исправление: TDrive (всего исправлений: 3)
Ответ на: комментарий от vertexua

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

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

От времени мб, только откуда АНБ узнает момент времени генирации ключа?

А что, это очень сложно? Время определённо не является случайной величиной. В крайнем случае можно перебрать, например, все значения с момента покупки тобой компа и до первого зафиксированного момента использования подбираемого ключа. Но обычно можно значительно сузить этот отрезок времени

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

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

Ну и какое количество микросекунд(или в чем там?) проходит за 5-10 лет работы серверов? Комбинаций пароля меньше получается.

TDrive ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.