Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 7816-4-2013 Карты идентификационные. Карты на интегральных схемах. Часть 4. Организация, защита и команды для обмена

     5.2 Информационные объекты


Каждое поле данных или сцепление полей данных, если оно(они) закодировано(ы) в TLY, представляет собой последовательность информационных объектов. В данном разделе определены две категории информационных объектов: информационные объекты SIMPLE-TLV и информационные объекты BER-TLV.

5.2.1 Информационный объект SIMPLE-TLV

Каждый информационный объект SIMPLE-TLV должен состоять из двух или трех последовательных полей: обязательного поля тега, обязательного поля длины и условного поля значения. Записью (см. 7.3.1) может быть информационный объект SIMPLE-TLV.

Поле тега состоит из одиночного байта, кодирующего номер тега от 1 до 254. Значения '00' и 'FF' являются недействительными для поля тега. Если записью является информационный объект SIMPLE-TLV, то тег может использоваться как идентификатор записи.

Поле длины состоит из одного или трех последовательных байтов:

- если первый байт не установлен в 'FF', то поле длины состоит из одиночного байта, кодирующего число от нуля до 254 и обозначается как ;

- если первый байт установлен в 'FF', то поле длины продолжается последующими двумя байтами со значениями, кодирующими число от нуля до 65535 и обозначается как .

Если равно нулю, то поле значения отсутствует, т.е. информационный объект является пустым. В противном случае (0), поле значения состоит из последовательных байтов.

5.2.2 Информационный объект BER-TLV

Каждый информационный объект BER-TLV состоит из двух или трех последовательных полей (см. базовые правила кодирования АСН.1 по ИСО/МЭК 8825-1): обязательного поля тега, обязательного поля длины и условного поля значения.

Поле тега состоит из одного или большего числа последовательных байтов. Оно указывает класс и кодирование и кодирует номер тега. Значение '00' является недействительным для первого байта полей тега (см. ИСО/МЭК 8825-1).

Поле длины состоит из одного или большего числа последовательных байтов. Оно кодирует длину, т.е. число .

Если равно нулю, то поле значения отсутствует, т.е. информационный объект является пустым. В противном случае (0), поле значения состоит из последовательных байтов.

5.2.2.1 Поля тегов BER-TLV

Стандарты серии ИСО/МЭК 7816 поддерживают поля тегов из одного, двух или трех байтов; более длинные поля тегов зарезервированы для использования в будущем.

Биты 8 и 7 первого байта поля тега указывают класс:

- значение 00 указывает информационный объект универсального класса;

- значение 01 указывает информационный объект класса приложения;

- значение 10 указывает информационный объект контекстно-зависимого класса;

- значение 11 указывает информационный объект приватного класса.

Бит 6 первого байта поля тега указывает кодирование:

- значение 0 указывает простое кодирование информационного объекта, т.е. поле значения не кодировано в BER-TLV;

- значение 1 указывает составное кодирование информационного объекта, т.е. поле значения кодировано в BER-TLV.

Если биты с 5 по 1 первого байта поля тега не все установлены в состояние 1, то они должны кодировать номер тега от нуля до тридцати, при этом поле тега состоит из единственного байта.

В противном случае (биты с 5 по 1 установлены в состояние 1) поле тега должно продолжаться на один или большее число последующих байтов:

- бит 8 каждого последующего байта, за исключением последнего байта, должен быть установлен в состояние 1;

- биты с 7 по 1 первого последующего байта не должны быть все установлены в состояние 0;

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