|
stm32F10x- защита от чтения , использование flash как eeprom и собственный бутлоадер, нюансы реализации. |
|
|
|
 |
Ответов
|
Apr 19 2013, 03:05
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Всем привет. почитал тему, сейчас как раз занимаюсь написанием загрузчика, который по езернет будет обновлять прошивку. Если я все верно понимаю, выглядеть это будет так: 1) загрузчик стартует первым из 0x08000000 2) загрузчик снимает защиту с области памяти, необходимой для прошивки, стирает необходимые страницы флэш 3) принимает новый код, дешифровывая его на лету и записывая во флэш по кусочкам по 512 байт 4) после заливки последнего кусочка закрывает флэш установкой битов защиты. с этим вроде все понятно, но есть вопросики: 1) изначально область загрузчика должна быть закрыта битами защиты, что бы его не могли считать средствами отладки и левой прогой во флэш. как называются эти биты в stm32f4 и можно ли их устанавливать не на всю флэш а на определенные области? 2) при снятии защиты с области памяти основной прошивки, не сотрется ли вся флэш, включая загрузчик? 3) stm32f4 умеет декриптить AES, DES алгоритмами, думаю их и заюзать. какой алгоритм лучше заюзать? 4) ну допустим контроллер я научу расшифровывать, вопрос чем и как (имеет ввиду на пк) предварительно зашифровать прошивку ?
Сообщение отредактировал k000858 - Apr 19 2013, 03:10
|
|
|
|
|
Apr 19 2013, 14:06
|

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

|
QUOTE (k000858 @ Apr 19 2013, 06:05)  Всем привет. почитал тему, сейчас как раз занимаюсь написанием загрузчика, который по езернет будет обновлять прошивку. Если я все верно понимаю, выглядеть это будет так: 1) загрузчик стартует первым из 0x08000000 ... 4) ну допустим контроллер я научу расшифровывать, вопрос чем и как (имеет ввиду на пк) предварительно зашифровать прошивку ? С Ethernet есть свои особенности. В сотой серии это 107. В этой теме про сотые спрашивали. Есть несколько разных сценариев для старта загрузчика, например если есть битовый свободный порт, можно его опрашивать и стартовать. Подумайте над вариантом, если произошел сбой в процессе загрузки, в любом месте, или не совпала контрольная сумма, и тп то как откатиться назад к предыдущей прошивке. Кусочки можно и поменьше делать от 256 до 32. Думаю, что не все понятно как писать абдейт под Ethernet. Например желательна внешняя память, поскольку в загрузчике иметь дубль TCP/IP стека под 40...60K как то избыточно и много для загрузчика. Затем абдейт можно делат как по UDP, так и по TCP, так и по HTTP. Лучший алгоритм крипт/декрипт-овки, это проверенный вам. Можно и другие использовать не только AES, DES. Программу загрузчика когда пишите, обычно на C/C++, тогда и крипт/декрипт пишите, да и по-тестить можете. Если пользовать уровень HTTP, то по мне - на Java, будет универсальнее.
|
|
|
|
|
Apr 19 2013, 14:34
|

Местный
  
Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978

|
Цитата(Aner @ Apr 19 2013, 18:06)  С Ethernet есть свои особенности. В сотой серии это 107. В этой теме про сотые спрашивали. Есть несколько разных сценариев для старта загрузчика, например если есть битовый свободный порт, можно его опрашивать и стартовать. Подумайте над вариантом, если произошел сбой в процессе загрузки, в любом месте, или не совпала контрольная сумма, и тп то как откатиться назад к предыдущей прошивке. Кусочки можно и поменьше делать от 256 до 32. Думаю, что не все понятно как писать абдейт под Ethernet. Например желательна внешняя память, поскольку в загрузчике иметь дубль TCP/IP стека под 40...60K как то избыточно и много для загрузчика. Затем абдейт можно делат как по UDP, так и по TCP, так и по HTTP. Лучший алгоритм крипт/декрипт-овки, это проверенный вам. Можно и другие использовать не только AES, DES. Программу загрузчика когда пишите, обычно на C/C++, тогда и крипт/декрипт пишите, да и по-тестить можете. Если пользовать уровень HTTP, то по мне - на Java, будет универсальнее. загрузчик у меня уже написан, все работает, прошивку принимает по TFTP, вопросы остались только по битам защиты и криптованию
|
|
|
|
Сообщений в этой теме
Serj78 stm32F10x- защита от чтения , использование flash как eeprom и собственный бутлоадер Apr 16 2013, 15:14 Aner ...Если мы хотим сделать собственный бутлоадер, то... Apr 16 2013, 16:31 Непомнящий Евгений Насколько я понимаю, эти фьюзы запрещают программи... Apr 17 2013, 07:53 Aner Не совсем так, или совсем не так. Фьюзы коде-проте... Apr 17 2013, 08:31 demiurg_spb Цитата(Serj78 @ Apr 16 2013, 19:14) и есл... Apr 17 2013, 08:36 Aner QUOTE (demiurg_spb @ Apr 17 2013, 11:36) ... Apr 17 2013, 09:14  Непомнящий Евгений Цитата(Aner @ Apr 17 2013, 13:14) Это в т... Apr 17 2013, 09:29  demiurg_spb Цитата(Aner @ Apr 17 2013, 13:14) Это в т... Apr 17 2013, 10:55   kolobok0 Цитата(demiurg_spb @ Apr 17 2013, 14:55) ... Apr 18 2013, 15:19    demiurg_spb Цитата(kolobok0 @ Apr 18 2013, 19:19) о к... Apr 21 2013, 12:15 Aner Немного не так. Вы пишите свой загрузчик и ставите... Apr 17 2013, 10:16 Непомнящий Евгений Цитата(Aner @ Apr 17 2013, 14:16) Немного... Apr 17 2013, 10:33 Aner Это понятно и это не то. Вы ведь как-то делаете за... Apr 17 2013, 10:46 Непомнящий Евгений Не, стоп. Вы говорили про бекдор - загрузка сторон... Apr 17 2013, 10:51 Aner Даташит тут не причём. Проблема, бек дора образует... Apr 17 2013, 11:47 demiurg_spb Цитата(Aner @ Apr 17 2013, 15:47) Похоже,... Apr 17 2013, 16:37 Непомнящий Евгений Подписываю. Ресурсы именно на подпись не считал. З... Apr 17 2013, 11:49 aoreh Цитата(Непомнящий Евгений @ Apr 17 2013, 14... Apr 18 2013, 09:35  Непомнящий Евгений Цитата(aoreh @ Apr 18 2013, 13:35) а заче... Apr 19 2013, 05:31   aoreh Цитата(Непомнящий Евгений @ Apr 19 2013, 08... Apr 19 2013, 13:44    Непомнящий Евгений Цитата(aoreh @ Apr 19 2013, 17:44) гараин... Apr 19 2013, 14:36 Aner Алгоритм цифровой подписи вам ничего особенного не... Apr 17 2013, 13:59 Непомнящий Евгений Цитата(Aner @ Apr 17 2013, 17:59) Алгорит... Apr 17 2013, 14:21 Aner Не, мне читать не надо, я и так "fluffy... Apr 17 2013, 14:36 Непомнящий Евгений Гм, цифровая подпись обычно имеется в виду именно ... Apr 17 2013, 15:20 Aner Цифровая подпись есть цифровая подпись и ничего не... Apr 17 2013, 15:44 Golikov A. В целом забавная беседа%)... С одной стороны челов... Apr 17 2013, 16:21 Aner QUOTE (Golikov A. @ Apr 17 2013, 19:21) В... Apr 17 2013, 19:37 Непомнящий Евгений Цитата(Golikov A. @ Apr 17 2013, 20:21) В... Apr 18 2013, 05:06  Golikov A. Цитата(Непомнящий Евгений @ Apr 18 2013, 09... Apr 18 2013, 16:46   Serj78 Огромное спасибо всем за обсуждение!
Не ожида... Apr 18 2013, 18:51 Golikov A. Ваша беда что вы пишите это на основе ВАШЕГО лично... Apr 18 2013, 03:34 Aner QUOTE (Golikov A. @ Apr 18 2013, 06:34) В... Apr 18 2013, 09:21 IgorKossak Заканчиваем обсуждать личности!
Модератор. Apr 18 2013, 14:18 Aner В этих процах этот бит не совсем бит защиты памяти... Apr 18 2013, 19:24 Golikov A. Цитата(Aner @ Apr 18 2013, 23:24) Использ... Apr 19 2013, 08:16  Aner Цитата(Golikov A. @ Apr 19 2013, 11:16)я ... Apr 19 2013, 14:32   Golikov A. Цитата(Aner @ Apr 19 2013, 18:32) [CENSOR... Apr 19 2013, 15:18 Serj78 Цитата(Aner @ Apr 18 2013, 23:24) В этих ... Apr 19 2013, 14:26  Serj78 Цитата(Aner @ Apr 18 2013, 23:24) В этих ... Apr 19 2013, 15:04   Aner QUOTE (k000858 @ Apr 19 2013, 17:34) загр... Apr 19 2013, 14:44   Aner QUOTE (k000858 @ Apr 19 2013, 17:34) загр... Apr 19 2013, 15:20   Aner QUOTE (k000858 @ Apr 19 2013, 17:34) загр... Apr 19 2013, 15:51   k000858 Цитата(k000858 @ Apr 19 2013, 18:34) загр... Apr 25 2013, 09:34    aoreh Цитата(k000858 @ Apr 25 2013, 12:34) обло... Apr 25 2013, 09:56     k000858 Цитата(aoreh @ Apr 25 2013, 13:56) не так... Apr 25 2013, 10:17      aoreh Цитата(k000858 @ Apr 25 2013, 13:17) може... Apr 25 2013, 11:05      КонстантинТ Цитата(k000858 @ Apr 25 2013, 13:17) може... Apr 25 2013, 17:10    PoReX Цитата(k000858 @ Apr 25 2013, 13:34) обло... Apr 25 2013, 11:18     aoreh Цитата(PoReX @ Apr 25 2013, 14:18) Как эт... Apr 25 2013, 11:52      PoReX Цитата(aoreh @ Apr 25 2013, 15:52) Кроме ... Apr 26 2013, 07:52  PoReX Цитата(Aner @ Apr 19 2013, 18:06) Подумай... Apr 19 2013, 14:43 IgorKossak Golikov A., Aner, предупреждаю обоих последний раз... Apr 19 2013, 17:24 Allregia Народ, сорри за дурацкий вопрос - а чем вы далете ... Apr 20 2013, 10:12 Сергей Борщ QUOTE (Allregia @ Apr 20 2013, 13:12) Нар... Apr 20 2013, 10:59 Petka Цитата(Allregia @ Apr 20 2013, 14:12) Нар... Apr 20 2013, 11:44  Allregia Цитата(Petka @ Apr 20 2013, 13:44) srec-c... Apr 20 2013, 15:15   _Артём_ Цитата(Allregia @ Apr 20 2013, 18:15) Нав... Apr 20 2013, 16:11 PoReX Цитата(Aner @ Apr 19 2013, 19:51) У вас м... Apr 20 2013, 19:01 Allregia Цитата(PoReX @ Apr 20 2013, 21:01) Для со... Apr 20 2013, 19:43 Aner QUOTE (PoReX @ Apr 20 2013, 22:01) 1) Сер... Apr 20 2013, 21:58  PoReX Цитата(Aner @ Apr 21 2013, 01:58) Я же пи... Apr 21 2013, 15:55 Aner Чип прекрасно виден jlink'ом и стирается. Это ... Apr 21 2013, 13:42 Непомнящий Евгений Цитата(Aner @ Apr 21 2013, 17:42) Снятие ... Apr 21 2013, 14:09 Aner Дока -докой. А сам механиз защиты там софтовый и в... Apr 21 2013, 14:29 Непомнящий Евгений Цитата(Aner @ Apr 21 2013, 18:29) Дока -д... Apr 21 2013, 15:09  demiurg_spb Цитата(Непомнящий Евгений @ Apr 21 2013, 19... Apr 21 2013, 15:30 Golikov A. а вы не предполагаете что байт защиты стирается по... Apr 21 2013, 14:44 Aner Я выше об этом и писал, так оно и есть, только там... Apr 21 2013, 14:57 Aner Так и что это даёт?
Своим загрузчиком под протект... Apr 21 2013, 16:28 PoReX Цитата(Aner @ Apr 21 2013, 20:28) И так и... Apr 21 2013, 17:33 Aner Изделия выпускаются серийно, ... пальцев рук посчи... Apr 21 2013, 20:42 PoReX Цитата(Aner @ Apr 22 2013, 00:42) Но непо... Apr 22 2013, 06:01 Aner Поясните тогда для ясности.
... И если вы в режим... Apr 22 2013, 09:20 PoReX Цитата(Aner @ Apr 22 2013, 13:20) Пояснит... Apr 22 2013, 09:58 Aner Значит основная прога куда то лезет по сети? И есл... Apr 22 2013, 10:54 PoReX Цитата(Aner @ Apr 22 2013, 14:54) Значит ... Apr 22 2013, 13:16
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|