Электронный ключ под виртуальной машиной

21апреля 2011 годаСегодня множество ресурсоемких программных комплексов используется на серверах приложений и в виртуальных средах. Однако не все виртуальные машины позволяют использовать USB-устройства, в то же время защиту приложений при помощи электронных ключей с USB-интерфейсом никто не отменял. У наших клиентов периодически возникают вопросы об использовании электронных ключей в такой ситуации.

Программное обеспечение все чаще используется на серверах приложений и под виртуальными машинами (ВМ). Цель — более эффективное использование вычислительных ресурсов, однократная установка и централизованная настройка приложений.

Сложные и ресурсоемкие приложения часто защищаются при помощи электронных ключей. Они распространяются единичными экземплярами, требуют надежной защиты и индивидуального сопровождения. Однако далеко не каждая ВМ позволяет использовать USB-интерфейс хостовой машины, и уж совсем редко встречается возможность подключения USB-устройств «тонкого» клиента.

Возникло желание поделиться мыслями о том, как обеспечить лицензирование приложений, защищенных электронными ключами, в подобной ситуации. Если физически электронный ключ один, то наиболее удобно подключить его непосредственно к виртуальной машине (если такая функциональность поддерживается). Но когда ключей несколько — может потребоваться подключение электронного ключа каждым пользователем непосредственно перед сеансом работы, а также «проброс» порта USB в виртуальную среду от каждого клиента.

В последних версиях наиболее известных виртуальных машин (таких как VmWare ESXi 4.1, Microsoft Hyper-V SP1, Oracle Virtual Box 4 и некоторых других) поддержка USB-устройств хостовой машины была реализована. Однако до недавнего времени такой поддержки не было, как нет сейчас практически нигде встроенной возможности «проброса» любых USB-устройств с «тонкого» клиента. Исключением является связка MS Hyper-V RemoteFX + RDP 7.1, в которой реализовано низкоуровневое перенаправление любых USB устройств. Однако RDP всех предыдущих версий позволяет подключать лишь сильно ограниченный спектр устройств, не включающий аппаратные ключи защиты, а для установки RemoteFX нужно специфическое аппаратное обеспечение.

Таким образом, для простоты рассуждений можно предположить, что ВМ не поддерживает устройств USB вообще.

Функциональность «проброса» USB-устройств по сети может быть реализована при помощи AnywhereUSB от компании Digi. Решение представляет собой программно-аппаратный комплекс, позволяющий в пределах локальной сети организовать доступ к USB-устройствам, которые непосредственно к нему подключаются. Из опыта обращения — решение является одним из наиболее стабильных, и так как USB-портов в нем несколько, то с одним устройством могут работать сразу несколько человек. Единственный очевидный недостаток — цена (стоимость порядка $300).

Существуют также полностью программные решения, позволяющие «подключать» по сети USB-интерфейс удаленной клиентской машины. В качестве примера можно привести разработку компании Incentives Pro — USB Redirector (стоимость лицензии от $60, есть Evaluation версия). Но использовать полностью только программные средства лучше с осторожностью, так как (на момент написания статьи) надежность многих из них при длительной работе оказалась сомнительной.

Есть и другой, возможно менее очевидный, способ — лицензирование защищенного приложения по локальной сети с использованием сетевых ключей Guardant. Их основными преимуществами являются возможности:

  • использования электронного ключа и защищенного приложения на различных компьютерах;
  • хранения нескольких лицензий на одном электронном ключе.

В нашей ситуации полезным оказывается именно первое: электронный ключ (с драйвером или без) и сервер лицензирования Guardant устанавливаются на доступном в пределах локальной сети компьютере. После этого защищенному приложению остается лишь указать IP-адрес этого компьютера (драйвер устанавливать не нужно) и можно работать.

Электронные ключи Guardant

  • Guardant Sign
  • Guardant Code
  • Guardant SD
  • Guardant Sign Net
  • Guardant Sign
  • Guardant Code micro
  • Guardant SD
  • Guardant Time Net
  • Guardant Sign micro
  • Guardant Code
  • Guardant SD
  • Guardant Net II

Карта сайта