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

В конце января о своих решениях – ключах HASP – напомнила компания Aladdin. Ее HASP API предназначены для интеграции в код приложения проверок, часть которых выполняется процессором ключа и проследить за которыми с помощью отладчика невозможно. Приложение, привязанное к подобному устройству, может проверять содержание его памяти, выполнять операции по шифрованию или дешифровке данных по алгоритму AES. При этом ключ шифрования не покидает аппаратного устройства, но генерируется по серийному номеру ключа. (Более подробную информацию о функциональных возможностях ключа HASP SRM можно найти в статье "Волшебный ключик «Аладдина»", Computerworld Россия, № 4, 2008).

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

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

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

Поделитесь материалом с коллегами и друзьями