(我把这个问题张贴在堆栈溢出上,并被要求把它移到密码上。)
在应用程序级别,我有一个与加密数据库中的数据有关的问题。
当将数据持久化到数据库时,应用程序将对数据进行加密(例如使用AES),并在从数据库中检索数据后对其进行解密。
有什么好的技术来更新加密密钥吗?
例如,如果一家公司制定了每两年更新一次加密密钥的政策,我们最终将不得不用旧密钥对整个数据库进行解密,并每两年用新密钥对其进行再加密。
有什么技术可以避免这样的问题吗?
我有以下答案:https://stackoverflow.com/questions/37172931/application-level-encryption-and-key-renewal
我提到AES是因为它是一个行业标准。佩里尔是否适合这个行业?
发布于 2016-05-14 17:32:28
DEK (数据加密密钥):加密实际内容的密钥。DEK的更改频率低于KEK (见下文)。
KEK (密钥加密密钥):加密DEK的密钥。根据最佳实践和公司安全策略定期更改KEK (“旋转”)。
随着内容数量的增加,旋转DEK的难度就越大。你仍然可以不时地旋转一个DEK,但是这样做意味着用一个新密钥重新加密所有的内容。
简单地使用一个新密钥来重新加密DEK要容易得多,而不是重新加密由DEK加密的内容,因为与它们加密的内容相比,加密密钥非常小。
当KEK过期时,您应该随着时间的推移旋转KEK,或者顺便说一句,例如在发生违约或疑似违规的情况下。
https://crypto.stackexchange.com/questions/35299
复制相似问题