|
|
  |
Защита для прошивки |
|
|
|
Dec 26 2006, 00:45
|
Участник

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

|
Генерировать случайные числа буду через АЦП, например так: провёл 1000 замеров, три младших разряда суммы результатов -трёхзначное случайное число. Защёт погрешности АЦП результат будет абсолютно непредсказуемый и случайный. Цитата(defunct @ Dec 25 2006, 13:20)  Это дело не сработает... Во-первых там всего 256 возможных значений из которых реально используется отсилы 20. Во-вторых бывает, что у всех МК одной партии значения калибровочных констант равны. Ну больше подходящих вариантов я невижу, а так хоть какаято защита. И ещё очень легко организуема, вызовет зависание: ... while (OSCCAL!=0x6A) { }; ... Кстати, я надеюсь калибровочную константу МК изменить нельзя?
Сообщение отредактировал Alex@ndr - Dec 26 2006, 00:52
|
|
|
|
|
Dec 26 2006, 01:30
|
Частый гость
 
Группа: Свой
Сообщений: 107
Регистрация: 12-01-05
Пользователь №: 1 915

|
Ну если есть хотя-бы минимум доверия, то можно поступить следующим образом: разделить задачу на две части, на bootloader который вы отдаете свободно, который, так сказать готовит камень заказчика (вот здесь то и нужно доверие, если вы конечно хотите знать на какое конкретно устройство все это будет установлено) который генерирует пару не симметричных ключей (DES, SHA или еще что…) и сохраняет их, открытый ключ bootloader сообщает пользователю, он вам, вы шифруете этим ключом firmware и передаете заказчику, при установке bootloader с помощью закрытого ключа его расшифровывает и программирует в камень по пути устанавливая все флаги, вот собственно и все.
Кстати, за основу можно взять Application Notes AVR231, там не так много надо переделовать
|
|
|
|
|
Dec 26 2006, 01:57
|
Знающий
   
Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984

|
Цитата(Alex@ndr @ Dec 26 2006, 00:45)  Ну больше подходящих вариантов я невижу, а так хоть какаято защита. И ещё очень легко организуема, вызовет зависание: делайте случайное число от таймера, проттос дело говорит. Цитата Кстати, я надеюсь калибровочную константу МК изменить нельзя? А вот и не угадали
|
|
|
|
|
Dec 26 2006, 03:48
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(fate @ Dec 26 2006, 00:30)  вот собственно и все. Перед 'все', заказчику нужно не полениться считать установившийся bootloader и затем копировать его в нужных количествах  . И зачем тогда все эти пляски? Цитата Кстати, за основу можно взять Application Notes AVR231, там не так много надо переделовать Там надо абсолютно все переделовать, ибо используемый там AES, как и вышеупомянутые, симметричный да собственно загрузчик через заднепроходное отверстие написан. Нет, я понимаю, что полученный AES ключ можно слегка изуродовать и назвать его "открытым", но главную проблему это не решит.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 26 2006, 10:35
|

Частый гость
 
Группа: Свой
Сообщений: 195
Регистрация: 25-01-06
Из: г. Троицк, МО
Пользователь №: 13 575

|
Цитата(Tanya @ Dec 26 2006, 10:19)  Вот еще такой бредовый вариант. Вы сами шьете дистанционно. При большом желании ловится сниффером...
|
|
|
|
|
Dec 26 2006, 11:01
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(TomaT @ Dec 26 2006, 10:35)  Цитата(Tanya @ Dec 26 2006, 10:19)  Вот еще такой бредовый вариант. Вы сами шьете дистанционно.
При большом желании ловится сниффером... Вот это Вы напрасно. SSH, sftp... Другое дело, что есть "подсматривающие" программы, но получив права root'а, можно все процессы в системе контролировать.
Сообщение отредактировал Tanya - Dec 26 2006, 11:02
|
|
|
|
|
Dec 26 2006, 11:43
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284

|
А такой вариант: прошивка совмещается с простеньким программатором (напр. byte-blaster) и передается в виде одного exe-файла. При первом удачном программировании создает ключи в реестре, скрытые файлы и т.п. ... и дальше отказывается работать. Можно попытаться хотя бы имитировать защиту покруче, что может отбить охоту заниматься взломом или запускать на другом комрьютере... понти - велика сила
|
|
|
|
|
Dec 26 2006, 20:37
|
Участник

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

|
Вон чё в даташите на AtMega16 нарыл:
Насколько я ничего не понимаю в английском, это значит что всётаки можно прочитать фьюзы и локи самим контроллером!!!Только как, для меня пока остаётся загадкой...
|
|
|
|
|
Dec 26 2006, 21:24
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284

|
Например, как в app.note avr109 (flash.h). Но как шифрование прошивки может помочь, если и загрузчик, и прошивку будет зашивать заказчик?
|
|
|
|
|
Dec 26 2006, 21:40
|
Участник

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

|
Цитата(ahulap @ Dec 26 2006, 20:24)  Например, как в app.note avr109 (flash.h). Спасибо, щас буду смотреть. Цитата(ahulap @ Dec 26 2006, 20:24)  Но как шифрование прошивки может помочь, если и загрузчик, и прошивку будет зашивать заказчик? См. первое сообщение. Прошивка будет неработоспособна без моего кода, единственный вариант - считать ЕЕРRОМ с уже разблокированного МК(с обеими кодами) и шить его в остальные.
|
|
|
|
|
Dec 26 2006, 22:30
|
Участник

Группа: Участник
Сообщений: 44
Регистрация: 22-06-06
Из: Kharkiv, UA
Пользователь №: 18 284

|
Цитата(Alex@ndr @ Dec 26 2006, 20:40)  См. первое сообщение. Прошивка будет неработоспособна без моего кода, единственный вариант -считать ЕЕРRОМ с уже разблокированного МК(с обеими кодами) и шить его в остальные. Но ведь прошивка открыта и посмотреть в ней таблицу соответствий или формулу вычисления ответного числа особого труда не составит. ?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|