2008-08-08 2 views
5

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

ответ

8

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

С помощью частного/криптографию с открытым ключом мы даем наше приложение траст, что данные ключа лицензии на самом деле от нас (подлинность лицензии)

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

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

-1

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

+0

Не стоит; слишком медленно и сильно падает. – ileon 2010-03-08 22:39:57

1

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

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

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