V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lhx2008
V2EX  ›  问与答

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

  •  
  •   lhx2008 · 2018-07-22 20:31:08 +08:00 via Android · 1288 次点击
    这是一个创建于 2098 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如说某 b 后端云,直接把 id 和 key 分发到小程序里面,怎么保证安全的呢?
    或者像腾讯云的小程序后端,是不是也有类似的问题呢?
    6 条回复    2018-07-23 08:20:59 +08:00
    lhx2008
        1
    lhx2008  
    OP
       2018-07-22 23:32:32 +08:00 via Android
    没人说一下吗
    chinvo
        2
    chinvo  
       2018-07-23 01:03:47 +08:00 via iPhone   ❤️ 1
    保障不了绝对的安全,即使编译到 binary 也能抓出来,所以只能从两方面入手:

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

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

    对于银行等敏感应用,会加大量逻辑去提高 修改原始客户端 /开发第三方客户端 的难度,引入大量校验,同时对 App 版本、API 版本进行严格的管理,一旦发现某个版本 App/API 被破解,立刻在服务器端吊销访问权限。
    rogwan
        4
    rogwan  
       2018-07-23 06:59:54 +08:00 via Android
    为什么要把 key 也放进客户端里?用 token 不能解决吗?
    lhx2008
        5
    lhx2008  
    OP
       2018-07-23 08:18:07 +08:00 via Android
    后端云直接把查库逻辑写到前端了,查用户信息也在前端,不是典型的前后端分离设计
    lhx2008
        6
    lhx2008  
    OP
       2018-07-23 08:20:59 +08:00 via Android
    @chinvo 谢谢,但是像 bmob 这种,是把管理员权限的 key 下发到小程序了,别人拿到就可以做无限制的增改删查,而不是伪造某个用户做他可能可以做的操作。而小程序反编译易如反掌。我不知道使用这种服务是不是安全的。还是他们有什么安全措施。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   908 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 21:05 · PVG 05:05 · LAX 14:05 · JFK 17:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.