![如何理解HTTPS?可以收藏这一篇,足以应付面试!](http://img.jiangsulong.com/220413/1HFK4c-0.jpg)
文章插图
整个 HTTPS 的演变跟流程细思极恐,有很多思想可以借鉴学习 。我以后要离搞安全的朋友远一点 。
这篇将带你深入 HTTPS 加解密原理,希望看完能够有这些收获:
· 明白 HTTPS 到底解决了什么问题
· 理解对称加密与非对称加密的原理和使用场景
· 明白 CA 机构和根证书到底起了什么作用
Why HTTPS
近几年来,各大公司都在大力推进 HTTPS 的建设:
· google Chrome 将非 HTTPS 的网站标注为不安全 。
· 苹果要求 App 中需要使用 HTTPS 进行通信 。
· 微信小程序也要求使用 HTTPS 协议 。
那么,我们为什么非要做这么一件事呢?我们先来看看 HTTP 。
HTTP(Hypertext Transfer Protocol)超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议,可以说 HTTP 是当代互联网通信的基础 。
但是,HTTP 有着一个致命的缺陷,那就是内容是明文传输的,没有经过任何加密 。
【如何理解HTTPS?可以收藏这一篇,足以应付面试!】
而这些明文数据会经过 WiFi、路由器、运营商、机房等多个物理设备节点,如果在这中间任意一个节点被监听,传输的内容就会完全暴露 。
这一攻击手法叫做 MITM(Man In The Middle)中间人攻击 。
举个例子,稍微有点长,但这个例子透露出了怪怪我对安全如此痴迷的原因 。
可以拿小时候上课传纸条来类比,你坐在教室靠墙的一边,想要传一句「晚上放学操场我等你」给坐在窗边的小红,中间要经过六七个人的传递 。
虽然你把纸条对折了一下,但是防君子不防小人,中间的所有人都可以很轻易地打开纸条看到你想要说什么 。
只是看还好,如果有小刚也喜欢小红,看到你俩马上就要甜甜蜜蜜地回家了,心有不甘,换了一张纸条,改成了「晚上放学你自己回家吧,我要去网吧玩游戏」 。
小红看到你要抛弃她自己去玩游戏,非常伤心,开始在纸条上质问「说好的一起回家呢,为什么要去打游戏,哼」 。
在小红的纸条传回来的路上,小刚又改了纸条「你玩你的游戏去吧,我要和小刚回家」 。
于是,你和小红都倍感伤心,小刚横刀夺爱,而你一头雾水 。
回忆一下几年前遍地都是的运营商劫持,当你访问一个本来很正常的网页,但页面上却莫名其妙出现了一些广告标签、跳转脚本、欺骗性的红包按钮 。
甚至有时候本来要下载一个文件,最后下下来却变成了另外一个完全不同的东西,这些都是被运营商劫持了 HTTP 明文数据的现象 。
![如何理解HTTPS?可以收藏这一篇,足以应付面试!](http://img.jiangsulong.com/220413/1HFK5c-1.jpg)
文章插图
运营商劫持
还有各大公司的员工安全培训里都有一条「不要连陌生的 WiFi」,也是类似的原因,恶意 WiFi 的控制者可以看到和篡改 HTTP 明文传输的信息 。
为了解决 HTTP 明文传输数据可能导致的安全问题,1994 年网景公司提出了 HTTPS(HyperText Transfer Protocol Secure)超文本传输安全协议,数据通信仍然是 HTTP,但利用 SSL/TLS 加密数据包 。
HTTPS 实现原理
前面说到,HTTPS 其实就是将 HTTP 的数据包再通过 SSL/TLS 加密后传输,那么 SSL/TLS 又是什么呢?
SSL(Secure Sockets Layer)安全套接层和 TLS(Transport Layer Security)传输层安全协议其实是一套东西 。
网景公司在 1994 年提出 HTTPS 协议时,使用的是 SSL 进行加密 。
后来 IETF(Internet Engineering Task Force)互联网工程任务组将 SSL 进一步标准化,于 1999 年公布第一版 TLS 协议文件 TLS 1.0 。目前最新版的 TLS 协议是 TLS 1.3,于 2018 年公布 。
工作流程
我们先来看看 HTTPS 的加解密流程,如下图:
![如何理解HTTPS?可以收藏这一篇,足以应付面试!](http://img.jiangsulong.com/220413/1HFI2O-2.jpg)
文章插图
HTTPS 加解密流程如下:
· 用户在浏览器发起 HTTPS 请求(如 https://www.mogu.com/),默认使用服务端的 443 端口进行连接 。
· HTTPS 需要使用一套 CA 数字证书,证书内会附带一个公钥 Pub,而与之对应的私钥 Private 保留在服务端不公开 。
推荐阅读
- 能不能天天喝茉莉花茶,茉莉花茶如何喝
- 详细教程:如何搭建自己的DNS域名解析服务器?
- 如何辨别“假脸网站”?对比域名最有效!
- 桂花花茶如何挑选,如何挑选和保持花草茶的秘诀
- 粉玫瑰花茶如何喝,喝玫瑰花茶有什么好处
- 如何炒制薄荷茶,花茶如何品饮
- 王菲|52岁王菲近照曝光:皮肤紧致不见皱纹!女性如何保养皮肤?
- 百合花茶的正确泡法,四大步骤教你如何简易而快速的冲泡百合花茶
- 如何正确使用京东礼品卡
- 桂花茶如何做,红花茶的作用