答案摘要:
不要这样做.法律和财务方面的影响将是灾难性的.寻找既定的第三方解决方案或聘请专家.切勿在共享服务器上存储任何敏感信息.研究最合适的加密机制.
我正在为一个客户建立一个网站,该网站需要将客户的银行信息(路由+账号)存储在数据库中以进行直接存款.以下是一些细节:
1)该网站最初将位于共享托管服务器上(这是我首先关注的问题).
2)我正在使用PHP/MySQL.
3)我打算使用mcrypt.
4)密钥将位于Web根目录之外.
请让我知道你的想法.如果可能的话,请向我提供有关ACH处理的一些资源.
谢谢!
编辑:我期待这样的回应,因为我也害怕安全问题.我向客户表达了我的担忧,这将是一个很好的支持.
编辑2:将离开这一点.首先对这个想法不满意!将调查PayPal的批量支付API.
我认为你可以通过使用像Paypal的Mass Payment API这样的东西自己存储任何银行信息来解决这个问题.这样,您的客户可以向人们付款,而PayPal会存储您不必的所有信息.
如果您想了解您需要采取的所有步骤,甚至可以远程保护客户的敏感财务数据,谷歌的" PCI合规性 "
如果你不是害怕在网上存储财务数据,你就会非常天真.
1)该网站最初将位于共享托管服务器上(这是我首先关注的问题). - 特别糟糕.没有对服务器的绝对管理控制,并且能够让其他人离开是一个非常大的问题.
我真的担心你是从前端Web服务器直接访问数据库.对于财务数据来说,这是一个很大的禁忌.
即使您拥有最强大的加密算法,还有什么可以阻止某人劫持您的系统并使用它来解密数据.他们不需要密钥,他们只需要您的应用程序为他们完成工作.这假设您使用单个密钥来加密和解密数据,或者您正在从数据库中检索数据以向系统用户显示.
好的,这就是事情.如果您不得不提出这些问题,那么您没有正确的技术专业知识.我不是说听起来很卑鄙,这只是一个事实.我会和一群经验丰富的人一起工作,他们首先做这个职业.这里有很多未提及的事情需要加以考虑.有很多关于安全性的东西本身没有写下来.你读书时不会接受的东西.这是一个非常难以建立的事情,因为那些闯入金融系统的人有很大的回报.
不要这样做.
如果必须,请使用公钥/私钥加密.仅存储和使用公钥来加密进入数据库的数据.将私钥存储在安全位置(意味着:不是托管服务器,而是具有适当访问控制的"安全"本地计算机).必要时,将数据下载到本地计算机,使用私钥解密,然后离开.
但严重的是,如果可能的话,找到一种避免这样做的方法.