加密SQL 2005数据库的最佳方法是什么?
我已经找到了关于SQL 2008的内容,我已经看过如何在SQL 2005中进行列加密 - 但是因为你需要创建一个函数或一个视图/存储,所以访问表值似乎更加困难程序。
我还尝试通过使用Windows加密(通过证书)来加密保存数据库文件的文件夹来执行文件级安全性,但SQL Server Management Studio给了我权限错误(即使在我赋予它权限之后)。
我需要在我们的服务器上保护客户端数据,我需要以不会太慢减慢服务器速度的方式来实现,但我知道由于加密带来的额外层,这是不可避免的。
我错过了什么,还是我错了?请指教。
答案 0 :(得分:1)
升级到SQL Server 2008并使用Transparent Database Encryption。与SQL Server 2005的列级加密不同,顾名思义,2008 TDE是透明的。不需要更改应用程序。此外,数据是可搜索的,这一点总是令人满意的,但很难通过列加密或客户端加密来实现。
文件级加密实际上不适用于SQL Server。但是,BitLocker可以与SQL Server一起使用,因此使用BitLocker加密整个卷是另一种可行的选择。
答案 1 :(得分:0)
如果您不想减慢服务器速度,可以使用客户端动态加密和解密数据以进行处理。以序列化和/或加密方式将数据存储在数据库中。网上有很多这样的例子。
为您的数据创建一个包装器,如下所示:
Wrap(
Zip (
Base64 Encode (
Encrypt (
Serialize(
DATA
)
)
)
)
)
然后,
StoreInDB(
WrappedData
)