• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Как защитить свою разработку от копирования

pvvx

Активный участник сообщества
В ESP-32 появмлся кусочек махонький внутренней памяти именно для шифрованного хранения всяких ключей, адресов, явок, паролей. Из 1 KB 256 байт под мак адрес и конфигурацию чипа, остальные 768 - под зашифрованные данные. В тип шифрования не вникал. НО такое в новом чипе есть именно для прятания суперважных данных. Начиная от простых логинов паролей доступа к сети.
В RTL8710AF имеется OTP область встроенной Flash и eFuse область чипа с несколькими блоками для пользователя и одного для конфигурации системы (пердустановок и калибровок WiFi и других частей чипа) . Интерфейс для работы сними выведен до уровня API. Ну и отключение внешнего доступа потрохам присутствует, как у любого нормального MCU. (ESP-32S нельзя отнести к нормальным - он не доделан, а больше похож на альфа версию для ознакомления с тем что вышло... и использовать его кроме как в DIY нет возможности, по тому защиты ему вообще не нужны (разный рынок с RTL-ами). Внешняя flash у него прописывается чем угодно. Применяемая критография только низкого уровня и вскрывается на раз. Последние поправки пока не смотрел, но и там были проблемы в чипе... )
 
Последнее редактирование:

Bekas

Member
Всем добрый день!
Если программу с нашего устройства на ESP 07 скачают люди, чтоб использовать в своих корыстных целях, сложно им будет убрать логотип и адрес сайта, и где их лучше размещать?
 

Bekas

Member
@Bekas не сложно. Какие у вас есть варианты размещения?
Сергей, спасибо большое за ответ! Есть проблема. Мы работали над проектом больше года. Я не электронщик, технолог. Когда я узнал у моего партнера и разработчика электроники, что нет защиты у ESP 8266, я нашел ваш форум. Наверно можно понять мои переживания, когда вся работа на смарку. Не знаю что делать. Думал что можно как на атмеловских камнях поставить защиту. А сейчас не знаю что делать.
 
Последнее редактирование:

=AK=

New member
Есть проблема. Мы работали над проектом больше года. Я не электронщик, технолог. Когда я узнал у моего партнера и разработчика электроники, что нет защиты у ESP 8266, я нашел ваш форум. Наверно можно понять мои переживания, когда вся работа на смарку. Не знаю что делать. Думал что можно как на атмеловских камнях поставить защиту. А сейчас не знаю что делать.
Добавьте в свое устройство маленький микроконтроллер, защищенный от копирования, например, атмеловский. Организуйте общение между этим микроконтроллером и ESP8266, пусть ESP8266 время от времени у него что-то спрашивает (в т.ч логотип, адрес сайта, и т.п.), а микроконтроллер отвечает, причем запрос и ответ должны быть неочевидными (зашифрованными, например). При отсутствии ответов или при неправильных ответах пусть ваша ESP8266 программа или вообще перестанет работать, или пусть работает неправильно, глючит.
 

Bekas

Member
Спасибо за идею!
Те поставить бюджетный атмеловский чип, как вариант, и наладить общение между чипом и ESP. Я правильно понял? Это называется электронный ключ?
 
Последнее редактирование:

=AK=

New member
относительно атмеловских защищенных от копирования
вот предложение - прочтут все что там есть
Насколько я понимаю, вопрос только в цене. Эти ребята прочитают STM32, но возьмут втрое дороже (120 тыр) чем за Atmel (40 тыр). STM8 в их списке вроде как нет, но наверняка найдутся другие, кто их тоже прочтет.

"Абсолютная защита от копирования" есть фикция. Реальнее закладываться на обновления программы. Все равно в каждой программе есть баги, которые надо исправлять. Поэтому те, кто прочтет "электронный ключ" один раз, обречены выпускать устаревшую копию, которая, скажем, через год уже не сможет работать с обновленным софтом. А если им придется читать чип снова и снова каждые несколько месяцев, когда выходит обновление, то нет особой разницы сколько стоит однократное чтение, 40 тыр или 1 лимон, "замучаются пыль глотать" (с). Причем обновления могут быть как реальные, так и вполне себе фиктивные, только чтобы досадить пиратам.
 

Bekas

Member
"Абсолютная защита от копирования" есть фикция. Реальнее закладываться на обновления программы. Все равно в каждой программе есть баги, которые надо исправлять. Поэтому те, кто прочтет "электронный ключ" один раз, обречены выпускать устаревшую копию, которая, скажем, через год уже не сможет работать с обновленным софтом. А если им придется читать чип снова и снова каждые несколько месяцев, когда выходит обновление, то нет особой разницы сколько стоит однократное чтение, 40 тыр или 1 лимон, "замучаются пыль глотать" (с). Причем обновления могут быть как реальные, так и вполне себе фиктивные, только чтобы досадить пиратам.
Большое спасибо! Сообществу этого форума. Мне кажется, я понял ситуацию. Надо постоянно двигаться, но элементарная гигиена, то же нужна.
 
  • Like
Реакции: =AK=

=AK=

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

=AK=

New member
Это не будет работать на ESP так как такую защиту просто стирают.
более того затрахаетесь рекламации получать от клиентов с такой защитой.
Это вам не прогу защищать которая всегда в инете
Я говорил "в электронном ключе", т.е во внешнем, хоть как-то защищенном чипе, сломать который стоит денег. Если изготовитель меняет его содержимое, скажем, раз в квартал, или даже просто в момент отгрузки потребителю, а первая активация устройства должна произойти в течении, скажем, полугода или даже 3-х месяцев после этого.

Рекламации будут только от пользователей, которые купили устройство, но в течении 3-х месяцев не удосужились включить его. Для отшибания коих рекламаций в описании надо прямым текстом прописать: "купил устройство - активируй его в течении максимум 3-х месяцев после покупки, иначе претензии не принимаем". В момент активации дату активации достаточно прописать куда-то в память.

Ну и рекламации от покупателей пиратских версий, конечно. Которым надо отвечать "не гонялся бы ты, поп, за дешивизной, а покупал бы ты лучше наше устройство у авторизованных дилеров"
 
Последнее редактирование:

=AK=

New member
полагаю что так для устройств делать нельзя.
Почему?
Это типа еды - свежая только три месяца - потом выбрасывать.
То есть, по-вашему еду вообще продавать нельзя, что ли?

А как же гарантия?
Гарантия дается на устройства, которыми пользователь распоряжается в соответствии с рекомендациями изготовителя. Если он устройство сунет в розетку - шиш ему, а не гарантия. Если не активировал вовремя - то же самое.

Тогда есть простое решение
Продаете пустышку с пин кодом
Включаете заходите на сайт изготоваителя пишите пин код - получаете прошивку на срок подписки.
Это не работает. Пирату достаточно купить одно устройство и расплодить копии. Пиратские копии неотличимы от легальной.
 

pvvx

Активный участник сообщества
Как происходит процесс реверс инжиниринга — Реверс инжиниринг электроники
"Несмотря на то, что получение софта из микросхемы, является законной и в большинстве случаев технологически исполнимой процедурой, мы не предоставляем такой услуги. Главной причиной этого является её полная бесполезность, так как написание новой прошивки зачастую проще и дешевле. Но самое главное – любое программное обеспечение требует поддержки и развития, что невозможно сделать, имея на руках только бинарный код прошивки."
 

=AK=

New member
В вашем варианте Вы устройство продаете на три месяца.
потом надо покупать новове.
Дл этого еще никто не додумался
Ну есть устройства которые после срока гарантии разваливаются
но не три же месяца
Такое дерьмо еще не выпускают
Вы не поняли. Не надо ничего покупать через три месяца. Вы покупаете устройство, и в течении трех месяцев должны его включить хотя бы один раз. После этого оно будет работать сколь угодно долго.

Как вариант делаем так
по пин коду купивший грузит загрузку но через например 6 месяцев надо обновить
тогда начало работы устройства не зависит от того когда купили
но если не загрузит снова то перестанет работать
------------------
можно продавать пин код на разный срок обновления и по разной цене
при этом при новом обновлении будут и новые функции доступны
--------------------
сейчас все приложения аналогично продаются
Я уже задавал этот вопрос, но вы на него не ответили: как в вашем варианте отличить пиратскую копию от законной?

И кому охота каждые 6 месяцев возиться с обновлениями?
 

=AK=

New member
Но это все же лучше чем купить и через три месяца выкинуть.
Если вам хочется купить и выкинуть, можете сделать это сразу. Не обязательно ждать три месяца. Однако это ваше желание не имеет никакого отношения к предмету обсуждения. Вы способны что-то по существу дела сказать, кроме пионерских предложений залить эпоксидкой и отломать ножки?

Так как это дает несанкционированный доступ к устройствам
Вы бредите.
 

=AK=

New member
не угадали. Есть еще две попытки.
2. Дурака валяете.
3. Просто не догоняете, что я предложил. Из чего опять следует (самый достоверный) вариант 1 - вы бредите.

Бремя доказательства высосанного из пальца утверждения что это якобы "дает несанкционированный доступ к устройствам" лежит на вас. Без доказательств это точно бред.
 

=AK=

New member
вот вам элементарный способ обойти защиту активации от сервера времени
Ставим свой сервер
Во флешке находим имя сервера и заменяем на свой сервер либо вообще закрываем выход в интернет и подставляем свой
после этого передаем в ESP нужную дату активации
Это тоже бред. Поскольку все эти действия пират вполне может проделать на своей территории и с одним образцом. Но пират не будет ставить "свой сервер" или закрывать выход в интернет на территории каждого пользователя, которому он продал пиратский продукт. Ибо вся прибыль от продажи ворованного продукта уйдет на эти бессмысленные телодвижения.

А при желании имя сервера легко "размазать" по коду защищенного ключа. К тому же читать время не обязательно с одного сервера.
 
Сверху Снизу