реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> STM32Fxxxx, Встроенные бутлодер. Шифрование
KSN
сообщение Jul 10 2015, 02:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304



Существует ли возможность с помощью встроенного бутлодера загружать шифрованную прошивку, так чтобы нельзя было ее дешифровать? В настоящее время использую собственный загрузчик, но с ростом семейства STM32F увеличивается мин. объем сектора. Объем кода загрузчика <3кБайт и отдавать ему 16кБайт - жалко.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 10 2015, 04:52
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



С помощью встроенного - нельзя. 16 К - мелочи по сравнению с оставшимся объемом.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KSN
сообщение Jul 10 2015, 04:55
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 404
Регистрация: 3-12-04
Из: Новосибирск
Пользователь №: 1 304



Цитата(Сергей Борщ @ Jul 10 2015, 10:52) *
С помощью встроенного - нельзя. 16 К - мелочи по сравнению с оставшимся объемом.

Понял. Спасибо.
Go to the top of the page
 
+Quote Post
Fedor
сообщение Jul 10 2015, 18:31
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Цитата(KSN @ Jul 10 2015, 08:09) *
Существует ли возможность с помощью встроенного бутлодера загружать шифрованную прошивку, так чтобы нельзя было ее дешифровать? В настоящее время использую собственный загрузчик, но с ростом семейства STM32F увеличивается мин. объем сектора. Объем кода загрузчика <3кБайт и отдавать ему 16кБайт - жалко.


При помощи встроенного бутлодера грузите нешифрованный расшифровывальщик и шифрованную часть. При первом старте первую часть переписываете в sram и расшифровываетесь хоть на всю флешь.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jul 10 2015, 19:30
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Fedor @ Jul 10 2015, 21:31) *
При помощи встроенного бутлодера грузите нешифрованный расшифровывальщик и шифрованную часть. При первом старте первую часть переписываете в sram и расшифровываетесь хоть на всю флешь.


И кто помешает подключиться дебаггером и почитать, что вы там расшифровываете? wink.gif
Go to the top of the page
 
+Quote Post
Fedor
сообщение Jul 10 2015, 20:38
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Цитата(mantech @ Jul 11 2015, 01:30) *
И кто помешает подключиться дебаггером и почитать, что вы там расшифровываете? wink.gif

Уарт1 оставить для прошивки, pio для дебаггера "отпилить" ? По моему весь вопрос как спрятать -ключ-.. Если правильно додумал прошивка высылается заказчику девайса индивидуально, тогда схема... заказчик шлет уид процессора под него с ключем+уид генерится зашифрованная часть прошивки, уид не подошел - получили камень. Проблема если заказчик отльет свою схему с неотпиленными свд?
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jul 10 2015, 21:35
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



загрузчик с ключами вы должны заливать сами, после чего можно спокойно отправлять заказчику зашифрованные обновления
если вы отдаёте заказчику загрузчик, то отдавайте лучше сразу незашифрованные обновления
камень не должен превращаться в камень при любом исходе загрузки - это собственность заказчика


Сообщение отредактировал Огурцов - Jul 10 2015, 21:37
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 10 2015, 22:02
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (mantech @ Jul 10 2015, 22:30) *
И кто помешает подключиться дебаггером и почитать, что вы там расшифровываете? wink.gif

Хе - хе, кто мешает, кто мешает, ... наивный чел, не протичавший, ни разу описание, не написавший свой крипто-загрузчик ... объясняю - подключиться дебагером равносильно стереть этот крипто-загрузчик; после записи он же лочиться!, во всяком случае для семейства STM32Fxxx without prodblem.

QUOTE (Огурцов @ Jul 11 2015, 00:35) *
загрузчик с ключами вы должны заливать сами, после чего можно спокойно отправлять заказчику зашифрованные обновления
если вы отдаёте заказчику загрузчик, то отдавайте лучше сразу незашифрованные обновления
камень не должен превращаться в камень при любом исходе загрузки - это собственность заказчика

Огурцов, два момента! Первое это закриптованый загузчик внутри проца кем-то ЗАПРОГРАМИРОВАНЫЙ и залочен! (а ЕСЛИ нет, ... тогда ж..А!). Второе - загружаемая крипто-прога, ... про ключи забывем сразу, ... это что-то "металлическое" от вашей квартиры Огурцов. А собственность заказчика, это то что по договору! Пофукали, значит профукали и передали заказчику еще и исходники загрузчика.
Go to the top of the page
 
+Quote Post
Fedor
сообщение Jul 10 2015, 22:04
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Топикстартер ограничен в обьеме загрузчика, я так понимаю, как вариант затираемой части бутлодера с ключами вполне вариант?
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 10 2015, 22:17
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



QUOTE (Fedor @ Jul 11 2015, 01:04) *
Топикстартер ограничен в обьеме загрузчика, я так понимаю, как вариант затираемой части бутлодера с ключами вполне вариант?

Наивно про объем загрузчика думать, хотя пусть ТС озвучит проц!
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 10 2015, 22:26
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Aner @ Jul 11 2015, 01:02) *
после записи он же лочиться!
Это если делать "как правильно". Но в вопросе темы явно сказано: используя встроенный загрузчик. Поэтому если
Цитата(Fedor @ Jul 10 2015, 21:31) *
При помощи встроенного бутлодера грузите нешифрованный расшифровывальщик и шифрованную часть.
то и отладчик не нужен, достаточно "нешифрованный расшифровывальщик и шифрованную часть" в смуляторе запустить.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Aner
сообщение Jul 10 2015, 22:30
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



Запрос ведь ... так, чтобы нельзя было ее дешифровать!
Go to the top of the page
 
+Quote Post
Fedor
сообщение Jul 10 2015, 22:56
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Цитата(Сергей Борщ @ Jul 11 2015, 04:26) *
Это если делать "как правильно". Но в вопросе темы явно сказано: используя встроенный загрузчик. Поэтому если
то и отладчик не нужен, достаточно "нешифрованный расшифровывальщик и шифрованную часть" в смуляторе запустить.

И дать ему у валидный uid присланный от заказчика к ТС, который + ключ чтобы все заработало..
Посмотрите на STemWin например, она валидует мк и пока CRCмодуль не запустишь она не заработает..
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jul 11 2015, 00:50
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Aner @ Jul 10 2015, 22:02) *
Огурцов, два момента! Первое это закриптованый загузчик внутри проца кем-то ЗАПРОГРАМИРОВАНЫЙ и залочен!

я и говорю, этот кто-то - вы
иначе - знаю двое - знает и свинья (с) мюллер, кажется

Цитата(Aner @ Jul 10 2015, 22:02) *
Второе - загружаемая крипто-прога, ... про ключи забывем сразу

шифрование - это открытый алгоритм и закрытый ключ
поэтому ключ обязан быть закрытым, а "крипто-прога" - не нужна

Цитата(Aner @ Jul 10 2015, 22:02) *
Пофукали, значит профукали и передали заказчику еще и исходники загрузчика.

нет, вышедший из строя камень - целиком и полностью будет ваша проблема, даже если в договоре не прописано
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 11 2015, 04:32
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Aner @ Jul 11 2015, 01:30) *
Запрос ведь ... так, чтобы нельзя было ее дешифровать!
А вот это условие уже даелает исходную задачу нерешаемой. Или-или. Или встроенный загрузчик, но тогда можно дешифровать, или без встроенного загрузчика - тогда возможность дешифрования зависти от мастерства писателя собственного загрузчика (физический взлом кристалла не рассматриваем).


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 16:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01477 секунд с 7
ELECTRONIX ©2004-2016