【问题标题】:Application level encryption and key renewal应用程序级加密和密钥更新
【发布时间】:2016-05-11 20:44:05
【问题描述】:

我有一个关于在应用程序级别加密数据库中的数据的问题。

应用程序将在将数据持久化到数据库时加密数据(例如使用 AES),并在从数据库中检索到数据后解密数据。

有什么好的技术可以更新加密密钥。

例如,如果一家公司制定了每两年更新一次加密密钥的政策,我们最终将不得不用旧密钥解密整个数据库,并每两年用新密钥重新加密它。

有什么技术可以避免这样的问题吗?

【问题讨论】:

  • 我投票决定将此问题作为离题结束,因为这与编程没有直接关系,而是一个可行性问题。 Cryptography 更适合这类问题。

标签: encryption


【解决方案1】:

不,您必须解密旧数据并重新加密新数据。确保您保留“密钥标识符”以识别数据是用哪个密钥加密的。

有关更多信息,请阅读有关密码周期的信息in the NIST key management document。您也可以在文档中搜索“重新加密”。

【讨论】:

  • 我不同意。有一些方法可以对称地重新加密密文,而不会在过程中泄露明文。给出了一个例子here(第 3.6 章 - “重新加密数据”)
  • @ArtjomB.yes,同态加密可以做到这一点,但它非常缓慢且不实用。 Gentry 的同态加密是基于格的,但这里的发帖人谈论的是像 AES(分组密码)这样的对称加密。在这种情况下,我坚持我的回答。
  • 同态加密有很多种。我不是在谈论 Gentry 或 Yao 的 FHE,这里根本没有必要。部分同态方案是完全足够的,但你是对的,它们甚至不如 AES 快。
  • @ArtjomB。是的,Pailier 方案很实用,但发帖人在他的帖子中确实提到了 AES。我想我们都同意你的观点和我的观点都是正确的。对于熟练的密码学家来说,也许 Pailier 是一个解决方案,对于其他人来说,必须以解密重新加密的方式来做!
  • 非常感谢。为了这。按照建议,我会将其移至密码学
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-04
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
相关资源
最近更新 更多