Где взять BDK для расшифровки DUKPT

Я сгенерировал ключ BDK Type3 для DUKPT в Thales HSM. Я отправил этот BDK, который зашифрован с помощью LMK HSM, изготовителю терминала, чтобы сгенерировать ключ IPEK и ввести его в терминал.

Когда я получаю зашифрованные данные, у меня есть KSN, и теперь мне снова нужен BDK для его расшифровки. Я не храню BDK где-либо в моем приложении HOST. Как я могу снова получить BDK для расшифровки. Он хранится где-то в HSM.Если есть несколько BDK, как мне найти подходящий для данного терминала?

2 ответа

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

Для расшифровки данных вы можете использовать команду THALES HSM M2 с параметрами

  • BDK (под LMK) - это ключ, который вы отправили в терминал
    производитель
  • Зашифрованные данные - полученные от терминала
  • KSN - получено с терминала

Об обмене BDK (между вами и производителем терминала)

Простой процесс:

  1. обмен ZMK (мастер-ключ зоны) между вами и производителем
  2. зашифровать BDK под ZMK
  3. производитель расшифровывает BDK (используя ZMK) в безопасной среде (комната для ввода ключей)
  4. производитель производит IPEK с использованием прозрачного BDK

Ваш BDK зашифрован под LMK. Другими словами, ваш BDK защищен LMK, поэтому никто другой не сможет использовать свой BDK (суперсекретный ключ). Последовательно, если вы отправляете свой BDK (под LMK), ваш производитель не может использовать BDK (очистить) для генерации IPEK. Вот почему вам нужен ZMK в вашем процессе.

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