Работа механизма весов на самом деле не так очевидна, и несет в себе несколько неудобств (которых, увы не избежать без принципиального понижения уровня защиты).
Схема следующая:
- при активации шаблон ключа со всеми весами отправляется на сервер активации
- на сервере шаблон МНОГОКРАТНО перешифровывается и переподписывается в зависимости от комбинаций весов, чтобы при смене допустимых компонентов он мог расшифроваться и продолжить работу
- при этом базовый механизм сервера приравнивает снятие 1 активации к появлению нового ComputerID
Здесь и кроется "загвоздка" - при изменении любого из компонентов привязки меняется ComputerID. С точки зрения сервера активации это будет новый компьютера (даже если произошла смена Windows 8 на Windows 8.1), и если у ключа была лишь 1 активация, то повторная активация не удастся вне зависимости от весов.
На что влияет механизм весов - на работоспособность уже активированного ключа. Ключ представляет собой зашифрованный шаблон и запись в реестре, позволяющая его найти (плюс драйвер с псевдокодом на нулевом кольце и защитой от отладчиков, позволяющий безопасно расшифровывать и аутентифицировать фрагменты ключа непосредственно для работы, и плюс дополнительные механизмы для контроля времени в Time-ключах).
Соответственно общий порядок работы такой:
- клиент активировал ключ и получил рабочий ключ который будет функционировать учитывая допустимые веса компонентов
- если клиент заменил компоненту и в процессе удалил ключ (чистая переустановка ОС, форматирование жесткого диска, чистка реестра), то ему требуется переактивация (если число активаций на ключе больше 1-ой) или новый ключ - здесь механизм весов можно игнорировать, т.к. ключа у него больше нет и по сути у него новый компьютер (это условность)
- если клиент заменил компоненту в пределах весов и НЕ удалил ключ - то ключ продолжит работать (без переактивации)
- если клиент ничего не менял, и удалил ключ - то он успешно переактивируется т.к. сохранился ComputerID
Здесь кроется неудобство (вытекающее из архитектуры защиты), которое мы предлагаем решать такими способами:
- использование ключей на 3 или 5 активаций (перед продажей можно менять первоначальный лимит и потом добавлять активации при обращении в техподдержку, если продукт "штучный"; для массовых продуктов обычно все 3 активации сразу делают доступными; при этом сервер "помнит" только последний ComputerID и не позволит "бесплатно" переактивировать ключ на первых двух компьютерах если он удален и т.п. - это ограничивает фрод)
- выдача дополнительного ключа клиенту в случае с 1 активацией (при отгрузке пакетов на 1 активацию мы добавляем 10% на такие случаи)
- бэкап софтверных ключей - сейчас это можно делать только вручную (файл + запись в реестре), и то если знать где их искать. В ближайшее время мы добавим такой функционал в Мастер Активации - бэкап и рестор ключей. Если клиент не забудет это сделать перед форматированием жесткого диска или смены ОС, то в пределах разрешенных весов отресторенный ключ продолжит работу.
Отсутствие утилиты бэкапа, описания работы весов и описания процессов для конечного пользователя - это наше упущение, вызванное молодостью продукта. Уже исправляем :)
Всем спасибо за фидбек. Если для кого-то из наших клиентов данные недостатки вызвали излишние затраты софтверных ключей, обратитесь в техподдержку по почте со ссылкой на эту ветку форума - мы решим вопрос (добавим активации или ключей).