Электронные ключи Guardant Stealth III
03 января 2006 годаКомпания «Актив», российский разработчик средств защиты программного обеспечения от компьютерного пиратства, известных под маркой Guardant, и средств аутентификации Рутокен, представила новое семейство электронных ключей Guardant Stealth III.
Компания «Актив», российский разработчик средств защиты программного обеспечения от компьютерного пиратства, известных под маркой Guardant, и аппаратных средств аутентификации, USB-токенов Рутокен, представила перспективное семейство электронных ключей Guardant Stealth III, выпуск которого запланирован на первый квартал 2006 г.
По сравнению с предыдущими моделями в новых ключах существенно увеличен объем энергонезависимой памяти (2048 байт против 256 байт), а также представлена в обновленной редакции (расширенной и дополненной новой функциональностью) технология Stealth, лежащая в основе всех ключей Guardant.
Помимо модификаций, носящих «косметический» характер, в спецификацию Stealth III включены следующие основные ноу-хау: технология защищенных ячеек Protected Item, новая редакция аппаратного алгоритма GSII64, а также механизм дистанционного обновления памяти ключа Trusted Remote Update.
В основе технологии Protected Item лежит новый принцип организации памяти электронного ключа — наряду с аппаратными алгоритмами, в памяти ключа Guardant Stealth III можно создавать особые контейнеры с данными или защищенные ячейки, к которым обращаются по их номеру. Это значительно облегчает работу с памятью ключа, поскольку упрощенная адресация позволяет обращаться к данным почти как к файлам.
Кроме того, уникальные пароли на чтение и обновление защищенных ячеек, а также их активация/деактивация по уникальным паролям, обеспечивают заказчикам дополнительную степень безопасности. Наконец, для защищенных ячеек можно установить запрет на чтение/запись.
Возможность кодирования/декодирования внешних данных внутри электронного ключа впервые была реализована в электронных ключах Guardant Stealth II, в которые был встроен устойчивый к криптоанализу симметричный аппаратный алгоритм GSII64. Новая редакция этого алгоритма, воплощенная в Guardant Stealth III, дополнена поддержкой активации/деактивации алгоритмов по уникальным паролям, которая лежит в основе безопасного распространения ПО с ограниченной функциональностью: защищенные демонстрационные версии, помодульные продажи и т. д.
Технология безопасного удаленного обновления памяти электронного ключа Trusted Remote Update исключает возможность компрометации и/или фальсификации данных. Механизм Trusted Remote Update использует алгоритм шифрования GSII64, и вся информация, предназначенная для дистанционного обновления, расшифровывается и обрабатывается только внутри электронного ключа. Идеология Trusted Remote Update гарантирует, что однажды записанная в электронный ключ информация не может быть записана в него повторно, а данные, сгенерированные для одного ключа, не подойдут для другого.
Одновременно с Guardant Stealth III в продажу поступит обновленный «Комплект разработчика» версии 5.0. Усовершенствованный программный инструментарий, входящий в состав новой версии ПО Guardant, не только позволит раскрыть функциональные возможности новых электронных ключей, но и даст возможность строить более эффективные защитные механизмы на базе электронных ключей предыдущего поколения.
Краткий перечень наиболее существенных обновлений пятой версии ПО Guardant включает технологию защиты исполняемых файлов от изучения логики их работы (псевдокод), суть которой состоит в том, что определенные фрагменты исполняемых файлов дизассемблируются, анализируются и преобразуются в защищенный код виртуальной машины, которая генерируется тут же.
Анализировать логику работы защищенного подобным образом кода на порядок сложнее, чем инструкции Intel-совместимых процессоров, поскольку для псевдокода не существует никакого стандартного инструментария (отладчиков, дизассемблеров). Взломщику придется все делать вручную или создавать свои собственные инструменты. В каждой копии виртуальной машины отсутствуют постоянные сигнатуры в защищенном виде, а параметры многих команд рассчитываются только во время выполнения. Кроме того, особым образом реализуются набор внутренних команд псевдокода, множественный взаимный контроль целостности, обфускация кода виртуальной машины, шифрование кода самой виртуальной машины, шифрование самого псевдокода.
Обновленный и усовершенствованный интерфейс API Guardant теперь стал handle-ориентированным, большинство функций работает с так называемым защищенным контейнером, который служит для хранения контекста работы с данной копией API Guardant и сокращает время работы функций, а также упрощает обмен с API путем минимизации числа вызовов и параметров функций.
В целях более глубокой интеграции новых технологий в процесс противостояния взлому разработчики внесли серьезные изменения в концепцию взаимодействия защищенного приложения с электронным ключом — был полностью изменен протокол обмена между драйверами и API Guardant, а все механизмы, обеспечивающие обмен, надежно защищены псевдокодом, что исключает использование взломщиком привычного инструментария, а тем более имеющихся наработок: все старые эмуляторы, логгеры и мониторы просто перестанут работать.
Дополнительные преимущества дает также постоянный контроль целостности драйвера (подписанного при помощи асимметричной криптографии) из защищенного приложения — при вызове функций Guardant API 5.0 происходит автоматическая проверка подписи ключа. Сам драйвер Guardant версии 5.0 не только защищен псевдокодом и содержит встроенную виртуальную машину, но и проводит множественный контроль целостности собственного кода. Фактически это означает, что взломщику придется пытаться сломать каждую копию защищенного приложения, без знания закрытого ключа вероятность создания драйвера-эмулятора с «верной» подписью стремится к нулю.
Технологии Trusted Remote Update и Protected Item потребовали серьезного расширения возможностей программирования для электронных ключей Guardant. Теперь стало возможным вести базу данных обо всех электронных ключах, передаваемых пользователям. Это позволяет задавать и помнить уникальные пароли на удаленное обновление алгоритмов и ячеек: каждый пароль используется только один раз и не может быть скомпрометирован. База данных позволяет вести подробную статистику по всем запрограммированным ключам: кому и когда был прошит ключ, каков его ID, какие данные и пароли на нем записаны.