什么是密码学的关键仪式?

时间:2019-04-30 10:30:11

标签: cryptography aes smartcard pki

我尝试了google,但不是我想要的。谷歌表示,这是一次聚会,旨在根据对密钥的分布式访问来检查签名密钥的存储安全性。

我有一个此类,它具有3个字符串(断密钥)和各自的属性(密钥检查值,区域密钥检查值,加密主密钥)。使用它可以派生万能钥匙。我无法在此处放置代码,因为它违反了我的安全策略。顺便说一下,这是用于智能卡。

如果有人对此有任何想法,请解释或指出。

4 个答案:

答案 0 :(得分:0)

这似乎是一种误解:

  • 密码学是对某些事物进行加密/解密的技术
  • 密钥仪式是组织的真实世界过程,用于将对称密钥值从一个地方/网络/公司(生成它的地方)传输到另一个地方/应使用的地方
  • >

后者也可以利用邮件加密,因此也可以使用前者。

对于非对称算法,这通常不是必需的,因为像Diffie-Hellman这样的协议允许在需要的地方生成单独的私钥,而公钥可以使用证书轻松地分发(例如X.509)。

答案 1 :(得分:0)

好的,我要假设一个简单的对称密钥(3DES或AES)在这里分为3部分。我只能回答,因为我做这个假设。

密钥值是随机生成的,这是您要保护的密钥。让我们将此密钥称为主密钥。通过主密钥计算KCV(密钥检查值),因此,如果重新生成密钥,则可以相对较高的确定性验证密钥的正确性,而无需透露该值本身。 KCV不会泄漏有关关键材料本身的信息,因为KCV的计算是单向

使用其他随机值和XOR将此键分为三部分。生成另外前两个 个随机密钥。计算出第三个密钥是其他密钥主密钥的XOR。计算并记录KCV值。现在可以将这三个键分配给3个不同的角色。这些演员在仪式上扮演的角色被称为关键经理。通常,密钥管理者会保护对其密钥的访问。

现在,要重新生成主密钥,每个密钥管理器将写下他们的部分密钥。在继续进行操作之前,请先验证键的KCV,以确保没有输入错误,或者该值不是其他键的值。现在,如果您计算这三个密钥的XOR,那么您将再次获得主密钥。再次将该值与主密钥进行比较。

这就是全部。


关于此方案的安全性:

  • 您需要所有三个密钥,因为其他密钥基本上对密钥值提供一次一次性加密,这提供了非常强大的安全性概念
  • 常见的KCV是一个危险的概念,因为对全零块进行加密(这是最常见的方案)可能会泄漏敏感信息(例如,对于零随机数和计数器为零的计数器模式安全性)。例如。将HMAC设置为空值可能是一个更好的主意
  • 显然,您需要一个安全的随机数生成器来生成密钥,否则您的方案可能不安全
  • 很难故意产生错误的密钥;通常,KCV是三个字节,因此,一两个人串通并生成主密钥的KCV的几率是2 ^ 24中的1(2 ^ 24超过1600万)。

答案 2 :(得分:0)

密码术中的

密钥仪式意味着您在发行证书时将如何出于不同目的激活签名密钥,例如CA密钥。密钥仪式具有非常强的安全级别,可以使用n个规则中的m个来激活密钥,密钥存储在笔记本电脑或HSM(用于存储密钥的硬件)中的安全物理位置上。 有关更多详细信息,请参见证书颁发机构的WebTrust原则和标准– v2.2 文档,可从http://www.webtrust.org/principles-and-criteria/docs/item83987.pdf下载,位于第4.4 CA密钥使用

答案 3 :(得分:0)

总的来说,这是在两个实体之间在Production / UAT环境中旋转加密密钥的过程,然后一个实体向另一个实体发送请求,以借助密钥在它们之间进行会话。密钥可以具有某些角色来加密/解密消息,以便在e.t.c中检查消息的完整性。