在mySql中存储敏感数据

时间:2013-03-04 01:16:50

标签: https security public-key-encryption encryption-asymmetric

我希望在我的某个客户端网站上加强安全性。没有设置支付提供商,因此敏感的直接借记信息需要在mySql服务器上。此直接付款信息需要来自会计部门的用户可读。

测试服务器的设置如下:

  1. 目前,主站点位于wordpress博客上。
  2. 客户使用EV SSL证书完成HTTPS加密表单。
  3. 数据存储在wordpress数据库的单独数据库中。
  4. 直接付款详情目前存储为纯文本
  5. 现在第4部分困扰着我......但目前还不错,因为只有在测试服务器上!

2 个答案:

答案 0 :(得分:1)

这很难回答,因为它取决于您需要保护这些数据的程度。

第一步显然是加密存储在mysql中的所有细节,以防有人获取数据库的转储。

这个解决方案很好,但它引入了漏洞,好像有人从您的应用服务器获取解密密钥,他们无论如何都能够解密数据库的转储。

从这里可以考虑很多解决方案,我确信通过一些研究你应该能够找到一些不错的解决方案,但有一种想法是:

您可以使用公钥/私钥加密算法加密应用程序服务器上的数据。公钥只能用于加密存储的信息,这些信息存在于应用程序服务器上。如果被黑客攻击,他们唯一能做的就是向数据库添加更多数据= /。在这种情况下,私钥将是每次人们需要查看此信息时需要输入的密码。

这有一个明显的缺点,就是你不能对你的数据进行任何机器处理,因为它的行程一直都是完全加密的,直到显示出来。

(并且您仍然有人访问您的应用程序服务器的漏洞,只是转储临时存储密钥的会话文件/内存缓存)

老实说,我要做的第一件事就是以这种或那种方式加密整个数据库。仅这一点就增加了一层体面的保护。在大多数情况下,转储数据库比访问服务器的文件系统更容易。

答案 1 :(得分:0)

您是在谈论银行帐户详情/信用卡详情还是两者兼而有之?

请注意存储信用卡详细信息会带来满足的PCI要求。

另外,如果您打算存储机密详细信息,请勿将其加密存储。

有任何问题,请告诉我。

的Fabio @fcerullo