最近,我遇到了一种情况,即一个系统将加密的有效负载传递给另一个系统。有效载荷使用预共享密钥加密。但是,不只是使用键本身,而是使用当前日期和月份进行计算,以生成整数值。然后,该值用于检索键的子字符串。因此,如果计算的输出为10,用于加密有效载荷的密钥是从索引10开始的原始密钥的子字符串。这两个系统都有这种逻辑。
我理解这会阻止拥有密钥而不是上述逻辑的人解密有效载荷,但这是必要的还是行业标准的解决方案呢?我以前从未遇到过这种情况,我不知道该用什么术语进行进一步的研究。
任何洞察力都是值得欣赏的!
编辑:我想原始的“密钥”并不是真正的密钥.它是密钥派生出来的密码。
发布于 2018-09-07 09:32:31
这绝对不是一个行业标准的解决方案。看起来,系统设计人员想要执行的是每天更改密钥。本质上,它是一种天真(且不安全)的会话密钥方案,因此每个会话持续一天。
在安全通信中,使用会话密钥的想法非常普遍。如果攻击者可以使用特定密钥加密更多的密文,则密码分析将变得更容易。因此,我们通常希望限制在特定密钥下加密的数据量。这是通过密钥交换/建立协议来实现的,这些协议产生随机的、短暂的密钥并安全地分发给发送方/接收方。随机密钥被称为会话密钥,因为它们只在一个会话中使用。分发的安全性通常需要预先共享密钥或非对称密钥。
回到您提到的方案,它并不安全,因为有许多设计缺陷,例如会话密钥不是随机生成的,与预共享密钥相关,并且可以重用。它不能提供更多的额外安全性,例如,如果攻击者拥有预共享密钥,他可以不费太大力气就可以枚举会话密钥。它甚至可能削弱系统的安全性。
https://crypto.stackexchange.com/questions/62119
复制相似问题