22.04.2005

Новое поколение ключей HASP

Infobez.ru, 2005 г., Марат Давлетханов

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

В распоряжении разработчиков программного обеспечения есть несколько способов защиты своих продуктов от пиратов. Подавляющее большинство из них использует различные программные модули, контролирующие доступ пользователей с помощью серийных номеров, ключей активации и т. д. Однако большая часть из них не может похвастаться особой надежностью: в Интернете, если постараться, можно найти всевозможные патчи, обходящие защиту. Кроме того, вариант с серийными ключами имеет еще один серьезный недостаток. Достаточно одному человеку, легально купившему программу, выставить полученный код на всеобщее обозрение, чтобы им воспользовалось множество пиратов. Всех этих недостатков лишено использование для защиты программного обеспечения специальных аппаратных ключей. Тем более что такой вариант предоставляет разработчикам широкие возможности по сложному лицензированию своей продукции. Самыми известными и распространенными ключами в России являются устройства из серии HASP (Hardware Against Software Piracy), поставляемые компанией Aladdin. И совсем недавно нашему вниманию было представлено новое, пятое поколение этих ключей - HASP HL. Именно о нем мы с вами, уважаемые читатели, и будем говорить сегодня.

Для начала давайте разберемся, чем новое поколение отличается от предыдущего, четвертого. Самое главное изменение – это перестройка архитектуры ключей. Дело в том, что в четвертом поколении устройств в качестве основного криптоведения (способ преобразования одного числа в другое) использовался специальный секретный алгоритм, разработанный специалистами компании Aladdin. Но сегодня такое решение постепенно перестает удовлетворять современным требованиям информационной безопасности. Сейчас все большее и большее распространение получают так называемые открытые стандарты. Эти алгоритмы известны всем, однако это ничуть не помогает хакерам. Наоборот, их массовое использование и тестирование подтвердило высокую надежность и отсутствие скрытых "дыр" и заложенных "бомб". Не отстают от мирового сообщества и разработчики компании Aladdin. В серии ключей HASP HL в качестве основного криптоведения используется американский национальный стандарт - алгоритм шифрования AES с длиной ключа 128 бит. Он считается прекрасной защитой, которую до сих пор никто еще (по крайней мере, по подтвержденным данным) не преодолел. Так что применение AES весьма серьезно увеличивает защищенность ключей от взлома. Тем более что в новой серии HASP HL усилены антиотладочные и антитрассировочные механизмы.
Другим важным "внутренним" отличием ключей пятого поколения от устройств четвертого является увеличение объема защищенной памяти. На первый взгляд, этот параметр не очень важен, однако это совсем не так. Ведь сегодня один ключ может применяться для защиты нескольких приложений. Причем каждое из них может использовать сложные принципы лицензирования, требующие записи различной информации. Поэтому нет ничего удивительного в том, что разработчики увеличили объем защищенной памяти. В старшей модели ключей серии HASP HL этот параметр равен 4096 байтам. На сегодняшний день этого более чем достаточно.

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

Кстати, особо стоит отметить набор доступных условий для создания правил лицензирования. Менеджеры могут ограничить количество запусков программы, число одновременно работающих с ПО пользователей (ключ HASP HL Net), по времени использования (для этого применяются внутренние часы ключа HASP HL Time) и т.д. А еще у разработчиков или распространителей ПО есть возможность защиты с помощью ключей HASP отдельных его функций. Таким образом, без подключенного устройства приложение будет работать в функционально ограниченном демо-режиме. Если пользователь установит ключ, то сможет воспользоваться нормальной программой. Это позволяет распространять защищенные устройствами HASP HL приложения через Интернет, используя схему продаж Shareware.

Также стоит отметить, что серия HASP HL предусматривает возможность удаленного перепрограммирования ключей. Это бывает нужно в тех случаях, когда пользователь, купивший программу, решил расширить свою лицензию, например, увеличив число пользователей, которые могут одновременно работать с приложением. В этом случае оптимальным решением будет не отправка клиенту нового ключа и не приглашение его посетить офис компании (особенно, если клиент находится в другом городе), а внесение изменений в ключ через Интернет или с помощью электронной почты. При этом для подтверждения подлинности передаваемые данные подписываются с помощью алгоритма RSA с длиной ключа 1024 бита.

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

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

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

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