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