LINUX.ORG.RU

Уязвимость RSA от случайных или намеренных аппаратных ошибок


0

0

Ади Шамир, профессор израильского института Вейсмана и один из создателей популярного алгоритма шифрования с открытым ключом RSA, обратился к коллегам-криптоаналитикам с заявлением. В нем он говорит, что постоянное усложнение микропроцессоров приводит к появлению в них все большего количества невыявленных ошибок. Простейшая случайная или намеренно реализованная ошибка в архитектуре процессора практически обессмысливает применение на нем RSA.

>>> Подробности

★★★

Проверено: Shaman007 ()

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

> Сходил по ссылке.

Ну? Што там? Расскажи же! Там страшно? Я сам боюсь ходить по ссылкам, а то вдруг эксплойт какой мой файрфокс поломает. Страшно жить.

Fice ★★
()

Выходит, что использование любого неотечественного процессора создает угрозу государственной безопасности?

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

> Ну? Што там? Расскажи же! Там страшно? Я сам боюсь ходить по ссылкам, а то вдруг эксплойт какой мой файрфокс поломает. Страшно жить.

По ссылке дядя Ади жалуется на жизнь и сетует на определённые трудности в будущем.

Gharik
()

Чет не понял это как

>"Если спецслужбы обнаружат или скрытно внедрят в популярный микропроцессор алгоритм неправильного вычисления произведения только лишь одной пары чисел A и B (хотя бы в бите номер 0, то есть наименее значимом бите), то любой ключ в любой RSA-программе на любом из миллионов ПК с этим чипом может быть взломан с помощью единственного сообщения", - пишет Ади Шамир.

Вот оказывается почему погоду спрогнозировать не могут, бедолаги. Они умножают A на B а получают ошибку которая при решении диффуров может накопится. Все ясно кто виноват это вездесущая рука ЦРУ. (шутка).

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

> Ну? Што там? Расскажи же! Там страшно? Я сам боюсь ходить по ссылкам, а то вдруг эксплойт какой мой файрфокс поломает. Страшно жить.

+1 .. нимагу найти ключ для Касперский Антихакер FreeBSD Edition ..

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

>Даёшь полностью открытый (схемы и микропрограммы) микропроцессор! И народный контроль на производстве!

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

> Даёшь полностью открытый (схемы и микропрограммы) микропроцессор!

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

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

> По ссылке дядя Ади жалуется на жизнь и сетует на определённые трудности в будущем.

По ссылке написано, что якобы дядя Али что-то там сказал. Говорил ли он что-то на самом деле и что именно он говорил -- неизвестно. Журналюги имеют привычку искажать чужие высказывания до неузнаваемости.

anonymous
()

ИМХО дядько Шамир либо не то пил, либо не тем закусывал. "Закладкой" будет служить некий ИИ-модуль, определяющий, что в данный момент вычисляется закрытый RSA-ключ, а не выводится "Hello, World!", так? Ну, тогда слава роботам! =) Ведь иначе даже вывод "Hello, World!" на третьем разе в кору выпадет...

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

Тогда останется закупить супер-пупер производство и клепать процессоры самим.

hdlc
()

В комментариях:

RSA это умножение (зацикленное по модулю) огромных чисел. Естественно это сводиться (тем же FFT) в серию умножений примитивных чисел. Выявить что сейчас работает RSA алгоритм не реально, любое кодирование (MP3, Vorbis etc) имеет похожий "паттерн" инструкций. В итоге если заложить закладку в проц, то заглючит сразу весь софт, следовательно закладка на процессорах общего назначения не возможна.

Можно фишку положить в спец чипы, созданные для кодирования RSA, но тогда раскодировать эту инфу на обычном (без закладки) проце будет не возможно. Т.е. фича может быть реализована только внутри маленькой сетки, в которой все устройства используют специализированный чип с закладкой, который занимается только кодированием RSA.

Вывод: на практике не возможно. Именно не возможно, а не "шанс очень мал".

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

> Не имейте секретов. Живите открыто. Ведь жизнь коротка.

Напиши сюда номер своей кредитки.

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

>Ведь иначе даже вывод "Hello, World!" на третьем разе в кору выпадет...
если мой сколероз мне не изменяет, ошибки в арифметике у того-же intel уже находили- и отнюдь не на "третьем разе", а спустя месяцы/годы

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

> По ссылке написано, что якобы дядя Али что-то там сказал. Говорил ли он что-то на самом деле и что именно он говорил -- неизвестно. Журналюги имеют привычку искажать чужие высказывания до неузнаваемости.

Учись читать между строк, если генный ключ не соответствует нужному для правильного понимания высказываний дяди ;)

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

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

Смотря, какая закладка. Каг будто в процессорах до сих пор не находили ни одной ошибки.

> Можно фишку положить в спец чипы, созданные для кодирования RSA, но тогда раскодировать эту инфу на обычном (без закладки) проце будет не возможно.

Если "фишка" влияет только на генерацию пар ключей, то возможно.

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

А дату истечения и как тебя зовут? Девичью фамилию матери и такие 3 циферки сзади?

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

> открой для себя vhdl/verilog и ПЛИСы

Речь о том, что пользователь не сможет сам собрать процессор, чтобы гарантировать соответствие того, что он реально использует опубликованным схемам.

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

>>Ади Шамир, профессор

>Жираф большой, ему видней (с)

а это тоже Профессор? я думал он один

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

ты умышленно оставил 9999 вариантов? :)

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

>нет, на ГОСТ 34.10-2001

извени,минимум 2010

anonymous
()

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

Вот и я говорю, что x86 надо мочить!!!! А один мудачок-вантузятник-отморозок позорный под ником HIRURG на одном уфимском форуме ещё защищал x86.

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

> дупло, в номере кредитки должно быть 16 цифр не всегда

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

> Вывод: на практике не возможно. Именно не возможно, а не "шанс очень мал".

Можно фишку сделать включаемой по команде. Например, помимо закладки в процессоре нужна будет закладка в программе, которая её активирует. Согласен, это сильно снизит опасность.

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

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

>заглючит сразу весь софт

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

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

> Смотря, какая закладка. Каг будто в процессорах до сих пор не находили ни одной ошибки.

Да находили, проги глючили. Именно глючили, а не "скрытно" работали "по другому". И если находилось 2+2=5, то копмилер обзаводился закладкой, что бы эти инструкции/сотояния обходить.

Процев много, один баг у всех - штука редкая. Поток бинарей с одного проца нельзя будет раскодировать (тупо другое число там) на другом, это сразу выявит баг в железе. Впрочем проявится он раньше, арифметика используется повсеместно. Какой то общий "паттерн" для всех RSA алгоритмов выявить сложно, операции с большими числами в принципе у любого софта работают одинаково (к тому же не все пишут свои велосипеды). Проще вложить дырку в софтину и принудить её к использованию. Ещё проще устроить пару репрессий, ввести тоталитарный режим и следить за всеми открыто =)

>Если "фишка" влияет только на генерацию пар ключей, то возможно Угу, т.е. вложить заплатку в аппаратный ускоритель, т.е. работать будет *только* с теми, кто использует такой аппаратный ускоритель. Такая машина не сможет работать остальным миром, ни раскодировать, ни закодировать.

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

Жизнь коротка.Она особенно коротка если жить открыто :).По поводу людей не имеющих секретов - их не существует в природе.

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

>609134929315

Это ответ на

>нимагу найти ключ для Касперский Антихакер FreeBSD Edition.

Да?

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

> нет, на ГОСТ 34.10-2001

Эта штука гораздо надежнее RSA, но работает на одинаковом железе раз в 50-100 медленнее, Мне приходилось в свое время иметь дело с этим алгоритмом; для линейной шифрации более или менее серьезных потоков данных он пока непригоден.

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

Так софта открытого тоже много. Фишка в том, чтобы открыть закрытое! ;)

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

> работает на одинаковом железе раз в 50-100 медленнее [...] для линейной шифрации более или менее серьезных потоков данных он пока непригоден.

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

no-dashi ★★★★★
()
Ответ на: комментарий от Anonymous

>если мой сколероз мне не изменяет, ошибки в арифметике у того-же intel уже находили- и отнюдь не на "третьем разе", а спустя месяцы/годы

Угу.. ошибка в каком-то безумном знаке после запятой.. найди такую на "третьем разе".

Согласен с ip1981, что нереально такие закладки воплотить в жисть. Либо слова профэссора переврали, либо он таки заливает!

farisey
()

Зря вы думаете что проблема надуманная.

для осуществления взлома ключа достаточно:

1. знать, что на компьютере жертвы косячный процессор, который при перемножении 9812734 x 98723423 дает ошибку в младшем бите. 2. попросить жертву зашифровать специальным образом подобранное сообщение, при шифровании которого процесору придется перемножать 9812734 x 98723423 3. получить от жертвы это зашифрованное сообщение. 4. проанализировать исходное сообщение и зашифрованное жертвой.

ps: 1. процессор может косячить только при перемножении 9812734 x 98723423 а в остальных случаях работать идеально, так что просто так никто никогда не узнает что процессор косячный.

2. вероятность в обычной жизни процессору встретиться с перемножением двух конкретных 32битных чисел очень мала

при тактовой частоте 4 GHz и одной операции умножения за такт на проверку правильности умножения всех вариантов пар чисел потребуется ~ 100 лет

а для 64 битных процессоров 2^128 вариантов посчитать - это вобще нереально.

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

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

Автор говорит о том, что не обязательно сильно портить функцию умножения чтобы RSA стало уязвимо. Достаточно чтобы была пара чисел A и B, которые бы перемножались процессором не так как обычно, а каким-то специальным способом. На декодировании mp3 и jpeg-ов это никак не отразится (вероятность, что попадется именно такая пара чисел очень мала, гораздо меньше, скажем, чем битый файл)

Вывод: на практике возможно, но если писать софт особым способом (перепроверяя результаты умножения А*B == A*C + A*D, где C+D = B), то закладку можно заметить.

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

>1. знать, что на компьютере жертвы косячный процессор, который при перемножении 9812734 x 98723423 дает ошибку в младшем бите. 2. попросить жертву зашифровать специальным образом подобранное сообщение, при шифровании которого процесору придется перемножать 9812734 x 98723423 3. получить от жертвы это зашифрованное сообщение. 4. проанализировать исходное сообщение и зашифрованное жертвой.

Очень занятно. Но на сколько я понимаю, такой алгоритм ничего не даст. Ну будет ошибка в одном бите. И чего? Просто никто не сможет расшифровать сообщение. Проблемы появляются при генерации простых чисел для ключей. Если допустить ошибк в одном бите (все равно в каком), то число становиться составным. Соответственно появляется возможность разобрать ключ. Соответственно все легко открывается.

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