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

В конце января о своих решениях — ключах HASP — напомнила компания Aladdin. Ее HASP API предназначены для интеграции в код приложения проверок, часть которых выполняется процессором ключа и проследить за которыми с помощью отладчика невозможно. Приложение, привязанное к подобному устройству, может проверять содержание его памяти, выполнять операции по шифрованию или дешифрации данных по алгоритму AES. При этом ключ шифрования не покидает аппаратного устройства, но генерируется по серийному номеру ключа.

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

Однако аппаратные ключи HASP можно использовать не только для защиты интересов производителей ПО. В частности, в ключи HASP SRM встроен криптопроцессор, позволяющий шифровать поток данных со скоростью до 1 Мбит/с. Это дает возможность создать на его основе приложение, которое будет защищать уже пользовательские данные. Если же хранить в памяти ключа уникальный идентификатор, то этот же ключ можно будет использовать в том числе и для аутентификации пользователей. Полная и надежная аутентификация реализуется с помощью другого продукта компании Aladdin — eToken, тем не менее в некоторых проектах достаточно функциональности HASP, который стоит дешевле.

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