Вопрос

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

Это было полезно?

Решение

Наша модель лицензирования работает с использованием криптографии с открытым/закрытым ключом.Они отправляют нам свое имя и контактные данные, которые мы шифруем с помощью нашего закрытого ключа.Зашифрованный файл затем отправляется обратно лицензиату, который он вводит в приложение.Приложение имеет наш открытый ключ, встроенный в двоичный файл (или, если у них есть подключение к сети, оно извлекает его с нашего сайта) и использует его для расшифровки информации о лицензии.Если расшифрованная лицензия соответствует введенным данным, значит, у них есть лицензия на использование продукта!

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

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

Хотя это можно атаковать.Например, злоумышленник может либо удалить всю часть двоичного файла, проверяющую лицензионный ключ, либо обновить сохраненный в приложении открытый ключ до сгенерированного им.Тогда они смогут заставить его принять свою собственную лицензию.Однако, поскольку наши приложения не так популярны, мы не считаем это серьезной угрозой.

Другие советы

Эта статья о пиратстве написана человеком, который создал и продал небольшое .NET-приложение. очень информативный.Его приложение было пиратским, что дает ему интересную перспективу:

http://kalzumeus.com/2006/09/06/yo-ho-me-hearties-yo-ho/

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

Если вы используете .Net для создания своих решений, возможно, стоит попробовать Кхео.Я использовал их раньше для реализации лицензирования, и они прекрасно интегрируются с решениями .net.Вы можете делать такие вещи, как требовать базовые серийные ключи для активации продуктов вплоть до настройки сервера активации и требовать от людей активировать и деактивировать свои продукты для использования и переноса их между компьютерами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top