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

 
 
> Bootloader для LPC2364
Step_ARM
сообщение Jul 11 2008, 09:25
Сообщение #1


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

Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870



Добрый день...
Нигде не нашел описания как программируется флэш на низком уровне. Везде используются функции заводского загрузчика. Идея такова -- надо написать свой загрузчик вместо заводского в ту же область памяти(заменить). Есть ли у кого информация по этому вопросу?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
navy2000
сообщение Jul 13 2008, 10:43
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



В ту же тему. Есть ли возможность защитить изделие на похожем проце (ARM NXP) от тиражирования у контрактного производителя. Железо делают они, они же прошивают и продают, а мне нужно знать сколько приборов было произведено (прошито). Используя стандартный загрузчик шифровать прошивку не получится.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 13 2008, 11:03
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(navy2000 @ Jul 13 2008, 12:43) *
Есть ли возможность защитить изделие ...

В описанных условиях, естественно нет smile.gif. В подобных случаях для зашиты от ленивого производителя тспользую далласовские однопроводные датчики температуры (есть и просто с серийным номером без ничего) на основе их серийного номера генерится ключик и прописывается в конфигурацию (у меня I2C EEPROM-ки стоят) изделия.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
navy2000
сообщение Jul 14 2008, 13:31
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Цитата(zltigo @ Jul 13 2008, 18:03) *
В описанных условиях, естественно нет smile.gif. В подобных случаях для зашиты от ленивого производителя тспользую далласовские однопроводные датчики температуры (есть и просто с серийным номером без ничего) на основе их серийного номера генерится ключик и прописывается в конфигурацию (у меня I2C EEPROM-ки стоят) изделия.

Объясните подробнее.
Допустим у меня на плате есть уникальный серийник (DALLAS или что то подобное), как в этом случае защититься от тиражирования? Я заранее не знаю номера серийника, знаю только, что они не повторятся. Я не имею возможности осуществлять програмирование загрузчика, который бы раскодировал зашифрованый hex файл при загрузке. Но я могу сделать так, чтоб программа читала серийник и отдавала компьютеру (устройству производящему програмирование). Но протокол загрузки LPC открытый и если подслушать програмирование можно восстановить исходный файл.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 14 2008, 15:24
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(navy2000 @ Jul 14 2008, 15:31) *
Я заранее не знаю номера серийника...

Я кажется почти все написал...
Серийные номера сообщаются мне, по ним генерятся ключи, отсылаются и прошиваются в EEPROM для снятия ограничений в работе на объекте. Рассылкой ключей занимается майлробот - получает письмо с разовым ключем (256 символов) на генерацию и серийником и высылает в ответ письмо с сгенерированным ключем под присланный серийный номер. Разовый ключ вычеркивается из списка действующих, в лог файл заносится факт использования, серийный номер, сгенерированный ключ и кто запросил серийник.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
navy2000
сообщение Jul 16 2008, 02:43
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Цитата(zltigo @ Jul 14 2008, 22:24) *
Я кажется почти все написал...
Серийные номера сообщаются мне, по ним генерятся ключи, отсылаются и прошиваются в EEPROM для снятия ограничений в работе на объекте. Рассылкой ключей занимается майлробот - получает письмо с разовым ключем (256 символов) на генерацию и серийником и высылает в ответ письмо с сгенерированным ключем под присланный серийный номер. Разовый ключ вычеркивается из списка действующих, в лог файл заносится факт использования, серийный номер, сгенерированный ключ и кто запросил серийник.

Вот тут и начинаются мелкие нюансы. Чтоб пересылать мне номера ключей, у производителя должна быть прошивка, которая могла бы их читать. А еще лучше, могла бы выполнять ограниченый набор функций (для проверки работоспособности изделия перед продажей). Если ограничения в работе на объекте зависят от выданых ключей, значит у производителя есть вся прошивка (без ключей работающая в ограниченном режиме и не шифрованная), которую он волен запустить в дизасемблере под отладчиком, обнаружить затычку (или несколько) и заблокировать ее (в простейшем случае заменой условного перехода на безусловный). Все будет зависеть от квалификации ломателя. Поэтому, выдавать нешифрованную прошивку смысла нет. Но чтоб можно было пользоваться шифрованной прошивкой в проц нужно загрузить бутлоадер с дешифрователем. А как это сделать? Снова речь идет о выдаче открытого hex-а с алгоритмом дешифровки (пусть даже он привязан к серийнику). А это просто еще одна ступенька в лестнице к взлому, не более того.
Не хотелось бы орентироваться на защиту через незнание, все тайное когдато станет явным (вспомните MIFARE), а хотелось бы придумать такой алгоритм, где суть алгоритма известна, но все же вскрыть его сложно.
Go to the top of the page
 
+Quote Post
meister
сообщение Jul 16 2008, 05:29
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 219
Регистрация: 20-11-07
Пользователь №: 32 484



Цитата(navy2000 @ Jul 16 2008, 06:43) *
хотелось бы придумать такой алгоритм, где суть алгоритма известна, но все же вскрыть его сложно.


Тогда "враги" поставят "симулятор серийника" smile.gif
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 16 2008, 06:53
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(meister @ Jul 16 2008, 08:29) *
Тогда "враги" поставят "симулятор серийника" smile.gif

Кстати-да! кто мешает поставить эмулятор датчика с зашитым в него "уникальным" серийником?


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
navy2000
сообщение Jul 16 2008, 12:44
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874



Цитата(MrYuran @ Jul 16 2008, 13:53) *
Кстати-да! кто мешает поставить эмулятор датчика с зашитым в него "уникальным" серийником?

Вот это как раз мало вероятно. Серийник - MAC адрес в Ethernet сети и вряд ли есть смысл его эмулировать. Несколько приборов в одной сетке работать перестанут, а это уже не продашь.

А насколько открыт протокол програмирования встроенной флешь через JTAG интерфейс?
Есть такая мысль, собрать аппаратную приблуду на стороннем проце (с закрытой прошивкой) которая при коннекте к разъему JTAG и последующем включении прошивает загрузчик в целевой LPC. А потом грузим его через бут лоадер шифрованным hex-ом.
Эта аппаратная приблуда и считает сколько раз она прошила прибор.
Покритикуйте идею. Насколько сложно подслушать и воспроизвести процесс програмирования через JTAG? И нужна ли в данном случае привязка к серийнику?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Step_ARM   Bootloader для LPC2364   Jul 11 2008, 09:25
- - meister   Цитата(Step_ARM @ Jul 11 2008, 13:25) Доб...   Jul 11 2008, 10:32
- - Step_ARM   1. NXP в свое время закрывала загрузчик и на RD2.....   Jul 12 2008, 08:32
|- - zltigo   Цитата(Step_ARM @ Jul 12 2008, 10:32) 3. ...   Jul 12 2008, 09:26
- - HARMHARM   Цитата(Step_ARM @ Jul 11 2008, 12:25) ......   Jul 12 2008, 17:52
|- - zltigo   Цитата(HARMHARM @ Jul 12 2008, 19:52) Зам...   Jul 12 2008, 17:57
|- - KRS   Цитата(zltigo @ Jul 12 2008, 21:57) Раньш...   Jul 12 2008, 18:14
|- - zltigo   Цитата(KRS @ Jul 12 2008, 20:14) А что за...   Jul 12 2008, 18:23
||- - zltigo   Цитата(navy2000 @ Jul 16 2008, 14:44) Нас...   Jul 16 2008, 13:11
||- - navy2000   Цитата(zltigo @ Jul 16 2008, 20:11) Легко...   Jul 16 2008, 13:37
||- - zltigo   Цитата(navy2000 @ Jul 16 2008, 15:37) Или...   Jul 16 2008, 14:07
|- - zltigo   Цитата(navy2000 @ Jul 16 2008, 04:43) Вот...   Jul 16 2008, 08:02
- - Step_ARM   Цитата(zltigo @ Jul 12 2008, 13:26) Это В...   Jul 14 2008, 04:45
|- - meister   Цитата(Step_ARM @ Jul 14 2008, 08:45) Упо...   Jul 14 2008, 05:38
||- - Step_ARM   Цитата(meister @ Jul 14 2008, 09:38) Вы х...   Jul 14 2008, 07:31
||- - meister   Цитата(Step_ARM @ Jul 14 2008, 11:31) 8kB...   Jul 14 2008, 11:25
|- - zltigo   Цитата(Step_ARM @ Jul 14 2008, 06:45) Кто...   Jul 14 2008, 07:55
||- - Step_ARM   Цитата(zltigo @ Jul 14 2008, 11:55) Кто В...   Jul 14 2008, 18:11
||- - zltigo   Цитата(Step_ARM @ Jul 14 2008, 20:11) 1. ...   Jul 14 2008, 18:28
||- - Step_ARM   Когда кто-то чем-то не владеет, то сразу начинает ...   Jul 15 2008, 07:51
||- - zltigo   Цитата(Step_ARM @ Jul 15 2008, 09:51) Вам...   Jul 15 2008, 10:11
|- - shahr   Цитата(Step_ARM @ Jul 14 2008, 07:45) Вы ...   Jul 15 2008, 12:31
|- - Step_ARM   Цитата(shahr @ Jul 15 2008, 16:31) Арифме...   Jul 15 2008, 19:09
|- - zltigo   Цитата(Step_ARM @ Jul 15 2008, 21:09) А н...   Jul 15 2008, 20:19
|- - Step_ARM   Цитата(zltigo @ Jul 16 2008, 00:19) Угу.....   Jul 16 2008, 06:40
|- - meister   Цитата(Step_ARM @ Jul 16 2008, 10:40) в д...   Jul 16 2008, 07:12
|- - Step_ARM   Цитата(meister @ Jul 16 2008, 11:12) UM10...   Jul 16 2008, 08:06
|- - shahr   Цитата(Step_ARM @ Jul 16 2008, 11:06) Это...   Jul 21 2008, 08:43
- - АДИКМ   я Вам больше скажу, lpc2364/66/68 - это один и тот...   Jul 15 2008, 20:46
- - navy2000   Конечно, загрузчики можно шить у себя, но блин как...   Jul 17 2008, 06:00
|- - MrYuran   Цитата(navy2000 @ Jul 17 2008, 09:00) Поэ...   Jul 17 2008, 06:14
|- - zltigo   Цитата(MrYuran @ Jul 17 2008, 08:14) Имее...   Jul 17 2008, 07:06
- - navy2000   Еще одна идея. Исходим из того, что серийники в це...   Jul 17 2008, 13:08
|- - zltigo   Цитата(navy2000 @ Jul 17 2008, 15:08) Еще...   Jul 17 2008, 13:52
|- - Step_ARM   Цитата(navy2000 @ Jul 17 2008, 17:08) Еще...   Jul 18 2008, 09:34
|- - navy2000   Цитата(Step_ARM @ Jul 18 2008, 16:34) Я в...   Jul 18 2008, 10:30
|- - Сергей Борщ   Цитата(Step_ARM @ Jul 18 2008, 12:34) код...   Jul 18 2008, 12:28
|- - zltigo   Цитата(Сергей Борщ @ Jul 18 2008, 14:28) ...   Jul 18 2008, 13:18
|- - meister   Цитата(zltigo @ Jul 18 2008, 17:18) Да со...   Jul 18 2008, 13:29
|- - zltigo   Цитата(meister @ Jul 18 2008, 15:29) Загр...   Jul 18 2008, 13:53
|- - Step_ARM   Цитата(zltigo @ Jul 18 2008, 17:53) Не пр...   Jul 19 2008, 05:52
|- - zltigo   Цитата(Step_ARM @ Jul 19 2008, 07:52) Но ...   Jul 19 2008, 08:04
|- - Step_ARM   Цитата(zltigo @ Jul 19 2008, 12:04) Отнюд...   Jul 19 2008, 19:20
|- - HARMHARM   Цитата(zltigo @ Jul 19 2008, 11:04) ... П...   Jul 25 2008, 07:50
|- - zltigo   Цитата(HARMHARM @ Jul 25 2008, 09:50) Зад...   Jul 25 2008, 08:07
- - zltigo   Moderator: Часть ветки перенесена в оффтопик. http...   Jul 21 2008, 17:42


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

 


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


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