共计 1669 个字符,预计需要花费 5 分钟才能阅读完成。
大家好,我是周杰伦。
上周,微信里有个小伙伴儿给我发来了张图:
我一瞅,是 HTTPS 啊!没用 HTTP!再一瞅,是 www.baidu.com 啊,不是什么山寨网站!
我霎时明确了些什么,让他点击了一下浏览器地址栏中那个示意平安的小锁标记,查看了一下网站应用的 HTTPS 证书。
果然不出我之所料,证书不是官网的,官网的证书长这样:
而那个假的证书是他们公司签发的,看来,他们公司开始对 HTTPS 流量做解析了,这家伙霎时瑟瑟发抖···
明天就来跟大家聊一下:HTTPS 真的平安吗?
现如今大家每天上网基本上看到的都是应用了 HTTPS 的网站,有时候特意想找一个 HTTP 的网站来让新同学练习抓包剖析都不好找。
但在几年前,差不多我刚刚开始毕业工作(2014 年)的时候,状况却不是这样的,网络上还有大量应用 HTTP 的网站。
大家晓得,HTTP 是超文本传输协定,数据内容在网络中都是明文传输的,十分不平安。同在一个宿舍里的同学,轻易搞一个中间人劫持就能监听到你浏览了什么视频学习网站。
不仅如此,上网链路中包含寝室路由器在内的各级网络设备都能够探知你的数据,甚至给你插入小广告(其实这种景象当初仍然存在,尤其是很多医院、学校的网站,还是很多都是用 HTTP,特地容易粘上小广告),一不小心就跳到了广告页面,真是防不胜防。
不久,网站 HTTPS 化的浪潮很快打来,通过加密这一最简略间接的方法,将浏览器上网过程中传输的数据进行加密爱护,上网内容的安全性失去了极大的晋升。
我之前写过一篇故事深入浅出的形容了 HTTPS 的工作原理,还不懂的小伙伴儿能够学习一下,我常常也会在面试中考查候选人这个问题,这能够迅速帮忙我晓得对方对 HTTPS 的理解水平。
咱们通过上面的快问快答环节来简略总结一下。
看到了吧,HTTPS 可能平安的基石是非对称加密,非对称加密建设的前提是对方真的是对方,如果这一个前提不成立,前面的一切都是假的!
网站服务器应用 HTTPS 进行通信时,会提供一个用于证实身份的证书,这个证书,将会由某个受信赖的机构签发。
浏览器拿到这个证书后,会校验证书的合法性,去查看证书的签发机构是不是受信赖的。
那如何去查看签发机构是不是受信赖的呢?
答案是持续查看签发机构的证书,看看是谁给他签发的,始终这样追溯,直到找到最终的签发者,看看最终的签发者的证书是不是装置在操作系统的受信赖的根证书列表中。
是不是曾经晕了?没关系,咱们来用百度的那个证书为例,看一下这个过程,你就晓得什么意思了。
你能够通过点击证书门路 tab 页面查看证书的签发链条:
通过这个树形结构图,能够清晰地看到:
baidu.com
这个域名应用的证书,是由名为 GlobalSign Organization Validation CA - SHA256 - G2
的颁发者签发的。
而这个颁发者的证书,又是由 GlobalSign Root CA - R1
签发的。
浏览器拿到这个最顶层的签发证书后,去操作系统装置的受信赖的根证书列表中一找,嘿,还真让它找着了!
于是,浏览器信赖了这个证书,持续接下来的通信过程。
如果找不到,浏览器就会弹出不受信赖的音讯,揭示用户要当心了!
![在这里插入图片形容](https://img-blog.csdnimg.cn/1…
process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARHhBeEZ4QQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
而如果,有人在你的电脑中装置了一个本人的根证书进去,骗过浏览器,这所有平安的根基也就倾覆了。
而文章结尾那个小伙伴儿之所以弹出了那个窗口,多半是根证书还没装置进去,就开始了 HTTPS 劫持。因为重启之后,便再也没有这些提示信息,所有如平常一样惊涛骇浪,只不过上网的流量曾经被公司悉数把握。
看到这里,还不连忙点开浏览器地址栏的那把锁,看看证书的签发机构是不是你们公司?
如果是,那祝贺你了~
最初,给大家留一个思考题:微信会受到这种 HTTPS 劫持的影响吗?欢送在评论区发表你的认识!