Как вы защищаете свое коммерческое приложение от установки на нескольких компьютерах с одной лицензией?
Как вы защищаете свое коммерческое приложение от установки на нескольких компьютерах от людей, которые имеют только одну лицензию?
Как вы думаете, это хорошая идея, чтобы иметь больше, чем просто последовательная схема?
7 ответов
Следующий метод работает хорошо, если в вашем распоряжении есть публичный сервер:
- Защита на основе последовательного интерфейса, пользователь должен ввести серийный номер перед использованием программы
- При первой записи в последовательном соедините серийный номер с MAC-адресом и создайте код авторизации, сгенерированный из обоих этих значений.
- Обратитесь к серверу, чтобы убедиться, что последовательный порт и MAC-адрес могут быть связаны друг с другом. Зарегистрируйте MAC на сервере.
- При каждом последующем запуске никогда не связывайтесь с сервером снова, но каждый раз убедитесь, что последовательный + MAC-адрес совпадает с их кодом авторизации.
- Если у пользователя нет MAC-адреса, разрешите ему запускать программу, если у него есть серийный номер.
Это дает вам защиту от простого копирования реестра с одного компьютера на другой.
Если пользователь пытается установить тот же серийный номер на другом компьютере, сервер не позволит вам привязать серийный номер к MAC-адресу, поскольку он уже связан.
Это не идеальное решение, но оно защищает вас в 99% случаев.
Мои общие правила
- Огромные развертывания в коммерческих средах - Аудит
- Средние развертывания недорогого программного обеспечения <$ 1000 / место - активация лицензионного ключа
- Небольшие развертывания ценного программного обеспечения> 10000 долларов США / место - Dongles
Как вы думаете, это хорошая идея, чтобы иметь больше, чем просто последовательная схема?
Говоря как кто-то, кто должен устанавливать все виды программного обеспечения на все виды машин, пожалуйста, подумайте о бедных сетевых администраторах, когда придумываете свою схему защиты от копирования. Пожалуйста, учитывайте установки по всей сети при написании вашего установщика - во что бы то ни стало включите некоторую защиту с помощью серийного номера, даже заставьте меня позвонить или связаться с вашим сайтом и получить код авторизации для получения кода установщика по всему сайту или что-то подобное, но, пожалуйста, убедитесь, что ваш лицензионный код работает. Хороший способ гарантировать, что ваше технически превосходящее все, что еще на рынке программное обеспечение не будет установлено и использовано, - это испортить установщик или иметь систему установки, которая просто слишком сложна.
Используйте заблокированные компьютером лицензии или лицензии, требующие активации, чтобы заблокировать лицензии для определенных компьютеров. Вместо того, чтобы разрабатывать такую схему самостоятельно, рассмотрите возможность использования готовой схемы, такой как CryptoLicensing, которая поддерживает эти функции.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я работаю на программное обеспечение LogicNP, разработчик CryptoLicensing.
Мы используем подход MAC-адрес плюс файл лицензии. Мы попросили клиента отправить нам MAC-адрес своего ПК, а затем сгенерировать файл лицензии на основе этого MAC-адреса. Затем мы отправляем им файл по электронной почте, а затем они загружают файл лицензии в программу. Недостатком является то, что если люди меняют сетевые карты, и вам придется выдавать им новую лицензию. Требуется немного больше бухгалтерии, чтобы убедиться, что люди не всегда запрашивают новые лицензии, и небольшое доверие к вашей клиентской базе, что они не будут пытаться слишком много играть в систему. В зависимости от этого уровня доверия, вы можете добавить слои кодирования или шифрования в файл, чтобы они не могли легко продублировать файл. С другой стороны, вам не нужно внедрять или поддерживать какой-либо тип сервера аутентификации.
Вы всегда можете использовать USB-ключ, если программа того стоит. Конечно, все производители ключей утверждают, что их защита от копирования не может быть нарушена.
Преимущество этого метода заключается в том, что он позволяет пользователю использовать программное обеспечение на нескольких компьютерах, но одновременно запускать его только на одном компьютере, и на самом деле это не такая сложная задача, как активация какого-либо продукта. Недостатком, конечно, является то, что вы не можете полностью развернуть свое приложение в электронном виде. Даже если вы думаете об обратном, на самом деле многие клиенты, кажется, соглашаются использовать ключ, по крайней мере, в той области, в которой я работаю. Это особенно полезно, если вы ожидаете, что ваши клиенты будут использовать (а также устанавливать!) Программное обеспечение в месте. где нет подключения к интернету.
Редактировать: я перечитал серийные вещи в исходном вопросе. Обратите внимание, что даже это может раздражать пользователей больше, чем необходимость вставлять ключ, и вам это тоже легче, потому что ни клиенту, ни вам не приходится иметь дело с этими цифрами. Подключите ключ, и приложение работает. Тем не менее, метод только серийный является самым дешевым.
Мы используем Орион от Agilis. Для некоторых наших пользователей мы осуществляем активацию лицензий с блокировкой узлов, для других они получают активацию через веб-страницу или по электронной почте, а для других мы размещаем сервер лицензий на их территории. Орион покрывает все базы, которые нам нужны.