1.1 HTTPS概念
是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
1.2 HTTP与HTTPS的区别
HTTP+ 数据隐私性(加密) + 身份认证 + 数据完整性= HTTPS
2.1 数据隐私性(加密)
- 对消息内容进行加密(加密使用的非对称加密和对称加密2种加密算法)
- 内容经过对称加密,每个连接生成一个唯一的加***
- HTTPS使用了那些加密算法?
2.2 身份认证
- 目的:第三方无法伪造服务端(客户端)身份
- 证书的验证:
- 验证证书是否在有效期内。
- 验证证书是否被吊销了。
- 验证证书是否是上级CA签发的。
2.3 数据完整性
- 网络传输过程中需要经过很多中间节点,虽然数据无法被解密,但可能被篡改。
- 服务器在发送报文之前做了3件事:
- 用哈希算法go定长摘要。
- 用私钥对摘要进行加密,作为数字签名。
- 将数字签名附加到报文末尾发送给客户端。
- 客户端接收到报文后做了3件事:
- 用公钥对服务器的数字签名进行解密。
- 用同样的算法重新计算出报文的数字签名。
- 比较解密后的签名与自己计算的签名是否一致,如果不一致,说明数据被篡改过。
流程图
HTTPS的优缺点
- 使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
- HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。
- HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
- 谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
- HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;
- HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
- SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。
- SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
- HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。
附录
- 对称加密:加密和解密都是使用的同一个**。
- 非对称加密
加密使用的**和解密使用的**是不相同的,分别称为:公钥、私钥,公钥和算法都是公开的,私钥是保密的。非对称加密算法性能较低,但是安全性超强,由于其加密特性,非对称加密算法能加密的数据长度也是有限的。- 哈希算法
将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,且算法不可逆。- 数字签名(什么是数字签名)
签名就是在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改。
引用链接
1.HTTPS工作原理
2.关于HTTPS,你需要知道的全部
3.什么是数字签名