В этой области памяти полях свободного назначения могут храниться любые данные, необходимые для защиты приложений: в том числе, дескрипторы аппаратных алгоритмов, таблицы лицензий, ключевые слова, наборы данных, константы и проч.
Здесь можно создавать поля различных типов, редактировать их содержимое и удалять эти поля.
UI Text Box | ||
---|---|---|
| ||
Важно! |
Доступ из приложения к данным, хранящимся в области полей свободного назначения, осуществляется при помощи функций Guardant API.
Типы и основные характеристики полей свободного назначения:
Тип поля |
---|
Размер, байтов | Содержимое | Аппаратные запреты | Работа с полем из приложения (Guardant API) | ||
---|---|---|---|---|---|
Алгоритм |
Размер поля определяется размером дескриптора алгоритма | Дескриптор аппаратного алгоритма | Обязательные запреты на запись и чтение |
Защищенная ячейка |
В новых ключах произвольный размер. | Дескриптор защищенной ячейки | Обязательные запреты на запись и чтение | |||
Таблица лицензий |
Guardant Sign Net/ Time Net/ Net III | Длина каждого модуля=1 или 2 Б | 1. Реальный сетевой ресурс | Обязательные запреты на запись и чтение | ||
Guardant Net II / Net | Длина каждого модуля=1 или 2 Б | Количество модулей программного комплекса и их ресурс лицензий | Обязательный запрет на запись | ||
Целое число |
1, 2, 4, 8 | Целое число со знаком или без знака | Запрет на запись(при необходимости) | |||
Загружаемый код | |||||
Строка |
Произвольный размер | Последовательность символов в кодировке ANSIили Unicode | Запрет на запись(при необходимости) | |||
Счетчик |
1, 2, 4, 8 | Беззнаковое целое число. Автоматически увеличивается на 1 после каждой записи образа в память ключа | Запрет на запись(при необходимости) | |||
Дамп памяти |
Произвольный размер | Двоичный дамп | Запрет на запись(при необходимости) |
Расположение полей
Существует определенный порядок следования полей свободного назначения. Это связано с тем, что есть поля, которые должны быть обязательно защищены аппаратными запретами. Причем особенность аппаратных запретов состоит в том, что они могут устанавливаться только с начала области полей свободного назначения (с адреса 14 UAM), и только непрерывным блоком.
Таким образом,
- В начале области полей свободного назначения группируются поля, по умолчанию защищенные аппаратными запретами на чтение и запись: аппаратные алгоритмы, защищенные ячейки и таблица лицензийсовременных сетевых ключей. Причем GrdUtil.exe не позволяет вставить между ними поля, тип которых отличен от вышеперечисленных.
- После полей, защищенных запретами на чтение и запись, располагаются поля, защищенные запретами на запись. К примеру, таблица лицензий формата Guardant Net II/ Net
- Далее, в произвольном порядке могут располагаться поля других типов: целое число, строка, дамп, счетчик. Причем GrdUtil.exe не позволяет вставить между ними поля, которые по умолчанию должны быть защищены аппаратными запретами.
Создание полей
Новое поле добавляется в маску перед полем, выделенным в списке.
Чтобы создать новое поле, выделите в списке поле Свободная память (или любое созданное поле) и :
- выполните команду меню Образ ключа | (Поле) Добавить поле
либо
- нажмите правой клавишей мыши и выберите пункт Добавить поле.
В появившемся диалоге Добавить новое поле выберите тип поля, укажите его имя и размер.
Диалог Добавить новое поле:
Элементы управления диалога Добавить новое поле:
Элемент интерфейса | Назначение |
Поле Имя поля | Задать любое подходящее имя для создаваемого поля |
Список / поле ввода Размер | Выбрать возможный / задать произвольный размер поля. Размер зависит от выбранного типа поля |
Селектор Тип | Выбрать тип поля из возможных вариантов |
В зависимости от типа образа и создаваемого поля интерфейс диалога может незначительно отличаться от приведенного на иллюстрации. К примеру, в маске Guardant Fidus нельзя создать следующие типы полей: алгоритм, защищенная ячейка и таблица лицензий.
После заполнения текущего диалога необходимо нажать на кнопку [Далее] для перехода к диалогу определения свойств поля.
Более подробно создание полей различных типов и работа с ними рассматриваются в соответствующих разделах.
Редактирование полей
Чтобы изменить содержимое или отредактировать свойства поля, выделите поле в текущей маске и :
- выполните команду меню Образ ключа | (Поле) Свойства поля
либо
- нажмите правой клавишей мыши и выберите пункт Свойства поля.
В появившемся диалоге Свойства поля произведите необходимые изменения.
Подробно редактирование полей различных типов рассматривается в соответствующих разделах.
Удаление полей
Чтобы удалить поле и его содержимое, выделите поле в текущей маске и :
- выполните команду меню Образ ключа | (Поле) Удалить поле
либо
- нажмите правой клавишей мыши и выберите пункт Удалить поле.
Удаление поля необходимо подтвердить в соответствующем диалоге.
UI Text Box | ||
---|---|---|
| ||
Важно! |
Переименование полей
Чтобы переименовать поле, выделите поле в текущей маске и :
- выполните команду меню Образ ключа | (Поле) Переименовать поле
либо
- нажмите правой клавишей мыши и выберите пункт Переименовать поле .
В появившемся диалоге Введите новое имя задайте новое имя для поля.
Получение содержимого поля в виде дампа
Чтобы просмотреть и отредактировать дамп поля, а также сохранить его в файле, выделите нужное поле в маске и :
- выполните команду меню Образ ключа | (Поле) Показать дамп поля
либо
- нажмите правой клавишей мыши и выберите пункт Показать дамп поля.
Появится диалог Дамп памяти поля: