有一项任务是使用存储在HSM中的密钥(我猜想LMK)来加密消息,以将加密的消息保存在数据库中。并在以后解密。 我找到的命令是M0 / M2。正如我所看到的,这两个命令还需要我自己的密钥。
我可能会以某种方式生成自己的密钥(使用HSM或其他方式),但最终如何加密消息?使用my和LMK键?还有其他方法吗?我应该把我自己的钥匙存放在某个地方吗?
使用内部HSM密钥加密邮件是否更直接?
提前感谢,我对HSM Thales很新。
答案 0 :(得分:0)
Thales 9000 Payshield上的命令M0和M2分别是加密数据块和解密数据块。
要使用这些命令,必须在M0命令中提供一个用于加密数据的密钥。
您使用的密钥本身必须在LMK密钥对下进行加密,该密钥对存储在HSM中,并且您不能访问(在通常会知道所有测试LMK密钥对值的测试环境中除外)。
要获取该数据加密密钥,请使用命令A0生成一个ZEK。 A1对此的响应将为您提供密钥。您收到的密钥是根据LMK密钥对加密的。 然后,您可以在M0 / M2命令中使用此密钥来加密给定的数据块。 您将需要将收到的密钥存储在A1命令中(可能只有16个或32个十六进制字符),因为它没有存储在HSM中。
任何此类数据的加密/解密总是必须通过HSM进行,因为只有HSM才能访问解密密钥并使之可用所需的LMK密钥对。