1

我们的应用程序将存储来自用户的一些信息,我们不希望这些信息被追溯到数据库中的任何其他记录。例如(尽管很愚蠢)——用户必须付费才能匿名告诉我们他们最喜欢的颜色是什么。我们希望将每个颜色记录作为新行存储在数据库中并跟踪交易信息。

如果我们将颜色和事务存储在单独的表中,如果服务器被黑客入侵,这些行可以相互关联,通过使用行的顺序 ID(因为颜色总是有一个事务)或通过创建时间排。所以为了解决这个问题,我们不会有颜色表的顺序 ID 列,或者颜色表的更新/修改时间。

现在,将颜色与事务相关联的唯一方法是查看用于实际存储数据库信息的文件。虽然这可能既困难又乏味,但我想这仍然是可能的,因为颜色表信息可能会按顺序存储在文件中。

如何将数据库信息存储在无序的事物中,这样就不会发生这种情况? 我想一个更普遍的问题是我如何匿名和安全地存储信息?(但这太宽泛了)

显然,答案是不要让您的数据库被黑客入侵,但不是一个好的数据库。

4

3 回答 3

2

您可以预先生成数百万行并随机填充它们。

于 2013-01-09T18:07:11.053 回答
1

如果您需要分析数据,则需要了解它,如果可以,攻击者也可以。无论您想出什么聪明的解决方案,相关性仍然是可能的。关系数据库事务日志,将显示插入更新删除的内容、时间和位置。因此,如果您想使用相同的数据库,则无法提供 100% 的数据解耦。您可以使用一些 HSM 加密数据,这会使被盗数据对攻击者毫无用处。或者您可以将数据存储在具有随机延迟或一些批处理的其他机器上(等待并插入 20 条记录而不是一条)......但这可能很棘手并且可能会失败。

于 2013-01-09T21:31:38.300 回答
0

考虑利用非现实数据库,例如NoSQL

于 2013-01-09T18:17:48.643 回答