Введение
Технология защиты программного обеспечения с помощью аппаратных ключей широко распространена по всему миру. Каждая компания сама решает, стоит ли защищать свой продукт с помощью привязки к аппаратному ключу или следует остановиться на другом механизме обеспечения лицензионной безопасности. Время от времени аппаратные ключи крупнейших мировых производителей взламываются, в сети Интернет появляются в свободном доступе программные эмуляторы аппаратных ключей... В ответ на это разработчики создают новые версии своих ключей, которые в течение какого-то времени сдерживают пиратов и т.д. Борьба "снаряда и брони" бесконечна... Данная статья расскажет о новой версии ключей HASP от компании Aladdin Software Security R. D.
Мы уже
писали о технологии HASP и даже проводили некоторое сравнение с технологией Sentinel от компании Rainbow Technologies. Если вас, уважаемый читатель, интересует подробное описание технологии HASP, состав самого аппаратного ключа, базовые возможности утилит для его настройки и т.д., то советуем обратиться к нашей предыдущей статье, ссылка на которую дана выше. Далее мы постараемся сконцентрировать внимание именно на отличиях нового пятого поколения технологии HASP (пятое поколение называется HASP HL, и именно о нем далее пойдет речь) от HASP4.
Интервью с экспертом
О новой версии технологии защиты программного обеспечения на основе ключей HASP HL нам согласился рассказать Александр Гурин, менеджер отдела защиты ПО компании Aladdin Software Security R. D.
Александр Гурин, менеджер отдела защиты ПО компании Aladdin Software Security R. D.
Алексей Доля: Вы не могли бы кратко описать, чем HASP HL отличается от других версий электронных ключей HASP?
Александр Гурин: Компания Aladdin уже много лет выпускает ключи защиты программного обеспечения. Естественно, как и любой продукт, они совершенствовались, становясь более эффективными и максимально отвечающими требованиям заказчика. До настоящего момента HASP4 - был, пожалуй, самым удачным ключом. В нем были хорошо сбалансированы и стойкость защиты, и простота её реализации.
Но будем объективны: во всех аладдиновских ключах, включая HASP4, был один недостаток, вернее даже не недостаток, а уязвимость. Я говорю о так называемом "секретном" алгоритме шифрования данных.
Основная опасность использования "секретных" алгоритмов, равно как и заказных, сделанных для конкретного разработчика - это вероятность того, что алгоритм станет известен, а, следовательно, сможет быть реализован программно. В этом случае появляется программный эмулятор ключа защиты, полностью реализующий все его функции. Кроме того, разработчик никогда не знает, насколько надежную защиту он использует. Стойкость алгоритма оценивается постфактум: этот ключ сломали за 3 года - хорошая была защита!
В новых ключах HASP HL мы полностью отказались от использования секретных алгоритмов. Для шифрования данных используется публичный, аппаратно реализованный алгоритм AES с ключом шифрования 128 бит. Алгоритм опубликован, и с 2000 года является стандартом криптографии США (пришел на смену легендарного DES).
Использование публичного алгоритма делает бесполезными все прежние атаки на ключи. Суть взлома каждой конкретной защиты сводится к нахождению ключей шифрования. Эти ключи хранятся в служебной памяти HASP HL и никогда не выходят наружу. На физическом уровне - попросту отсутствуют команды по их извлечению. Таким образом, взлом каждой защиты сводится к задаче криптоанализа, что во много раз сложнее простой эмуляции ключа.
В
прошлом нашем интервью, я сравнил защиту с помощью ключей HASP4 с обычным кухонным стулом. Можно сделать такой стул, который рассыплется при первом же использовании, а можно такой, который будет служить долгие годы. Если провести аналогию с HASP HL, то для того чтобы сломать хорошо построенный (с помощью HASP HL) стул - его надо, по меньшей мере, разобрать на атомы :).
Алексей Доля: Есть ли какие-нибудь разновидности ключей HASP HL?
Александр Гурин: Модельный ряд HASP HL состоит из:
HASP HL Basic - самый простой ключ, не имеет внутренней памяти и уникального ID-номера;
HASP HL Pro - пришел на смену наиболее популярной модели HASP4 M1. Ключ содержит 112 байт защищенной памяти и уникальный ID-номер;
HASP HL Max - необходим в случае защиты нескольких программ при помощи одного ключа (до 112 программ). Содержит 4096 байт защищенной памяти и ID-номер;
HASP HL Time - содержит встроенные часы реального времени, 4096 байт защищенной памяти и ID-номер;
HASP HL Net - сетевой ключ, позволяющий ограничивать число одновременно работающих с защищенной программой пользователей. Выпускаются модификации на 10, 50 и 250 пользователей.
Кроме того, хотелось бы отметить, что все сетевые ключи работают как локальные, а локальные - как сетевые. За счет универсального HASP HL API теперь нет необходимости разрабатывать отдельно сетевую и локальную защиту.
Алексей Доля: Расскажите, пожалуйста, о возможностях, реализуемых с помощью технологии HASP HL.
Александр Гурин: Мы постарались сделать защиту с помощью ключей HASP HL максимально гибкой и удобной для разработчиков и менеджеров. Все новшества в ключах HASP HL направлены на то, чтобы сократить время построения защиты, сделать процесс внедрения и последующего сопровождения защищенных приложений легким и простым.
Самым, пожалуй, важным нововведением в ключах HASP HL является наличие так называемой, системы автоматического лицензирования. Эта система позволяет полностью разделить процесс защиты и лицензирования продукта. Как это работает, поясню на примере. Ваше приложение состоит из трех модулей - А, В и С. Перед вами стоит задача выпуска нескольких версий, в которые будут входить упомянутые модули в различных комбинациях. При выпуске продукта вы можете еще и не знать, какие версии вам понадобятся в будущем. На первом этапе разработчики встраивают защиту для каждого модуля. На втором - менеджеры, несколькими кликами мыши в графическом интерфейсе определяют, что будет представлять собой та или иная версия продукта, какие модули будут в нее входить. Кроме того, менеджеры могут быстро сформировать обновление продукта. И все это совершенно независимо от разработчиков. Как я уже говорил, API в ключах HASP HL - универсально. Нет нужды в создании отдельной локальной и отдельной сетевой защиты. Таким образом, вы экономите время разработчиков по внедрению защиты, этому также способствует встроенный генератор исходных кодов HASP HL API.
Алексей Доля: Каков форм-фактор нового электронного ключа?
Александр Гурин: Все ключи HASP HL выпускаются только в USB форм-факторе. Наряду с поддержкой Windows Update - это обеспечивает автоматическую установку драйверов HASP HL, что на наш взгляд, должно существенно снизить нагрузку на техническую поддержку.
Алексей Доля: Каковы системные и аппаратные требования ключа HASP HL? Реализована ли поддержка платформ Unix и Macintosh?
Александр Гурин: Как и прежде, ключи HASP HL являются межплатформенным решением. HASP HL работает под Windows 98SE/ME/2000/XP/Server 2003, Mac OS 10.2.x и выше, а так же под основными дистрибутивами Linux (SuSЕ, RedHat, Alt и др.).
Алексей Доля: Какую техническую поддержку вы оказываете пользователям HASP HL?
Александр Гурин: Политика Aladdin в области технической поддержки HASP остается прежней: "Неважно, разработчик вы или просто пользователь программного обеспечения защищенного с помощью HASP, Aladdin всегда и бесплатно окажет вам техническую поддержку своего продукта".
Алексей Доля: Хорошая позиция. Сколько стоит ключ HASP HL и где его можно купить?
Александр Гурин: Ценовая политика для ключей HASP HL такова: локальные ключи на 10% дороже соответствующих моделей HASP4, а сетевые ключи - на 15% дешевле. Полная информация по ценам на ключи HASP HL представлена на
нашем сайте. Приобрести наши ключи можно, оформив заявку на сайте, либо через обширную сеть наших партнеров по России, а так же в странах Ближнего Зарубежья.
Алексей Доля: Хотите сказать что-нибудь нашим читателям напоследок?
Александр Гурин: Хотелось бы поздравить всех с новогодними праздниками и пожелать удачи в 2005 году. Огромное спасибо за внимание. Если возникли какие-либо вопросы - буду рад ответить.
Алексей Доля: Вам тоже спасибо, что уделили нам время. Мы и дальше будем следить за развитием технологий компании Aladdin. Удачи вам и вашей компании!
Некоторые комментарии
Как отметил Александр Гурин, все ключи HASP HL теперь поставляются в форм-факторе USB. К этому следует добавить, что инженеры компании Aladdin смогли уменьшить сам аппаратный ключ в полтора раза, теперь максимальный размер ключа составляет 38 мм. Как утверждают менеджеры Aladdin Software Security R. D., это "самый компактный ключ на рынке". Взглянем несколько подробнее на то, какие виды ключей HASP HL бывают.
Ключ HASP HL Basic. Это недорогое решение. Ключи не имеют памяти и уникального ID-номера.
Ключ HASP HL Pro. Самый популярный и универсальный ключ, содержит 112 байт защищенной перезаписываемой памяти и уникальный ID-номер. С помощью одного ключа HASP HL Pro можно защитить до 16 различных приложений.
Ключ HASP HL Max. Оптимален для случаев, когда необходимо обеспечить защиту нескольких приложений одним ключом. Данная модель содержит 4096 байт защищенной перезаписываемой памяти и уникальный ID-номер и может использоваться для защиты до 112 приложений.
Ключ HASP HL Time. Содержит встроенные часы реального времени, показывающие текущую дату и время. HASP HL Time позволяет передавать защищенное приложение во временное использование (на ознакомление или тестирование), организовать сдачу в аренду, лизинг, а также использовать какие-либо ресурсы приложения в течение заданного промежутка времени. HASP HL Time содержит 4096 байт защищенной перезаписываемой памяти и уникальный ID-номер.
Ключ HASP HL Net. Сетевые ключи позволяют защищать приложения в сети и ограничивать количество пользователей (лицензий). С помощью одного ключа HASP HL Net можно защитить до 112 различных приложений или модулей программы и ограничить число одновременных пользователей. Данная модель содержит 4096 байт защищенной перезаписываемой памяти и уникальный ID-номер.
Ключ HASP HL Master Key. Ключ содержит уникальные коды и идентификаторы, используемые системой HASP HL, которые присваиваются разработчику компанией Аладдин. Пароли для каждой серии HASP HL хранятся в защищенной памяти HASP HL Master Key. Этот ключ нужен разработчику для построения защиты приложения как с помощью HASP API, так и с помощью утилиты автоматической защиты HASP Envelope.
Если вы внимательно читали описание ключей, то, скорее всего, заметили увеличившийся размер защищенной памяти ключей: с 512 байт до 4096 байт.
Александр Гурин отметил, что менеджеры теперь могут работать отдельно от разработчиков в плане определения лицензионной политики продукта. К этому следует добавить, что с помощью автоматической системы лицензирования HASP HL менеджеры могут устанавливать ограничения для каждого модуля или функции защищенной программы по количеству запусков, по времени использования и по количеству одновременно работающих пользователей в сети.
Следует также отметить, что ключи HASP HL полностью совместимы с HASP4 и HASP3. Таким образом, ключи HASP HL могут работать с программами, защищенными с помощью ключей HASP4 и HASP3, без внесения каких-либо изменений в исходный код. Но ключи HASP HL выпускаются только в USB форм-факторе. В случае отсутствия USB порта, необходимо использовать LPT ключи HASP4.
Итоговая таблица
Напоследок приводим итоговую таблицу, в которой отражены основные функциональные возможности HASP HL и HASP4, а также дано сравнение этих двух поколений аппаратных ключей.
Возможности ключей HASP
Возможности | HASP HL | HASP4
|
---|
Автоматическая защита (Envelope) | + | +
|
Автоматическая система лицензирования | + | -
|
Аппаратно реализованный в ключе алгоритм кодирования данных | AES | секретный
|
Генератор исходных кодов модулей защиты | + | -
|
Дистанционное перепрограммирование | + | +
|
Кросс-платформенность | + | +
|
Размер памяти | до 4096 байт | до 512 байт
|
USB интерфейс | + | +
|
LPT интерфейс | - | +
|
Автоматическая установка драйверов (Windows Update) | + | только USB
|
На основании этой таблицы всегда можно сделать о целесообразности внедрения новой версии ключей для защиты своих продуктов. Все, конечно же, зависит от конкретной ситуации...