|
|
  |
stm32F10x- защита от чтения , использование flash как eeprom и собственный бутлоадер, нюансы реализации. |
|
|
|
Apr 21 2013, 15:09
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(Aner @ Apr 21 2013, 18:29)  Дока -докой. А сам механиз защиты там софтовый и во флеше живёт. demiurg_spb же пишет ... и всё решилось. Дык а можно поподробней? demiurg_spb не писал о том, что смог вычитать прогу из залоченного чипа. Он писал, что смог разлочить проц. При этом согласно доке флеш потерся. Что такое "софтовый механизм защиты, живущий во флеше"?
|
|
|
|
|
Apr 21 2013, 15:55
|
Частый гость
 
Группа: Свой
Сообщений: 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-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Apr 21 2013, 16:28
|

Гуру
     
Группа: Свой
Сообщений: 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? Несколько человек проверяют программный код очередного задания для марсохода, затем проверяют выполнение задания на Земле в услових приближенных к марсианским и все равно допускают ошибки! Везде есть человеческий фактор! Может и так. Но иногда тестовый софт получается более навороченный, ёмкий, избыточный, дорогой, чем рабочая прога; но без него никак не обеспечить определённую надежность.
|
|
|
|
|
Apr 21 2013, 17:33
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Цитата(Aner @ Apr 21 2013, 20:28)  И так и так можно, в зависимости от битика установки. DHCP не проблема, был поддержан сразу. Порт тоже указывается и прокидывается. По необходимости MAC маскарадиться. Если контроллеры можно по пальцам рук пересчитать, то вполне можно и порты прокинуть, но когда их гораздо больше и разбросаны по всей стране и даже за рубежом, то вариант с сервером намного эффективнее. ИМХО.
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Apr 22 2013, 06:01
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Цитата(Aner @ Apr 22 2013, 00:42)  Но непонятно, у вас что, так плохо писан софт, что все время нужно делать абдейты? Я где-то писал, что все время занимаюсь обновлением прошивок?
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Apr 22 2013, 09:58
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 1-05-09
Из: Ростов-на-Дону
Пользователь №: 48 518

|
Цитата(Aner @ Apr 22 2013, 13:20)  Поясните тогда для ясности. ... И если вы в режиме загрузчика, контролируете все время на сервере абдейты. Да, и если устойство во внутренней сети подключено к инету, как вы делаете прокидку без поддержки DHCP, указания порта в загрузчике. Апдейты контролируются основной программой и, если появилась новая версия, контроллер перезагружается в bootloader и тянет прошивку. Поддержка DHCP есть и в bootloader'e, и в основной прошивке, так же в сети, к которой подключены контроллеры, присутствует DHCP. Порт сервера указывается в загрузчике и в основной программе. Проброс портов в таком случае не нужен.
--------------------
«У современных мобильных телефонов такая же вычислительная мощь, что и у компьютеров NASA в 60-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Apr 22 2013, 13:16
|
Частый гость
 
Группа: Свой
Сообщений: 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-е годы. И в то время этого хватало, чтобы запустить человека в космос, а сегодня — только чтобы запускать птиц в свиней.»
|
|
|
|
|
Apr 25 2013, 09:34
|

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

|
Цитата(k000858 @ Apr 19 2013, 18:34)  загрузчик у меня уже написан, все работает, прошивку принимает по TFTP, вопросы остались только по битам защиты и криптованию облом. в stm32f407 нет криптопроца придется что то свое колхозить
|
|
|
|
|
Apr 25 2013, 09:56
|
Участник

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

|
Цитата(k000858 @ Apr 25 2013, 12:34)  облом. в stm32f407 нет криптопроца придется что то свое колхозить не такой уж и облом, на авр не было криптомодуля и ниче, все криптовали программно (у атмела и соурсы есть) и не возмущались, не думаю, что для такой редкой и сравнительно медленной операции, как обновление прошивки, обязательно иметь криптомодуль
Сообщение отредактировал aoreh - Apr 25 2013, 09:57
|
|
|
|
|
Apr 25 2013, 10:17
|

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

|
Цитата(aoreh @ Apr 25 2013, 13:56)  не такой уж и облом, на авр не было криптомодуля и ниче, все криптовали программно (у атмела и соурсы есть) и не возмущались, не думаю, что для такой редкой и сравнительно медленной операции, как обновление прошивки, обязательно иметь криптомодуль может есть где нибудь пример софтовой реализации AES декрипта под stm32 ? буду признателен
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|