В таблице 1 перечислены криптоалгоритмы, используемые в SET.
Таблица 1. Криптографические алгоритмы, используемые в SET
Название | Выполняемое действие | Назначение |
DES | Шифрование с секретным ключом | Обеспечение конфиденциальности |
RSA | Шифрование с открытым ключом | Формирование электронной подписи (аутентификация, идентификация участников информационного взаимодействия и обеспечение целостности данных) |
SHA1 | Хеширование | Сжатие сообщения для последующего шифрования и формирования таким образом электронной подписи |
HMAC-SHA1 | Хеширование с последующим зашифрованием полученного хеш-образа | Формирование кода аутентификации сообщения |
В транзакции SET некоторые участвующие стороны (например, продавцы) имеют две пары открытых ключей: одну для подписи документов, другую для обмена ключами на стадии идентификации. Первая пара называется ключом подписи (signature key), вторая ‑ ключом шифрования ключей (key encryption key) (или ключ для обмена ключами (key for key exchange). Рис. 3 отражает основные шаги обработки сообщения для процедур обеспечения аутентификации, конфиденциальности и целостности. Закрытый ключ, используемый для формирования сигнатуры, взят из пары ключей подписи; открытый ключ для шифрования симметричных ключей взят из пары ключей шифрования.
|
|
Рис. 3. Обработка сообщения в SET
Однажды созданный, хеш-образ кодируется, как показано в таблице 2. Как было изложено ранее, такой синтаксис основан на синтаксисе в соответствии с PKCS#7 (RFC 2315) с переопределениями, изложенными в спецификации SET. Таким образом, длина дайджеста возрастает с 20 до 46 байт.
Дайджест и само сообщение шифруются по алгоритму DES на симметричном ключе, который случайным образом формируется заново для каждого сообщения. Такой ключ затем пересылается получателю в цифровом конверте в формате, определенном PKCS#7. Конверт, в свою очередь, зашифрован открытым ключом RSA получателя сообщения. Длина ключа RSA - 1024 бита.
Симметричный ключ DES дополнительно защищается. До шифрования ключа DES открытым ключом получателя цифровой конверт обрабатывается по технологии OAEP[3], Криптограмма формируется из 128 байтов, включающих симметричный ключ, номер счета покупателя PAN (Primary Account Number) и другие параметры, перемешанные с незначащей информацией (случайными числами) для повышения устойчивости к атакам «методом грубой силы» (brute-force attacks). Таким образом, протокол SET использует закрытый ключ отправителя для цифровой подписи и открытый ключ получателя для шифрования цифрового конверта, содержащего ключ DES, которым зашифрован исходный текст. Если владелец карт, сертифицирован для цифровой подписи, сертификат присоединяется к сообщению, шифруемому симметричным ключом, как показано на рис. 4.
|
|
Таблица 2. Дайджест для формата PKCS#7
Поле | Длина, байтов |
Заголовок DigestedData | |
Версия | |
Заголовок DigestAlgorithm | |
Алгоритм | |
Параметры алгоритма | |
ContentInfo | |
ContentType | |
Хеш-заголовок | |
Хеш-образ | |
Итого |
Рис. 4. Криптографическая обработка сообщения покупателем