一些后端云直接把 key 分发到客户端中,怎么保证安全性?

2018-07-22 20:31:08 +08:00
 lhx2008
比如说某 b 后端云,直接把 id 和 key 分发到小程序里面,怎么保证安全的呢?
或者像腾讯云的小程序后端,是不是也有类似的问题呢?
1337 次点击
所在节点    问与答
6 条回复
lhx2008
2018-07-22 23:32:32 +08:00
没人说一下吗
chinvo
2018-07-23 01:03:47 +08:00
保障不了绝对的安全,即使编译到 binary 也能抓出来,所以只能从两方面入手:

1、在业务逻辑设计上,尽量降低泄露可能带来的风险,最终目的是能保障 session 不泄漏的前提下只有用户本人能访问敏感数据;
2、混淆等技术手段提升破解难度;
3、反爬虫措施降低 key 泄露之后滥用的风险。

另外最近国外有个 Approv.io 做“ Application Authentication ”,功能是“保障访问 API 的应用是官方应用”,具体逻辑没看,但是原理上应该是签名核验和冲击认证。
chinvo
2018-07-23 01:12:11 +08:00
另外在现在 API 的设计哲学中,即使用了非原始客户端,只要保障拿到敏感数据的人是最终用户本人,就认为接口是安全的。

对于银行等敏感应用,会加大量逻辑去提高 修改原始客户端 /开发第三方客户端 的难度,引入大量校验,同时对 App 版本、API 版本进行严格的管理,一旦发现某个版本 App/API 被破解,立刻在服务器端吊销访问权限。
rogwan
2018-07-23 06:59:54 +08:00
为什么要把 key 也放进客户端里?用 token 不能解决吗?
lhx2008
2018-07-23 08:18:07 +08:00
后端云直接把查库逻辑写到前端了,查用户信息也在前端,不是典型的前后端分离设计
lhx2008
2018-07-23 08:20:59 +08:00
@chinvo 谢谢,但是像 bmob 这种,是把管理员权限的 key 下发到小程序了,别人拿到就可以做无限制的增改删查,而不是伪造某个用户做他可能可以做的操作。而小程序反编译易如反掌。我不知道使用这种服务是不是安全的。还是他们有什么安全措施。

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

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

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

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

© 2021 V2EX