3

我有兴趣做一个数据挖掘网站。数据库中的数据非常敏感。

我想找到一种方法来加密数据库中的数据并向我的客户证明即使是我也无法读取数据。

问题是我可以在夜间在服务器端“批处理”关系,并且我的软件必须能够清楚地读取数据。

你有想法吗 ?

4

4 回答 4

1

您还没有根据报告描述您需要做什么。有很多方法可以对加密数据进行计算。我建议你从这两种方法开始。

  1. 查看Peter Wayner 所著的 Translucent Databases 2nd Edition一书。引用韦纳的话,“这本书仍然旨在帮助世界建立能够回答有用问题的数据库,而不会保留任何有用的信息。这些示例表明大多数数据库不需要填充世界的秘密和个人信息。如果客户端使用适量的加密,数据库不需要是危险的一站式购物身份窃贼和其他有恶意的人。”

  2. 如果您拥有密码学博士学位,并且有数十亿个周期要烧掉,那么您应该阅读同态加密

于 2012-02-28T04:30:37.393 回答
0

你应该考虑最基本的数据加密:RSA。谷歌这个,很简单,加密有两个密钥,一个是公钥,另一个是私钥。让我们知道这对您有何影响。

于 2011-11-04T17:21:11.383 回答
0

正如@vy32 提到的,同态加密提供了理论上的方法来做到这一点,但今天它并不实用。

请求匿名而不是加密数据怎么样?

例如,您不需要客户姓名或国家 ID 来区分他们——匿名 ID 就可以了。另一个例子:一些数据值可以被散列,这样你就可以区分不同的实体,但不能区分它们是什么。数值可以按顺序给出,这样您就可以知道每一对中哪个更大,而不是精确的数量。对您来说不重要的字段,例如大多数应用程序中的个人姓名,可以简单地省略。

有一整套工作致力于匿名化,另一套工作致力于对匿名数据集进行去匿名化,但通过一些简单的转换,您可以获得很长的路要走。

于 2014-11-12T15:36:26.780 回答
0

不可能不解密数据,但你的软件可以做到,只要你能控制你的软件。

某处需要密钥,以便软件可以解密数据,如果软件在您有权访问的计算机上运行,​​您就可以获得密钥。没有办法解决这个问题。

您的客户要么必须相信您不会对数据进行任何恶意操作,要么他们必须自己(或使用其他服务)进行处理。

可能有一些方法可以使用同态加密(即,你有enc(f1(a,b)) = f2(enc(a), enc(b))一对函数f1f2),但这仅适用于一些非常有限的操作,专门为支持这一点而制定的加密方案,很可能不适用于你的“数据”采矿”是必要的。

于 2011-11-27T23:25:05.220 回答