— генерирует глобальный идентификатор транзакции XID;
— копирует из запроса PinitReq «отпечатки» сертификатов, списки отозванных сер-
тификатов, каталоги BCI, Chall-C;
— генерирует случайное число Chall-M;
— на основании Brand ID, BIN и сертификата владельца карты выбирает соответст-
вующий платежный шлюз и вставляет в сообщение сертификат Key-Exchange Key этого пла-
тежного шлюза;
— вставляет в сообщение текущий каталог BCI, если в запросе клиента «отпечаток»
каталога BCI отсутствовал либо присутствовал «отпечаток» уже неактуального каталога (на-
помним, что в соответствии с принятыми в протоколе SET соглашениями наряду с BCI в по-
ле CRL данных SignedData передаются также ассоциированные с данным BCI списки CRL);
— некоторые другие данные.
ТП подписывает данные своим закрытым ключом Signing Key и направляет сформи-
рованное таким образом сообщение владельцу карты.
Владелец карты проверяет полученные сертификаты открытого ключа подписи ТП и
открытого ключа Key-Exchange Key платежного шлюза, после чего проверяется цифровая
подпись ТП в полученном сообщении. Таким образом, владелец карты аутентифицирует ТП.
После этого владелец карты начинает формирование сообщения PReq. Это сообще-
ние состоит из двух частей: инструкции по заказу (Order Instruction, или сокращенно — OI) и
платежной инструкции (Payment Instruction, или сокращенно PI).
OI предназначено для ТП и включает в себя значение Chall-M из сообщения PinitRes,
идентификатор транзакции XID, размер транзакции и валюту транзакции, идентификатор
ТП, идентификатор batch, к которому должна быть отнесена покупка, номер заказа в системе
магазина, хэш-функцию от PI (Н2) и некоторую другую информацию. PI предназначено для
платежного шлюза и включает в себя идентификатор транзакции XID, величину TranStain,
представляющую собой хэш-функцию от секрета карты S и XID, хэш-функцию OI (H,), па-
раметрически значение CVC2/CVC2, 2-ю дорожку магнитной полосы карты и другую ин-
формацию.
Далее владелец карты вычисляет хэш-функцию от последовательности, состоящей
из значений хэш-функции от PI и OI (H), и подписывает полученное значение своим секрет-
ным ключом.
Владелец карты генерирует случайным образом симметричный ключ К1, с помощью
которого он шифрует PI. Значение ключа К1 вместе с данными по карте (номер карты, срок
ее действия и секрет карты), в свою очередь, закрываются с помощью открытого ключа Key-
Exchange Key платежного шлюза. Сообщение Preq состоит из OI, зашифрованной инструк-
ции PI, зашифрованных данных о реквизитах карты и ключе К,, цифровой подписи владель-
ца карты.
ТП, получив сообщение PReq, проверяет сертификат владельца карты, после чего
проверяет цифровую подпись владельца карты. Для проверки цифровой подписи ТП вычис-
ляет значение хэш-функции от OI и далее, используя значение хэш-функции для PI (Н2), вы-
числяет общее значение Н. После этого с помощью открытого ключа владельца карты де-
шифруется полученное из сообщения PReq значение цифровой подписи. Если дешифрован-
ное значение совпадает с общим значением, - подпись была сделана владельцем сертификата
открытого ключа владельца карты. Таким образом ТП аутентифицирует владельца карты.
Далее ТП подготавливает сообщение AuthReq. В это сообщение без изменений из
сообщения PReq включены зашифрованная платежная инструкция PI, зашифрованный сим-
метричный ключ К1 ( и данные о реквизитах карты, а также цифровая подпись владельца
карты. Кроме этих данных ТП формирует авторизационный запрос, содержащий информа-
цию о размере транзакции, идентификаторе ТП, идентификатор транзакции XID, случайное
число Chall-P и другую. Эта информация подписывается ключом Signing Key ТП, закрывает-
ся симметричным ключом К2, сгенерированным ТП по случайному закону, который в свою
очередь закрывается открытым ключом Key-Exchange Key платежного шлюза.