在 php/mysql 应用程序中收集和存储银行帐户详细信息时的安全注意事项
Posted
技术标签:
【中文标题】在 php/mysql 应用程序中收集和存储银行帐户详细信息时的安全注意事项【英文标题】:Security considerations when collecting and storing bank account details in a php/mysql application 【发布时间】:2011-10-23 06:19:20 【问题描述】:我们被要求研究应用程序收集银行帐号和分类代码并将其临时存储以通过无纸化直接借记系统进行离线处理的可行性。
将通过 256 位 SSL 连接从网站访问者那里收集数据,并将其存储在 mysql 数据库中,供我们的客户以后收集。此数据将暂时保留,直到下载后才会从数据库中删除。
详情: 我们在此特定服务器上托管其他一些网站 没有人拥有对服务器的 shell 访问权限或 FTP 访问权限 服务器符合 PCI 标准 机器上运行的 Mod_security 和其他软件
我知道这与这个问题 Best practices for storing bank information in a database 非常相似,并且感谢大部分回复都是为了避开。
我了解安全注意事项列表可能非常庞大。
我们应该关注哪些特定的安全领域?
【问题讨论】:
为什么用户会下载他们自己之前与您共享的数据(银行账户)?当然,我假设是用户下载自己的数据。我不想认为其他人会这样做:) 您好,我们的客户将下载数据,他们将使用银行详细信息设置直接借记以从账户中取款。我们不参与此过程,我们需要做的只是提供一种方法,让我们的客户在网站访问者提供该信息后访问该信息。 【参考方案1】:使用非对称加密,以便数据在插入数据库之前被加密,但您不会在服务器上存储解密数据所需的密钥。
此密钥应仅存储在客户端,以便他们可以在从您的服务器检索它之后对其进行解密。
仍然有这种保护,您需要为他们创建一个隧道以安全地连接到您的服务器。如果您打算让他们直接连接到 MySQL,我应该提到不加选择地接受外部连接到 MySQL 侦听端口是不可取的。如果他们有一个静态 IP,如果创建 *** 不适合您,您可以使用软件或硬件防火墙以这种方式对其进行限制。
answer 提供了一些关于使用 php 中内置的 openssl_*
函数进行非对称加密的信息。
如有必要,请要求对此进行澄清/扩展。
【讨论】:
您好,MH,非对称加密听起来不错。我们已经阻止了到我们的 MySQL 服务器的所有外部连接,除了两个静态 IP 地址。我非常有信心在插入数据库之前加密数据。您对客户端收集和解密这些数据的方法有什么建议吗?他们最初要求的是 CSV 文件。 客户端是指在android、ios等端解密数据并将解密密钥存储在Android、iOS等应用程序中?以上是关于在 php/mysql 应用程序中收集和存储银行帐户详细信息时的安全注意事项的主要内容,如果未能解决你的问题,请参考以下文章
Javascript / css / php / mysql在网站上的div中收集用户电子邮件地址[关闭]