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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
Tanya
сообщение Aug 19 2015, 12:15
Сообщение #16


Гуру
******

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



Цитата(d7d1cd @ Aug 19 2015, 15:06) *
Хорошо, дистанционный доступ есть. Я должен буду залить прошивку и прожечь JTAG. И никакой защиты мудить мудрить не надо. Верно?

Если только он не пригласит юникс-гуру... их трудно найти... хотя это вопрос цены. Еще должны быть соответствующие драйверы прошивщика.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 19 2015, 12:42
Сообщение #17


Гуру
******

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



QUOTE (d7d1cd @ Aug 18 2015, 14:11) *
И еще: я понимаю, что любую защиту можно взломать, поэтому прошу не указывать на это и не говорить, что все попытки данной защиты бесполезны.

А я тем неменее скажу. То, что Вы пытаетесь сделать, даже если-бы вдруг был серийный номер, вообще ЗАЩИТОЙ НЕ ЯВЛЯЕТСЯ любой, кто отличает бит от байта найдет вашу "защиту" в открытой прошивке и выкинет нафиг. Тем более имея любезно предоставленные Вами НЕСКОЛЬКО прошивок sm.gif. Так-что либо Вы сами производите устройство (обычную не электронную почту еще никто не отменял), либо доверяете. Все остальное это создание проблем на свою-же голову.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 19 2015, 12:56
Сообщение #18


Местный
***

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



Цитата(zltigo @ Aug 19 2015, 15:42) *
А я тем неменее скажу. То, что Вы пытаетесь сделать, даже если-бы вдруг был серийный номер, вообще ЗАЩИТОЙ НЕ ЯВЛЯЕТСЯ любой, кто отличает бит от байта найдет вашу "защиту" в открытой прошивке и выкинет нафиг. Тем более имея любезно предоставленные Вами НЕСКОЛЬКО прошивок sm.gif . Так-что либо Вы сами производите устройство (обычную не электронную почту еще никто не отменял), либо доверяете. Все остальное это создание проблем на свою-же голову.

Ну что я могу сказать... Вы правы. Однако чтобы найти защиту и выкинуть ее надо не просто отличать бит от байта. Надо еще уметь дизассемблировать и знать систему команд МК. Кроме этого, каждая прошивка будет скомпилирована по-разному, то есть, программа будет одна и та же, но функции будут в ней расположены каждый раз в разных местах. Да и в свободное место будет набросан мусор.
Конечно, мой заказчик может нанять человека, который все это знает, заплатить ему один раз и не покупать у меня больше прошивок. Но тут надо вычислить экономический эффект. Думаю этот знающий человек возьмет не малую цену за свою работу.
Go to the top of the page
 
+Quote Post
Abell
сообщение Aug 19 2015, 13:57
Сообщение #19


профессиональный дилетант
****

Группа: Участник
Сообщений: 866
Регистрация: 16-03-06
Из: Шебекино - Лысьва - Тюмень
Пользователь №: 15 292



Может, глупость скажу, но тем не менее - может есть более простой путь, который Вы упускаете из виду?
Допустим, нормальный договор с заказчиком.
Где-то видел, как начиналась майкрософт - договор с IBM на продажу вместе с их компьютерами MS-DOS.
Если речь идет о больших объемах - в договоре можно предусмотреть пункт о контроле количества выпускаемой продукции, и сидеть всю жизнь возле конвейера, одним глазом наблюдая количество устройств, а другим - растущий счет в банке laughing.gif


--------------------
Скоро дело сказывается, да не скоро сказка делается, или тише будешь - дальше уедешь...

Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 19 2015, 14:26
Сообщение #20


Гуру
******

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



QUOTE (d7d1cd @ Aug 19 2015, 15:56) *
Кроме этого, каждая прошивка будет скомпилирована по-разному, то есть, программа будет одна и та же, но функции будут в ней расположены каждый раз в разных местах. Да и в свободное место будет набросан мусор.

Это как раз те действия, котрые и приводят к проблемам на свою голову. Ну а ломать, уж поверьте, это не строить - квалификация нужна МИНИМАЛЬНЕЙШАЯ.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
ASN
сообщение Aug 19 2015, 14:49
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



d7d1cd
Как обстоят дела с MSP430 не знаю, но старый добрый метод делали такой (основан на том, что состояние не инициализированного ОЗУ у разных МК разное и случайное - "серийник"):
- основной функционал программы переписывается таким образом, чтобы исполнялся из ОЗУ (типа объекты с таблицами виртуальных функций);
- программа разбивается на две части: постоянная часть (загрузчик, таблицы и т.п.) и переменная (сами функции);
- при старте запускается генератор гаммы, где входными параметрами является хеш-функция состояния ОЗУ, которая накладывается на образ переменной части при копировании;
Но хотя "ломается" всё это "на раз". Поставляемая отдельно внешняя микросхема-ключ посложнее для взлома, но тоже не сильно.
Лучше, IMHO, договорится с заказчиком о "технадзоре". Выгодно обоим.
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Aug 19 2015, 15:47
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



От программиста оснащённого JTAG-отладчиком, защитить программу в МК не получится никак. Но от тупого тиражирования того файла, что вы отправите покупателю прошивки - защититься можно.

Прошивку надо отправлять на плате с контроллером и микросхемой памяти (24Сххх например). Прошивка хранится в частично закодированном виде, непригодном для прямого исполнения, а часть может работать. Ключ к раскодировке находится в микроконтроллере. Этот МК загружает прошивку в неизменном виде (зашифрованную), и запускает её в целевом устройстве.
Незакодированная часть программы делает распаковку зашифрованных модулей, постоянно запрашивая ключ к их расшифровке у МК полученного по почте. После полной распаковки программы, в МК-загрузчик раппортуется об успешном завершении распаковки, и тот стирает содержимое 24Сххх, и какой-нить бит (байт) собственной памяти, чтоб больше функцию загрузки он выполнять не мог - может даже пускай самостирается весь.

Этого достаточно, чтоб не дать тиражировать присланную по почте прошивку, т.к. она без сопровождающего МК не распакуется. А МК участвует в процессе распаковки программы только один раз, а потом блокируется.

Но от программера с JTAG-отладчиком и дизассемблером, который сольёт вашу прошивку из целевого МК это не спасёт laughing.gif Разве что МК, сопровождающий прошивку - как то ухитрится ещё и JTAG пережечь... Тогда было бы всё в порядке.
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 20 2015, 05:51
Сообщение #23


Местный
***

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



Цитата(controller_m30 @ Aug 19 2015, 18:47) *
От программиста оснащённого JTAG-отладчиком, защитить программу в МК не получится никак. Но от тупого тиражирования того файла, что вы отправите покупателю прошивки - защититься можно.
Прошивку надо отправлять на плате с контроллером и микросхемой памяти (24Сххх например). Прошивка хранится в частично закодированном виде, непригодном для прямого исполнения, а часть может работать. Ключ к раскодировке находится в микроконтроллере. Этот МК загружает прошивку в неизменном виде (зашифрованную), и запускает её в целевом устройстве.
Незакодированная часть программы делает распаковку зашифрованных модулей, постоянно запрашивая ключ к их расшифровке у МК полученного по почте. После полной распаковки программы, в МК-загрузчик раппортуется об успешном завершении распаковки, и тот стирает содержимое 24Сххх, и какой-нить бит (байт) собственной памяти, чтоб больше функцию загрузки он выполнять не мог - может даже пускай самостирается весь.
Этого достаточно, чтоб не дать тиражировать присланную по почте прошивку, т.к. она без сопровождающего МК не распакуется. А МК участвует в процессе распаковки программы только один раз, а потом блокируется.
Но от программера с JTAG-отладчиком и дизассемблером, который сольёт вашу прошивку из целевого МК это не спасёт laughing.gif Разве что МК, сопровождающий прошивку - как то ухитрится ещё и JTAG пережечь... Тогда было бы всё в порядке...

Погодите-ка... Получается, после распаковки в устройстве заказчика будет находится работоспособная прошивка. С условием того, что JTAG у него рабочий, что мешает ему скопировать эту прошивку и заливать ее уже без моего участия? Не пойдет так!

Но Ваше предложение об устройстве, заливающем прошивку, родило следующую идею. Можно изготовить устройство-загрузчик на основе лишь одного МК без микросхемы памяти. В этом МК будет хранится прошивка для заливки и загрузчик. Фьюз JTAG у этого МК должен быть пережжен. Заказчик, получив от меня устройство-загрузчик по обычной почте, подключает его к своему целевому МК. Что важно, подключение будет осуществлено по JTAG. После физического подключения, заказчик нажимает на устройстве-загрузчике кнопку, в результате чего оно начинает копировать в целевой МК прошивку. После завершения копирования, устройство-загрузчик прожигает фьюз целевого МК, а так же стирает собственную память. В результате у заказчика остается работоспособное устройство с моей прошивкой, но с невозможностью сделать копию, а так же мое устройство-загрузчик, которое уже не способно что-либо загрузить. Его он мне отсылает назад. Я через BSL загружаю в него прошивку и загрузчик и снова готов отправить ее для заливки.
Вопрос: как осуществить "общение" по JTAG порту? Где взять протокол обмена?
Go to the top of the page
 
+Quote Post
Abell
сообщение Aug 20 2015, 06:23
Сообщение #24


профессиональный дилетант
****

Группа: Участник
Сообщений: 866
Регистрация: 16-03-06
Из: Шебекино - Лысьва - Тюмень
Пользователь №: 15 292



Цитата(d7d1cd @ Aug 20 2015, 08:51) *
Погодите-ка...
Можно изготовить устройство-загрузчик...
Заказчик, получив от меня устройство-загрузчик по обычной почте...
Его он мне отсылает назад...

Извиняюсь за не в тему, но, промаявшись с полгода с Вашими мудреными прошивками, заказчик-таки будет искать другого исполнителя, озабоченного более функционалом прошивки, нежели ее защитой biggrin.gif


--------------------
Скоро дело сказывается, да не скоро сказка делается, или тише будешь - дальше уедешь...

Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 20 2015, 06:47
Сообщение #25


Местный
***

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



Цитата(Abell @ Aug 20 2015, 09:23) *
Извиняюсь за не в тему, но, промаявшись с полгода с Вашими мудреными прошивками, заказчик-таки будет искать другого исполнителя, озабоченного более функционалом прошивки, нежели ее защитой biggrin.gif

Залитую прошивку можно будет обновить по интерфейсу обмена с устройством. Так что расширение функционала или исправление ошибок, в плане заливки в целевое устройство, не проблема.
Кроме этого, другой исполнитель тоже не захочет продать прошивку только один раз, ибо там совсем не простенькая программа, а заказчик может купить ее один раз, а далее просто копировать. Другой исполнитель все это понимает и тоже будет думать над защитой. С другой стороны, исполнитель может продать ее один раз за соответствующую ей цену, однако, скорее всего, заказчик не будет совершать покупку, так как он не знает, сколько устройств он сможет "осчастливить" купленной прошивкой.

Но давайте вернемся к вопросу: как осуществить "общение" по JTAG порту? Где взять протокол обмена?

Сообщение отредактировал d7d1cd - Aug 20 2015, 06:50
Go to the top of the page
 
+Quote Post
Obam
сообщение Aug 20 2015, 07:11
Сообщение #26


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Тщета это всё…
Пару-тройку раз заказчик сымитирует ошибку при обновлении прошивки, пару раз метнётесь к нему в командировку (хорошо если километров за 150..200), потому как по почте ваш программатор дошёл битый (или "потерялся"), пообщаетесь с заказчиком "тет-а-тет" (типа "ты, мля, за мои бабки геморрой мне… " ну и т.д.) и забъёте на защиту FW в копеешном проце не предназначенном для ответственных применений.

"…Но давайте вернемся к вопросу: как осуществить "общение" по JTAG порту? Где взять протокол обмена?…"
slau320a.pdf


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
controller_m30
сообщение Aug 20 2015, 07:16
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 356
Регистрация: 24-02-09
Пользователь №: 45 309



Я бы оставил контроллер покупателю, и не загружал почту. Тот-же ATTiny85 стоит в два раза дешевле чем его пересылка в одну сторону. Включить его стоимость в цену прошивки и всего делов.

По JTAG протоколу информация у Техаса открытая. Например slau320. Там и операции с памятью, и с фьюзом есть. Но это подвиг, как по мне wink.gif
Go to the top of the page
 
+Quote Post
d7d1cd
сообщение Aug 20 2015, 07:21
Сообщение #28


Местный
***

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



Спасибо. Прошу прощения, а на кириллице нет сего произведения? Ибо буржуйский с трудом перевариваю.
Go to the top of the page
 
+Quote Post
Obam
сообщение Aug 20 2015, 07:38
Сообщение #29


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(d7d1cd @ Aug 20 2015, 11:21) *
Спасибо. Прошу прощения, а на кириллице нет сего произведения? Ибо буржуйский с трудом перевариваю.


05.gif а заказчику "руки выкручивать" собраетесь sm.gif


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
Abell
сообщение Aug 20 2015, 08:07
Сообщение #30


профессиональный дилетант
****

Группа: Участник
Сообщений: 866
Регистрация: 16-03-06
Из: Шебекино - Лысьва - Тюмень
Пользователь №: 15 292



Цитата(d7d1cd @ Aug 20 2015, 09:47) *
другой исполнитель тоже не захочет продать прошивку только один раз, ибо там совсем не простенькая программа, а заказчик может купить ее один раз, а далее просто копировать. Другой исполнитель все это понимает и тоже будет думать над защитой. С другой стороны, исполнитель может продать ее один раз за соответствующую ей цену, однако, скорее всего, заказчик не будет совершать покупку, так как он не знает, сколько устройств он сможет "осчастливить" купленной прошивкой.

Опять сильно извиняюсь, но таки ой как все сложно в отношениях с заказчиком...
Я к чему клоню - Вы участвуете в разработке устройства, соответственно имеете некоторые права на него, в части ПО. Это юридический вопрос, и решается юридическими способами.
Технологический вопрос в том, что программная защита не относится к основному функционалу устройства, а значит - требует некоторых аппаратных затрат и снижает надежность.
Финансовый вопрос в том, что Ваши изыски с защитой в конечном итоге ведут к необоснованному удорожанию устройства, а значит - снижают его конкурентоспособность. Если выпуск недорогого, востребованного на рынке устройства не в Ваших интересах - так и скажите заказчику.

В общем, или кто-то из вас кого-то куда-то пошлет лесом, или китайцы, глядя на ваши бодания, сделают такое же устройство в пять раз красивее, в десять раз быстрее и в сто раз дешевле biggrin.gif
Прошу прощения за не в тему обсуждения, дальше помолчу laughing.gif


--------------------
Скоро дело сказывается, да не скоро сказка делается, или тише будешь - дальше уедешь...

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 Текстовая версия Сейчас: 30th June 2025 - 13:17
Рейтинг@Mail.ru


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