Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Зашифровать application
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему
pokk
Добрый день подскажите с алгоритмом, есть bootloader Ehternet на stm32, он прошивается программатором с зашитой от считывания, и дальше TFTP закидывается основное приложение(application). В случае если application перехватят, как защититься что бы его, не смогли загрузить через свой "поддельный bootloader", тупо программатором со смешением.
Пока думаю добавить в шапку application, уникальный идентификатор, что бы туда не пытались закидывать всякий мусор, но этот идентификатор можно блокнотом посмотреть, да и основное приложение как бы открытое получается.
V_G
Добавляйте в бутлодырь функцию дешифрования. Аналогично при подготовке общедоступного файла прошивки используйте функцию шифрования.
Выбор способа шифрования - отдельный вопрос. Для начала наложите на прошивку маску по XOR с ключом "Здесь Был Вася"
HardEgor
Заливаете свой бутлоадер, потом включаете собственную защиту процессора от считывания-записи. И теперь записать-считать можно только через Ethernet и ваш бутлоадер.
Соответственно ваш бутлоадер должен уметь расшифровывать новые прошивки, которые вы зашифруете своей программой на компьютере.
Даже если они подменят пакеты Ethernet для вашего бутлоадера и попытаются туда что-нибудь залить, при расшифровке бутлоадером не сойдутся контрольные суммы и естественно он ничего не сможет записать.
Сергей Борщ
В свое время в качестве отправной точки использовал пример применения AVR231 - загрузчик с шифрованием AES.
pokk
Благодарю, примерно в это направление и смотрел, останавливало меня только что при таком варианте нельзя будет(или можно?) отлаживать программу в пошаговом режиме, подцепить отладочный файл из другого проекта. Со структурой проекта пока совсем беда, как все вместе проверить не совсем понятно.

PS: компилятор IAR.

Baser
Цитата(Сергей Борщ @ Mar 19 2018, 09:39) *
В свое время в качестве отправной точки использовал пример применения AVR231 - загрузчик с шифрованием AES.

Тоже когда-то применял его для АВР практически "как был".
Недавно перетянул на STM32F0 с USB загрузкой. Мороки было много, но сам криптографический движок не трогал, да и протокол только слегка дополнил.

Цитата(pokk @ Mar 19 2018, 09:54) *
Благодарю, примерно в это направление и смотрел, останавливало меня только что при таком варианте нельзя будет(или можно?) отлаживать программу в пошаговом режиме, подцепить отладочный файл из другого проекта. Со структурой проекта пока совсем беда, как все вместе проверить не совсем понятно.

PS: компилятор IAR.

Ответил вам в вашем другом посте по этой теме:
bootloader, bootloader+application
V_G
Цитата(pokk @ Mar 19 2018, 17:54) *
Благодарю, примерно в это направление и смотрел, останавливало меня только что при таком варианте нельзя будет(или можно?) отлаживать программу в пошаговом режиме, подцепить отладочный файл из другого проекта. Со структурой проекта пока совсем беда, как все вместе проверить не совсем понятно.

Это почему это нельзя? Бутлодырь заливает в память программ (защищенную от считывания) уже расшифрованный код. Отлаживайте на здоровье, просто по окончании не забудьте поставить биты защиты: на область бутлодыря - на чтение и запись; на остальную память программ - на чтение (оперирую терминологией AVR)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.