Защита от копирования на основе аппаратного ключа работает по следующему принципу: 15
- Ключ присоединяется к определённому интерфейсу компьютера (например, USB, LPT или PCMCIA). 14
- Защищённая программа через специальный драйвер отправляет ключу информацию. 14 Она обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. 14
- Если ответ ключа правильный, то программа продолжает свою работу. 15
- В противном случае программа может выполнять определённые разработчиками действия, например, переключаться в демонстрационный режим, блокируя доступ к определённым функциям. 15
Некоторые характерные запросы, которые могут отправляться к ключу:
- проверка наличия подключения ключа; 45
- считывание с ключа необходимых программе данных в качестве параметра запуска; 45
- запрос на расшифрование данных или исполняемого кода, необходимых для работы программы, зашифрованных при защите программы; 45
- запрос на расшифрование данных, зашифрованных ранее самой программой. 45
Кроме того, аппаратные ключи могут проверять целостность исполняемого кода, сравнивая его текущую контрольную сумму с оригинальной контрольной суммой, считываемой с ключа. 5