В STM32 есть возможность защищать внутреннюю flash память устройства от чтения. Это хорошая, полезная возможность. И с моей точки зрения обеспечивает достаточную степень защиты прошивки.
Но с другой стороны - хочется апдейтить устройство по интернету, чтобы добавлять новые фичи/править баги. Для этого есть UART, бутлоадер и т.д.
Но если прошивку передавать по интернету, то соответственно никакой защиты от копирования не будет.
Вопрос! Можно ли как-нить защитить прошивку (чтобы ее не слили) и в то-же время апдейтить прошивку по сети? Если какие стандартные методы решения?
элементарно. поставляется устройство с прошитым и аппаратно защищенным от считывания загрузчиком. публично распространяется зашифрованная прошивка, которую загрузчик сам расшифровывает. без знания ключа и алгоритма расшифровки, спрятанного в загрузчике, публичная прошивка бесполезна.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Т.е: 1. Пишем загрузчик в защищенную от чтения flash. 2. Загрузчику поступают данные о прошивке через uart 3. Загрузчик пишет их в flash не снимая флага "защита от чтения"
Возможно невнимательно читал документацию. Мне казалось, что пункт 3 невозможно сделать на STM32.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Ещё возможен такой вариант - в Коде изначально выделяется некая часть (какие-то либы к примеру) собирается отдельно и становится необновляемой. На этапе производства зашивается 1 раз и лочется. Далее - оставшаяся часть кода при сборке линкуется с этой либой. Т.е. обновляемую часть кода можно и не шифровать. Запустить её уже не удастся (на клоне)
Ещё вариат - в часть функций/библиотек/массивов констант держать в необновляемой части прошивки.
Например, когда то мы производили Linux контроллер, с измерительными каналами. Прошивку с Linux и ПО мы не защищали никак, а низкоуровневые метрологические функции и таблицы каллибровки, идентификаторы, записывали в ПЗУ загрузчика на кристалле. Изначально это было мотивировано спецификой сертификации и защитой метрологического ПО от модификаций, но и узел защиты получился в придачу.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения