当使用AES-GCM-256和随机非AES时,指定了2^32的加密限制,以便具有较低的当前碰撞概率。必须生成一个新的密钥来取代它的位置,我现在就在这里。
我使用我的旧密钥来加密存储在云存储服务上的数据,现在已经有很多数据了,再一次上传用新密钥加密的所有数据会很麻烦。我想存储旧密钥以用于对旧内容进行解密,但是文件需要知道用于加密的密钥,我需要以某种方式将这些信息添加到所有文件中。
当这个限制几乎达到时,切换到新的加密密钥的最佳实践是什么?我能做些什么来防止重新加密所有的数据吗?
发布于 2021-07-24 10:21:48
罗伯特的评论给了我一个关键的词,我需要能够自己做一些研究,所以我会贴出我所学到的东西,以及应该怎么做。我不知道从我的情况向目标过渡的最佳途径是什么,但我认为这取决于外界的限制。对我来说,最好用新提出的方法重新加密所有数据,因为没有外部约束。
首先要做的What?
应该为每个文件生成一个新密钥,而不是仅仅用一个密钥加密所有数据。这些密钥应该使用主密钥包装,并存储在文件旁边。主密钥是客户端的秘密,完全用于包装和展开密钥。
Why应该这样做吗?
密钥包装算法具有许多属性,包括机密性、真实性,特别是攻击者只能在两个明文匹配时才能看到的属性。使用加密密钥具有高熵的属性,这给我们提供了一个可以包装的密钥数量的更大的界限。
-更好的调用限制或更好的碰撞概率
当不使用确定性的2^32 -bit nonces将碰撞概率保持在2^-32以下时,NIST指定了每个键的AES-GCM调用的限制。由于我使用随机创建96位的非the,这个限制也适用于我应该限制自己的调用次数。
当通过包装256-bit键从上面使用密钥包装方法时,调用的限制会大大增加。包装256位键的调用数是2^112 (源:数学系),它可以用一个键完成,同时保持2^-32的相同碰撞概率。以同样的方式,用于包装256位键的调用次数可以减少到2^96,同时降低碰撞到2^-64的概率。
-更改键更容易&
除了增加的调用次数外,现在只需重新包装文件键就可以更新主键。这可能仍然是一项繁琐的任务,但它仍然比重新加密每个文件中潜在的千兆字节的数据要好得多,也要便宜得多。
https://security.stackexchange.com/questions/252629
复制相似问题