2015-04-15 88 views
2

如何定期更改SQL Server中加密數據庫的對稱密鑰和證書?加密邏輯是數據庫主密鑰 - >證書 - >對稱密鑰 - >解密數據。我想定期更改證書/對稱密鑰以確保對稱密鑰/證書安全。定期更改SQL Server中加密數據庫的對稱密鑰和證書?

+0

如何處理已使用舊對稱密鑰/證書加密的數據? – ughai

+0

我不想要任何更改/觸摸加密的數據是否可以更改對稱密鑰/證書而不接觸加密的數據?我只想定期維護,將密鑰和證書更改爲安全最佳實踐。 – Srimant

+0

一旦你改變你現有的密鑰,那麼舊數據將被加密一個不同的密鑰和更新的數據與不同的密鑰。現在,當運行'SELECT'時,解密數據時會遇到問題(除非您解密所有數據,然後使用新密鑰對其進行重新加密)。通常這些密鑰不會讓您的數據庫位於安全位置。 – ughai

回答

0

如果您使用TDE:

ALTER DATABASE ENCRYPTION KEY 
REGENERATE WITH ALGORITHM = AES_256 
ENCRYPTION BY SERVER ASYMMETRIC KEY your_key_encryption_key 

會做的伎倆。

如果您的數據在列級別進行了加密,則必須循環遍歷每行並使用ENCRYPTBYKEY(key_guid('new_key'), DECRYPTBYKEY(data))進行更新。