Защита устройства от клонирования и апдейты по интернету.
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Защита устройства от клонирования и апдейты по интернету.
В STM32 есть возможность защищать внутреннюю flash память устройства от чтения. Это хорошая, полезная возможность. И с моей точки зрения обеспечивает достаточную степень защиты прошивки.
Но с другой стороны - хочется апдейтить устройство по интернету, чтобы добавлять новые фичи/править баги. Для этого есть UART, бутлоадер и т.д.
Но если прошивку передавать по интернету, то соответственно никакой защиты от копирования не будет.
Вопрос! Можно ли как-нить защитить прошивку (чтобы ее не слили) и в то-же время апдейтить прошивку по сети? Если какие стандартные методы решения?
Но с другой стороны - хочется апдейтить устройство по интернету, чтобы добавлять новые фичи/править баги. Для этого есть UART, бутлоадер и т.д.
Но если прошивку передавать по интернету, то соответственно никакой защиты от копирования не будет.
Вопрос! Можно ли как-нить защитить прошивку (чтобы ее не слили) и в то-же время апдейтить прошивку по сети? Если какие стандартные методы решения?
- Реклама
- Goodefine
- Держит паяльник хвостом
- Сообщения: 906
- Зарегистрирован: Ср апр 16, 2008 13:22:54
- Откуда: Приднестровье, Тирасполь
Re: Защита устройства от клонирования и апдейты по интернету
Есть. Криптованный бут.
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: Защита устройства от клонирования и апдейты по интернету
И как криптованный бут поможет?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18591
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Защита устройства от клонирования и апдейты по интернету
элементарно. поставляется устройство с прошитым и аппаратно защищенным от считывания загрузчиком. публично распространяется зашифрованная прошивка, которую загрузчик сам расшифровывает. без знания ключа и алгоритма расшифровки, спрятанного в загрузчике, публичная прошивка бесполезна.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: Защита устройства от клонирования и апдейты по интернету
Т.е:
1. Пишем загрузчик в защищенную от чтения flash.
2. Загрузчику поступают данные о прошивке через uart
3. Загрузчик пишет их в flash не снимая флага "защита от чтения"
Возможно невнимательно читал документацию. Мне казалось, что пункт 3 невозможно сделать на STM32.
1. Пишем загрузчик в защищенную от чтения flash.
2. Загрузчику поступают данные о прошивке через uart
3. Загрузчик пишет их в flash не снимая флага "защита от чтения"
Возможно невнимательно читал документацию. Мне казалось, что пункт 3 невозможно сделать на STM32.
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18591
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Защита устройства от клонирования и апдейты по интернету
загрузчик расшифровывает поступающие данные и, если они корректны (CRC), только тогда пишет.balmer писал(а):3. Загрузчик пишет их в flash не снимая флага "защита от чтения"
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: Защита устройства от клонирования и апдейты по интернету
Ага, спасибо. Понял в каком моменте тупил.
- Shapa
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Пт июн 20, 2008 09:38:05
- Откуда: Харьков
- Контактная информация:
Re: Защита устройства от клонирования и апдейты по интернету
Ещё возможен такой вариант -
в Коде изначально выделяется некая часть (какие-то либы к примеру) собирается отдельно и становится необновляемой. На этапе производства зашивается 1 раз и лочется. Далее - оставшаяся часть кода при сборке линкуется с этой либой. Т.е. обновляемую часть кода можно и не шифровать. Запустить её уже не удастся (на клоне)
в Коде изначально выделяется некая часть (какие-то либы к примеру) собирается отдельно и становится необновляемой. На этапе производства зашивается 1 раз и лочется. Далее - оставшаяся часть кода при сборке линкуется с этой либой. Т.е. обновляемую часть кода можно и не шифровать. Запустить её уже не удастся (на клоне)
Re: Защита устройства от клонирования и апдейты по интернету
Ещё вариат - в часть функций/библиотек/массивов констант держать в необновляемой части прошивки.
Например, когда то мы производили Linux контроллер, с измерительными каналами. Прошивку с Linux и ПО мы не защищали никак, а низкоуровневые метрологические функции и таблицы каллибровки, идентификаторы, записывали в ПЗУ загрузчика на кристалле. Изначально это было мотивировано спецификой сертификации и защитой метрологического ПО от модификаций, но и узел защиты получился в придачу.
Например, когда то мы производили Linux контроллер, с измерительными каналами. Прошивку с Linux и ПО мы не защищали никак, а низкоуровневые метрологические функции и таблицы каллибровки, идентификаторы, записывали в ПЗУ загрузчика на кристалле. Изначально это было мотивировано спецификой сертификации и защитой метрологического ПО от модификаций, но и узел защиты получился в придачу.
- balmer
- Это не хвост, это антенна
- Сообщения: 1433
- Зарегистрирован: Вс дек 02, 2012 03:13:48
- Откуда: Калининград
Re: Защита устройства от клонирования и апдейты по интернету
Да, думал об этом. Как платки придут (которые оочень задержались в связи с Китайским Новым годом), так и буду экспериментировать._kp писал(а):Ещё вариат - в часть функций/библиотек/массивов констант держать в необновляемой части прошивки.


