Протоколы Internet


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


/p>

Обработка сообщения начинается с MessageWrapper. Каждое сообщение должно иметь незашифрованный конверт MessageWrapper, который декодируется перед началом обработки самого сообщения. Поля TransID и RRPID используются для ранней диагностики дублированных сообщений.

При декодировании MessageWrapper компонента Message не может обрабатываться, но его тип можно определить по полю тип (DER) сообщения. По завершении декодирования MessageWrapper производится дешифрование и верификация подписи Message. После этого проводится декодирование Message. Обработка этого компонента зависит от его типа.

При описании протокола используется нотация представленная в таблице 4.6.2.2.

Таблица 4.6.2.2

. Нотация протокола SET

Понятие

Нотация

Описание

Группа (tuple)

{A,B,C}

Группа из нуля или более информационных элементов. Представляет документы или сообщения, обозначается идентификаторами, содержащими алфавитно-цифровые символы

Компонент

T={A,B,C}

Группе может быть присвоено имя. В этом случае T.A, T.B и T.C обозначают компоненты Т.

Упорядоченное объединение

A|B|C

Служит для обозначения упорядоченного объединения элементов A,B и C

Опционное значение

[A]

Значение A является опционным

Допускается любое вложение этих скобок

Выбор

<A,B,C>

Обозначает, что должно присутствовать одно из значений A,B или C

Опционный выбор

[<A,B,C>]

То же, что и предыдущее, но сам выбор опционен

Кратное использование

{A+}

Группа содержит один или более элементов A

{A*}

Группа содержит нуль или более элементов A

{[A]+}

Означает, что группа содержит:

один или более элементов A в упорядоченном массиве, где каждое вхождение A является опционным (этот элемент может отсутствовать)

Исключающее ИЛИ

A

Обозначает операцию исключающее ИЛИ

Таблица 4.6.2.3

. Операторы, используемые протоколом SET

Нотация

Оператор

Описание

H(t)

хэш

160-битовый хэш группы t

HMAC(t,k)

Ключевой хэш-механизм

160-битовый ключевой хэш группы t, использующий ключ k и алгоритм HMAC-SHA-1

HMAC(t,k) = H(k A

opad) | H((k A

ipad)|t)),

где ipad - байт 0х36, повторенный 64 раза;

opad

– байт 0х5С, повторенный 64 раза; а

A - знак операции исключающее ИЛИ.

L(t1,t2)

Связь

Ссылка, указатель или связь t2 с t1; эквивалентно группе {t1, H(t2)}

Нотация операторов цифровой подписи

S(s,t)

Подписанное сообщение

Подпись объекта s для группы t, включая открытый текст t. Алгоритмом цифровой подписи для SET является RSA с дайджестом SHA-1. Соответствует SignedData PKCS #7.

Нотация операторов двойной цифровой подписи

SO(s,t)

Только подпись

Подпись объекта s для группы t, не включая открытый текст t. SO соответствует внешней подписи PKCS #7. Алгоритмом цифровой подписи для SET является RSA с дайджестом SHA-1.

Нотация операторов шифрования

E(r,t)

Асимметричное шифрование

(цифровой конверт)

Сначала шифруется t с новым симметричным ключом k, затем ключ вкладывается в цифровой конверт PKCS #7 для объекта r. Производится шифрование OAEP(k) с использованием общедоступного ключа объекта r, взятого из сертификата группы r. Для симметричного шифрования в SET по умолчанию используется алгоритм DES. Соответствует EnvelopedData.

EH(r,t)

Шифрование целостности

Процедура подобна E за исключением того, что цифровой конверт PKCS#7 содержит OAEP({k,H(t)}) для гарантии целостности, когда подпись не доступна. Программа вычисляет повторно хэш t и проверяет соответствие H(t) в цифровой конверте.

EX(r,t,p)

Дополнительное шифрование

Процедура подобна E за исключением того, что t и p являются частями составного сообщения. t – группа, которая должна быть соединена с p и подвергнута обычному симметричному шифрованию, а p – параметр или часть, которая должна быть подвергнута дополнительной обработке. t связано с p. OAEP({k,p})

вкладывается в цифровой конверт PKCS#7 для объекта r.

EXH(r,t,p)

Дополнительное шифрование с обеспечением целостности

Процедура подобна EX за исключением того, что это делается с OAEP({k,H(t), p}) в цифровом конверте PKCS#7 и с требованием проверки H(t), как и в случае EH

EK(k,t)

Симметричное шифрование посредством ключа k

Симметричное шифрование группы t с помощью секретного ключа k. Соответствует формату EncryptedData

Нотация операторов инкапсуляции

Enc(s,r,t)

Простая инкапсуляция с подписью

Подписанное и затем зашифрованное сообщение. Соответствует SignedData в EnvelopedData

EncK(k,s,t)

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

Подписанное сообщение, зашифрованное с помощью секретного ключа. Соответствует EncryptedData.

EncX(s,r,t,p)

Дополнительная инкапсуляция с подписью

Составное сообщение, первая часть которого зашифрована симметричным алгоритмом. Вторая часть сообщения преобразуется с привлечением алгоритма OAEP

EncB(s,r,t,b)

Простая инкапсуляция с подписью с загрузкой

Подписанное зашифрованное сообщение с загрузкой (baggage)

EncBX(s,r,t,p,b)

Дополнительная инкапсуляция с подписью и загрузкой

Подписанное, Е-шифрованное составное сообщение с загрузкой

<


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



Книжный магазин