Например TDA7294

Форум РадиоКот :: Просмотр темы - Защита устройства от клонирования и апдейты по интернету.
Форум РадиоКот
https://radiokot.ru/forum/

Защита устройства от клонирования и апдейты по интернету.
https://radiokot.ru/forum/viewtopic.php?f=59&t=140759
Страница 1 из 1

Автор:  balmer [ Вт янв 17, 2017 13:54:21 ]
Заголовок сообщения:  Защита устройства от клонирования и апдейты по интернету.

В STM32 есть возможность защищать внутреннюю flash память устройства от чтения. Это хорошая, полезная возможность. И с моей точки зрения обеспечивает достаточную степень защиты прошивки.

Но с другой стороны - хочется апдейтить устройство по интернету, чтобы добавлять новые фичи/править баги. Для этого есть UART, бутлоадер и т.д.

Но если прошивку передавать по интернету, то соответственно никакой защиты от копирования не будет.

Вопрос! Можно ли как-нить защитить прошивку (чтобы ее не слили) и в то-же время апдейтить прошивку по сети? Если какие стандартные методы решения?

Автор:  Goodefine [ Вт янв 17, 2017 14:02:49 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

Есть. Криптованный бут.

Автор:  balmer [ Вт янв 17, 2017 14:08:56 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

И как криптованный бут поможет?

Автор:  ARV [ Вт янв 17, 2017 14:10:42 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

элементарно. поставляется устройство с прошитым и аппаратно защищенным от считывания загрузчиком. публично распространяется зашифрованная прошивка, которую загрузчик сам расшифровывает. без знания ключа и алгоритма расшифровки, спрятанного в загрузчике, публичная прошивка бесполезна.

Автор:  balmer [ Вт янв 17, 2017 14:15:25 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

Т.е:
1. Пишем загрузчик в защищенную от чтения flash.
2. Загрузчику поступают данные о прошивке через uart
3. Загрузчик пишет их в flash не снимая флага "защита от чтения"

Возможно невнимательно читал документацию. Мне казалось, что пункт 3 невозможно сделать на STM32.

Автор:  ARV [ Вт янв 17, 2017 14:17:21 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

balmer писал(а):
3. Загрузчик пишет их в flash не снимая флага "защита от чтения"
загрузчик расшифровывает поступающие данные и, если они корректны (CRC), только тогда пишет.

Автор:  balmer [ Вт янв 17, 2017 14:19:53 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

Ага, спасибо. Понял в каком моменте тупил.

Автор:  Shapa [ Ср янв 25, 2017 01:00:49 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

Ещё возможен такой вариант -
в Коде изначально выделяется некая часть (какие-то либы к примеру) собирается отдельно и становится необновляемой. На этапе производства зашивается 1 раз и лочется. Далее - оставшаяся часть кода при сборке линкуется с этой либой. Т.е. обновляемую часть кода можно и не шифровать. Запустить её уже не удастся (на клоне)

Автор:  _kp [ Вт фев 14, 2017 12:18:44 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

Ещё вариат - в часть функций/библиотек/массивов констант держать в необновляемой части прошивки.

Например, когда то мы производили Linux контроллер, с измерительными каналами. Прошивку с Linux и ПО мы не защищали никак, а низкоуровневые метрологические функции и таблицы каллибровки, идентификаторы, записывали в ПЗУ загрузчика на кристалле. Изначально это было мотивировано спецификой сертификации и защитой метрологического ПО от модификаций, но и узел защиты получился в придачу.

Автор:  balmer [ Вт фев 14, 2017 13:43:04 ]
Заголовок сообщения:  Re: Защита устройства от клонирования и апдейты по интернету

_kp писал(а):
Ещё вариат - в часть функций/библиотек/массивов констант держать в необновляемой части прошивки.


Да, думал об этом. Как платки придут (которые оочень задержались в связи с Китайским Новым годом), так и буду экспериментировать.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/