Сертификация: тел. +7 (495) 175-92-77
Стр. 1
 

78 страниц

578.00 ₽

Купить официальный бумажный документ с голограммой и синими печатями. подробнее

Официально распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль".

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Устанавливает:

- содержание сообщений (команд и ответов), передаваемых устройством сопряжения карте и обратно;

- структуру и содержание байтов предыстории, посылаемых картой во время ответа на восстановление;

- структуру файлов и данных, прослеживаемую на стыке между картой и устройством сопряжения при обработке межотраслевых команд;

- методы доступа к файлам и данным, содержащимся в карте;

- архитектуру безопасности, определяющую права доступа к файлам и данным, содержащимся в карте;

- методы безопасного обмена сообщениями;

- методы доступа к алгоритмам, обрабатываемым картой (исключая описание самих алгоритмов).

Настоящий стандарт не распространяется на реализацию обмена данными внутри карты и/или внешнего окружения.

Стандарт допускает дальнейшую стандартизацию дополнительных межотраслевых команд и архитектур безопасности

Данные о замене опубликованы в ИУС 10-2014

Действие завершено 01.01.2015

Оглавление

1 Область применения

2 Нормативные ссылки

3 Определения

4 Сокращения и обозначения

5 Основные организационные структуры

   5.1 Структуры данных

   5.2 Архитектура безопасности карты

   5.3 Структуры APDU-сообщений

   5.4 Соглашения по кодированию заголовков команд, полей данных и завершителей ответа

   5.5 Логические каналы

   5.6 Безопасный обмен сообщениями

6 Основные межотраслевые команды

7 Межотраслевые команды, ориентированные на передачу данных

8 Байты предыстории

9 Услуги карты, не зависимые от приложений

Приложение А Транспортировка APDU-сообщений при помощи протокола передачи, обозначаемого Т=0

Приложение Б Транспортировка APDU-сообщений при помощи протокола передачи, обозначаемого Т=1

Приложение В Управление указателя записи

Приложение Г Использование базовых правил кодирования АСН.1

Приложение Д Примеры профилей карт

Приложение Е Использование безопасного обмена сообщениями

Показать даты введения Admin

Страница 1

ГОСТ Р ИСО/МЭК 7816-4-2004 НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

Карты идентификационные

КАРТЫ НА ИНТЕГРАЛЬНЫХ СХЕМАХ С КОНТАКТАМИ

Часть 4

Межотраслевые команды для обмена

Издание официальное

БЗ 1-2004/281


ГОССТАНДАРТ РОССИИ Москва

Страница 2

ГОСТ Р ИСО/МЭК 7816-4-2004

Предисловие

1    РАЗРАБОТАН Техническим комитетом по стандартизации ТК 22 «Информационные технологии», Федеральным государственным унитарным предприятием «Всероссийский научно-исследовательский институт стандартизации и сертификации в машиностроении* (ВНИИНМАШ). ОАО «Московский комитет по науке и технологиям»

ВНЕСЕН ТК 22 «Информационные технологии»

2    ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 9 марта 2004 г. № 116-ст

3    Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО/МЭК 7816-4:1995 «Информационная технология. Карты идентификационные. Карты на интегральной(ых) схеме(ах) с контактами. Часть 4. Межотраслевые команды для обмена* с Изменением М> 1 (1997 г.)

4    ВВЕДЕН ВПЕРВЫЕ

€> ИПК Издательство стандартов, 2004

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Госстандарта России

II

Страница 3

ГОСТ Р ИСО/МЭК 7816-4-2004

Содержание

1    Область применения......................................................... 1

2    Нормативные ссылки........................................................ 1

3    Определения............................................................... 2

4    Сокращения и обозначения................................................... 3

5    Основные организационные структуры........................................... 3

5.1    Структуры данных....................................................... 3

5.2    Архитектура безопасности карты............................................ 8

5.3    Структуры APDU-сообщений..............................................10

5.4    Соглашения по кодированию заголовков команд, полей данных и завершителей ответа . . 13

5.5    Логические каналы......................................................18

5.6    Безопасный обмен сообщениями............................................19

6    Основные межотраслевые команды.............................................26

6.1    Команда СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ.................................26

6.2    Команда ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ..................................27

6.3    Команда ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ...............................28

6.4    Команда ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ..............................29

6.5    Команда СЧИТАТЬ ЗАГ1ИСЬ( И)...........................................31

6.6    Команда ВВЕСТИ ЗАПИСЬ...............................................33

6.7    Команда ПРИСОЕДИНИТЬ ЗАПИСЬ.......................................34

6.8    Команда ОБНОВИТЬ ЗАПИСЬ............................................36

6.9    Команда ИЗВЛЕЧЬ ДАННЫЕ.............................................37

6.10    Команда    ПОМЕСТИТЬ ДАННЫЕ.........................................39

6.11    Команда    ВЫБРАТЬ ФАЙЛ...............................................40

6.12    Команда    ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ..................................42

6.13    Команда    ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ.................44

6.14    Команда    ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ....................45

6.15    Команда    СОЗДАТЬ ЗАДАЧУ..............................................46

6.16    Команда    ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ................................47

7    Межотраслевые команды, ориентированные на передачу данных.......................48

7.1    Команда ИЗВЛЕЧЬ ОТВЕТ..............................................48

7.2    Команда КОНВЕРТ.....................................................49

8    Байты предыстории.........................................................49

9    Услуги карты, не зависимые от приложений.......................................54

Приложение А Транспортировка APDU-сообщений при помощи протокола передачи, обозначаемого Т=0......................................................57

Приложение Б Транспортировка APDU-сообщений при помощи протокола передачи, обозначаемого Т= 1......................................................62

Приложение В Управление указателя записи. .......................................64

Приложение Г Использование базовых правил кодирования АСН.1......................65

Приложение Д Примеры профилей карт...........................................66

Приложение Е Использование безопасного обмена сообщениями........................68

III

Страница 4

ГОСТ Р ИСО/МЭК 7816-4-2004

Введение

Настоящий стандарт — один из серии стандартов, описывающих параметры карт на интегральных схемах с контактами и их применение в рамках обмена информацией.

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

IV

Страница 5

ГОСТ Р ИСО/МЭК 7816-4-2004 НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология Карты идентификационные

КАРТЫ НА ИНТЕГРАЛЬНЫХ СХЕМАХ С КОНТАКТАМИ

Часть 4 Межо1раслсвыс команды для обмена

Information technology. Identification cards. Integrated circuit(s) cards with contacts Part 4. Interindustry commands for interchange

Дата введения 2005—01—01

1    Область применения

Настоящий стандарт устанавливает:

-    содержание сообщений (команд и ответов), передаваемых устройством сопряжения карте и обратно:

-    структуру и содержание байтов предыстории, посылаемых картой во время ответа па восстановление;

-    структуру файлов и данных, прослеживаемую на стыке между картой и устройством сопряжения при обработке межотраслевых команд;

-    методы доступа к файлам и данным, содержащимся в карте:

-    архитектуру безопасности, определяющую права досту па к файлам и данным, содержащимся в карте;

-    методы безопасного обмена сообщениями;

-    методы доступа к алгоритмам, обрабатываемым картой (исключая описание самих алгоритмов).

Стандарт не распространяется на реализацию обмена данными внутри карты и/или внешнего окружения.

Стандарт допускает дальнейшую стандартизацию дополнительных межотраслевых команд и архитектур безопасности.

2    Нормативные ссылки

В настоящем стандарте использованы ссылки на следующие стандарты и классификатор:

ГОСТ Р ИСО/МЭК 7816-6—2003 Карты идентификационные. Карты на интегральных схемах с контактами. Часть 6. Элементы данных для межотраслевого обмена

ГОСТ Р ИСО/МЭК 8825—93 Информационная технология. Взаимосвязь открытых систем. Спецификация базовых правил кодирования для абстрактно-синтаксической нотации версии 1 (ACH.I)

ГОСТ Р ИСО/МЭК 10116—93 Информанионная технология. Режимы работы для алгоритма л-разрядного блочного шифрования

ИСО/МЭК 7812-1:2000* Карты идентификационные. Идентификация эмитентов. Часть 1. Система нумерации

ИСО/МЭК 7816-3:1997* Информационная технология. Карты идентификационные. Каргы на ннтегральной(ых) схеме(ах) с контактами. Часть 3. Электронные сигналы и протоколы передачи

ИСО/МЭК 7816-5:1994* Карты идентификационные. Карты на интегральной(ых) схеме(ах) с контактами. Часть 5. Система нумерации и процедура регистрации для идентификаторов приложений

* Международные стандарты ИСО/МЭК — во ВНИИКИ Госстандарта России. Издание официальное

I

Страница 6

ГОСТ Р ИСО/МЭК 7816-4-2004

ИСО/МЭК 9796-2:1997" Информационная технология. Методы зашиты. Схемы цифровой подписи. обеспечиваюшие восстановление сообщения. Часть 2. Механизмы, использующие хэш-функцию

ИСО/МЭК 9796-3:20001 Информационная технология. Методы зашиты. Схемы цифровой подписи, обеспечивающие восстановление сообщения. Часть 3. Механизмы, основанные на дискретном логарифме

ИСО/МЭК 9797:1994* Информационная технология. Методы защиты. Механизм обеспечения целостности данных с применением криптографической контрольной функции, использующей алгоритм блочного шифрования

ИСО/МЭК 9979:1999* Информационная технология. Методы защиты. Процедуры регистрации криптографических алгоритмов

ИСО/МЭК 10118-1:2000* Информационная технология. Методы защиты. Хэш-функции. Часть I. Общие положения

ИСО/МЭК 10118-2:2000* Информационная технология. Методы защиты. Хэш-функции. Часть 2. Хэш-функции, использующие я-битовое блочное шифрование

OK (МК (ИСО 3166) 004—97) 025—2001 Общероссийский классификатор стран мира

3 Определения

В настоящем стандарте используют следующие определения.

3.1    файл ответа на восстановление: Элементарный файл, который указывает рабочие характеристики карты.

3.2    пара команда-ответ: Набор из двух сообщений: команды и следующего за ней ответа.

3.3    единица лаиных: Наименьший набор битов, на который можно дать однозначную ссылку.

3.4    элемент данных: Смысловой элемент информации, прослеживаемый на стыке между картой и устройством сопряжения, для которого определены наименование, описание логического содержания, формат и кодирование.

3.5    информационный объект: Информация, прослеживаемая на стыке между картой и устройством сопряжения, состоящая из тега, длины и значения (т. е. элемента данных). В настоящем стандарте информационные объекты именуются как информационные объекты BER-TLV, СОМ-PACT-TLV и SIMPLE-TLV.

3.6    назначенный файл: Файл, содержащий контрольную информацию файла и. как возможность. свободную память для распределения. Он может быть родительским файлом элементарных (EF) и/или назначенных (DF) файлов.

3.7    имя DF: Строка байтов, которая уникальным образом идентифицирует назначенный файл в карте.

3.8    справочный файл: Элементарный файл, определяемый в ИСО/МЭК 7816-5.

3.9    элементарный файл: Набор единиц данных или записей, которые совместно используют один и тот же идентификатор файла. Элементарный файл не может быть родительским для другого файла.

3.10    конфольные параметры файла: Логические, структурные атрибуты и атрибуты секретности файла.

3.11    идентификатор файла: Двухбайтовое двоичное значение, используемое для обращения к файлу.

3.12    данные управления файлом: Любая информация о файле, за исключением контрольных параметров файла (например, дата истечения срока действия, метка приложения).

3.13    внутренний элементарный файл: Элементарный файл для хранения данных, интерпретируемых картой.

3.14    главный файл: Обязательный «шкальный назначенный файл, представляющий собой корень файловой структуры.

3.15    сообщение: Строка байтов, передаваемая устройством сопряжения карте или наоборот, исключая знаки, ориентированные на управление передачей, как определено в ИСО/МЭК 7816-3.

3.16    родительский файл: Назначенный файл, непосредственно предшествующий данному файлу в пределах иерархии.

3.17    пароль: Данные, которые могут быть затребованы приложением от пользователя карты.

3.18    путь: Снепленне идентификаторов файлов без разграничения. Если путь начинается с идентификатора главного файла, то это абсолютный путь.

1

Мсжлунаролныс стандарт ИСО/МЭК — но ВНИИКИ Госстандарта России.

Страница 7

ГОСТ Р ИСО/МЭК 7816-4-2004

3.19    нровайлер: Орган, имеющий или получивший право на создание назначенного файла в карте.

3.20    )апнсь: Строка байтов, которая может обрабатываться каргой как единое целое и на которую можно дать ссылку посредством номера или идентификатора записи.

3.21    идентификатор записи: Значение, связываемое с записью, которое может использоваться для ссылки на эту запись. Несколько записей могут иметь один и тот же идентификатор в пределах элементарного файла.

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

3.23    рабочий элементарный файл: Элементарный файл для хранения данных, не интерпретируемых картой.

4    Сокращения и обозначения

В настоящем стандарте применяют следующие сокращения.

APDU — блок данных прикладного протокола (Application protocol data unit).

ATR — ответ на восстановление (Answer to reset).

BER — базовые правила кодирования абстрактно-синтаксической нотации версии 1 (АСН.1) (Basic encoding rules of ASN.l), см. приложение Г.

С LA — байт класса (Class byte).

DIR — справочный (Directory).

DF — назначенный файл (Dedicated file).

EF — элементарный файл (Elementary' file).

FC1 — контрольная информация файла (File control information).

FCP — контрольный параметр файла (File control parameter).

FMD — данные управления файлом (File management data).

INS — командный байт (Instruction byte).

MF — главный файл (Master file).

PI, P2 — байты параметров (Parameter bytes).

ITS — выбор типа протокола (Protocol type selection).

RFU - зарезервировано для будущего использования (Reserved for future use).

SM — безопасный обмен сообщениями (Secure messaging).

SW1. SNV2 — байты состояния (Status bytes).

TLV — тег, длина, значение (Tag, length, value).

TPDU — блок данных протокола передачи (Transmission protocol data unit).

В настоящем стандарте применяют следующие обозначения.

‘О’—’9* и ’А'— ’F’ — шестнадцать шестнадцатеричных цифр.

(В[) — значение байта В,.

В, || В,— спепление байтов В, (старший байт) и В, (младший байт).

(В, | В,) — значение сцепления байтов В, и В2. й — номер.

5    Основные организационные структуры

5.1    Структу ры данных

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

5.1.1    Организация файлов

Настоящий стандарт поддерживает следующие две категории файлов:

-    назначенный файл (DF);

-    элементарный файл (EF).

Логическая организация данных в карте представляет собой следующую структурную иерархию назначенных файлов:

-    DF в основании иерархии, называемый главным файлом (MF). MF является обязательным:

-    прочие DF, являющиеся необязательными.

3

Страница 8

ГОСТ Р ИСО/МЭК 7816-4-2004

Определены следующие два тина файлов EF:

-    внутренние, прел назначаемые для хранения данных, интерпретируемых картой, т. е. данных, анализируемых и используемых картой в целях управления и контроля;

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

На рисунке 1 показан пример логической организации файлов в карте.

5.1.2    М е т о д ы обращения к файлу

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

а)    Обращение посредством идентификатора файла

Обращение к любому файлу может быть осушестатено при помощи идентификатора файла, колируемого в двух байтах. Если через идентификатор файла осуществляется обращение к MF. то должно использоваться значение ’3F00’ (зарезервированное значение). Значение 'FFFF зарезервировано для будущего использования. Значение ’3FFF’ также зарезервировано (см. перечисление б)). Для того чтобы однозначно выбирать любой файл при помошн его идентификатора, все файлы EF и DF, находящиеся в иерархии непосредственно под данным DF, должны иметь разные идентификаторы.

б)    Обращение через путь

Обращение к любому файлу может быть осуществлено при помошн пути (сцепления идентификаторов файлов). Путь начинается с идентификатора MF или текущего OF и заканчивается идентификатором выбираемого файла. Между этими двумя идентификаторами путь состоит из идентификаторов последовательных (в рамках иерархии) родительских OF, если они имеются. Порядок следования идентификаторов файлов — всегда в направлении от родительского файла к дочернему. Если идентификатор текущего OF не известен, в начале пути может использоваться значение ’3FFF’ (зарезервированное значение). Использование пути позволяет осуществлять однозначный выбор любого файла из \1F или из текущего OF.

в)    Обращение посредством короткого идентификатора EF

Обращение к любому EF может быть осуществлено при помощи короткого идентификатора EF, кодируемого в пяти битах, представляющих значение от I до 30. Значение 0, используемое в качестве короткого идентификатора EF, указывает на выбираемый в текущий момент EF. Короткие идентификаторы файлов EF не могуч быть использованы в последовательности пути или в качестве идентификатора файла (например, в команде ВЫБРАТЬ ФАЙЛ).

г)    Обращение посредством имени OF

Обращение к любому OF может быть осуществлено по имени OF. кодируемому в 1—16 байтах. Для того чтобы однозначно выбирать по имени OF (например, когда выбор осуществляется путем использования идентификаторов приложений, как определено в ИСО/МЭК 7816-5), имя каждого OF не должно повторяться в данной карте.

5.1.3    Структуры элементарных файлов

Определены следующие структуры файлов EF:

-    прозрачная структура, при которой EF прослеживается на стыке между картой и устройством сопряжения как последовательность единиц данных;

-    структура из записей, при которой EF прослеживается на стыке между картой и устройством сопряжения как последовательность отдельно идентифицируемых записей.

Для файлов EF со структурой из записей определены следующие атрибуты:

4

Страница 9

ГОСТ Р ИСО/МЭК 7816-4-2004

-    размер записей — либо фиксированный, либо переменный:

-    способ организации записей: либо в виде последовательного ряда (линейная структура), либо в виде кольца (циклическая структура).

Карта должна поддерживать по меньшей мере один из следующих четырех методов структурирования файлов EF:

-    «прозрачный EF»;

-    «линейный EF с записями фиксированного размера»;

-    «линейный EF с записями переменного размера»:

-    «циклический EF с записями фиксированного размера».

На рисунке 2 представлены четыре структуры файлов EF, соответствующие четырем методам структурирования.

Цмавмкшп

Профачкял ГииНи фмофо—i мя Лммйтя париимая фмекромнная

Рисунок 2 — Структуры файлов EF


Примечание Стрелка указывает на последнюю сделанную запись.


5.1.4 Методы обращения к данным

Обращение к данным может осу шее гатят ься как к записям, единицам данных или информационным объектам. Предполагается, что данные должны храниться в виде одной непрерывной последовательности записей (в пределах EF со структурой из записей) или единиц данных (в пределах EF с прозрачной структурой). Обращение к записи или единице данных вне EF является ошибкой.

Метод обращения к данным, метод нумерации записей и размер единиц данных являются характеристиками, зависящими от EF. Карта может давать соответствующие указания в ATR, файле ЛТК и контрольной информации любого файла. Если карта дает указания в нескольких местах, то действительным для данного EF яатяется ближайшее к нему указание в пределах пути от MF до этого EF.

5.1.4.1 Обращение к записи

В пределах каждого EF со структурой из записей обращение к каждой записи может осушест-агяться при помоши идентификатора записи и/или номера записи. Идентификаторы и номера записей предстаатяют собой целые восьмибитовые числа без знака со значениями от ’0Г до FE'. Значение ’00’ зарезервировано для особых целей. Значение ‘FF является RFU.

Обращение посредством идентификатора записи должно приводить в действие управление указателя записи. Процедура восстаноатения карты, команда ВЫБРАТЬ ФАЙЛ и любая команда, несущая разрешенный короткий идентификатор EF, мот воздействовать на указатель записи. Обращение посредством номера записи не должно воздействовать на указатель записи.

а) Обращение посредством идентификатора записи

Каждый идентификатор записи предоставляется приложением. Если запись представляет собой информационный объект SIMPLE-TLV в поле данных сообщения (см. 5.4.4), то идентификатором записи яатяется первый байт этого информационного объекта. В пределах EF со структурой из записей записи могут иметь один и тот же идентификатор, тогда данные, содержащиеся в записях, могут использоваться для их различения.

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

В пределах каждого EF с линейной структурой логические позиции должны последовательно

5

Страница 10

ГОСТ Р ИСО/МЭК 7816-4-2004

присваиваться при осуществлении операции записи или операции присоединения записи, те. в порядке создания. Поэтому первая созданная запись будет находиться в первой логической позиции.

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

Как для линейных, так и для циклических структур установлены следующие дополнительные правила:

-    первым вхождением должна быть запись с заданным идентификатором и в первой логической позиции; последним вхождением должна быть запись с заданным идентификатором и в последней логической позиции;

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

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

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

б) Обращение посредством номера записи

В пределах каждого EF со структурой из записей номера записей являются уникальными и поел едовател ышми.

В пределах каждого EF с линейной структурой номера записей должны последовательно присваиваться при осуществлении операции записи или операции присоединения записи, т. е. в порядке создания. Поэтому первая запись (запись номер один, запись п 1) будет представлять собой первую созданную запись.

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

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

5.1.4.2    Обращение к единице данных

В пределах каждого EF с прозрачной структурой обращение к любой единице данных может осуществляться при помощи смещения (например, в команде СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ, см. 6.1), представляющего собой целое число без знака, ограниченное восемью либо 15 битами, что определяется опцией в соответствующей команде. Для первой единицы данных файла EF смешению присваивают значение 0, для каждой последующей единицы данных смещение увеличивается на единицу.

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

Примечания

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

2    В пределах EF со структурой из записей обращение к единице данных может не обеспечивать ожидаемый результат, поскольку порядок хранения записей в ЕР неизвестен (записи, например, могут храниться в циклической структуре).

5.1.4.3    Обращение к информационному объекту

Каждый информационный объект, определяемый в 5.4.4, начинается с тега, который служит для обращения к информационному объекту. Теги установлены в настоящем стандарте и других стандартах серии ГОСТ Р ИСО/МЭК 7816 (ИСО/МЭК 7816).

5.1.5 Контрольная информация файла

Контрольная информация файла (FCT) представляет собой строку байтов данных, содержащуюся в ответе на команду ВЫБРАТЬ ФАЙЛ. Контрольная информация может быть у любого файла.

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

6

Страница 11

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 1 — Шаблоны для FC1

Те«

Значение

’62*

Котрольныс параметры файла (шаблон FCP)

*64*

Данные управлении файлом (шаблон FMD)

•6F

Контрольная информации файла (шаблон FCI)

Шаблон FCP предназначается для передачи контрольных параметров файла (FCP), т. е. любых информационных объектов BER-TLV, определяемых в таблице 2.

Шаблон FMD предназначается для передачи данных управления файлом (FMD), т. е. информационных объектов BER-TLV, указанных в других разделах настоящего стандарта или в других стандартах серии ГОСТ Р ИСО/МЭК 7X16 (ИСО/МЭК 7S16) (например, метки приложения по ИСО/МЭК 7X16-5 и даты истечения срока действия приложения по ГОСТ Р ИСО/МЭК 7X16-6).

Шаблон FC1 предназначается для передачи контрольных параметров файла и данных управления файлом.

Извлечение этих трех шаблонов может осуществляться по опциям выбора команды ВЫБРАТЬ ФАЙЛ (см. таблицу 59). Если установлена опция FCP или FMD, то использование соответствующего шаблона яазяется обязательным. Если установлена опция FC1, го использование шаблона FCI не является обязательным.

Часть контрольной информации файла может быть дополнительно представлена в рабочем файле EF под управлением приложения, ссылка на который приводится под тегом 'Х7\ В гаком EF использование шаблона FCP или FCI для кодирования контрольной информации файла является обязательным.

Контрольная информация файла, не закодированная в соответствии с настоящим стандартом, может вводиться следующим образом:

тег, равный ’00’, или тег с любым значением выше чем *9F* — кодирование последующей строки байтов является оригинальным;

тег, равный ’53’ - поле значения информационного объекта состоит из произвольных данных, не закодированных в структуре TLV;

тег, равный ”73’ — поле значения информационного объекта состоит из произвольных информационных объектов BER-TLV.

Таблица 2 — Контрольные параметры файла

Тег

L

Значение

Применимость

’80*

2

Число байтов данных в файле, исключая струкз урную и нформаци ю

Прозрачный EF

'8 Г

2

Число байтов данных в файле, включая структурную информацию, если она имеется

Любой файл

’82*

1

Байт описателя файла (см. таблицу 3)

Любой файл

2

Байт описателя файла, сопровождаемый байтом кодировании данных (см. таблицу 86)

То же

3 или 4

Байт описателя файла, сопровождаемый байтом кодировании данных и максимальной длиной записи

EF со структурой из записей

’83*

2

Идентификатор файла

Любой файл

•84*

От 1 до 16

Имя DF

DF

’85*

Переменная

Ориги нальная и нформаи ия

Любой файл

•86*

Переменная

Атрибуты секретности (кодирование за пределами компетенции настоящего стандарта)

Любой файл

’87*

2

Идентификатор файла EF. содержащего расширение FCI

Любой файл

Or '88* до *9Е'

RFU

•9FXY’

RFU

7

Страница 12

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 3 — Байт описатели файла

bS

Ь7

Ь6

bS

Ь4

ьз

Ь2

ы

См ис.юное содержание

и

X

Доступность файла:

0

0

- файл несовместного доступа

0

1

- файл совместного доступа

0

X

X

X

Тип файла:

0

0

0

0

-

- раГючин EF

0

0

0

I

- внутренний EF

0

0

1

0

- зарезервировано

0

0

1

1

-

-

для

и

1

0

и

-

-

оригинальных

0

1

0

1

типов

0

1

1

0

файлов EF

0

I

1

I

- DF

0

-

-

-

X

X

X

Структура EF:

о

-

-

-

О

0

и

- информация не предоставлена

и

-

-

0

0

1

- прозрачная

0

и

1

0

- линейная фиксированная; нет дополнительной информации

0

0

1

1

- линейная фиксированная: информационные объекты SIMPLE-TLV

0

1

0

0

- линейная переменная: нет дополнительной информации

и

1

0

1

- линейная переменная: информационные объекты S1MPLE-TLV

U

1

1

U

- циклическая: нет дополнительной информации

0

1

1

1

- циклическая; информационные объект ы SIMPLE-TLV

1

X

X

X

X

X

X

X

RFU

Примечание— «Совместный доступ» означает, что файл поддерживает по меньшей мере одновременный доступ по разным логическим каналам.

5.2    Архитектура безопасности карты

В настоящем подразделе рассмотрены следующие аспекты:

-    состояние защиты,

-    атрибуты секретности,

-    механизмы защиты.

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

5.2    1 Состояние защиты

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

-    ответа на восстановление (ATR) и возможного выбора типа протокола (PTS) и/или

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

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

8

Страница 13

ГОСТ Р ИСО/МЭК 7816-4-2004

-    проверки знания пароля (например, с использованием команды ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ),

-    проверки знания ключа (например, с использованием команды СОЗДАТЬ ЗАДАЧУ, сопровождаемой командой ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ),

-    безопасного обмена сообщениями (например, на основе аутентификации сообщений).

Рассматриваются следующие три состояния защиты.

а)    Глобальное состояние зашиты

Глобальное состояние зашиты может видоизменяться и результате завершения процедуры аутентификации, относящейся к MF (например, аутентификации участвующей стороны по паролю или ключу, присоединенному к MF).

б)    Файловое состояние защиты (т.е. ориентированное на файл)

Файловое состояние защиты может видоизменяться в результате завершения процедуры аутентификации, относящейся к DF (например. ауте>ггификаиин участвующей стороны по паролю или ключу, присоединенному к конкретному DF). Оно может быть сохранено, восстановлено или утрачено при выборе файла (см. 6.10.2). Данная модификация состояния зашиты может быть уместна только для приложения, с которым связана процедура аутентификации.

в)    Командное состояние зашиты (т.е. ориентированное на команду)

Командное состояние зашиты имеет место лишь во время выполнения команды, предусматривающей аутентификацию с использованием безопасного обмена сообщениями (см. 5.6); такая команда может остаатять без изменений другое состояние зашиты.

Если применяется концепция логических каналов, файловое состояние зашиты может зависеть от логического канала (см. 5.5.1).

5.2.2    Атр и бут ы секретности

Атрибуты секретности, если они имеются, определяют разрешенные действия, а также процедуры. подлежащие выполнению для завершения таких действий.

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

-    его категории (DF или EF),

-    возможных параметров в его контрольной информации и/или в контрольной информации его родительского(их) файла(ов).

Примечание — Атрибуты сскрстносш могут сопутствовать и другим объектам (например ключам).

5.2.3    Механизмы зашиты

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

а)    Аутентификация участвующей стороны по паролю

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

б)    Аутентификация участвующей стороны по ключу

Участвующая сторона, подвергаемая аутентификации, должна доказать знание соответствующего ключа в ходе процедуры аутентификации (например, с использованием команды СОЗДАТЬ ЗАДАЧУ, сопровождаемой командой ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ).

в)    Аутентификация данных

Используя внутренние данные, секретные или открытые, карга проверяет избыточные данные, полученные от внешнего окружения. В свою очередь, используя секретные внутренние данные, карта вычисляет элемент данных (криптографическую контрольную сумму или электронную цифровую подпись) и вставляет его в данные, посылаемые внешнему окружению. Данный механизм может использоваться для зашиты прав провайдера.

г)    Шифрование данных

Используя секретные внутренние данные, карта осуществляет дешифрование криптограммы, полученной в поле данных. В свою очередь, используя внутренние данные, секретные или открытые, карта вычисляет криптограмму и вставляет ее в поле данных, возможно вместе с другими данными. Данный механизм может использоваться для обеспечения услуги конфиденциальности, например для управления ключами и условного доступа. В дополнение к механизму с криптограммой, конфиденциальность данных может достигаться за счет сокрытия данных. В этом случае карта вычисляет строку скрывающих байтов и прибавляет ее при помощи операции сложения «исключающее ИЛИ* к байтам данных, полученным от внешнего окружения или посылаемым внешнему

9

Страница 14

ГОСТ Р ИСО/МЭК 7816-4-2004

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

Результат аутентификации может регистрироваться по внутреннем EF в соответствии с требованиями приложения.

5.3 Структуры APDU-сообшсний

Шаг в прикладном протоколе состоит из посылки команды, обработки ее принимающей стороной и посылки ответа в обратном направлении. Таким образом, конкретный ответ соответствует конкретной команде: вместе они именуются парой команда—ответ.

Блок данных прикладного протокола (APDU) содержит либо командное, либо ответное сообщение, посылаемое карте с устройства сопряжения, или наоборот.

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

Таблица 4 — Данные в парс команда—ответ

Случаи

Данные команды

Ожидаемые данные о > вс г а

1

Нет данных

Нет ;1анных

2

То же

Данные

3

Данные

Нет данных

4

*

Данные

5.3.1 Командный APDU

Представленный на рисунке 3 (см. также таблицу 6) командный APDU, определяемый в настоящем стандарте, состоит из:

-    обязательного заголовка из четырех байтов (CLA, INS, PI. Р2),

-    условного тела переменной длины.

Заголовок    Тело

CLA INS Р1 РЗ    [Пале    ЦДГЪота    дйнныя}[Пап»    LJ

Рисунок 3 — Структура командного APDU

Число байтов, представленных в поле данных командного APDU. обозначается Ц.

Максимальное число байтов, ожидаемых в поле данных ответного APDU. обозначается L. (длина ожидаемых данных). Если поле Lc содержит только нули, то запрашивается максимальное число имеющихся байтов данных.

На рисунке 4 представлены четыре структуры командных APDU, соответствующие четырем случаям из таблицы 4.

Сярмй 1 Г Заголовок |

Слумй2 | Зтшошск | ГЬп» ^ |

СлумйЗ

| Зчыкжж I riCMSLe I Псп^тш |

Случаи

| Заголоси |Hana L,;| Попа дйншх |Попо1-.|

Рисунок 4 — Четыре структуры командных APDU

В случае 1 длина данных Ц является нулевой; следовательно пате L. и поле данных являются пустыми. Длина данных Lc гакже является нулевой; следовательно и поле Lc является пустым. В результате тело является пустым.

10

Страница 15

ГОСТ Р ИСО/МЭК 7816-4-2004

В случае 2 длина данных Lt является нулевой; следовательно поле Lc и поле данных являются пустыми. Длина данных L. не является нулевой; следовательно поле Lt присутствует. В результате тело состоит из поля Lc.

В случае 3 длина данных L. не является нулевой; следовательно поле L. присутствует, а поле данных состоит из Lt последующих байтов. Длина данных L* яапяется нулевой; следовательно поле L, является пустым. В результате тело состоит из поля Lc, сопровождаемого полем данных.

В случае 4 длина данных Lc не является нулевой; следовательно попе Lt присутствует, а поле данных состоит из Lt последующих байтов. Длина данных L. также не является нулевой; следовательно поле L, также присутствует. В результате тело состоит из поля Ц, сопровождаемого полем данных и полем L£.

5.3.2 Соглашения по декодированию тела команды

В случае I тело командного APDU является пустым. Такой командный APDU не несет поле длины.

В случаях 2—4 тело командного APDU состоит из строки, образованной L байтами, обозначаемыми символами В, ... В, , как показано на рисунке 5. Такое тело несет одно или два поля длины; байт В, представляет собой первое поле длины или его часть.

Тело яэмвды Bv-.Bl (L байтов)

Рисунок 5 — Непустое тело

В данных, представляющих функциональные возможности карты (см. 8.3.6), карта устанавливает, что в командном APDU поля Lt и L£:

-    либо должны быть короткими (один байт по умолчанию),

-    либо могут быть расширенными (явное сообщение).

Следовательно, случаи 2—4 являются либо короткими (один байт для каждого поля длины), либо расширенными (байту В, присваивается значение '00', а значение каждой длины колируется в двух других байтах).

В таблице 5 представлено декодирование командных APDU, соответствующих четырем случаям, приведенным в таблице 4 и на рисунке 4. и возможному расширению полей Ll и L.. Любой другой командный APDU является недействительным.

Т а б .1 к и а 5 — Декодирование командных APDU

Уело НИ 11

Случай

L = 0

1

L - 1

2, короткий <2К)

L-I+(B,);

(В,)* 0;

3, короткий (ЗК)

L = 2+(В,);

(В,) * 0;

4, короткий (4К)

L-3;

(В,)-0:

2, расширенный <2Р)

L - 3+(В: || В,);

<В,) = 0:

(В, || В,) * 0

3. расширенный <ЗР)

L я 5+(Вд || Bj):

(В,) * 0:

(В, II В,)*0

4. расширенный <4Р)

Соглашения по декодированию поля L. следующие.

Если значение L. закодировано в одном (двух) байте (ах), где не все биты являются нулевыми, то оно равно значению байта(ов), которое находится в диапазоне от 1 до 255 (от I до 65535); нулевые значения всех битов означают максимальное значение Lc: 256 (65536).

Следующие первые четыре случая относятся ко всем картам.

С луча Й I

L = 0; тело является пустым. Дчя этого случая:

II

Страница 16

ГОСТ Р ИСО/МЭК 7816-4-2004

-    ми одни байт не используется для Lc (Lc = 0):

-    не представлен ни один байт данных;

-    ни один бант не используется для L. (L. =0).

Случай 2К L = I. Для этого случая:

-    ни один байт не используется для Lc (L. = 0);

-    не представлен ни один байт данных;

-    байт В, кодирует значение Lc от 1 до 256.

Случай ЗК

L = I + (В,) и (В,) ф 0 . Для этого случая:

-    байт В, кодирует значение L* (Lc * 0) от 1 до 255;

-    байты от В, до BL предста&зяют собой Lc байтов поля данных;

-    ни один байт не используется для Lc (Lc =0).

Случай 4К

L = 2 + (В,) и (В,) * 0. Для этого случая:

-    байт В, кодирует значение L. (L£ * 0) от 1 до 255;

-    байты от В, до В, , представляют собой L байтов поля данных;

-    байт BL кодирует значение L, от I до 25б/

Для карт, указывающих на расширение полей L и Lc (см. 8.3.6), применяются также следуюшне три случая.

Случай 2Р

L = 3 и (В,) = 0. Для этого случая:

-    ни один байт не используется для L. (L, = 0);

-    не представлен ни один байт данных;

-    поле L. состоит из трех байтов, где байты В, и В, кодируют значение Lc от I до 65536.

С л у ч а й 31*

L = 3 + (В, Ц В.). (В,) = 0 и (В: ||    В.) * 0. Для этого случая:

-    поле Lt состоит из первых трех    байтов, где байты    В, и В, кодируют значение    Lc    (Lt    * 0)    от    I

до 65535;

-    байты от В, до В, представляют собой L,. байтов поля данных;

-    ни один байт не используется для Lc (Lf = 0).

Случай 4Р

L = 5 + (В2 Ц В3), |В,> = 0 и (В, |    В,) * 0. Для этого    случая:

-    поле 1_с состоит из первых трех    байтов, где байты    В, и В* кодируют значение    L    (Lc    * 0)    от    I

до 65535;

-    6aifrbi от В4 до BL., представляют собой L байтов поля данных;

-    поле Lc состоит из последних двух байтов В,., и BL. кодирующих значение Lc от 1 до 65536. Для каждого протокола передачи по ИСО/МЭК 7816-3 в настоящем стандарте предусмотрено

приложение (см. приложения Л и Б), определяющее транспортировку блоков данных APDU пары команда—ответ в каждом из семи рассмотренных случаев.

5.3.3 Ответный APDU

Представленный на рисунке 6 (см. также таблицу 7) ответный APDU, определяемый в настоящем стандарте, состоит из:

-    условного тела переменной длины,

-    обязательного завершителя из двух байтов (SW1, SW2).

Число байтов, представленных в поле данных ответного APDU, обозначается через Ц.

TYmn    Замршитвль

[Попе данных]

5W1 8W2

Рисунок 6 — Стру ктура ответного APDU

12

Страница 17

ГОСТ Р ИСО/МЭК 7816-4-2004

Завершитель кодирует состояние принимающей стороны после обработки пары команда-ответ.

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

5.4 Соглашения по кодированию заголовков команд, полей данных и заверши юлей ответа

Таблипа 6 представляет содержимое командного APDU. Таблица 6 — Содержимое командного APDli

Кол

Намиено&эн lie

Длина

Описание

CLA

Класс

1

Класс команды

INS

Команда

1

Код команды

P1

Параметр I

1

Параметр команды 1

P2

Параметр 2

1

Параметр команды 2

Поле Le

Длина

Переменная: 1 или 3

Число байтов, представленных в пале данных команды

Поле данных

Данные

Переменная: равна Lt

Строка байтов, посылаемая в поле данных команды

Поле L(

Длина

Переменная:

£3

Максимальное число байтов, ожидаемых в ноле данных ответа на команду

Таблица 7 представляет содержимое ответного APDU. Таблица 7 — Содержимое ответного APDU

Кол

Наименование

Длина

Описание

Паче данных

Данные

Переменная: равна Lr

Строка байтов, принимаемая в поле данных ответа

SW1

Байт состояния 1

1

Состояние обработки команды

SW2

Байт состояния 2

1

Квалификатор обработки команды

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

Если не указано иначе, то в этих байтах биты RFU кодируются нулем, а байты RFU кодируются значением '00'.

5.4.1 Байт класса

В соответствии с таблицами 8 и 9 байт класса CLA команды применяется для указания:

-    степени соответствия команды и ответа настоящему стандарту:

-    формата безопасного обмена сообщениями и номера логического канала (в случае применимости. см. таблицу 9).

Т а б л и и а 8 — Кодирование и смысловое содержание CLA

Значение

Смысловое содержание

■ох*

Структура и кодирование команды и ответа — в соответствии с настоящим стандартом (кодирование ’X' см. а таблице 9)

От *10* до ’7F

RFU

*8Х\ 9Х*

Структура команды и ответа — в соответствии с настоящим стандартом. За исключением ‘X* (кодируется по таблице 9). кодирование и смысловое содержание команды и ответа являются оригинальными

‘АХ*

Если не указано иначе контекстом приложения, структура и кодирование команды н ответа — в соответствии с настоящим стандартом (кодирование ‘X* ext. в таблице 9)

От ВО’ до СР

Структура команды и ответа — в соответствии с настоящим стандартом

От 'DlV до ТЕ'

Оригинатьныс структура и кодирование команды и ответа

'FP

Зарезервировано для PTS

13

Страница 18

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 9 — Кодирование и смысловое содержание полубайта 'X' в 6ci*irc С LA. равном 'OX*. '8Х*. ’9Х’ или 'AX’

Ь4

ьз

Ъ2

ы

Смысловое содержание

X

X

-

Формат безопасного обмена сообщениями (SM)

0

X

-

Никакого SM или SM, не соответствующий 5.6:

0

0

-

-

- никакого SM или SM не указан

0

1

-

-

- оригинальный формат SM

1

X

-

-

Безопасный обмен сообщениями в соответствии с 5.6:

1

0

-

-

- неаугснтифицирусмый заголовок команды

1

1

- аутентифицируемый заголовок команды (использование заголовка команды см. в 5.6.3.1)

X

X

Номер логического канала (в соответствии с 5.5)

(Ь2Ы = 00, если логические каналы не используются или выбран логический канал « 0)

5.4.2 Командный байт Командный байт INS следует кодировать, чтобы передача была возможна с любым из протоколов, определяемых и ИСО/МЭК 7816-3. В таблице 10 представлены колы 1NS (в виде последовательностей), являющиеся недействительными.

Таблица 10— Недействительные коды INS

bS

Ь7

Ь6

Ь5

Ь4

ЬЗ

Ь2

ы

Смысловое содержание

X

X

X

X

X

X

X

1

Нечетные значения

0

1

1

0

X

X

X

X

*6Х‘

1

0

0

I

X

X

X

X

*9Х’

В таблице II представлены коды INS, определяемые в настоящем стандарте. Если значение CLA находится в диапазоне от ’00’ до ’7F\ другие значения кодов INS должны назначаться подкомитетом № 17 совместного технического комитета № I ИСО/МЭК (ПК 17СТК I ИСО/МЭК).

Таблица 11 — Колы INS. определяемые в настоящем стандарте

Значение

Ими хомапдм

Полра мел

’0Е’

ИСКЛЮЧИ ГЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

6.4

•20-

ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ

6.12

’70’

ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ

6.16

•82’

ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ

6.14

•84'

СОЗДАТЬ ЗАДАЧУ

6.15

‘88’

ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ

6.13

•А4’

ВЫБРАТЬ ФАЙЛ

6.11

’ВО’

СЧИТАТЬДВОИЧНОЕ ЗНАЧЕНИЕ

6.1

В2’

СЧИТАТЬ ЗАПИШИ)

6.5

•СО'

ИЗВЛЕЧЬ ОТВЕТ

7.1

'С2‘

КОНВЕРТ

7.2

•СА’

ИЗВЛЕЧЬ ДАННЫЕ

6.9

‘DO’

ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ

6.2

‘D2*

ВВЕСТИ ЗАПИСЬ

6.6

•D6’

ОБНОВИТЬДВОИЧНОЕ ЗНАЧЕНИЕ

6.3

‘DA’

ПОМЕСТИТЬ ДАННЫЕ

6.10

•DC

ОБНОВИТЬ ЗАПИСЬ

6.8

•Е2’

ПРИСОЕДИНИТЬ ЗАПИСЬ

6.7

14

Страница 19

ГОСТ Р ИСО/МЭК 7816-4-2004

5.4.3    Байты параметров

Байты параметров PI, Р2 команды могут иметь любое значение. Если байт параметра не обеспечивает никакого дальнейшего уточнения, то он должен быть установлен в состояние '00*.

5.4.4    Байты поля данных

Каждое поле данных должно иметь одну из следующих трех структур:

-    каждое закодированное в структуре TLV иоле данных должно состоять из одного или большего числа закодированных в структуре TLV информационных объектов;

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

-    структуру полей данных с оригинальным кодированием настоящий стандарт и стандарты серии ИСО/МЭК 7S16 не устанавливают.

Настоящий стандарт поддерживает следующие два типа закодированных в структуре TLV информационных объектов в полях данных:

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

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

Настоящий стандарт не использует ни ‘00‘. ни ‘FF’ в качестве значения тега.

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

-    поля тега Т, состоящего из одного или большего числа последовательных байтов. Оно кодирует класс, тип конструкции и номер;

-    поля длины, состоящего из одного или большего числа последовательных байтов. Оно кодирует целое число L;

-    поля значения V (если L*0), состоящего из L последовательных байтов. Если L=0, то информационный объект является пустым: поле значения отсутствует.

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

-    поля тега Т. состоящего из одиночного байта, кодирующего только номер от I до 254 (например, идентификатор записи). Оно не кодирует ни класс, ни тип конструкции;

-    поля длины, состоящего из одного или трех последовательных байтов. Если значение начального байта поля длины находится в диапазоне от 00’ до FE\ то поле длины состоит из одиночного байта, кодирующего значение целого числа L от 0 до 254. Если начальный байт равен 'FF\ то поле длины продолжается на два последующих байта, кодирующих значение целого числа L от 0 до 65535;

-    поля значения V (если L*0), состоящего из L последовательных байтов. Если L=0, то информационный объект является пустым: поле значения отсутствует.

Поля данных некоторых команд (например, команды ВЫБРАТЬ ФАЙЛ), поля значений информационных объектов SIMPLE-TLV и поля значений некоторых простых информационных объектов BER-TLV предназначаются для кодирования одного или большего числа элементов данных.

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

Поля данных прочих команд (например команд, ориентированных на объект) и поля значений составных информационных объектов BER-TLV предназначаются для кодирования одного или большего числа информационных объектов BER-TLV.

Примечание — Перед и между закодированными в струкгурс TLV информационными объектами или после них moivt возникать байты со значениями '00' или ‘FF’ без какого-либо смыслового содержания (например, как следствие удаленных или измененных TLV-закодированных информационных объектов).

5.4.5    Байты состояния

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

15

Страница 20

ГОСТ Р ИСО/МЭК 7816-4-2004

SW1 SW2

Процесс завершен

_I_


Процесс прорвем

_I_


I-

Нормальная

обработка


“1

Обработав

продтравдениоу


Ошибка выполнен мл


Ошибка

контроля


TtfXJC

■90001


ftZXX*    1ЯЮС ъ\юс

(су. прмиечвжо)


■6W (су. прмаачата)


■втжс


Примечание— Если SW1 *= ’63’ (или '65'), состояние энергонезависимой памяти изменено. Если SWI= ‘6Х’ (за исключением ’63’ и ’65’), состояние энергонезависимой памяти не изменено.

Рисунок 7 — Структурная схема байтов состояния

Благодаря описанию байтов состояния, данному в ИСО/МЭК 7816-3. настоящий стандарт не определяет следующих значений последовательности байтов SW1-SW2:

-    ’60ХХ’;

-    ’67ХХ\ 6ВХХ', ’6DXX\ ’6ЕХХ\ ’6FXX’ в каждом случае, если ХХ‘ * W;

-    '9ХХХ\ если ’XXX’ * ООО’.

Следующие значения байтов SWI, SW2 определены для любого протокола (см. примеры в приложении А):

-    если выполнение команды прерывается с ответом, где SW1 = ’6С\ то SW2 указывает значение (точную длину запрашиваемых данных), которое должно быть дано короткому полю L. при повторной подаче той же команды до подачи любой другой команды;

-    если команда (которая может относиться к случаю 2 или 4. см. таблицу 4 и рисунок 4) обрабатывается с ответом, где SWI = ’6Г, го SW2 указывает максимальное значение (длину дополнительных еще имеющихся данных), которое должно быть дано короткому полю Lf в команде ИЗВЛЕЧЬ ОТВЕТ, подаваемой перед подачей любой другой команды.

Примечание — Функциональные возможности, аналогичные тем. которые предлагаются при помощи значения ’61ХХ’, могут быть предложены на уровне приложения при помощи значения ’9FXX*. Вместе с тем приложения могут использовать значение ‘9FXX’ для иных целей.

В таблице 12, дополняемой таблицами 13—18, представлено общее смысловое содержание значений последовательности байтов SW1-SW2, определяемых в настоящем стандарте. Для каждой команды в соответствующем разделе представлено их более детальное содержание.

Таблицы 13—18 определяют значения байга SW2 для случаев, когда у байта SW1 значения составляют соответственно ’62’. '63', '65’, '68', '69* и '6А\ Значения байга SW2, не определяемые в таблицах 13—18. являются RFU, за исключением значений от 'F0' до 'FF', которые настоящий стандарт не определяет.

Таблица 12 — Кодирование последовательности байтов SW1-SW2

SWI-SW2

Смысловое содержание

•9000' '61XX'

Нормальная обработка

Мет дальнейшего уточнения

Байт SW2 указывает число еще имеющихся ответных байтов (см. текст ниже)

*62ХХ*

•63ХХ'

Обработка с предупреждением

Состояние энергонезависимой памяти без изменений (дальнейшее уточнение в байте SW2, см. таблицу 13)

Состояние энергонезависимой памяти изменено (дальнейшее уточнение в байте SW2. см. таблицу 14)

16

Страница 21

ГОСТ Р ИСО/МЭК 7816-4-2004

Продолжение таблицы 12

SWI-SW2

Смысл оное содержание

Ошибка выполнения

'64ХХ'

Состояние энергонезависимой памяти без изменений (SW2 = 'ОС, другие значения являются RFU)

'65ХХ'

Состояние энергонезависимой памяти изменено (дальнейшее уточнение в байге SW2, см. таблицу 15)

•66ХХ-

Зарезервированы для сообщений, связанных с безопасностью (не определяются в настоящем стандарте)

Ошибка контроля

‘6700*

Неверно указанная длина

'68ХХ'

Функции, указанные в байге CLA. не поддерживаются (дальнейшее уточнение в байте SW2, см. таблицу 16)

•69ХХ*

Команда не разрешена (дальнейшее уточнение в байте SW2. см. таблицу 17)

‘6АХХ*

Неверно указанный(е) параметр(ы) PI и(или) Р2 (дальнейшее уточнение в байте SW2. см. таблицу IS)

•6ВОО"

Неверно указанный(е) параметр(ы) PI и(илн) Р2

•6СХХ*

Неверно указанная длина Le: байт SW2 указывает точную длину (см. текст ниже)

'6DOO'

Код команды не поддерживается или недействителен

•6ЕОО’

Класс не поддерживается

'6F00'

Нет точного диагноза

Таблица 13 —

Солирование байта SW2. если SWI = ‘62'

SW2

Смысл оное содержание

•00’

Информация не предоставлена

*8 Г

Часть выдаваемых данных может быть искажена

•82-

Конец файла/записи достигнут до считывания Ц байтов

'83'

Выбранный файл недействителен

'84*

FCI не форматирована по 5.1.5

Таблица 14 —

Кодирование байга SW2. если SW1 =* '63'

SW2

Смыслоное содержание

•оо-

Информация не предоставлена

•8Г

Файл заполнен при последней операции записи

*СХ’

Счетчик, представленный в ‘X* (имеет значения от 0 до 15) (точное смысловое содержание jaencm от команды)

Таблица 15 — Кодирование байта SW2, если SW1 = ”65'

SW2

Смысловое содержание

'00'

Информация не предоставлена

'8 Г

Отказ памяти

17

Страница 22

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 16 — Кодирование банта SW2. если SW1 •= '68'

SW2

Смысловое содержание

W

Информация не предоставлена

‘8Г

Логический канал не поддерживается

•82*

Безопасный обмен сообщениями не поддерживается

Таблица 17 —

Кодирование байга SW2. если SW1 » '69'

SW2

Смысловое содержание

*00*

Информация не предоставлена

*8 Г

Команда несовместима со структурой файла

‘82’

Состояние защиты неудовлетворительное

'83'

Мстоа аутентификации заблокирован

‘84*

Ссылочные данные недействительны

*85'

Условия использования не удовлетворены

'86'

Команда невозможна (нет текущего ЕР)

*87*

Пропадание ожидаемых информационных обьсктов. связанных с SM

•88*

Информационные Объекты, связанные с SM, некорректны

Таблица 18 —

Кодирование байга SW2. если SWI = *6А'

SW2

Смысловое содержание

'00'

Ин<)юрмания нс предоставлена

•SO’

Некорректные параметры в паче данных

*8Г

Функция не поддерживается

*82'

Файл нс найден

*83’

Запись нс найдена

•84’

Область памяти в файле недостаточна

'85'

Ц. не согласуется со структурой TLV

*86'

Некорректные параметры PI. Р2

‘87*

Lc не согласуется с PI, Р2

•88’

Ссылочные данные не найдены

5.5 Логические каналы

5.5.1 Обшая ком цепи и я

Логический канал, прослеживаемый на стыке между картой и устройством сопряжения, работает как логическая линия связи, ведущая к DF.

Функционирование одного логического канала должно осуществляться независимо от функционирования другого логического канала. То есть взаимосвязи команд на одном логическом канале не должны зависеть от взаимосвязей команд на другом логическом канале. Тем не менее логические каналы мот совместно использовать зависимое от приложения состояние защиты и. следовательно, для всех логических каналов могут иметь место взаимозависимости в части команд, связанных с защитными функциями (например, верификацией по паролю).

Команды, относящиеся к конкретному логическому канал)', несут соответствующий номер логического канала в байте CLA (см. таблицы 8 и 9). Логические каналы нумеруются от 0 до 3. Если карта поддерживает механизм логических каналов, то максимальное число имеющихся логических каналов указывается в данных о функциональных возможностях карты (см. 8.3.6).

18

Страница 23

ГОСТ Р ИСО/МЭК 7816-4-2004

Пары команда—отпет работают и соответствии со следующим описанием. Настоящий стандарт поддерживает только те пары команда—ответ, которые должны полностью завершаться до инициирования следующей пары команда—ответ. Не должно происходить разбиения команд и ответов на них по логическим каналам: между получением команды и посылкой ответа на эту команду активным должен быть только один логический канал. Если логический канал открывается, то он остается открытым до тех пор. пока не будет закрыт явным образом командой ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ.

Примечания

1    Может быть Открыто более одного логического канала к одному и тому же DF. если это не исключается (о доступности файла см. в 5.1.5).

2    Болес чем один логический канал может выбиразъ один и тот же EF, если это не исключается (о доступности файла см. в 5.1.5).

3    Команда ВЫБРАТЬ ФАЙЛ на любом логическом канале откроет текущий DF и, возможно, текущий EF. Следовательно на один логический канал приходится один гекуший DF и. возможно, один текущий EF вследствие действия команды ВЫБРАТЬ ФАЙЛ и команд, использующих для достижения файла короткий идентификатор EF.

5.5.2    Основной логический капал

Основной логический канал постоянно доступен. Если ему присваивается номер, то это номер 0. Если байт класса кодируется по таблицам X и 9. то его биты Ы и Ь2 кодируют номер логического канала.

5.5.3    Открытие логического капала

Логический канал открывается в результате успешного завершения:

-    либо команды ВЫ БРАТЬ ФАЙЛ. обращающейся к DF путем назначения номера логического канала, отличного от 0. в байте класса:

-    либо функции открытия команды ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ, которая или назначает номер логического канала, отличный от 0. в командном APDU, или запрашивает его назначение. Тогда он должен быть назначен картой и выдан в ответе.

5.5.4    Закрытие логического канала

Функция закрытия команды ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ может применяться для явного закрытия логического канала, использующего номер логического канала. После закрытия номер логического канала будет доступен для повторного использования. Основной логический канат не должен закрываться.

5.6 Безопасный обмен сообщениями

Безопасный обмен сообщениями (SM) предназначается для защиты передаваемых на карту и с карты сообщений (или их части) посредством обеспечения двух основных защитных функций: аутентификации данных и конфиденциальности данных.

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

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

Два или большее число механизмов защиты могут использовать один и гот же алгоритм вместе с разными режимами работы (см. ГОСТ Р ИСО/МЭК 10116). Представленные описания правил заполнения блоков данных незначащей информацией не препятствуют такой возможности.

Настоящий подраздел определяет три типа информационных объектов, связанных с SM:

-    информационные объекты с незашифрованным значением, предназначаемые для переноса незашифрованных данных;

-    информационные объекты механизмов защиты, предназначаемые для переноса вычисленных результатов механизмов зашиты;

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

5.6.1 К о н ц е п ц и я формата SM

В каждом сообщении, воатекающем механизмы защиты, основанные на криптографии, поле

Страница 24

ГОСТ Р ИСО/МЭК 7816-4-2004

данных должно подчиняться базовым правилах» кодирования АСН.1 (см. ГОСТ Р ИСО/МЭК 8825 и приложение Г), если в байте класса не указано иначе (см. 5.4.1).

Представленный в поле данных формат SM может быть выбранным:

-    неявно, т е. быть известным до подачи команды;

-    явно, т.е. быть зафиксированным при помощи байта класса (см. таблицу 9).

Формат SM, определяемый в настоящем стандарте, кодируется с использованием информационных объектов BER-TLV, при этом:

-    для SM зарезервирован контекстно-зависимый класс тегов (диапазон от ‘80’ до BF);

-    могут быть представлены информационные объекты других классов (например, информационные объекты прикладного класса);

-    некоторые информационные объекты, связанные с SM, являются рекурсивными: их поле незашифрованного значения также колируется информационными объектами BER-TLV, и там для SM также зарезервирован контекстно-зависимый класс.

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

5.6.2 И н форм а ц и о н н ы е объекты с незашифрованным значением

Для данных, не закодированных в информационных объектах BER-TLV, и для информационных объектов BER-TLV. включающих в себя объекты, связанные с SM, обязательной является инкапсуляция. Она не является обязательной для информационных объектов BER-TLV. не включающих в себя объекты, связанные с SM. В таблице 19 представлены незашифрованные информационные объекты для инкапсуляции.

Таблица 19 — Информационные объекты с не зашифрованным значением

Тег

Значение

•ВО’. ВР 'В2', 'ВГ ‘80‘. *8Г •%•, ‘97’ ‘99-

Незашифрованное значение состоит из:

-    информационных объектов BER-TLV, включающих объекты, связанные с SM

-    информационных объектов BER-TLV, но не связанных с S.V1

-    данных, не закодированных информационными объектами BER-TLV

-    значения L. в незащищенной команде

-    информации о состоянии (например, из байтов SW1. SW2)

5.6.3 Информационные объекты для аутентификации

5.6.3.1 Информационный объект «криптографическая контрольная сумма»

Вычисление криптографических контрольных сумм (см. ИСО/МЭК 9797) предполагает наличие исходного контрольного блока, секретного ключа и алгоритма блочного шифрования, который не может быть обратимым. Алгоритм под управлением связанного с ним ключа, по существу, преобразует блок текущего ввода из к байтов (обычно восемь или 16) в блок текущего вывода той же длины.

Вычисление криптографической контрольной суммы выполняется последовательно по этапам.

а)    Начальный этап

Начальный этап задает исходный контрольный блок, которым должен быть один из следующих блоков:

-    нулевой блок, т.е. к байтов со значением W;

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

-    блок с начальным значением, предоставленный, например, внешним окружением;

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

б)    Промежуточный этап

Если таблица 9 применнма(С1-Л = ’ОХ’, '8Х‘, '9Х“ или ’АХ') и биты Ь4 и ЬЗ байта класса

20

Страница 25

ГОСТ Р ИСО/МЭК 7816-4-2004

установлены в единицу, то первый блок данных состоит из заголовка командного APDU (CLA, INS. PI, Р2). за которым следуют один байт со значением '80' и к—5 байтов со значением ’00’.

Криптографическая контрольная сумма должна объединять любой информационный объект, связанный с S.M и имеющий теге битом Ы = 1, и любой информационный объект с тегом, имеющим значение вне диапазона ’80’—’BF’. Эти информационные объекты должны объединяться блок данных за блоком данных в текущем контрольном блоке. Разбивка на блоки данных должна осуществляться по следующим правилам:

-    объединение в блоки должно быть непрерывным на границе между смежными информационными объектами, подлежащими объединению:

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

Незначащая информация состоит из одного обязательного байта со значением ’80\ за которым, если требуется, должны следовать от 0 до А—1 байтов, установленных в '00'. пока соответствующий блок данных не будет заполнен к байтами. Заполнение незначащей информацией для аутентификации не оказывает влияния на передачу, поскольку заполняющие байты не должны передаваться.

Режимом работы является «последовательное блочное шифрование» (см. ГОСТ Р ИСО/МЭК 10116). Первый ввод представляет собой операцию сложения «Исключающее ИЛИ» над исходным контрольным блоком и первым блоком данных. Первый вывод является результатом первого ввода. Текущий ввод представляет собой операцию сложения «Исключающее ИЛИ» над предыдущим выводом и текущим блоком данных. Текущий вывод является результатом текущего ввода. Результирующий контрольный блок является последним выводом.

в) Заключительный этап

Заключительный этап выделяет криптографическую контрольную сумму (первые т байтов, но не менее четырех) из результирующего контрольного блока.

В таблице 20 представлен информационный объект «криптографическая контрольная сумма».

Таблица 20 — Информационный объект «криптографическая контрольная сумма*

То

Значение

'8Е‘

Криптографическая контрольная сумма (не менее четырех байтов)

5.6.3.2 Информационный объект «электронная цифровая подпись*

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

-    электронная цифровая подпись с присоединением,

-    электронная цифровая подпись, обеспечивающая восстановление сообщения.

Вычисление электронной цифровой подписи с присоединением предполагает использование

хэш-функции (см. ИСО/МЭК 10118-1 и ИСО/МЭК 10118-2). Ввод данных либо состоит из значения информационного объекта с данными ввода для выработки электронной цифровой подписи (см. таблицу 21). либо вычисляется согласно механизму, определяемому в 5.6.3.1.

Вычисление электронной цифровой подписи, обеспечивающей восстановление сообщения (см. ИСО/МЭК 9796). не предусматривает использование хэш-функции. Тем не менее в соответствии с потребностями приложения хэш-код может присутствовать как часть восстановленного сообщения, которое само может быть закодировано в структуре BER-TLV.

В таблице 21 представлены информационные объекты, относящиеся к электронной цифровой подписи.

Таблица 21 — Информационные объекты, относящиеся к электронной цифровой подписи

Тег

Значение

*9А\ ‘АС’, ВС •90-

Данные нвола для выработки электронной цифровой полиисн Электронная цифровая подпись

21

Страница 26

ГОСТ Р ИСО/МЭК 7816-4-2004

5.6.4 И н фор м а ци о и и ы е объекты для конфиденциальности

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

-    информационными объектами BER-TLV, включающими в себя объекты, связанные с SM;

-    информационными объектами BER-TLV, не включающими в себя объекты, связанные с SM;

-    данными, не закодированными информационными объектами BER-TLV.

Если незашифрованное значение состоит из данных, не закодированных информационными объектами BER-TLV, заполнение незначащей информацией должно иметь индикацию. Если оно применяется, но индикации нет, то для него действуют правила, определяемые в 5.6.3.1.

В таблице 22 представлены информационные объекты для конфиденциальности.

Каждый такой информационный объект может использовать любой криптографический алгоритм и любой режим работы благодаря соответствующей ссылке на алгоритм (см. 5.6.5.1). При отсутствии такой ссылки и выбранного в неявной форме механизма для конфиденциальности должен применяться механизм, устанавливаемый по умолчанию.

Таблица 22 — Информационные объекты для конфиденциальности

Тег

Знаменне

•82‘, '8У ‘84', 'SS'

Крип rot римма. ее незашифрованное значение, состоящее из:

-    информационных объектов BER-TLV, включающих объекты, связанные с SM

-    информационных объектов BER-TLV, но не связанных с SM

‘86*. ‘87‘

Байт индикатора заполнения незначащей информацией (см. таблицу 23), сопровождаемый криптограммой (незашифрованное значение, не закодированное информационными объектами BER-TLV)

Для вычисления криптограммы, которой предшествует индикатор заполнения незначащей информацией, механизм по умолчанию представляет собой блочное шифрование в режиме «электронный кодовый справочник* (см. ГОСТ Р ИСО/МЭК 10116). Использование блочного шифрования может включать в себя заполнение блоков данных незначащей информацией. Заполнение незначащей информацией для конфиденциальности оказывает влияние на передачу, криптограмма (один или большее число блоков) получается длиннее незашифрованного текста.

В таблице 23 представлен байт индикатора заполнения незначащей информацией.

Для вычисления криптограммы, которой не предшествует байт индикатора заполнения незначащей информацией, механизм по умолчанию представляет собой поточное шифрование вместе с операцией сложения «Исключающее ИЛИ». В этом случае криптограмма является результатом операции сложения «Исключающее ИЛИ*, выполняемой над строкой байтов данных, подлежащих сокрытию, и скрывающей строкой той же длины. Сокрытие, таким образом, не требучгг заполнения незначащей информацией, а информационные объекты, скрытые в поле значения, восстанавливаются при помощи той же операции.

Таблица 23 — Байт индикатора заполнении незначащей информацией

Значение

Смысловое содержание

ш

‘0Г

*02'

От 'SO' до *8Е'

Ист дальнейшей индикации

Заполнение незначащей информацией по 5.6.3.1

Заполнение отсутствует

Оригинальное заполнение

Прочие значения яазяются RFU

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

22

Страница 27

ГОСТ Р ИСО/МЭК 7816-4-2004

-    неявно, т.е. быть известными ло подачи команды:

-    явно, при помощи управляющих ссылок, вложенных в шаблон управляющих ссылок. Каждое командное сообщение может нести шаблон описателя ответа, задающий информационные объекты, требуемые в ответе. Внутри описателя ответа механизмы защиты еше не применяются; принимающая сторона должна применить их для составления ответа.

5.6.5.1 Управляющие ссылки

В таблице 24 представлены шаблоны управляющих ссылок.

Таблица 24 — Шаблоны уираиляюших ссылок

Тег

Смысловое содержание

В4\ ’В5‘ •В6\ 'В7' В8\ *В9‘

Шаблон, действительный для криптографической контрольной суммы Шаблон, действительный для электронной цифровой подписи Шаблон, действительный для конфиденциальности

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

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

Каждый шаблон управляющих ссылок предназначается для переноса информационных объектов. представляющих управляющие ссылки (см. таблицу 25): на алгоритм, файл, ключ, исходные данные; и только в шаблоне управляющих ссылок для конфиденциальности осуществляется перенос еше и ссылки на содержимое криптограммы.

Ссылка на алгоритм указывает алгоритм и режим его работы (см. ИСО/МЭК 9979 и ГОСТ Р ИСО/МЭК 10116). Структуру и кодирование этой ссылки настоящий стандарт не определяет.

Ссылка на файл обозначает тот факт, в котором действительна ссылка на ключ. Если ссылка на файл не представлена, тогда ссылка на ключ действительна в текущем DF.

Ссылка на ключ идентифицирует ключ, подлежащий использованию.

Ссылка на исходные данные, будучи примененной для криптографических контрольных сумм, определяет исходный контрольный блок. Если ссылка на исходные данные не представлена и не выбран неявным образом исходный контрольный блок, то должен использоваться нулевой блок. Кроме того, перед передачей первого информационного объекта для конфиденциальности, использующего поточное шифрование, шаблон для конфиденциальности должен предоставить вспомогательные данные для инициализации вычисления строки скрывающих байтов.

Ссылка на содержимое криптограммы указывает содержание криптограммы (например, секретные ключи, исходный пароль, управляющие слова). Первый байт поля значения представляющего ее информационного объекта называется байтом описателя криптограммы и является обязательным. Диапазон его значений от '00" до ’7F является RFU, а диапазон от ’80' до ’FF’ отведен для собственного использования.

Т а б л и на 25 — Информационные объекты, нредстаатяющие управляющие ссылки

Тег

Значение

•80'

Ссылка на алгоритм

Ссылка на файл:

'8 Г

- идентификатор файла или путь

'82'

- имя DF

Ссылка на ключ:

•83'

- для прямого использования

•84'

- для вычисления сеансового ключа

23

Страница 28

ГОСТ Р ИСО/МЭК 7816-4-2004

Про()о.гжение таблицы 25

Тег

Знаменис

‘85’

*8б'

•В?’

‘88'

От ‘89’ до 'ZD'

Ссылка на исходные данные Исходный контрольный блок:

L = 0, нулевой блок L » 0. связующий блок

L = 0. предыдущий блок с начальным значением плюс один L = к, блок с начальным значением Вспомогательные данные:

L = 0, данные предыдущей задачи, использованной в обмене, плюс один L * 0, нег дальнейшей индикации L = 0, индекс оригинального элемента данных L * 0. значение оригинального элемента данных

’8Е'

Ссылка на содержимое криптограммы

3.6.5.2 Описатель ответа

Шаблон описателя ответа, если он представлен в поле данных командного APDU, должен залапать структуру соответствующего ответа. Пустые информационные объекты должны перечислять псе данные, необходимые для выработки ответа.

Элементы зашиты (алгоритмы, ключи и исходные данные), используемые для обработки поля данных командного сообщения, могут отличаться от элементов зашиты, используемых для выработки поля данных последующего отлетного сообщения.

Должны применяться следующие правила:

-    карта должна заполнять каждый пустой простой информационный объект:

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

-    применяя соответствующие механизмы защиты вместе с выбранными элементами защиты, карта должна осуществлять вывод всех запрашиваемых информационных объектов механизмов защиты.

В таблице 26 представлен шаблон описателя ответа.

Таблица 26 — Шаблон описателя ответа

Тег

Значение

ВЛ\ ВВ'

Описатель отвега

5.6.6 С о сто я п и я после обработки, связанные с SM

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

Если байт SWI = ’69’, а байт SW2 равен:

’87’ — пропадание ожидаемых информационных объектов, связанных с SM;

’88* — информационные объекты, связанные с SM, некорректны.

5.7 Влияние безопасного обмена сообщениями на структу ры ЛРОЬ'-сообшений

Структуры AFDU-сообщений установлены в 5.3. В соответствии с 5.3.1 командный APDU состоит из обязательного заголовка команды из четырех байтов, за которым условно следует тело команды (см. рисунки 3 и 4); декодирование тела команды установлено в 5.3.2 (см. рисунок 5 и

Страница 29

ГОСТ Р ИСО/МЭК 7816-4-2004

таблицу 5). В соответствии с 5.3.3 ответный APDU состоит из условного тела ответа, за которым следует обязательный завершитель ответа из двух байтов (см. рисунок 6). На рисунке 8 представлены структуры АРDU -сообщеннй.

Заголовок команды    Тело    команды

CLA INS PI Р2 (четыре байта)

[Поле LJ [Поле данных) | Поле Lc| (L байгов. обозначаемых В, .. В, i

Тело ответа

Завершитель отвега

[Поле данных|

SW1 SVV2

(L, байгов данных)

(два байта)

Рисунок 8 — Структуры A PDU-сообщений

Раздел 6 устанавливает APDU-команды и APDU-ответы для основных межотраслевых команд. Раздел 7 устанавливает APDU-команды и APDU-ответы для межотраслевых команд, ориентированных на передачу данных. Разделы 6 и 7 не описывают влияние безопасного обмена сообщениями (см. 5.6) на структуры APDU-сообщений. Поэтому семантические значения нолей длины и полей данных в разделах 6 и 7 кажутся противоречащими их синтаксическим значениям в 5.3.

Настоящий подраздел определяет влияние безопасного обмена сообщениями, установленного в 5.6. на структуры APDU-сообщений, установленные в 5.3, с тем чтобы избежать вышеупомянутого возможного неправильного понимания.

Для обеспечения защиты APDU-команды, где байт CLA имеет определенное значение, соответствующее таблице 9, а именно 'OX', '8Х\ ’9Х’ или 'АХ', бит Ь4 в байте CLA должен быть установлен в единицу, что обозначено CLA* на рисунке 9 и в приложении Е; если тело команды присутствует, оно должно быть декодируемым в соответствии с 5.3.2 и инкапсулировано следующим образом.

При наличии поля данных перенос L. байтов данных должен осуществляться:

-    либо посредством информационного объекта с незашифрованным значением (тег равен '80\ *8 Г, ’В2\ ’В3\ см. таблицу 19);

-    либо посредством информационного объекта для конфиденциальности (тег со значением от ’Х4' до ’87’, см. таблицу 22).

При наличии поля перенос значения Lc должен осуществляться посредством информационного объекта, предста&чяющего L. (тег равен '96' или '97'. см. таблицу 19); его поле значения кодирует положительное целое число без знака в одном или двух байтах; нулевое значение и пустой информационный объект означают максимум.

Аналогично ответный APDU должен быть инкапсулирован следующим образом.

При наличии поля данных перенос L, байтов данных должен осушестатяться:

-    либо посредством информационного объекта с незашифрованным значением (тег равен ’80', ’81% ’В2\ 'В3\ см. таблицу 19);

-    либо посредством информационного объекта для конфиденциальности (тег со значением от Х4' до ’87’, см. таблицу 22).

При необходимости перенос завершителя ответа должен осуществляться посредством информационного объекта, представляющего информацию о состоянии (тег равен ’99’, см. таблицу 19); пустой информационный объект означает, что последовательность байтов SW1— SW2 = '9000'.

На рисунке 9 представлены структуры защищенных APDU-сообщений, при этом:

-    каждое новое поле данных может нести дополнительные информационные объекты, связанные с SM. например в конце - криптографическую контрольную сумму (тег равен ’8Е’). В приложении Е приведены примеры для иллюстрации;

-    новое поле L. дает длину нового поля данных защищенного командного APDU;

-    новое поле Le должно быть пустым, если не ожидается поле данных в защищенном ответном APDU: в противном случае оно должно содержать только нули;

-    новый завершитель ответа кодирует состояние принимающей стороны после обработки защищенной команды. Для защиты он может быть инкапсулирован.

25

Страница 30

ГОСТ Р ИСО/МЭК 7816-4-2004

Заголовок команды    Тело    команды

CLA» INS PI Р2 (четыре байта)

| Новое поле Lc|

{ | Новое поле данных] т |Т Ц Байты данных| [Т '0Г или '02' LJ } | Новое ноле Lc|

Тело ответа

Завершитель ответа

(Новое ноле ланных| “

Новые SWI SW2

|Т L, Байты данных) |Т '02' Новые SWI SW2]

(два байта)

Примечания

1    Длина от 1 до 127 кодируется в поле длины информационных объектов BER-TLV также как в нолях длины APDU-сообщений. Для длины 128 и более способы кодирования различаются.

2    Как указано выше, в новых полях данных могут быть представлены дополнительные (дальнейшие) или другие информационные объекты, связанные с S.V1.

3    При безопасном обмене сообщениями не всегда выявляется, имеют ли данные, подлежащие защите, структуру BER-TLV. В таких случаях рекомендуются теги '80', '8!'86' и '87'.

Рисунок 9 — Структуры защищенных APDU-сообщений

6 Основные межотраслевые команды

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

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

В таблице 11 представлен полный перечень команд, определяемых в настоящем стандарте.

Настоящий раздел не предусматривает описаний влияния безопасного обмена сообщениями (см. 5.6) на структуры сообщений.

Перечни состояний ошибки и состояний предупреждения, приводимые в пятом пункте каждого подраздела настоящего раздела не являются исчерпывающими (см. 5.4.5).

6.1 Команда СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

6.1.(Определение и область применения

Ответное сообщение команды СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ передает содержимое (его часть) файла EF с прозрачной структурой.

6.1.2    Условия использования и зашиты

Если команда содержит разрешенный короткий идентификатор EF. она устанавливает указываемый файл в качестве текущего EF.

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

Команда должна прерываться в том случае, если она применяется к EF без прозрачной структуры.

6.1.3    К о м а н д н о е сообщение

Командный APDU команды СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ представлен в таблице 27.

Таблица 27 - Командный APDU команды СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

CLA

Как определено в 5.4.1

INS

'ВО-

PI, Р2

См. текст ниже

llttie L.

С

Пустое

Поле данных

«

Поле Lc

Число байтов, подлежащих считыванию

26

Страница 31

ГОСТ Р ИСО/МЭК 7816-4-2004

Если бит Ь8= I в байте PI, то биты Ь7 и Ь6 байга PI устанавливаются в ноль (биты RFU). биты Ь5—Ы байта PI являются коротким идентификатором EF. а байт Р2 представляет собой смешение первого байта, подлежащего считыванию, в единицах данных от начала файла.

Если бит Ь8=0 в байте Р1, то сцепление байтов PI || Р2 представляет собой смещение первого байта, подлежащего считыванию, в единицах данных от начала файла.

6.1.4 Ответное сообщение (номинальный случай)

Если поле Lt содержит только нули, то в пределах максимума 256 (для короткого поля) или 65536 (для расширенного поля) все байты до конца файла должны быть считаны.

Ответный APDU команды СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ представлен в таблице 28.

Таблица 28- Ответный APDU команды СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

Паче данных

Считанные данные (L.c бантов)

SWI, SW2

Байты состояния

6.1.5 С о с т о я н и я после обработки

Могут возникать следующие специфические состояния предупреждения.

Если байт SWI = '62', а байт SNV2 равен:

'81’ — часть выдаваемых данных может быть искажена;

‘82’ — конец файла достигнут до считывания Lc байтов.

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = '67’, а байт SW2 равен:

‘00’ — неверно указанная длина (несоответствующее поле Lf).

Если байт SW1 = '69’ , а байт SW2 равен:

'8 Г — команда несовместима со структурой файла; г82’ — состояние зашиты неудовлетворительное;

‘86’ — команда невозможна (нет текущего EF).

Если байт SW1 = ’6А\ а байт SW2 равен:

"8 Г — функция не поддерживается; г82' — файл не найден.

Если байт SW1 = '6В\ а байт SW2 равен:

ЧХ)’ — неверно указанные параметры (смешение выходит за пределы EF).

Если байт SW1 = '6С\ а байт SW2 равен:

’XX’ — неверно указанная длина (несоответствующее поле L,.; 'XX' указывает точную длину).

6.2    Команда ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ

6.2.(Определение и область применения

Командное сообщение команды ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ инициирует запись двоичных значений в EF.

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

-    логического сложения «ИЛИ* над битами, уже присутствующими в карте, и битами, передаваемыми в командном APDU (логическое состояние битов файла после стирания представлено нулем):

-    логического умножения *И* над битами, уже присутствующими в карте, и битами, передаваемые в командном APDU (логическое состояние битов файла после стирания представлено единицей);

-    однократную запись в карту битов, передаваемых в командном APDU.

Если индикация не дается в байте кодирования данных (см. таблицу 86), должен применяться режим логического сложения «ИЛИ*.

6.2.2    Условия использования и защиты

Если команда содержит разрешенный короткий идентификатор EF, она устанавливает указываемый файл в состояние текущего EF.

Обработка команды осуществляется в выбранном в текущий момент EF. Команда может быть выполнена только в том случае, если состояние зашиты удовлетворяет атрибутам секретности для функций записи.

Если команда ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ однажды уже была применена к единице данных файла EF, допускающего только однократную запись, то любая последующая операция записи, обращающаяся к этой же единице данных, прерывается, если содержание этой единицы

27

Страница 32

ГОСТ Р ИСО/МЭК 7816-4-2004

данных или присоединенный к ней индикатор логического состояния после стирания (если он применяется) отличается от самого логического состояния после стирания.

Команда должна прерываться в том случае, если она применяется к EF без прозрачной структуры.

6.2.3 Командное сообщение

Командный APDU команды ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ представлен в таблице 29.

Таблица 29 - Командный APDU команды ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ

CLA

Как определено в 5.4.1

INS

'DO*

PI. Р2

См. текст ниже

Поле Lc

Длина последующего поля данных

Поле данных

Строка единиц данных, подлежащих записи

Паче Lc

Пустое

Если бит Ь8=1 в байте PI. то биты Ь7 и Ь6 байта Р1 устанавливаются в ноль (биты RFU). биты Ь5~Ы байта PI являются коротким идентификатором EF, а байт Р2 представляет собой смешение первого байта, подлежащего записи, в единицах данных от начала файла.

Если бит Ь8=0 в байте Р1, то сцепление байтов PI || Р2 представляет собой смещение первого байта, подлежащего записи, в единицах данных от начала файла.

6.2.4 Ответное сообщение (номинальный случай)

Ответный APDU команды ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ представлен в таблице 30.

Табл и ца 30- Огветаый APDU команды ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ

Поле данных

Ilvcroc

SWI. SW2

Байты состояния

6.2.5 Состоя и и я после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = ’63’, а байт SW2 равен:

’СХ' — счетчик (успешная запись, по после использования внутренней программы повторений: 'X' * 0' указывает число повторных попыток; "X' = ’0' означает, что счетчик не предусмотрен). Мот возникать следующие специфические состояния ошибки.

Если байт SW1 = "65% а байт SW2 равен:

’8Г — отказ памяти (безуспешная запись).

Если байт SW1 * '67’, а байт SW2 равен:

'(К)' — неверно указанная длина (несоответствующее поле L*).

Если байт SW1 = ’69’, а байт SW2 равен:

’8 Г - команда несовместима со структурой файла;

’82’ — состояние зашиты неудовлетворительное;

’86’ — команда невозможна (нет текущего EF).

Если байт SW1 = Ч»А\ а байт SW2 равен:

’81’ — функция не поддерживается;

'82' — файл не найден.

Если байт SWI = ’6В\ а байт SW2 равен:

’00' — неверно указанные параметры (смещение выходит за пределы EF).

6.3 Команда ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

6.3.1    Определение и область применения

Командное сообщение команды ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ инициирует обновление битов, уже присутствующих в карте, битами, передаваемыми в командном APDU.

6.3.2    Условия использования и зашиты

Если команда содержит разрешенный короткий идентификатор EF. она устанавливает указываемый файл в состояние текущего EF.

Обработка команды осуществляется в выбранном в текущий момент EF. Команда может быть

28

Страница 33

ГОСТ Р ИСО/МЭК 7816-4-2004

выполнена только в том случае, если состояние зашиты удовлетворяет атрибутам секретности для функции обновления.

Команда должна прерываться в гом случае, если она применяется к EF без прозрачной структуры.

6.3.3 Командное сообщен ие

Командный APDU команды ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ представлен в таблице 31.

Таблица 31 - Командный APDU команды ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

CLA

Как определено в 5.4.1

INS

•D6*

PI. Р2

См. текст ниже

Поле Lt

Длина последующего ноля данных

Пале данных

Строка единиц данных для обновления

Поле Lc

Пустое

Если бит Ь8=1 в байте Р1, то биты Ь7 и Ь6 байта Р1 устанавливаются в ноль (биты RFU). биты Ь5—Ы байта Р1 являются коротким пластификатором EF, а байт Р2 представляет собой смешение первого байта, подлежащего обновлению, в единицах данных от начала файла.

Если бит Ь8=0 в байте Р1, то сцепление байтов PI || Р2 подставляет собой смешение первого байта, подлежащего обновлению, в единицах данных от начала файла.

6.3.4 От вет н ое сообщение (номинальный случай)

Ответный APDU команды ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ представлен в таблице 32.

Т а б л и на 32 - Огвсгный APDU команды ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

Паче данных

Пустое

SWI, SW2

Байты состояния

6.3.5 Состояния после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SNVI = ’63’, а байт SVV2 равен:

*СХ’ — счетчик (успешное обновление, но после использования внутренней программы повторений; ’X’ * ’0' указывает число повторных попыток; 'X' = '0' означает, что счетчик не предусмотрен).

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = '65’, а байт SW2 равен:

’8Г — отказ памяти (безуспешное обиоачение).

Если байт SWI " ”67', а байт SW2 равен:

‘(И)” — неверно указанная длина (несоответствующее поле LJ.

Если байт SW1 = ’69’, а байт SW2 равен:

*8 Г — команда несовместима со структурой файла;

?82' — состояние зашиты неудовлетворительное;

‘86’ — команда невозможна (нет текущего EF).

Если байт SW1 = '6Л\ а байт SW2 равен:

*81’ — функция не поддерживается;

*82' — файл не найден.

Если байт SW1 = '6В\ а байт SW2 равен:

’00' — неверно указанные параметры (смешение выходит за пределы EF).

6.4 Команда ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

6.4.1 Определение и область применения

Командное сообщение команды ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ устанавливает содержимое (его часть) файла EF в его логическое состояние после стирания последовательно, начиная с заданного смешения.

29

Страница 34

ГОСТ Р ИСО/МЭК 7816-4-2004

6.4.2    Условия и с п о л ь зо па и и я и зашиты

Если команда содержит разрешенный короткий идентификатор EF. она устанавливает указываемый файл в состояние текушего EF.

Обработка команды осуществляется в выбранном в текущий момент EF. Команда может быть выполнена только в том случае, если состояние защиты удоапетворяет атрибутам секретности для функции стирания.

Команда должна прерываться в том случае, если она применяется к EF без прозрачной структуры.

6.4.3    Командное сообщение

Командный APDU команды ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ предстаачен в таблице 33.

Т а 6 л н и а 33 - Командный APDU команды ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

CLA

Как определено в 5.4.1

INS

Ч)Е’

PI. Р2

См. текст ниже

Поле Lc

Пустое или '02*

Поле данных

См. текст ниже

Папе L.

Пустое

Если бит Ь8= 1 в байте PI. то биты Ь7 и Ь6 байта PI устанааливаются в ноль (биты RFU), биты Ь5—Ы байта Р1 являются коротким идентификатором EF, а байт Р2 представляет собой смещение первого байта, подлежащего стиранию, в единицах данных от начала файла.

Если бит Ь8=0 в байте PI, то сцепление байтов Р1 Ц Р2 представляет собой смешение первого байта, подлежащего стиранию, в единицах данных от начала файла.

Если поле данных представлено, оно кодирует смешение первой единицы данных, не подлежащей стиранию. Это смещение должно превышать смешение, закодированное в байтах PI. Р2. Если пате данных является пустым, команда стирает файл до конца.

6.4.4 Ответное сообщение (номинальный случай)

Ответный APDU команды ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ предстаален в таблице 34.

Таблица 34 - Отвсгный APDU команды ИСКЛЮЧИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

Поле данных

Пустое

SWI. SW2

ЬлГпы состояния

6.4.5 С о сто я п и я после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = ’63*. а байт SW2 равен:

’СХ’ — счетчик (успешное стирание, но после использования внутренней программы повторений: 'X' * ’0’ указывает число повторных попыток; X’ = ’0’ означает, что счетчик не предусмотрен).

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = '65\ а байт SW2 равен:

'8 Г — отказ памяти (безуспешное стирание).

Если байт SW1 " '67’, а байт SW2 равен:

W — неверно указанная длина (несоответствующее поле LJ.

Если байт SW1 = ’69', а байт SW2 равен:

’81’ — команда несовместима со структурой файла:

’82‘ — состояние зашиты неудовлетворительное;

’86' — команда невозможна (нет текушего EF).

Если байт SWI = '6А\ а байт SW2 равен:

’8 Г — функция не поддерживается;

’82' — файл не найден.

Если байт SW1 = '6В\ а байт SW2 равен:

’00* — неверно указанные параметры (смешение выходит за пределы EF).

30

Страница 35

ГОСТ Р ИСО/МЭК 7816-4-2004

6.5 Команда СЧИТАТЬ ЗАГ1ИСЬ(И)

6.5.1    Определение и область применения

Ответное сообщение команды СЧИТАТЬ ЗЛПИСЬ(И) перелает содержимое указанной(ых) записи (ей) (или начальной части одной записи) файла EF.

6.5.2    Условия использования и защиты

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

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

Если команда содержит разрешенный короткий идентификатор EF, она устанавливает указываемый файл в состояние текущего EF, а указатель текущей записи — в исходное положение.

Команда должна прерываться в том случае, если она применяется к EF без структуры из записей.

6.5.3    Командное сообщение

Командный APDU команды СЧИТАТЬ ЗАПИСЬ(И) представлен в таблице 35.

Таблица 35 — Командный APDU команды СЧИТАТЬ ЗАПИСЬ(И)

CLA

Как определено в 5.4.1

INS

*В2*

PI

Номер или идентификатор первой подлежащей считыванию записи С00' указывает текущую запись)

Р2

Управление ссылками в соответствии с таблицей 36

Поле Lt

Пустое

Лоле данных

*

Поле Lr

Число байтов, подлежащих считыванию

Таблица 36 — Кодирование байта упраатения ссылками Р2

ьх

Ь7

Ь6

Ь5

Ь4

ьэ

Ь2

ы

Смысловое содержание

0

0

0

0

0

-

Выбираемый в текущий момент EF

X

X

X

(

X

нс все

X

равны

)

Короткий идентификатор EF

1

1

1

1

1

FRU

1

X

X

Использование номера записи в байте PI:

1

0

0

- считывание записи с номером в байге Р!

1

0

1

- считывание всех записей, начиная с записи с номером в байге PI и заканчивая последней

1

1

0

- считывание всех записей, начиная с последней и заканчивая записью с номером в байте PI

1

1

1

RFU

0

X

X

Использование идентификатора записи в байте Р1:

0

0

0

- считывание первого вхождения

0

0

1

- считывание последнего вхождения

0

0

1

1

0

1

-    считывание следующего вхождения

-    считывание предыдущего вхождения

6.5.4 Ответное сообщение (номинальный случай)

Если поле Lc содержит только нули, то в зависимости от последовательности битов ЬЗЬ2Ы в байте Р2 и в пределах максимума 256 (для короткого поля) или 65536 (для расширенного поля) команда должна обеспечивать полное считывание:

-    либо одной запрашиваемой записи;

-    либо запрашиваемой последовательности записей.

31

Страница 36

ГОСТ Р ИСО/МЭК 7816-4-2004

Ответный APDU команды СЧИТАТЬ ЗАПИСЬ(И) представлен в таблице 37.

Таблица 37 — Ответный APDU команды СЧИТАТЬ ЗАПИСЬ(И)

Поле данных

Lf байтов (L, может быть равно Ц). см. таблицы 38-1 и 38-2

SVVI, SW2

Байты состояния

Если записи являются информационными объектами SIMPLE-TLV (см. 5.4.4). то для этого случая в таблицах 38-1 и 38-2 для наглядности представлен формат поля данных ответного сообщения.

Таблица 38-1 — Пате данных ответа в случае считывания одной записи Случай а). Частичное считывание одной записи

т„

*-п

(одни him три байте)

Первые бейты да «вс ее™см

L, байтов

Этот случай применим, когда поле Lc содержит не только нули.

Случай б). Полное считывание одной записи

Т„

1-п

Все байты данных записи

(один байт)

(один или три байта)

(L„ байтов)

Этот случай применим, когда поле L. содержит одни нули.

Т а б л и и а 38-2 — Поле данных ответа в случае считывания нескольких записей Случай в). Частичное считывание последовательности записей

Запись#п

■ а ■

Первые Вейты аеписи V п+гп

Т„ II Ц, II v„

ааа

T|»*in II Lft+m II Чжп

L„ байтов

Этот случай применим, когда поле L. содержит не только нули.

Случай г). Считывание многочисленных записей до конца файла

Эетсь#п

3onKb#rt+m

Т„ II Ц, II V„

...

II Ц|*П II Хня

Этот случай применим, когда поле L содержит одни нули.

Сравнение длины поля данных с его структурой TLV показывает характер данных: единственная (считывание одной записи) или последняя (считывание всех записей) запись является неполной, полной или дополненной незначащей информацией.

11 р и м с ч а н и с — Если не используется кодирование в структуре TLV, то результатом функции считывания всех записей будет получение нескольких записей без их стандартного разграничения.

6.5.5 Состояния после обработки

Могут возникать следующие специфические состояния предупреждения.

Если байт SW1 = ”62’, а байт SW2 равен:

'8Г — часть выдаваемых данных может быть искажена;

’82’ — конец записи достигнут до считывания Lc байтов.

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = ’67’, а байт SW2 равен:

’00‘ — неверно указанная длина (пустое поле L J.

Если байт SW1 = '69* , а байт SW2 равен:

’8 Г — команда несовместима со структурой файла;

’82’ — состояние зашиты неудовлетворительное.

Если байт SW1 = *6А\ а байт SW2 равен:

’8 Г — функция не поддерживается:

32

Страница 37

ГОСТ Р ИСО/МЭК 7816-4-2004

’82’ - файл не найдем;

’83’ — запись не найдена.

Если байт SWI = ’6С\ а байт SW2 равен:

'XX' — неверно указанная длина (несоответствующее поле L.; ХХ‘ указывает точную длину).

6.6 Команда ВВЕСТИ ЗАПИСЬ

6.6.1    Определение и область применения

Командное сообщение команды ВВЕСТИ ЗАПИСЬ инициирует одну из следующих операций:

-    однократную запись передаваемых данных (в виде записи);

-    операцию логического сложения «ИЛИ* над байтами данных записи, уже присутствующей в карте, и байтами данных записи, передаваемой в командном APDU;

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

Если индикация не дается в байте кодирования данных (см. таблицу 86), должна применяться операция логического сложения «ИЛИ».

При использовании адресации текущей записи команда должна устанавливать указатель записи на успешно записанную запись.

6.6.2    Условия использования и зашиты

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

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

Если команда содержит разрешенный короткий идентификатор EF, она устанавливает указываемый файл в состояние текущего EF, а указатель текущей записи — в исходное положение.

Команда должна прерываться в том случае, если она применяется к EF без структуры из записей.

Опиия команды «предыдущая» (Р2 = хххххОП), примененная к циклическому файлу, ведет себя также, как команда ПРИСОЕДИНИТЬ ЗАПИСЬ.

6.6.3    Командное сообщение

Командный APDU команды ВВЕСТИ ЗАПИСЬ представлен в табтице 39.

Таблица 39 — Командный APDU команды ВВЕСТИ ЗАПИСЬ

CLA

Как определено в 5.4.1

INS

•D2’

PI

PI = *00' обозначает текущую запись.

PI * '00' — номер указываемой записи

Р2

См. таблицу 40

Поле Ц

Длина последующего поля данных

Пале данных

Запись, подлежащая операции записи

Поле L„

Пустое

Т а б л и и а 40 — Кодирование байга управления ссылками Р2

ь»

Ь7

Ь6

Ь5

Ь4

ьз

Ь2

Ы

Смисдовос содержание

0

0

0

0

0

-

Выбираемый в текущий момент EF

X

X

X

X

X

-

Короткий идентификатор EF

(не все равны

0

0

0

Первая запись

0

0

1

Последняя запись

0

1

0

Следующая запись

0

1

1

Предыдущая запись

1

0

0

Номер записи дан кбайте PI

Любое другое значение

RFU

33

Страница 38

ГОСТ Р ИСО/МЭК 7816-4-2004

Если записи являются информационными объектами SIMPLE-TLV (см. 5.4.4). го для этого случая в таблице 41 для наглядности представлен формат поля данных командного сообщения.

Таблица 41 — Поле данных команды

Полная запись одной записи

Т„

Lft

Все байты данных записи

(один байт)

(один или три байта)

<Ln байтов)

6.6.4 Ответное сообщение (номинальный случай) Ответный APDU команды ВВЕСТИ ЗАПИСЬ представлен в таблице 42.

Таблица 42— Ответный APDU команды ВВЕСТИ ЗАПИСЬ

Поле данных

Пустое

SWI. SW2

Вайты состояния

6.6.5 Состоя н ия после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SWI = ‘63’, а байт SW2 равен:

’СХ' — счетчик (успешная запись, но после использования внутренней программы повторений; Х‘ < '0* указывает число повторных попыток; 'X' = ’0' означает, что счетчик не предусмотрен). Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = ’65’, а байт SW2 равен:

’8 Г — отказ памяти (безуспешная запись).

Если байт SWI = ’67’. а байт SW2 равен:

’00* — неверно указанная длина (пустое поле LJ.

Если байт SW1 = '69', а байт SW2 равен:

’8 Г — команда несовместима со структурой файла;

’82’ — состояние зашиты неудовлетворительное;

’86* - команда невозможна (нет текущего EF).

Если байт SW1 = *6А\ а байт SW2 равен:

’8 Г — функция не поддерживается;

’82' — файл не найден;

’83' — запись не найдена;

’84’ — область памяти в файле недостаточна;

’85’ — Lt не согласуется со структурой TLV.

6.7 Команда ПРИСОЕДИНИТЬ ЗАПИСЬ

6.7.1    О п ре де л е н и е и область применения

Командное сообщение команды ПРИСОЕДИНИТЬ ЗАПИСЬ инициирует либо присоединение записи в конце ЕЕ с линейной структурой, либо запись данных (в виде записи с номером 1) в EF с циклической структурой (см. 5.1.4).

Команда должна устанавливать указатель записи на успешно присоединенную запись.

6.7.2    Условия использования и зашиты

Команда может быть выполнена только в том случае, если состояние зашиты удовлетворяет атрибутам секретности данного ЕЕ для функции присоединения.

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

Если команда содержит разрешенный короткий идентификатор EF, она устанавливает указываемый файл в состояние текущего EF. а указатель текущей записи — в исходное положение.

Команда должна прерываться в том случае, если она применяется к EF без структуры из записей.

Примечание — Если данная команда применяется к файлу EF с циклической структурой, заполненному записями., то запись с наибольшим номером заменяется и становится записью номер 1.

6.7.3    Командное сообщение

Командный APDU команды присоединить ЗАПИСЬ представлен в таблице 43.

Страница 39

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 43 — Командный APDU команды ПРИСОЕДИНИТЬ ЗАПИСЬ

CLA

Как определено в 5.4.1

INS

Е2‘

Р1

Действителен только байт Р1 *»• ’00'

Р2

См. таблицу 44

Поле Lc

Длина последующего поля данных

Поле данных

Запись, подлежащая присоединению

Поле L,

Пустое

Таблица 44 — Кодирование байга управления ссылками Р2

Ь8

Ь7

Ь6

bS

м

ы

Ь2

ы

Смысловое содержание

0

0

0

0

0

0

0

0

Выбираемый в текущий момент EF

X

X

X

X

X

U

0

0

Короткий идентификатор EF

(не все равны)

Любое другое значение

RFU

Если записи яапяются информационными объектами SIMPLE-TLV (см. 5.4.4), то для этого случая в таблице 45 для наглядности представлен формат поля данных командного сообщения.

Таблица 45 — Поле данных команды

Полное присоединение одной записи

тп

К

Все байты данных записи

(один байт)

(один или три байта)

(Ln байтов)

6.7.4 Ответное сообщение (номинальный случай)

Ответный APDU команды ПРИСОЕДИНИТЬ ЗАПИСЬ представлен в таблице 46.

Т а б л и на 46 — Ответный APDU команды ПРИСОЕДИНИТЬ ЗАПИСЬ

Поле данных

Пустое

SWI, SW2

Ьайты состояния

6.7.5 Состояния после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = '63’, а байт SW2 равен:

‘СХ' — счетчик (успешное присоединение записи, но после использования внутренней программы повторений; 'X' * 0’ указывает число повторных попыток; 'X' = *0’ означает, что счетчик не предусмотрен).

Могут возникать следующие специфические состояния ошибки.

Если байт SWI = ’65', а байт SW2 равен:

’81“ — отказ памяти (безуспешное присоединение записи).

Если байт SW1 * '67', а байт SW2 равен:

’00’ — неверно указанная длина (пустое поле Ц.).

Если байт SWI = '69', а байт SW2 равен:

‘8Р — команда несовместима со структурой файла;

’82’ — состояние зашиты неудовлетворительное;

‘86’ — команда невозможна (нет текущего EF).

Если байт SWI = Ч*А\ а байт SW2 равен:

*81' — функция не поддерживается:

'82' — файл не найден:

’84' — область памяти в файле недостаточна;

!85’ — Lc не согласуется со структурой TLV.

35

Страница 40

ГОСТ Р ИСО/МЭК 7816-4-2004

6.8 Команда ОБНОВИТЬ ЗАПИСЬ

6.8.(Определение и область применения

Командное сообщение команды ОБНОВИТЬ ЗАПИСЬ инициирует обновление конкретной записи битами, передаваемыми в командном APDU.

При использовании адресации текущей записи команда должна устанавливать указатель записи на успешно обновленную запись.

6.8.2    У с л о и и я использования и зашиты

Команда может быть выполнена только в том случае, если состояние зашиты удовлетворяет атрибутам секретности данного EF для функции обновления.

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

Если команда содержит разрешенный короткий идентификатор EF. она устанавливает указываемый файл в состояние текущего EF. а указатель текущей записи — в исходное положение.

Команда должна прерываться в том случае, если она применяется к EF без структуры из записей.

Если команда применяется к EF с линейной фиксированной или циклической структурой, то она должна прерываться в том случае, если длина передаваемой записи отличается от длины существующей записи.

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

Опция команды «предыдущая» (Р2 = хххххОИ), примененная к циклическому файлу, ведет себя также, как команда ПРИСОЕДИНИТЬ ЗАПИСЬ.

6.8.3    Командное сообщение

Командный APDU команды ОБНОВИТЬ ЗАПИСЬ представлен в таблице 47.

Таблица 47 — Командный APDU команды ОБНОВИТЬ ЗАПИСЬ

CLA

Как определено в 5.4.1

INS

‘DC’

PI

Р1 = ’00* обозначает текущую запись.

PI * '00' — номер указываемой записи

Р2

См. таблицу 48

Паче Ц.

Длина последующего поля данных

Поле данных

Запись для обновления

Паче L,

Пусгос

Т а 6 л и ца 48 — Кодирование байта управления ссылками Р2

bS

Ь7

Ь6

Ь5

Ь4

ьз

Ь2

ы

С числовое сил ержаннс

0

0

и

0

0

-

Выбираемый в текущий момент EF

X

X

X

X

X

-

Корозхий идентификатор ЕР

(не все равны)

0

0

и

Первая запись

0

0

1

Последняя запись

0

1

0

Следующая запись

0

1

1

Предыдущая запись

1

0

0

Помер записи дан в байте PI

Любое другое значение

RFU

Если записи являются информационными объектами S1MPLE-TLV (см. 5.4.4). то для этого случая в таблице 49 для наглядности представлен формат поля данных командного сообщения.

36

Страница 41

ГОСТ Р ИСО/МЭК 7816-4-2004

Т а б л и и а 49 — Паче данных команды

Полное обновление одной записи

Т„

К

Все байты данных записи

(один байт)

(один или три байта)

(L0 байтов)

6.8.4 Ответное сообщение (номинальный случай) Ответный APDU команды ОБНОВИТЬ ЗАПИСЬ представлен в таблице 50.

Таблица 50 — Ответный APDU команды ОБНОВИТЬ ЗАПИСЬ

Поле данных

Пустое

SWI, SW2

Байты состояния

6.8.5 Состояния после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = ’63% а байт SW2 равен:

*СХ’ — счетчик (успешное обновление, но после использования внутренней программы повторений; 'X' * '0‘ указывает число повторных попыток; 'X' = ’0’ означает, что счетчик не предусмотрен).

Могут возникать следующие специфические состояния ошибки.

Если байт SWI = '65', а байт SW2 равен:

'81' — отказ памяти (безуспешное обновление).

Если байт SW1 ‘ '67'. а байт SW2 равен:

‘00’ — неверно указанная длина (пустое пате L,.).

Если байт SNVI = '69', а байт SW2 равен:

*8 Г — команда несовместима со структурой файла;

'82' — состояние защиты неудовлетворительное;

’86’ — команда невозможна (нет текущего EF).

Если байт SW1 = '6Л\ а байт SNV2 равен:

'81' — функция не поддерживается;

*82' — файл не найден;

'83' — запись не найдена;

’84’ — область памяти в файле недостаточна;

!85’ — Lv не согласуется со структурой TLV.

6.9 Команда ИЗВЛЕЧЬ ДАННЫЕ

6.9.1    О п ре дел е ни е и область применения

Команда ИЗВЛЕЧЬ ДАННЫЕ применяется для поиска одного простого информационного объекта либо одного или большего числа информационных объектов, входящих в составной информационный объект, в пределах текущего контекста (например, среды, связанной с конкретным приложением, или текущего DF).

6.9.2    Условия использования и зашиты

Команда может быть выполнена только в том случае, если состояние защиты удовлетворяет условиям секретности, определяемым приложением в пределах контекста для функции.

6.9.3    Командное сообщение

Командный APDU команды ИЗВЛЕЧЬ ДАННЫЕ представлен в таблице 51.

Таблица 51 — Командный APDU команды ИЗВЛЕЧЬ ДАННЫЕ

CLA

Как определено в 5.4.1

INS

•СА’

PI, Р2

См. таблицу 52

Поле Lf

Пустое

Паче данных

«

Ilaic Lc

Число байтов, ожидаемых в ответе

37

Страница 42

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 52 — Кодирование последовательности параметров PI —Р2

Значение

Смыслоиос содержание

Or ’ОООО1 до 003F*

RFU

От '0040' до -OOFF1

Тег (один байт) информационного объекта BER-TLV в байте Р2

От 4)100- до ’01FF-

Данные приложения (оригинальное кодирование)

От '0200' до '02FF'

Тег информационного обьекта SIMPLE-TLV в байте Р2

От *0300* до '3FFF'

RFU

Or ’4000’ до ‘FFFF

Тег (два байта) информационного объекта BER-TLV в байтах PI, Р2

а)    Извлечение данных приложения

Если значение последовательности байтов Р1—Р2 находится в диапазоне от '0100' до ’01FF, то оно должно являться идентификатором, зарезервированным для внутренних проверок, осуществляемых картон, и оригинальных услуг, значимых в пределах данного контекста приложения.

б)    Извлечение информационных объектов

Если значение последовательности байтов Р1 — Р2 находится в диапазоне от '0040' до ’00FF’, то значение байта Р2 должно являться тегом информационного объекта BER-TLV, состоящим из одного байта. Значение '00FF’ зарезервировано для получения всех общих информационных объектов BER-TLV. читаемых в контексте.

Если значение последовательности байтов PI—Р2 находится в диапазоне от '0200' до ’02FF\ то значение байта Р2 должно являться тегом информационного объекта SIMPLE-TLV. Значение 4)200' является RFU. Значение ’02FF зарезервировано для получения всех общих информационных обьектов SIMPLE-TLV, читаемых в контексте.

Если значение последовательности байтов Р1 — Р2 находится в диапазоне от '4000' до FFFF', то оно должно являться тегом информационного обьекта BER-TLV. состоящим из двух байтов. Значения '4000' и ‘FFFF являются RFU.

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

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

6.9.4 Ответное сообщение (номинальный с л у ч а й)

Если поле Ц. содержит только нули, то в пределах максимума 256 (для короткого поля) или 65536 (для расширенного поля) вся запрашиваемая информация должна быть выдана.

Ответный APDU команды ИЗВЛЕЧЬ ДАННЫЕ представлен в таблице 53.

Таблица 53 — Ответный APDU команды ИЗВЛЕЧЬ ДАННЫЕ

Поле данных

L, байтов (L, может быть равно Ц)

SWI, SW2

БаГпы состояния

6.9.5 Состояния после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = ’62', а байт SW2 равен:

'8 Г — часть выдаваемых данных может быть искажена.

Могут возникать следующие специфические состояния ошибки.

Если байт SWI = ”67’, а байт SW2 равен:

'00' - неверно указанная длина (пустое пате L,.).

Если байт SW1 = ’69' , а байт SW2 равен:

’82' — состояние зашиты неудоатетворительное:

’85' — условия использования не удовлетворены.

Если байт SWI = ’6А', а байт SW2 равен:

’8Г — функция не поддерживается;

'88' — ссылочные данные (информационные объекты) не найдены.

Если байт SWI = '6С\ а байт SW2 равен:

'XX' — неверно указанная длина (несоответствующее поле Lc; ’XX’ указывает точную длину).

38

Страница 43

ГОСТ Р ИСО/МЭК 7816-4-2004

6.10 Команда ПОМЕСТИТЬ ДАННЫЕ

6.10.1    О п редел е к не и область применения

Команда ПОМЕСТИТЬ ДАННЫЕ применяется для сохранения одного простого информационного объекта либо одного или большего числа информационных объектов, входящих в составной информационный объект, в пределах текущего контекста (например среды, связанной с конкретным приложением, или текущего DF). Нужные функции сохранения (однократной записи и/или обновления и/или присоединения) должны вызываться по определению или в зависимости от характера информационных объектов.

Примечание — Эта команда могла бы использоваться, например, для обновления информационных объектов.

6.10.2    У с л о в и я использования и защиты

Команда может быть выполнена только в том случае, если состояние зашиты удовлетворяет условиям секретности, определяемым приложением в пределах контекста для фупкцни(й).

6.10.3    Командное сообщение

Ответный APDU команды ПОМЕСТИТЬ ДАННЫЕ представлен в таблице 54.

Т а б л и ц а 54 — Командный APDU команды ПОМЕСТИТЬ ДАННЫЕ

CLA

Как определено в 5.4.1

INS

*DA‘

PI. Р2

См. таблицу 55

Поле Lt

Длина последующего поля данных

Поле данных

Параметры и данные, подлежащие записи

Поле Lc

Пустое

Таблица 55 — Кодирование последовательности параметров PI—Р2

Значение

Смысловое содержание

Oi '0000' до 003P

RFU

Or '0040- до '00FF'

Тег (один байт) информационного объекта BER-TLV в байте Р2

Or ЧНОО’ до '01FF

Данные приложения (оригинальное кодирование)

Or ’0200' до 02FF’

Тег информационного объекта SIMPLE-TLV в байте Р2

От '0300‘ до -3FFF*

RFU

От *4000' до 'FFFF'

Тег (два байта) информационного объекта BER-TLV в байтах PI, Р2

а)    Сохранение данных приложения

Если значение последовательности байтов PI—Р2 находится в диапазоне от '0100' до ’0IFF’, то оно должно являться идентификатором, зарезервированным для внутренних проверок, осуществляемых картой, и оригинальных услуг, значимых в пределах данного контекста приложения.

б)    Сохранение информационных объектов

Если значение последовательности байтов Р1 — Р2 находится в диапазоне от '0040' до '00FF', то значение байта Р2 должно являться тегом информационного объекта BER-TLV. состоящим из одного байта. Значение 'OOFF' зарезервировано для указания, что поле данных несет информационные объекты BER-TLV.

Если значение последовательности байтов PI—Р2 находится в диапазоне от ’0200’ до ’02FF’, то значение байта Р2 должно являться тегом информационного объекта SIMPLE-TLV. Значение ’0200* является RFU. Значение ‘02FF’ зарезервировано для указания, что поле данных несет информационные объекты SIMPLE-TLV.

Если значение последовательности байтов PI— Р2 находится в диапазоне от '4000' до FFFF', то оно должно являться тегом информационного объекта BER-TLV, состоящим их двух байтов. Значения '4000* и ’FFFF' яааяюгея RFU.

39

Страница 44

ГОСТ Р ИСО/МЭК 7816-4-2004

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

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

6.10.4 О т ве т и ос сообщение (номинальный случай)

Ответный APDU команды ПОМЕСТИТЬ ДАННЫЕ представлен в таблице 56.

Таблица 56 — Ответный APDU команды ПОМЕСТИТЬ ДАННЫЕ

Поле ланных

Пустое

SWI. SW2

Байты состояния

6.10.5 Состояния после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = '63*, а байт SW2 равен:

’СХ' — счетчик (успешное сохранение, но после использования внутренней программы повторений; ‘X’ * ’0’ указывает число повторных попыток; ’X’ = ’0' означает, что счетчик не предусмотрен).

Могут возникать следующие специфические состояния ошибки.

Если байт SWI = '65', а байт SW2 равен:

’8 Г — отказ памяти (безуспешное сохранение).

Если байт SW1 " '67’, а байт SW2 равен:

’00‘ — неверно указанная длина (несоответствующее поле Lt).

Если байт SW1 = ’69’, а байт SW2 равен:

’82“ — состояние зашиты неудовлетворительное;

’85' — условия использования не удовлетворены.

Если байт SWI = ’6А\ а байт SW2 равен:

'80' — некорректные параметры в поле данных;

’8Г — функция не поддерживается;

’84' — область памяти в файле недостаточна;

'85' — Lt не согласуется со структурой TLV.

6.11 Команда ВЫБРАТЬ ФАЙЛ

6.11.1    Определение и область применения

Успешно завершенная команда ВЫБРАТЬ ФАЙЛ устанавливает текущий файл внутри логического канала (см. 5.5). Последующие команды могут в неявной форме обращаться к текущему файлу через этот логический канал.

Выбор DF (который может быть файлом MF) устанавливает его в состояние текущего DF. После такого выбора обращение к неявному текущему EF может осуществляться через этот логический канал.

Выбор EF устанавливает пару текущих файлов: EF и его родительский файл.

После ответа на восстановление осушестатяется неявный выбор файла MF через основной логический канал (см. 5.5.2), если отсутствуют другие указания в байтах предыстории (см. раздел 8) или строке начальных данных (см. раздел 9).

Примечание — Прямой выбор но имени DF может ис пользоваться для выбора приложений, зарегистрированных в соответствии с ИСО/МЭК 7816-5.

6.11.2    У с л о в и я использования и зашиты

Следующие условия должны соблюдаться для каждого открытого логического канала.

Если не даегся иных указаний, то правильное выполнение команды изменяет состояние зашиты (см. 5.2.1) по следующим правилам.

Если заменяется текущий EF. или текущего EF больше нет. состояние зашиты, если оно применялось, ориентированное на предшествующий текущий EF. утрачивается.

Если текущий DF является потомком предшествующего текущего DF или ему идентичен, состояние защиты, ориентированное на предшествующий текущий DF, сохраняется.

Если текущий DF не является потомком предшествующего текущего DF и не идентичен ему,

40

Страница 45

ГОСТ Р ИСО/МЭК 7816-4-2004

состояние зашиты, ориентированное на предшествующий текущий DF, утрачивается. Состояние зашиты, обшее для всех общих предков предшествующего и нового текущего DF, сохраняется.

6.11.3 К о м а н д и ое сообщение

Командный APDU команды ВЫБРАТЬ ФАЙЛ представлен в таблице 57.

Таблиц а 57 — Командный APDU команды ВЫБРАТЬ ФАЙЛ

CLA

Как определено в 5.4.1

INS

'А4'

PI

Управление выбором, см. таблицу 58

Р2

Опции выбора, см. таблицу 59

Поле Ц,

Пустое или длина последующего поля данных

Поле данных

Если представлено, то в соответствии с байтами PI. Р2:

-    идентификатор файла

-    путь из MF

-    путь из текущего DF

-    имя DF

ПОЛС Le

Пустое или максимальная длина данных, ожидаемых в ответе

Таблиц а 58 — Кодирование байта управления выбором PI

ь»

Ь7

Ь6

Ь5

Ь4

ьз

Ь2

ы

Смысловое содержание

0

0

0

0

0

0

X

X

Выбор посредством идентификатора файла:

0

0

0

0

0

0

0

0

выбирать MF, DF или EF

(поле данных — идентификатор или пустое)

0

0

0

и

0

0

0

1

выбирать дочерний DF

(пате данных — идентификатор DF)

0

0

0

и

0

0

1

0

выбирать EF под текущим DF (поле данных — идентификатор EF)

0

0

0

0

0

и

1

1

выбирать родительский DF текущего DF (пустое пале данных)

0

0

0

0

0

1

X

X

Выбор по имени DF:

0

0

0

0

0

1

0

0

прямой выбор (поле данных — имя DF)

0

0

0

и

0

1

0

1

RFU

0

0

0

0

0

1

1

0

RFU

0

0

0

0

0

1

1

1

RFU

0

0

0

0

1

0

X

X

Выбор через путь (см. 5.1.2):

0

0

0

0

1

0

0

0

выбирать из MF

(поле данных — пугь без идентификатора MF)

0

0

0

0

1

0

0

1

выбирать из текущего DF

(паче данных — путь без идентификатора текущего DF)

0

0

0

и

1

0

1

0

RFU

0

0

0

и

1

0

1

1

RFU

Любек другое значение

RFU

Если байт Р1 = '00', то карта распознает либо благодаря особому кодированию идентификатора файла, либо из-за контекста выполнения команды, является ли выбираемый файл файлом MF, DF или EF.

Если последовательность байтов Р1 — Р2 = '0000' и предоставляется идентификатор файла, то он должен быть уникальным в следующих средах:

- непосредственные потомки текущего DF,

41

Страница 46

ГОСТ Р ИСО/МЭК 7816-4-2004

-    родительский DF,

-    непосредственные потомки родительского DF.

Если последовательность байтов PI—Р2 = 10000* и поле данных пустое или равно '3FOO', то осуществляется выбор \1F.

Если байт PI = ’04’, то поле данных предстаатяет собой имя DF, возможно укороченное справа. Если выбор по укороченному имени DF поддерживается, то следующие одна за другой такие команды с одним и тем же полем данных должны выбирать файлы DF, чьи имена совпадают с их полем данных, т.е. с него начинаются. Если карга принимает команду ВЫБРАТЬ ФАЙЛ с пустым полем данных, то может осуществляться последовательный выбор всех файлов DF или их подмножества.

Примечание — О методах выбора, поддерживаемых картой, см. 8.3.6.

Таблица 59 — Кодирование байта опций выбора Р2

bS

Ь7

Ь6

Ь5

ы

ЬЗ

ы

ы

Смысловое содержание

0

0

0

0

0

0

Первое или единственное вхождение

0

0

0

0

0

1

Последнее вхождение

0

0

0

0

1

и

Следующее вхождение

0

0

и

0

1

1

Предыдущее вхождение

0

0

0

0

X

X

-

Опция контрольной иж|юрмаиии файла (см. 5.1.5):

0

0

и

0

0

0

выдать FC1. необя отельный шаблон

0

0

и

0

0

1

выдать шаблон FCP

0

0

и

0

1

0

выдать шаблон F.V1D

Любое другое .значение

RFU

6.11.4 О т в е т н о е сообщение (номинальный случай)

Если поле L,. содержит только нули, то в пределах максимума 256 (для короткого поля) или 65536 (для расширенного поля) все байты, соответствующие опции выбора, должны быть выданы. Ответный APDU команды ВЫБРАТЬ ФАЙЛ представлен в таблице 60.

Т а б л и ц а 60 — Ответный APDU команды ВЫБРАТЬ ФАЙЛ

Паче данных

Информация, соответствующая байгу Р2 (не более Ц- байтов)

SWI. SW2

Байты состояния

6.11.5 Состоя н ия после обработки

Могут возникать следующие специфические состояния предупреждения.

Если байт SWI = ’62’, а байт SW2 равен:

’83" — выбранный файл недействителен;

’84' — FC1 не форматирована по 5.1.5.

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = ’6А\ а байт SW2 равен:

’81’ — функция не поддерживается;

’82’ — файл не найден;

'86' — некорректные параметры PI, Р2;

’87’ — 1_£ не согласуется с Р1„ Р2.

6.12 Команда ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ

6.12.1    О п р е д е л е и и е и область применения

Команда ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ инициирует сравнение в карте верификационных данных, посылаемых с устройства сопряжения, с контрольными данными, хранимыми в карте (например паролем).

6.12.2    У с л о в и я использования и защиты

В результате сравнения состояние защиты может изменяться. Безуспешные операции сравне-

42

Страница 47

ГОСТ Р ИСО/МЭК 7816-4-2004

мня могут регистрироваться в карте (например, с целью ограничения числа дальнейших попыток использования контрольных данных).

6.12.3 К о м а н д и о е сообщение

Командный APDU команды ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ представлен в таблице 61.

Табл и на 61 — Командный APDU команды ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ

CLA

Как определено в 5.4.1

INS

’20*

Р1

'00' (другие значения являются RFU)

Р2

Квалификатор контрольных данных, см. таблицу 62

Поле Lt

Пустое или длина последующего поля данных

Поде данных

Пустое или верификаиионные данные

Поле Lc

Пустое

Таблица 62— Кодирование байта управления ссылками Р2

Ь8

Ь7

Ь6

Ь5

Ь4

ьз

Ь2

ы

Смысловое содержание

0

0

0

0

0

0

0

0

Информация не предоставлена

0

Глобальные контрольные данные (например, пароль карты)

1

Специфические контрольные данные (например, собственный парать файла DP)

-

X

X

00 (другие значения являются RFU)

X

X

X

X

X

Номер контрольных данных

11 р и м с н а н и я

1    В каргах, где команда ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ однозначно обращается к секретным данным, байт Р2 = '00' зарезервирован для указания, что никакой детальный квалификатор не используется.

2    Номер контрольных данных может представлять собой, например, номер пароля или короткий идентификатор EF.

3    Если тело является пустым, команда может использоваться либо для получения числа дальнейших разрешенных попыток 'X' (последовательность SW1—SW2 - ’63СХ'). либо для проверки тою, что верификация не требуется (последовательность SWI— SW2 “ *9000*).

6.12.4 Ответное сообщение (номинальный случай)

Ответный APDU команды ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ представлен в таблице 63.

Табл и и а 63 — Ответный APDU команды ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ

Поле данных

Пустое

SWI, SW2

Байты состояния

6.12.5 С о с т о я н и я после обработки

Могут возникать следующие специфические состояния предупреждения.

Если байт SW1 = '63’, а байт SW2 равен:

'(X)’ — информация не предоставлена (неудавшаяся верификация);

*СХ* — счетчик (иеудавшаяся верификация; ’X' указывает число дальнейших разрешенных попыток).

Могут возникать следующие специфические состояния ошибки.

Если байт SWI = '69*, а байт SW2 равен:

’83’ — метод аутентификации заблокирован:

!84" — ссылочные данные недействительны.

Если байт SWI = ’6А\ а байт SW2 равен:

’86’ — некорректные параметры PI. Р2:

!88‘ — ссылочные данные не найдены.

43

Страница 48

ГОСТ Р ИСО/МЭК 7816-4-2004

6.13 Команда ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ

6.13.1    О п ределен ие и область применения

Команда ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ инициирует вычисление картой аутентификационных данных с использованием данных задачи, посылаемой с устройства сопряжения, и соответствующего секрета (например ключа), хранящегося в карте.

Если соответствующий секрет присоединен к MF. то команда может применяться для аутентификации карты в целом.

Если соответствующий секрет присоединен к другому DF. команда может применяться для аутентификации этого DF.

6.13.2    У с л о в и я использования и зашиты

Успешное выполнение команды может подчиняться успешному завершению предшествующих команд (например, команд ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ. ВЫБРАТЬ ФАЙЛ) или выбору (например, соответствующего секрета).

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

Число подач команды может регистрироваться в карте для ограничения числа дальнейших попыток использования соответствующего секрета или алгоритма.

6.13.3    Команд ное сообщение

Командный APDU команды ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ представлен в таблице 64.

Таблица 64 - Командный APDU команды ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ

CLA

Как определено в 5.4.1

INS

Ж

PI

Указатель алгоритма в карте

Р2

Указатель секрета, см. таблицу 65

Поле Lc

Длина последующего поля данных

Поле данных

Данные, относящиеся к аутент ификации (наирих<ср. задача)

Пате L*

Максимальное число байтов, ожидаемых в ответе

Байт PI = 00’ указывает, что информация не предоставлена. Указатель алгоритма либо известен до подачи команды, либо содержится в поле данных.

Байт Р2 = ’00’ указывает, что информация не предоставлена. Указатель секрета либо известен до подачи команды, либо содержится в поле данных.

Таблица 65 — Кодирование байга управления ссылками Р2

bS

Ь7

Ь6

Ь5

м

ьз

Ь2

Ы

Смысловое содержание

0

0

0

0

0

0

0

0

Информация не предоставлена

0

Глобальные контрольные данные (например, собственный ключ файла MF)

1

Специфические контрольные данные (например, собственный ключ файла DF)

X

X

00 (другие значения являются RFU)

-

X

X

X

X

X

Номер секрсга

Примечание — Номер секрета может представлять собой, например, номер ключа или короткий идентификатор EF.

6.13.4 О т в е т и о е сообщение (номинальный случай)

Ответный APDU команды ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ представлен в таблице 66.

Таблица 66 - Ответный APDL команды ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ

Поле данных

Данные, относящиеся к аутентификации (например, ответ на задачу)

SWI, SW2

Байты СОСТОЯНИЯ

44

Страница 49

ГОСТ Р ИСО/МЭК 7816-4-2004

Примечание — Ответное сообщение может включать в себя данные, пригодные для использования дальнейшими защитными функциями приложений (например, случайное число).

6.13.5 Состоя н ия после обработки

Мот возникать следующие специфические состояния ошибки.

Если байт SW1 = '69', а байт SW2 равен:

!84' — ссылочные данные недействительны;

'85' — условия использования не удовлетворены.

Если байт SWI = ’6А\ а байт SW2 равен:

!86' — некорректные параметры PI, Р2;

'88' — ссылочные данные не найдены.

6.14 Команда ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ

6.14.1    Определен ие и область применения

Команда ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ условно обновляет состояние защиты, используя результат (да или нет) вычисления, осуществляемого картой, основанного на данных задачи, ранее выданной картой (например, на команду СОЗДАТЬ ЗАДАЧУ), ключе, возможно секретном, хранящемся в карте, и аутентификационных данных, передаваемых устройством сопряжения.

6.14.2    У с л о в и я использования и зашиты

Успешное выполнение команды требует, чтобы данные последней задачи, полученной с карты, были действительны.

Безуспешные операции сравнения могут регистрироваться в карте (например, с целью ограничения числа дальнейших попыток использования контрольных данных).

6.14.3    К о м а ид н ое сообщение

Командный APDU команды ВЫ ПОЛ НИТЬ ВН ЕШ Н ЮЮ АУТЕНТИФИ КАЦИ Ю представлен в таблице 67.

Таблица 67 - Командный APDU команды ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ

CLA

Как определено в 5.4.1

INS

*82'

PI

Указатель алгоритма в карте

Р2

Указатель секрета, см. таблицу 68

Поле L.

С

Пустое или длина последующего ноля данных

Поле данных

Пустое или данные, относящиеся к аутентификации (например, ответ на задачу)

Паче Ц

Пустое

Байт Р1 = '00‘ указывает, что информация не предоставлена. Указатель алгоритма либо известен до подачи команды, либо содержится в поле данных.

Байт Р2 = '00’ указывает, что информация не предоставлена. Указатель секрета либо известен до подачи команды, либо содержится в поле данных.

Таблица 68 — Кодирование байта управления ссылками Р2

ьн

Ь7

Ь6

Ь5

м

ьз

ь:

ы

Смысловое содержание

0

0

0

0

0

0

0

0

Информация не предоставлена

0

1

Глобальные контрольные данные (например, собственный ключ файла MF)

Специфические контрольные данные (например, собственный ключ файла DF)

-

X

X

(Ю (другие значения являются RFU)

X

X

X

*

X

Номер секрета

45

Страница 50

ГОСТ Р ИСО/МЭК 7816-4-2004

Примечания

1    Номер сскрсга может представлять собой, например, номер ключа или короткий идентификатор EF.

2    Если тело является пустым, команда может использоваться либо для получения числа дальнейших разрешенных попыток 'X' (последовательность SWI—SW2 “ *63СХ'), либо для проверки того, что верификация не требуется (последовательность SWI—SW2 = *9000').

6.14.4 Ответное сообщен ие (номинальный случай)

Ответный APDU команды ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ представлен в таблице 69.

Табл и ц а 69 — Огиетнмй APDL- команды ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ

Поле данных

Пустое

SWI, SW2

Байты состояния

6.14.5 Состоя н ия после обработки

Могут возникать следующие специфические состояния предупреждения.

Если байт SW1 = ”63’, а байт SW2 равен:

’00* — информация не предоставлена (неудавшаяся аутентификация);

’СХ' — счетчик (неудавшаяся аутентификация; X' указывает число дальнейших разрешенных попыток).

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = '67', а байт SW2 равен;

W — неверно указанная длина (поле некорректное);

Если байт SW1 = ”69', а байт SW2 равен:

'83’ — метод аутентификации заблокирован;

’84' — ссылочные данные недействительны:

’85' — условия использования не удовлетворены (команда невозможна в контексте).

Если байт SW1 = Ч>А\ а байт SW2 равен:

’86' — некорректные параметры PI. Р2;

’88' — ссылочные данные не найдены.

6.15 Команда СОЗДАТЬ ЗАДАЧУ

6.15.1    Определение и область применения

Команда СОЗДАТЬ ЗАДАЧУ требует выдачи задачи (например, в виде случайного числа) для использования в процедуре, связанной с защитой (например, в команде ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ).

6.15.2    У с л о в и я использования и зашиты

Данные задачи действительны, по меньшей мере, для следующей команды. Никаких дополнительных условий настоящий стандарт не устанавливает.

6.15.3    К о м а н д н о е с о о б ш е и и е

Командный APDU команды СОЗДАТЬ ЗАДАЧУ представлен в таблице 70.

Таблица 70 — Командный APDU команды СОЗДАТЬ ЗАДАЧУ

CLA

Как определено в 5.4.1

INS

•84*

Р1-Р2

‘0000‘ (другие значения являются RFU)

Пате Lc

Пустое

Поле данных

«

Пате 1^.

Максимальная длина ожидаемого ответа

6.15.4 О т в е т и о е сообщение (номинальный случай) Ответный APDU команды СОЗДАТ Ь ЗАДАЧУ представлен в таблице 71. Таблица 71 — Ответный APDU команды СОЗДАТЬ ЗАДАЧУ

Поле данных

Задача

SWI, SW2

Байты состояния

46

Страница 51

ГОСТ Р ИСО/МЭК 7816-4-2004

6.15.5 Сое гоя м и я после обработки

Мот возникать следующие специфические состояния ошибки.

Если байт SW1 = '6Л\ а байт SW2 равен:

!8Г — функция не поддерживается;

‘86’ — некорректные параметры PI, Р2.

6.16 Команда ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ

6.16.1    О п р е д е л е и и е и область применения

Команда ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ открывает и закрывает логические каналы.

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

Функция закрытия в явной форме закрывает логический канал, отличный от основного канала. После успешного закрытия логический канат должен быть доступен ятя повторного использования.

6.16.2    У с л о в и я использования и защиты

Если функция открытия приводится в действие с основного логического канала, то после успешного открытия должен осуществляться неявный выбор файла MF как текущего файла DF, а состояние защиты для нового логического капала должно быть таким же. что и для основного логического канала после ATR. Состояние защиты нового логического канала должно быть отдельным от состояния зашиты любого другого логического канала.

Если функция открытия приводится в действие с логического канала, не являющегося основным, то после успешного открытия должен осущест&тятъся выбор текущего файла DF логического канала, с которого была подана команда, как текущего факта DF нового логического канала; состояние зашиты для нового логического канала должно быть таким же, что и для логического канала, с которого функция открытия была приведена в действие.

После успешного осуществления функции закрытия состояние зашиты, связанное с соответствующим логическим каналом, утрачивается.

6.16.3    Командное сообщение

Командный APDU команды ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ представлен в таблице 72.

Таблица 72 — Командный APDU команды ВВЕСТИ УПРАВЛЕНИЕ КАНАТОМ

CLA

Как определено в 5.4.1

INS

•70-

Р1

Р1 « ’00' — открыть логический канал

Р1 = '80' — закрыть логический канал (другие значения являются RFU)

Р2

'00', '01 *, '02' или '03' (другие значения являются RFU)

Паче Ц.

Пустое

Поле данных

4

Пате Le

Ч)Г, если последовательность байтов PI—Р2 = ‘0000* Пустое, если последовательность байтов PI—Р2 * '0000'

Бит ЬХ байта Р1 используется для индикации функций открытия и закрытия; если бит Ь8 установлен в ноль, то команда ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ должна открывать логический канал; если бит Ь8 установлен в единицу, то команда ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ должна закрывать логический канат.

Для функции открытия (Р1 = 00’) биты Ы и Ь2 в байте Р2 используются для кодирования номера логического каната таким же образом, как и в байте класса (см. 5.4.1); другие биты байта Р2 являю гея RFU.

Если биты Ы и Ь2 байта Р2 являются нулевыми, то карга назначает номер логического канала, выдаваемый в битах Ы и Ь2 поля данных ответного сообщения.

Если бит Ы и/или бит Ь2 байта Р2 не являются нулевыми, то они кодируют номер логического канала, отличный от номера основного логического канала; тогда карта открывает назначенный извне номер логического канала.

47

Страница 52

ГОСТ Р ИСО/МЭК 7816-4-2004

6.16.4Ответное сообщение (номинальный случай)

Ответный APDU команды ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ представлен в таблице 73. Таблица 73 — Ответный APDU команды ВВЕСТИ УПРАВЛЕНИЕ КАНАЛОМ

Поле данных    Номер логического канала, если    последовательность байтов PI—Р2 = '0000'

Пустое, если последовательность байтов    PI—Р2 *    '0000*

SWI. SW2    Байты состояния

6.16.5 С о с то я н и я после обработки

Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = *62*, а байт SW2 равен:

4)0* — информация не предосташ!ена.

7 Межотраслевые команды, ориентированные на передачу данных

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

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

В таблице 11 представлен полный перечень команд, определяемых в настоящем стандарте.

Настоящий раздел не предусматривает описаний влияния безопасного обмена сообщениями (см. 5.6) на структуры сообщений.

Перечни состояний ошибки и состояний предупреждения, приводимые в пятом пункте каждого подраздела настоящего раздела, не являются исчерпывающими (см. 5.4.5).

7Л Команда ИЗВЛЕЧЬ ОТВЕТ

7.1.1    О п р е д е л е и и е и область применения

Команда ИЗВЛЕЧЬ ОТВЕТ используется для передачи с карты устройству сопряжения APDU (или его части), который по-другому не может быть передан при помощи доступных протоколов.

7.1.2    У с л о в и я использования и защиты

Не установлены.

7Л .3 К о м а и д и о е сообщение

Командный APDU команды ИЗВЛЕЧЬ ОТВЕТ представлен в таблице 74.

Та б л и ц а 74 — Командный APDU команды ИЗВЛЕЧЬ ОТВЕТ

CLA

Как определено в 5.4.1

INS

’С0‘

Р1-Р2

’0000' (другие значения являются RPU)

Поле L.

Пустое

Поле данных

Поле L.

Максимальная длина данных, ожидаемых в ответе

7.1.4 О т в е т и о е сообщение (номинальный случай)

Если поле L,. содержит только нули, то в пределах максимума 256 (для короткого поля) или 65536 (для расширенного поля) все имеющиеся байты должны быть выданы.

Ответный APDU команды ИЗВЛЕЧЬ ОТВЕТ представлен в таблице 75.

Таблица 75 — Ответный APDU команды ИЗВЛЕЧЬ ОТВЕТ

Поле данных

APDU (его часть), соответствующий Ц

SWI, SW2

Байты состояния

7.1.5 Состоян ия после обработки

Может возникать следующее специфическое состояние, соответствующее нормальной обработке.

Если байт SW1 = '6 Г, а байт SW2 равен:

48

Страница 53

ГОСТ Р ИСО/МЭК 7816-4-2004

'XX" — нормальная обработка: имеется больше байтов данных ('XX' указывает число дополнительных имеющихся байтов данных, доступных для последующей команды ИЗВЛЕЧЬ ОТВЕТ). Может возникать следующее специфическое состояние предупреждения.

Если байт SW1 = ’62’, а байт SW2 равен:

’8Г — часть выдаваемых данных может быть искажена.

Могут возникать следующие специфические состояния ошибки.

Если байт SW1 = ’67’, а байт SW2 равен:

‘00’ — неверно указанная длина (некорректное поле Lc).

Если байт SWI = "6А\ а байт SW2 равен:

‘86’ — некорректные параметры PI, Р2.

Если байт SWI = ’6С\ а байт SW2 равен:

’XX’ — неверно указанная длина (несоответствующее поле L,.; 'XX' указывает точную длину). 7.2 Команда КОНВЕРТ

7.2.1    Определение и область применения

Команда КОНВЕРТ используется для передачи APDU или части APDU, либо любой строки данных, которая по-другому не может быть передана при помощи доступных протоколов.

Примечание — Использование команды КОНВЕРТ для SM представлено в приложении Е.

7.2.2    Условия использования и защиты Не установлены.

7.2.3    Командное сообщение

Командный APDU команды КОНВЕРГ представлен в таблице 76.

Таблица 76 — Командный APDU команды КОНВЕРТ

CLA

Как определено в 5.4.1

INS

•С2‘

Р1-Р2

‘0000' (другие значения являются Rf:U)

Пате Lc

Длина последующего поля данных

Поле данных

APDU (его часть)

Пше L.

Пустое или длина ожидаемых данных

Если команда КОНВЕРТ используется при Т=0 (см. ИСО/МЭК 7HI6-3) для передачи строк данных, пустое поле данных в ее командном APDU означает «конец строки данных*.

7.2.4 Ответное сообщение (номинальный случай)

Ответный APDU команды КОНВЕРГ представлен в таблице 77.

Т а б л и и а 77 — Ответный APDU команды КОНВЕРТ

Поле данных

Пустое или APDU (его часть), соответствующий Ц

SWI. SW2

Байты состояния

П р и м е ч а н и с — Байты состояния в таблице 77 принадлежат команде КОНВЕРТ. Байты состояния команды, передаваемой в пате данных команды КОНВЕРТ, могут находиться в ноле данных ответа КОН БЕРТ.

7.2.5 Состоя н и я после обработки

Может возникать следующее специфическое состояние ошибки.

Если байт SWI = ’67’, а байт SW2 равен:

‘00’ — неверно указанная длина (некорректное поле Lt).

8 Байты предыстории

8.1 Назначение и общая структура

Байты предыстории сообщают внешнему окружению, как использовать карту , если транспорт* ный протокол установлен в соответствии с ИСО/МЭК 7816-3.

Число байтов предыстории (не более 15) указывается и кодируется, как определено в ИСО/МЭК 7816-3.

49

Страница 54

ГОСТ Р ИСО/МЭК 7816-4-2004

Информация, переносимая байтами предыстории, также может находиться в файле ATR (идентификатор EF, присваиваемый по умолчанию, равен ’2F01’).

Если байты предыстории представлены, то они образуют следующие три поля:

-    обязательный индикатор категории (один байт),

-    необязательные информационные объекты COMPACT-TLV,

-    условный индикатор состояния (три банта).

8.2 Ииликатор категории (обязательный)

Индикатор категории предстаатяет собой первый байт предыстории. Если он равен '00', МО' или ’8Х\ то формат байтов предыстории должен соответствовать настоящему стандарту. Кодирование индикатора категории представлено в таблиие 78.

Таблица 78 — Кодирование индикатора категории

Значение

Смысловое содержание

•оо-

МО'

•80’

От ’8Г до ’8F' Другие значения

Информация о состоянии должна быть представлена в конце байтов предыстории (не в структуре TLV)

Указано в 8.5

Информации о состоянии, если она представлена, содержится в необязательном информационном объекте COMPACT-TLV

RFU

Оригинальное

8.3 Необязательные информационные объекты COMPACT-TLV

Кодирование информационных объектов COMPACT-TLV выведено из базовых правил кодирования ACH.I (см. ГОСТ I’ ИСО/МЭК 8825 и приложение Г) для информационных объектов BER-TLV с тегом, равным *4Х'. и длиной, равной W. Кодировка таких информационных объектов заменяется на бант, равный ‘ХУ’. сопровождаемый ’Y' байтами данных. В настоящем разделе X’ именуется номером тега, a ’Y’ — длиной.

Помимо информационных объектов, определяемых в настоящем разделе, байты предыстории могут содержать информационные объекты, определяемые в ИСО/МЭК 7816-5. В этом случае кодирование тегов и полей длины, установленное в ИСО/МЭК 7816-5, должно быть видоизменено, как указано выше.

Если информационные объекты COMPACT-TLV, определяемые в настоящем разделе, появляются в файле ATR. они должны быть закодированы в соответствии с базовыми правилами кодирования ACH.I (т.е. тег должен быть равен ’4Х\ длина должна быть равна ’0Y’).

Все теги прикладного класса, не определяемые в настоящем стандарте и стандартах серии ГОСТ Р ИСО/МЭК 7816 (ИСО/МЭК 7816), зарезервированы для ИСО.

8.3.1 Указатель страны/эмитента

Если этот информационный объект предстаатен, он указывает страну или эмитента.

Данный информационный объект вводится при помощи байта, равного МУ' или '2У\

Кодирование указателя страны/эмитента представлено в таблице 79.

Таблица 79 — Кодирование указателя страны/эмитента

Тес

Длина

Значение

’Г

Переменная

Код страны и национальные данные

*2‘

*

Идентификационный номер эмитента

Тег Т сопровождается соответствующей длиной (в один полубайт) и тремя цифрами, обозначающими страну в соответствии с ОК 025. Последующие данные (нечетное число полубайтов) выбираются соответствующим национальным органом по стандартизации.

Тег '2' сопровождается соответствующей длиной (в один полубайт) и идентификационным номером эмитента по ИСО/МЭК 7812-1. Если идентификационный номер эмитента содержит нечетное число цифр, то он должен быть дополнен справа полубайтом со значением 'Р.

50

Страница 55

ГОСТ Р ИСО/МЭК 7816-4-2004

8.3.2 Данные об услугах, предоставляемых картой Этот информационный объект указывает методы, предусмотренные в карте для поддержки услуг, описываемых в разделе 9.

Он вводится при помоши байта, равного 'ЗГ.

Если данный информационный объект не представлен, карта поддерживает лишь неявный выбор приложений.

Кодирование данных об услугах, предоставляемых картой, представлено в таблице 80.

Таблица 80— Профиль кирш, отражающий услуги, не зависимые от приложений

ьк

Ь7

Ь6

Ъ5

м

ы

Ь2

ы

Смысловое содержание

1

Прямой выбор приложения по полному имени DF

1

Выбор по частичному имени DF (см. 9.3.2)

Информационные объекты доступны:

1

- в файле DIR

1

- в файле ATR

Услуга по вводу-выводу содержимою файлов посредством:

1

- команды СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ

0

- команды СЧИТАТЬ ЗАПИСЬ(И)

X

X

X

ООО (другие значения являются RFU)

П римечанис— Информацию о методах выбора может давать содержимое файлов DIR и ATR.

8.3.3 Исходные данные доступа

Этот необязательный информационный объект предоставляет возможности для поиска строки из информационных объектов, определяемых в настоящем стандарте и стандартах серии ГОСТ I’ ИСО/МЭК 7816 (ИСО/МЭК 7816). Строка, извлекаемая при помощи данного информационного объекта, называется строкой начальных данных.

Данный информационный объект вводится при помощи байта, равного '4Г, '42' или '45'.

Любой командный APDU, описываемый в настоящем разделе, пред полагается в качестве первой команды, посылаемой посте ответа на восстановление. Поэтому информация, доступная в указанный момент, позже может быть не извлекаема.

8.3.3.1 Длина равна ’Г

Если предоставляется только один байт информации, он указывает длину в команде на выполнение для извлечения строки начальных данных. Командой на выполнение является команда СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ, структура которой представлена в таблице 81.

Таблица 81 — Кодирование команды, если длина равна ‘Г

CLA

W (см. 5.4.1)

INS

‘ВО’

PI-P2

‘0000’

Поле 1ч

Пустое

Поле данных

»

Поле L(

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

8.3.3.2 Длина равна *2’

Если предоставляются два байта информации, то первый байт указывает структуру (прозрачная или из записей) и короткий идентификатор файла EF, подлежащего считыванию. Второй байт указывает длину в команде на выполнение СЧИТАТЬ для извлечения строки начальных данных. Структура первого байта представлена в таблице 82.

51

Страница 56

ГОСТ Р ИСО/МЭК 7816-4-2004

Таблица 82 — Структура нерпою байта

Ь8

0 — файл, ориентированный на записи

I — прозрачный фа ill

Ь7—Ь6

СЮ (другие значения ннляются RFU)

Ь5—Ы

Короткий идентификатор EF

Если бит Ь8=0, то командой на выполнение является команда СЧИТАТЬ ЗЛГ1ИСЫИ), структура которой представлена в таблице 83.

Таблица 83 — Кодирование команды, если Ь8*0

CLA

W (см. 5.4.1)

1NS

’В2‘

PI

'01 •

Р2

Короткий идентификатор EF (из первою байта исходных данных доступа), сопровождаемый послсдокпсльносгью битов ЬЗ—Ь2—Ы =110

Поле L.

Пустое

Поле данных

ь

Поле Ц

Второй и последний байт поля значения исходных данных доступа (указывающий число байтов, подлежащих считыванию)

Если бит Ь8=1. то командой на выполнение является команда СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ, структура которой представлена в таблице 84.

Таблица 84 — Кодирование команды, если Ь8 *■ 1

CLA

•00' (см. 5.4.1)

INS

* ВО-

Р1

Значснис первого байта исходных данных доступа

Р2

чю*

Поле L.

С

Пустое

Поле данных

»

Поле Lf

Второй и последний байт поля значения исходных данных доступа (указывающий число байтов, подлежащих считыванию)

8.3.3.3 Длина равна *5’

Значение, содержащееся в информационном объекте «исходные данные доступа*, состоит из командного APDU команды на выполнение. При выполнении эта команда обеспечивает получение строки начальных данных в поле данных ответа.

8.3.4    Данные эмитента

Этот информационный объект яшшется необязательным и имеет переменную длину. Структуру и кодирование определяет эмитент карты.

Данный информационный объект вводится при помощи байта, равного '5Y'.

8.3.5    Данные, предваряющие эмиссию карты

Этот информационный объект является необязательным и имеет переменную длину. Структуру и кодирование настоящий стандарт не устанавливает. Он может использоваться для указания:

-    изготовителя карты;

-    типа интегральных схем;

-    изготовителя интегральных схем;

-    версии маски постоянного запоминающего устройства;

-    версии операционной системы.

Данный информационный объект вводится при помощи байта, равного ’6Y\

8.3.6    Функциональные возможности карты

52

Страница 57

ГОСТ Р ИСО/МЭК 7816-4-2004

Эгот информационный объект яачяется необязательным и имеет переменную длину. Его поле значения состоит либо из первой, либо из первых двух, либо из трех таблиц программных функций. Данный информационный объект вводится при помощи байта, равного ’7Г, '72' или ’73’. В таблице 85 представлена первая таблица программных функций.

Т а 6 л к u а 85 — Первая таблица программных функций

Ь8

Ь7

Ь6

Ь5

Ь4

ьз

Ь2

ы

Смысловое содержание

1

Выбор файлов DF:

- по полному имени DF

-

1

- по частичному имени DF

-

1

-

-

- через путь

-

-

1

-

- но идентификатору файла

1

- неявный

_

_

_

_

_

1

_

_

Управление файлами EF:

- поддерживается короткий идентификатор EF

1

-

- поддерживается номер записи

1

- поддерживается идентификатор записи

В таблице 86 представлена вторая таблица программных функций, которая представляет собой байт кодирования данных. Байт кодирования данных также может быть представлен как второй элемент данных в контрольном параметре файла с тегом ’82’ (см. таблицу 2 в 5.1.5).

Таблииа 86 — Вторая таблица программных функций (байт кодирования данных)

Ь8

Ь7

Ь6

Ь5

Ь4

ЬЗ

Ь2

ы

Смысловое содержание

X

X

Режим работы функций записи:

-

0

0

- однократная запись

-

0

1

- оригинальный

-

1

0

- запись с использованием операции «ИЛИ*

1

1

- запись с использованием операции ®И«

X

X

X

Размер единицы данных в полубайтах (степень числа 2; например. 001 — два полубайта) (значение по умолчанию составляет один байт)

X

-

X

X

-

-

0...00... (другие значения являются RFU)

В таблице 87 представлена третья таблица программных функций. Таблица 87— Третья таблица программных функций

ьх

Ь7

Ь6

Ь5

Ь4

ЬЗ

Ь2

ы

Смысловое содержание

X

0 (1 является RFU)

-

1

-

-

Расширенные поля L. и Ц,

-

X

-

-

0 (1 является RFU)

-

-

X

X

-

-

Назначение логических каналов осуществляет:

1

- карга

1

- устройство сопряжения

-

-

0

0

-

-

Нет логического канала

X

0 (1 является RFU)

-

X

У

Максимальное число логических каналов (равно 2х+у-Ч)

53

Страница 58

ГОСТ Р ИСО/МЭК 7816-4-2004

8.4    Информация о состоянии

Информация о состоянии образована из трех байтов: одного байта состояния жизненного цикла карты и двух байтов состояния SWl, SW2.

Значение 4)0’ у байта состояния жизненного цикла карты указывает, что информация о состоянии жизненного цикла карты не предоста&тена. Значения от '80' до ТЕ" предназначаются для собственного использования. Все другие значения являются RFIJ.

Значение ’9000’ последовательности байтов SWl— SW2 указывает на нормальную обработку по

5.4.5.

Значение (КХ)О' последовательности байтов SWl—SW2 указывает, что индикация состояния не представлена.

Если индикатору категории присваивается значение '80’, то информация о состоянии может быть представлена в информационном объекте COMPACT-TLV. В этом случае номер тега равен '8\ Если длина равна 'Г, то значением является байт состояния жизненного цикла карты. Если длина равна ’2’, то значением являются байты SWl, SW2. Если длина равна '3', то значением является байт состояния жизненного цикла карты, сопровождаемый байтами SWl, SW2. Другие значения длины зарезервированы для ИСО.

8.5    Ссылка на данные DIR

Если индикатор категории имеет значение 10', то следующий за ним байт представляет собой ссылку на данные DIR. Кодирование и содержание этого байта находятся за пределами компетенции настоящего стандарта.

9 Услуги карты, не зависимые от приложений

9.1    Определения и область применения

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

Услуги карты поддерживаются благодаря любой комбинации из:

-    байтов предыстории;

-    содержимого одного или нескольких зарезервированных файлов EF;

-    последовательностей межотраслевых команд.

Команды используют байт CLA = '00' (см. 5.4.1). т.е. используют основной логический канал и не используют безопасный обмен сообщениями.

Приложению не обязательно соответствовать положениям настоящего раздела, как только оно будет идентифицировано и выбрано в карге. Для осуществления подобных функций оно может использовать другие механизмы, совместимые с настоящим стандартом. Поэтому такие решения могут и не гарантировать обмен.

Определены следующие услуги карты:

-    услуга по идентификации карты, позволяющая устройству сопряжения идентифицировать каргу, а также выяснять, как с ней взаимодействовать:

-    услуга по выбору приложения, позволяющая устройству сопряжения выяснять, какое приложение является в карте активным (если таковое имеется), а также, как осуществлять выбор и запуск приложения в карте;

-    услуга по поиску информационных объектов, позволяющая осуществить поиск информационных объектов, определяемых либо в настоящем стандарте, либо в других стандартах серии ГОСТ Р ИСО/МЭК 7816 (ИСО/МЭК 7816). Настоящий раздел дает описание стандартных механизмов поиска только для межотраслевых информационных объектов;

-    услуга по выбору файла, позволяющая осуществлять выбор наименованных файлов DF и файлов EF;

-    услуга по вводу/выводу содержимого файлов, предоставляющая доступ кданным, хранящимся в файлах EF.

9.2    Услуга по идентификации карты

Эта функция заключается в предоставлении картой внешнему окружению информации о своем логическом содержании, а также о некоторых общих информационных объектах, которые могут

54

Страница 59

ГОСТ Р ИСО/МЭК 7816-4-2004

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

Доступ к этому файлу указывают исходные данные доступа (см. 8.3.3).

Если исходные данные доступа из байтов предыстории не обозначают команду СЧИТАТЬ, то ответное сообщение команды на выполнение содержит идентификационные данные карты.

9.3 Услуга по выбору приложения

Выбор приложения в карте осуществляется либо в неявной форме, либо в явной по его имени.

9.3.1    Неявный выбор приложения

Если выбор приложения в карте осуществляется неявно, то идентификатор приложения, определяемый в ИСО/МЭК 7816-5. должен быть указан в идентификационных данных карты. Если он там не представлен, то должен быть представлен в файле ATR.

9.3.2    Прямой выбор приложения

Карта в многоприкладной среде должна быть способна положительно реагировать на прямой выбор приложения с использованием команды ВЫБРАТЬ ФАЙЛ, указывающей идентификатор приложения в качестве имени DF.

Командный APDU должен предоставлять полный идентификатор приложения. В случае выбора приложения по частичному имени DF, может осуществляться выбор следующего приложения, согласующегося с предложенным именем, а полное имя DF будет доступно в ответном сообщении команды ВЫБРАТЬ ФАЙЛ в качестве контрольного параметра файла с тегом ‘84* (см. табл. 2 в 5.1.5).

Командный APDU команды на выполнение представлен в таблице 88.

Табл и иа 88 — Кодирование команды для прямого выбора приложения

CLA

W (см. 5.4.1)

INS

’А4'

PI-P2

•0400-

Поле L

С

Длина в байгах поля данных

Поле данных

Полное или масличное имя DF

Пале L,

Должно быть предстаачено. содержит одни нули

9.4    Услуга по поиску информационных объектов

Информационные объекты, используемые для обмена, независимого от приложений, определены в настоящем стандарте н других стандартах серии ГОСТ Р ИСО/МЭК 7816 (ИСО/МЭК 7816).

Поиск этих информационных объектов полагается на один (или оба) из следующих методов:

-    присутствие информационного объекта в идентификационных данных карты (см. 9.2);

-    присутствие информационного объекта в фа ill е DIR (путь равен '3F002F00') или файле ATR (пучь равен '3F002F0r).

Информация, необходимая для поиска информационных объектов косвенным методом, определена в ГОСТ Р ИСО/МЭК 7816-6.

9.5    Услуга по выбору файла

Если путь к файлу EF известей, то число подаваемых команд ВЫБРАТЬ ФАЙЛ равно длине пути, деленной на два, минус один (путь всегда начинается с текущего файла DF).

Если длина пути превышает четыре байта, то пока не будут использованы все имеющиеся в последовательности пути идентификаторы файлов DF, должна выполняться (одна или несколько), команда ВЫБРАТЬ ФАЙЛ с командным APDU. представленным в таблице 89.

Таблица 89 — Кодирование команды для выбора DF, использующего идентификатор файла

CLA

‘00' (см. 5.4.1 >

INS

’А4'

Р1-Р2

’0100-

Пате L.

•02’

Пале данных

Идентификатор DF (из третьего и четвертого байтов нуги)

Пале Lc

Пустое

55

Страница 60

ГОСТ Р ИСО/МЭК 7816-4-2004

Последним и, возможно, единственным выбором является выбор файла EF с использованием командного APDU, представленного в таблице 90.

Та б.ч и и а 90 — Кодирование команды для выбора EF

CLA

'00' (см. 5.4.1)

INS

•А4-

PI-P2

’0200’

Поле L.

•02’

Поле данных

Идентификатор EF (последние два байта пути)

Поле L,

Пустое

9.6 Услуга по вводу/выводу содержимого файлов

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

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

Таблица 91 — Кодирование команды для считывания прозрачного файла

CLA

’00' (см. 5.4.1)

INS

•во*

PI-P2

'0000'

Поле Lc

Пустое

Поле данных

*

Поле Lf

Должно быть представлено, содержит одни нули

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

Таблица 92 — Кодирование команды для считывания файла, ориентированного на записи

CLA

■00’ (см. 5.4.1)

INS

'В2‘

Р1-Р2

'00051

Поле Ц

Пустое

Поле данных

ь

Поле L,

Должно быть представлено, содержит одни нули

56

Страница 61

ГОСТ Р ИСО/МЭК 7816-4-2004

ПРИЛОЖЕНИЕ А

(обязательное)


Транспортировка APDU-сообщений при помощи протокола передачи, обозначаемого Т=0

АЛ Случай 1

Командный APDU отображается на командный TPDU путем присвоения параметру РЗ значения *00‘: командный APDU командный TPDU


С LA

INS

PI

Р2


CLA


INS


Р2


РЗ =- W


PI


Ответный TPDU отображается на ответный APDU без какого-либо изменения: ответный TPDU


SWI

SW2 |

SWI

SW2 I


ответный APDU

А.2 Случай 2, короткий

В этом случае Lc принимает значения от I до 256 и кодируется в байте В, (В, ■= '00' означает максимум, т.е. Lc - 256).

Командный APDU отображается на командный TPDU без какого-либо изменения:


С LA

INS

PI

P2

U-b. 1

CLA

INS

PI

P2

P3 " в, 1

Ответный TPDU отображается на ответный APDU в соответствии с вариантом принятии L. и согласно обр;1ботке команды.


командный APDU командный TPDU


Случай 2КЛ. Lc принята

Ответный TPDU отображается на ответный APDL) без какого-либо изменения:


Le байгов

SWI SW2

Lc байгов

SWI SW2


ответный TPDU ответный APDL


Случай 2К.2. Lc определенно не принята

L{ не принята картой, не поддерживающей услугу по предоставлению данных, если длина указана неверно. Ответный TPDU с карты указывает, что карта прерывает выполнение команды из-за неверно указанной длины: (SW1) - ’67*. Ответный TPDU отображается на ответный APDIJ без какого-либо изменения:


ответный TPDU ответный APDL


SWI - ‘67•


SW2


SW1 - *67‘


SW2


Случай 2К.З. Lf не принята, Lj указана

L. не принята картой, и карта указывает действительную длину L, .

Ответный TPDU с карты указывает, что выполнение команды прерывается вследствие неверно указанной длины и что правильная длина составляет L4: (SWI) = ‘6С\ а байт SW2 колирует L,.

Если передающая система не поддерживает услугу по повторной подаче одной и той же команды, она должна лишь отображать ответный TPDU на ответный APDU без какого-либо изменения:

ответный TPDU ответный APDU


SWI - *6С*


SW2 - Lu SW2 Ц,


SW1 - -6С‘


57

Страница 62

ГОСТ Р ИСО/МЭК 7816-4-2004


Если передающая система поддерживает услугу по повторной подаче одной и той же команды, она должна осуществлять повторную подачу того же командною TPDU, присваивая параметру РЗ значение L :


командный TPDU


CLA


INS


PI


Р2


РЗ - SW2


Ответный TPDU состоит из L , байтов, сопровождаемых двумя байтами состояния.

Если L4 меньше или равна Lc, то ответный TPDU отображается на ответный APDL без какого-либо изменения:


ответный TPDU ответный APDU


SWI SW2


L байтов


SWI SW2


L, байтов


Если Lj больше Lc. то ответный TPDU отображается на ответный APDU путем сохранения только первых Lr байтов тела и байтов состояния SWI, SW2:


ответный TPDU ответный APDIJ


SWI SW2


L байтов

L. (< L, ) байтов


SWI SW2


Случаи 2К.4. Последовательность SWI—SW2 ™ 4)XYZ\ исключая '9OU0'

Ответный TPDU отображается на ответный APDU без какого-либо изменении.

А.З Случай 3, короткий

В этом случае Ц. принимает значения от I до 255 и кодируется в байте В, (В, * '00'). Командный APDL отображается на командный TPDIJ без какого-либо изменения:


| CLA

INS

PI

P2

Lc * B,

Lt байтов

| CLA

INS

PI

P2 1

P3 - B,

Lt байтов


командный APDU

командный TPDU


Ответный TPDU отображается на ответный APDU без какого-либо изменения: ответный TPDU


SW1


SW2


ответный APDU

А.4 Случаи 4, к(>|м>гкнй

В этом случае Lc принимает значения от 1 до 255 и кодируется в байте В,. L. принимает значения от 1 до 256 и кодируется в байте BLЦ = '00' означает максимум, т.е. Lc = 256>.

Командный APDU отображается на командный TPDU путем отсечения последнего байта тела:


SWI


SW2


| CLA

INS

PI

P2

B, = Lt

Lc байтов

| CLA

INS

PI

P2 1

P3 = B,

Lc байтов

В,


командный APDU командный TPDU


Случаи 4К.1. Команда не принята

Первый ответный TPDU с карты указывает, что карта прервала выполнение команды: SWI = '6Х\ исключая ’6 Г.

Ответный TPDU отображается на ответный APDU без какою-либо изменения:


ответный TPDU

ответный APDU

Случай 4К.2. Команда принята

Первый ответный TPDU с карты указывает, что карта выполнила команду: последовательность SWI-SW2 - ‘9000*.

Передающая система должна осуществлять подачу карге командного TPDU команды ИЗВЛЕЧЬ ОТВЕТ, присваивая параметру РЗ значение Lc:


SW1 - -6Х '


SW2


SW1 =• -6Х *


SW2


РЗ - BL |


командный TPDU 58


CLA


INS — ИЗВЛЕЧЬ ОТВЕТ


Р2


PI


Страница 63

ГОСТ Р ИСО/МЭК 7816-4-2004


В зависимости от второю ответного TPDU, исходящего с карты, передающая система должна реагировать, как описано выше для случаен 2К.1 — 2К.4.

Случай 4К.З. Команда принята с предоставлением дополнительной информаиии

Первый ответный TPDU с карты указывает, что карта выполнила команду и дает информацию о длине имеющихся байтов данных L,: байт SW1 * *6Г. а байт SW2 кодирует Ц.

Передающая система должна осуществлять подачу карте командного TPDU команды ИЗВЛЕЧЬ ОТВЕТ, присваивая параметру РЗ меньшее из значений L, и L,.:


Р2 |РЗ ■= min (Lf, L,»


командный TPDU


CLA


INS - ИЗВЛЕЧЬ ОТВЕТ


PI


Второй ответный TPDL отображается на ответный APDL без какого-либо изменения: ответный TPDU


РЗ байтов


SWI SW2


ответный APDU


РЗ байтов


SWI SW2


Случай 4К.4. Последовательность SWI—SW2 = '9XYZ', исключая ‘9000'

Ответный TPDU отображается на ответный APDU без какого-либо изменения.

А.5 Случай 2. расширенный

В этом случае Lc принимаег значения от I до 65536 и кодируется в трех байтах: (В, ) = ’00’, (В, Ц В- ) — любое значение (байты В, и В}, имеюшие значение ’0000', означают максимум, т.е. Lc » 65536). Командный APDU имеет следующую структуру.


В, - -00-    В,В, - Le |


командный APDU


CLA


INS


Р2


PI


Случай 2Р.1. Lc s 256, В, ~ '(И)’, последовательность В:В, принимает значения от 'ОООГ до '0100' Командный APDU должен отображаться на командный TPDU путем присвоения параметру РЗ значения


байта В.:


командный TPDU


CLA


1NS


PI


Р2


РЗ - В,


Обработка команды передающей системой должна соответствовать случаю 2К.

Случай 2Р.2. Lc > 256. В, = ‘00*. последовательность В,В. либо равна '0000'. либо принимает значения or *0ЮГ до 'FFFF'

Командный APDU должен отображаться на командный TPDU путем присвоения параметру РЗ значения

•00':


командный TPDU


CLA


INS


Р2


РЗ - *00*


PI


а) Если первый ответный TPDL с карт ы указывает, что карта прервала выполнение команды из-за неверно указанной дли ни (SWI = '6?'). то ответный TPDL должен отображаться на ответный APDU без какого-либо изменения:


ответный TPDU ответный APDU


SW2


SW1 - '67 1


SW2


б)    Если первый ответный TPDU с карты указывает, что выполнение команды прерывается вследствие неверно указанной длины и что правильная длина составляет L, (SWI =■ *6С’ и SW2 ~ 1_д). то передающая система должна завершать обработку, как описано для случая 2К.З.

в)    Если первый ответный TPDU состоит из 256 байтов данных, сопровождаемых последовательностью байтов SWI—SW2 = '9000', это означает, что карта не располагает более чем 256 байтами данных и/или не поддерживает команду ИЗВЛЕЧЬ ОТВЕТ. Передающая система должна в таком случае отображать ответный TPDU на ответный APDU без какого-либо изменения:


256 байтов

SW1- ‘90’

SW2 ■= '00' |

256 байтов

SWI - *90'

SW2 « '00' |


отвежый TPDU

ответный APDU


59

Страница 64

ГОСТ Р ИСО/МЭК 7816-4-2004

г) Если первый или последующий ответный TPDU с карты начинается с байта SW1 ~ '61', то байт SW2 котирует длину L. которая иредстаачяет допатнителыюс количество байтов, доступных для получения с карты (байт SW2, имеющий значение '00', указывает на 256 дополнительных байтов или более). Для определения количества Lm остающихся байтов, которые должны быть изачечены из карты, передающая система должна выполнять следующее вычисление: Lm = Lc — (сумма длин тел ранее принятых ответных TPDU).

Если Lm = 0. го передающая Система должна осуществлять последовательное объединение тел всех принятых ответных TPDU вместе с завершителем последнего принятою ответного TPDU в один ответный APDU.

Если Lm > 0, то передающая система должна осуществить подачу командного TPDU команды ИЗВЛ ЕЧ Ь ОТ ВЕТ, присваивая параметру РЗ меньшее из значений Lx и Lm. Соответствующий ответный TPDU. исходящий с карты, должен обрабатываться:

-    как указано в случае г), если SWI =■ '61',

-    как указано в случае, когда = 0, если SW1 = '90‘.

А.6 Случай 3, расши|к.ннын

В этом случае Lc принимает значения от 1 до 65535 и кодируется в трех байтах: (В,) = '00'. (В, | В.) * '0000'. Командный APDU имеет следующую структуру:

командный APDU | CLA INS Pi Р2 | В, д ‘00*    В,В,    °    Lc    |    Lc    байто*^]

Случай 3P.I. 0 < Lc < 256, В, - W, В, - '00'. В3 * W

Командный APDU отображается на командный TPDU путем присвоения параметру РЗ значения байта

В,:

командный TPDU

| CLA

INS

Р1

1

РЗ = в3

Lc байгов

В этом случае L,. принимает значения от 1 до 255 и кодируется в одном байте. Ответный TPDU отображается на ответный APDU без какого-либо изменения:

SW1

SW2

SW1

SW2

ответный TPDU

ответный APDU

Случай ЗР.2. Lc > 255. В, = ’00', Bj * '00'. В- принимает любое значение

Ест передающая система не поддерживает команду КОНВЕРТ, она должна возвращать ответный APDIJ ошибки, означающий, что длина указана неверно (SW1 = '67'):

SW1

- '67 •

SW2

SWI

- '67 ’

SW2 |

ответный TPDU

ответный APDU

Если передающая система поддерживает команду КОНВЕРТ, она должна осуществлять разбиение APDU на сегменты длиной менее 256 и посылать эти сегменты в порядке их следования в телах последовательных командных TPDU команды КОНВЕРТ:

командный TPDU

| CLA

INS * КОНВЕРТ

Р!

Р2

РЗ

РЗ байгов |

Если первый ответный TPDU, исходящий с карты, указывает, что карта не поддерживает команду КОНВЕРТ (SWI ~ '6LV), то TPDIJ должен отображаться на ответный APDll без какого-либо изменения:

ответный TPDL

SW1

= '6D*

SW2 |

SW1

- W

SW2 |

ответный APDU

Если первый ответный TPDU с карты указывает, что карга поддерживает команду КОНВЕРТ (последовательность SWI—SW2 =» '9000'), то передающая система должна и далее посылать команды КОНВЕРТ, если потребуется:

ответный TPDU

SWI-SW2 = '9000'    |

| CLA IN'S КОНВЕРТ    PI    Р2    |    РЗ    |    РЗ    байтов    |

командный TPDU

60

Страница 65

ГОСТ Р ИСО/МЭК 7816-4-2004


Ответный TPDU,соответствующий последней команде КОНВЕРТ, отображается на ответный APDU без какою-либо изменения:


SWI

SW2 |

SWI

SW2 |


ответный TPDU ответный APDU

А.7 Случай 4, расширенный

В это Vi случае Lc принимает значения от I до 65535 и кодируется в трех байтах: (В, = '00', <В: | В.) * ‘0000’, a Lc принимает значения от 1 до 65536 и кодируется в двух байтах: (BL , | В,) — любое значение (BL_,и BL,

65536). Командный APDU имеет следующую структуру:

Lc байтов |BL_, В, =»


имеюшие значение ‘СЮОО', означают максимум, т.е. L


командный APDU


CLA INS Р1


Р2


Случай 4Р.1. Ц < 256. В, - *00’. В, - ЧЮ\ В, * W

Командный APDU отображается на командный TPDU путем отсечения последних двух байтов BL _, В( и путем присвоения параметру РЗ значения байта В}:

РЗ ■* В, Lc байтов |


командный TPDU


CLA


INS


Р2


PI


В этом случае принимает значения от 1 до 255 байтов и кодируется в одном байте, а) Если SW1 = '6Х' в первом ответном TPDU. исходящем с карты, то ответный TPDU отображается на ответный APDU без какою-либо изменения:


ответный TPDU

SWI = ЬХ‘

SW 2

ответный APDU

SWI - '6Х‘

SW2

б)    Если SW1 = '90' в нервом ответном TPDU, исходящем с карты, то:

-    если Le < 257 (значение последовательности байтов В, ( и В( составляет от '000Г до *0100*>. то передающая система должна осуществлять подачу командною TPDU команды ИЗВЛЕЧЬ ОТВЕТ, присваивая параметру РЗ значение байта BL. Последующая обработка команды передающей системой должна соответствовать вышеприведенным случаям 2К.1—2К.4:

-    если Lc > 256 «значение последовательности байтов BL_, и Bt составляет '0000' или более ’0100’), то передающая система должна осуществлять подачу командною TPDU команды ИЗВЛЕЧЬ ОТВЕТ, присваивая параметру РЗ значение '00'. Последующая обработка команды передающей системой должна соответствовать описанному выше случаю 2Р.2.

в)    Если SW1 = *6Г в первом ответном TPDU. исходящем с карты, то передающая система должна действовать далее, как установлено выше для случая 2Р.2 г).

Случай 4Р.2. L0 > 255. В, ** '00'. В2 * '00*. В} принимает любое значение

Передающая система должна действовать в соответствии с описанным выше случаем ЗР.2 до тех нор. пока командный APDU не будет полностью послан карте. Затем передающая система должна действовать в соответствии с описанным выше случаем 4P.I а), б), в).

61

Страница 66

ГОСТ Р ИСО/МЭК 7816-4-2004


ПРИЛОЖЕНИЕ Б (обязательное)


Транспортировка APDU-сообщений при помощи протокола передачи, обозначаемою Т=1


Б.1 Случай 1

Командный APDU отображается на ин<|юрманионное ноле I-блока без какого-либо изменения: командный APDU


CLA

INS

PI

CLA

INS

PI

.V |


информационное пате


Информационное поле I-блока, получаемого в ответе, отображается на ответный APDU без какого-либо изменения:


SW1


SW2


ннформаиноннос поле ответный APDU


SW1


SW2


Б.2 Случай 2 (коршкнн н расширенный)

Командный APDU отображается на нн(|юрмаиионное ноле I-блока без какого-либо изменения:


CLA

INS

PI

P2

Паче Lc

CLA

INS

PI

P2 1

Поле L

С


командный APDU информационное ноле


Ответный APDU состоит:

-    либо из информационного ноля I-блока, получаемого в ответе;

-    либо из сцепления информационных нолей последовательных I-блоков, получаемых в ответе (эти блоки должны быть связаны в цепочку):


Поле данных


SWI SW2


либо информационное пале


либо сцепление информационных полей


Поле


данных | SWI SW2


ответный APDU


Поле данных


SWI SW2


Б.З Случай 3 (короткий и расширенный)

Команлный APDL отображается без какого-либо изменения:

-    либо на информационное пате одного 1-блока;

-    либо на сцепление информационных палей последовательных I-блоков, которые должны связываться в цепочку:


| CLA

INS

PI

P2

Поле Lt

Поле данных

| CLA

INS

PI

P2 1

Поле Lc

Поле данных


командный APDU


62

Страница 67

ГОСТ Р ИСО/МЭК 7816-4—2004


либо сцепление информационных полей


CLA INS

PI

Р2

Поле Ц

Поле.. |

...

...

1

...

...

данных |


Информационное поле I-блока, получаемого в ответе, отображается на ответный APDU без какого-либо изменения:


информационное поле ответный APDU


SW1


SW2


SW1 SW2


Б.4 Случай 4 (короткий и расширенный)

Командный APDU отображается без какого-либо изменения:

-    либо на информационное ноле одного 1-блока;

-    либо на сцепление информационных полей последовательных I-блоков, которые должны связываться н цепочку:


Поле Lc|


командный APDU


CLA


INS


Р1


Р2 Поле L. Поле данных


Поле lJ


CLA


INS


PI


Р2 Поле L. Поле данных


либо информационное поле


либо сцепление информационных полей


Р2 Поле Lc Поле ...


CLA


INS


Р!


Поле L.


данных


Ответный APDU состоит:

- либо из информационного поля I-блока, получаемого в ответе:

-либо из сцепления информационных полей последовательных I-блоков, получаемых в ответе (эти блоки должны быть связаны в цепочку):


SW1


Пазе данных


SW2


либо информационное поле


либо сцепление информационных полей


Паче

...

...

...

...

...

...

данных |

SW1

SW2

Пате данных

SW!

SW2


ответный APDL


63

Страница 68

ГОСТ Р ИСО/МЭК 7816-4-2004

ПРИЛОЖЕНИЕ В (справочное)

Управление указателя записи

В.1 Случай 1

Случай 1 рассматривает ситуации, связанные с первой командой, подаваемой после осуществления функции выбора (либо в явной, либо в неявной форме). Положение указателя текущей записи (ТЗ) является неопределенным.

Команда    Займе» в oibcic    Положение

СЧИТАТЬ ЗАПИСЫИ)    ’    °    указателя    ТЗ    после    команды

Следующая (идентификатор ■= аа)

Первая с идентиф и кагором аа Если не найдена, тогда ошибка

Считанная запись Неопределенное

Предыдущая (идентификатор = bb)

Последняя с идентификатором bb Если не найдена, тогда ошибка

Считанная запись Неопределенное

Первая

(идентификатор = сс)

Первая с идентификатором сс Если не найдена, тогда ошибка

Считанная запись Неопределенное

Последняя

(идентификатор " dd)

Последняя с идентификатором dd Если не найдена, тогда ошибка

Считанная запись Неопределенное

Следующая (идентификатор ■= 00)

Первая

Считанная запись

Предыдущая (идентификатор = 00)

Последняя

То же

Первая

(идентификатор = 00)

Первая

*

Последняя

(идентификатор = 00)

Последняя

Считанная запись

Запись я 00

Ошибка

Неопределенное

Запись Р сс

Я сс

Если не найдена, тогда ошибка

»

Pl-W, Р2-хххх хЮ1

Ошибка

Р1-*00\ Р2”хххх х110

*

» ij. Р2-ХХХХ хЮ1

Начиная с # jj и заканчивая последней Если запись Я jj не найдена, тогда ошибка

» kk. P2-XXXXXII0

Начиная с последней и заканчивая “ kk

*

Если запись Р kk не найдена, тогда оипебка

В.2 Случай 2

Случай 2 рассматривает ситуации, связанные с последующей командой. Положение указателя ТЗ определено.

Команда    _    ..    Положение

Запись в oibcic

СЧИТАТЬ ЗАПИСЬ(И)    указателя    ТЗ    после    команды

Следующая    Следующая с идентификатором аа    Считанная запись

(идентификатор -    аа)    Если следующая отсутствует, тогда ошибка    Не изменилось

Предыдущая    Предыдущая с идентификатором bb    Считанная запись

(идентификатор =    bb)    Если предыдущая отсутствует, тогда ошибка Не изменилось

Первая

Считанная запись Не изменилось

(идентификатор = сс>

Первая с идентификатором сс Если не найдена, тогда ошибка


Страница 69

ГОСТ Р ИСО/МЭК 7816-4-2004

Команда СЧИТАТЬ ЗАПИСЬ(И\


Положение укай геля ТЗ после команды


Запись и отистс


Последняя

(идентификатор = dd)

Следующая (идентификатор = 00)

Предыдущая (идентификатор = 00)

Первая

(идентификатор ~ 00) Последняя

(идентификатор •» 00) Запись я 00 Запись я ее

Р1-ЧЮ\ Р2-ххххх101 PI—400% Р2=хххх xl 10 #]j, Р2=хххх х 101

“ kk, Р2=хххх х 110

Последняя с идентификатором dd Если не найдена, тогда ошибка

ТЗ + 1

Если ТЗ ■ последняя, тогда ошибка ТЗ - I

Если ТЗ = первая, тогда ошибка Первая

Последняя

ТЗ # ее

Если не найдена, тогда ошибка

Начиная с ТЗ и заканчивая последней

Начиная с последней и заканчивая ТЗ

Начиная с # jj и заканчивая последней Если запись # ц не найдена, тогда ошибка

Начиная с последней и заканчивая ° kk Если запись # kk не найдена, тогда ошибка

Считанная запись Не изменилось

Предшествующая ТЗ ♦ I Не изменилось

Предшествующая ТЗ — 1 Не изменилось

Первая запись

Последняя запись

Не изменилось То же


ПРИЛОЖЕНИЕ Г (справочное)

Использование базовых правил кодирования ACH.I

Г.1 Информационным объект BER-TLV

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

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

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

Если L не является нулем, то поле значения V состоит из L последовательных байтов. Если L — нуль, то информационный объект является пустым: поле значения отсутствует.

Стандарты серии ГОСТ Р ИСО/МЭК 7816 (ИСО/МЭК 7816) не используют в качестве значения тега ни ЧЮ\ ни TF.

Примечание — Перед и между информационными объектами BER-TLV или посте них могут возникать байты со значениями *00* или ‘FF* без какого-либо смыслового содержания (например, как следствие удаленных или измененных TLV-закодированных информационных объектов).

Г.2 Поле кга

Биты Ь8 и Ь7 начального байга поля тега должны кодировать класс тега. т.с. класс информационного объекта.

Ь8—Ь7 * 00 вводят тгг универсального класса.

Ь8—Ь7 *■ 01 вводят тег прикладного класса.

Ь8—Ь7 *■ 10 вводят тег контекстно-зависимого класса.

Ь8—Ь7 *» II вводят тег пользовательского класса.

Бит Ь6 начального байта поля тега должен кодировать тип тега, т.с. тип информационного объекта.

Ь6 * 0 вводит простой информационный объект.

Ь6 » 1 вводит составной информационный объект.

Если биты Ь5—Ы начального байта не все установлены в состояние «1», то они должны кодировать целое

65

Страница 70

ГОСТ Р ИСО/МЭК 7816-4-2004

число, равное номеру тега, которое, следовательно, находится в диапазоне от 0 до 30. В этом случае нате тега состоит из единственного байта.

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

Бит Ь8 каждого байта продолжения, за исключением последнего байта, должен быть установлен в состояние «I*.

Биты Ь7—Ы первою байта продолжения не должны быть все установлены в состояние «0».

Биты Ь7—Ы первого байта продолжения, сиепленныс с битами Ь7—Ы каждого из последующих бантов продолжения, включая биты Ь7—Ы последнего байта, должны кодировать целое число, равное номеру тега (таким образом, строго положительное).

Г.З 11оле длины

В коротком формате поле длины состоит из единственного байта, где бит Ь8 должен быть усганоатсн в состояние «0», а биты Ь7—Ы должны кодировать целое число, равное числу байтов в поле значения. Следовательно, любам длина от 0 до 127 может быть закодирована одним байтом.

В длинном формате пате длины состоит из начального байта, где бит Ь8 должен быть установлен в состояние «I», а биты Ь7—Ы не должны быть все равны, кодируя таким образом положительное целое число, равное числу последующих байтов в поле длины. Эти последующие байты должны кодировать целое число, равное числу байтов в поле значения. Следовательно, любая длина в пределах максимума, установленного для APDU (до 65535 включительно), может быть закодирована тремя байтами.

Прнмечани с — Стандарты серии ГОСТ Р ИСО/МЭК 7S16 (ИСО/МЭК 7816) не используют неопределенную длину, устанавливаемую базовыми правилами кодирования АСН.1 (см. ГОСТ Р ИСО/МЭК 8825).

Г.4 Поле значения

В настоящем стандарте поле значения некоторых простых информационных объектов BER-TLV содержит ноль, один или большее число информационных объектов SIMPLE-TLV.

Поле значения любого другого простого информационного объекта BER-TLV содержит ноль, один или большее число элементов данных, задаваемых в описании инфорхпшионного объекта.

Поле значения каждого составного информационного объекта BER-TLV содержит ночь, один или большее число информационных объектов BER-TLV.

ПРИЛОЖЕНИЕ Д (справочное)

Примеры профилей карт

Д.1 Введение

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

Д.2 Профиль М

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

-    прозрачная структура;

-    линейная структура с записями фиксированной длины.

Команды:

-    СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ и ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ с: байтом РI, где бит Ь8 = 0,

длинами до 256 байтов включительно:

-    СЧИТАТЬ ЗАПИСЫИ) и ОБНОВИТЬ ЗАПИСЬ с байтом:

Р2. где биты Ь8—Ь4 ■» 0.

Р2. где бит ЬЗ « 1,

Р2. где последовательность битов ЬЗ—Ь2—Ы = 000, 001. 010 или 011. и байтом PI * 0;

-    ВЫБРАТЬ ФАЙЛ с последовательностью байтов РI—Р2 ■= *0000';

66

Страница 71

ГОСТ Р ИСО/МЭК 7816-4-2004

-    ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ с последовательностью байтов PI —Р2 = '0001* или ‘0002';

-    ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ с последовательностью байтов Р1-Р2 - ‘0000*.

Д.З Профиль N

Этот профиль яатяется таким же. как профиль М, плюс дополнительная опция Р1 = *04' в команде ВЫБРАТЬ ФАЙЛ.

Д.4 Профиль О

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

-    прозрачная структура;

-    линейная структура с записями фиксированной длины:

-    линейная структура с записями переменной длины;

-    циклическая структура с записями фиксированной длины.

Команды:

-    СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ. ВВЕСТИ ДВОИЧНОЕ ЗНАЧЕНИЕ и ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ с:

байтом PI, где бит Ь8 = 0. длинами до 256 байтов включительно:

-    СЧИТАТЬ ЗАПИСЬ(И), ВВЕСТИ ЗАПИСЬ и ОБНОВИТЬ ЗАПИСЬ с байтом:

Р2. где биты Ь8—Ь4 ” 0,

Р2. где бит ЬЗ *■ I.

Р2. где последовательность битов ЬЗ—Ь2—Ы =* 000. 00!, 010 или 011, и байтом Р1 ■= 0;

-    ПРИСОЕДИНИТЬ ЗАПИСЬ с последовательностью байтов PI—Р2 ‘0000’:

-    ВЫБРАТЬ ФАЙЛ с байтом:

PI - W. ‘0Г, *02'. '03'. *04\ '08‘ или *09*,

Р2 - -00-;

-    ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ с последовательностью байтов Р1—Р2 « *0001' или '0002';

-    ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮс последовательностьюбайтов Р!-Р2 - ’0000‘;

-    ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ с последовательностью байтов Р1-Р2 = *0000*;

-    СОЗДАТЬ ЗАДАЧУ с последовательностью байтов Р! — Р2 - ’0000’.

Д.5 Профиль Р

В картах этого профиля предусматривают, как минимум. Следующие возможности и команды. Структуры файлов — прозрачная структура.

Байты предыстории:

-    данные об услугах, предоставляемых картой (ровны '3188');

-    исходные данные доступа (равны ’4164’).

Команды:

-    СЧИТАТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ и ОБНОВИТЬ ДВОИЧНОЕ ЗНАЧЕНИЕ с.-байтом PI, где бит Ь8 - 0,

длинами до 64 байтов включительно;

-    ВЫБРАТЬ ФАЙЛ с последовательностью байтов Pi — Р2 ” '0400';

-    ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ с последовательностью байтов Р1—Р2 ** *000Г или ‘0002’;

-    ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИ Юс последовательностью байтов PI-P2 - ‘0000’.

Д.6 Профиль Q

В картах этого профиля предусматривают, как минимум, следующие возможности и команды.

Байты предыстории:

-    исходные данные доступа (равны ’45‘ плюс команда ИЗВЛЕЧЬ):

-    функциональные возможности карты (равны '7180').

Безопасный обмен сообщениями.

Команды:

-    ИЗВЛЕЧЬ ДАННЫЕ и ПОМЕСТИТЬ ДАННЫЕ с тегом в байтах PI. Р2:

-    ВЫБРАТЬ ФАЙЛ с последовательностью байтов Р1 — Р2 *■ *040Г, '0402' или '0403';

-    ВЫПОЛНИТЬ ВЕРИФИКАЦИЮ с байтом Pi - W;

-    ВЫПОЛНИТЬ ВНУТРЕННЮЮ АУТЕНТИФИКАЦИЮ;

-    ВЫПОЛНИТЬ ВНЕШНЮЮ АУТЕНТИФИКАЦИЮ;

-    СОЗДАТЬ ЗАДАЧУ.

67

Страница 72

ГОСТ Р ИСО/МЭК 7816-4-2004

ПРИЛОЖЕНИЕ Е (справочное)

Использование бсюпасною обмена сообщениями

Е.1 Сокращения

В настоящем приложении применяют следующие сокращения:

СС — криптографическая контрольная сумма (cryptographic checksum);

CG — криптограмма (cryptogram);

СН — заголовок команды (CLA, INS, PI. Р2) (command header);

CR — управляющая ссылка (control reference);

FR — ссылка на файл (file reference);

KR — ссылка на ключ (key reference);

L — длина (length);

LE — значение L. » незащищенной команде (один или два байта, кодирующих положительное целое число без знака; нулевое значение означает максимум);

РВ — байты незначащей информации (байт со значением '80', за которым следуют or 0 до k—1 бай гон со значением ’00‘. где к — длина блока) (padding bytes);

PI — байт индикатора заполнения незначащей информацией (padding indicator byte):

PV — незашифрованное значение (plain value);

RD — описатель ответа (response descriptor);

T — rer (tag);

| — сцепление.

E.2 Криптографическая контрольная сумма

В соответствии с 5.7 использование криптографических контрольных сумм (см. 5.6.3.1) представлено для четырех случаев, определяемых в таблице 4 и на рисунке 4. В приведенных примерах значение Lcc равняется четырех!. CLA* указывает на использование безопасного обмена сообщениями, т.е. в байге CLA, который равен ‘ОХ’. *8Х\ Ч)Х' или *АХ* в соответствии с таблицей 9, биг Ь4 равен единице.

Случай 1. Нет данных, нет данных.

Незащищенная пара команда—ответ следующая:

Заголовок команды    Тело    команды

CLA INS PI Р2

Пустое

Тсчо ответа

Завершитель ответа

Пустое

SWI SW2

Случай 1а. Защита состояния не применяется.

Защищенный командный APDU следующий:

Заголовок команды

Тело команды

CLA* INS PI Р2

Новое пале Lc (один байт, равный ’Об") || Новое пате данных (шесть байтов)

Новое поле данных — один информационный обьскт

Тсс II Lcc ИОС-

Данные, охватываемые СС (бит Ь3=1 в байте CLA*), — один блок СН | РВ

Защищенный ответный APDU следующий:

Тело ответа

Завершитель ответа

Пустое

Новые SWI SW2

68

Страница 73

ГОСТ Р ИСО/МЭК 7816-4-2004

Случай 16. Защита состояния применяется. Защищенный командный APDU следующий:

Заголовок команды    Тело    команды

CLV INS PI Р2

Новое поле Ц. (один байт, равный '06‘) || Новое поле данных (шесть байтов) || Новое поле L« (один байт, равный '1К)‘)

Новое пате данных — один ши|юрманиоиный объект

Тес 1 кс 1 СС

Данные, охватываемые СС (бит Ь3= 1 в байте CLA*), — одни блок СН Ц РВ

Защищенный ответный APDU следующий:

Тело ответа

Завершитель ответа

Новое поле данных

Новые SWI SW2

Новое пате данных — два информационных объекта: Tsw (бит Ы-1) || Lsw | SW (новые SWI, SW2) |

Тес! Цс КС

Данные, охватываемые СС, — один блок Tsw (бит b 1-1) || Lsw I SW | РВ

Случай 2. Her данных, данные.

Незащищенная пара команда—от вет следующая:

Заголовок команды

Тело команды

CLA INS PI Р2

Поле Lc

Тело ответа

Завершитель ответа

Поле данных

SWI SW2

Защищенный командный APDU следующий:

Закхюиок команды

Тело команды

CLA* INS PI Р2

Новое поле Ц-1| Новое пате данных 1 Новое иоле Ц. (один или два байта, равные ’00")

Новое пояс данных — два информационных объекта: TLt (бит Ы = 1) || Lle | LE ||

Тссс!СС

Данные, охватываемые СС:

-    один блок (СС1 и бит Ь3=0 в байге CLA*)

TLt (бит Ы-1) J LLt | LE || РВ;

-    два блока (если бит Ь3=1 в байге CLA*):

СН II РВ II

TLb (биг Ь1 =• I) U Lle | LE || РВ Защищенный ответный APDU следующий:

Тело ответа

Завершитель ответа

Новое пате данных

Новые SWI SW2

69

Страница 74

ГОСТ Р ИСО/МЭК 7816-4-2004

Новое иоле данных — три информационных объекта:

Tpv (битЫ-1)|| LPV || PVH

(Tsw (бит Ы-1) J Ц.* И SW (новые SWl, SW2)| |

Tcc Ike ICC

Данные, охватываемые СС. — один или более блоков

Тру (бит Ы—1>|| Lpv || PV || |TSW (бит Ы—1) || Lsw | SW | || PB

Случай 3. Данные, нет данных.

Незащищенная пара команда—ответ следующая:

Заголовок команды

Тело

команды

| CLA INS PI Р2

Поле Ц. |

Поле данных |

Тело ответа

Завершитель ответа

| Пустое |

SWl SW2 |

Случай За. Защита состояния не применяется. Защищенный командный APDU следующий:

Заголовок команды

Тело

команды

| CLA* INS PI Р2

Новое поле Lc |

Новое ноле данных |

Новое поле данных — два информационных объекта: Tpv (бит Ы—1) Ц Lpv | PV В

Тсс Ike II СС

Данные, охватываемые СС:

-    один или более блоков (если бит ЬЗ’О в байте CLA*)

Tpv (бит b 1 = 1) || Lpv |! PV || РВ;

-    два или более блоков (если бит Ь3= 1 в байте CLA“):

СН | РВ |

TpV (битЫ-1) В Lpv 1 PV В РВ Защищенный ответный APDU следующий:

Тело ответа

Завершитель ответа

| Пустое |

Новые SWl SW2 |

Случай 36. Защита состояния применяется. Защищенный командный APDU следующий:

Заголовок команды

Тело

команды

CLA* INS PI Р2

Новое поле L< || Новое иоле данных |j

Новое иоле Ц. (один или два байта, равные ’00’)

Новое поле данных — два информационных объекта: Тп (битЫ-l)| LPV || PV Ц

Тсс Ike ICC

Данные, охватываемые СС:

-    один или более блоков (если бит ЬЗ—0 в байте CLA*)

Tpv (бит bl-l) || LPV В PV Ц РВ;

-    два или более блоков (если бит Ь3=1 в байте С LA*>:

СН | РВ |

Tpv (бит Ы-1) Ц ^ I PV || РВ

70

Страница 75

ГОСТ Р ИСО/МЭК 7816-4-2004

Зашишснный ответный APDU следующий:

Тела отнега    Завершитель    отпета

Новое поле ланных

Новые SWI SW2

Новое поле данных — два информационных объекта: Tsvk. (бит bl-l) || L*w ! SW (новые SWI, SW2)| |

Тсс 1 Чс 1 СС

Данные, охватываемые СС, — один блок TsW (битЬ 1-1) || LbW | SW | В РВ

Случай 4. Данные, данные.

Незащищенная пара команда—ответ следующая:

Заголовок команды

Тело команды

CLA INS PI Р2

Поле Ц, | Паче данных | Папе Le

Тело ответа

Завершитель ответа

Поле ланных

SWI SW2

Зашишснный командный APDU следующий:

Заголовок команды

Тело команды

CLA* INS PI Р2

Новое поле L< || Новое пате данных J

Новое поле Ц (один или два байта, равные *00*)

Новое поле данных — три ин^юрмаиионных объекта:

TPV (бит Ы* 1) Ц LpV 1 PV |

TLt (бит bl-I) Ц LLe | LE ||

Тсс 1 Lee 1 СС Данные, охватываемые СС:

-    один или более блоков (если бит Ь3~0 в байте CLA*)

Тру (бит Ы»1) В Lpy I PV | TLt (бит Ы = 1) || Llc 1 LE | РВ:

-    два или более блоков (если бит Ь3=1 в байте CLA*):

СН || РВ Ц

Tpv (бит Ы=*1) Ц Lpv | PV 1 Т (бит bl = l) || L, fc || LE || PB Зашишснный ответный APDU следующий:

Тело ответа

Завершитель ответа

Новое иоле данных

Новые SWI SW2

Новое пате ланных — три информаиионных объекта:

T|»v (бит Ы«1) | Lpv | PV |

|TSW (бит Ы=1) || Lsw || SW (новые SWI, SW2)| ||

Tcclk c ll СС

Данные, охватываемые СС, — один или более блоков

TPV(битЫ-1) || LPV || PV |1 |TSW <битЫ-1)|| J SW 11 РВ

Е.З Крттираммы

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

Страница 76

ГОСТ Р ИСО/МЭК 7816-4-2004

Случай а. Незашифрованные данные, не закодированные информационными объектами BLR-TLV. Поле данных

Tp,cu«LP.coll Р' КС Данные, переносимые CG. — один или более блоков: не BER-TLV закодированные данные и байты незначащей информации в соответствии с Р1.

Случай б. Незашифрованные данные, закодированные информационными объектами BER-TLV. Поле данных

TcoHkoliCG Данные, переносимые CG, — строка скрываемых байтов: информационные объекты BER-TLV (незначащая информация, зависящая от алгоритма и режима его работы).

Е.4 Управляющие ссылки

Показано использование управляющих ссылок (см. 5.6.5.1).

Поле данных команды

Т« В Ц:к И CR ,

где CR = Т,.к || LbK || FR|Tkr || LKK || KR Е.5 Описатель ответа

Показано использование описателя ответа (см. 5.6.5.2).

Поле данных команды

^ко I LKi) II RO ,

где RD - TpV || W | Tcc | ЧЮ'

Поле данных ответа

Tpv I LKV || PV || ТсС 1 LcC | CC

E.6 Команда КОНВЕРТ

Показано использование команды КОНВЕРТ (см. 7.2).

Поле данных команды

ТР, со И lki СО И Р* II CG Данные, переносимые CG: командный APDU, начинающийся с СН. и байты незначащей информации в соответствии с РЕ Поле данных ответа

WIWII р| IICG

Данные, переносимые CG: ответный APDU

и байты незначащей информации в соответствии с РЕ

72

Страница 77

ГОСТ Р ИСО/МЭК 7816-4-2004

УДК 336.77:002:006.354    ОКС    35.240.15    Э46    ОКГ1    40 8470

Ключевые слона: обработка данных, обмен информацией, идентификационные карты. 1С-карты, сообщения, способы зашиты, аутентификация

73

Страница 78

Редактор В. П. Огурцоя Технический редактор //.С. Гришакоаа Корректор В. if. Варгпцова Компьютерная верстка С.В. Рябп+ои

Изд. лип. Nl- 02354 01 14.07.2000. Сдано в набор 04.0S.2004. Подписано п печать 03.09.2004. Усд.иеч.л. 8.84. Уч.-ихд-i. 8,

Тираж 244 ж*. С 3709. За*. 771.

И ПК И злагельство стандартов, 107076 Москва. Колодежый пер., 14. hUp://www.xtandardv.ru    e-mail:    infoOstandJrdx.ru

Набрано в Издательстве на ПЭВМ Отпечатано в филиале ИПК Издательство стандартен — тип. "Московский печатник", 105062 Москва. Лядин пер.. 6.

Плр Si 080102