本文主要是介绍12. PCI DSS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
支付行业,如果明文的卡信息通过了你的后台,那后台必须有PCI DSS的安全认证。这个认证是做支付系统的敲门砖,如果没有这个证书,基本到哪里都行不通。具体的认证过程和项目可以查看PCI 官网介绍。本篇着重在技术层面讲解需要满足的要求。
敏感数据
卡片交易时,敏感数据分2类,一类是可存储的数据,一类是不可存储的
可存储数据
- 卡号(PAN)
- 有效期
卡号需要加密存储,有效期可以明文存储
不可存储数据
- CVV
- PIN
- 磁道数据(Track1/2/3)
这3个卡片数据属于超级敏感数据,只要是落盘了,就属于违规。日志都不可以打印的那种。
数据保护
数据保护需要特别注意一下程序日志,第三方组件。
日志是每个代码都必须有的东西,需要特别注意不要把敏感数据打印出来。
第三方组件常见容易出问题的是 负载均衡(LB),API Gateway,Redis这些。
可存储数据
对于卡号来说,需要加密,加密存储在数据库时,有以下几种方法
HSM加密: 这种加密无疑是最保险的方式,但是也是最不灵活的方式,费用也是比较昂贵的
软件加密: 加密强度必须强于或等于AES128,这里假设叫K1,而且加密的秘钥K1还需要被再次加密存储,加密K1的秘钥强度需要高于或等于K1的强度,这里叫K2。K1和K2需要分开地方存储,不可以放在同一个位置。并且定期需要更新滚动K1和K2。推荐K1一个季度更新一次,K2一年一次。
加密时,建议“加盐”(随机数),增加破解难度。
不可以存储数据
这个没什么好说的,用完立刻删除掉,数据停留系统的时间越短越好。
通信协议
Http和TCP是比较常见的通信方式,必须增加SSL安全加密,并且SSL最低版本需要支持TLS1.2,低于这个版本的协议需要禁用。
审核范围
以公共云服务来说,VPC为一个最小范围,只要卡数据出现在这个域内,不管有没有落盘,只要经过了这个VPC,那这个VPC下面的所有东西,都是审核范围。
但是,有点点规模的公司,其实,都是有很多服务,很庞大复杂的系统,多个开发团队,很大概率,同一个VPC下面会存在很多很多服务。如果全部纳入审查范围,那将会是极其极其头疼的事情,审核范围扩大,人员层面很难让其他团队配合审查,大部分还是生产环境的服务,要大量改造也是个很吓人的工作量。第三方评估实验室也会因为审核范围变大,费用也变高。就算过了,后续如何保证其他团队的开发每个人都能遵守安全规范呢。
所以,最重要的就是压缩审核范围,把卡数据压缩在一个最小的范围,然后把这个范围独立成一个VPC。那就只需要审核这个VPC内的服务就行了。
这篇关于12. PCI DSS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!