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

 
 
> stm32F10x- защита от чтения , использование flash как eeprom и собственный бутлоадер, нюансы реализации.
Serj78
сообщение Apr 16 2013, 15:14
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499



Прошу помощи у коллег кто сталкивался с подобным противоречием..

Если ставить бит защиты от считывания- то он автоматически блокирует запись в память. ( Например чтобы не закатали через бутлоадер утилитку по считыванию памяти, такова идея защиты разработчиков ST)
Блокирует из любого источника или только со стороны бутлоадера?
Кажется на первый взгляд из любого, т.к через SWD также нельзя записать ничего.
При этом также ничего нельзя писать в память из приложения, те эмуляция eeprom для хранения настроек не возможна.. Или это не так?


Если мы хотим сделать собственный бутлоадер, то как нам закрыть доступ из встроенного?
и если мы отключили в программе swd то к swd нельзя ли подключиться до инициализации портов, и делать через него что-то ? (например читать память..)

Go to the top of the page
 
+Quote Post
6 страниц V  « < 3 4 5 6 >  
Start new topic
Ответов (60 - 74)
Aner
сообщение Apr 21 2013, 14:57
Сообщение #61


Гуру
******

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



Я выше об этом и писал, так оно и есть, только там слово 16 битное. Смысла дергать питание давно отпал, давно как научились работать в широком диапазоне питающих наряжений, то из-за чего раньше можно было... .
Go to the top of the page
 
+Quote Post
Непомнящий Евген...
сообщение Apr 21 2013, 15:09
Сообщение #62


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(Aner @ Apr 21 2013, 18:29) *
Дока -докой. А сам механиз защиты там софтовый и во флеше живёт. demiurg_spb же пишет ... и всё решилось.


Дык а можно поподробней? demiurg_spb не писал о том, что смог вычитать прогу из залоченного чипа. Он писал, что смог разлочить проц. При этом согласно доке флеш потерся.

Что такое "софтовый механизм защиты, живущий во флеше"?
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Apr 21 2013, 15:30
Сообщение #63


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Непомнящий Евгений @ Apr 21 2013, 19:09) *
Дык а можно поподробней? demiurg_spb не писал о том, что смог вычитать прогу из залоченного чипа. Он писал, что смог разлочить проц. При этом согласно доке флеш потерся.
Именно. Я стёр чип ещё до разлочки.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
PoReX
сообщение Apr 21 2013, 15:55
Сообщение #64


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(Aner @ Apr 21 2013, 01:58) *
Я же писал, поддержен WEB и по HTTP, абдейт в ручном и автоматическом режиме. В проекте не было необходимости программе следить за абдейтами на сервере в непрерывном режиме. Всё же инет не столь надежная штуковина.

Так у вас у каждой железки белый IP? WEB и HTTP помогут только в локальной сети, если нет белого IP.

Цитата(Aner @ Apr 21 2013, 01:58) *
Если сами пишите софт на C/C++ для ARM, то какую то нереальную представлялку пишите. Допустить такой баг можно в начале пути или по неопытности. Но есть тестовые устройства на которых делается прогон, контроль новой прошивки. Только затем абдейт. Обычно в новой добавляется какой либо функционал не влияющий на режим перехода в загрузчик.

Такое ощущение, что вы робот и человеческие ошибки вам чужды. Допустить баг можно всегда и даже будучи опытным программистом. В некоторых ситуациях даже тестовые устройства могут не спасти, потому что они именно тестовые, а не находятся на реальном объекте. Вы читали про то, как NASA управляет марсоходом Coriosity? Несколько человек проверяют программный код очередного задания для марсохода, затем проверяют выполнение задания на Земле в услових приближенных к марсианским и все равно допускают ошибки! Везде есть человеческий фактор!


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 21 2013, 16:28
Сообщение #65


Гуру
******

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



Так и что это даёт?
Своим загрузчиком под протектом я тоже это делаю, как мне нужно, при абдейте.

QUOTE (PoReX @ Apr 21 2013, 18:55) *
Так у вас у каждой железки белый IP? WEB и HTTP помогут только в локальной сети, если нет белого IP.

И так и так можно, в зависимости от битика установки. DHCP не проблема, был поддержан сразу.
Порт тоже указывается и прокидывается. По необходимости MAC маскарадиться.
QUOTE (PoReX @ Apr 21 2013, 18:55) *
Такое ощущение, что вы робот и человеческие ошибки вам чужды. Допустить баг можно всегда и даже будучи опытным программистом. В некоторых ситуациях даже тестовые устройства могут не спасти, потому что они именно тестовые, а не находятся на реальном объекте. Вы читали про то, как NASA управляет марсоходом Coriosity? Несколько человек проверяют программный код очередного задания для марсохода, затем проверяют выполнение задания на Земле в услових приближенных к марсианским и все равно допускают ошибки! Везде есть человеческий фактор!

Может и так. Но иногда тестовый софт получается более навороченный, ёмкий, избыточный, дорогой, чем рабочая прога; но без него никак не обеспечить определённую надежность.
Go to the top of the page
 
+Quote Post
PoReX
сообщение Apr 21 2013, 17:33
Сообщение #66


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(Aner @ Apr 21 2013, 20:28) *
И так и так можно, в зависимости от битика установки. DHCP не проблема, был поддержан сразу.
Порт тоже указывается и прокидывается. По необходимости MAC маскарадиться.

Если контроллеры можно по пальцам рук пересчитать, то вполне можно и порты прокинуть, но когда их гораздо больше и разбросаны по всей стране и даже за рубежом, то вариант с сервером намного эффективнее. ИМХО.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 21 2013, 20:42
Сообщение #67


Гуру
******

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



Изделия выпускаются серийно, ... пальцев рук посчитать не хватит. Но непонятно, у вас что, так плохо писан софт, что все время нужно делать абдейты?
Go to the top of the page
 
+Quote Post
PoReX
сообщение Apr 22 2013, 06:01
Сообщение #68


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(Aner @ Apr 22 2013, 00:42) *
Но непонятно, у вас что, так плохо писан софт, что все время нужно делать абдейты?

Я где-то писал, что все время занимаюсь обновлением прошивок?


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 22 2013, 09:20
Сообщение #69


Гуру
******

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



Поясните тогда для ясности.
... И если вы в режиме загрузчика, контролируете все время на сервере абдейты. Да, и если устойство во внутренней сети подключено к инету, как вы делаете прокидку без поддержки DHCP, указания порта в загрузчике.
Go to the top of the page
 
+Quote Post
PoReX
сообщение Apr 22 2013, 09:58
Сообщение #70


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(Aner @ Apr 22 2013, 13:20) *
Поясните тогда для ясности.
... И если вы в режиме загрузчика, контролируете все время на сервере абдейты. Да, и если устойство во внутренней сети подключено к инету, как вы делаете прокидку без поддержки DHCP, указания порта в загрузчике.

Апдейты контролируются основной программой и, если появилась новая версия, контроллер перезагружается в bootloader и тянет прошивку. Поддержка DHCP есть и в bootloader'e, и в основной прошивке, так же в сети, к которой подключены контроллеры, присутствует DHCP. Порт сервера указывается в загрузчике и в основной программе. Проброс портов в таком случае не нужен.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
Aner
сообщение Apr 22 2013, 10:54
Сообщение #71


Гуру
******

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



Значит основная прога куда то лезет по сети? И если прошла ошибка через контрольную сумму, то после перезагрузки висяк обеспечен? Поскольку пишется сразу в память без доп анализа достоверности. А кто тогда в большой кучи фаерволов, роутеров, и тп обеспечивает не закрытость портов. Кто-то ручками должен прописать, так получается. И если сервер смениться и порты, то во всей кучи устройств надо менять. Неушто в uip, в 17K поддержан DHCP, потры?
Go to the top of the page
 
+Quote Post
PoReX
сообщение Apr 22 2013, 13:16
Сообщение #72


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518



Цитата(Aner @ Apr 22 2013, 14:54) *
Значит основная прога куда то лезет по сети?

Да, на этот же сервер по своим делам и попутно проверяет версию прошивки.
Цитата(Aner @ Apr 22 2013, 14:54) *
И если прошла ошибка через контрольную сумму, то после перезагрузки висяк обеспечен?

Что значит прошла ошибка через контрольную сумму? Прошивка скачивается блоками, у каждого блока проверяется CRC, а затем после записи всей прошивки, проверяется еще и общий CRC. Конечно теоретически можно принять мусор у которого CRC совпадает с правильным, но вероятность такого события ничтожно мала!
Как тогда вы обходите данную проблему?
Цитата(Aner @ Apr 22 2013, 14:54) *
А кто тогда в большой кучи фаерволов, роутеров, и тп обеспечивает не закрытость портов. Кто-то ручками должен прописать, так получается.

Эмм...ну как бы порты не с потолка берутся, а те которые с большой вероятностью незаблокированы даже великим китайским фаерволом. Выигрыш моего метода в том, что для всей тучи устройств используется всего несколько портов(в данный момент 3), а вам необходимо каждому устройству, находящемуся за роутером, выделить порт.
Цитата(Aner @ Apr 22 2013, 14:54) *
И если сервер смениться и порты, то во всей кучи устройств надо менять.

И что в этом сложного? Делаем прошивку с новыми портами, обновляем на всех устройствах и переводим сервер на новые порты.
Цитата(Aner @ Apr 22 2013, 14:54) *
Неушто в uip, в 17K поддержан DHCP, потры?

Я же выше писал. В 17к реализована поддержка DHCP, DNS, обработка UDP пакетов, перепрошивка по TCP в локальной сети, CRC.


--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
Go to the top of the page
 
+Quote Post
k000858
сообщение Apr 25 2013, 09:34
Сообщение #73


Местный
***

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



Цитата(k000858 @ Apr 19 2013, 18:34) *
загрузчик у меня уже написан, все работает, прошивку принимает по TFTP, вопросы остались только по битам защиты и криптованию

облом. в stm32f407 нет криптопроца
придется что то свое колхозить
Go to the top of the page
 
+Quote Post
aoreh
сообщение Apr 25 2013, 09:56
Сообщение #74


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 16-06-11
Пользователь №: 65 731



Цитата(k000858 @ Apr 25 2013, 12:34) *
облом. в stm32f407 нет криптопроца
придется что то свое колхозить

не такой уж и облом, на авр не было криптомодуля и ниче, все криптовали программно (у атмела и соурсы есть) и не возмущались, не думаю, что для такой редкой и сравнительно медленной операции, как обновление прошивки, обязательно иметь криптомодуль

Сообщение отредактировал aoreh - Apr 25 2013, 09:57
Go to the top of the page
 
+Quote Post
k000858
сообщение Apr 25 2013, 10:17
Сообщение #75


Местный
***

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



Цитата(aoreh @ Apr 25 2013, 13:56) *
не такой уж и облом, на авр не было криптомодуля и ниче, все криптовали программно (у атмела и соурсы есть) и не возмущались, не думаю, что для такой редкой и сравнительно медленной операции, как обновление прошивки, обязательно иметь криптомодуль

может есть где нибудь пример софтовой реализации AES декрипта под stm32 ?
буду признателен
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:24
Рейтинг@Mail.ru


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