Guardant Code: подробности

Guardant Code: подробности

Осенью у нас выходит релиз 5.4 программного обеспечения для электронных ключей Guardant и вместе с ним давно анонсированный электронный ключ Guardant Code. Мы его еще называем «ключ с загружаемым кодом».

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

Выходит Guardant Code не совсем в те сроки, как мы предполагали ранее, хотя главные механизмы были созданы очень давно — оказалось, что протестировать и задокументировать сделанное очень непросто! Да и хотелось заодно еще многое, что в ПО обновить, сделать некоторые интересные фичи, которые не имеют аналогов. Получился большой объем тестирования, а тестировщиков, как всегда, меньше чем надо — ну не хотят люди идти в тестировщики! Почему — не пойму . Их найм даже в период спада ИТ-отрасли по-прежнему очень сложен! Впрочем, о найме людей в это непростое время особый разговор и это тема для отдельного поста.

Guardant Code: подробности

А здесь я хочу анонсировать некоторые технические возможности нового электронного ключа. С чего начать? Что самое интересное? На мой взгляд, вот что.

Во-первых, Guardant Code построен на основе 32-разрядного RISC-процессора хорошо зарекомендовавшей себя архитектуры ARM7, с частотой 60 МГц и full-speed USB «на борту». Это гарантирует высокую скорость передачи данных и вычислений, в том числе для чисел с плавающей точкой.

Во-вторых, программы для него можно создавать на языках высокого уровня C и С++, т.е. программы могут быть и объектно-ориентированными. И места для объектов реально много!

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

В-четвертых, его архитектура во многом повторяет Stealth и Sign, что позволяет сэкономить на изучении новой архитектуры и сделать защиту, которая будет работать как со старыми версиями программ, так и с новыми, т.е. развивать (улучшать) защиту естественным путем, экономя свои деньги, не выбрасывая все сделанное ранее! А это очень актуально в наше время — денег у всех стало меньше, увы!

В-пятых, его цена будет весьма доступной и привлекательной. А учитывая его возможности и просто беспрецедентной!

В-шестых, мы предприняли ряд дополнительных мер для защиты самого кристалла от аппаратного взлома. Микроконтроллер дает такие возможности, хотя они и малоизвестны.

В-седьмых, имеется возможность использовать все функции нашей крипто-бибилиотеки в загружаемой программе, а в частности — алгоритмы AES-128, ECC-160, SHA-256.

И это я еще не все возможности перечислил! На самом деле они выглядят настолько завораживающими, что в руках умелого пользователя Guardant Code может стать невероятно эффективным инструментом для защиты программ! Но тут я бы сделал акцент именно на слово «умелого», т.к. этот инструмент никак нельзя причислить к разряду любительских. Поэтому мы по-прежнему, как и для заказных ключей, всегда готовы оказать помощь в построении максимально эффективной защиты! А позже мы выпустим интересные инструменты для простой автоматической защиты, которые дадут тоже беспрецедентный уровень защищенности при максимальной простоте!

В заключение несколько интересных цифр и фактов.

  • Скорость операций с плавающей точкой:

    Операция/время выполнения Библиотека RealView (рекомендуемая) Бибилиотека GCC (Free)
    Float Double Double
    Сложение (+) 0.8 мкс 1.3 мкс 2 мкс
    Умножение (*) 0.9 мкс 2.2 мкс 2 мкс
    Деление (/) 1.7 мкс 5.7 мкс 11 мкс
    Вычисление синуса (Sin) 89 мкс 95 мкс 30 мкс
    Квадратный корень (Sqrt) 4 мкс 3.2 мкс 2.7 мкс
  • Объем памяти для программ: 128 Кбайт или 384 Кбайт (на заказ).
  • Размер ОЗУ для пользовательской программы: 20 Кбайт. Если совсем точно — 0х4FE0.
  • Размер передаваемых или принимаемых ключом данных до 16 Кбайт, а именно — 0x3F80.
  • Скорость передачи данных по зашифрованному на сеансовых ключах каналу около 16 Кбайт в секунду. Фактический предел для незашифрованных данных около 500 Кбайт в секунду. Такой режим мы пока не стали делать — не придумали зачем .
  • Как и для Sign/Time-ключей возможна работа в HID-режиме. При этом скорость передачи данных в большинстве случаев не хуже чем в режиме работы с нашим драйвером.
  • Вариант с RTC конечно тоже есть.
Вернуться в ленту


Комментарии к статье

25-03-2010 15:06:53 # Комментировал Alexey А как обстоят дела с возможностью аппаратного взлома ARM-ов?
Китайцы называют вполне конкретные цены...(к сожалению).
25-03-2010 16:08:58 # Комментировал Константин Черников Уточните вид атаки и тип микросхем тогда. И много что еще играет роль. Мир АРМ-ов побольше мира х86 :)

Атаки бывают инвазивные, неинвазивные, полуинвазивные и в них самих тоже есть свои типы. Ну и стоимость атак очень разная! По нашим сведениям конкретно наши чипы можно (как и все другие, включая смарткарточные) взломать, но овчинка совсем не стоит выделки!

Вы поконкретнее скажите, при таком подходе черт всегда кроется в деталях :)
25-03-2010 18:23:11 # Комментировал Alexey Например, стоимость инвазивных атак на кристаллы Atmel AT91SAM7Sxxx находится в пределах 10 тыс USD. По крайней мере, мне называли такую цену, когда мы выьирали процессоры для некторых своих разработок.
Вообще, мне, как разработчику защиты, важны всего 2 вещи, влияющие на целесообразность взлома: стоимость и время.
Что касается смарткарточных чипов, сертифицированных по EAL, то те же китайцы отказыватся их ломать совсем, по некоторым независимым оценкам, стоимость их взлома имеет порядок сотен тысяч USD (речь идет о EAL5+), что делает взлом такой защиты нецелесообразным (по крайней мере для нашего ПО).
Кстати, вы не могли бы назвать тип процессора в ваших ключах?
25-03-2010 20:53:52 # Комментировал Константин Черников Алексей,
EAL5+ дают не только на чип, но и на софт внутри – у нас есть направление, связанное с чипами смарткарт. EAL5+ не дают на чипы, куда можно загружать программы - таковы правила выдающих сертификаты, это черным по белому написано в документах, которые заполняются когда надо СВОЮ прошивку в смарткарточный чип записать! Точнее в его ROM. И ROM там не просто так - не дают EAL5+ на чипы, где программа во Flash! Поэтому это передергивание фактов: раз есть смарткарты так сертифицированные, значит мы можем сказать так и про наше устройство, которые сделано на основе такого же процессора. А тут большая разница!
Сколько стоит взломать наш микроконтроллер инвазивно достоверно неизвестно - нет ни одной известной производителю удачной попытки :) Сторонние источники говорят о сотнях тысяч USD: дело в том, что такие чипы имеют «дизайн» как правило гораздо более поздний чем смарткарточные и то, что в смарткарточних было "круто" лет 10 назад (а большинство из них имеют такой возраст как это не странно!), спустя эти 10 лет применяется и в обычных. Ну и сам АРМ-овский чип более насыщенный, конечно, там, часто и топология более мелкая, что тоже увеличивает трудность. Это совсем не то, что простые 8-ми разрядные чипы ломать, тут оборудование нужно куда более тонкое и соответственно дороже!
Мы сотрудничаем с NXP, у нас, даже, был совместный релиз на эту тему. Но конкретный тип микроконтроллера мы не указываем, хотя его можно увидеть на готовом устройстве - мы можем его менять, сохранив совместимость, конечно. Менять NXP на что-то еще пока не планируем :)
Стоит ли говорить о EAL5+, если мы знаем много примеров их взлома! Это же популярная технология для защиты кабельного и спутникового телевидения! Там эти карточки тоже копируют! Само собой взломав сначала какую-то инвазивно. Поэтому, даже, в смарткарточных чипах применяют технологии защиты типа whitebox!!! А она, вроде, для открытых систем предназначается, думаете ее туда вставляют просто так? Мы сами много лет назад удивились, встретив таких людей на Еврокрипт. Но разобравшись в деталях поняли почему.
25-03-2010 21:15:14 # Комментировал Alexey Константин, спасибо за информацию, закажем пока несколько ключиков для изучения возможностей:)
Необходима авторизация!

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

Адрес офиса: город Москва, Брошевский переулок, дом 6, строение 1
Многоканальный телефон:
+7 (495) 925-77-90

1994-2016 © Компания «Актив».

Авторизация в системе

Логин:
Пароль:

больше не спрашивать
 
Зарегистрироваться · Вспомнить пароль