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

 
 
> Как защитить от клонирования оставив возможность обновить прошивки, AT91SAM7X256
OlegHmt
сообщение Dec 19 2006, 12:40
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 5-12-06
Пользователь №: 23 146



Собственно задача такова:
Нужно иметь возможность обновлять прошивки процесора у клиентов самими клиентами. То-есть при исправлении ошибок или внесении новой функциональности нужно выслать прошивку клиенту и он сам должен её залить в кристал. Но, при этом, нужно сделать так, чтобы клиент не смог склонировать устройство и зашивать в него полученую прошивку.
Сталкивался ли кто-то с такими задачами?

Пока-что у меня только общие идеи, поскольку до реализации этой части я пока не добрался. Поэтому эти идеи могут быть и неправильными. Но сами идеи следующие:
1. Написать свой загрузчик с возможностью расшифровки данных. В загрузчике заложен ключ и ID устройства. Соответсвенно клиенту сбрасывается зашыфрованая прошивка. Загрузчик расшифровывает её, получает из неё ID для которого она предназначена, сравнивает и при совпаденни прошивает флеш.
2. Чуть попроще. Часть кода, которая не будет никогда изменяться, прошивается сразу. В этой части зашивается ID и код сравнения. Прошивка не шифруется. Основная программа в какой-то момент передает управление на процедуру сравнения ID, которая в зависимости от результатов сравнения переходит в нужноё место основной программы. Как в таком случае защитить ID в прошивке, чтобы его нелегко было найти?
3. Модификация второго. Во многих местах кода открытой прошивки поставить загрузку данных из закрытой области, и выполнять с ними какие-то операции вычисляя по этим данным и данным открытой области несколько констант, которые используются закрытой частью. Этот набор операций должен изменить константы таким образом, чтобы при правильном ID получить нужные значения. При неверных значениях закрытая часть программы будет неправильно работать.

Ещё такой вопрос - можно ли пошагово проанализировать работу процесора (скажем с помощью JTAG) и посмотреть какие инструкции исполняются на каждом шаге и что находиться в регистрах процесора не зная что прошито в самом процесоре?

Возможно есть варианты получше?

Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Dec 20 2006, 12:46
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(OlegHmt @ Dec 19 2006, 11:40) *
2. Чуть попроще.
3. Модификация второго.
Возможно есть варианты получше?
Однозначно первый вариант. Второй и третий ломаются элементарно - пишется прошивка которая тупо сливает по любому доступному интерфейсу содержимое "неизменной" части прошивки. В отличие от AVR атмел не догадался вставить в ARM возможность защитить одну область кода от чтения из второй области. На AVR второй и третий вариант проходят замечательно. Причем сэкономленное на дешифровке место в программной памяти можно использовать для необновляемых (и тоже защищенных от чтения) низкоуровневых функций управления окружающим железом.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
dch
сообщение Dec 20 2006, 12:54
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Помоему это не так уходит, нужно обеспечиь зщиту помещения, компьютеров, а потом беспокоится о вскрытии прошивок. Потом если нет контроля над сбытом, то программные ухищрения никак не помогают. С контрофактом никто не борется.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Dec 20 2006, 13:31
Сообщение #4


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Эт точно, сам видел как слызывали память чипа на FRAM и при вполне реалистичном бюджете.
А уж чипы на FLASH так вообще скопировать детская задача.

Цитата(dch @ Dec 20 2006, 14:24) *
Помоему это не так уходит, нужно обеспечиь зщиту помещения, компьютеров, а потом беспокоится о вскрытии прошивок. Потом если нет контроля над сбытом, то программные ухищрения никак не помогают. С контрофактом никто не борется.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- OlegHmt   Как защитить от клонирования оставив возможность обновить прошивки   Dec 19 2006, 12:40
- - etoja   Клиент не будет клонировать твоё устройство, так к...   Dec 19 2006, 12:51
|- - SergeyDDD   Цитата(etoja @ Dec 19 2006, 13:51) Мысли ...   Dec 21 2006, 11:01
- - zltigo   Цитата(OlegHmt @ Dec 19 2006, 11:40) 1. Н...   Dec 19 2006, 14:59
- - OlegHmt   ЦитатаКлиент не будет клонировать твоё устройство,...   Dec 19 2006, 15:44
|- - zltigo   Цитата(OlegHmt @ Dec 19 2006, 14:44) Спас...   Dec 19 2006, 20:32
- - АДИКМ   Ещё такой вопрос - можно ли пошагово проанализиров...   Dec 19 2006, 19:01
- - Stanislav   Цитата(OlegHmt @ Dec 19 2006, 12:40) 1. Н...   Dec 19 2006, 19:20
- - Edmundo   Цитата(OlegHmt @ Dec 19 2006, 12:40) Ещё ...   Dec 19 2006, 19:38
|- - Stanislav   Цитата(Edmundo @ Dec 19 2006, 19:38) Если...   Dec 19 2006, 20:59
||- - karabas   Цитата(AlexandrY @ Dec 20 2006, 13:31) Эт...   Dec 24 2006, 22:14
||- - zltigo   Цитата(karabas @ Dec 24 2006, 21:14) Пока...   Dec 24 2006, 23:20
|||- - Alex03   Цитата(zltigo @ Dec 25 2006, 01:20) Цитат...   Dec 25 2006, 08:41
||- - AlexandrY   Никакие цепочки чипов не помогут если чипы общего ...   Dec 25 2006, 17:42
|- - lazycamel   Цитата(Сергей Борщ @ Dec 20 2006, 13:46) ...   Jan 2 2007, 13:01
|- - Сергей Борщ   Цитата(lazycamel @ Jan 2 2007, 12:01) Цит...   Jan 2 2007, 15:23
- - Andrei....   а есть ли процессоры в большими объёмами flash (ск...   Dec 21 2006, 09:54
- - Tanya   Цитата(OlegHmt @ Dec, 12:40) Возможно ест...   Dec 21 2006, 10:54
- - OlegHmt   Tanya Как раз дополнительные корпуса ставить не х...   Dec 21 2006, 12:06
|- - Playnet   Цитата(OlegHmt @ Dec 21 2006, 12:06) Tany...   Jan 2 2007, 18:54
- - sfinks   А не проще посмотреть, как это сделали в коммерчес...   Jan 2 2007, 17:57
- - boez   Полуофф, но кому-то может и будет интересно. Есть ...   Jan 3 2007, 12:20
- - OlegHmt   Пробую реализовать вариант защиты прошивки путём и...   Jan 8 2007, 16:50
- - Mitek   Вдруг пригодится. Видел на компьтерах Compaq вроде...   Jan 25 2007, 21:35
- - Mitek   Вот интересный материал по пикам, хотя и не очень ...   Jan 26 2007, 08:19
- - Nixon   По поводу защиты прошивки AT91SAM7X256 посмотрите ...   Jan 26 2007, 11:19
- - АДИКМ   Существует две причины, благодаря которым можно по...   Jan 31 2007, 16:58


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

 


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


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