Как сделать копию guardant ключа
Инструкция по снятию дампа с ключа Guardant Stealth
оригинальные драйверы Guardant и скачать дампер: search.rar
Все утилиты выложены в архивах с паролем: dongla-net.ru
После установки драйверов распакуйте архив с дампером в отдельную папку и
Появится окно примерно следующего содержания:
Обязательно дождитесь окончания работы утилиты.
Когда окно закроется, в папке с дампером появятся несколько файлов с
Это и есть дамп вашего ключа.
Кроме этого очень желательно снять лог работы программы с ключем.
Лог делается с помощью утилиты USBTrace.
Утилиту USBTrace можно скачать по этой ссылке: Usb Trace
Все утилиты выложены в архивах с паролем: dongla — net . ru
Затем нужно установить утилиту USBTrace и обязательно зарегистрировать согласно описанию к программе.
Интерфейс USBTrace должен начать заполняться текстовыми данными:
После чего запустить саму защищенную программу.
Заполнение данными продолжится.
Когда программа полностью запустится, желательно немного поработать в ней используя ее важные функции.
Потом закрыть защищенную программу.
В окне USBTra с e нажать кнопку Stop Capture тем самым остановить снятие данных.
Ввести имя файла например 1. txt и затем нажать кнопку Export тем самым сохранив файл лога.
Вот краткая наглядная инструкция как пользоваться утилитой.
Еще как правильно сделать лог можно посмотреть тут:
Дамп и лог UsbTrace следует заархивировать и отправить нам на адрес support@dongla-net.ru
Так – же следует прислать ссылку на саму защищенную программу.
Дистрибутив можно выложить с паролем в архиве на любой файлообменик такие как:
Данные снятые с ключа желательно выслать во вложении в письмо.
В самое ближайшее время мы свяжемся с вами…
Инструкции по снятию данных с разных типов ключей:
Гарантии и техподдержка.
Мы гарантируем конфиденциальность и нераспространение любых данных, полученных от заказчика для проведения исследования ПО.
Все материалы после передачи заказчику удаляются с наших компьютеров немедленно или по истечению срока техподдержки (или по желанию заказчика).
Техподдержка на все виды выполненных работ осуществляется бесплатно в течении 6 месяцев после исполнения заказа.
В дальнейшем техподдержка осуществляется на договорной основе.
Мы не занимаемся распространением программного обеспечения и утилит для
взлома по (кряки, патчи, генераторы серийных номеров и т.д.).
Вы можете воспользоваться нашими услугами только если являетесь разработчиком
конкретного ПО или их представителем, или лицензионным пользователем
(при заказе бэкапа электронного ключа). Вся информация и материалы (утилиты и по), расположенные на сайте, представлены для ознакомительно-познавательных
целей и могут лишь использоваться для самостоятельного тестирования
своих программных продуктов. Любое использование материалов с сайта для действий, нарушающих законодательство РФ (УК РФ, Закон РФ «Об авторском праве и смежных правах» и др.), а также законодательства других стран – запрещено.
03 Программирование ключей
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Современные электронные ключи Guardant поддерживают платформы Windows и Linux. Подготовка ключа к работе на разных платформах имеет свои особенности, которые рассматриваются далее.
Установка ключа в среде Windows
Аппаратные ключи Guardant могут работать как через драйверы Guardant, так и без них (HID-режим, доступен для ключей моделей Guardant Sign/Time/Code и их сетевых версий).
Программные ключи Guardant SP и устаревшие аппаратные ключи Guardant Stealth III/Stealth II работают только через драйвер!
1. Работа ключа через драйвер Guardant
Важно!
Установка драйверов
При инсталляции Комплекта разработчика Guardant драйверы автоматически устанавливаются в операционную систему.
Чтобы переустановить драйверы (установить драйверы на другом компьютере), запустите файл GrdDriversRU.msi (или Setup.exe), который по умолчанию находится в каталоге:
ОС Windows
Каталог по умолчанию
После появления на экране мастера установки следуйте его указаниям. Инсталлятор произведет копирование и установку драйверов для всех типов электронных ключей Guardant независимо от интерфейса подключения.
Важно!
Диагностика ключей Guardant
Для диагностики ключей Guardant воспользуйтесь апплетом Драйверы Guardant из Панели управления Windows.
По нажатию кнопки [Диагностика] вызывается утилита диагностики электронных ключей.
Драйверы Guardant комплектуются утилитой диагностики GrdDem32.exe. Она помогает службе технической поддержки более оперативно проводить диагностику, анализируя сгенерированные утилитой отчеты.
Удаление драйверов
Для удаления драйверов Guardant необходимо воспользоваться меню Установка и удаление программ Панели Управления Windows.
Выберите из списка установленных программ Драйверы Guardant и нажмите на кнопку [Удалить].
Передача драйверов Guardant конечным пользователям
Разработчикам предоставляется несколько способов передачи драйверов конечным пользователям.
1. Распространение дистрибутива драйверов
Наиболее простым решением является распространение готового дистрибутива драйверов Guardant.
В состав ПО Guardant входят 32- и 64-разрядные версии драйверов, файлы которых имеют одинаковое название:
GrdDriversRU.msi
Дистрибутив х86 или х64 с русской версией драйверов Guardant
GrdDriversEN.msi
Дистрибутив х86 или х64 с английской версией драйверов Guardant
Необходимо просто включить в комплект поставки защищенного приложения русский и/или английский вариант драйвера нужной разрядности.
2. Интеграция драйверов в дистрибутив защищенного приложения
Если предполагается устанавливать драйверы Guardant через инсталлятор защищенного приложения, то необходимо включить MSI-пакет с драйверами Guardant в свой комплект установки без изменений.
Драйверы Guardant работают с командной строкой через msiexec. Синтаксис команды должен быть следующим:
msiexec [необязат. параметр]
К примеру, команды для скрытой установки и удаления драйверов должны выглядеть так:
msiexec /i GrdDriversRU.msi /quiet
Установить драйвер в «тихом» режиме
msiexec /x GrdDriversRU.msi /quiet
Удалить драйвер в «тихом» режиме
Другие опции Windows Installer см. с помощью команды msiexec /?
3. Использование драйверного Guardant API
Драйверы Guardant можно устанавливать, конфигурировать и удалять из Windows-приложений (например, из программы установки программного продукта). Для этого в комплект поставки включена библиотека GrdDrv.dll, содержащая все необходимые функции API.
Описания всех используемых констант и структур данных находятся в файле GrdDrv.h. Можно включить эти файлы в приложение, использующее библиотеку GrdDrv.dll.
Подробно процесс работы с библиотекой описан в примере, написанном на языке C (файл InstDrvTest.c).
В процессе установки приложения файлы GrdDrv.dll и GrdDriversRU.msi (или английская версия GrdDriversEN.msi)должны находиться в одном каталоге.
2. Работа ключа без драйвера. HID-режим
Аппаратные ключи, начиная с Guardant Sign, могут работать ОС семейства Windows без установки драйверов Guardant. Для этого ключи необходимо предварительно перевести в Human Interface Device (HID) режим при помощи утилиты GrdUtil.exe.
При подсоединении ключа в HID-режиме к USB-порту компьютера система распознает ключ как стандартное HID-совместимое устройство, после чего ключ сразу же готов к работе.
Режимы работы ключей Guardant в HID-режиме и со стандартным драйвером для пользователя ничем не отличаются.
Установка ключа в среде Linux
Аппаратные ключи, начиная с Guardant Sign, поддерживают работу в среде Linux, в том числе, в HID-режиме 1 Также поддерживается работа защищенных Windows-приложений под WINE.
Для работы с ключами в ОС GNU/Linux необходимо добавить правило для штатного средства обработки HotPlugging. На большинстве современных дистрибутивов, использующих ядро 2.6.х, таким средством является udev ( http://kernel.org/pub/linux/utils/kernel/ hotplug/udev.html ).
Правило для udev добавляется следующим образом:
Для ключей в драйверном режиме, и в случае использования файлов-устройств USB Device Filesystem
# cp etc/grdnt.udev /etc/udev/rules.d/95-grdnt.rules
Для ключей в HID-режиме
# cp etc/grdnt_hid.udev /etc/udev/rules.d/95-grdnt_hid.rules
Для записи в каталог /etc/udev/rules.d требуются права суперпользователя.
Указанные правила предписывают udev установить права на чтение и запись для файла-устройства, представляющего электронный ключ Guardant в системе. Это позволит обращаться к ключу с привилегиями любого пользователя системы.
Информацию по защите приложений под Linux см. во 2-й части Руководства пользователя.
Простой способ обнаружения эмуляторов ключа Guardant
При работе с ключом защиты Guardant (не важно какой модели) разработчик использует соответствующие API, при этом от него скрыт сам механизм работы с устройством, не говоря уже о протоколе обмена. Он не имеет на руках валидного хэндла устройства, пользуясь только адресом шлюза (т.н. GuardantHandle) через который идет вся работа. В случае если в системе присутствует эмулятор ключа (особенно актуально для моделей до Guardant Stealth II включительно) используя данный шлюз разработчик не сможет определить, работает ли он с реальным физическим ключом, или его эмуляцией.
Задавшись в свое время вопросом: «как определить наличие физического ключа?», мне пришлось немного поштудировать великолепно поданный материал за авторством Павла Агурова в книге «Интерфейс USB. Практика использования и программирования». После чего потратить время на анализ вызовов API функций из трехмегабайтного объектника, линкуемого к приложению, в котором собственно и сокрыта вся «магия» работы с ключом.
В итоге появилось достаточно простое решение данной проблемы не требующее использования оригинальных Guardant API.
Единственный минус — все это жутко недокументированно и техническая поддержка компании Актив даже не будет рассматривать ваши вопросы, связанные с таким использованием ключей Guardant.
Ну и конечно, в какой-то момент весь данный код может попросту перестать работать из-за изменений в драйверах Guardant.
Но пока что, на 27 апреля 2013 года, весь данный материал актуален и его работоспособность проверена на драйверах от версии 5.31.78, до текущей актуальной 6.00.101.
Начиная с Guardant Stealth III и выше, изменился протокол работы с ключом, как следствие поменялись константы IOCTL запросов и содержимое входящего и исходящего буфера. Для нормальной работы алгоритма желательно поддерживать возможности как старых, так и новых ключей, поэтому опишу различия:
Для начала константы IOCTL выглядят так:
Первая для ключей от Guardant Stealth I/II
Вторая для Guardant Stealth III и выше (Sign/Time/Flash/Code)
Отправляя первый запрос на устройство, мы будем ожидать что драйвер нам вернет следующий буфер:
В случае более новых ключей и с учетом того, что протокол изменился, отправка первого запроса уже нам ничего не даст. Точнее запрос конечно, будет выполнен, но буфер придет пустой (обниленый). Поэтому на новые ключи мы посылаем второй запрос, который вернет данные немного в другом формате:
Здесь уже возвращается блок в 512 байт содержащий более подробную информацию о ключе. К сожалению по некоторым причинам я не могу вам дать полное описание данной структуры, но необходимые для данной статьи поля я в ней оставил.
Общий код получения данных о установленных ключах выглядит так:
Данная процедура перебирает все ключи и заносит информацию о них в массив структур TDongleQueryRecord, после чего вы можете вывести эти данные пользователю, ну или использовать их каким либо образом непосредственно в вашем приложении.
Как видите все достаточно просто, но в объектных модулях Guardant API данный код помещен под достаточно серьезную стековую виртуальную машину и практически не доступен для анализа обычному разработчику. В принципе здесь нет ничего секретного, как видите при вызовах не используется даже шифрование передаваемых и получаемых буферов, но почему-то разработчики Guardant SDK не сочли нужным опубликовать данную информацию (правда я все-же смог получить разрешение на публикацию данного кода, т.к. в итоге тут не затронуты какие-то критические аспекты протокола обмена с ключом).
Но не будем отвлекаться, вы вероятно заметили в вышеприведенной процедуре вызов функции GetPnP_ParentPath(). Данная функция возвращает полный путь к устройству от рута. Выглядит ее реализация следующим образом:
Собственно (вы будете смеяться) детектирование эмулятора будет происходить именно на базе данной строки.
Обычно путь устройства выглядит следующим образом:
Соответственно на базе данной информации можно реализовать простую функцию:
Ну и в завершение опишу еще несколько нюансов, которые можно будет увидеть в демопримере, прилагаемом к статье:
Программирование ключей
Чтобы электронный ключ мог работать с защищенным приложением согласно принятой схеме защиты, он должен быть предварительно запрограммирован. Для программирования ключей Guardant предназначена утилита GrdUtil.exe. Она предоставляет широкие возможности для редактирования памяти ключа и подготовки данных для защиты:
Термины и определения
Поля памяти ключа: для удобства работы память ключа в утилите GrdUtil.exe логически разделена на отдельные поля. Каждое поле представляет собой участок памяти, содержащий данные, которые относятся к определенному типу. Чтобы записать данные в ключ с помощью утилиты, предварительно их необходимо занести в заранее созданное поле. Структура полей ключа составляет его образ.
Образ ключа (образ) – содержимое памяти электронного ключа Guardant, сохраненное в базе данных GrdUtil или во внешнем файле *.nsd; совокупность полей памяти, их структуры и значений, представленная в удобной для восприятия форме в редакторе образа GrdUtil.exe. Вся работа с данными ключа в GrdUtil.exe происходит на уровне образов: образ редактируется и сохраняется, измененные данные записываются из образа в память ключа. Существует несколько разновидностей образов, различающихся по месту и типу хранения. Образ ключа может храниться во встроенной базе данных GrdUtil.exe как шаблон или прошивка, а также в отдельном файле.
Шаблон – образ с заданной структурой и начальным набором данных, а также уникальным именем и / или версией, сохраненный в базе GrdUtil.exe. Это может быть образ для программирования определенной модели ключей Guardant или, к примеру, ключей, предназначенных для определенной версии защищенной программы и т. д. Шаблон образа используется как основа, трафарет для программирования. Каждая запись шаблона в ключ фиксируется в базе данных в виде прошивки.
Прошивка – факт записи образа в память электронного ключа, а также совокупность данных записанного образа, автоматически сохраняемых в базе данных GrdUtil.exe в ходе операции записи. Прошивки сохраняются только при работе в режиме базы данных. Каждая прошивка может содержать уникальный набор данных. Прошивки используются для программирования и обновления памяти ключей, в том числе дистанционного.
Файл образа – файл формата *.nsd, в котором может быть сохранен образ ключа. Работа с образом, сохраненным в файле, имеет серьезные ограничения по сравнению с образами, хранящимися в базе данных GrdUtil.exe. Так, к примеру, не сохраняются факты прошивок файлом образа и, поэтому трудно вести учет данных, индивидуальных для каждого ключа (случайные пароли для сервисов защищенных ячеек), нельзя проводить обновление отдельных участков памяти ключа, не затрагивая остальную память.
Режим базы данных GrdUtil.exe – порядок работы утилиты, при котором шаблоны образов, прошивки ключей и список конечных пользователей хранятся во встроенной базе формата Microsoft Access 2000 (*.mdb) и загружаются из нее. Информация из базы данных может быть в любой момент использована для программирования и обновления памяти ключей, в том числе дистанционного.
Разработчик – создатель коммерческого приложения; программист, использующий электронные ключи Guardant для защиты и лицензирования своего продукта.
Конечный пользователь – клиент разработчика, покупатель программного продукта, защищенного ключами Guardant.
Обновление аппаратных ключей
При удаленном программировании электронных ключей, находящихся у конечных пользователей, неизбежно возникают проблемы, связанные с защищенным обменом данными.
Разработчик должен убедиться: во-первых, в том, что конечный пользователь собирается обновить данные именно в том ключе, в котором нужно. Для этой цели в закодированное число-вопрос, генерируемое ключом в начале сессии удаленного программирования, обязательно включается ID ключа, на котором оно сгенерировано.
Во-вторых, разработчику необходимо удостовериться, что число-вопрос является подлинным, то есть конечный пользователь не прислал поддельное или измененное число-вопрос. Для контроля подлинности используется аппаратно реализованная хэш-функция с секретным ключом: HASH64 (для Guardant Sign/Time/Net) или SHA256 (Guardant Code /Code Time). Число-вопрос передается разработчику вместе с результатом вычисления хэш-функции. Имея электронный ключ с тем же алгоритмом, разработчик может убедиться в подлинности числа-вопроса, вычислив хэш-функцию и сравнив ее результат с присланным. Таким образом, реализуется своего рода цифровая электронная подпись данных.
В-третьих, разработчик должен быть уверенным в том, что число-ответ будет передано в электронный ключ конечного пользователя в неизменном виде. Для этого также используется аппаратное вычисление HASH64 (SHA256).
В-четвертых, конечному пользователю вовсе не обязательно знать, какие именно данные передаются. На месте конечного пользователя вполне может оказаться хакер, пытающийся проанализировать протокол удаленного программирования. По этой причине все данные, передаваемые от конечного пользователя разработчику и обратно, в обязательном порядке кодируются симметричным алгоритмом: GSII64 (для Guardant Sign/Time/Net) или AES128 (Guardant Code /Code Time).
Безопасность протокола удаленного программирования Trusted Remote Update обеспечивается именно аппаратной реализацией алгоритмов кодирования и хеширования, а также тем, что секретные ключи этих преобразований в процессе работы не извлекаются из электронного ключа. Все операции, связанные с декодированием и проверкой целостности данных, осуществляются внутри аппаратного устройства. Это исключает возможность компрометации или подмены данных, которые записываются в электронный ключ.
Важно!
Для того чтобы механизм Trusted Remote Update работал, в ключ конечного пользователя на этапе предпродажной подготовки прошиваются секретные пароли удаленного обновления (секретные ключи GSII64 или AES128). Их копии вместе с ID электронных ключей, в которые они были прошиты, обязательно должны сохраняться разработчиком в базе данных, доступ к которой должен иметь только авторизованный персонал.
Обновление памяти ключа широко используется для изменения условий эксплуатации защищенного приложения или/ и его системы защиты, например:
Возможны два варианта обновления памяти ключа:
Зависимость обновления от подвида используемого образа
Процедура обновления памяти ключа зависит от того, в каком виде хранится образ обновляемого ключа – как прошивка, шаблон или файл *.nsd:
Вариант обновления
Подвид образа
Файл *.nsd
Шаблон из БД
Прошивка из БД GrdUtil
Полное обновление содержимого
памяти удаленного ключа
при помощи операции
Ключ | Начать удаленное
обновление ключа
Полное обновление памяти
Возможный тип обновления
Частичное обновление памяти
Обновление времени деактивации алгоритма (для Guardant Time)
содержимого памяти ключа,
к локальному компьютеру,
при помощи операции
Ключ | Записать образ в ключ
Полное обновление памяти
Частичное обновление памяти
Обновление времени деактивации алгоритма (для ключей с RTC)
Удаленное обновление
Процесс удаленного (дистанционного) программирования ключей Guardant состоит из следующих этапов:
Этап
Кто выполняет
Создание запроса на обновление
Конечный пользователь по санкции разработчика
Создание дампа обновления
Разработчик после получения запроса на обновление от конечного пользователя
Обновление памяти ключа
Конечный пользователь после получения от разработчика дампа обновления
Передача разработчику кода-подтверждения
Конечный пользователь после обновления памяти ключа
Завершение дистанционного обновления
Разработчик после получения кода-подтверждения от конечного пользователя
Далее детально рассматривается каждый этап.
1. Создание запроса на обновление
Конечный пользователь по санкции разработчика генерирует запрос на обновление (число-вопрос) при помощи специальной утилиты и передает его разработчику по любому каналу связи.
1. После первого запуска утилиты на экране появится страница, на которой необходимо выбрать пункт Начать новую операцию обновления ключа:
2. На следующей странице отобразится сгенерированный запрос на обновление (число-вопрос) – последовательность шестнадцатеричных символов, содержащая информацию о ключе:
Запрос на обновление необходимо сохранить в файле (кнопка [В файл]), скопировать с помощью кнопки [В буфер] или сразу сформировать почтовое сообщение для разработчика приложения (кнопка [По почте]).
Работу утилиты можно завершить (кнопка [Завершить]) до получения дампа-ответа от разработчика.
2. Создание дампа обновления
После получения запроса на обновление разработчик формирует дамп обновления и отправляет его конечному пользователю.
Важно!
1. Во время операции обновления к порту компьютера должен быть подсоединен ключ той же модели, что и обновляемый.
2. Обновление современных ключей Guardant выполняется по технологии Доверенного удаленного обновления (см. пункт Доверенное удаленное обновление). Согласно этой технологии должен быть заранее задан пароль удаленного обновления, который вместе с данными образа записывается в ключ перед продажей конечному пользователю, а также сохраняется в прошивке.
После нажатия кнопки [ОК] актуальная прошивка для удаленного ключа будет автоматически найдена по ID удаленного ключа и загружена в Редактор образа.
Внесите необходимые изменения в прошивку и начните процедуру создания дампа обновления.
Важно!
Если в ходе редактирования шаблона образа или прошивки меняется их структура^*^ Под изменением структуры понимается удаление / добавление полей, а также редактирование содержимого полей, защищенных аппаратными запретами, то для продолжения процесса обновления необходимо сохранить отредактированную маску в базе. Т. о. создается новый шаблон – с уникальным именем и/или версией, и обновление проводится уже на его основе.
а) Выберите с помощью переключателя пункт Клиент прислал число-вопрос на обновление удаленного ключа * При обновлении файлом или шаблоном маски этот пункт является единственно доступным и введите полученный запрос на обновление в поле. Для ввода воспользуйтесь кнопкой:
После этого в поле ID ключа появится значение идентификатора ключа, извлеченное из запроса на обновление.
б) После нажатия кнопки [Далее] на экране появится страница Тип обновления с селектором выбора. Состояние селектора (доступные варианты обновления) зависит от разновидности образа, на основе которого выполняется перепрограммирование ключа (прошивка, шаблон или файл образа), и от типа ключа:
Выберите нужный пункт обновления и нажмите на кнопку [Далее]. Следующие несколько страниц служат для задания параметр
ов обновления. Подробно о каждом из вариантов обновления см. далее в разделе Тип обновления.
3. Обновление памяти ключа
После получения дампа обновления конечный пользователь может перепрограммировать память ключа.
После ввода дампа и нажатия на кнопку [Далее] будет произведена операция по обновлению памяти ключа присланными данными. Затем на экране появится последняя страница мастера с итогами выполнения операции:
3. Передача разработчику кода-подтверждения
В процессе обновления памяти ключа клиентская утилита выдаст финальный код-подтверждение, содержащий информацию о результате обновления (успешно/неудачно). Код-подтверждение необходимо сохранить в файле (кнопка [В файл]) или скопировать с помощью кнопки [В буфер] и передать разработчику приложения любым удобным способом.
4. Завершение удаленного обновления
После получения кода-подтверждения разработчику необходимо завершить обновление: занести в базу данных информацию об итогах состоявшегося обновления.
Чтобы завершить процедуру удаленного обновления ключа, выполните команду Ключ | Завершить удаленное обновление.
В появившемся диалоге Завершение удаленного обновления ключа введите код-подтверждение, полученный от конечного пользователя:
После ввода кода-подтверждения и нажатия на кнопку [Далее] будет произведена операция по завершению процедуры удаленного обновления. Затем на экране появится последняя страница мастера с итогами выполнения операции:
В случае успеха операции факт прошивки удаленного ключа получает статус завершенного. Признак завершенности для этой прошивки меняется на Завершен (См. раздел Прошивки).
Доверенное удаленное обновление
В современных ключах Guardant используется Доверенное удаленное обновление (Trusted Remote Update). Основное достоинство этой технологии заключается в том, что вся информация, предназначенная для дистанционного обновления, декодируется и обрабатывается только внутри электронного ключа.
Доверенное удаленное обновление – технология безопасного удаленного обновления памяти электронного ключа, исключающая возможность компрометации и/или фальсификации данных. Идеология Доверенного удаленного обновления гарантирует, что однажды записанная в электронный ключ информация не может быть записана в него повторно, а данные, сгенерированные для одного ключа, не подойдут для другого.
Пароль удаленного обновления
Пароль удаленного обновления – это 16-байтовая последовательность шестнадцатеричных символов, которая используется в процедуре Доверенного удаленного обновления для преобразования данных обновления. Пароль удаленного обновления может быть, как одинаковым для партии ключей, так и уникальным для каждого ключа.
Элемент интерфейса
Назначение
Окно шестнадцатеричного редактора
Ввести значение пароля удаленного обновления
Кнопка [Сгенерировать новое значение]
Заменить текущее значение пароля новой случайной последовательностью
Флаг Уникальное значение для каждой записи в ключ
Использовать уникальный/ постоянный пароль. По умолчанию используется постоянный пароль – флаг не установлен.
Флаг OEM
Выбрать Windows- / DOS-кодировку. По умолчанию используется Windows-кодировка (ANSI) – опция OEM отключена
Кнопка [Загрузить]
Загрузить дамп из файла с расширением *.dmp
Кнопка [Сохранить]
Сохранить дамп в файле с расширением *.dmp
После ввода данных нажмите на кнопку [Применить] и закройте диалог.
Особенности процедуры Доверенного удаленного обновления
Процедура Доверенного удаленного обновления при использовании GrdUtil.exe практически не отличается от обычного удаленного обновления (см. раздел Удаленное обновление), за исключением нескольких деталей:
При выполнении команды Ключ | Начать удаленное обновление ключа GrdUtil.exe автоматически записывает в память «мастер»-ключа, подсоединенного к порту, специальные алгоритмы. Эти алгоритмы участвуют в обработке запроса на обновление и кодировании данных обновления, используя пароль, хранящийся в прошивке обновляемого ключа.
После того, как дамп обновления сформирован, содержимое «мастер»-ключа автоматически восстанавливается путем записи в ключ последней прошивки для этого ключа.
Внешне эти действия проявляются только в виде предупреждения:
Если удаленное обновление выполняется без использования базы данных, на основе файла образа, то запрос на обновление не будет декодирован при несовпадении паролей удаленного обновления в файле образа и в удаленном ключе.
* Кроме, ситуации, когда обновление происходит не от прошивки. В этом случае содержимое «мастер»-ключа восстановлено не будет:
Локальное обновление
Локальное обновление памяти ключа подразумевает перепрограммирование памяти ключа, подсоединенного к порту компьютера, на котором установлен Комплект разработчика.
Чтобы обновить память локального ключа, выполните команду меню Ключ | Начать удаленное обновление ключа, либо Ключ | Записать образ в ключ. Причем первая команда будет доступна только в случае, когда используется прошивка ключа, а не шаблон или файл образа.
Особенности способов локального обновления:
Способ обновления
Особенности
Команда Ключ | Начать удаленное обновление ключа
Способ доступен только при обновлении от прошивки, т.е. предварительно нужно загрузить образ из имеющейся в базе данных прошивки. Позволяет выбрать тип обновления: полная перезаписьили изменение содержимого отдельных полей
Команда Ключ | Записать образ в ключ
Происходит полная перезапись содержимого памяти ключа данными текущего образа
Локальное обновление командой Ключ | Начать удаленное обновление ключа
Практическая необходимость в локальном обновлении путем выполнения команды Ключ | Начать удаленное обновление ключа возникает, когда требуется сохранить в ключе «наработанные» данные (счетчики алгоритмов, к примеру), т. е. произвести изменение содержимого отдельных полей, не затрагивая остальные поля. В остальных случаях, проще отредактировать данные нужной прошивки или шаблона образа и выполнить команду Ключ | Записать образ в ключ.
После выполнения команды Ключ | Начать удаленное обновление ключа на экране появляется диалог Обновление памяти ключа, который реализован в виде мастера, состоящего из нескольких страниц. Переход между страницами происходит при помощи кнопок [Далее]и [Назад], расположенных в нижней части диалогового окна.
Выберите с помощью переключателя пункт Ключ подсоединенк порту компьютера и перейдите на следующую страницу.
На экране появится страница Тип обновления с селектором выбора. Состояние селектора (доступные варианты обновления) зависит от типа ключа:
Выберите нужный пункт обновления и нажмите на кнопку [Далее]. Следующие несколько страниц служат для задания параметров обновления и работы с редактором сценария. Подробно о каждом из вариантов обновления см. далее в разделе Тип обновления.
Последняя страница диалога локального обновления называется Результат, она отображает сообщение о результате операции:
После нажатия кнопки [Готово] обновление завершается, и GrdUtil.exe фиксирует в базе данных факт прошивки локального ключа.
Тип обновления памяти ключа
При удаленном или локальном обновлении памяти ключа по факту прошивки доступны следующие варианты обновления:
Тип обновления
Характеристика
Полное обновление памяти ключа
Перезапись всего содержимого памяти ключа данными текущего образа
Частичное обновление памяти ключа
Перезапись содержимого полей памяти ключа, не защищенных аппаратным запретом на запись. Можно обновить только одно поле за процедуру обновления
Активация, деактивация или перезапись выбранного участка защищенной ячейки, алгоритма или таблицы лицензий.
Изменение времени деактивации алгоритма(для ключей с RTC)
Продление времени работы приложения, защищенного ключом с часами реального времени в режиме лицензирования Установить время деактивации
Полное обновление памяти ключа
При полном обновлении памяти ключа происходит перезапись всей памяти ключа данными выбранного образа.
Полное обновление выполняется в тех случаях, когда не требуется сохранения каких-либо «наработанных» данных в ключе, а также когда этот вариант обновления является единственно возможным – при обновлении от файла или шаблона образа.
Чтобы полностью обновить память ключа, выполните команду Ключ | Начать удаленное обновление ключа. На экране появится диалог мастера обновления.
Список страниц мастера обновления при полном обновлении памяти ключа:
Страница
Действия разработчика
Выберите удаленное или локальное обновление.При удаленном обновлении введите в поле запросна обновление от конечного пользователя
Выберите пункт Полное обновление памяти ключа
Проконтролируйте результаты работы мастера обновления
Частичное обновление памяти ключа
Вариант Частичное обновление памяти ключа служит для обновления участков памяти, которые не защищены аппаратными запретами на запись. Причем при удаленном обновлении современных ключей Guardant можно обновить только один участок памяти.
Частичное обновление памяти актуально для тех ситуаций, когда необходимо сохранить «наработанную» в ключе информацию (поля счетчиков), и полное обновление памяти неприемлемо. Частично обновить память можно только при обновлении от прошивки, сохраненной в базе данных.
Чтобы обновить участок памяти ключа, не защищенный аппаратным запретом на запись, выполните команду Ключ | Начать удаленное обновление ключа. На экране появится диалог мастера обновления.
Список страниц мастера обновления при частичном обновлении памяти ключа:
Страница
Действия разработчика
Выберите удаленное или локальное обновление. При удаленном обновлении введите в поле запрос на обновление от конечного пользователя
Выберите пункт Частичное обновление памяти ключа
Частичное обновление памяти ключа
Укажите тип данных, адрес и размер участка памяти, содержимое которого необходимо обновить (см. скриншот и описание после таблицы)
Частичное обновление памяти ключа
Введите данные обновления.Скриншот и описание интерфейса страницы совпадаютс диалогом редактирования свойств соответствующих полей (см. раздел Дампы, целые числа, строки и счетчики)
Проконтролируйте результаты работы мастера обновления
Страница «Частичное обновление памяти ключа»
На странице Частичное обновление памяти ключа укажите тип данных, адрес и размер участка памяти, содержимое которого необходимо обновить:
Элементы управления страницы Частичное обновление памяти ключа:
Элемент интерфейса
Описание
Переключатель Дамп памяти / Число
Выбрать тип данных обновления: дамп или целое число
Поле Адрес
Указать адрес, начиная с которого будут записаны данныеобновления. Этот адрес не должен быть защищен аппаратным запретом на запись
Поле/список Размер
Указать размер данных обновления, в байтах.Возможные значения: для дампа памяти – произвольныйразмер, для поля – 1, 2, 4
Обновление счетчика GP (времени работы приложения)
Операции активации/деактивации
Для современных ключей Guardant существует специальный режим управления статусом защищенных ячеек и обновления их содержимого.
Его достоинство заключается в возможности управлять состоянием защищенной ячейки (активировать/деактивировать) и изменять ее содержимое (читать/перезаписывать), не затрагивая остальную память.
Режим изменения содержимого и статуса защищенной ячейки доступен только при обновлении от прошивки, сохраненной в базе данных.
Список страниц мастера обновления в режиме Операции активации / деактивации:
Страница
Действия разработчика
Выберите удаленное или локальное обновление. При удаленном обновлении введите в поле запрос на обновление от конечного пользователя
Выберите пункт Операции активации/ деактивации
Активацияи обновление данных
Выберите защищенную ячейку, аппаратный алгоритм или таблицу лицензий и задайте для нее необходимые операции (см. скриншот и описание после таблицы)
Проконтролируйте результаты работы мастера обновления
Страница «Активация и обновление данных»
На странице Активация и обновление данных выберите защищенную ячейку, аппаратный алгоритм или таблицу лицензий и задайте для нее необходимые операции:
Возможные операции
Описание
Операция выполняется над ячейкой, находящейся в неактивном состоянии. Для успешного выполнения операции ячейка должна иметь ранее включенный сервис Активация.
Операция выполняется над ячейкой, находящейся в активном состоянии. Для успешного выполнения операции ячейка должна иметь ранее включенный сервис Деактивация.
Обновление участка защищенной ячейки
Операция выполняется над ячейкой, находящейся в активном состоянии. Для успешного выполнения операции ячейка должна иметь ранее включенный сервис Обновление данных.
При выполнении операции происходит перезапись выбранного участка ячейки: 1) методом исключающего ИЛИ, 2) методом полного замещения содержимого
Страница Активация и обновление данных:
Элементы управления диалога Активация и обновления данных:
Элемент интерфейса
Назначение
Окно Доступные поля
Перечень защищенных ячеек, над которыми можно проводить операции обновления. Чтобы задать операции для поля, выделите его в списке
Список Операции над полем
Не использовать Операции активации/ деактивации