Работа на виртуальной машине?

Общие вопросы по защите программного обеспечения

Работа на виртуальной машине?

Сообщение port443 » Ср, 19 мар 2008 17:19

Работают ли ваши ключи в случае если ОС запущена на виртуальной машине? Если да, то есть ли способ недопустить работы более одного приложения на нескольких виртуальных машинах на одной физической?
port443
 
Сообщения: 1
Зарегистрирован: Ср, 19 мар 2008 17:14

Сообщение hijaq » Ср, 19 мар 2008 17:36

Ни о каких проблемах работы ключей в связи с использованием их в виртуальных машинах мы на данный момент не слышали. Но, думаю, любые возникающие проблемы будут решаться достаточно оперативно.

Ограничить использование тоже можно - необходимо реализовать механизм контроля количества одновременно открытых сессий в ключе.

Подобную схему мы уже делали под заказ, так что эта задача вполне выполнима. Вкратце механизм выглядит следующим образом:

1. У системы лицензирования в ключе запрашивается лицензия. Статус проверки этой лицензии и её номер остается в памяти ключа (для этого в системе лицензирования выделена специальная структура в оперативной памяти).

2. Делается вызов EXF модуля защиты, который был создан разработчиком программы, с запросом на открытие новой сессии. В ключе считывается установленный до этого статус проверки лицензии.

3. В EXF модуле защиты проверяется количество уже открытых сессий и если есть свободные слоты, то информация о новой заносится в собственную структуру, также расположенную в памяти ключа. Из ключа возвращается номер открытой сессии, который должен в дальнейшем передаваться обратно в ключ при вызове защищенных функций.

4. Происходит вызов защищенной функции со всеми необходимыми параметрами и номером сессии. Внутри защищенной функции выполняется проверка номера сессии, статуса лицензии и соответствия номера лицензии вызываемой функции. Если всё в порядке - работаем дальше, если нет - выходим с кодом ошибки.

5. При выходе из программы закрываем сессию и освобождаем слот, в противном случае потом все слоты будут заняты и придётся сбрасывать ключ (программно или переподсоединением к порту, не имеет значения).
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Сообщение Max Rusov » Чт, 20 мар 2008 00:52

Вопрос: насколько надежно сохранение данных в памяти ключа?

Как я понимаю у такой системы защиты будет один недостаток: если во время работы вынуть ключ из USB порта то его память будет очищена, и даже если его тут же снова вставить в порт то все программы "потеряют" лицензию и их придется перезапускать. Не очень приятно для лицензирования серверного приложения. Насколько велика вероятность такого сбоя, по Вашему опыту?
Max Rusov
 
Сообщения: 27
Зарегистрирован: Чт, 10 янв 2008 16:25

Сообщение hijaq » Чт, 20 мар 2008 01:03

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

Если статус необходимо сохранять даже после прекращения подачи питания на USB или сброса ключа чере S4_RESET_DEVICE, то сессии можно хранить в файле. Но тогда обязательно необходимо предусмотреть обработку таймаутов для этих сессий.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Re: Работа на виртуальной машине?

Сообщение dmytrynag » Ср, 10 авг 2011 11:09

Доброе время суток,
у меня есть программный продукт написанный с использованием защиты на базе ключа senselock elite 4, отлично работает на отдельном компьютере, но попытка завиртуализировать систему на VMware ESXi 4.1 c использованием Digi AnywhereUSB для проброса USB порта ни к чему хорошему не приводит - программа не видит ключ, хотя в системе виден ключ, ставил последние драйвера, пробывал устанавливать как на виртуальную ХР, так и на виртуальную Seven результат один и тот же программа не видит ключа, соотв вопрос есть какие нибудь тонкие настройки, чтобы программа распознала ключ или это в принципе не возможно и надо просить разработчика сменить ключ? На данной VMware ESXi 4.1 с Digi AnywhereUSB отлично работают программы защищенные ключами например HASP и тп.
Заранее благодарен за ответ.
С уважением, Дмитрий.
dmytrynag
 
Сообщения: 2
Зарегистрирован: Ср, 10 авг 2011 09:55

Re: Работа на виртуальной машине?

Сообщение hijaq » Ср, 10 авг 2011 13:07

Каких либо дополнительных настроек драйверов нет, да и по большому счету это вопрос не к драйверам/библиотекам ключа, а к разработчикам Digi AnywhereUSB.

Единственное, что могу посоветовать - попробовать перевести ключ в режим работы HID (это не повлияет на его содержимое). Это можно сделать при помощи небольшой консольной утилиты SenseSwitch.zip

Перевести все подключенные к компьютеру ключи SenseLock в HID (если ключи находятся в USB режиме, то необходимо наличие драйверов на компьютере):
Код: Выделить всё
SenseSwitch.exe hid


Перевести все подключенные к компьютеру ключи SenseLock в USB режим:
Код: Выделить всё
SenseSwitch.exe usb


После этой процедуры необходимо переподключить SenseLock к компьютеру.
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Re: Работа на виртуальной машине?

Сообщение dmytrynag » Чт, 11 авг 2011 10:44

Спасибо за оперативный ответ, оказалось проблема в самом anywhereusb устройстве и подключенных к нему виртуальных хостов, если устройство не поддерживает multihost и к нему подключены 2 хоста, причем один просто подключен например для настройки(программа anywhereusb сама обнаружила устройство), а второй подключает к себе usb-порт - ключ не видется, как только я выключил второй хост, сразу ключ увиделся и программой и SenseSwitch. Сейчас на повестке вопрос, как это будет работать на anywhereusb устройстве, которое поддерживает mutihost.

hijaq писал(а):Каких либо дополнительных настроек драйверов нет, да и по большому счету это вопрос не к драйверам/библиотекам ключа, а к разработчикам Digi AnywhereUSB.

Единственное, что могу посоветовать - попробовать перевести ключ в режим работы HID (это не повлияет на его содержимое). Это можно сделать при помощи небольшой консольной утилиты SenseSwitch.zip

Перевести все подключенные к компьютеру ключи SenseLock в HID (если ключи находятся в USB режиме, то необходимо наличие драйверов на компьютере):
Код: Выделить всё
SenseSwitch.exe hid


Перевести все подключенные к компьютеру ключи SenseLock в USB режим:
Код: Выделить всё
SenseSwitch.exe usb


После этой процедуры необходимо переподключить SenseLock к компьютеру.
dmytrynag
 
Сообщения: 2
Зарегистрирован: Ср, 10 авг 2011 09:55

Re: Работа на виртуальной машине?

Сообщение ignat911 » Чт, 01 июн 2017 22:08

dmytrynag писал(а):Спасибо за оперативный ответ, оказалось проблема в самом anywhereusb устройстве и подключенных к нему виртуальных хостов, если устройство не поддерживает multihost и к нему подключены 2 хоста, причем один просто подключен например для настройки(программа anywhereusb сама обнаружила устройство), а второй подключает к себе usb-порт - ключ не видется, как только я выключил второй хост, сразу ключ увиделся и программой и SenseSwitch. Сейчас на повестке вопрос, как это будет работать на anywhereusb устройстве, которое поддерживает mutihost.

hijaq писал(а):Каких либо дополнительных настроек драйверов нет, да и по большому счету это вопрос не к драйверам/библиотекам ключа, а к разработчикам Digi AnywhereUSB.

Единственное, что могу посоветовать - попробовать перевести ключ в режим работы HID (это не повлияет на его содержимое). Это можно сделать при помощи небольшой консольной утилиты SenseSwitch.zip

Перевести все подключенные к компьютеру ключи SenseLock в HID (если ключи находятся в USB режиме, то необходимо наличие драйверов на компьютере):
Код: Выделить всё
SenseSwitch.exe hid


Перевести все подключенные к компьютеру ключи SenseLock в USB режим:
Код: Выделить всё
SenseSwitch.exe usb


После этой процедуры необходимо переподключить SenseLock к компьютеру.


Подскажите как отключить второй хост anywhereusb? Спасибо!
ignat911
 
Сообщения: 1
Зарегистрирован: Чт, 01 июн 2017 21:02


Вернуться в Защита программного обеспечения

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

cron