Команда ПИН-кода HSM для ПИН-кода, выбранного заказчиком

Я пытаюсь создать решение для PIN-кода карты, при котором клиенты могут войти в систему на веб-портале и установить свой собственный PIN-код для карты, а затем сгенерировать значение PVV для нового PIN-кода.

Список команд, которые я пытаюсь использовать,

  • JG \ JH (Перевести PIN)
  • DG \ DH (создать PVV)

Для команды JG \ JH требуется PIN-код в LMK, что означает, что мне нужно сначала выполнить команду BA \ BB для PIN-кода клиента, прежде чем я смогу продолжить. Для этого HSM должен находиться в авторизованном состоянии.

Есть ли другой способ добиться этого?


hsm
person YFRANCIS    schedule 04.12.2018    source источник
comment
Добро пожаловать в переполнение стека. Не могли бы вы показать нам, что уже пробовали? Загляните сюда Как создать минимальный, полный и проверяемый пример? и отредактируйте свой вопрос, чтобы предоставить нам дополнительную информацию   -  person Nathan Thomas    schedule 04.12.2018


Ответы (1)


Что ж, правильный способ - сделать это так же, как это было бы на терминале банкомата.

1. Создайте четкую блокировку ПИН-кода

For ex.
PIN = 1234
PAN = 400000000000002

Block 1 [0+Pin Length+Filler to make it 16]: 0+   4+1234+FFFFFFFFFF = 41234FFFFFFFFFF
Block 2 [0000 + PAN(12, exclude first 3 and last check digit)]: 0000 +    000000000000 = 0000000000000000 

Clear PIN Block = XOR(Block 1 , Block 2)

2. Зашифруйте (примените 3DES) чистый блок ПИН-кода в ZPK.

Если вы используете java, попробуйте javax.crypto.Cipher.

3. Используйте зашифрованный блок PIN в команде «FW» для создания PVV

  • Код команды (FW)
  • Тип ключа шифрования PIN-кода (001 для ZPK)
  • Ключ шифрования PIN-кода (ZPK)
  • Ключ подтверждения PIN-кода
  • Блокировка ПИН-кода
  • Код формата блока ПИН-кода
  • PAN / Аккаунт (12)
  • ПВКИ
person Umesh Kolhe    schedule 04.02.2019