Электронные ключи Guardant Code: подробности и характеристики
27 августа 2009 годаОсенью у нас выходит релиз 5.4 программного обеспечения для электронных ключей Guardant и вместе с ним давно анонсированный электронный ключ Guardant Code. Мы его еще называем «ключ с загружаемым кодом».
Guardant Code, так же как и заказные ключи, которые мы выпускаем уже много лет, позволяет разработчику системы защиты разместить внутри себя некоторую произвольную программу, которая и будет представлять основной механизм защиты программного обеспечения от нелицензионного использования.
Единственное отличие состоит в том, что теперь это можно сделать самостоятельно, без нашей помощи.
Выходит Guardant Code не совсем в те сроки, как мы предполагали ранее, хотя главные механизмы были созданы очень давно — оказалось, что протестировать и задокументировать сделанное очень непросто! Да и хотелось многое в инструментарии обновить, сделать некоторые интересные фичи, которые не имеют аналогов.
Получился большой объем тестирования, а тестировщиков, как всегда, меньше чем надо — ну не хотят люди идти в тестировщики! Почему — не пойму. Их найм даже в период спада ИТ-отрасли по-прежнему очень сложен! Впрочем, о найме людей в это непростое время особый разговор и это тема для отдельного поста.
Самое интересное
Здесь же я хочу анонсировать некоторые технические возможности нового электронного ключа. С чего начать? Что самое интересное? На мой взгляд, вот что.
- Guardant Code построен на основе 32-разрядного RISC-процессора хорошо зарекомендовавшей себя архитектуры ARM7, с частотой 60 МГц и full-speed USB «на борту». Это гарантирует высокую скорость передачи данных и вычислений, в том числе для чисел с плавающей точкой.
- Программы для Guardant Code можно создавать на языках высокого уровня C и С++, т.е. программы могут быть и объектно-ориентированными. И места для объектов реально много!
- Cлучайно допущенные ошибки в программе не нарушат работу или безопасность основного ядра электронного ключа: в нем реализованы механизмы защиты от атаки на ядро. А для отладки программ мы предлагаем эффективный механизм.
- Архитектура Guardant Code во многом повторяет Stealth и Sign, что позволяет сэкономить на изучении новой архитектуры и сделать защиту, которая будет работать как со старыми версиями программ, так и с новыми, т.е. развивать (улучшать) защиту естественным путем, экономя свои деньги, не выбрасывая все сделанное ранее! А это очень актуально в наше время — денег у всех стало меньше, увы!
- Цена Guardant Code будет весьма доступной и привлекательной. А учитывая его возможности и просто беспрецедентной!
- Мы предприняли ряд дополнительных мер для защиты самого кристалла от аппаратного взлома. Микроконтроллер дает такие возможности, хотя они и малоизвестны.
- Имеется возможность использовать все функции нашей крипто-бибилиотеки в загружаемой программе, а в частности — алгоритмы AES-128, ECC-160, SHA-256.
И это я еще не все возможности перечислил! На самом деле они выглядят настолько завораживающими, что в руках умелого пользователя Guardant Code может стать невероятно эффективным инструментом для защиты программ!
Но тут я бы сделал акцент именно на слово «умелого», т.к. этот инструмент никак нельзя причислить к разряду любительских. Поэтому мы по-прежнему, как и для заказных ключей, всегда готовы оказать помощь в построении максимально эффективной защиты. А позже мы выпустим интересные инструменты для простой автоматической защиты, которые дадут тоже беспрецедентный уровень защищенности при максимальной простоте!
Немного цифр и фактов
В заключение несколько интересных цифр и фактов.
- Объем памяти для программ: 128 Кбайт или 384 Кбайт (на заказ).
- Размер ОЗУ для пользовательской программы: 20 Кбайт. Если совсем точно — 0х4FE0.
- Размер передаваемых или принимаемых ключом данных до 16 Кбайт, а именно — 0x3F80.
- Скорость передачи данных по зашифрованному на сеансовых ключах каналу около 16 Кбайт в секунду. Фактический предел для незашифрованных данных около 500 Кбайт в секунду. Такой режим мы пока не стали делать — не придумали зачем.
- Как и для Sign/Time-ключей возможна работа в HID-режиме. При этом скорость передачи данных в большинстве случаев не хуже чем в режиме работы с нашим драйвером.
- Вариант с часами реального времени (RTC) конечно тоже есть.