|
Защита для прошивки |
|
|
|
Dec 23 2006, 02:20
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 22-12-06
Пользователь №: 23 802

|
Здравствуйте, У меня такая ситуация: есть прошивка(в CodeVisionAVR под AtMega16), нужно передать её другому человеку, но так, чтоб он смог использовать её только для одного устройства.
Думаю сделать это так: при первом запуске контроллер генерит случайный код, записывает его в EEPROM и выводит на LCD.Код передаётся мне, я составляю ответный код, передаю его, он вводится в устройство, контроллер записывает его в EEPROM.Далее при каждом включении контроллер сверяет на правильность коды из EEPROM, при несоответствии работа устройства блокируется.
Но для этого думаю нужно контролировать что стоит фьюз защиты от чтения EEPROM(иначе не генерить первый код) и генератор реально случайных чисел(не псевдослучайных).
Посоветуйте как это можно реализовать, или может есть способы попроще
|
|
|
|
|
 |
Ответов
|
Dec 23 2006, 02:40
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 22-12-06
Пользователь №: 23 802

|
Цитата(defunct @ Dec 23 2006, 01:29)  Да есть.. Продавать прошитые чипы. (хотя бы с Вашим бутлоадером)
А Ваш вариант к сожалению работать не будет, т.к. у Вашей прошивки не будет возможности ни залочить чип, ни проверить статус локов. Нельзя достучаться из прошивки к фузам и локам.. К сожалению передать прошитый чип нет возможности. Может всёже есть другие варианты защитить прошивку?
|
|
|
|
|
Dec 23 2006, 03:37
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Alex@ndr @ Dec 23 2006, 02:40)  К сожалению передать прошитый чип нет возможности. Вырезать часть функциональности и дать как демо-версию. А там уж если заказчику понравится, может быть и появится возможность передать прошитый чип. Цитата Может всёже есть другие варианты защитить прошивку? Добавить в схему еще один чип, так чтобы оба чипа могли друг-друга программировать. Добавить межпроцессорный протокол. И тогда Ваш вариант заработает. Например так: Заказчик заливает прошивку в оба чипа. Первый чип (1) подает второму (2) команду залочить себя (2) лочит (1), после чего перезапускает и сообщает (1), что тот залочен. (1) пишет в EEPROM статул лока, для того чтобы больше не просить (2) себя лочить, и генерит некий код который надо сообщить Вам по телефону. Ну а дальше уже так как Вы описали в самом первом посте. Только самое важное, чтобы программа без второго чипа была неработоспособной.
|
|
|
|
|
Dec 23 2006, 15:50
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(defunct @ Dec 23 2006, 07:37)  Цитата(Alex@ndr @ Dec 23 2006, 02:40)  К сожалению передать прошитый чип нет возможности.
Вырезать часть функциональности и дать как демо-версию. А там уж если заказчику понравится, может быть и появится возможность передать прошитый чип. Цитата Может всёже есть другие варианты защитить прошивку? Добавить в схему еще один чип, так чтобы оба чипа могли друг-друга программировать. Добавить межпроцессорный протокол. И тогда Ваш вариант заработает. Например так: Заказчик заливает прошивку в оба чипа. Первый чип (1) подает второму (2) команду залочить себя (2) лочит (1), после чего перезапускает и сообщает (1), что тот залочен. (1) пишет в EEPROM статул лока, для того чтобы больше не просить (2) себя лочить, и генерит некий код который надо сообщить Вам по телефону. Ну а дальше уже так как Вы описали в самом первом посте. Только самое важное, чтобы программа без второго чипа была неработоспособной. Взламывается на раз, два, плюнуть - достаточно умного слэйва-напарника вместо (2) для вычисления лок-бит, ну и, естественно, программиста для всей этой раскалбасни...Хотя, тогда ни вижу смысла всей этой галиматьи...
--------------------
|
|
|
|
Сообщений в этой теме
Alex@ndr Защита для прошивки Dec 23 2006, 02:20 beer_warrior ЦитатаК сожалению передать прошитый чип нет возмож... Dec 23 2006, 03:15 prottoss Цитата(beer_warrior @ Dec 23 2006, 07:15)... Dec 23 2006, 16:28  dch Цитата(prottoss @ Dec 23 2006, 16:28) Вы ... Dec 27 2006, 06:06 Валентиныч Можно попробовать прочитать заводскую инфу из само... Dec 23 2006, 12:12 Dog Pawlowa Цитата(Alex@ndr @ Dec 23 2006, 02:20) Пос... Dec 23 2006, 12:15 Alex@ndr Цитата(Валентиныч @ Dec 23 2006, 11:12) М... Dec 23 2006, 13:38 Валентиныч Цитата(Alex@ndr @ Dec 23 2006, 15:38) А к... Dec 23 2006, 15:51 Alex@ndr Свой програматор написать несмогу, поставить второ... Dec 23 2006, 17:06 zltigo Цитата(Alex@ndr @ Dec 23 2006, 16:06) Мож... Dec 23 2006, 18:01 Валентиныч Цитата(Alex@ndr @ Dec 23 2006, 19:06) Сво... Dec 23 2006, 18:50  chief_olimp сделай так что бы устройство 10 мин работало а дал... Dec 23 2006, 19:36   prottoss Цитата(chief_olimp @ Dec 23 2006, 23:36) ... Dec 23 2006, 19:43 Alex@ndr Цитата(Валентиныч @ Dec 23 2006, 17:50) А... Dec 23 2006, 20:23 bodja74 Цитата(Alex@ndr @ Dec 23 2006, 20:23) Цит... Dec 23 2006, 21:37 Nanobyte А может, вместе с прошивкой, высылать клиенту SIM-... Dec 23 2006, 21:56 sensor_ua Как вариант в защищаемую фузами область FLASH (мак... Dec 23 2006, 22:24 Сергей Борщ Цитата(sensor_ua @ Dec 23 2006, 21:24) Ка... Dec 24 2006, 13:11 Alex@ndr С SIM-карты защита точно не получится.Там два кода... Dec 24 2006, 14:21 bodja74 Как вариант ,
1 зашивать скриптованную программу с... Dec 24 2006, 14:25 bodja74 Вау,что я вычитал,
оказывается в мегах48\88... Dec 24 2006, 21:57 SasaVitebsk А высылать как будете в HEX или в исходниках???
Е... Dec 25 2006, 00:57 Alex@ndr C константой калибровочного бита CLC разобрался, б... Dec 25 2006, 08:11 defunct Цитата(Alex@ndr @ Dec 25 2006, 08:11) C к... Dec 25 2006, 14:20 add ЦитатаДумаю сделать это так: при первом запуске ко... Dec 25 2006, 10:55 Nanobyte Цитата(add @ Dec 25 2006, 10:55) ... но к... Dec 25 2006, 13:32 add ЦитатаЭто можно сделать очень просто - при первом ... Dec 25 2006, 14:03 Alex@ndr Генерировать случайные числа буду через АЦП, напри... Dec 26 2006, 00:45 bodja74 Цитата(Alex@ndr @ Dec 26 2006, 00:45) Ну ... Dec 26 2006, 01:57 fate Ну если есть хотя-бы минимум доверия, то можно пос... Dec 26 2006, 01:30 zltigo Цитата(fate @ Dec 26 2006, 00:30) вот соб... Dec 26 2006, 03:48 fate В идеале, лучше переделать на SHA и это не так уж ... Dec 26 2006, 05:19 zltigo Цитата(fate @ Dec 26 2006, 04:19) ничто н... Dec 26 2006, 14:24 arttab А чем неустраивает поставки мк с зашитыми загрузщи... Dec 26 2006, 06:40 Tanya Вот еще такой бредовый вариант.
Вы сами шьете дист... Dec 26 2006, 10:19 TomaT Цитата(Tanya @ Dec 26 2006, 10:19) Вот ещ... Dec 26 2006, 10:35  Tanya Цитата(TomaT @ Dec 26 2006, 10:35) Цитата... Dec 26 2006, 11:01 ahulap А такой вариант: прошивка совмещается с простеньки... Dec 26 2006, 11:43 Alex@ndr Вон чё в даташите на AtMega16 нарыл:
Насколько я ... Dec 26 2006, 20:37 ahulap Например, как в app.note avr109 (flash.h).
Но как ... Dec 26 2006, 21:24 Alex@ndr Цитата(ahulap @ Dec 26 2006, 20:24) Напри... Dec 26 2006, 21:40 ahulap Цитата(Alex@ndr @ Dec 26 2006, 20:40) См.... Dec 26 2006, 22:30  bodja74 Цитата(ahulap @ Dec 26 2006, 22:30) Но ве... Dec 27 2006, 01:12   fate Цитата(ahulap @ Dec 26 2006, 22:30) Но ве... Dec 27 2006, 04:57 Alex@ndr Цитата(ahulap @ Dec 26 2006, 21:30) Но ве... Dec 27 2006, 00:00 ahulap Цитата(Alex@ndr @ Dec 26 2006, 23:00) Так... Dec 27 2006, 10:56  zltigo Цитата(ahulap @ Dec 27 2006, 09:56) Я пон... Dec 27 2006, 12:26 arttab если загрузщик (код) доступен потребителю, то всё.... Dec 27 2006, 05:54 dch А прошивка как прошивается в target? Может програм... Dec 27 2006, 06:27 add Делаем девайсину на контроллере залоченую, которая... Dec 27 2006, 10:07 Alex@ndr Спасибо за ответы, но мож кто пример программы под... Dec 28 2006, 23:44 Семён Цитата(Alex@ndr @ Dec 28 2006, 23:44) Спа... Jan 18 2007, 10:49 PWS Если у Вас и заказчика "выделенка" и у з... Jan 17 2007, 21:42
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|