3

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

4

6 回答 6

6

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

即使您可以以 dba 无法看到的方式加密数据,他也可以嗅探您传递密钥(或数据!)的连接或设置触发器以在加密之前捕获数据以防方案会允许的。

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

于 2009-05-24T09:42:15.170 回答
2

如果你不能信任 DBA,你就不能信任数据库本身。您的应用程序应该只将加密数据传送到数据库服务器。

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

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

于 2009-05-24T09:58:01.363 回答
2

这里同样的问题...

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

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

于 2009-06-03T17:32:36.350 回答
1

没有办法让数据在数据库中仍然可用。

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

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

于 2009-05-24T10:00:21.313 回答
0

相信 DBA?!从技术上讲,如果我们允许 DBA 不受任何限制地控制安全性,整个系统就会变得脆弱,因为如果 DBA 受到威胁,整个系统的安全性就会受到损害,这将是一场灾难。

于 2009-05-24T10:14:52.377 回答
0

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

这是久经考验的解决方案,没什么新意。

于 2013-09-11T19:36:40.317 回答