Безопасный обмен сообщениями (SM) предназначается для защиты передаваемых на карту и с карты сообщений (или их части) посредством обеспечения двух основных защитных функций: аутентификации данных и конфиденциальности данных.
Безопасный обмен сообщениями достигается путем применения одного или большего числа механизмов защиты. Каждый такой механизм включает в себя алгоритм, ключ, аргумент и, зачастую, исходные данные.
Передача и прием полей данных могут прерываться исполнением механизмов защиты. Настоящее описание не препятствуют определению посредством последовательного анализа, какие механизмы и элементы защиты должны использоваться для обработки оставшейся части поля данных.
Два или большее число механизмов защиты могут использовать один и тот же алгоритм вместе с разными режимами работы (см. ГОСТ Р ИСО/МЭК 10116). Представленные описания правил заполнения блоков данных незначащей информацией не препятствуют такой возможности.
Настоящий подраздел определяет три типа информационных объектов, связанных с SM:
- информационные объекты с незашифрованным значением, предназначаемые для переноса незашифрованных данных;
- информационные объекты механизмов защиты, предназначаемые для переноса вычисленных результатов механизмов защиты;
- информационные объекты вспомогательной функции защиты, предназначаемые для переноса управляющих ссылок и описателей ответа.
5.6.1 Концепция формата SM
В каждом сообщении, вовлекающем механизмы защиты, основанные на криптографии, поле данных должно подчиняться базовым правилам кодирования АСН.1 (см. ГОСТ Р ИСО/МЭК 8825 и приложение Г), если в байте класса не указано иначе (см. 5.4.1).
Представленный в поле данных формат SM может быть выбранным:
- неявно, т.е. быть известным до подачи команды;
- явно, т.е. быть зафиксированным при помощи байта класса (см. таблицу 9).
Формат SM, определяемый в настоящем стандарте, кодируется с использованием информационных объектов BER-TLV, при этом:
- для SM зарезервирован контекстно-зависимый класс тегов (диапазон от '80' до 'BF');
- могут быть представлены информационные объекты других классов (например, информационные объекты прикладного класса);
- некоторые информационные объекты, связанные с SM, являются рекурсивными: их поле незашифрованного значения также кодируется информационными объектами BER-TLV, и там для SM также зарезервирован контекстно-зависимый класс.
В контекстно-зависимом классе бит b1 тега указывает, подлежит (b1=1) или не подлежит (b1=0) информационный объект, связанный с SM, объединению при вычислении информационного объекта для аутентификации. Если представлены информационные объекты других классов, то они подлежат объединению при таком вычислении.
5.6.2 Информационные объекты с незашифрованным значением
Для данных, не закодированных в информационных объектах BER-TLV, и для информационных объектов BER-TLV, включающих в себя объекты, связанные с SM, обязательной является инкапсуляция. Она не является обязательной для информационных объектов BER-TLV, не включающих в себя объекты, связанные с SM. В таблице 19 представлены незашифрованные информационные объекты для инкапсуляции.
Таблица 19 - Информационные объекты с незашифрованным значением
Тег | Значение |
Незашифрованное значение состоит из: | |
'В0', 'В1' | - информационных объектов BER-TLV, включающих объекты, связанные с SM |
'В2', 'ВЗ' | - информационных объектов BER-TLV, но не связанных с SM |
'80', '81' | - данных, не закодированных информационными объектами BER-TLV |
'96', '97' | - значения в незащищенной команде |
'99' | - информации о состоянии (например, из байтов SW1, SW2) |
5.6.3 Информационные объекты для аутентификации
5.6.3.1 Информационный объект "криптографическая контрольная сумма"
Вычисление криптографических контрольных сумм (см. ИСО/МЭК 9797) предполагает наличие исходного контрольного блока, секретного ключа и алгоритма блочного шифрования, который не может быть обратимым. Алгоритм под управлением связанного с ним ключа, по существу, преобразует блок текущего ввода из байтов (обычно восемь или 16) в блок текущего вывода той же длины.
Вычисление криптографической контрольной суммы выполняется последовательно по этапам.