【发布时间】:2015-04-15 12:08:19
【问题描述】:
如何定期更改 SQL Server 中加密数据库的对称密钥和证书?加密逻辑是数据库主密钥 -> 证书 -> 对称密钥 -> 解密数据。我想定期更改证书/对称密钥以确保对称密钥/证书是安全的。
【问题讨论】:
-
你会如何处理已经用旧的对称密钥/证书加密的数据?
-
我不想要任何更改/触摸加密数据是否可以在不触摸加密数据的情况下更改对称密钥/证书?我只想定期维护以更改密钥和证书作为安全最佳实践。
-
一旦您更改了现有密钥,旧数据将使用不同的密钥进行加密,而新数据将使用不同的密钥进行加密。现在在运行
SELECT时,您在解密数据时会遇到问题(除非您解密所有数据,然后使用新密钥重新加密)。通常,这些密钥不会离开您位于安全位置的数据库。 -
因此更改密钥/证书的唯一可能性是解密整个数据集,重新生成密钥/证书并重新加密。相当乏味的过程,但看起来别无选择。这有助于微软应该明确在密钥维护/重新创建密钥过程中声明。
-
您可以使用此线程blogs.msdn.com/b/lcris/archive/2006/03/13/550904.aspx中提到的过程更改证书
标签: sql-server encryption maintenance