需要帮助实施密钥管理方案

时间:2015-10-15 06:01:31

标签: encryption hsm

Scheme具有以下要求

  • 客户端应用程序应使用执行加密/解密 组件1,组件2和ZPK(区域PIN密钥。客户端应该获得 来自主机的加密形式的密钥)。
  • 主机应用程序应使用密钥MK执行加密/解密 (由组件1和组件2形成的主密钥)和ZPK。

以下是我如何生成组件

student_info    = File.readlines('/etc/passwd').detect { |s| s.include?('...blah') }
class_usernames = File.readlines('/etc/group').detect { |s| s =~ /\.\.\.blah/ }

我不明白的是

  • 使用加密组件创建MK有什么好处 使用组件1和组件2解密加密的ZPK。
  • 组件1,组件2和输出之间的关系是什么 FK命令
  • 在ZPK下加密PIN块是否足够/无处不在

任何帮助表示赞赏。 PS我想坚持无处不在的实施。

1 个答案:

答案 0 :(得分:2)

你不是第一个:)

我会尝试解释(但我的英语不太清楚,不够清楚:()。

HSM从不使用普通密钥,它处理的所有密钥都在其他密钥加密密钥(KEK)密钥下加密。 LMK是KEK,它安全地存储在安全环境HSM中。 HSM的主要思想是,你不能分别获得真正的LMK键值,你无法获得真正的工作键普通值。您使用HSM的所有密钥都是密码。 LMK是您的个人KEK,其他方无法访问(这意味着它是安全的KEK)。您应该将这些密钥保存在数据库中,以便与您自己的HSM一起使用。

有时,您需要将密钥传输给其他方,例如Visa或MasterCard,以交换一些加密数据,如PIN块。在这种情况下,您应该使用另一个名为ZMK的KEK。它是传输密钥,仅用于其他密钥交换。您无法在HSM中使用ZMK加密密钥。首先,您必须在LMK下导入密钥以使其成为managanbe。

结论:

1)你应该保留LMK下的数据库密钥

2)ZMK下的密钥仅用于传输给其他方。

如果我不够清楚,请不要犹豫,将尝试寻找其他解释。