Софтверный (программный) ключ – это средство защиты недорогих приложений.
Принцип работы Guardant SP основан на привязке ключа к уникальным характеристикам компьютерных комплектующих, состояние которых на момент активации фиксируется в SP-ключе и далее сверяется с текущими значениями при каждом обращении приложения к ключу.
Механизмы привязки, включая сбор и, в дальнейшем, контроль информации о компьютере, обмен данными с сервером активации, перешифрование файла-контейнера SP-ключа и др., реализованы в драйвере Guardant и являются внутренними. Они полностью прозрачны для пользователя и защищены от внешних воздействий.
Этот факт, а также вынос части логики (проверка серийного номера, выработка уникальных ключей шифрования для SP-ключа с участием контрольных значений комплектующих) на внешний защищенный ресурс – сервер активации – существенно повышает стойкость софтверных ключей и выделяет Guardant SP в ряду аналогичных решений.
В свою очередь, защищаемое приложение привязывается к софтверному ключу при помощи «обычных» технологий Guardant – автоматической защиты и/или Guardant API. Реализация этого участка системы защиты, а также подготовка шаблона возлагается на разработчика приложения.
Программный ключ представляет собой файл-контейнер *.grdvd, содержащий (в общем виде):
Содержимое SP-ключа зашифровано на алгоритме AES и защищено от модификации с использованием ECC. Хэши от вычисленных контрольных «весовых» значений комплектующих, к которым осуществляется привязка, участвуют в процессе шифрования файла-контейнера.
Для удобства работы в SP-ключе эмулируется EEPROM-память современных аппаратных ключей Guardant (размер области данных, доступных для использования составляет ~4Кбайт), а также обеспечивается совместимость со стандартными механизмами защиты. Т. о., программирование и обращение к софтверному ключу из приложения происходят точно также как и для любого другого ключа Guardant.
Это позволяет записывать в софтверный ключ те же типы полей, что и в аппаратные ключи, и после активации SP-ключа точно также работать с этим полями из защищенного приложения, как при помощи Guardant API, так и автозащиты.
Важно! |
GrdUtil.exe предоставляет удобные сервисы для работы с SP-ключами, в том числе:
В большинстве ситуаций удобно придерживаться следующего порядка работы с софтверными ключами из интерфейса GrdUtil:
|
Шаблон софтверного ключа представляет собой «заготовку», т. е. запрограммированный согласно выбраной схеме защиты, но не активированный, ключ. Чтобы создать шаблон софтверного ключа, загрузите нужный образ в Редактор, при необходимости отредактируйте его и выполните команду меню Ключ | (Операции с Guardant SP) Создать шаблон Guardant SP. На экране появится системный диалог сохранения файла шаблона, который позволяет задать имя шаблона (по умолчанию GrdVD_ Template_год_месяц_число.grdvd) и директории, где он будет расположен. После этого сохраненный шаблон можно включить в комплект поставки защищенного приложения вместе с серийным номером и мастером активации GuardantActivationWizard.exe. |
Защищенный шаблон отличается от обычного тем, что содержимое SP-ключа, активированного на таком шаблоне, невозможно изменить программным способом, включая вызовы функций Guardant API. Это служит дополнительной защитой при использовании софтверных ключей. Чтобы создать защищенный шаблон, выполните команду меню Ключ | (Операции с Guardant SP) Защищенный шаблон Guardant SP. В остальном работа с защищенным шаблоном полностью аналогична работе с обычным шаблоном, см. предыдущий пункт. |