Практически вся моя карьера, я работал со строительными решениями (индивидуальные приложения для одного клиента). Теперь, когда моя компания занимается разработкой программного обеспечения для масс, нас ждет много упаковки.
Я хочу спросить о лицензировании программного обеспечения. Как генерировать серийные номера и номера активации. Каковы мои варианты лицензирования программного обеспечения в целом.
Я понимаю, что это своего рода общий вопрос, но это стартер беседы.
Лицензионные модели
ответ
Наша лицензионная модель работает с использованием криптографии с открытым/закрытым ключом. Они отправляют нам имя и контактные данные, которые мы шифруем с помощью нашего закрытого ключа. Зашифрованный файл затем отправляется обратно на лицензию, которую они вводят в приложение. Приложение имеет наш открытый ключ, встроенный в двоичный файл (или если у них есть соединение с сетью, он отключается от нашего сайта), и он использует это для дешифрования информации о лицензии. Если расшифрованная лицензия соответствует данным, которые они ввели, они имеют лицензию на использование продукта!
С помощью частного/криптографию с открытым ключом мы даем наше приложение траст, что данные ключа лицензии на самом деле от нас (подлинность лицензии)
Есть другие аккуратные вещи, которые вы можете сделать с этим, как кодирование уровней подписки в лицензионный ключ. Приложение расшифровывает лицензионный ключ и видит, что им разрешено использовать определенные биты функциональности.
Это может быть атаковано. Например, blackhat может либо удалить всю лицензионную кнопку, проверяющую часть двоичного файла, либо обновить сохраненный открытый ключ в приложении до того, что они сгенерировали. Затем они смогут принять его собственную лицензию. Однако, поскольку наши приложения не являются таковыми, мы не считаем это серьезной угрозой.
Если вы используете .Net для создания своих решений, возможно, стоит проверить Xheo. Я использовал их раньше, чтобы реализовать лицензирование, и они прекрасно интегрируются с решениями .net. Вы можете делать такие вещи, как требовать базовые серийные ключи, чтобы активировать продукты, чтобы настроить сервер активации и потребовать от людей активации и деактивации своих продуктов для использования и переноса их между машинами.
Эта статья о пиратстве от парня, который построил и продал небольшое приложение .NET, очень информативный. Его заявление было пиратское, что giveshim интересной перспективы:
http://kalzumeus.com/2006/09/06/yo-ho-me-hearties-yo-ho/
Его точки, в основном, что вам нужно сделать систему активации барьера для обычных пользователей - нет ничего, что вы можете сделать, если приложение достаточно популярно для пиратства группой трещин. Самое главное - убедиться, что взломанная версия вашей программы, если она существует, невидима для 99% общественности.
Не стоит; слишком медленно и сильно падает. – ileon 2010-03-08 22:39:57