代码之家  ›  专栏  ›  技术社区  ›  Anonymous

在SQL Server 2008中保护敏感信息不受DBA的影响

  •  3
  • Anonymous  · 技术社区  · 16 年前

    我们的客户机需要对moss内容数据库进行加密,这样,如果没有正确的加密密钥,content db就不能被dba或未经授权的人查看。似乎SQL Server 2008中的透明数据加密(TDE)无法保护敏感信息不受DBA的影响,因为TDE旨在保护“静止”的数据。这里有人面临这个问题吗?

    6 回复  |  直到 11 年前
        1
  •  6
  •   Vinko Vrsalovic    16 年前

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

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

    简而言之,获得一个受信任的dba是一个更简单、更好的解决方案。

        2
  •  2
  •   Andomar    16 年前

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

    尽管如此,还有运行应用程序的服务器的管理员。为了不信任他而进行加密几乎是不可能的。

    同意VIKO在这里,得到一个DBA你可以信任,或谁可以通过筛选。

        3
  •  2
  •   user83188    15 年前

    同样的问题…

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

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

        4
  •  1
  •   Pasi Savolainen    16 年前

    这样做是不可能的,这样数据仍然可以在db中使用。

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

    对于DBA访问数据F.EX,有一些方法是“合理”的。您可以将密钥存储为SqLCR函数中的内联数据,但它们的二进制代码仍然可以由DBA访问。然而,这意味着要复制密钥,进行同步,这在很大程度上阻碍了有效的安全性。

        5
  •  0
  •   abcxyz    16 年前

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

        6
  •  0
  •   indolentdeveloper    11 年前

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

    这是经过试验和测试的解决方案,没有什么新的。