![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: 2 Всего: 2 |
Электронный ключь подключаеться к МК по RS232.
При подключении МК разблакирует ряд функций прибора. Какую схему сохдать чтоб максимально обезопамить от вхлома. Какие програмные (алгоритмы) знаете. Идей много, но хочеться найти правельное решение. КЛЮЧ ЗАВЕДОМО БУДЕТ ПОПАДАТЬ В ЧУЖЫЕ РУКИ (ЗАЩИТИТЬ ОТ ПОДДЕЛКИ) Одна из идей создать в обоих МК прогу которая будет генерировать каждые десять секунд код, колюч отсылает код на центральный МК, а он сравнивает со значением полученым самостоятельно. Разумееться, что при подключении они переходят в одну отправную точку. По приходу какогото числа (заданого) из ряда в памяти, отправная точка тоже меняеться. Отправные точки тоже запрограмированы в МК. Еще много что нужно учесть. Один придумывает, второй ламает =) Интерефно получеться. Интересует минимальная цена. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
проблема в том, что те, к кому
могут вытащить оттуда МК, скопировать его память на другой такой же МК и спаять себе второй ключ... если же пытаться обезопасить от программных взломов, можно покопать что-нибудь в сторону цифровой подписи - центральный МК генерирует случайное число, отправляет его на другой, тот его подписывает и результат отсылает назад, центральный проверяет... -------------------- qqq |
|||
|
||||
makwen |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 9.11.2005 Где: Киев Репутация: 1 Всего: 1 |
В этом случае нужно прошивку привязать к серийному номеру МК, который есть уникальным и больше не повторяется. А можно, что-то еще поцепить к МК, к этому элементу имел доступ только МК. И что б в прошивке МК, была реализованиа функция, которая сравнивает серийный номер этого элемента, или что-то другое. |
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 3 Всего: 146 |
Имхо у последних МК есть бит , от которого чип просто не читается (в смысле памяти), но работает
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Alexei |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
Это вламывается легко- есть такая штуки СофтАйс и Ида.В программе находится место,где принимается решение и за нопевается. Надо чтобы в ключе делались какие-нибудь важные для программы действия. |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: 2 Всего: 2 |
Вот я и говорю, что нужно чтоб программа была и в МК и в ключе, и сравнивали коды генерируемве ними только по им известному закону. проблемма в синхронизации программ и в реализации протокола обмена данными.
По послылкам перехватывая их тоже можно написать прогу Считать программу не оеально, так как она защищена битами защиты. можно, но это промышленный шпионаж не слабого уровня, дешевле будет покупать ключи ![]() |
|||
|
||||
makwen |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 9.11.2005 Где: Киев Репутация: 1 Всего: 1 |
Alex1984
Немешало тебе почитать криптографические основы безопасности, а именно алгоритмы шифрования такие как: алгоритмы симметрического шифрования, алоритмы асимметрического шифрования и т.д. |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: 2 Всего: 2 |
makwen
пасиб |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: нет Всего: 10 |
Можно часть функций сделать в одном МК, другую часть в другом МК. Так чтобы, только при стыковке двух МК, программный код состовлял единое целое. Если сделать, скажем еше 16 вариантов компоновки программы. Плюс электронные подписи. Получется, что 2 МК будут уникальны в своем роде.
-------------------- Пролетал мимо. |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: 2 Всего: 2 |
||||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 8 Всего: 99 |
Когда я был на Expo 2004 я видел нечто похожее, только для защиты программ помоему. Помоему "ключ" действовал так:
втыкаешь его в RS232 разъем, а прога смотрит есть ли он там или нет. При этом информация от RS232 идет через эту фишку насквозь. Как фирма называется не помню, но посмотри в инете - может чего похожее найдешь... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: 2 Всего: 2 |
cardinal
не понял как работает Ркиптография рулит, только вот сообщение меняться не будет, и следовательно и коды МК и ключа. Что мешает перехватить кодированое сообщение, записать его и просто отсылать по потребности на МК. вот в чем загвозка |
|||
|
||||
Alex1984 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 299 Регистрация: 6.3.2005 Где: Киев Репутация: 2 Всего: 2 |
можно криптографией воспользоваться, передавая код и какую-то произвольную добавку.
тогда каждый раз посыка будет другой. Вопрос только в том на сколько это будет надежно при использовании коротих ключей, и какой алгоритм максимально разгрузит МК. Каие идею еще? |
|||
|
||||
adonin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 16.12.2005 Где: Новочеркасск Рост овская обл. Репутация: нет Всего: 5 |
Можно попробовать так:
Аппаратный ключ имеет уникальный серийный номер (возможно серийный номер контроллера). По этому номеру ассимметричным методом (Например RSA) получаем цифровую подпись. Записываем подпись в память ключа. Устройство, к которому подключён аппаратный ключ считывает серийный номер, подпись и с использованием открытого ключа проверяет валидность подписи. Простым копированием памяти аппаратного ключа защита не взламывается (подпись не будет соответствовать серийному номеру ключа). Возможность подделать аппаратный ключ появляется только если известен закрытый ключ, используемый при создании подписи (это не так уж просто - RSA криптостойкий алгоритм) Надёжность метода в данном случае определяется криптостойкостью алгоритма электронной подписи и честностью ваших сотрудников (Закрытый ключ можно всегда выкупить) Это сообщение отредактировал(а) adonin - 2.2.2006, 14:42 --------------------
Тот, кто слизывает мед с крапивы, платит за него слишком дорого. (Томас ФУЛЛЕР) |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 1 Всего: 110 |
тут все значительно проще ![]() берем устройство и ключ начинаем просматривать протокол из общения (я думаю, с тем, чтоб подслушать, проблем возникнуть не должно ![]() самое ужасное вот что - он каждый раз будет одинаковый: ведь серийники не меняются, а значит, и подпись его будет одинаковая в этом случае ничто не мешает нам просто симитировать этот протокол, поставив вместо ключа какую-нибудь свою железячку тут даже не надо будет как-то копировать ПО ключа - просто протокол, т.к. он простой зато это невело меня на интересную идею: выдавать именные ключи, т.е. для каждого экземпляра устройства будет свой ключ, а сделать это очень просто - ключ должен хранить подпись не своего серийника, а серийника контроллера основного устройства таким образом протокол тоже будет одинаковый, но только для одного конкретного устройства, а для другого будет другой сделать универсальный ключ нельзя - у нас нет закрытых ключей, чтобы уметь подписывать любые серийники подделать ключ для одного конкретного устройства можно... но для этого сначала нужно купить настоящий, а если он есть, то его и подделывать не надо ![]() -------------------- qqq |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |