Sentinel LDK (SRM) - общие вопросы

Sentinel LDK (SRM) - общие вопросы



Общие.

Инструкция по миграции с комплекта разработчика Sentinel SDK версии 5.х и ниже на комплект разработчика Sentinel LDK.

Миграция данных может производиться только с комплекта разработчика SDK 5.11 или 5.12, с более ранних версий она не производится. Поэтому сначала необходимо обновиться до SDK 5.12.

Для обновления на актуальную версию комплекта разработчика потребуется:

  1. Скачать и установить SDK 5.12 поверх уже установленного комплекта разработчика (если используется более ранняя версия).
    Скачать Sentinel SDK 5.12
  2. Затем поверх Sentinel SDK 5.12 необходимо установить комплект разработчика Sentinel LDK.
    Скачать Sentinel LDK

Переход на актуальную версию комплекта разработчика требует процедуры миграции базы данных, так как в актуальных комплектах разработчика уже не используется Business Studio. Вместо неё применяется инструмент Sentinel EMS. Sentinel EMS использует базу данных, которая по своей структуре отличается от базы данных в Business Studio.

Предварительно, до начала выполнения миграции базы данных с помощью утилиты Sentinel LDK Data Migration Tool, настоятельно рекомендуем произвести резервное копирование базы данных Business Studio и Sentinel EMS. О том, как это можно сделать, см. "Как перенести базу данный Sentinel EMS / Business Studio на другой компьютер?".

Перенос данных из базы Business Studio в базу Sentinel EMS производится автоматически при помощи утилиты Sentinel LDK Data Migration Tool из комплекта разработчика.

Для обновления до Sentinel LDK вам потребуется:

  1. Выполнить процедуру представления Sentinel (HASP) HL Master ключа.
  2. Заново перезащитить своё приложение с использованием актуальной версии Sentinel LDK Envelope / библиотек Sentinel LDK API для активации нового функционала, появившегося в комплекте разработчика Sentinel LDK.
  3. Использовать актуальные компоненты из SDK LDK: RTE (драйвер), библиотеки API, утилиту RUS (её потребуется заново сгенерировать, через Sentinel EMS), и т.д..

Более подробная информация по миграции с Sentinel HASP (HASP SRM) на Sentinel LDK

Запуск Sentinel LDK Master Wizard

Утилиту Sentinel LDK Master Wizard, используемую для выполнения процедуры представления Sentinel (HASP) HL Master и/или Sentinel (HASP) HL Developer ключей, необходимо запускать от имени встроенной учётной записи локального администратора. В противном случае, может не хватить прав для сохранения библиотек Sentinel LDK API и Vendor-кода в требуемые директории на локальном диске и модификации данных в базе Sentinel EMS / Business Studio.

Процедура продемонстрирована в видео уроке тут.


Где взять MWP файл?

Перед началом работы с ключами своей серии разработчика необходимо провести процедуру представления Sentinel (HASP) HL Master ключа. В ходе этой процедуры происходит регистрация Vendor-кода и загрузка с сервера разработчиков API библиотек под данную серию ключей. Эта процедура проводится с помощью утилиты Sentinel LDK Master Wizard. При наличии прямого подключения к Интернету Sentinel LDK Master Wizard загрузит все необходимые файлы с сервера компании-разработчика системы защиты. При отсутствии прямого подключения к Интернету утилита запросит MWP файл.

Если возможности организовать прямой доступ к Интернету (без прокси серверов) у вас нет, то необходимо запросить MWP файл в технической поддержке - см. контакты.

Для формирования для определенной серии ключей MWP файл службе технической поддержки необходимо знать следующее:

  1. Серия ключей (batch code) – код, обозначающий вашу серию ключей. Это последовательность латинских символов, нанесённая на корпус Sentinel (HASP) HL Master ключа.
  2. Версию комплекта разработчика, который будет использован (достаточно указать версию Vendor Suite).
  3. Тип используемой ОС: Windows, Linux или Mac OS X.


Ошибки при проведении процедуры представления Sentinel (HASP) HL Master ключа: 861, 857, 850

В конце процедуры миграции данных (работа с утилитой Sentinel LDK Migration Tool) необходимо выполнить процедуру представления Sentinel (HASP) HL Master ключа (работа с утилитой Sentinel LDK Master Wizard), в ходе которой могут возникнуть ошибки: 857, 861, 850. Для устранения ошибок необходимо:

  1. Установить утилиту Microsoft SQL Server Management Studio Express (бесплатное ПО, доступно на сайте Microsoft).
  2. Для подключения к базе Sentinel EMS используются логин и пароль (по умолчанию): sa / DBA!sa@EMSDB123
  3. Остановить службу "Sentinel EMS Service".
  4. База EMSDB -> таблица "dbo.T_VENDOR" -> столбец "Verified" для строки вашего кода разработчика, значением должно быть «True». Если установлено значение "False", измените на "True".
  5. База EMSDB -> таблица "dbo.T_VENDOR_FILE" -> удалить все относящиеся к вашему коду разработчика строки, кроме строки с самим кодом.
  6. Повторно выполнить процедуру представления Sentinel (HASP) HL Master ключа, она должна завершиться без ошибок.

Рекомендуется использовать актуальную версию SDK LDK (где таких ошибок нет).


Процедура установки(активации) нового Sentinel SL в Linux

Процедура активации нового Sentinel SL ключей на Linux (как и на Windows) сводится к трём этапам:

1. Получение с пользовательского устройства слепка его текущего состояния (*.c2v файла), в котором хранится информация о железе устройства, к которому при активации лицензии потребуется привязать эту самую лицензию.
Это делается на всех устройствах посредством Licensing API функции hasp_get_info:

2. Процедура активации (генерации лицензии) для устройства клиента - этот этап может быть выполнен полностью вручную: обмен *.C2V <-> *.V2C файлами между клиентом и разработчиком, при том что разработчик выполняет активацию (генерацию *.V2C файла) самостоятельно, в своём Sentinel EMS. Также, отправка в Sentinel EMS ключа активации (Product Key) вместе с *.c2v файлом, полученном на первом этапе, и получение в результате лицензии (уже сгенерированного *.V2C файла), на любом устройстве может быть автоматизирована посредством EMS Web Service API:

-       https://docs.sentinel.thalesgroup.com/ldk/LDKdocs/WebHelpWS/loginByProductKey.htm <- Login в Sentinel EMS по ключу активации 
-       https://docs.sentinel.thalesgroup.com/ldk/LDKdocs/WebHelpWS/generateLic.htm#Generate_License <- сама активация, на выходе из которой в качестве ответа на этот запрос Вы получаете *.v2c файл с лицензией.

3. Полученный *.v2c файл с лицензией применяется на устройстве пользователя.
Это делается на всех устройствах посредством Licensing API функции hasp_update: https://docs.sentinel.thalesgroup.com/ldk/LDKdocs/API-licensing-net/Licensing_API/hasp_update.htm


Установка SL ключей на Linux, может быть осуществлена тремя возможными вариантами:

1) В составе SDK LDK под Linux есть папка Samples, в которой есть пример hasp_update (в исходниках пример доступен папке Linux, корня дистрибутива SDK LDK: …\Linux\Samples\Runtime\). hasp_update – это консольная утилита-пример по работе с API, в том числе там реализована функции hasp_get_info (используется для получения с ПК C2V файла, требуемого для генерации V2C файла с лицензией) и hasp_update (используется для применения V2C файла с лицензией). Этот пример можно использовать для создания своего консольного аналога утилиты RUS под Linux.

2) Если на ПК с Linux есть графическая оболочка и Sentinel EMS разработчика доступен по сети, а также при условии, что у разработчика используется версия SDK LDK выше версии 7.5 (лучше чтобы это была актуальная версия), тогда можно выполнять активацию SL ключа через Customer Portal, подробнее об этом есть информация в видео уроке №3          

3) У нас есть неофициальный семпл (его нет в составе SDK LDK) GUI утилиты RUS под Linux. Скачать данный пример для Linux можно по ссылке ниже. Пример умеет снимать как C2V с ключа, так и Fingerprint с системы (для установки нового SL ключа).         

Пример умеет в том числе и производить активацию нового SL ключа, в случае если Sentinel EMS доступен через интернет.

Сейчас пример собран под серию ключей DEMOMA. Для того чтобы пересобрать пример под свою серию ключей, потребуется в исходниках примера заменить Vendor code от серии DEMOMA на Vendor code от своей серии, а также заменить все библиотеки с именем, содержащим «demo», в директории: «…\RUS_Linux_1.4\RUSLinux\lib\», - на библиотеки разработчика с его Vendor ID в имени.

Плюс, если Sentinel EMS доступен через интернет, в исходниках также потребуется заменить EMS URL на свой.

 

Для снятия C2V и Fingerprint вызывается одна и та же функция: Chasp::getInfo(scope, format, vendorCode, info);
Отличие только в передаваемых значениях:
Для получения C2V передаётся в переменной scope XML вида:

<?xml version="1.0" encoding="UTF-8" ?>
<haspscope>
<hasp id="KeyId" />
</haspscope>

 

А для получения V2С передаётся в переменной scope XML вида:

<?xml version="1.0" encoding="UTF-8" ?>
<haspscope>
<license_manager hostname="localhost" />
</haspscope>

А в качестве переменной format, XML вида:

<haspformat format="host_fingerprint"/>
 
Утилита RUS Linux – это семпл, а не готовая утилита из состава SDK. 

Какие бывают Sentinel (HASP) SL ключи

Sentinel (HASP) SL ключи можно разделить на:
  • SL-Legacy Provisional – триальный SL ключ, созданный в Sentinel SDK 5.х или более ранней версии. Удаление возможно только путём низкоуровневого форматирования или переразбивки разделов жёсткого диска (при увеличении размеров логического жёсткого диска существует вероятность потери SL-Legacy Provisional ключа).
  • SL-Legacy – SL ключ, созданный в Sentinel SDK 5.x или более ранней версии. Удаление возможно только путём низкоуровневого форматирования или переразбивки разделов жёсткого диска (при увеличении размеров логического жёсткого диска существует вероятность потери SL-Legacy ключа).
  • SL-UserMode Unlocked(Provisional) – триальный SL ключ, созданный в Sentinel LDK 6.x или более поздних версий. Устанавливается в виде файла сертификата в определённую директорию на ПК только в случае, если для устанавливаемого базового продукта строго определён тип ключа как SL-UserMode. Не требует установки драйвера и может работать с защищённым ПО либо через портативный менеджер лицензий "hasp_rt.exe", либо через менеджер лицензий, встроенный в Sentinel LDK Licensing API. Ключи SL-UserMode Unlocked(Provisional) бывают только локальными. Удаление возможно путём удаления файла сертификата ключа с ПК.
  • SL-AdminMode Unlocked(Provisional) – триальный SL ключ, созданный в Sentinel LDK 6.x или более поздних версий. Устанавливается в виде файла сертификата в определённую директорию на ПК в случае, если для устанавливаемого базового продукта определён тип ключа как SL-AdminMode. Информация о лицензии (счётчики Feature) размещаются в безопасном хранилище. Ключи SL-AdminMode Unlocked(Provisional) бывают только локальными. Удаление возможно путём удаления файла сертификата ключа с ПК, при этом удаляется только сам ключ, а информация обо всех счётчиках его лицензионных ограничений остаётся в безопасном хранилище. Если вернуть файл сертификата ключа в его корневую директорию, то ключ полностью восстановится и его счётчики продолжат отсчитывать лицензионные ограничения с того момента, на котором они остановились в момент удаления файла сертификата ключа (временные ограничения продолжают отсчитываться и в отсутствии файла сертификата).
  • SL-UserMode – SL ключ, созданный в Sentinel LDK 6.x или более поздних версий. Устанавливается в виде файла сертификата в определённую директорию на ПК только в случае, если на ПК не был установлен или был отключен драйвер ключа на момент снятия C2V файла со слепком железа ПК, требуемым для установки Sentinel (HASP) SL ключа, либо если для устанавливаемого базового продукта строго определён тип ключа как SL-UserMode. Не требует установки драйвера и может работать с защищённым ПО либо через портативный менеджер лицензий "hasp_rt.exe", либо через менеджер лицензий, встроенный в Sentinel LDK Licensing API. Ключи SL-UserMode бывают только локальными. Удаление возможно путём удаления файла сертификата ключа с ПК.
  • SL-AdminMode – SL ключ, созданный в Sentinel LDK 6.x или более поздних версий. Устанавливается в виде файла сертификата в определённую директорию на ПК только в случае, если на ПК был установлен и запущен драйвера на момент снятия C2V файла со слепком железа ПК, требуемым для установки Sentinel (HASP) SL ключа. Информация о лицензии (счётчики Feature) размещаются в безопасном хранилище. Ключи SL-AdminMode могут быть как локальными, так и сетевыми. Удаление возможно путём удаления файла сертификата ключа с ПК, при этом удаляется только сам ключ, а информация обо всех счётчиках его лицензионных ограничений остаётся в безопасном хранилище. Если вернуть файл сертификата ключа в его корневую директорию, то ключ полностью восстановится и его счётчики продолжат отсчитывать лицензионные ограничения с того момента, на котором они остановились в момент удаления файла сертификата ключа (временные ограничения продолжают отсчитываться и в отсутствии файла сертификата).
Подробнее

Где должен быть установлен Sentinel (HASP) HL Developer ключ?


Если защита ПО выполняется с использованием Sentinel LDK Envelope на ПК, отличном от том, где установлен Sentinel EMS, тогда на этом ПК можно установить ключ Sentinel (HASP) HL Developer.


Где должен быть установлен Sentinel (HASP) HL Master ключ?


Sentinel (HASP) HL Master ключ должен быть установлен на ПК с Sentinel EMS / Business Studio для выполнения записи лицензий в пользовательские ключи защиты.

В чём разница между ключом Sentinel (HASP) HL Master и ключом Sentinel (HASP) HL Developer?


Sentinel (HASP) HL Master ключ предназначен как для защиты приложения (может работать с Sentinel LDK Envelope и генерировать Sentinel LDK Licensing API под определенную серию разработчика), так и для записи лицензий в пользовательские ключи (может работать с Sentinel EMS / Business Studio и Sentinel LDK License Generation API).

Sentinel (HASP) HL Developer ключ может только защищать приложения (работать с Sentinel LDK Envelope и генерировать Sentinel LDK Licensing API под определенную серию разработчика).


Где узнать, какие лицензии есть на Sentinel (HASP) HL Master ключе?

Для того чтобы посмотреть, какие лицензии есть на Master ключе, можно воспользоваться Sentinel EMS или Sentinel Business Studio (в зависимости от используемой версии комплекта разработчика).


В Business Studio лицензии можно посмотреть в: Business Studio -> Master Keys -> License Details.

Пример лицензий и их описания:

  • Annual – лицензия на сервер активации программных ключей;
  • Activation Remaining – количество локальных программных лицензий (рабочих мест);
  • Seats Remaining – количество сетевых программных лицензий (рабочих мест);
  • Unlimited Concurrency: 100 – количество рабочих мест (константа), которое будет списано из пула Seats Remaining, при активации безлимитной сетевой программной лицензии;
  • Provisional License – лицензия на создание демонстрационной (Provisional) лицензии;
  • Report – лицензия на создание отчётов в Business Studio.


В Sentinel EMS лицензии можно посмотреть так: Sentinel EMS -> Administration -> Master -> необходимо выбрать свой код разработчика и подключить Sentinel (HASP) HL Master ключ к ПК. Далее выбрать появившийся ключ. Справа будет отображена табличка со всеми лицензиями в Master ключе.

Описание всех лицензий есть в документации к нашему SDK.

Также можно посмотреть количество оставшихся локальных и сетевых активаций через Sentinel Admin Control Center (рекомендуется предварительно обновить драйвер до актуальной версии, если требуется), для этого:

  1. Подключите Sentinel (HASP) HL Master ключ к ПК с драйвером;
  2. Зайдите на страничку: http://localhost:1947/_int_/devices.html
  3. Откройте список Feature для вашего подключенного Sentinel (HASP) HL Master ключа -> столбец Action, кнопка Features.

Как удалить программный ключ Sentinel (HASP) SL с ПК

Чтобы удалить Sentinel SL ключ, потребуется удалить файл / файлы сертификата этого ключа. Подробно о том где они хранятся написано в документации к нашему SDK LDK.

Чтобы изменения вступили в силу, необходимо выполнить перезапуск службы Sentinel LDK License Manager, либо перезагрузить ПК. Если этого не сделать, изменения вступят в силу не сразу, а спустя некоторое время, ориентировочно 5-10 минут.

!Важно: удаление сертификата ключа не удаляет сами лицензии с ПК, а лишь делает ключ с лицензиями недоступным для защищённого ПО. Чтобы полностью очистить ПК от ключа с лицензиями, рекомендуется удалённо отформатировать ключ, и только затем удалять файл сертификата ключа.


Что такое C2V / V2C / V2CP / H2H / H2R / R2H / ID файлы и зачем они нужны?

  • C2V (customer to vendor, файл, передаваемый от клиента к разработчику ПО) – слепок текущего состояния ключа/аппаратных характеристик ПК.
  • V2C (vendor to customer, файл, передаваемый от разработчика ПО к клиенту) – файл с обновлением лицензии для ключа.
  • V2CP (vendor to customer package, файл, передаваемый от разработчика ПО к клиенту) – файл со всем пакетом обновлений, выпущенных, но ещё не применённых к ключу.
  • H2H (host to host, файл, передаваемый от одного ПК к другому) – файл используется для восстановления (передачи) ключа защиты с компьютера одного конечного пользователя на компьютер другого конечного пользователя.
  • H2R (host to recipient) – файл содержит одну или несколько откреплённых от продукта в ключе лицензий, для временного переноса их на компьютер получателя.
  • R2H (recipient to host) – файл используется для возврата временно откреплённых лицензий на машину с ключом.
  • ID – файл содержит идентификаторы Менеджера лицензий Sentinel на удаленном компьютере. Требуются для создания открепленной лицензии (Detach) или для полного переноса ключа на другую машину (Rehost).

Файлы C2V/V2C/V2CP используются для удалённого обновления ключей защиты Sentinel (HASP) HL/SL, а также для активации программных ключей защиты Sentinel (HASP) SL.

Файлы H2H/H2R/R2H/ID используются для временного переноса лицензий (Detach) и для полного переноса SL ключей (Rehost).



Работают ли ключи Sentinel (HASP) на виртуальных машинах?

Да, работают.

Аппаратные ключи защиты программ Sentinel (HASP) HL следует пробрасывать на виртуальные машины либо средствами самой платформы виртуализации (как, например, это реализовано в VMWare), либо сторонними средствами, например такими как: myUTN-80 by SEH Technology (официально поддерживаемое решение), Anyware USB или USB over IP.

Если нет возможности пробросить аппаратные ключи на виртуальную машину, можно использовать либо сетевые ключи Sentinel (HASP) HL Net и Sentinel (HASP) HL NetTime, либо программные ключи Sentinel (HASP) SL, для них необходимо при генерации ключа защиты программы указывать разрешение на работу на виртуальной машине – галочка "Virtual Machine" при задании лицензионных ограничений для Feature в продукте, в Sentinel EMS.



Что делать, если на компьютере нет (нет свободного) USB порта?


Можно установить USB Hub с активным питанием (дополнительное питание к USB Hub посредством адаптера, подключаемого в обычную розетку сети питания), или использовать программные ключи защиты Sentinel (HASP) SL, а также возможно использовать сетевые ключи Sentinel (HASP) HL Net и Sentinel (HASP) HL NetTime.


Как перенести базу данных Sentinel LDK EMS/Business Studio на другой компьютер?


Для переноса базы данных на другой ПК в разных версиях комплектов разработчика используются различные методы.

В Sentinel SDK 5.xx и более ранних версиях для переноса базы на отдельный SQL сервер необходимо сделать резервную копию средствами SQL Server Management Studio Express:

При подключении к SQL Server используйте SQL Server Authentication. Имя пользователя и пароль по умолчанию для Sentinel SDK 5.xx и более ранних версий:

  • Login: sa
  • Password: BusStudio2.10

Затем следует восстановить из резервной копии базу данных на том сервере, куда её необходимо перенести.

После этого на компьютере с комплектом разработчика в папке "C:\Program Files (x86)\SafeNet\Sentinel HASP Server\Servers\Sentinel HASP Server" необходимо поправить во всех "*.cfg" файлах путь до базы: "server=*Укажите_тут_IP_адрес_вашего_сервера_с_базой*\HASPSRMDATABASE".

В Sentinel LDK 6.x и более поздних версиях для переноса базы на отдельный SQL сервер необходимо сделать резервную копию базы данных средствами SQL Server Management Studio Express:

При подключении к SQL Server используйте SQL Server Authentication. Имя пользователя и пароль по умолчанию для Sentinel LDK 6.x и более поздних версий:

  • Login: sa
  • Password: DBA!sa@EMSDB123

Затем следует восстановить из резервной копии базу данных на том сервере, куда ее необходимо перенести.

Далее на компьютере с комплектом разработчика необходимо, варианты:

  1. Переустановить Sentinel LDK EMS и при повторной установке в режиме Advanced указать ему текущий SQL сервер с базой данных.
  2. Изменить настройки Sentinel LDK EMS во всех конфигурационных файлах Sentinel LDK EMS. Для этого можно воспользоваться утилитами типа Notepad++, где можно искать по содержимому всех файлов в конкретной директории и её поддиректориях. Искать следует строку вида:

"url=jdbc:jtds:sqlserver://∗IP_адрес_ПК_с_SQL∗:∗порт_на_котором_работает_SQL∗/∗Имя_базы_данных∗;instance=∗Имя_экземпляра_SQL_сервера∗;useNTLMv2=true".

Пример строки: "...url=jdbc:jtds:sqlserver://127.0.0.1:49325/EMSDB;instance=EMSDATABASE;useNTLMv2=true...".

Пример файла, в котором необходимо менять настройки: "C:\Program Files (x86)\Gemalto Sentinel\Sentinel LDK EMS\EMSServer\webapps\ems\WEB-INF\classes\ems.properties".

Поиск необходимо осуществлять в директории: "C:\Program Files (х86)\Gemalto Sentinel\Sentinel LDK EMS\EMSServer\webapps\ems\".

Подробнее

Логин и пароль по умолчанию от MS SQL сервера Business Studio и Sentinel LDK EMS


MS SQL сервер Business Studio:

  • Логин: sa
  • Пароль: BusStudio2.10

MS SQL сервер Sentinel LDK EMS:

  • Логин: sa
  • Пароль: DBA!sa@EMSDB123

Какие алгоритмы шифрования используются в Sentinel LDK (SRM)?


Ключи Sentinel (HASP) имеют свой криптопроцессор.

Система защиты Sentinel LDK (SRM) использует следующие криптографические алгоритмы: AES 128-бит, ECC 163 и RSA 2048.



Как перенести комплект разработчика на другой ПК?


Для комплекта разработчика Sentinel SDK 5.xx и более ранних версий:

  1. Сделать резервную копию Business Studio базы данных;
  2. Установить комплект разработчика на новом ПК;
  3. Восстановить базу данных Business Studio из резервной копии;
  4. Открыть Business Studio средствами SQL Server Management Studio Express и внести изменения в таблицу ServiceData: Database -> база "SRMServer" -> таблица "ServiceData" -> столбец "ServiceURL" -> необходимо изменить адрес во всех строках таблицы на IP адрес или доменное имя текущей машины.

Для комплекта разработчика Sentinel LDK (SRM) 6.x и более поздних версий:

  1. Сделать резервную копию базы данных Sentinel LDK EMS;
  2. Установить комплект разработчика на новом ПК;
  3. Восстановить Sentinel LDK EMS из резервной копии.


Режим работы ключей Driverless, функциональные особенности. Способ обновления ключа из режима HASP в режим Driverless

Ключи Sentinel HL могут работать в двух режимах:

  • HASP – режим работы, при котором ключ требует наличия установленного на ПК драйвера. В режиме работы HASP ключ обладает обратной совместимостью со всеми предыдущими системами защиты, такими как HASP4, HASP HL и HASP SRM;
  • Driverless – это режим работы ключа, при котором ключ может работать на ПК без установки драйвера, при этом ключ определяется и работает как HID-совместимое устройство. Ключи, работающие в режиме Driverless, не имеют обратной совместимости с предыдущими системами защиты, такими как HASP4, HASP HL и HASP SRM, и могут работать только с современной системой защиты Sentinel LDK.

Driverless режим поддерживают ключи в новом корпусе с микропрошивкой 4.х и выше. Ключи в старом корпусе с микропрошивкой 3.25 и ниже не поддерживают данный режим на аппаратном уровне.

Преимущества, которые даёт режим Driverless:

  • В Driverless режиме в ключи можно записать в разы большее количество Feature, пример: для ключа Sentinel HL Max в режиме HASP возможно записать до 231 feature, в режиме Driverless до 2160 feature.
  • В Driverless режиме в ключах доступно больше памяти – добавляется 25 КБ памяти, которую можно распределить между RO и RW разделами памяти на ключе.
  • VClock – виртуальный таймер для лицензионных ограничения по времени, позволяет записывать лицензионные ограничения по времени в модели ключей (кроме Sentinel HL Basic), не имеющие реального счётчика времени. Доступен на ключах только в режиме Driverless.
  • Все локальные модели ключей в режиме Driverless (кроме Sentinel HL Basic) поддерживают запись сетевых лицензий в ключи.

Как перевести Sentinel HL ключ из режима HASP в режим Driverless:

Необходимо либо в Sentinel EMS, либо через License Generation API записать в ключ лицензию с обновлением ключа до Driverless.

При записи лицензии через Sentinel EMS режим Driverless включается при создании продукта с feature, за это отвечает галочка “Upgrade to Driverless”. При записи такого продукта в ключ произойдёт перевод ключа из режима HASP в режим Driverless.

Обратно перевести ключ из режима Driverless в режим HASP невозможно!

Для того, чтобы защищённое приложение работало с ключами в режиме Driverless, необходимо защитить своё приложение используя SDK LDK версии 6.3 и выше (для полной поддержки рекомендуется SDK LDK 7.0 и выше).



Использование функции виртуального таймера – VСlock


VClock – виртуальный таймер, позволяющий записывать лицензионные ограничения по времени в модели ключей (кроме Sentinel HL Basic), не имеющие реального счётчика времени. Доступен только в режиме Driverless.

В моделях ключей Sentinel HL Time и Sentinel HL Net Time, обладающих реальным счётчиком времени (чипом Real-time Clock), VClock позволяет осуществить подстраховку Real-time Clock механизма. В случае если батарейка чипа Real-time Clock сядет, лицензионные ограничения по времени в ключе с включенным VСlock перейдут на использование виртуального счётчика времени, тем самым позволив пользователю продолжить работать с временными лицензиями на ключе без каких-либо проблем.

Механизм работы VClock:

Для контроля лицензионных ограничений Expiration Date или Time Period изначально берётся за контрольную точку время с системных часов на компьютере конечного пользователя.

Менеджер лицензий Sentinel License Manager считывает системное время при запуске, впоследствии менеджер лицензий использует своё внутреннее время для расчета времени работы.

Когда защищённое приложение выполняется и использует лицензию из ключа c включённой опцией VClock в первый раз, менеджер лицензий считывает время из внутреннего счётчика времени в ключе, чтобы определить время начала отсчёта срока лицензии для программного обеспечения:

  • Если лицензия ограничена на какой-то конкретный период времени(Time Period), например 30 дней или 1 год, менеджер лицензий вычисляет фактическую дату, на которую лицензия должна перестать работать и информация хранится в защищенной области памяти внутри ключа защиты.
  • Если лицензия ограничена до конкретной даты (Expiration Date), Менеджер лицензий записывает эту дату в безопасное хранилище ключа.

Безопасное хранилище для аппаратного ключа Sentinel HL находится внутри самого ключа Sentinel HL.

Время истечения лицензии определяется по формуле:

[текущее время Менеджера лицензий] + [количество секунд до истечения срока действия лицензии].

Полученная в ходе данного вычисления информация хранится в защищенной области памяти ключа защиты (безопасном хранилище).

Данный механизм позволяет избежать проблем при изменении системного времени на ПК клиента.

Как активировать VClock в ключе:

Необходимо либо в Sentinel EMS, либо через License Generation API записать в ключ лицензию с включённой опцией VClock.

При записи лицензии через Sentinel EMS опция VClock включается при создании продукта с feature, за это отвечает галочка “Use Virtual Clock”.

Если в продукте у feature установлены лицензионные ограничения по времени, то такой продукт можно записать в модели ключей, не имеющие аппаратного таймера, только при установленной галочке “Use Virtual Clock” и при условии, что ключ, в который будет осуществляться запись лицензии, работает в режиме Driverless.



Как узнать, какие параметры привязки SL ключа изменились и из-за чего заблокировался SL ключ (с ошибкой Cloned)?


По C2V файлу можно узнать, какие параметры привязки изменились и, соответственно, почему ключ заблокировался.

Для этого потребуется C2V файл, снятый с ключа в данный момент времени (уже с заблокированного SL ключа).

После этого можно зайти в утилиту Vendor Suite -> Sentinel LDK Toolbox и в License Generation API использовать две функции: первую – sntl_lg_initialize, для инициализации API библиотеки License Generation API, а вторую – sntl_lg_decode_current_state, для расшифровки C2V файла. При этом к ПК, на котором будет выполняться декодирование, должен быть подключен Мастер ключ соответствующей серии разработчика.

Пример расшифрованного C2V с заблокированного SL ключа (SL ключ установлен на виртуальной машине):



<?xml version="1.0" encoding="utf-8"?>
<sentinel_ldk_info>
<key>
<id>110356281111668671</id>
<type>SL-AdminMode</type>
<update_counter>0</update_counter>
<vendor>
<id>37515</id>
<name>DEMOMA - evaluation</name>
</vendor>
<configuration_info>
<system_fingerprint>
<raw_data>MXhJSQkUrk/kxAy...</raw_data>
<fingerprint_info>
<criteria>
<name>cpu</name>
<value>2940756505</value>
</criteria>
<criteria>
<name>cpu</name>
<value>2940756505</value>
</criteria>
<criteria>
<name>mainboard</name>
<value>784958864</value>
</criteria>
<criteria>
<name>mainboard_uid</name>
<value>2870642851</value>
</criteria>
<criteria>
<name>ethernet_uid</name>
<value>4105763760</value>
</criteria>
<criteria>

</fingerprint_info>
</system_fingerprint>
<reference_fingerprint>
<fingerprint_control_type>ISV Managed</fingerprint_control_type>
<raw_data>MXhJSQlUrUzkxA.....</raw_data>
<fingerprint_info>
<criteria>
<name>cpu</name>
<value>2940756505</value>
</criteria>
<criteria>
<name>cpu</name>
<value>2940756505</value>
</criteria>
<criteria>
<name>mainboard</name>
<value>784958864</value>
</criteria>
<criteria>
<name>mainboard_uid</name>
<value>1047497330</value>
</criteria>
<criteria>
<name>ethernet_uid</name>
<value>3138813999</value>
</criteria>

</fingerprint_info>
</reference_fingerprint>
<fridge_version>1.8.41863</fridge_version>
<vlib_version>2.34.1.41863</vlib_version>
</configuration_info>
<clone_detected machine_type="Virtual">Yes</clone_detected>
<rehost>
<type>None</type>
<counter>0</counter>
</rehost>
<product>
<id>2</id>
<name>SafeNet Memo Card Plugin</name>
<clone_protection>Yes</clone_protection>
<fingerprint_change>Cloned</fingerprint_change>
<feature>
<id>11</id>
<name>Memo Card Plugin</name>
<license_properties>
<perpetual/>
<concurrency>
<count>Unlimited</count>
<count_criteria>Per Station</count_criteria>
<network_access>No</network_access>
<detachable>No</detachable>
</concurrency>
<remote_desktop_access>No</remote_desktop_access>
<virtual_machine_access>Yes</virtual_machine_access>
</license_properties>
<detach_license_count>0</detach_license_count>
<locked>Yes</locked>
</feature>
</product>

</key>
<key>
<type>SL-UserMode</type>
<vendor>
<id>37515</id>
</vendor>
<configuration_info>
<system_fingerprint>
<fingerprint_info>

</fingerprint_info>
</system_fingerprint>
</configuration_info>
</key>
</sentinel_ldk_info>

Красным выделен список текущего аппаратного обеспечения. Зелёным – список того аппаратного обеспечения, к которому осуществлялась привязка SL ключа. При их сравнении становится понятно, какие параметры изменились.

В примере отчётливо видно, что изменились два параметра. Но так как SL с виртуальной машины, то в счёт идёт только параметр Ethernet_uid, из-за его изменения и заблокировался ключ.

В примере также выделены оранжевым строки:

<clone_protection>Yes</clone_protection>

<fingerprint_change>Cloned</fingerprint_change>

Они означают, что защита от клонирования для ключа была включена, а также информируют о том, что ключ заблокирован с пометкой «Cloned» из-за смены fingerprint (параметров привязки).

Подробная англоязычная инструкция