https 能防范这种情况么?

2020-05-26 17:43:12 +08:00
 Newyorkcity
小白第一次访问网站 60321 并输入账号密码登录,网站 60321 规范使用 HTTPS,小白这边使用 Chrome 等主流浏览器规范发起 HTTPS 。

但好巧不巧小白和网站 60321 之间所有的数据( TCP 包)都经过黑客张三的主机并被张三捕获。假设黑客张三有足够的计算机网络知识,但他一开始并不知道网站 60321 的私钥公钥,那么张三能不能得到小白的账号和密码?

如果能防范,为什么?小白和网站 60321 第一次通信,它们协商加密方式的数据也一样被张三捕获了。那小白那边怎么加密数据,张三能知道,之后小白加密好的数据再发过来又被张三捕获,那张三知道怎么加密却解密不了?那张三解密不了,网站 60321 的服务器却能解密?这怎么做到的啊?

如果不能防范,那 HTTPS 所防范的危险场景是?

谢谢!
3174 次点击
所在节点    问与答
38 条回复
zpfhbyx
2020-05-26 17:44:58 +08:00
建议了解下 https
wnpllrzodiac
2020-05-26 17:45:41 +08:00
对称加密 非对称加密了解下
richard1122
2020-05-26 17:46:00 +08:00
请搜索 PKI
wnpllrzodiac
2020-05-26 17:46:26 +08:00
推荐 日本人 结城浩 的图解密码学。非常有帮助。
villivateur
2020-05-26 17:47:02 +08:00
建议了解下,证书颁发商、受信任、本地证书等概念
xiri
2020-05-26 17:49:07 +08:00
公钥加密的数据,只能用私钥解密,而私钥又不会经过网络传输
marcushbs
2020-05-26 17:51:01 +08:00
128 位量子计算机上线以后就危了
lxk11153
2020-05-26 17:52:51 +08:00
@xiri #6 弱弱问下 那种抓包程序是如何抓到 https - form 请求里的密码的?
AngryMagikarp
2020-05-26 17:53:55 +08:00
HTTPS 使用的是非对称加密,交换的只是公钥。比如小白拿到网站的公钥后,用这个公钥加密,那么加密后的数据只能用网站的私钥才能解开。

因此,黑客获取数据是无法解密的。不过黑客可以作为一个中间人,把他的公钥给你,然后把他自己的公钥给网站,中间做一次转发。但这样子浏览器会发现他的公钥和“备案”在证书提供商上的不一样,然后给用户危险警告。
ruixue
2020-05-26 17:54:57 +08:00
吾尝终日不食,终夜不寝,以思,无益,不如学也
momocraft
2020-05-26 17:55:47 +08:00
你都知道协商这个词了,再补上密钥协商的过程就知道了
warcraft1236
2020-05-26 17:59:04 +08:00
我去,https 不就是防范这种事的吗
Vegetable
2020-05-26 18:01:20 +08:00
@lxk11153 #8 web 场景的中间人攻击原理就是,中间人和浏览器说自己是服务器,和服务器说自己是浏览器。

https 的目的就是通过无法被外界获取的证书,确保浏览器不会被中间人蒙蔽,知道自己连接的人是否可信。
miyuki
2020-05-26 18:12:28 +08:00
@lxk11153

通常是在系统中安装了中间人 CA,所以系统会信任,中间人替换证书后一般也就不会报错

对抗技术如客户端 ssl pinning
eGlhb2Jhb2Jhbw
2020-05-26 19:09:41 +08:00
看了 append 以为 lz 会被喷的很惨,有一瞬间有点心疼 lz,结果翻了翻,发现大家都还好吧。。。不知道哪里伤害到了 lz 。
PHPer233
2020-05-26 19:13:54 +08:00
建立 SSL 连接时浏览器要验证 12306 网站的证书是否合法,显然黑客作为中间人无法获取到 12306 的 SSL 证书,所以小白在打开网站时浏览器会提示证书错误并终止访问。
gefranks
2020-05-26 19:25:16 +08:00
如果黑客(组织)有足够的能力让浏览器信任的 CA 签了一张有效的证书的话,那还是能被中间人攻击的
Newyorkcity
2020-05-26 19:29:11 +08:00
@PHPer233 额,证书这个我还没看过。即便使用证书,小白和 60321 之间的通讯的 TCP 包正常情况下总是要经过一些路由器之类的中间节点中转的吧?张三把自己的主机加入这个网络中伪装成一个路由器,这个使用证书什么的应该 i 防不了吧?
Windelight
2020-05-26 19:35:24 +08:00
你应该了解一下为什么 Wireshare 或者 charles 抓包软件抓 https 时为什么要安装证书?
uTOmOuk3L6sb4MSI
2020-05-26 19:36:00 +08:00
@miyuki #14 不是客户端,只是浏览器访问 web,那怎么办?

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

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

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

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

© 2021 V2EX