Как реализовать USB-ключ защиту для ПО?

Здравствуйте.

Расскажите или дайте наводку, что можно почитать, про USB-защиту приложения. Например: ПО (к примеру, написанная на WinForms) работает только через вставленную USB-флешку, на которой находится ключ. Нет флешки — ПО не работает.

UPD:
Товарищи, спасибо, что помогли вникнуть в предметную область. Сейчас вопрос стоит в другом: как реализовать аппаратную защиту без использования, указанных ниже, готовых продуктов? Хотя бы саму простую. Что и где гуглить?
  • Вопрос задан
  • 3563 просмотра
Пригласить эксперта
Ответы на вопрос 3
mihavxc
@mihavxc
Вам нужен ключ защиты Sentinel (это современное поколение ключей HASP).
Вот тут можно скачать и потестить SDK и посмотреть видео-уроки о том, как это все работает: safenet-sentinel.ru/sdk
Ответ написан
Комментировать
Foolleren
@Foolleren
Компас есть, копать не люблю...
Совсем извращенской вариант, вынести часть функций ПО в микроконтроллер присобаченный через USB. стоимость взлома при этом оценивается в 2000 $. самый шик если для каждого клиента будет своя "флешка" со своим набором зашитих в неё функций.
Ответ написан
SADKO
@SADKO
aka -=SADKO=-
Ну самое простое, это проверить наличие железки с определёнными VID и PID, а так-же какими-либо её свойствами, причём для этого способа нет нужды даже колхозить устройство, ибо есть тьма-тьмущая интерфейсных шнурков, флэшек итд. над которыми можно надругаться ;-) превратив в уникальные идентификаторы...

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

ИМХО начинать всегда нужно с построения моделей угроз, от чего именно и что именно вы хотите защитить?
И от этого уже плясать, ибо ваш исполняемый код, может быть распакован, пропатчен от жадности и цинично запакован обратно :-) Или устройство-ключ может быть симулировано программно, или даже воссоздано аппаратно... А бывают ситуации когда нужно защитить сам рабочий алгоритм от реверсинженеринга и\или не санкционированной эксплуатации, и когда ценность его измеряется сотнях килобаксов, тут уже начинается высокое искусство.

В большинстве обыденных задач, достаточно сделать процесс изучения и взлома достаточно трудоёмким, что бы заниматься этим ради забавы было не повадно, и никто не будет этим заниматься :-)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы