ГОСТ Р ИСО/МЭК 7816-4—2013
Защищенный командный APDU (посылаемый от USC)
SMC Интерфейс
87-L-PCI = Ol-CG(AaHHbieответа>-’99’-’02’-’9000-SE’-tW’-CC
9000
PSOVERIFYСС
’80’-L-fl’87-L-PCt = 01-CG(fl3HHbieответа)}-
"99-’02-9000 -’8Е‘*’04-СС
•9000’
PSO OECIPHER
СG(Данные ответа)
Данные ответа
9000’
Рисунок В.2 — Создание защищенного ответного APDU
Следующий сценарий объясняет вычисление цифровой подписи (DS), где использование приватного клю
ча подписи требует успешного представления пароля. Сценарий проходит в три этапа:
Этап 1 — Верификация паролем
1.1 Команда для SMC: MSE SET <СТ. {’83’ — 01’ — ’81}>
— В примере ссылка на сессионный ключ для вычисления криптографических контрольных
сумм — ’81
Ответ SMC: ОК.
1.2 Команда для SMC: MSE SET <ССТ. {"83’ — "0V — ’82’}>
-----
В примере ссылка на сессионный ключ для вычисления криптограмм — ’82’.
Ответ SMC: ОК.
1.3 Команда для SMC: PSO ENCIPHER <Пароль>
Ответ SMC: <СС(Пароль)>
1.4 Команда для SMC : PSO COMPUTE СС <CLA** — INS — Р1 — Р2 — Заполнение — {’8Г — L — PCI —
СС(Пароль)} — {’97’ — ’01’ — L*} — Заполнение>
Ответ SMC: <СС>
— Теперь устройство сопряжения создает командный APDU. защищенный с помощью VERIFY.
1.5 Команда для USC: VERIFY <{’87’ — L— PCI = 01’ — СС(Паропь)} — {’97’ — 01’ — Ц } — {-8Е’ — 04’ — СС}>
Ответ USC: <{-99’ — ’02’ — SW1-SW2} — {’8Е’ — ’04’ — СС}>
1.6 Команда для SMC: PSO VERIFY СС <{’80’ — 04’ — (’99’ — 0Z — SW1-SW2)} — {’8Е’ — 04’ — СС}>
Ответ SK4C.OK.
Этап 2 — Вычисление хэш-кода
2.1 Команда для SMC: PSO COMPUTE СС <CLA” — INS — Р1 — Р2 — Заполнение — {’8V — L — ({’90’ —
L — Промежуточный хэш} — {’80’ — L — Последний блок})} — {’97’ — ’01’ — L„} — Заполнение>
Ответ SMC. <СС>
2.2 Команда для USC: PSO HASH <{’81’ — L1 (=4 + L2 + L3) — (Г90’ — L2 — Промежуточный хэш} — {’80’ —
L3 — Последний блок})} — {’8Е’ — 04’ — СС}>
— USC записывает хэш-код как внутренний результат для вычисления цифровой подписи в дальней
шем.
Ответ USC: <{’99’ — ’02’ — SW1-SW2} — {’8Е’ — ’04’ — СС}>
2.3 Команда для SMC: PSO VERIFY СС <{’80’ — 04’ — ({-99’ — 02’ — SW1-SW2})} — {’8Е’ — 04’ — СС}>
Ответ SMC: ОК
Этап 3 — Вычисление цифровой подписи
1.1 Команда для SMC: PSO COMPUTE СС <CLA” — INS — Р1 — Р2 — Заполнение — {’97’ — 0Г — 00 }
Ответ SMC: <СС>
1.2 Команда для USC: PSO COMPUTE DS <{’97- — 0Г — -00’} — {’8Е’ — ’04’ — СС}>
Ответ USC: <*81’ — L — DS — ’8Е’ — 04’ — СС>
1.3 Команда для SMC: PSO VERIFY СС <{’80’ — L1 (=2 +L2) — {’81’ — L2 — DS)} — {’8Е’ — 04’ — СС}>
Ответ SMC:OK
88