Сделал тут небольшую работку на at91sam7s. Смысл работы заключался в том, чтобы спрятать математику некого устройства в контроллер, который прочитать достаточно дорого. Честно скажу- давно не занимаюсь программированием, поэтому отстал от жизни. В результате выясняется, что снять прошивку с sam7s - дело 2-х часов и 400$.
Вопрос знатокам. Если я перепишу, то что написал в atsam3s(вроде производитель заявляет о ее секьюрности) это сильно усложнит задачу взломщиков?
Сделайте на Actel Smartfusion например, там есть ядро АРМ плюс ПЛИС. Насколько я знаю , фпга хреново взламываются, но тут другой фактор — фактор нераспротранености чипа.
Да и дизассемблировать ПЛИС мягко говоря, сложно
Цитата
Сделайте на Actel Smartfusion например, там есть ядро АРМ плюс ПЛИС. Насколько я знаю , фпга хреново взламываются, но тут другой фактор — фактор нераспротранености чипа.
Да и дизассемблировать ПЛИС мягко говоря, сложно santa2.gif
Дим. Рад тебя видеть- я в свое время МТ-линк у тебя покупал

И на телесистемах вместе сидели

Теперь по делу- я день потратил в поисках секьюрного чипа. думал сначала- чтобы ничего не переделывать- добавить маленький секьюрный микроконтроллер, в который переложить ключевую функцию., но пообщавшись с поставщиками- охренел- все хотят заключить NDA и продавать от 10000шт..., а в розницу хрен купишь. начал искать из доступного- нашел. по ногам совпадает. плату переделывать не надо- хотя в моем случае и не плата была. USB разъем+ контроллер.Таки на сколько ломается на данный момент Sam3s? никто не в курсе?
Привет, взаимно. Тут еще два вопроса— цена взлома и какова цель защиты. И что должен был делать «секьюрный» чип. Без этой информации сложно помочь. Так чем ПЛИС не тянет? можно и pld Altera. Все они крайне неприятны для взлома.
Хардовый ключ для компа? В сторону готовых брелоков банковских не смотрел?
1. цена взлома- не менее 50000$
2. Цель защиты:
У знакомого есть сервера в Германии на которых находится математика для залов с игровыми автоматами. Владельцы залов подключаются к его серверам и пользуют математику- выплачивая процент с прибыли. Есть определенный пласт клиентов с плохом Интернетом. Посему возникла идея перенести математику к клиенту и соеденяться с сервером не постоянно, а , например, раз в 12 часов. В открытом виде математику знакомый оставлять не хочет-поэтому предложил мне реализовать ее на каком нибудь микроконтроллере, который сложно взломать. Ну я и сделал на том, что дома валялось. А Позавчера выяснилось, что считать с него прошивку очень легко. Код с математикой занимает ~150KB. Это в основном массивы- которые обрабатывает маленькая функция. Возникла идея- поставить дополнительный чип, который сложно прочитать, реализовать в нем эту ф-ю, и скармливать ей содержимое массивов- одна итерация ~200- 500 байт, через SPI или I2C. Но поиски такого контроллера завели в тупик. Тогда и возникла идея- плюнуть на маленький контроллер и переделать все на sam3- благо переделывать немного.
sevstels
May 15 2013, 05:48
Мда... серьёзный удар по репутации Атмел.
Вы уверены, что не забыли прописать биты защиты?
Цитата(potor @ May 15 2013, 09:27)

1. цена взлома- не менее 50000$
плюнуть на маленький контроллер и переделать все на sam3- благо переделывать немного.
Нет. Я бы копал в сторону Lattice-Actel-Xilinx.
Цитата
Мда... серьёзный удар по репутации Атмел.
Вы уверены, что не забыли прописать биты защиты?
Меня никто пока не ломал и не считывал

Озвученная выше цена 400$- это цена за которую на сегодняшний день считывается прошивка с контроллера sam7 с установленными битами защиты.
Цитата
Нет. Я бы копал в сторону Lattice-Actel-Xilinx.
хорошо, я подумаю

Просто переделывать лень
sevstels
May 15 2013, 06:47
Скорее всего, Вас неправильно информировали.
За 400$ сложно в кафе с дамой посидеть, а чтоб гарантированно считать дамп...
"Не верю", как сказал бы Станиславский.
Цитата
Скорее всего, Вас неправильно информировали.
За 400$ сложно в кафе с дамой посидеть, а чтоб гарантированно считать дамп...
"Не верю", как сказал бы Станиславский. wink.gif
http://exelab.ru/f/index.php?action=vthrea...amp;topic=20283ломают с помощью оверклокинга. Консультировался со специалистом который ломает.
Цитата(potor @ May 15 2013, 12:50)

http://exelab.ru/f/index.php?action=vthrea...amp;topic=20283ломают с помощью оверклокинга. Консультировался со специалистом который ломает.
Ну если их звать Скоробагатов или Тарновский, то возможно их консультация чего-то стоит, а иначе ...
Оверклокингом в наше время уже сложно что-то сломать.
А почему вы решили, что sam3s лучше ? Я б на вашем месте вообще не стал для этого atmel и microchip использовать.
Цитата
А почему вы решили, что sam3s лучше ?
http://www.atmel.com/products/microcontrol.../arm/sam3s.aspxSafety and Security — Memory protection unit improves code protection and secures multi-application/task execution. Unique 128-bit ID and scrambled external bus interface ensure software confidentiality while the hardware CRC checks memory integrity.
Цитата
Я б на вашем месте вообще не стал для этого atmel и microchip использовать.
а что бы вы исплоьзовали?
У атмела даже 90sc.. ломались вроде.
Плиски надежнее.
sevstels
May 15 2013, 09:11
Ключевое слово "вроде".
Если бы сей факт реально существовал, мы бы об этом давно знали от обиженных судьбой авторов.
Но пока, никто не жалуется. Значит все измышления по этому поводу не более чем мифы,
реально - никто положительного результата достичь не может.
Понятно. И вы в сторону ПЛИС склоняете. Я никогда, к сожалению, плисами не занимался. Это мне существенно осложняет задачу.
Цитата(sevstels @ May 15 2013, 15:11)

Ключевое слово "вроде".
Если бы сей факт реально существовал, мы бы об этом давно знали от обиженных судьбой авторов.
Но пока, никто не жалуется. Значит все измышления по этому поводу не более чем мифы,
реально - никто положительного результата достичь не может.
http://www.flylogic.net/blog/?p=209
sevstels
May 15 2013, 09:28
И что? Не вижу разгневанных авторов.
По поводу сайтов, так в инете полно всяких прочих мошенников.
Которые например обещают вылечить вас от гемороя в один поцелуй в задницу.
Но деньги - вперёд!
Цитата(sevstels @ May 15 2013, 13:11)

от обиженных судьбой авторов.
Но пока, никто не жалуется.
Угу, если живы еще..
Много ли у нас вещей, которые кому-то не лень взламывать ? А то, что есть желание взломать (банкоматы, игорные приблуды, контроль доступа) - будет пресечено куда раньше и несколько иными методами, чем установка битов защиты.
M2S050T - от 250$. Дороговато однако.
Чистые ПЛИСы рассматривать не хочу. Думаю уместить в ПЛИС только одну функцию.
А вот это как вам? Integrated best-in-class hardware code protection?
Народ. А что если я возьму какую нибудь CPLD от той же Altera, прицеплю ее к процу и реализую в ней математическую функцию, которую сейчас выполняю в проце?
sevstels
May 15 2013, 10:50
Если функция простая - подсядут на шину и составят таблицу соответствия.
Можно протокол шифровать, но если вскроют проц, то и в этом смысла не много.
Надо искать чип с встроенной защитой от реверса.
Golikov A.
May 15 2013, 10:57
зря вы плис боитесь, если алгоритмическое мышление есть ( а программист без него никуда), то разобраться очень просто. В ПЛИС можно все, даже можно процессор туда вставить и программу на С++ писать. ПЛИС дает широкие возможности по параллельности!
Кстати я в самом начале видел такую систему защиты на ПЛИС:
Они брали делали устройство с батарейкой питания для ПЛИС, которой хватало на несколько лет. Брали ПЛИС у которой конфигурация не прожигается как во флэш, а записывается как в ОЗУ из вне, но конфигурационной флэши не ставили, а конфигурили плис у себя и отдавали.
Эта система абсолютно не взламываемая. Считать прошивку нельзя, потому что нет флешки где она лежит, стравить с плис ничего нельзя, как только ее отключат прошивка исчезнет. Недостаток только один, что когда садиться батарейка устройство больше никогда не запуститься. Но в вашем случае мне кажется это не важно.
Учитывая бизнес можно клиентам эти устройства поставлять в обмен раз в несколько месяцев...
Цитата
Если функция простая - подсядут на шину и составят таблицу соответствия.
боюсь, что утрахаются. Она на одни и те же входные значения- выдает разные выходные. там рандом используется
sevstels
May 15 2013, 11:05
>> выдает разные выходные
Винчестер большой...
Цитата(Golikov A. @ May 15 2013, 14:57)

зря вы плис боитесь, если алгоритмическое мышление есть ( а программист без него никуда), то разобраться очень просто. В ПЛИС можно все, даже можно процессор туда вставить и программу на С++ писать. ПЛИС дает широкие возможности по параллельности!
Кстати я в самом начале видел такую систему защиты на ПЛИС:
Они брали делали устройство с батарейкой питания для ПЛИС, которой хватало на несколько лет. Брали ПЛИС у которой конфигурация не прожигается как во флэш, а записывается как в ОЗУ из вне, но конфигурационной флэши не ставили, а конфигурили плис у себя и отдавали.
Эта система абсолютно не взламываемая. Считать прошивку нельзя, потому что нет флешки где она лежит, стравить с плис ничего нельзя, как только ее отключат прошивка исчезнет. Недостаток только один, что когда садиться батарейка устройство больше никогда не запуститься. Но в вашем случае мне кажется это не важно.
Учитывая бизнес можно клиентам эти устройства поставлять в обмен раз в несколько месяцев...
В принципе, с таким же успехом я могу проц на батарейку посадить и хранить часть программы в ОЗУ, а при вытыкании из USB уходить в слип. Только не знаю, насколько это будет надежно.
MrAlex
May 15 2013, 11:15
Используйте TMS какой нибудь, у них защита помощнее от копирования. Жрут правда сильно больше армов.
Golikov A.
May 15 2013, 11:15
проц жрет много, даже если слипает.
А плис если не работает вроде ваще не жрет...
Но в целом да, можно и так сделать, когда то так были сделаны карты типа транспортных, если долго не пользоваться переставала работать...
можно прошивать всю прогу в озу и все...
Цитата
проц жрет много, даже если слипает
А если в ресете держать его? Или тогда сохранность ОЗУ не гарантирована?
Цитата
Используйте TMS какой нибудь, у них защита помощнее от копирования. Жрут правда сильно больше армов.
Посмотрю, спасибо.
Golikov A.
May 15 2013, 11:32
после рессета вообще ничего не гарантированно...
а еще у процессора всегда остаются ноги через которые его озу и считать можно, то есть система не на столько надежная как у той ПЛИС...
а что, внутреннюю шину у МК прослушать нельзя ?
тут народ уже технологию разрабатывает, чтоб слушать сигналы электронным микроскопом
Golikov A.
May 15 2013, 12:38
по описанию звучит дороже 50 000
ну если будет универсальная, то окупится быстро, а значит будет дешевле
Golikov A.
May 15 2013, 13:29
стойкость схемы просили чтобы сломать было 50 000, думаю микроскопом читать обмен, а потом его раскодировать будет стоит сильно дороже...
Народ- еще вопрос.
Если я к приверу возьму XC3S50AN ( насколько я понял там в каждом девайсе есть уникальный ID) реализую в нем ключевые функции, завязав идентификацию с сервером на этот ID. Насколько сложно будет, прочитав прошивку с ПЛИС редезайнуть ее чтобы внести необходимые изменения?
Ну тут
куча неглупых людей так и не нашла пароль всего лишьА ты говоришь модифицировать...
Не знаю как у этого чипа, но у подобных и сама прошивка тоже льется шифрованная АЕС ом при желании.Так что трындец полный, проще терморектальным анализом взломщику заняться.
В общем подумал, пообщался с приятелем - ему вариант с дополнительной микрухой не нравится - типа удорожание и фигня это все. Я взял таймаут на подумать. Придумал следующее:
1 Беру контроллер ST32L - у него есль сколько то байт памяти, которые он может хранить от батарейки в определенном режиме. Если при этом не храним RTC- жрет меньше 1мкА. В этой области храню ключ шифрования.
2 Реализовываю в нем AES- уже попробовал библиотеку LibTomCript на той плате, что есть сейчас- вроде работает, по быстродействию тоже устраивает.
3 Убираю массивы с математикой из своего контроллера - теперь они будут храниться в закшифрованном AES виде на компьютере.
4 Компьютер через USB передает массивы в контроллер по мере надобности ~ 500байт порция
5 Контроллер расшифровывает их и считает математику (мат. функции, кстати можно тоже зашифровать и запускать из ОЗУ).
6. Естественно ключа шифрования на компьютере не будет.
Ну вот собственно и вся идея.
Оцените плиз.
Golikov A.
Jun 1 2013, 05:06
как добиться того чтобы на компьютере массив был зашифрован именно ключом что в УСБ? УСБ - массив я так понимаю пара, не будет ли для клиента жутким геморроем отслеживание этих пар?
И второе что является ответом ключа компьютеру? Не будет ли возможности "прослушать" канал и обойтись просто генерацией ответных сообщений напрямую?
Цитата(Golikov A. @ Jun 1 2013, 09:06)

как добиться того чтобы на компьютере массив был зашифрован именно ключом что в УСБ? УСБ - массив я так понимаю пара, не будет ли для клиента жутким геморроем отслеживание этих пар?
И второе что является ответом ключа компьютеру? Не будет ли возможности "прослушать" канал и обойтись просто генерацией ответных сообщений напрямую?
Как напрямую? Шифрование с открытым ключом, на каждую посылку добавлять несколько true random байт и привет. Все посылки уникальны.
Golikov A.
Jun 1 2013, 08:07
напрямую очень просто: ваш метод хорош если нельзя исказить информацию. А если это не важно?
ну то есть вы даете последовательность, она как-то хитро обрабатывается и выдает ответ от 1 до 15. Но кто мешает просто сразу выдавать этот ответ, независимо от входа? Я не говорю о том что тут все именно так, я говорю о том что об этом тоже надо думать....
Вы о чем ? Система - запрос - ответ. На каждый уникальный запрос - уникальный ответ, кодированный закрытым ключом + открытой частью ключа в самом запросе. Все остальные ответы - игнорируются. Заоодно и блокировка пожизненная после нескольких левых ответов.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.