ГОСТ Р ИСО/МЭК 13157-1—2015
соответствующем подразделе ниже. Его использование, структура и кодирование во всех остальных
PDU определены в криптографической части NFC-SEC. которая определяет PID.
11.4 Завершить (TMN)
TMNPDU состоит только из поля SEP. как указано в таблице 2.
11.5 Ошибка (ERROR)
ERROR PDU начинается с поля SEP. и если в нем содержится полезная нагрузка, то данная
полезная нагрузка должна содержать октетную строку, завершающуюся нулевым символом в поле
Полезная нагрузка NFC-SEC.
12 Протокольные правила
Настоящий раздел определяет правила для протокола NFC-SEC.
12.1 Ошибки протокола и ошибки служб
- При получении PDU объектом NFC-SEC в состоянии, когда это не разрешено, он должен
ответить с помощью ERROR PDU.
- При получении NFC-SEC-объектом PDU, который он не поддерживает или с недопустимым
содержимым, определенным в соответствующем стандарте шифрования NFC-SEC, он должен
ответить с помощью ERROR PDU.
- При получении или отправке NFC-SEC-объектом ERROR PDU он должен установить
состояние протокола в «не занято».
- При получении или отправке NFC-SEC-объектом ERROR PDU он должен отправить ERROR
SDU пользователю NFC-SEC.
- При получении SDU объектом NFC-SEC с недопустимым содержимым или в состоянии, когда
это не разрешено, он должен ответить с помощью ERROR SDU и не менять состояние.
12.2 Правила взаимодействия
- Реализация NFC-SEC может устанавливать верхний предел длины NFC-SEC-SDU. Запросы
на пересылку данных, определенные в А.2. с более длинными SDU должны быть отклонены.
- Один NFC-SEC-PDU должен содержать ровно один NFC-SEC-SDU.
- Объекты NFC-SEC должны отбросить все повторяющиеся NFC-SEC-PDU. как указано в
следующем подразделе.
12.3 Целостность последовательности
Стандарты шифрования NFC-SEC, обеспечивающие целостность последовательности, должны
определять механизм целостности последовательности в соответствии с нижеследующим:
- Каждый объект NFC-SEC должен поддерживать свою SNV.
- При создании SCH получатель должен инициализировать свой SNV с тем же начальным
значением, что и SNV отправителя, как указано в криптографической части NFC-SEC, которая
определяет PID.
- Криптографическая часть NFC-SEC, которая определяет PID. указывает диапазон значений
SNV.
- Сразу после отправки ENC объект NFC-SEC должен увеличить свою SNV на 1 и затем
поместить ее в поле SN.
- Поле SN должно быть защищено механизмом защиты PDU, чтобы внесение любого
изменения могло быть обнаружено.
- После получения ENC объект NFC-SEC должен извлечь поле SN и сравнить его со своим
значением SNV. Если SN равняется SNV. то PDU не должно представляться на рассмотрение
пользователю NFC-SEC, а должно отбрасываться, при этом состояние и SNV должны оставаться
неизменными, как указано в А.4.4.
- Объект NFC-SEC должен увеличить свою SNV на 1.
Состояние «содержимое PDU допустимо?» в А.4.4 должно быть true, если SN равняется SNV. в
противном случае - false.
П р и м е ч а н и е —В случае наличия ошибок целостности последовательности NFC-SEC прерывает SCH
и уведомляет о данном инциденте обоих равноправных пользователей NFC-SEC. Дальнейшие действия —
восстановить SCH с новыми ключами или прервать транзакцию - зависят от пользователей NFC-SEC.
12.4 Криптографическая обработка
Перед отправкой и после получения PDU. отличных от TMN и ERROR, происходит
криптографическая обработка, как указано в криптографической части NFC-SEC. которая определяет
PID. Если результат криптографической обработки входящих PDU является отрицательным, то
решение «содержимое PDU допустимо?» в приложении А будет false.
7