Решил пока остановиться на таком варианте (о чём речь см. ссылку)
Отправлено
Д_о_к_т_о_р__Т_у_а_м_О_с_е_с 02 сентября 2008 г. 23:06
Патсаны! Решил остановиться на следующем варианте:
Буду давать заказчику комплект EXE-шников: - генератор прошивки GenProg,exe; - программа stk500.exe для управления программатором AVR ISP II
Генератор прошивки при своём запуске пытается законектится с помощью stk500.exe и AVR ISP II с программируемым микроконтроллером. Если сумел законектится НА ЛЕТУ генерит уникальную прошивку прошивку (загрузив в неё уникальный MAC и контрольные суммы). Затем её заливает. После заливки и установки LOCK-битов сохраняет MAC-девайса и тайм-штамп сгенерированной прошивки в шифрованном файле. После чего удаляет сгенерированный файл прошивки. Таким образом получаем запрограммированный моей прогой микроконтроллер с уникальным ключом и с недоступными для считывания EEPROM и FLASH.
Идём далее... У заказчика есть пока порядка 20 сетей. В каждой от 20 до 80-ти устройств, прошитых моей прошивкой. Заказчик прошивает все девайсы сети. И подключает их к сети. Менеджер сети тоже управляется моей прошивкой. Менеджер сети считывает MAC-и всех девайсов и сохраняет в своей энергонезависимой памяти в ЗАШИФРОВАННОМ файле. И сетка лочится пока я не пришлю код активации. После того как я получу зашифрованный файл списка MAC-ов зарегистрированных в сети девайсов и зашифрованный файл сформированный генератором прошивок если всё сходится я генерю код активации и посылаю его заказчику. Заказчик вводит код активации и сетка готова к работе.
Так что основная сложность - защитить от взлома прогу для компьютера GenProg,exe. Но это сделать проще чем маленькую прожку для MCU. И при этом получить на порядки бОльшую степень защиты.