作为开发该怎样保存客户的信用卡信息或者其他敏感信息?

2021-09-24 16:22:05 +08:00
 Felldeadbird

最近在对接信用卡业务,由于项目紧迫,我只对客户的卡片等信息进行了一个双向 DES 加密。但是只要知道密钥,或者代码泄露了。黑客就可以还原得到人家的信用卡信息了。

我想了想,暂时没找到比较好的存储方式。好像没有什么办法可以只有客户可以查看?但是我可以登录客户账户啊。

临时想到一个办法,就是在用户当前电脑本地存储记录一个 密钥。 同时提交保存卡片时勾选 本电脑记录? 但是这样会出现卡片信息还原失败的情况。

1072 次点击
所在节点    问与答
12 条回复
dzdh
2021-09-24 16:32:28 +08:00
使用用户密码进行 aes 加密,支付时需输入密码解密。

如果使用三方服务的话如 stripe 和 paypal 会返回 card_token 的
AS4694lAS4808
2021-09-24 16:42:15 +08:00
同支持 stripe 或者 paypal,能省很多事。
非要自己存的话,代码里肯定不能出现明文。
如果私有部署,可以用 docker 部署,然后 base64 后的密钥用 docker secret 作为环境变量管理。
在公有云上部署,可以使用托管的密钥服务,更安全。
私有部署也可以使用公有云的密钥托管服务,限定访问服务的 ip (一般公司专线的 ip 都比较固定),这样即使公有云访问密钥泄露,非法持有者在非法 ip 下也无法访问密钥。
zpfhbyx
2021-09-24 16:51:50 +08:00
自己内部挂个加密机的服务, 所有的加解密都在加密机内 用户密码或者二级密码做部分秘钥, 通过传业务代码(配置加密 key)+用户自定义的二级密码 进行数据解密或者加密 加密机只允许内网访问 并且只开放 api 端口, 加密机黑盒 代码或者被脱裤也解不开,除非业务代码+加密机+数据库同时泄露
ccming
2021-09-24 17:00:53 +08:00
压根就不要存这些信息
Felldeadbird
2021-09-24 19:09:32 +08:00
@dzdh 第一版我就是这么干。然后老板说不行。

@AS4694lAS4808 我也推荐过 stripe 。但是老板说 费率高,然后找了很传统的企业。。本来可以不保存的。但是老板说保存会体验好。


@ccming 本来是不保存的。但是老板说对手也有,我们也要搞。
66450146
2021-09-24 19:27:34 +08:00
1. 随便保存下来,泄漏了再想办法。
2. 按照 PCI 标准实现: https://www.pcisecuritystandards.org/pci_security/maintaining_payment_security
3. 在 1 和 2 之间,选择一部分 PCI 标准实现。

标准里面的内容都是行业里面的专家积累了多年经验写下来可能出现的问题,比自己想强多了
zdndk598
2021-09-25 07:16:28 +08:00
不能保存 传统公司也会给你发卡片 token 他们会存 和你没关系
dzdh
2021-09-26 11:17:07 +08:00
那方便问一下你们现在的费率嘛
Felldeadbird
2021-09-26 20:29:17 +08:00
@dzdh stripe 因为没执行。所以账号按照默认费率。PP 听财务好像是 2.9% ?
Felldeadbird
2021-09-26 20:30:10 +08:00
@dzdh 另外对接的一家老牌信用卡交易中心,听说费率比 PP 更低。有多低我就不知道了。
dzdh
2021-09-27 00:33:56 +08:00
julyclyde
2021-09-27 17:24:05 +08:00
可以找银行卡检测中心做 pcidss 认证
他们到时候会给出合规整改建议的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803950

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX