我们的客户需要对 MOSS 内容数据库进行加密,因此如果没有正确的加密密钥,DBA 或未经授权的人将无法查看内容数据库。似乎 SQL Server 2008 中的透明数据加密 (TDE) 无法保护敏感信息免受 DBA 的侵害,因为 TDE 旨在保护“静止”数据。这里有人遇到过这个问题吗?
6 回答
在我看来,在数据库中拥有敏感数据的要求是信任数据库管理员。
即使您可以以 dba 无法看到的方式加密数据,他也可以嗅探您传递密钥(或数据!)的连接或设置触发器以在加密之前捕获数据以防方案会允许的。
简而言之,获得一个值得信赖的 DBA 是一种更简单、更好的解决方案。
如果你不能信任 DBA,你就不能信任数据库本身。您的应用程序应该只将加密数据传送到数据库服务器。
话虽如此,还有运行您的应用程序的服务器的管理员。加密你的信任他的方式几乎是不可能的。
在这里同意 Vinko,找一个你可以信任的 DBA,或者谁可以通过筛选。
这里同样的问题...
我们是一家 mssql 数据库托管公司,我可以说对我们来说这不是问题,是否相信 DBA。我们的客户是银行和保险公司,他们的要求是:“DBA 不能读取数据库”,因为它包含非常敏感的数据。
目前我们正在寻找解决方案。
没有办法让数据在数据库中仍然可用。
您可以这样做,以便数据在 DB 之外可用。只需在 CRUD 操作之前使用某种方法对其进行加密。
有一些方法可以让 DBA 更“合理”地访问数据,f.ex。您可以将密钥作为内联数据存储在 sqlclr 函数中,但 DBA 仍然可以访问它们的二进制代码。然而,这意味着复制密钥、同步,这几乎会阻碍有效的安全性。
相信 DBA?!从技术上讲,如果我们允许 DBA 不受任何限制地控制安全性,整个系统就会变得脆弱,因为如果 DBA 受到威胁,整个系统的安全性就会受到损害,这将是一场灾难。
在应用程序级别加密数据是可行的。您需要将密钥存储在 DBA 无法访问的地方。
这是久经考验的解决方案,没什么新意。