想问个关于 HTTPS 的技术上的问题

2016-11-10 23:32:40 +08:00
 xzg1993

现在 IOS 强制使用 HTTPS 连接了,正好公司业务上也需要 HTTPS ,这几天研究了下,讨论出一个情况觉得 HTTPS 应该是不安全的,不知道设想是否对,请这方面的大神解救下。 总所周知, https 在握手的时候是明文的, SSL/TLS 协议的基本流程如下: ( 1 ) 客户端向服务器端索要并验证公钥。 ( 2 ) 双方协商生成"对话密钥"。 ( 3 ) 双方采用"对话密钥"进行加密通信。

如果在第一步的时候,中间人就对数据进行拦截(可以是免费公共 wifi 网络情况下),之后中间人模拟服务器给客户端返回消息和公钥(这里的公钥假设已经被木马程序安装到 Android 手机中了)之后和客户端进行通讯,获取到用户提交的敏感信息。之后中间人拿着用户的信息在模拟客户端和服务器端进行握手通讯。这样是不是做到拦截了呢?

我想的解决办法就是每次 APP 验证的时候从手机安装包中提取公钥进行验证。

还有个问题不太懂,请教下各位:请求被拦截是否可以被重定向到一个木马网站,之后返回个一个早期被植入 Android 手机中的木马网站的可信任证书,之后伪装成客户端所要访问的服务器和客户端进行通讯呢?谢了。

2947 次点击
所在节点    HTTP
27 条回复
nopy
2016-11-10 23:35:30 +08:00
手机既然已经中了木马病毒了当然就不安全了。
JohnLou
2016-11-10 23:36:45 +08:00
不安全那么多人用,脑子锈逗了?
iyaozhen
2016-11-10 23:39:29 +08:00
你这个就是中间人攻击。
这里的公钥假设已经被木马程序安装到 Android 手机中了。这样的话基本安全已经没有了,其它都是空谈。

你既然是 iOS 开发者,肯定用过 charls 抓包工具,要抓 https 的包需要手机端装证书。就是这个原理
xfspace
2016-11-10 23:45:09 +08:00
这就有请 Certificate Transport 上场了。从根源治疗 MITM.
xfspace
2016-11-10 23:47:28 +08:00
@xfspace 不好意思打错了。应是 Certificate Transparency
zomco
2016-11-10 23:49:09 +08:00
很多抓包工具就是这样玩的
lhbc
2016-11-10 23:51:30 +08:00
贼已经爬窗 /翻墙进你家了,你还担心家里的门安不安全……
ipconfiger
2016-11-11 00:06:56 +08:00
中木马一切玩完, 所以别用安卓
bdbai
2016-11-11 00:15:55 +08:00
@ipconfiger 碰上猪队友, iOS 也没辙。按照“提示”点开证书,安装描述文件,指纹确认,然后...
ipconfiger
2016-11-11 00:49:36 +08:00
@bdbai 试试, 手把手指导还差不多. 都这样了就别提安全二字了
kkzxak47
2016-11-11 00:54:58 +08:00
不理解,我的疑问: 客户端手机系统都沦陷了,失去了公钥鉴别能力,中间人躺着收钱就行了,还要攻击?那个木马能给系统装上伪造公钥,不能伪造你 APP 的验证?
mornlight
2016-11-11 03:04:41 +08:00
在符合使用规范和大环境安全的前提下, HTTPS 可以保证通信过程不被窃听或篡改。
能随便在客户端安装 CA 已经破坏这个前提了。
abellee
2016-11-11 04:09:45 +08:00
@bdbai 这么多步都能中的人 还拿来跟猪猪比 你有考虑过二师兄的感受吗
xenme
2016-11-11 05:37:40 +08:00
certificate pinning ,代码验证证书就好了
des
2016-11-11 08:05:55 +08:00
@ipconfiger 你这逻辑有点迷啊。
类似的可以有,中了病毒,一切玩完,所以别用 Windows
被诈骗,一切玩完,所以别用银行卡
finian
2016-11-11 08:23:13 +08:00
关键字: MITM, SSL Pinning
VYSE
2016-11-11 08:25:43 +08:00
可以不用系统 CA ,自带增加攻击难度
xzg1993
2016-11-11 08:26:52 +08:00
@iyaozhen 是的,我用了 charles 它代理 https 就是这个原理在手机中安装证书。
xzg1993
2016-11-11 08:27:39 +08:00
@VYSE 考虑了自带 ca ,自带 ca 的话,安卓的 webview 不还是走的系统的么
xzg1993
2016-11-11 08:27:51 +08:00
@finian 尝试下,谢谢

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

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

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

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

© 2021 V2EX