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

 
 
> 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
zltigo
сообщение Jul 16 2008, 13:11
Сообщение #10


Гуру
******

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



Цитата(navy2000 @ Jul 16 2008, 14:44) *
Насколько сложно подслушать и воспроизвести процесс програмирования через JTAG?

Легко. Тем более, что воспоизводить-то и не надо. Только содрать прошивку.


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


Местный
***

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



Цитата(zltigo @ Jul 16 2008, 20:11) *
Легко. Тем более, что воспоизводить-то и не надо. Только содрать прошивку.

А как же тогда загрузчик шить, чтоб его передрать было не возможно?
Что то ничего на ум не приходит.
Или как то по другому защититься, есть идеи?

Может так?
Эта некая аппаратная приблуда читает серийник, зашивает в проц алгоритм расшифровки, проц запускается из ОЗУ, затем в него льется зашифрованный загрузчик (серийником) который расшифровывается процом и пишется во флешь, после этого флешь закрывается.
То есть нужно будет перехватывать алгоритм расшифровки и отделять его от загрузчика. А весь файл будет всегда разным.
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, 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 Текстовая версия Сейчас: 25th June 2025 - 10:18
Рейтинг@Mail.ru


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