两种类型吧(都使用了 HTTPS 加密),想咨询下大家,这两种分别是怎么加密保证安全的呢?
(两种我都是通过中间人抓包的方式抓取的)
1.第一种抓取的传输数据乱码,看起来像是加密了
2.第二种,抓取不到任何数据,但明明确定有网络传输(是使用了 自签名的方式 实现吗)
因为自己经验不足,但是想对自己的 APP 进行数据加密,所以诚心请教别人是怎么保证接口数据安全的,希望多多指正,探讨交流。
1
orderc 2018-04-07 13:52:46 +08:00
数据加密后传输
|
3
orderc 2018-04-07 14:44:56 +08:00
理论上走 HTTP 协议都可以抓到,这跟有没有使用自签名证书没关系。
第二种是直接 TCP 转发的吧,需要用 wireshark 来抓包 |
4
WordTian 2018-04-07 14:57:54 +08:00 via Android
有些 app 很屌的,抓个包难的一匹
它们会在本地开个代理端口,把 app 的一些重要数据转发到这个端口,然后经过处理或加密后再转发到他的服务器 |
5
des 2018-04-07 15:04:35 +08:00 via Android
第二种是 APP 内置了证书,抓包软件签发的和他内置的不一致,连接中断了而已
|
6
des 2018-04-07 15:07:49 +08:00 via Android 1
@des 不过也可能是自定义协议,为了 qos,用了 443 端口,。数据包不对,连接终止,所以是 no data
|
9
yukiww233 2018-04-07 18:33:43 +08:00 2
第一个好像只是因为开了 gzip 吧
|
10
3a3Mp112 2018-04-07 18:53:15 +08:00
其实不用 https 一样是能保证安全的。
你看微信,全都被你抓出来了,可是能解密吗? |
12
hyyou2010 2018-04-07 20:33:32 +08:00
使用 https,将证书内置 app 并强制检查,这样就抓不了包了。证书可以外购也可以自定义。
|
13
hyyou2010 2018-04-07 20:42:04 +08:00
我上面这个说得不精确哈,精确了说得写一大堆,涉及 CA 信任链等等话题。推荐你看看这两个链接:
https://developer.android.com/training/articles/security-ssl.html Android 官网的说明 https://jaq.alibaba.com/community/art/show?articleid=545 阿里云安全的相关说明 |