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

- полностью вне МУС,

- частично снаружи и частично внутри ICC, поэтому данные разбиваются на две части,

- полностью внутри ICC в зависимости от функциональности карты и организации программного обеспечения.

4. В зависимости от алгоритма подписи хэш-код должен быть отформатирован форматным механизмом Format_2. Обычно это механизм заполнения, как описано в разделе 12.4. Результатом этого форматирования является вход цифровой подписи (dsi). Определены несколько механизмов формата, некоторые из них оцениваются как «слабые» и не должны использоваться. Каталоги алгоритмов охватывают эти аспекты и предлагают схемы форматирования, которые утверждаются до указанной даты.

5. Окончательный dsi (Digital Signature Input) - это строка, которая должна быть преобразована сигнатурным алгоритмом. Результатом является цифровая подпись DS [<ключ>] (dsi).

7.5 Генерация подписи

7.5.1 Общие положения

На основе примера, представленного на рис. 5, могут быть использованы различные процессы для вычисления значения хэш-функции, которое должно быть подписано. Выбор процесса может основываться на соображениях безопасности, особенно в случае RSA. Если используется алгоритм ECDSA, типичным потоком будет «отсутствие хеширования в карточке».

7.5.2 Отсутствие хэширования карты

НЕ нашли? Не то? Что вы ищете?

Данные, которые должны быть подписаны, полностью хэшируются вне ICC. В зависимости от алгоритма хэш-код передается и подписывается ICC с помощью команды PSO: ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ.

Выполнение потока 1 из 1

Таблица 18 - Вычисление подписи (без хеширования в ICC) - команда APDU


Command
Parameter

Meaning

CLA

согласно ISO / IEC 7816-4

INS

'2A'        ВЫПОЛНИТЬ БЕЗОПАСНОСТЬ

P1

'9E'        ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ

P2

'9A'        'данные, которые должны быть подписаны'

Поле Lc

Длина поля данных команды

Данные поля

данных должны быть подписаны

Поле Le

'00'


Структура и содержание APDU относятся к ISO/IEC 7816-8, 5.2.

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


Таблица 19 - Расчет подписи (без хеширования в ICC) - ответ APDU


Параметры отклика

Значение

Поле данных

простая подпись без дальнейшего кодирования TLV

SW1-SW2

См. ISO / IEC 7816-4


7.5.3 Частичное хеширование

Первая часть данных, которые должны быть подписаны, хэшируется вне ICC. Промежуточный хеш-код передается в ICC командой PSO: HASH вместе с оставшейся частью данных. После этого подпись генерируется командой PSO: ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ.

Выполнение потока 1 из 2

Таблица 20 - Расчет подписи 1 из 2 (промежуточный хэш-код передачи) - команда APDU


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

Значение

CLA

Согласно ISO/IEC 7816‑4

INS

'2A'        ВЫПОЛНЕНИЕ РАБОТЫ БЕЗОПАСНОСТИ

P1

'90'        хэш

P2

'A0'        input template for hash computation

Поле Lc

входной шаблон для вычисления хэша

Поле данных

'90' L90 <промежуточный хеш-код, за которым следует счетчик бит-бит>

'80' L80 <данные должны быть хэшированы>


Структура и содержание APDU относятся к ISO / IEC 7816-8, 5.2.

Для содержимого поля данных команды или DO 'A0' см. 12.3 «Хэш-входные форматы».

Поле данных ответа отсутствует.

Таблица 21 - Ответ PSO-Hash


Параметры отклика

Значение

Поле данных

отсутствует

SW1-SW2

См. ISO / IEC 7816-4


Выполнение потока 2 из 2

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

Таблица 22 - Расчет подписи 2 из 2 (подсчетная подпись) - команда APDU


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

Значение

CLA

Согласно ISO/IEC 7816‑4

INS

'2A'        ВЫПОЛНЕНИЕ РАБОТЫ БЕЗОПАСНОСТИ

P1

'9E'  ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ

P2

'9A'  должны быть подписаны

Поле Lе

входной шаблон для вычисления хэша

Поле данных

'xx'


Структура и содержание APDU относятся к ISO / IEC 7816-8, 5.2.

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

Таблица 23 - Ответ PSO - ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ


Параметры отклика

Значение

Поле данных

Чистая подпись

SW1-SW2

См. ISO / IEC 7816-4 


7.5.4 Все хеширование в ICC

Данные, которые должны быть подписаны, хэшируются внутри ICC. Это выполняется командой PSO: HASH. Наконец, подпись генерируется командой PSO: ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ.

Выполнение потока 1 из 2

Таблица 24 - Вычисление подписи 1 из 2 (все хэширование в ICC) - команда APDU


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

Значение

CLA

Согласно ISO/IEC 7816‑4

INS

'2A'        ПСО: HASH

P1

'90'  Операция хеширования

P2

'80'  равное значение

Поле Lc

xx'

Поле данных

Данные должны быть хэшированы


Структура и содержание APDU относятся к ISO / IEC 7816-8, 5.2.

Поле данных ответа отсутствует.

Таблица 25 - Вычисление подписи 1 из 2 (все хэширование в ICC) - ответ APDU


Параметры отклика

Значение

Поле данных

отсутствует

SW1-SW2

См. ISO / IEC 7816-4 


Выполнение потока 2 из 2

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

Таблица 26 - Расчет подписи 2 из 2 (подсчетная подпись) - команда APDU


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

Значение

CLA

согласно ISO/IEC 7816‑4

INS

'2A'        ВЫПОЛНЕНИЕ РАБОТЫ БЕЗОПАСНОСТИ

P1

'9E'        '9E' ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ

P2

'9A'        должны быть подписаны

Поле Le

'00'


Структура и содержание APDU относятся к ISO / IEC 7816 8, 5.2.

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

Таблица 27 - Ответ PSO - ВЫЧИСЛИТЕЛЬНАЯ ЦИФРОВАЯ ПОДПИСЬ


Параметры отклика

Значение

Поле данных

простая подпись

SW1-SW2

См. ISO / IEC 7816-4 

a В случае ECDSA цифровая подпись рассчитывается в соответствии с ISO / IEC 15946-5, для формата, указанного в [27], глава A.7.4.1

7.6 Выбор различных ключей, алгоритмов и форматов ввода

7.6.1 Общие положения

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

Если ICC поддерживает несколько алгоритмов цифровой подписи или различные форматы ввода цифровой подписи (см. Раздел 12), тогда алгоритм или формат DSI должны быть выбраны. Однако возможно, что либо (например, алгоритм) неявно указан, если выбран ключ.

Кроме того, возможно, что алгоритм, ключ или формат ввода подписи неявно не известны и не определены однозначно.

Во всех вышеперечисленных случаях соответствующий параметр должен быть выбран явно с помощью команды УПРАВЛЕНИЕ БЕЗОПАСНОСТЬЮ ОКРУЖАЮЩЕЙ СРЕДЫ, как описано в ISO/IEC 7816-4, 11.5.11. Это может быть достигнуто

- восстановление существующего SE (см. 7.6.2)

- изменение KeyID / [AlgID] в шаблоне (см. 7.6.4)

7.6.2 Восстановление существующего SE

Выполнение потока 1 из 1

Таблица 28 - УПРАВЛЕНИЕ БЕЗОПАСНОСТЬЮ ОКРУЖАЮЩЕЙ СРЕДЫ - команда APDU


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

Значение

CLA

согласно ISO/IEC 7816‑4

INS

'22'        УПРАВЛЯЕТСЯ БЕЗОПАСНОСТЬЮ ОКРУЖАЮЩЕЙ СРЕДЫ

P1

'F3'  ВОССТАНОВЛЕНИЕ

P2

SE #  Номер среды безопасности 


Структура и содержание APDU относятся к ISO / IEC 7816-4, 11.5.11.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20