当前位置: 首页 > 科技观察

我用的是HTTPS,没想到竟然被监听了!

时间:2023-03-15 22:07:53 科技观察

大家好,我是轩辕。上周,一个微信朋友给我发了一条信息:然后,我让他截图了一张完整的图片。我看了一下,是HTTPS!HTTP没用!我又看了看,是www.baidu。com,不是假冒网站!我瞬间明白了什么,让他点击浏览器地址栏的小锁符号,查看网站使用的HTTPS证书。果然不出我所料,证书不是官方的。官方证书是这样的:而假证书是他们公司签发的。看来他们公司已经开始分析HTTPS流量了,这家伙瞬间浑身一颤……·今天跟大家聊一聊:HTTPS真的安全吗?现在,你每天在互联网上看到的大多数网站都是使用HTTPS的网站。有时候想找个HTTP网站让新同学练习抓包分析,不太好找。但是在几年前,也就是我开始研究生工作的时候(2014年),情况并非如此,网络上仍然有大量使用HTTP的网站。众所周知,HTTP是一种超文本传输??协议,数据内容在网络上以明文形式传输,非常不安全。同一个宿舍的同学,只要通过中间人劫持就可以监控你浏览了哪些视频学习网站。不仅如此,互联网链路中包括宿舍路由器在内的各级网络设备都能检测到你的数据,甚至会为你插入小广告(其实这种现象还是存在的,尤其是很多医院和学校的网站,还是有很多的)使用HTTP,特别容易贴小广告),一不小心跳转到广告页面,真是防不胜防。很快,网站HTTPS的浪潮迅速袭来。通过最简单直接的加密方式,对浏览器在上网过程中传输的数据进行加密保护,大大提高了上网内容的安全性。之前写过一个故事,深入浅出的描述了HTTPS的工作原理。不懂的朋友可以学习一下。我经常在面试中考察候选人。这样可以快速帮助我了解对方对HTTPS的理解。学学位。对于一个HTTPS,浏览器已经操碎了心……下面通过快速问答链接来简单总结一下。看,HTTPS安全的基石是非对称加密。非对称加密的前提是对方真的是对方。如果这个前提不成立,后面的一切都是假的!当网站服务器使用HTTPS进行通信时,它会提供一个用于证明身份的证书,这个证书,将由一些受信任的权威机构签署。浏览器拿到证书后,会验证证书的有效性,检查证书的颁发机构是否可信。那么如何检查发证机构是否可信呢?答案就是继续查看发证机构的证书,看是谁发给他的,一直往回走,直到找到最终的发证者,再看看最终发证者的证书是否安装在trusted列表中操作系统的根证书。已经头晕了?没关系,我们以百度的证书为例,看一下流程,就知道是什么意思了。点击证书路径标签页可以查看证书颁发链:通过这个树形结构图,可以清楚的看到域名baidu.com使用的证书是由一家名为GlobalSignOrganizationValidationCA-SHA256-G2的公司颁发的颁发者颁发者的证书由GlobalSignRootCA-R1颁发。浏览器获取顶级签名证书后,到操作系统安装的可信根证书列表中查找。咦,果然找到了!Picture那么,浏览器信任这个证书,继续下一步的通信过程。如果找不到,浏览器会弹出不可信信息,提醒用户注意!而如果有人在你的电脑里装了一个你自己的根证书来骗过浏览器,那一切安全的根基也就都打翻了。而文章开头的小伙伴之所以会弹出那个窗口,很可能是因为根证书还没有安装,HTTPS劫持就开始了。因为重启之后,就没有了这样的提示信息,一切如往常一样平静,唯独公司已经控制了网上所有的流量。看到这里,不要犹豫,点开浏览器地址栏的小锁,看看证书颁发机构是不是你们公司?如果是,那么恭喜你~最后留一个问题给大家思考:微信会不会受到这种HTTPS劫持的影响?欢迎在评论区发表你的看法!