|
Bootloader для LPC2364 |
|
|
|
 |
Ответов
|
Jul 14 2008, 13:31
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
Цитата(zltigo @ Jul 13 2008, 18:03)  В описанных условиях, естественно нет  . В подобных случаях для зашиты от ленивого производителя тспользую далласовские однопроводные датчики температуры (есть и просто с серийным номером без ничего) на основе их серийного номера генерится ключик и прописывается в конфигурацию (у меня I2C EEPROM-ки стоят) изделия. Объясните подробнее. Допустим у меня на плате есть уникальный серийник (DALLAS или что то подобное), как в этом случае защититься от тиражирования? Я заранее не знаю номера серийника, знаю только, что они не повторятся. Я не имею возможности осуществлять програмирование загрузчика, который бы раскодировал зашифрованый hex файл при загрузке. Но я могу сделать так, чтоб программа читала серийник и отдавала компьютеру (устройству производящему програмирование). Но протокол загрузки LPC открытый и если подслушать програмирование можно восстановить исходный файл.
|
|
|
|
|
Jul 14 2008, 15:24
|

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

|
Цитата(navy2000 @ Jul 14 2008, 15:31)  Я заранее не знаю номера серийника... Я кажется почти все написал... Серийные номера сообщаются мне, по ним генерятся ключи, отсылаются и прошиваются в EEPROM для снятия ограничений в работе на объекте. Рассылкой ключей занимается майлробот - получает письмо с разовым ключем (256 символов) на генерацию и серийником и высылает в ответ письмо с сгенерированным ключем под присланный серийный номер. Разовый ключ вычеркивается из списка действующих, в лог файл заносится факт использования, серийный номер, сгенерированный ключ и кто запросил серийник.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 16 2008, 02:43
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
Цитата(zltigo @ Jul 14 2008, 22:24)  Я кажется почти все написал... Серийные номера сообщаются мне, по ним генерятся ключи, отсылаются и прошиваются в EEPROM для снятия ограничений в работе на объекте. Рассылкой ключей занимается майлробот - получает письмо с разовым ключем (256 символов) на генерацию и серийником и высылает в ответ письмо с сгенерированным ключем под присланный серийный номер. Разовый ключ вычеркивается из списка действующих, в лог файл заносится факт использования, серийный номер, сгенерированный ключ и кто запросил серийник. Вот тут и начинаются мелкие нюансы. Чтоб пересылать мне номера ключей, у производителя должна быть прошивка, которая могла бы их читать. А еще лучше, могла бы выполнять ограниченый набор функций (для проверки работоспособности изделия перед продажей). Если ограничения в работе на объекте зависят от выданых ключей, значит у производителя есть вся прошивка (без ключей работающая в ограниченном режиме и не шифрованная), которую он волен запустить в дизасемблере под отладчиком, обнаружить затычку (или несколько) и заблокировать ее (в простейшем случае заменой условного перехода на безусловный). Все будет зависеть от квалификации ломателя. Поэтому, выдавать нешифрованную прошивку смысла нет. Но чтоб можно было пользоваться шифрованной прошивкой в проц нужно загрузить бутлоадер с дешифрователем. А как это сделать? Снова речь идет о выдаче открытого hex-а с алгоритмом дешифровки (пусть даже он привязан к серийнику). А это просто еще одна ступенька в лестнице к взлому, не более того. Не хотелось бы орентироваться на защиту через незнание, все тайное когдато станет явным (вспомните MIFARE), а хотелось бы придумать такой алгоритм, где суть алгоритма известна, но все же вскрыть его сложно.
|
|
|
|
|
Jul 16 2008, 12:44
|
Местный
  
Группа: Свой
Сообщений: 203
Регистрация: 17-07-06
Пользователь №: 18 874

|
Цитата(MrYuran @ Jul 16 2008, 13:53)  Кстати-да! кто мешает поставить эмулятор датчика с зашитым в него "уникальным" серийником? Вот это как раз мало вероятно. Серийник - MAC адрес в Ethernet сети и вряд ли есть смысл его эмулировать. Несколько приборов в одной сетке работать перестанут, а это уже не продашь. А насколько открыт протокол програмирования встроенной флешь через JTAG интерфейс? Есть такая мысль, собрать аппаратную приблуду на стороннем проце (с закрытой прошивкой) которая при коннекте к разъему JTAG и последующем включении прошивает загрузчик в целевой LPC. А потом грузим его через бут лоадер шифрованным hex-ом. Эта аппаратная приблуда и считает сколько раз она прошила прибор. Покритикуйте идею. Насколько сложно подслушать и воспроизвести процесс програмирования через JTAG? И нужна ли в данном случае привязка к серийнику?
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|