安卓客户端如何与服务端安全地通信?

2014-12-04 20:18:02 +08:00
 felixzhu
如果客户端与服务端要通过HTTP协议通信,为了加密,之前使用的方法是HTTPS和对称加密。但是HTTPS可以Fiddler之类的工具抓包查看数据,对称加密的话安卓的apk包反编译一下就可以看到secret_key。不知道大家一般都怎么处理需要加密的请求呢?
10720 次点击
所在节点    Android
12 条回复
felixzhu
2014-12-04 20:18:36 +08:00
自抢沙发求回复
lsylsy2
2014-12-04 20:21:30 +08:00
不要把重要的东西放在客户端做。
或者说,你可以把客户端当成浏览器去做
realityone
2014-12-04 22:46:04 +08:00
上次有人问过吧。。
没什么好办法。。
我见过的是重要部分用jni..再加上千牛的方案好像是动态取key。。
banbanchs
2014-12-04 23:00:09 +08:00
Fiddler能看HTTPS那是因为导入了证书,正常是看不了的
zts1993
2014-12-04 23:00:33 +08:00
写native的
jason52
2014-12-04 23:08:05 +08:00
推荐看云风的游戏人生那本书,里面反破解游戏外挂的知识学一点,基本都够了。

印象最深的是,对于客户端到底有没有用外挂这个 1 bit的信息,你直接放在数据流里面传会被人看出,所以他很机智的改为,正常的每隔100个包发一段信息,不正常的改为101个。


哎,我觉得我没讲清楚。。。
ryd994
2014-12-05 00:43:41 +08:00
如果你按规范(验证CA……)实现HTTPS的话,是无法中间人窃听的
felixzhu
2014-12-08 09:19:57 +08:00
感谢大家的回复,后来还是决定用最简单的HTTPS自颁发证书(等有空再考虑去买一个证书),然后在客户端校验证书,保证不会被中间人窃听。
felixzhu
2014-12-08 09:20:25 +08:00
liuxun349
2014-12-08 09:49:03 +08:00
怎么保证用户每次请求状态?用session么?
felixzhu
2014-12-08 11:22:20 +08:00
@liuxun349 嗯,都是用户系统一起的
jianen
2014-12-08 13:03:14 +08:00
哈哈,难怪如此熟悉的话题~~

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

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

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

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

© 2021 V2EX