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

Здесь можно создавать поля различных типов, редактировать их содержимое и удалять эти поля.

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

Доступ из приложения к данным, хранящимся в области полей свободного назначения, осуществляется при помощи функций Guardant API.

Типы и основные характеристики полей свободного назначения:

Тип поля


Размер, байтов

Содержимое

Аппаратные запреты

Работа с полем из приложения (Guardant API)

Алгоритм


Размер поля определяется размером дескриптора алгоритма

Дескриптор аппаратного алгоритма

Обязательные запреты на запись и чтение

  1. GrdTransform, GrdCrypt, GrdHash, GrdCodeInit
  2. GrdPI_Activate, GrdPI_Deactivate, GrdPI_Read, GrdPI_Update
  3. GrdTRU_DecryptQuestion, GrdTRU_EncryptAnswer, GrdTRU_ApplyAnswer

Защищенная ячейка


В новых ключах произвольный размер. 
В старых:1 – 255 Б+ служебные поля

Дескриптор защищенной ячейки

Обязательные запреты на запись и чтение

GrdPI_Activate, GrdPI_Deactivate, GrdPI_Read, GrdPI_Update

Таблица лицензий


Guardant Sign Net/ Time Net/ Net III

Длина каждого модуля=1 или 2 Б
Максимум - 254 байта +служебные поля

1. Реальный сетевой ресурс 
2. Количество модулей программного комплекса и их ресурсы лицензий

Обязательные запреты на запись и чтение

GrdPI_Activate, GrdPI_Deactivate, GrdPI_Read, GrdPI_Update

Guardant Net II / Net

Длина каждого модуля=1 или 2 Б
Максимум – 127 модулей

Количество модулей программного комплекса и их ресурс лицензий

Обязательный запрет на запись

GrdRead 

Целое число


1, 2, 4, 8

Целое число со знаком или без знака

Запрет на запись(при необходимости)

GrdRead, GrdWrite 

Загружаемый код



Строка


Произвольный размер

Последовательность символов в кодировке ANSIили Unicode

Запрет на запись(при необходимости)

GrdRead, GrdWrite 

Счетчик


1, 2, 4, 8

Беззнаковое целое число. Автоматически увеличивается на 1 после каждой записи образа в память ключа

Запрет на запись(при необходимости)

GrdRead, GrdWrite 

Дамп памяти


Произвольный размер

Двоичный дамп

Запрет на запись(при необходимости)

GrdRead, GrdWrite 

Расположение полей

Существует определенный порядок следования полей свободного назначения. Это связано с тем, что есть поля, которые должны быть обязательно защищены аппаратными запретами. Причем особенность аппаратных запретов состоит в том, что они могут устанавливаться только с начала области полей свободного назначения (с адреса 14 UAM), и только непрерывным блоком.

Таким образом,

Создание полей

Новое поле добавляется в маску перед полем, выделенным в списке.

Чтобы создать новое поле, выделите в списке поле Свободная память (или любое созданное поле) и :

либо

В появившемся диалоге Добавить новое поле выберите тип поля, укажите его имя и размер.

Диалог Добавить новое поле:



Элементы управления диалога Добавить новое поле:

Элемент интерфейса

Назначение

Поле Имя поля

Задать любое подходящее имя для создаваемого поля

Список / поле ввода Размер

Выбрать возможный / задать произвольный размер поля. Размер зависит от выбранного типа поля

Селектор Тип

Выбрать тип поля из возможных вариантов


В зависимости от типа образа и создаваемого поля интерфейс диалога может незначительно отличаться от приведенного на иллюстрации. К примеру, в маске Guardant Fidus нельзя создать следующие типы полей: алгоритм, защищенная ячейка и таблица лицензий.

После заполнения текущего диалога необходимо нажать на кнопку [Далее] для перехода к диалогу определения свойств поля.

Более подробно создание полей различных типов и работа с ними рассматриваются в соответствующих разделах.

Редактирование полей

Чтобы изменить содержимое или отредактировать свойства поля, выделите поле в текущей маске и :

либо

В появившемся диалоге Свойства поля произведите необходимые изменения.

Подробно редактирование полей различных типов рассматривается в соответствующих разделах.

Удаление полей

Чтобы удалить поле и его содержимое, выделите поле в текущей маске и :

либо

Удаление поля необходимо подтвердить в соответствующем диалоге.

Важно!
Любые изменения в маске (создание, удаление или редактирование содержимого полей) будут отражены в памяти ключа только после выполнения команды
Ключ | Записать образ в ключ.

Переименование полей

Чтобы переименовать поле, выделите поле в текущей маске и :

либо

В появившемся диалоге Введите новое имя  задайте новое имя для поля.

Получение содержимого поля в виде дампа

Чтобы просмотреть и отредактировать дамп поля, а также сохранить его в файле, выделите нужное поле в маске и :

либо

Появится диалог Дамп памяти поля: