请教 客户端/前端的安全措施有什么意义?

334 天前
 luckykelan

大家好,问题的背景是这样的:我们的项目已经上线了,但是竞争对手公司也在搞这方面,所以想尽可能的保护接口数据,最近做了以下尝试:

  1. mtls ,证书双向认证。但是客户端证书一直没有找到安全的存储方式,在客户端以硬编码存储,反编译以后就是明文了,以文件存储,将 APK 解压也会获取。
  2. 接口加密,我使用国密算法模拟了 https 的部分过程,在客户端/前端生成一组非对称加密密钥,用私钥进行签名,将签名后公钥传到后端,后端验签后会将对称加密的密钥使用传过来的公钥进行加密,返回到客户端/前端,后续的接口使用该密钥进行对称加解密。 虽然费了很大劲做了安全措施,但各位应该看出来了,其实破解起来并没有太大的难度 所以我的疑惑是客户端/前端的数据安全有办法保证吗?似乎不管用什么方式,破解起来都是体力工作...
2932 次点击
所在节点    信息安全
26 条回复
BadFox
333 天前
增加攻击成本。单纯的双向证书只能说把门关了,人家一推就开。但就算只做到这一步你也可以拦住很多直接抓包改包的初级脚本小子了。配合反调反 hook ,混淆,反反编译等,就算是这么不仅关了还挂了个不错的锁,虽然别人也能破解但是成本骤然上升了很多。

另外做安全不能以定性的思维来做,不能因为一个手段有可能被破解就觉得可以去掉。安全永远应该以定量的思维来分析,没有绝对的安全,但是我们能思考在付出一些可接受的代价的情况下可以安全到什么程度。
hwf
333 天前
可以说没有任何意义, 特别是想隐藏接口数据的
tflins
333 天前
增加攻击成本,就像只做一个简单的客户端加密或验证,也能杜绝大部分低成本的简单攻击
monkeyk
333 天前
所谓更安全就是增加复杂度;增加被拿捏的时间长度。
---- 做多年安全的总结
snowgao
333 天前
就是典型的防君子不防小人
luckykelan
320 天前
非常感谢各位,学习到很多,谢谢

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

https://yangjunhui.monster/t/1050691

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

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

© 2021 V2EX