реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Защита для прошивки
Alex@ndr
сообщение Dec 26 2006, 00:45
Сообщение #31


Участник
*

Группа: Новичок
Сообщений: 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
Go to the top of the page
 
+Quote Post
fate
сообщение Dec 26 2006, 01:30
Сообщение #32


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 12-01-05
Пользователь №: 1 915



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

Кстати, за основу можно взять Application Notes AVR231, там не так много надо переделовать
Go to the top of the page
 
+Quote Post
bodja74
сообщение Dec 26 2006, 01:57
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



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

делайте случайное число от таймера, проттос дело говорит.
Цитата
Кстати, я надеюсь калибровочную константу МК изменить нельзя?

А вот и не угадали smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2006, 03:48
Сообщение #34


Гуру
******

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



Цитата(fate @ Dec 26 2006, 00:30) *
вот собственно и все.

Перед 'все', заказчику нужно не полениться считать установившийся bootloader и затем копировать его в нужных количествах smile.gif. И зачем тогда все эти пляски?
Цитата
Кстати, за основу можно взять Application Notes AVR231, там не так много надо переделовать

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
fate
сообщение Dec 26 2006, 05:19
Сообщение #35


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 12-01-05
Пользователь №: 1 915



В идеале, лучше переделать на SHA и это не так уж и сложно smile.gif
mega640/1280/1281/2560/2561(возможно и mega88/168 и некоторые другие, надо проверять, по крайней мере для 640/1280/1281/2560/2561 - это даже описанно в документации) позволяет програмировать биты LB2, LB1, так что ничто не мешает bootloader-у их запрограммировать перед генерацией ключей
Go to the top of the page
 
+Quote Post
arttab
сообщение Dec 26 2006, 06:40
Сообщение #36


Профессионал
*****

Группа: Свой
Сообщений: 1 432
Регистрация: 7-12-04
Из: Новосибирск
Пользователь №: 1 371



А чем неустраивает поставки мк с зашитыми загрузщиками и золочеными битами? Другого варианта не вижу.


--------------------
OrCAD, Altium,IAR, AVR....
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 26 2006, 10:19
Сообщение #37


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Вот еще такой бредовый вариант.
Вы сами шьете дистанционно.
Go to the top of the page
 
+Quote Post
TomaT
сообщение Dec 26 2006, 10:35
Сообщение #38


Частый гость
**

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



Цитата(Tanya @ Dec 26 2006, 10:19) *
Вот еще такой бредовый вариант.
Вы сами шьете дистанционно.

При большом желании ловится сниффером...
Go to the top of the page
 
+Quote Post
Tanya
сообщение Dec 26 2006, 11:01
Сообщение #39


Гуру
******

Группа: Модераторы
Сообщений: 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
Go to the top of the page
 
+Quote Post
ahulap
сообщение Dec 26 2006, 11:43
Сообщение #40


Участник
*

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



А такой вариант: прошивка совмещается с простеньким программатором (напр. byte-blaster) и передается в виде одного exe-файла. При первом удачном программировании создает ключи в реестре, скрытые файлы и т.п. ... и дальше отказывается работать.
Можно попытаться хотя бы имитировать защиту покруче, что может отбить охоту заниматься взломом или запускать на другом комрьютере... понти - велика сила smile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Dec 26 2006, 14:24
Сообщение #41


Гуру
******

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



Цитата(fate @ Dec 26 2006, 04:19) *
ничто не мешает bootloader-у их запрограммировать перед генерацией ключей

Так, если bootloader может иметь доступ к защите, то это действительно какая-никакая Идея!
требующая уже некоторого копания в коде загрузчика для обхода.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex@ndr
сообщение Dec 26 2006, 20:37
Сообщение #42


Участник
*

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



Вон чё в даташите на AtMega16 нарыл:
Прикрепленное изображение

Насколько я ничего не понимаю в английском, это значит что всётаки можно прочитать фьюзы и локи самим контроллером!!!Только как, для меня пока остаётся загадкой...
Go to the top of the page
 
+Quote Post
ahulap
сообщение Dec 26 2006, 21:24
Сообщение #43


Участник
*

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



Например, как в app.note avr109 (flash.h).
Но как шифрование прошивки может помочь, если и загрузчик, и прошивку будет зашивать заказчик?
Go to the top of the page
 
+Quote Post
Alex@ndr
сообщение Dec 26 2006, 21:40
Сообщение #44


Участник
*

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



Цитата(ahulap @ Dec 26 2006, 20:24) *
Например, как в app.note avr109 (flash.h).

Спасибо, щас буду смотреть.
Цитата(ahulap @ Dec 26 2006, 20:24) *
Но как шифрование прошивки может помочь, если и загрузчик, и прошивку будет зашивать заказчик?

См. первое сообщение. Прошивка будет неработоспособна без моего кода, единственный вариант -считать ЕЕРRОМ с уже разблокированного МК(с обеими кодами) и шить его в остальные.
Go to the top of the page
 
+Quote Post
ahulap
сообщение Dec 26 2006, 22:30
Сообщение #45


Участник
*

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



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

Но ведь прошивка открыта и посмотреть в ней таблицу соответствий или формулу вычисления ответного числа особого труда не составит. ?
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01487 секунд с 7
ELECTRONIX ©2004-2016