and*_*ift 3 javascript security payment frontend pci-compliance
我目前正在从事该项目,其功能之一是电子商务,因此我们的系统应该负责用户信用卡信息和其他凭据信息的安全性。
我知道任何处理用户支付卡信息的网络服务都应该遵循 PCI 合规性(支付卡信息数据安全标准)。作为前端开发人员,我需要弄清楚我应该关注和需要学习 PCI DSS 的哪一部分。
任何建议,参考或建议?
谢谢您的帮助
PCI-DSS 相当复杂,但简而言之:要遵循的大多数规则都与后端处理和存储有关。关于前端的要点之一是要求 3.3:
显示时屏蔽 PAN(前六位和后四位是您可以显示的最大位数),以便只有具有合法业务需求的授权人员才能看到 PAN 前六位/后四位以上的数字。这不会取代可能对显示持卡人数据(例如在销售点收据上)的更严格要求。
但我认为在前端这样做是个坏主意。最好将已经屏蔽的数据发送到前端,因为客户端上的所有内容都可以被操纵(例如,您通过 javascript 屏蔽卡号,但在页面源中可以找到整数)。
当然还有要求4:
4.1 在开放的公共网络(例如互联网、无线技术、蜂窝技术、通用分组无线服务 [GPRS]、卫星通信)传输过程中,使用强大的加密和安全协议来保护敏感的持卡人数据。确保传输持卡人数据或连接到持卡人数据环境的无线网络使用行业最佳实践为身份验证和传输实施强加密。(在使用 SSL/早期 TLS 的情况下,必须完成 PCI DSS 附录 A2 中的要求。)
4.2 切勿通过最终用户消息传递技术(例如,电子邮件、即时消息、短信、聊天等)发送未受保护的 PAN。
4.3 确保相关的安全政策和操作程序被记录在案、正在使用中,并为所有受影响的各方所知。
请务必使用强传输层加密 (TLS 1.2) 并仅允许使用安全密码,以便嗅探网络的人无法读取从前端传输到后端的数据。您应该意识到前端的所有保护工作可能会被脏电脑破坏,这意味着电脑被木马和其他恶意软件感染。这主要由要求 5 涵盖。
5.1 在所有经常受到恶意软件影响的系统(特别是个人电脑和服务器)上部署防病毒软件。对于不常受恶意软件影响的系统,执行定期评估以评估不断发展的恶意软件威胁,并确认此类系统是否继续不需要防病毒软件。
5.2 确保所有防病毒机制保持最新状态,执行定期扫描,生成审核日志,这些日志按照 PCI DSS 要求 10.7 保留。
5.3 确保反病毒机制正在积极运行,并且不能被用户禁用或更改,除非管理层在有限的时间内逐案明确授权。
5.4 确保相关的安全政策和操作程序被记录在案、正在使用中,并为所有受影响的各方所知。
最后:确保您的应用程序在需要时进行渗透测试。