2.9.1 Открытие-закрытие
После открытия в начале протокола ПРИКЛАДНОЙ уровень устанавливается в состояние ожидания флага синхронизации от СЕАНСОВОГО уровня. Если более низкие уровни выполняют свои задачи правильно, флаг SЕSАР позволяет ПРИКЛАДНОМУ уровню синхронизироваться (подключиться) и начать работу со стадии инициализации (состояние 1).
ПРИКЛАДНОЙ уровень отключается, как только установлен флаг для более низкого СЕАНСОВОГО уровня.
ПРИКЛАДНОЙ уровень может быть отключен только ФИЗИЧЕСКИМ уровнем.
2.9.2 Действия, связанные с ПРИКЛАДНЫМ уровнем в режиме дистанционного считывания
Структура, поступающая во вторичную станцию, включает 1 байт данных TAB(i), определяющий тип данных, которые нужно читать автоматически. Соответствие между кодом байта TAB(i) и связанной таблицей данных должно быть определено для каждого применения.
Если тип TAB(i) не известен вторичной станции, ПРИКЛАДНОЙ уровень устанавливает флаг DNA в 1, так что структура отрицательного подтверждения ретранслируется первичной станцией.
2.9.3 Действия, связанные с ПРИКЛАДНЫМ уровнем в режиме дистанционного программирования
Первые 16 байтов поля данных предназначены для идентификационных параметров.
2.9.3.1 Принцип дуплексной идентификации
Идентификация выполняется посредством обмена случайными числами, закодированными с использованием секретного ключа, специфического для каждого устройства (Ki). Случайные числа определены в 8 байтов (см. приложение Г), они закодированы в 8 байтах с использованием 8-байтового ключа и DES-алгоритма, описанного в приложении Б.
Эта дуплексная идентификация налагается на структуры P1, P2 и Р3 следующим образом:
Ключ Ki известен ПСУ и вторичной станции.
Случайное число NA1 генерируется ПСУ и передается в поле ZA1 структуры Р1; поле ZA1 пусто (в нуле).
При поступлении во вторичную станцию поле ZA1 декодируется в соответствии с DES-алгоритмом, чтобы получить закодированное случайное число NA1К.
Возвращаемая структура Р2 содержит случайное число NA1К в поле ZA1, случайное число NA2, сгенерированное вторичной станцией, - в поле ZA2.
При получении Р2 ПСУ декодирует поле ZA1, используя DES-алгоритм и ключ Ki. Результирующее NA1' сравнивается с NA1. Если NA1' = NA1, ПСУ полагает, что вызванная вторичная станция идентифицирована (подтвердила свою подлинность). В противном случае ПСУ полагает, что кто-то пытается "говорить" по линии вместо требуемого устройства; тогда оно прерывает дистанционный программный обмен без перезапуска и входит в состояние идентификационного отказа.
После правильной идентификации вторичной станции ПСУ кодирует случайное число NA2, сгенерированное вторичной станцией, и передает его в поле ZA2 структуры Р2. Вторичная станция получает закодированное число NA2K, которое она передает в структуру РЗ в поле ZA2; поле ZA1 - пусто (в нуле).
Вторичная станция декодирует поле ZA2 с использованием ключа Ki и DES-алгоритма; она таким образом получает NA2', которое она сравнивает с предварительно сгенерированным случайным числом NA2. Если NA2 = NA2', вторичная станция полагает, что ПСУ идентифицировано (подтвердило свою подлинность). В противном случае ПРИКЛАДНОЙ уровень вторичной станции устанавливает флаг DNA в 2, так что структура отрицательного подтверждения ретранслируется первичной станции.
Структура Р4 передается вторичной станцией, чтобы показать, что дуплексная идентификация была подтверждена и что она также была в состоянии проверить правильность данных дистанционного программирования, сохраненных после структуры Р1.
Принцип такого обмена, следовательно, обеспечивает защиту от предпринимаемого постороннего вмешательства при дистанционном программировании.
Принцип обмена при дистанционном программировании с идентификацией должен использоваться всякий раз, когда любой элемент данных в вызываемой вторичной станции изменяется (переустановка в нуль, изменение во внутренних параметрах и т.д.). Следовательно, дистанционное считывание никогда не изменяет данные, переданные вторичной станцией.
2.9.3.2 Действие, связанное с полем данных ZDT