Почему шифрование DUKPT предпочтительнее RSA для шифрования данных карты на POS-терминалах?

В настоящее время я работаю над проектом по шифрованию карточных данных на POS-терминалах и столкнулся с двумя популярными алгоритмами шифрования: DUKPT (производный уникальный ключ для каждой транзакции) и RSA (Ривест-Шамир-Адлеман). Мне интересно, почему в этом конкретном случае использования DUKPT обычно предпочтительнее RSA.

Заранее благодарю за ценную информацию!

1 ответ

Возможно, это не лучший вопрос для SO, поскольку ответ, который вы ищете, может быть основан на мнениях и на самом деле не связан с программированием.

Ответ в этом случае почти такой же, как и при любом сравнении симметричной и асимметричной криптографии. В случае вашего вопроса, DUKPT — это схема управления ключами, направленная на предоставление уникального симметричного ключа для каждого конкретного соединения для нескольких клиентов, обменивающихся данными с центральным сервером. Он основан на предварительном общем секрете, где каждый отдельный клиент имеет свой первоначальный ключ, и компрометация этого ключа не влияет на безопасность других клиентов, в то время как сервер может использовать только один ключ для получения любого из ключей транзакции любого из клиенты. Поскольку он использует симметричный криптографический алгоритм, вычисления намного проще, чем операции с экспонентой закрытого ключа в случае RSA. Алгоритм RSA сам по себе не описывает, как устанавливать сеансовые ключи или что-то в этом роде — это просто метод обеспечения конфиденциальности сообщения. Его свойства могут использоваться, например, с протоколом Диффи-Хеллмана для обмена ключами, и он может обеспечить прямую секретность, недостижимую с помощью DUKPT, но требует больших вычислительных затрат во время дешифрования, что может стать узким местом, если это потребуется сделать в большем масштабе.

DUKPT требует обмена этими первоначальными секретами, но он гораздо более эффективен для реализаций с большим количеством одновременных операций.

Другие вопросы по тегам