Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB Key на основе AVR309 (USB IgorPlug)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
QuickWitted
Как - то один знакомый программист попросил меня разработать ключ для временной защиты его программного обеспечения. На основе моей модификации схемы для USB инфракрасного приёмника IgorPlug

Зеркало
http://www.swordgreenline.narod.ru/IgorPlug2.html
Оригинал
http://www.sword.greenline.ru/IgorPlug2.html

за два вечера был сляпан девайс обеспечить минимальную защиту, цена взлома которой будет выше стоимости времени, потраченного доморощенным программистом на разработку защищаемой программы. С драйверами от AVR309. Программная часть железа переделана на простейшие вычисления, на основе переданных данных и текущего бортового времени устройства.

Зеркало
http://www.swordgreenline.narod.ru/UsbKey.html
Оригинал
http://www.sword.greenline.ru/UsbKey.html

Предлагаю обсудить стабильность данной защиты...
GDI
Была уже такая тема, много копьев наломали
umup
штука конечно нужная.
но неплохо было бы встроить какой-нибудь надежный криптоалгоритм, добавить функцию сторожевого таймера компьютера (компьютер должен периодически посылать пакеты данных, если зависает, делать ему сброс внешним сигналом), переделать под маленький 8-пиновый контроллер и сделать нормальную разводку под корпус USB-флешки.
jorikdima
может не в тему, но посмотрите на технологию SafeGuard-IT у FTDI

www.ftdichip.com
QuickWitted
Цитата(umup @ Dec 18 2007, 15:59) *
но неплохо было бы встроить какой-нибудь надежный криптоалгоритм,


Алгоритм на что? тут и так часть программы (правда элементарные функции) в кристалл защиты...
там несколько результатов, поэтому неизвестное число "времени" с внутренних часов компенсируется...

Цитата(umup @ Dec 18 2007, 15:59) *
добавить функцию сторожевого таймера компьютера


Сторожевой таймер есть на кристалле...
а как ты планируешь сброс на USB?

Цитата(umup @ Dec 18 2007, 15:59) *
(компьютер должен периодически посылать пакеты данных, если зависает, делать ему сброс внешним сигналом),


А часть программы на МК и так записана, без данных подсчитанных на МК все равно никуды...
а сбрасывать вынуть - вставить...
Хотя зависов ещё пока ВООБЩЕ не было...
(сегодня он проработал с 8:00 по 18:00 уже неделю гоняю)


Цитата(umup @ Dec 18 2007, 15:59) *
переделать под маленький 8-пиновый контроллер и сделать нормальную разводку под корпус USB-флешки.


Часы реального времени на что вешать?
И памяти в нём сколько?
Мегу в смд корпусе вполне реально загнать в корпус флэшки...

Повторюсь ещё раз ЭТО НЕ ПРОФЕССИОНАЛЬНАЯ защита, а временное решение…

Цитата(jorikdima @ Dec 18 2007, 16:59) *
может не в тему, но посмотрите на технологию SafeGuard-IT у FTDI
www.ftdichip.com


Тут простенькое, быстро повторяемое и главное ДЕЩЁВОЕ надо,
Естественно профессионально сделанная лучше, но оно и стоит не кисло...
(у PRO ключей при массовом заказе дёшево выходит, а при единственном пилотном проекте...)
umup
Цитата
Сторожевой таймер есть на кристалле...
а как ты планируешь сброс на USB?

контроль зависания не контроллера, а компьютера (например сервера). сброс - подать на Reset компьютера (отдельными проводами).
например :
http://www.lt.kiev.ua/product/cronyx/raznoe/wdog.html
http://www.megalink.ru/wdt/wdt-isa-light/w....3-instruct.pdf
но эти примитивные и устаревшие.

сейчас нужно такое устройство - сервер периодически глухо виснет, помогает только ручной сброс (всякие программные watchdogs не спасут). плюс нужна функция аппаратной защиты программы - можно совместить эти функции в одном устройстве (понятно что профессионалы могут взломать, но там никто с этим заморачиваться не будет). плюс запись в eeprom некоторой конфигурационной информации (несколько десятков байт). хочу сделать это на контр. с аппаратным УСБ (например c8051f326, надежность наверно будет выше чем у программного решения), или программно на ATTiny/ATMega (в несколько раз дешевле).

Цитата
Часы реального времени на что вешать?

зачем там часы ? предыдущее состояние шифровальщика можно хранить в eeprom.

Цитата
И памяти в нём сколько?

достаточно для реализации этих функций (напр. attiny25/45, 24/44, мега в мини корпусе и т.п.)

Цитата
ЭТО НЕ ПРОФЕССИОНАЛЬНАЯ защита, а временное решение…

этого и не нужно, профессионалы взломом точно не будут заниматься.
QuickWitted
Цитата(umup @ Dec 18 2007, 19:06) *
контроль зависания не контроллера, а компьютера (например сервера). сброс - подать на Reset компьютера.


Делается за два вечера...
таймер инфрореда в оригинальной конструкции перепрофилируй...
вот тебе и обратный отсчёт до сброса...
сбрасывать таймер можно по любой функции... (например чтения из порта)

Цитата
(отдельными проводами).


Хоть через герконовое реле - сухой контакт
или через мокрый (оптопару) но тогда обязательна правильная полярность...

Цитата
зачем там часы ? предыдущее состояние шифровальщика можно хранить в eeprom.

можно, но с часами намного усложние для взлома...
(там несколько десятков байт энерго зависимой памяти в часы встроено,
и пару аппаратных хитростей сбрасывающих всё это при неаккуратном разборе)

Да кстати устройство на моём сайте для демонстрационной эксплуатации на заданный период,
а с встроенными часами обмануть такое намного сложнее...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.