Защищенные ячейки служат для хранения данных, как и обычные поля памяти (дамп, строка, число), но при этом они защищены аппаратными запретами на чтение и запись.
Состояние (статус) защищенной ячейки можно программировать и, в дальнейшем, управлять им из приложения. Кроме того, технология защищенных ячеек предусматривает получение доступа к содержимому ячейки и обновление ячейки без перезаписи памяти ключа целиком.
Для работы с защищенными ячейками из приложения предназначены несколько команд Guardant API: GrdPI_Activate, GrdPI_Deactivate, GrdPI_Update и GrdPI_Read.
Диалог создания защищенной ячейки выполнен в виде мастера, состоящего из нескольких страниц:
- Добавить защищенную ячейку (новое поле)
- Свойства защищенной ячейки
- Содержимое защищенной ячейки
Переход к следующей странице происходит при помощи нажатия кнопки [Далее] после выполнения текущего диалога.
Создание защищенной ячейки
Размер защищенной ячейки в современных ключах не ограничен, а в Guardant Stealth III /Net III должен составлять от 1 до 255 байтов (+ служебные поля).
Чтобы создать защищенную ячейку, выполните команду меню Образ ключа | (Поле) Добавить поле.
В появившемся диалоге Добавить новое поле выберите тип поля Защищенная ячейка, задайте ее имя и размер:
Свойства защищенной ячейки
В окне Свойства алгоритма \ защищенной ячейки расположены флаги, управляющие сервисами защищенных ячеек:
Сервисы позволяют:
- Задавать состояние защищенной ячейки (активное/ неактивное) и, в дальнейшем, управлять им из приложения или путем удаленного обновления
- Получать доступ к содержимому ячейки и обновлять его, не затрагивая (не перезаписывая) остальную память – ср. с идеологией аппаратных запретов.
Описание сервисов защищенной ячейки идентично описанию сервисов аппаратных алгоритмов (см. раздел Сервисы аппаратных алгоритмов).
Размер данных защищенной ячейки
В нижней части диалога Свойства алгоритма \ защищенной ячейки отображается статистическая информация о размере ее содержимого (с указанием выбранной системы счисления).
Размер дескриптора ячейки складывается из размеров его составных частей: определителя и набора сервисов.
Редактирование содержимого ячейки
Диалог Содержимое защищенной ячейки представляет собой шестнадцатеричный редактор для ввода и изменения данных ячейки:
Данные вводятся непосредственно в окно редактора в виде шестнадцатеричных чисел или набора символов.
Элементы управления диалога Содержимое защищенной ячейки:
Элемент интерфейса | Назначение |
Окно шестнадцатеричного редактора | Ввести значение защищенной ячейки |
Кнопка [Загрузить] | Загрузить дамп из файла с расширением *.dmp |
Кнопка [Сохранить] | Сохранить дамп в файле с расширением *.dmp |
Флаг OEM | Выбрать Windows- / DOS-кодировку. По умолчанию используется Windows-кодировка (ANSI) – опция OEM отключена |
***
После редактирования содержимого ячейки и нажатия на кнопку [Завершить] диалог создания защищенной ячейки закрывается, и ячейка появляется в списке полей образа. При этом GrdUtil.exe автоматически присваивает новой ячейке порядковый номер (для защищенных ячеек и алгоритмов действует единая нумерация) и корректирует границу аппаратных запретов.
Теперь остается записать образ в ключ, и созданную ячейку можно будет использовать.