保护SQL Server 2008中DBA的敏感信息

时间:2009-05-24 09:37:07

标签: sql-server database tde

我们的客户需要加密MOSS内容数据库,以便DBA或未经授权的人在没有正确加密密钥的情况下无法查看内容数据库。似乎SQL Server 2008中的透明数据加密(TDE)无法保护敏感信息免受DBA的影响,因为TDE旨在保护“静止”数据。这里有人遇到过这个问题吗?

6 个答案:

答案 0 :(得分:6)

在我看来,在数据库中拥有敏感数据的要求是信任数据库管理员。

即使您能够以dba无法看到的方式加密数据,他也可以嗅探您传递密钥(或数据!)的连接,或设置触发器以在加密之前捕获数据该计划允许这种情况。

简而言之,获得可信赖的DBA是一种更简单,更好的解决方案。

答案 1 :(得分:2)

如果您不信任DBA,则无法信任数据库本身。您的应用程序应该只将加密数据传递给数据库服务器。

话虽如此,还有运行您的应用程序的服务器的管理员。加密你信任他的方式几乎是不可能的。

在这里同意Vinko,获得一个你可以信任的DBA,或者谁可以通过筛选。

答案 2 :(得分:2)

这里的问题......

我们是一家mssql数据库托管公司,我可以为我们说这不是问题,相信DBA与否。 我们的客户是银行和保险公司,他们的要求是:“DBA无法读取数据库”,因为它包含非常敏感的数据。

目前我们正在寻找解决方案。

答案 3 :(得分:1)

无法做到这一点,以便数据仍可在数据库中使用。

可以这样做,以便数据可以在DB之外使用。只需使用某种方法在CRUD操作之前加密它。

有很多方法可以让DBA“合理地”更难以访问数据,f.ex。您可以将密钥作为内联数据存储在sqlclr函数中,但DBA仍然可以访问它们的二进制代码。然而,这意味着复制密钥,同步并且它几乎阻止了有效的安全性。

答案 4 :(得分:0)

信任DBA?! 从技术上讲,如果我们允许DBA在没有任何限制的情况下控制安全性,整个系统就会变得容易受到攻击,因为如果DBA受到威胁,整个系统的安全性就会受到影响,这将是一场灾难。

答案 5 :(得分:0)

在应用程序级别加密数据是可行的方法。您需要存储DBA无法访问它的密钥。

这是久经考验的解决方案并不新鲜。