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

 
 
3 страниц V  < 1 2 3  
Reply to this topicStart new topic
> Защита программы от несанкционированного распространения
digital
сообщение Aug 20 2015, 08:50
Сообщение #31


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974





Есть открытые библиотеки для работы с программатором, пишите на их основе свой загрузчик, который зашивает вашу прошивку, считает количество заливок и отправляет вам по интрнету.
конечно можно взломать, если успеет вытащить процеcсор до пережигания jtag, либо подать более низкое напряжение чтобы он не смог пережечь jtag

можно тоже самое сделать через bootloader, предварительно проверить убит ли jtag

Цитата(d7d1cd @ Aug 20 2015, 08:51) *
Погодите-ка... Получается, после распаковки в устройстве заказчика будет находится работоспособная прошивка. С условием того, что JTAG у него рабочий, что мешает ему скопировать эту прошивку и заливать ее уже без моего участия? Не пойдет так!

Но Ваше предложение об устройстве, заливающем прошивку, родило следующую идею. Можно изготовить устройство-загрузчик на основе лишь одного МК без микросхемы памяти. В этом МК будет хранится прошивка для заливки и загрузчик. Фьюз JTAG у этого МК должен быть пережжен. Заказчик, получив от меня устройство-загрузчик по обычной почте, подключает его к своему целевому МК. Что важно, подключение будет осуществлено по JTAG. После физического подключения, заказчик нажимает на устройстве-загрузчике кнопку, в результате чего оно начинает копировать в целевой МК прошивку. После завершения копирования, устройство-загрузчик прожигает фьюз целевого МК, а так же стирает собственную память. В результате у заказчика остается работоспособное устройство с моей прошивкой, но с невозможностью сделать копию, а так же мое устройство-загрузчик, которое уже не способно что-либо загрузить. Его он мне отсылает назад. Я через BSL загружаю в него прошивку и загрузчик и снова готов отправить ее для заливки.
Вопрос: как осуществить "общение" по JTAG порту? Где взять протокол обмена?


вот это устройство
http://www.ti.com/tool/msp-gang

наверно уже можно прямо на нем сделать однократную прошивку
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 20 2015, 08:57
Сообщение #32


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Бутлоадер - это программа в МК, которая может обновить проц? Если так, то как бутлоадер проверит, что JTAG пережжен?



Сообщение отредактировал d7d1cd - Aug 20 2015, 09:00
Go to the top of the page
 
+Quote Post
digital
сообщение Aug 20 2015, 09:06
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974



Цитата(d7d1cd @ Aug 20 2015, 11:57) *
Бутлоадер - это программа в МК, которая может обновить проц? Если так, то как бутлоадер проверит, что JTAG пережжен?


если не ошибаюсь в бутлоадере есть такая функция,
если нет, то это можно проверить аппаратно (если есть доступ к jtag)


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


можно отправлять с уже прошитым своим бутлоадером, который принимает шифрованный образ и имеет свой серийный номер
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 20 2015, 09:16
Сообщение #34


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Сколько работаю с MSP430, никогда нигде не видел, что можно программно определить, прожжен фьюз или нет. Думаю, что это в принципе невозможо сделать "изнутри" проца.
Сколько будет прошиваться устройств не знаю. Может одно-два, может 100-200.
Выпаивать нельзя.
Обновление чего? Заливаемой прошивки? Да, планируется, но уже через интерфейс связи.

Если бы программно можно было определить состояние фьюза JTAG, то решение моей задачи было бы очень простым. 05.gif
Go to the top of the page
 
+Quote Post
digital
сообщение Aug 20 2015, 09:26
Сообщение #35


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974



как добавить уникальности

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

все вышеперчисленное меняеться от времени и температуры, но если запрос уникальности, формирование образа, прошивки и проверки делать автоматически и быстро, то за столь короткое время не успеет измениться.

Цитата(d7d1cd @ Aug 20 2015, 12:16) *
Сколько работаю с MSP430, никогда нигде не видел, что можно программно определить, прожжен фьюз или нет. Думаю, что это в принципе невозможо сделать "изнутри" проца.


не знаю, спорить не буду,

fuse можно проверить Jtag программатором, но лучше чтобы он сам его и прожигал

JTAG fuse check mode
MSP430 devices that have the fuse on the TDI terminal have a fuse check mode that tests the continuity of the
fuse the first time the JTAG port is accessed after a power-on reset (POR). When activated, a fuse check current,
I TF , of 1 mA at 3 V, 2.5 mA at 5 V can flow from the TDI pin to ground if the fuse is not burned. Care must be
taken to avoid accidentally activating the fuse check mode and increasing overall system power consumption.
Activation of the fuse check mode occurs with the first negative edge on the TMS pin after power up or if the
TMS is being held low during power up. The second positive edge on the TMS pin deactivates the fuse check
mode. After deactivation, the fuse check mode remains inactive until another POR occurs. After each POR the
fuse check mode has the potential to be activated.
The fuse check current will only flow when the fuse check mode is active and the TMS pin is in a low state (see
Figure 18). Therefore, the additional current flow can be prevented by holding the TMS pin high (default
condition).
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 20 2015, 09:26
Сообщение #36


Местный
***

Группа: Участник
Сообщений: 442
Регистрация: 26-11-10
Пользователь №: 61 199



Цитата(digital @ Aug 20 2015, 12:22) *
все вышеперчисленное меняеться от времени и температуры, но если запрос уникальности, формирование образа, прошивки и проверки делать автоматически и быстро, то за столь короткое время не успеет измениться.

Прошивка должна будет "всю жизнь" проверять эти параметры. А так как они могут измениться, то и работа прекратится.
Go to the top of the page
 
+Quote Post
digital
сообщение Aug 20 2015, 09:35
Сообщение #37


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974



Цитата(d7d1cd @ Aug 20 2015, 12:26) *
Прошивка должна будет "всю жизнь" проверять эти параметры. А так как они могут измениться, то и работа прекратится.


нет, только однократно при старте

если нужен серийный номер для дальнейшей работы, то его можно сформировать (случайнный, последовательный и хэш) при старте и передать программатору , ну и сохранить у себя
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 16th June 2025 - 20:50
Рейтинг@Mail.ru


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