java - HSM 如何干预终端交易的加密?

标签 java hsm

我试图了解如何使用终端将 hsm 和 key 链接到交易。我应该开发一个身份验证服务器,它从终端接收交易并解析它们以获取不同的数据。但我不明白的是如何使用 hsm 来保护数据。

最佳答案

首先您必须了解卡个性化。当银行(发卡机构)想要发行新卡时,他们会从 Mastercard、Visa 获得新的 BIN。发行人生成与这些 BIN 绑定(bind)的新 IMK(AC、Mac、Enc、CVC3 等)。在卡个性化过程中,每种 IMK 都通过 PAN 进行多样化并加载到卡中,以便每张卡都获得其 UDK(唯一的派生 key 、UDKAC、UDKMAC 等)。 key 生成和 key 多样化过程是使用 HSM 加密软件完成的。

在 emv 交易过程中,卡使用其 UDK 生成其加密数据(密码)并将其发送到身份验证服务器。身份验证服务器查看交易 BIN 并在 HSM 的帮助下通过派生 IMK key 获取卡 UDK。因此它知道 UDK key 并计算相同的密码。如果这些密码相同,则服务器确定该卡具有正确的 key 并接受交易。

关于java - HSM 如何干预终端交易的加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955305/

相关文章:

java - 在 saveInstanceState 包中存储大数据结构

java - Android 后退按钮 react 太快

azure - 将 Thales payshield 9000 迁移到 Azure Key Vault

c# - 在没有 PKCS11 的情况下使用 HSM 的 .NET 中的密码学

ssl - Tomcat 10 使用 HSM 作为 TLS 的 PKCS11 keyStore

java - 在 jdbc url 中设置当前路径

java - 如何在 Weka 中使用带有新数据的创建模型

java - 让 Java 在字母之后对符号进行排序(就像 Linux 排序一样)

security - 软件安全模块/工具包替代 HSM 用于开发加密功能