1

我们使用 Ncipher/Thales HSM 来存储密钥。用于此操作的操作员卡受密码保护。我们正在使用 PKCS11Interop 与 HSM 通信,需要提供 PIN 才能与 HSM 通信。为无人看管的过程存储此类安全密码/密码短语的行业惯例是什么?我们需要在多个盒子中安装我们的应用程序,我们如何维护 pin 的安全性。

4

1 回答 1

0

我们使用了两种不同的做法来存储 PIN 数据,并且有人参与或无人参与并没有什么不同。您必须将 PIN 数据存储在访问受到保护和高度控制的受保护环境、SQL Server 或MainFrame系统中。

不仅环境很重要,数据格式也很重要,您不能存储清晰的 PIN 数据,而是以加密形式存储。您也必须使用 HSM 进行加密解密。

  1. 存储以 LMK 形式加密的 PIN 数据。

    首先使用“加密清除 PIN”命令 (BA) 加密清除 PIN 数据并存储输出数据。要验证 PIN,您必须调用“解密加密的 PIN”命令(NG)。如果你想使用这些命令,你必须在 Thales HSM 中启用“清除 PIN”命令,这样它就很容易受到内部攻击。如果内部人员有权访问 PIN 数据和 HSM,则可以轻松获取 PIN 值。

  2. 偏移方法

    您不存储可用于生成清晰 PIN 的敏感信息,而是仅用于验证目的的数据。您存储OffsetDecimalisation TablePIN Validation Data以验证来自客户的数据(PIN 在 ZPK 或 TPK 下从 ATM 加密发送到中央服务器)。您无法从这些数据中生成客户 PIN,因此更安全。您可以使用 PIN 验证命令(DA,EA)

于 2017-04-04T08:27:32.197 回答