05.05.2005

HASP HL - новое поколение защиты

Softkey.info, 2005 г., Марат Давлетханов

Пираты, ворующие программное обеспечение, являются постоянной головной болью разработчиков ПО и его законных продавцов. И действительно, очень сложно смириться с тем, что кто-то пользуется плодами твоего труда, получая за это деньги. Именно поэтому защита от пиратов всегда оставалась весьма актуальной задачей. Решаться эта проблема может по-разному. Самым простым способом защиты от пиратов являются серийные номера. Впрочем, их нельзя назвать хоть сколько-нибудь надежными. И действительно, достаточно одному нечистоплотному пользователю выставить полученный номер на всеобщее обозрение, чтобы им воспользовались тысячи, а то и десятки тысяч человек. Есть и более сложные варианты защиты. Они используют привязку каждой копии программы к конкретному компьютеру. Впрочем, для обхода такой защиты пираты используют специальные "кейгены" (генераторы ключей). Но самой надежной защитой всегда были, да и, наверное, будут аппаратные ключи. А самыми известными среди них в России являются устройства серии HASP, разработанные специалистами компании Aladdin Software Security R.D.Недавно общественности была представлена серия HASP HL, которая является новым, пятым поколением ключей для защиты программ от пиратов. Они во многом отличаются от предыдущих устройств, разработанных компанией Aladdin Software Security R.D. Чем отличаются? А вот это мы с вами, уважаемые читатели, сейчас и выясним.

Серия HASP HL состоит из шести устройств. Ниже представлено их краткое перечисление.

  • HASP HL Basic. Младшая и самая дешевая модель в семействе ключей HASP HL. У него нет защищенной памяти и уникального ID-номера.
  • HASP HL Pro. Этот ключ является универсальным и недорогим решением, с помощью которого можно защитить до 16 различных приложений. Для этого в нем есть 112 байт защищенной перезаписываемой памяти и уникальный ID-номер.
  • HASP HL Max. Эта модель отличается от предыдущей только увеличенным объемом (4096 байт) защищенной памяти. Это позволяет защищать с его помощью до 112 различных программ.
  • HASP HL Time. Эта модель представляет собой устройство со встроенными часами реального времени, что позволяет продавцам ПО устанавливать временное ограничение на работу приложений. Кроме того, с помощью HASP HL Time можно организовывать иные способы распространения программ, например аренду или лизинг.
  • HASP HL Net. Эта модель предназначена для сетевого использования. Она позволяет защищать до 112 приложений и ограничивать число одновременно использующих ту или иную программу пользователей.
  • HASP HL Master Key. Этот ключ содержит уникальные коды и идентификаторы, используемые системой HASP HL, которые присваиваются разработчику компанией Aladdin Software Security R.D.

Вот мы с вами, уважаемые читатели, и рассмотрели состав новой серии ключей HASP. Теперь пришла пора перейти к разбору отличий этих устройств от устройств предыдущего поколения. А начать нужно с того, что самым коренным образом изменилась архитектура ключей. Дело вот в чем. Раньше для защиты программ использовалось криптопреобразование данных по секретному, известному только специалистам компании Aladdin Software Security R.D. алгоритму. К сожалению, такой подход в последнее время считается неудовлетворяющим требованиям информационной безопасности. И в этом нет ничего удивительного. Секретные алгоритмы, разработанные специалистами одной компании, зачастую оказываются несовершенными. Так что хакер, взломав такую технологию, может легко написать эмулятор, который будет позволять работать с защищенными приложениями без аппаратного ключа.

Для того чтобы избежать этого, в новом поколении ключей HASP была применена технология Advanced Encryption Standard (AES). Вообще-то она считается национальным стандартом США. Но надежность этого криптоалгоритма подтверждена многими исследованиями, так что сегодня он применяется в очень многих разработках. Более того, на сегодняшний день не известно ни об одном случае взлома AES. Кроме того, в серии ключей HASP HL усилены антиотладочные и антитрассировочные механизмы. Все это говорит о высокой надежности защиты программного обеспечения с помощью аппаратных ключей серии HASP HL.

Другим очень важным нововведением в серии ключей HASP HL стала отдельная система лицензирования. Раньше установка каких-либо ограничений на использование программы осуществлялась вместе с защитой, то есть встраивалась в программный код конечного продукта. Но ведь со временем используемые принципы лицензирования могут меняться. И для того чтобы реализовать эти изменения, необходимо было исправить исходный код продукта. Ну а для этого нужно привлечь профессионального программиста, причем желательно одного из тех, кто участвовал в создании программы. Если же по каким-то причинам это невозможно, то необходимость изменения лицензионной политики может вылиться в серьезную проблему.

В серии HASP HL есть ключ, поддерживающий работу с сетью

При использовании же ключей HASP HL все обстоит совсем по-другому. Дело в том, что в этой серии устройств защита программного обеспечения и его лицензирование разделены. Это значит, что функции, обеспечивающие проверку наличия подключенного к компьютеру верного ключа, задаются программистами при разработке исходного кода приложения. Лицензионные же ограничения накладываются менеджерами отдельно с помощью специальной утилиты. У такого решения есть целый ряд преимуществ. Во-первых, к работе с лицензионной политикой не нужно привлекать профессиональных программистов. Во-вторых, все изменения в правила распространения вносятся менеджерами в любой момент в наглядной форме, что позволяет избежать каких-либо ошибок и неточностей.

Но и это еще не все. Все изменения в моделях лицензирования могут производиться удаленно. Для этого пользователю достаточно лишь обновить память своего аппаратного ключа с помощью Интернета или электронной почты. Кстати, все обновления подписываются с помощью алгоритма RSA с длиной ключа 1024 бита. Это значит, что пользователь может быть уверен в подлинности присылаемой ему информации. Но для чего вообще нужны такие сложности с дистанционным изменением памяти ключа? А вот представьте себе, уважаемые читатели, следующую ситуацию. Компания приобрела у дилера какое-то программное обеспечение. Лицензия рассчитана, допустим, на 10 пользователей. Что делать, если организация решила докупить к своей системе дополнительный модуль, а также увеличить число пользователей до 15?

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

Изменение архитектуры ключей и введение автоматической системы лицензирования являются основными отличиями серии HASP HL от HASP4. Но помимо них в новом поколении устройств есть и еще кое-какие изменения. Во-первых, теперь все ключи выполняются в формфакторе USB. И в этом тоже нет ничего удивительного. Такие устройства благодаря своим миниатюрным размерам и возможности подключения к компьютеру и отключения от него прямо во время работы наиболее удобны для пользователей. Кстати, о размерах. По сравнению с серией HASP4 устройства HASP HL уменьшились в полтора раза. По заявлениям представителей компании Aladdin Software Security R.D. их ключи являются самыми миниатюрными на рынке. Ну и, наконец, последнее нововведения пятого поколения устройств для защиты программного обеспечение от пиратов - полная поддержка Windows Update. Это значит, что пользователи защищенных приложений могут автоматически устанавливать необходимые для ключей драйверы. Естественно, это очень удобно.

Ну вот, наверное, и все, что можно сказать об отличиях нового поколения ключей HASP от предыдущего. Нужно признать, что данные ключи развиваются сразу в двух направлениях. Во-первых, они становятся все более и более надежными. Использование алгоритма AES вместе с современными антиотладочными и антитрассировочными механизмами очень сильно затрудняет создание программных эмуляторов ключей. Ну а во-вторых, устройства из серии HASP HL стали более удобными как для разработчиков и продавцов программного обеспечения, так и для конечных пользователей.