Aladdin будет использовать в аппаратных ключах промышленные стандарты
Наиболее надежный способ защиты от копирования программного обеспечения — это использование специальных аппаратных ключей, без которых ПО просто не будут работать. Вначале такие ключи подсоединялись к параллельному интерфейсу LPT, но с появлением технологии USB производители постепенно переориентировались на нее. Например, четвертое поколение ключей HASP компании Aladdin выпускалось в двух исполнениях: USB и LPT. Однако пятое поколение продуктов — HASP HL — производится только в расчете на USB.
Переход на USB позволил сделать сами ключи более удобными в использовании. Они помещаются в стандартную коробочку вместе с диском и инструкцией по его эксплуатации, их также можно устанавливать внутрь компьютера с помощью специальной платы расширения. Кроме того, технология работы с USB такова, что операционная система сама определяет появление нового ключа и пытается подобрать для него драйвер. К тому же по шине USB можно передавать значительно больше данных, чем по прежним интерфейсам, что дает возможность разработчикам более эффективно использовать аппаратное шифрование, расположенное на ключе.
Переход на новую интерфейсную технологию позволил значительно расширить возможности и самого программного обеспечения, которое Aladdin поставляет вместе с новыми моделями HASP HL. Теперь комплект разработчика имеет три части: Envelope, компонент для установки защиты на любое приложение, Factory, с помощью которой можно работать с флэш-памятью ключа, и Toolbox, позволяющий быстро генерировать фрагменты кода, которые разработчик программного обеспечения должен интегрировать в свое приложение, чтобы обеспечить для него работу с защищенной памятью ключа. Кроме того, в пятом поколении HASP используются промышленные стандарты шифрования — национальный алгоритм США AES с длиной ключа 128 разрядов и хеш-функцию RSA 1024. Тем не менее сохраняется обратная совместимость по программному обеспечению с третьим и четвертым поколением HASP.
Применение ключа максимально упрощено. Цикл наложения защиты начинается с компонента Toolbox, с помощью которого разработчик генерирует фрагменты кода, которые ему требуется интегрировать в свою программу, чтобы обеспечить работу с ключом. После того как все необходимые функции определены и программа откомпилирована, разработчик с помощью Envelope шифрует некоторые фрагменты своего приложения. После этого продукт готов к тиражированию. При модернизации программы клиенту не нужно менять ключ защиты: производитель с помощью компонента Factory может сформировать изменения для памяти ключа и переслать его клиенту.
Пятое поколение продуктов HASP поддерживает сервис обновлений Windows Update Services, с помощью которого разработчики могут исправить и дополнить свой продукт. При этом также нужно модифицировать и внутреннюю память ключа. Эта процедура инициируется клиентом, который с помощью специальной утилиты делает слепок внутренней памяти ключа и генерирует для него цифровую подпись. Полученная с помощью этой утилиты информация отсылается производителю для шифрования и подписи модификации. Однако модификация памяти производится только в том случае, если цифровая подпись на ней действительно принадлежит разработчику и слепок памяти ключа соответствует его текущему состоянию.
Aladdin предлагает несколько вариантов ключей HASP HL с разными функциональными возможностями. Так, ключ Basic не имеет изменяемой памяти и применяется только для шифрования по протоколу AES с защищенным ключом. Модель Pro обладает внутренней памятью, работать с которой могут 16 различных приложений. Максимальный объем памяти имеет ключ Max, с помощью которого можно защитить до 112 приложений. В линейке также есть ключ Time, в который встроены часы, питающиеся от внутренней батарейки (ее заряда хватает минимум на пять лет), их можно использовать для предоставления временного доступа к приложению или для продажи на условиях аренды.