Нужна помощь в реализации схемы управления ключами

Схема имеет следующие требования

  • Клиентское приложение должно выполнить шифрование / дешифрование с использованием компонента 1, компонента 2 и ZPK (ключ PIN-кода зоны. Клиент должен получить этот ключ от хоста в зашифрованном виде).
  • Хост-приложение должно выполнять шифрование / дешифрование с использованием ключа MK (мастер-ключ, сформированный из компонента 1 и компонента 2) и ZPK.

Вот как я создаю компоненты

Online-AUTH>GC
Enter LMK id [0-2]: 0
Enter key length [1,2,3]: 2
Enter key type: 002
Enter key scheme: u
Clear component: **** **** **** **** **** **** **** **** 
Encrypted component: UXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 
Key check value: xxxxxx

Online-AUTH>GC
Enter LMK id [0-2]: 0
Enter key length [1,2,3]: 2
Enter key type: 002
Enter key scheme: u
Clear component: **** **** **** **** **** **** **** ****
Encrypted component: UYYYY YYYY YYYY YYYY YYYY YYYY YYYY YYYY 
Key check value: yyyyyy

Online-AUTH>FK
Enter LMK id [0-2]: 0
Enter key length [1,2,3]: 2
Enter key type: 002
Enter key scheme: u
Enter component type [X,H,T,E,S]: e
Enter number of components [1-9]: 2
Enter component 1: UXXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX 
Component 1 check value: xxxxxx
Continue? [Y/N]: y
Enter component 2: UYYYY YYYY YYYY YYYY YYYY YYYY YYYY YYYY
Component 2 check value: yyyyyy
Continue? [Y/N]: y
Encrypted key: UZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ 
Key check value: zzzzzz

Что я не понимаю, так это

  • Каковы преимущества создания МК с использованием зашифрованных компонентов Как расшифровать зашифрованный ZPK с компонентом 1 и компонентом 2.
  • Какова связь между компонентом 1, компонентом 2 и выводом команды FK
  • Достаточно ли вездесуще шифрование PIN-кода под ZPK?

Любая помощь приветствуется. PS Я хочу придерживаться вездесущих реализаций.

1 ответ

Вы не первый:)

Я постараюсь объяснить (но мой английский не настолько хорош, чтобы быть достаточно ясным:().

HSM никогда не работает с простыми ключами, все ключи, которые он обрабатывает, зашифрованы под другими, называемыми Key Encryption Key (KEK) ключами. LMK - это KEK, который надежно хранится в защищенной среде HSM. Основная идея HSM заключается в том, что вы не можете получить реальное значение ключа LMK, соответственно, вы не можете получить реальное рабочее значение простого ключа. Все ключи, которые вы используете с HSM, являются криптограммами. LMK - это ваш личный KEK, который не доступен для других сторон (что означает, что он является безопасным KEK). Эти ключи вы должны хранить в базе данных для использования с вашим собственным HSM.

Иногда вам нужно передавать ключи другим лицам, например, Visa или MasterCard, чтобы обмениваться некоторыми зашифрованными данными, такими как PIN-блоки. В этом случае вы должны использовать другой KEK под названием ZMK. Это транспортный ключ, который используется ТОЛЬКО для другого обмена ключами. Вы не можете использовать зашифрованные ключи ZMK с вашим HSM. Во-первых, вы ДОЛЖНЫ импортировать ключ под свой LMK, чтобы сделать его managanbe.

ЗАКЛЮЧЕНИЕ:

1) Вы должны хранить в БД ключи под LMK

2) Ключи под ZMK используются только для передачи другим сторонам.

Если я не был достаточно ясен, пожалуйста, не стесняйтесь спрашивать, постараюсь найти другое объяснение.

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