结构
什么是HTTPS?
HTTPS可以认为是HTTP+TLS
什么是HTTP?
什么是TLS?
TLS是传输加密层协议,它的前身是SSL协议,最早由netscape公司与1995年发布,1999年改名为TLS。如果没有特别说明,SSL和TLS是同一个协议
TLS协议的组成如图:
TLS协议的组成是什么?
TLS协议有五部分:应用数据层协议,握手协议,报警协议,加密消息确认协议,心跳协议。
什么是record协议?
TLS本身由record协议传输,
record协议的组成是什么?
record协议的格式如上图最右所示。
扩展:
需要关注的一点是TLS1.3将会是TLS协议一个重大的改革。安全性和用户访问速度都会有质的提升。
HTTP2也已经定稿,这个由SPDY协议演化而来的协议相比HTTP1.1能明显的提升应用层数据的传输效率。
HTTP的功能是什么?
补充知识:
HTTP本身是明文传输的,没有经过任何安全处理。
网络节点是用户数据在浏览器和服务器中间传输必须要经过的节点,比如WIFI热点,路由器,防火墙,反向代理,缓存服务器等
在HTTP协议下,中间着可以随意嗅探用户搜索内容,窃取隐私甚至篡改网页。
下结论:HTTPS是这些劫持行为的克星
为什么说HTTPS可以有效防御劫持行为?
HTTPS协议提供了三个功能对抗劫持:
1.内容加密
2.身份认证
3.数据完整性
内容加密:浏览器到服务器的内容都是以加密形式传输,中间着无法查看到原始内容。
身份认证:保证用户访问的是目的IP,即使DNS劫持到了第三方站点,也会提醒用户没有访问目的IP,有可能被劫持。
数据完整性:防止内容被第三方冒充或篡改。
HTTPS的原理是什么?
1.内容加密
扩展知识:
加密算法分为两种:对称加密和非对称加密。
对称加密是加密和解密使用同一个**
非对称加密是加密和解密使用了不同的**
2.身份认证
什么是身份认证?
身份认证涉及PKI和数字证书
什么是数字证书?
数字证书包含了注册者生成的公钥。
数字证书的作用是什么?
1.身份授权
2.分发公钥
身份授权:确保浏览器访问的网站是经过CA验证的可信任的网站。
分发公钥:每个数字证书都包含了注册者生成的公钥。在SSL握手时会通过certificate消息传输给客户端。
背景知识:
HTTPS的使用成本
1.证书费用及更新维护
2.HTTPS降低用户访问速度
3.HTTPS消耗CPU资源
什么是数字证书?
总结