Jam*_*vec 1 mysql encryption indexing aes pci-compliance
出于搜索/索引目的,是否有一种简单/干净的方法来使用 MySQL 进行部分字段加密?
例如,使用内置功能AES_ENCRYPT()或任何其他等效功能?
例子:
更糟糕的情况是,我可以做一个子字符串,然后对所需部分进行加密,然后连接数据。然后我可以做一个类似的解密过程。这似乎需要做很多工作,因为我希望在某处建立一些东西。
我的谷歌没有得到回报。有谁知道一种干净地做到这一点的方法?
在支付卡处理领域,通常为卡号的最后四位和代表整个卡号的加密令牌维护单独的列。
数据重复最少。
最后四位数字可以以明文形式保存,以帮助客户了解正在使用哪张支付卡。用户的姓名、地址和卡的有效期也可以明文存储。
信用卡验证码(通常是卡片的背面显示的三位或四位数代码)必须永远,在任何情况下,可以存储在任何形式一旦卡被验证。
了解数据库中的对称加密(如 AES)对于网络犯罪分子的防御能力很弱,这一点很重要。太弱了,几乎没用。这是因为您的 Web 应用程序软件必须具有随时可用的密钥来加密新信息。许多对在线系统的攻击都是通过 Web 应用程序进行的,因此网络犯罪分子可以轻松获取密钥。然后他有你的卡数据。
如果您收集或存储支付卡号(信用卡号),您的业务将受到支付卡行业 (PCI) 数据安全要求的约束。特别是,您最终必须填写此自我评估问卷https://www.pcisecuritystandards.org/documents/SAQ_A-EP_v3-1.pdf。这将在第一年花费大约 50,000 美元,而在随后的每一年中大约会花费一半。
另一方面,通过诸如 stripe.com 或 Paypal 之类的支付处理器工作,可以利用他们的 PCI 数据安全要求并减少您的风险。
因此,请三思是否要收集这些信息,并与您的会计师或 CFO 交谈。
如果您必须存储支付卡信息,您可以考虑使用非对称(公共/私有)加密机制。要安全地做到这一点,请设置一台专用机器,并在该机器上生成一个密钥对(可能是 RSA)。将公钥导出到您的 Web 应用程序,不要复制私钥。然后关闭专用机器及其磁盘驱动器,并断开其与网络的连接。(打开并取出wifi和蓝牙适配器卡,然后拔下以太网电缆。)
使用 Web 应用程序上的公钥加密卡片并将它们存储在您的数据库中。当您需要使用支付卡号来处理支付或诸如此类的事情时,您可以暂时打开专用机器并使用它来进行处理。
如果您有信用卡号,您的系统就会成为网络犯罪分子的目标。这一切可能看起来很偏执,直到您意识到有能力、有上进心和不择手段的人实际上正在密谋反对您。
| 归档时间: |
|
| 查看次数: |
227 次 |
| 最近记录: |