【发布时间】:2012-06-18 06:11:00
【问题描述】:
我已经阅读了Saving credit card information in MySQL database? 和Storing Credit Card Information。
我知道存储信用卡信息需要 PCI 合规性,这不是一件容易的事。
这不是这个问题的目的。我的问题如下:
加密用户信用卡的安全方法是什么?想到的最简单和最简单的方法是使用私钥并用它加密 CC。这似乎不太安全,因为密钥必须存储在服务器上,如果攻击者可以获取我的数据库,他们可能也可以获得密钥。
我希望能够使用该用户密码加密每个 CC 作为加密过程的一部分。如果有人获得数据库,他们将无法解密任何内容,因为密码存储为加盐哈希。这对于交易性购买非常有用——用户点击“购买”,输入他们的密码作为确认,我解密他们的 CC 并进行收费。他们的密码仅在请求期间在内存中,并且永远不会写入磁盘。
不幸的是,这不适用于我正在尝试构建的内容 - 一项收取经常性费用(例如,每月一次)的服务,无论用户是否在我需要收费时登录.
在这种情况下,是否有一种安全的方式来存储用户 CC?
【问题讨论】:
-
存储 CC 信息的服务器是否也必须能够读取 信息?例如。如果可以通过读取加密数据副本的离线机器完成每月收费,您可能需要考虑使用公钥方法...
-
想必系统一直是连接的,只要用户注册,数据就可以发送给它。是的,使用专用接口更容易保护,但意味着需要外部应用程序;并且可能不是标准的网络软件,否则它可能会表现出许多与原始主机相同的漏洞。第三方专业的异地解决方案可以做到这一点。
标签: mysql database encryption credit-card