Базовые технологии

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

Часть технологий Guardant требует от разработчика защиты использование программного инструментария, а часть уже реализована на уровне «железа», что значительно увеличивает показатель защищенности без особых усилий со стороны разработчика.

Микропроцессорная технология

Современные электронные ключи Guardant базируются на высокопроизводительных 32-разрядных микроконтроллерах архитектуры Cortex-M3. Мощные микропроцессоры обеспечивают множество возможностей защиты, как например: вычисление хэш-функций, шифрование данных симметричными алгоритмами, выработка и проверка электронной подписи на основе эллиптических кривых, а также исполнение произвольного пользовательского кода внутри ключа.

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

Аппаратное вычисление электронной подписи

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

Если приложение использует для обмена с ключом ограниченное количество данных, задача состоит в том, чтобы запас данных «расходовался» как можно дольше. Соответственно, чем более разнообразны эти данные, тем больше времени потребуется для того, чтобы создать табличный эмулятор для ключа.

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

Аппаратное шифрование

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

В современных электронных ключах Guardant на аппаратном уровне реализовано несколько различных алгоритмов:

  • симметричный алгоритм GSII64 собственной разработки,
  • симметричный алгоритм AES128,
  • однонаправленные варианты всех алгоритмов,
  • возможность загрузки произвольного алгоритма шифрования для электронных ключей Guardant Code и Guardant SD.

Аппаратные запреты

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

По умолчанию утилитой программирования устанавливаются запреты чтения и записи на дескрипторы создаваемых в ключах Guardant аппаратных алгоритмов и защищенных ячеек. Это гарантирует, что аппаратные алгоритмы ключа Guardant не смогут быть считаны или продублированы.

Защищенные ячейки

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

Защита протокола обмена

Протокол обмена с ключами Guardant имеет ряд оригинальных свойств, повышающих его стойкость: туннельное шифрование трафика, использование уникальных сеансовых ключей, взаимная аутентификация ключа и Guardant API, автоматическая верификация и автоповторы при передаче данных.

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

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

Защищенный код

Все программные компоненты Guardant, среди которых сервисные утилиты, драйверы, Guardant API и автозащита, надежно защищены от изучения при помощи псевдокода. Определенные участки кода преобразуются в защищенную систему команд уникальной виртуальной машины, которая обеспечивает их выполнение в нужный момент.

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

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

В каждой копии виртуальной машины уникальным образом реализуются:

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

Удаленное обновление памяти ключа

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

Загружаемый код

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

Работа без драйверов

Современные модели электронных ключей Guardant умеют работать без предварительной инсталляции драйверов — в режиме Human Interface Device (HID). Эта возможность значительно упрощает процесс установки и повседневной эксплуатации ключей для конечных пользователей.

При работе в HID-режиме ключ использует стандартный драйвер, уже входящий в комплект операционной системы семейства Microsoft Windows. Это означает, что ключ становится готовым к работе сразу после того, как операционная система распознает его как стандартное USB HID-совместимое устройство. Работа ключей в HID-режиме и через драйвер Guardant не имеет существенных отличий.

Электронные ключи Guardant

  • Guardant Sign
  • Guardant Code
  • Guardant SD
  • Guardant Sign Net
  • Guardant Sign
  • Guardant Code micro
  • Guardant SD
  • Guardant Time Net
  • Guardant Sign micro
  • Guardant Code
  • Guardant SD
  • Guardant Net II

Карта сайта