有一个任务是用存储在HSM (我想是LMK)中的密钥对消息进行加密,以便将加密的消息保存到数据库中。稍后也会解密。我找到的命令是M0/M2。正如我所看到的,这两个命令还需要我自己的键。
我可能会以某种方式(用HSM或其他方式)生成自己的密钥,但是消息最终是如何加密的?用我的和LMK的钥匙?另一种方式?我也应该把自己的钥匙藏在某个地方吗?
用内部HSM密钥加密消息是一种更直接的方法吗?
感谢提前,我是非常新的HSM泰勒斯。
发布于 2018-09-07 10:43:32
Thales9000PayShield上的命令M0和M2分别是加密数据块和解密数据块。
要使用这些命令,您必须在M0命令中提供一个密钥,该密钥将用于加密数据。
您使用的密钥必须在LMK键盘下加密,该密钥存储在HSM中,您不应该访问该密钥(除非在测试环境中,您通常知道所有测试LMK键盘的值)。
要获得该数据加密密钥,请使用命令A0生成一个ZEK。A1对此的响应将为您提供密钥。您收到的密钥是在LMK键盘下加密的。然后,您可以在M0/M2命令中使用此密钥加密给定的数据块。您需要将接收到的密钥存储在A1命令中(可能只有16或32个十六进制字符),因为它没有存储在HSM中。
任何这些数据的加密/解密都必须通过HSM执行,因为只有HSM才能访问解密密钥并使其可用所需的LMK密钥。
https://stackoverflow.com/questions/48325142
复制相似问题