pokk 0 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба Добрый день подскажите с алгоритмом, есть bootloader Ehternet на stm32, он прошивается программатором с зашитой от считывания, и дальше TFTP закидывается основное приложение(application). В случае если application перехватят, как защититься что бы его, не смогли загрузить через свой "поддельный bootloader", тупо программатором со смешением. Пока думаю добавить в шапку application, уникальный идентификатор, что бы туда не пытались закидывать всякий мусор, но этот идентификатор можно блокнотом посмотреть, да и основное приложение как бы открытое получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба Добавляйте в бутлодырь функцию дешифрования. Аналогично при подготовке общедоступного файла прошивки используйте функцию шифрования. Выбор способа шифрования - отдельный вопрос. Для начала наложите на прошивку маску по XOR с ключом "Здесь Был Вася" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 56 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба Заливаете свой бутлоадер, потом включаете собственную защиту процессора от считывания-записи. И теперь записать-считать можно только через Ethernet и ваш бутлоадер. Соответственно ваш бутлоадер должен уметь расшифровывать новые прошивки, которые вы зашифруете своей программой на компьютере. Даже если они подменят пакеты Ethernet для вашего бутлоадера и попытаются туда что-нибудь залить, при расшифровке бутлоадером не сойдутся контрольные суммы и естественно он ничего не сможет записать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 117 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба В свое время в качестве отправной точки использовал пример применения AVR231 - загрузчик с шифрованием AES. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
pokk 0 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба Благодарю, примерно в это направление и смотрел, останавливало меня только что при таком варианте нельзя будет(или можно?) отлаживать программу в пошаговом режиме, подцепить отладочный файл из другого проекта. Со структурой проекта пока совсем беда, как все вместе проверить не совсем понятно. PS: компилятор IAR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Baser 3 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба В свое время в качестве отправной точки использовал пример применения AVR231 - загрузчик с шифрованием AES. Тоже когда-то применял его для АВР практически "как был". Недавно перетянул на STM32F0 с USB загрузкой. Мороки было много, но сам криптографический движок не трогал, да и протокол только слегка дополнил. Благодарю, примерно в это направление и смотрел, останавливало меня только что при таком варианте нельзя будет(или можно?) отлаживать программу в пошаговом режиме, подцепить отладочный файл из другого проекта. Со структурой проекта пока совсем беда, как все вместе проверить не совсем понятно. PS: компилятор IAR. Ответил вам в вашем другом посте по этой теме: bootloader, bootloader+application Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 19 марта, 2018 Опубликовано 19 марта, 2018 · Жалоба Благодарю, примерно в это направление и смотрел, останавливало меня только что при таком варианте нельзя будет(или можно?) отлаживать программу в пошаговом режиме, подцепить отладочный файл из другого проекта. Со структурой проекта пока совсем беда, как все вместе проверить не совсем понятно. Это почему это нельзя? Бутлодырь заливает в память программ (защищенную от считывания) уже расшифрованный код. Отлаживайте на здоровье, просто по окончании не забудьте поставить биты защиты: на область бутлодыря - на чтение и запись; на остальную память программ - на чтение (оперирую терминологией AVR) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться