21.12.2004

HASP HL – комплекс защиты ПО для компаний-разработчиков

PC Week, №47/2004, Денис Нивников

Электронные ключи с интерфейсом USB (так называемые USB-токены), оснащенные защищенной памятью и алгоритмами шифрования данных, реализованными на аппаратном уровне, представляют собой чрезвычайно гибкий инструмент и  находят применение в самых разных системах защиты данных. Чаще всего USB-токены используются в системах аутентификации и ограничения доступа к корпоративным ресурсам. Однако этим сфера их применения не ограничивается, и фактически функциональность подобных решений зависит лишь от фантазии разработчика. В нашей лаборатории был испытан новый программно-аппаратный комплекс HASP HL российской компании Aladdin, ориентированный на разработчиков ПО.

Название HASP расшифровывается как Hardware Against Software Piracy и в переводе означает "аппаратные средства защиты авторских прав". Основа комплекса HASP HL — семейство электронных ключей, в которое входит пять моделей (Basic, Pro, Max, Time и Net), различающихся объемом пользовательской и служебной памяти. USB-токены HASP HL представляют собой компактные устройства (38x16x8 мм или 52х16х х8 мм — в зависимости от модели, масса —: всего около 5 г), подключаемые к порту USB персонального компьютера.

Все данные хранятся в памяти ключей HASP HL в зашифрованном виде — используется встроенный алгоритм шифрования AES со 128-битным ключом. Каждый USB-ключ имеет собственный уникальный номер, который может служить ключом или частью ключа кодирования. Благодаря этому токены HASP HL практически нельзя подделать. Разработчик ПО имеет возможность пополнить свой пакет средствами проверки наличия ключа; еще более надежным будет использование в программе данных, хранящихся в памяти токена.

В комплект для разработчика входит программное обеспечение, позволяющее защитить уже существующее ПО или включить средства защиты еще на этапе разработки. Особенность комплекса HASP HL, отличающая его от других подобных систем, заключается в механизме лицензирования — разработчик может установить различные ограничения (например, по числу запусков) для одних и тех же программ. Предлагаемый пользователю инструментарий состоит из трех программ — Envelope, Factory и ToolBox.

С помощью программы Envelope ("оболочка") разработчик может защитить уже существующие программы. Выбранные исполняемые файлы будут дополнены средствами идентификации электронного ключа, а в случае отсутствия подключенного к USB-порту токена защищенная программа выведет сообщение об ошибке и завершит выполнение. В распоряжении пользователя широкий спектр различных параметров, таких, как периодичность опроса электронного ключа, уровень защиты специальных данных, функция обнаружения и блокировки режима отладчика, служебные сообщения, и все они настраиваются на этапе работы с "оболочкой". Дополнительные функции увеличивают размер исполняемого файла на 1160 Кб, независимо от исходного размера файла. Однако пользователь не сможет запустить защищенное приложение до тех пор, пока в память ключа не будет записана информация о лицензии — наборе программ и ограничений на их использование. Для объединения защищенных программ в пакеты и настройки ограничений применяется программа Factory. Разработчик имеет возможность наложить ограничение по общему количеству запусков, количеству одновременно выполняемых программ, ограничить время использования. Следует учитывать, что для некоторых функций требуются различные типы токенов — например, лицензия с ограничением времени работы с программой сохраняется только в памяти ключа HASP HL Time.

Подготовленные с помощью Factory лицензии могут быть объединены — допускается запись в память ключа более одной лицензии, при этом необходимо учитывать упомянутые выше ограничения.

Envelope и Factory представляют собой чрезвычайно гибкий инструмент контроля, позволяющий управлять лицензиями и не требующий при этом участия программистов для создания нескольких версий программного продукта. Так, предоставив пользователю пробную версию ПО с ключом HASP HL Time, ограничивающим время использования двумя неделями, для активации ПО после оплаты достаточно будет заменить электронный ключ на содержащий новую лицензию.

Тем разработчикам, которые бы хотели задействовать токены HASP HL пo полной программе", окажется полезной возможность включения функций работы с ключом еще на этапе создания ПО. В комплект поставки входят соответствующие API и документация, а программа ToolKit обеспечивает быстрый доступ к коду основных функций API на таких языках, как C++, С# и Visual Basic.

По данным компании Aladdin, в на стоящее время с помощью продуктов серии HASP защищено около 60% коммерческого программного обеспечения в СНГ и странах Балтии. Без сомнения, новая версия — HASP HL — поможет увеличить этот показатель. Ведь стоимость этой системы сравнительно не высока: электронные ключи HASP HL Мах, например, стоят 24 долл. Единственный отмеченный нами недостаток — отсутствие русскоязычной документации — не относится к самой системе и скорее всего будет исправлен в ближайшем будущем.