Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Технологии защиты программного обеспечения > Защита программы аппаратным ключом |
Автор: Uglin 31.10.2011, 10:39 |
Добрый день, всем профессионалам. На работе получил задание по защите нашей программы написанной на VC++ аппаратным ключом. Сейчас требуется выбрать тип ключа и обосновать ее выбор, а потом уже защитить. Я нашел несколько типов ключей HASP, Guardant, Senseloсk, HID-ключ. Подскажите, что из этого стоит выбрать и почему? Может кто-то с таким уже сталкивался? И как вообще происходит защита данными ключами? Просто не могу понять, чем они вообще отличаются по сути, кроме цены. |
Автор: Pahan82 31.10.2011, 13:23 |
Ключи отличаются уровнем защиты, ценой, распространенностью, тех.поддержкой, страной производства, наличием качественной документации и дополнительных фишек. По простоте взлома можно поделить на легко ломаемые и сложно ломаемые, по способам взлома можно поделить на полностью эмулируемые, таблично эмулируемые и практически не эмулируемые. А вообще параметров навалом |
Автор: baldina 31.10.2011, 13:27 |
кажется, все вышеперечисленные могут работать как HID устройство. они отличаются платформой, производительностью, функционалом, API, торгующими компаниями. например, некоторые имеют встроенные часы, некоторые могут работать в сети, некоторые могут хранить и исполнять произвольный код, некоторые одновременно могут являться флешкой и т.д. идеология API верхнего уровня у всех отличается, но все имеют те или иные решения для хранения и обработки лицензионной информации, средства удаленного обновления ключа, различные схемы поставки через дилеров и т.д. вобщем нельзя наверно сказать, что какие-то однозначно лучше других, надо исходить из Ваших целей и задач. главный вопрос здесь - действительно ли нужно защищать аппаратным ключом. если можете не защищать, не защищайте))) либо - встроенной софтиной, которая накрывает готовый .exe. Простота реализации+мгновенно ломается+ограниченная политика лицензирования - с использованием API. Реализация сложнее+ломается сложнее+можете реализовать любую схему защиты и лицензирования. вообще, скачайте руководства по каждому ключу и почитайте. Купите девелоперские комплекты для каждого ключа (это недорого) и попробуйте сами. заодно пообщаетесь с продавцами и поймете, какие вам приятнее. |
Автор: Uglin 31.10.2011, 13:43 |
Pahan82 и baldina, благодарю за ответы. А сами бы что посоветовали использовать? Может уже пробовали что-то? |
Автор: baldina 31.10.2011, 13:58 |
Uglin, как можно советовать, не зная Ваших потребностей? Добавлено через 4 минуты и 46 секунд если расскажете поподробнее, будет разговор. |
Автор: Earnest 31.10.2011, 14:16 |
Uglin, даже если использовать самый-пресамый ключ, но тупо реализовать защиту, ее вскроют ногтем. Если, конечно, есть что вскрывать. Т.е. если ваш продукт нафик никому не нужен, можно особо не заморачиваться. Но если дело обстоит иначе... готовьтесь потратить немало сил и средств на это дело... да еще и обновлять время от времени. Наша компания использует Хаспы, уже давно. Поддержка нормальная. Московское представительство проводит ликбез-семинары на тему реализации защиты, бесплатно и, кажется, ежемесячно. Добавлено через 13 минут и 42 секунды Да, кроме надежности защиты, есть такая фишка как надежность самих ключей как железок. Т.е. если ожидается много пользователей, то ведь вышедшие из строя ключи нужно будет заменять. Так вот, статистика по Хаспам (USB) весьма хорошая: из нескольких тысяч вышли из строя буквально единицы (да и то, на один явно наступили стулом). А еще у меня стоит ключик Sentinel (от ArcGIS). Так он через год начал сбоить (мигать - то виден, то нет). Админ говорит, что, может, у меня блок питания староват, напряжение не держит, поменять надо... Может и так, но Хаспу (и остальному железу) это нисколько не мешает. По ключам других типов у меня данных нет, но, надо полагать, в сети можно найти, если целенаправленно искать компромат. Хаспы тоже не безупречны, к ним есть претензии, но, в общем и целом, альтернатива (с учетом геморроя по замене системы защиты) пока не рассматривается. Короче, надо понимать, что раз приняв решение о системе защиты, слезть с него в будущем будет весьма дорого. |
Автор: Uglin 31.10.2011, 14:45 |
baldina, наша программа реализует систему электронной очереди плюс доп. фишки. Главная цель защиты обеспечить соотношение "1 лицензия - 1 система", возможно, потребуется демо период с ограничением по времени, еще уточню данный вопрос. Желательно получить недорогую, но качественную защиту, поэтому самые дорогие ключи не вариант. Ключи должны быть USB формата, работать под Windows XP и выше. Вот вроде основное. |
Автор: Pahan82 31.10.2011, 14:55 |
Я работал с ключами HASP и Guardant. В последнее время для себя выбрал Guardant. Если в работе программы используются нестандартные вычисления, то рекомендую остановить свой выбор на Guardant Code. Реализуете в нем расчеты, и получаете, что для взлома ПО необходимо будет разобрать вашу формулу(ы), что в случае с черным ящиком, очень затруднительно. А так можно посоветовать самый недорогой Guardant Sign или Time (с часами защиты). Я остановился на них, потому что они на порядок дешевле хаспов и начиная с версии 4, что-то не видел эмуляторов для них. Earnest, правильно написал, что надежность тоже важна. За время использования Guardant'ов были редкие случаи, но судя по тому, что и флэшки у меня сдыхали, в жизни бывает всякое. Рекомендую посмотреть их новый проект Guardant.Online, там вроде реализуется способ сращения механизмов защиты в программным кодом, т.е. преобразование части кода в виртуальный. Я правда еще не пробовал его, про удобство сказать не могу. На сайте Guardant.Ru есть приличные уроки, рекомендую тоже ознакомиться. Как раз из них станет понятно, как сделать правильно защитить, чтобы не сломали быстро и просто. Про HASP ничего плохого сказать не могу, тоже делал и вроде делал нормально. Единственное, что он более распространен последняя версия HASP SRM уже вовсю эмулируется (правда таблично), да и стоит он подороже. Если время терпит попросите начальство купить 2 комплекта разработчика и погоняйте их. |
Автор: Uglin 1.11.2011, 09:35 |
Pahan82, Спасибо за ответ. Сегодня пойду решать насчет комплекта разработчика. baldina, Спасибо вам за ответ. Программа стоит на несколько порядков дороже 20$ ![]() Еще раз спасибо всем, кто откликнулся. Постараюсь не ударить в грязь лицом и сделать надежную защиту. |
Автор: Akella 3.11.2011, 00:06 |
это вроде бы программный, можно реализовать, например, с помощью ASProtect SKE |
Автор: baldina 3.11.2011, 02:07 |
программно конешно можно что угодно эмулировать, но вообще они аппаратный. в отношении донглов это просто способ подключения. достоинство - не требуется драйвер. недостаток - низкая скорость. |
Автор: Akella 6.11.2011, 11:32 |
низкая скорость чего? |
Автор: baldina 7.11.2011, 02:27 |
обращения к ключу, по сравнению с обращением через драйвер |
Автор: mihavxc 13.3.2012, 14:46 | ||
Для HASP SRM(сейчас называется Sentinel HASP) нет средств для автоматического снятия защиты. Если где и попадаются эмуляторы, то они предназначены для современных ключей HASP SRM, которые работают в режиме HASP4. HASP4 это старинная система защиты, еще 1996 года. Ее 1С использует. Понятное дело, что эти ключи эмулируются без проблем, так как в них испльзовались проприетарные криптоалгоритмы. В современных ключах используется публичная криптография, так что ломать ключ никто не будет, будут пытаться взломать конкретную реализацию защиты. Sentinel HASP позволяет реализовать защиту двумя способами. Первый - с помощью утилиты автоматической защиты Envelope. Она сама "привяжет" программу к ключу, сделает обфускацию, будет бороться с отладчиками и прочие плюшки. Второй вариант - HASP API. Оно позвоялет более гибко лицензировать приложение, но многое потребуется реализовывать самому. КОмпания Аладдин Р.Д, проводит бесплатные семинары по построению надежной защиты на базе HASP API. Можно привязывать программу как к аппаратным ключам HASP HL, так и к программным ключам HASP SL. Подробней можно почитать тут _http://www.aladdin-rd.ru/catalog/hasp/ Или можете задать вопрос мне - буду рад Вам помочь. |