Евгений писал(а):Если хотите 100% надежность, придется раздавать каждому пользователю по локальному ключу!
Поясню, мы занимаемся разработкой только многопользовательского ПО, ценовая политика не грабительская с расчетом заинтересовать клиентов из провинций. И для нас самым серьезным является увеличение стоимости одной лицензии. Кроме того есть еще целый ряд неудобств...
Евгений писал(а):а вот идея счетчиков, на мой взгляд, очень хороша.
Со счетчиками тоже не все гладко. Опять-таки, "прокси-сервер лицензий" может подменять аргументы функций, устанавливая свои значения счетчиков. Это даже без патча клиентских программ.
Как Евгений правильно заметил, с сетевым вариантом 100% защиты не будет (в части утери лицензий).
В виду этого хотелось бы услышать мнение участников форума по поводу такой схемы защиты:
1. Имеется серверная часть, естесственно жизненно необходимая для работы клиентских приложений.
2. На сервере стоит единственный несетевой ключ SenseLock со встроенным таймером, к примеру на полгода. Отсчет времени ведется с помощью (из топика "Порча электронных ключей")
Anton писал(а): заставить приложение всётаки обращаться к ключу хотя-бы раз в пять минут, ключ не получив очередного обращения (с текущим системным временем) может просто "заснуть" и потребовать перезапуска приложения.
В ключ вынесена часть серверных функций.
3. Клиентские приложения обращаются к серверу.
4. Раз в полгода (период времени) перепрошиваем заказчику ключ или даем новый в обмен на старый.
Особенность данного способа - невозможность использовать "конкурентные лицензии". ПО продавать на общее количество рабочих мест которые будут с ним работать.
На первый взгляд плохо - заказчик ПО может купить меньше "неконкурентных" лицензий, чем нужно. Но разработчик осуществляет контроль при продлении ключа. Опять-таки есть несколько вариантов:
- выезд специалиста к заказчику для продления ключа. на месте можно определить активность использования ПО и количество пользователей, проанализировав оставленный след их работы. В случае обмана со стороны заказчика не продлевать ключ пока не будут докуплены недостающие лицензии.
- в ключе реализовать собственный счетчик (энергонезависимый) сколько
разных пользователей обращались к тем или иным функциям (возможно связанных с модулями). При получении ключа для перепрошивки эти счетчики считываются разработчиком для проверки.
Слова "не надо нервничать" хорошо помогают привести человека в нормальное состояние бешенства.