Протоколы Internet


SET и другие системы осуществления платежей - часть 35


Таблица 4.6.2.12.

Процедура формирования цифровой подписи

Шаг

Действие

1

Инициализировать тип SignedData, введя код версии, идентификатор алгоритма и тип содержимого, подлежащего подписанию

2

Преобразовать информацию, подлежащую подписанию в формат DER

3

Использовать результат шага 2 для инициализации компонента content из ContentInfo.

4

Инициализировать тип SignerInfo, введя код версии, идентификаторы алгоритмов вычисления и шифрования дайджеста

5

Вычислить дайджест сообщения, используя SHA-1 для результата шага 3

6

Инициализировать структуру authenticatedAttributes и занести в структуру атрибуты contentType и messageDigest. Установить компоненты type атрибутов равными идентификаторам этих атрибутов

7

Инициализировать компонент values первого атрибута типа кодом содержимого, подлежащего подписанию, а второго атрибута – значением дайджеста, вычисленного на этапе 5

8

Закодировать аутентифицированные атрибуты и зашифровать результат, используя секретный ключ отправителя. Поместить результат в SignedData

9

Выбрать соответствующие сертификаты Х.509 и CRL, необходимые для верификации подписи, и включить их в SignedData

10

Если тип сообщения требует двух подписей, повторить шаги с 4 по 9

Оператор ключевого хэширования HMAC(t,k) соответствует 160-битовому хэшу HMAC-SHA-1 для группы t при использовании секретного ключа k. Эта функция нужна для сокрытия номера счета в сертификате владельца карты. Секретный ключ известен только владельцу карты и эмитенту. Процедура ключевого хэширования представлена в таблице 4.6.2.13.

Таблица 4.6.2.13.

Процедура ключевого хэширования

Шаг

Действие

1

Установить ipad соответствующим буферу, который содержит 64 байта с кодами 0х36

2

Установить opad равным буферу, содержащему 64 байта с кодами 0х5С

3

Добавить нули в конец k, чтобы размер строки стал равным 64 байтам. Например, если длина k равна 20 байт, то следует добавить 44 нуля.

4

Осуществить операцию побитового исключающего ИЛИ для результата шага 3 и ipad

5

Добавить данные группы t в 64-байтовый буфер, сформированный на этапе 4

6

Вычислить хэш SHA-1 для результата шага 5 с привлечением Hash-оператора

7

Осуществить операцию побитового исключающего ИЛИ для результата шага 3 и opad

8

Добавить результат SHA-1 шага 6 к 64-байтовому буферу, заполненному в результате шага 7

9

Вычислить хэш SHA-1 для результата шага 8 с привлечением Hash-оператора

10

Прислать результат работы шага 9

<


Начало  Назад  Вперед