Технология защиты программного обеспечения с помощью аппаратного ключа работает следующим образом: 15
- Ключ присоединяется к определённому интерфейсу компьютера. 1
- Защищённая программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. 1
- Если ответ ключа правильный, то программа продолжает свою работу. 1 В противном случае она может выполнять определённые разработчиками действия, например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям. 1
Некоторые характерные запросы: 1
- проверка наличия подключения ключа; 1
- считывание с ключа необходимых программе данных в качестве параметра запуска (используется, в основном, только при поиске подходящего ключа, но не для защиты); 1
- запрос на расшифрование данных или исполняемого кода, необходимых для работы программы, зашифрованных при защите программы (позволяет осуществлять «сравнение с эталоном»; в случае шифрования кода, выполнение нерасшифрованного кода приводит к ошибке); 1
- запрос на расшифрование данных, зашифрованных ранее самой программой (позволяет отправлять каждый раз разные запросы к ключу и, тем самым, защититься от эмуляции библиотек API/самого ключа). 1
Аппаратные ключи в значительной степени усложняют процесс копирования и нелегального использования программного обеспечения, но наиболее эффективны при применении в комплексе с организационными методами защиты информации. 4