Square payments:如何保护 'cards on file' 免受数据泄露

Square payments: How to protect 'cards on file' from a data breach

我正处于集成 Square 支付的早期阶段。在我的应用程序中,允许用户保存他们的卡详细信息是有意义的,因为我们希望进行多笔小额交易。 Square 称此功能为 'cards on file'.

作为这个过程的一部分,您在 Square 的系统中创建了一个客户和一张相关的卡片;这些 ID 将保存在我的系统中并与我的用户相关联;这样,当他们再次付款时,他们可以 select 选择使用存档卡。 实际刷卡的API只需要这两个ID和一个金额

让我担心的是,我的数据库保存了对客户的卡进行收费所需的所有数据;我可以编写一个脚本,只向我的所有客户收取一定数量的费用——当然,有权访问我的数据的黑客也可以做同样的事情。

我没想到我的系统会出现这种级别的风险 - 我的假设是 Square 会将我与此隔离开来(通过某种用户对缺失数据的质询 - 例如 CCV 编号)。似乎安全的选择是不使用 'card on file' 功能并让用户每次都重新输入。

这是对的,还是我完全误解了这里的某些内容?

我确实遗漏了一些东西 - 因为客户保存的卡上的任何费用都会记入我的帐户(如 Square 门户中的配置),任何欺诈性收费的唯一受益人是我。黑客无法获得资金,因此风险范围有限。

显然,如果我是一家欺诈公司,用户就会面临风险 - 欧盟似乎对此不满意,今年即将发生的变化将要求在销售点从用户那里获取更多信息.

Strong Customer Authentication

为了给卡充值,需要您的 Square 访问令牌和卡 ID。最好将该访问令牌存储为环境变量,以限制安全风险。如果有人获得了对您数据库中卡 ID 的访问权限,他们将无法在没有与您的开发者帐户关联的访问令牌的情况下对任何卡收费。