目前是这么搞的。
服务端:
1.接口只接受POST请求
2.接口必须HTTPS访问
移动端:
SSL证书内置,SSL-Pinning验证证书。不匹配不发请求。
APP需要严格防控抓包么?如此方案除了反编译源码外,还有被抓包的可能吗?
服务端:
1.接口只接受POST请求
2.接口必须HTTPS访问
移动端:
SSL证书内置,SSL-Pinning验证证书。不匹配不发请求。
APP需要严格防控抓包么?如此方案除了反编译源码外,还有被抓包的可能吗?
1
arron Apr 24, 2014
获取客户端那个SSL证书内容不难,SSL-Pinning是比对证书吧?然后在代理上验证这个证书就成。(没有测试)
感觉这种使用公共的方法都容易被破的。 |
2
WildCat Apr 24, 2014 via iPhone
搭车问下hybrid app的相同问题。
|
3
missdeer Apr 24, 2014
叹气,要怎样才能有效防止呢
|
4
dong3580 Apr 24, 2014
|
5
sanddudu Apr 24, 2014
ipa跟zip差不多,如果把证书放进去跟直接放出来没差别
另外真的要找接口的话反编译都不是难事,一般挖的出来证书密码 但是如果你的证书密码是123456,那你做什么措施都没用了 |
6
yautou Apr 24, 2014
想到一个不知道实际可行不。
记录发起请求的时间戳,经过某一不可逆的算法加密,两者都传给服务器; 服务器对时间戳离谱的请求直接舍弃,对有效的时间戳,用同样算法加密一次,与收到的密文比较,判断是否接受请求。 |
7
tang3w Apr 24, 2014
即使进行了证书验证,越狱后的系统是不安全的,也可以被抓包。客户端和服务端协商一个非对称加密机制,对敏感数据加一下密就行了。
|
8
elden Apr 24, 2014
Certificate Pinning主要是确保公共网络的SSL通讯安全,并不能防止有心人抓包。 比如在越狱后的iOS,只需简单交换[NSURLConnectionDelegate connection:canAuthenticateAgainstProtectionSpace:] 或 [NSURLSessionDelegate URLSession:didReceiveChallenge:completionHandler:]的实现即可破解。
|
10
akira Apr 24, 2014
把心思花在做好产品上面吧。
一切防范手段都是防君子不防小人的。 |
11
mornlight Apr 24, 2014
个人觉得应该把防御的重点放到服务端上,不相信任何客户端发来的数据。所有放到客户本地的东西理论上都是不安全的
|
13
xiasix Apr 24, 2014
3des加密 ios和服务端约定好密钥就可以了嘛 传输都是一堆字符串 你又不知道密钥 你解啊 你解啊 你解啊
|
14
janxin Apr 25, 2014 via iPad
看你的应用类型,有些软件有特殊要求,比如金融软件有合规要求
|
15
AeroKwok Apr 25, 2014
你把接口加密就行了,当然要自己设计这中API。比如跳字符串什么的
|
16
wwqgtxx Apr 25, 2014 via Android
没用的,只要有root权限,都能直接替换系统类库,防不胜防
|
17
TangMonk Apr 25, 2014
防不了的,移动 APP 和网页一样的。
|