2015-10-15 80 views
0

我有一个数据库和REST API,以便客户端访问数据。出于性能和其他原因,我需要将应用程序和数据一起移动到客户端的物理服务器。有没有办法让我对数据库中的数据进行加密,因此客户端访问它的唯一方法是通过我公开的API,而不是通过破解MySql和获取原始数据。我不希望客户端看到存储在我的数据库中的数据,因为我觉得他们会窃取或分享数据。我能做些什么来完成?在客户端上托管时的数据库安全性

一个想法: 是否有可能实现某种形式的单向加密,其中基于api中提供的查找值。

例如通过电子邮件查找api,然后在数据库中比较单向加密,并返回记录。这样,如果他们碰巧看我的数据库,看不到电子邮件列表,他们看到的所有数据都是类似/ etc/passwd文件的数据。

+0

MySQL没有此功能。但是您的REST应用程序可以为您执行加密。一个熟练的,坚定的黑客总是能够获得数据,这是一个问题,你准备为了让他们放弃第一步而付出多少努力。 –

+0

我同意隐藏数据是相当无用的。如果数据公开,但以我描述的方式进行加密,使用SHA-2或3(据我所知尚未破解),会怎么样?因为从来没有办法解密它。有没有你能想到的漏洞?除了尝试所有可能的电子邮件地址组合来查看,并比较散列键,这是一个徒劳的练习,我很好。 – Roman

+0

也许你的问题不清楚。 '客户端访问数据'如果客户端要访问数据,那么单向哈希方法并不适合,因为重要的是你无法获取原始数据。 –

回答

0

10 Immutable Laws of Security

规则3:如果一个坏人对您的计算机不受限制的物理访问,这是不是你的电脑了

你需要的是根本不可能的,不注意事项。随时随地。