Защита программного обеспечения
Основная задача, решаемая электронными и софтверными ключами Guardant состоит в защите программного обеспечения от нелегального использования. При этом защитить программу от копирования невозможно: любой файл, который может быть прочитан, будет скопирован — для запуска приложения операционная система должна прочитать файл и загрузить его в память компьютера. В этом разрезе словосочетание «защита от копирования» в отношении программного обеспечения не имеет смысла.
С помощью инструментария разработчика Guardant к защищаемому приложению можно привязать «объект», который нельзя (или неоправданно сложно) скопировать и без которого программа не смогла бы работать. Этим «объектом» является электронный ключ. Основная задача, решаемая при защите софта от копирования с помощью ключей: объединить приложение и ключ в нераздельное целое таким образом, чтобы программа, «привязанная» к ключу, не могла без него полноценно функционировать.
В общих чертах схема «привязки» выглядит следующим образом. Приложение отправляет некоторый запрос к ключу и, если получает корректный ответ, продолжает работу в штатном режиме. Сложность взлома принципиально простой схемы заключается в том, какие именно запросы отправляет приложение, каким образом ключ их обрабатывает и как приложение проверяет корректность данных, полученных в ответ на запрос.
Сам по себе электронный ключ можно представить аппаратным «черным ящиком», выполняющим некоторые функции. Аналитик имеет доступ к входным и выходным данным, но не знает, какое преобразование выполняется внутри. Собственно, это преобразование и используется для привязки. Привязка приложения к ключу может производиться путем автоматической защиты готовой программы или встраиванием функций Guardant API в исходный код приложения, а также комбинацией этих методов. Для защиты конфигураций 1С предусмотрена отдельная технология.