Как получить ключи будущего (сессионный ключ) от IPEK для расшифровки данных?

Вопрос или проблема

Я нов в DUKPT, поэтому не совсем понимаю DUKPT и HSM. В данный момент я пытаюсь расшифровать данные (номер PAN) с терминала.

На данный момент, когда я получаю KSN и зашифрованные данные, я понимаю, что мне нужно найти ключ шифрования. Из моего HSM я могу получить IPEK на основе (KSN, BDK). Но здесь возникает путаница, основываясь на статьях, которые я читал, и документации поставщика терминала, ключ шифрования будет одним из будущих ключей.

  1. Как мне узнать, какой будущий ключ терминал использует в качестве ключа шифрования?
  2. Как HSM может создать будущие ключи из IPEK?

Как только я получу правильные будущие ключи, я смогу извлечь вариант ключа данных и выполнить расшифровку в моем HSM. Я всего лишь застрял с этими двумя вопросами.

Любое объяснение было бы крайне полезно.

Мне не нужно получать будущие ключи. У меня уже есть BDK и KSN, мне нужно преобразовать его в формат 20 при вызове команды шифрования/расшифровки. Функция автоматически извлечет подходящий ключ из BDK для операций шифрования и расшифровки.

Ответ или решение

Дукпот (DUKPT) — это метод управления ключами, который используется для защиты конфиденциальной информации, такой как номера карт, в процессе их передачи и хранения. Он основан на использовании базового ключа (BDK) и ключа последовательности (KSN), чтобы производить новые ключи, известные как будущие ключи (Future Keys).

Ответ на ваши вопросы:

  1. Как узнать, какой будущий ключ использует терминал в качестве ключа шифрования?

    Для определения будущего ключа, который использует терминал, необходимо учитывать KSN. KSN содержит информацию о том, сколько раз генерация ключей уже происходила. Будущий ключ (или ключ на текущий момент) может быть рассчитан на основе KSN и базового ключа (BDK). В DUKPT каждый новый ключ создается таким образом, что он становится производным от BDK с учетом значения KSN. Обычно это делается следующим образом:

    • Используйте KSN для извлечения номера текущего ключа.
    • Вычислите ключ с помощью вашего HSM (аппаратного модуля безопасности) или программного обеспечения, которое поддерживает DUKPT. В большинстве случаев вы можете просто вызвать функцию, которая автоматически производит необходимые ключи на основе вашего BDK и KSN.
  2. Как HSM создает будущие ключи из IPEK?

    IPEK (Initial Pin Encryption Key) в DUKPT представляет собой базовый ключ, который после инициализации (и после генерации ключей с использованием KSN) преобразуется в будущие ключи. Для создания будущих ключей из IPEK, HSM использует алгоритм DUKPT, который включает:

    • Извлечение номера ключа из KSN.
    • Использование IPEK и алгоритма преобразования для генерации текущего (будущего) ключа. Это может быть выполнено с помощью функции HSM, которая восприимчива к параметрам, таким как IPEK и KSN.

    Важно помнить, что вашим HSM должен быть предоставлен доступ к процессам, касающимся DUKPT, чтобы корректно интерпретировать и использовать необходимые данные.

Заключение

Используя BDK и KSN, вы можете получить нужные будущие ключи, необходимые для расшифровки данных. Убедитесь, что используете функции вашего HSM, которые поддерживают DUKPT, чтобы автоматизировать процесс извлечения ключей и дешифровки данных (например, номера карт).

Если у вас остались конкретные вопросы о вашем программном или аппаратном обеспечении, рекомендую обратиться к документации или службе поддержки поставщика вашего HSM для более детальной информации.

Оцените материал
Добавить комментарий

Капча загружается...