1、http的缺点
HTTP 协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险。
- 通信的明文有可能被窃听
TCP/IP协议的机制,通信内容在所有的通信线路上都有可能被窥视,目前被广泛利用的wrieshark就可以获取到htttp协议的请求和响应 - 信息在传输过程中可能已遭到篡改
- 信息劫持
2、https是身披ssl外壳的http
https其实就是在原来http的基础上增加了一层:ssl。即https=http+ssl。
通过http直接与tcp通信,当使用了ssl之后,则http先和ssl通信,再由ssl与tcp通信,如下图:
TLS/SSL 全称安全传输层协议 Transport Layer Security, 是介于 TCP 和 HTTP 之间的一层安全协议,不影响原有的 TCP 协议和 HTTP 协议,所以使用 HTTPS 基本上不需要对 HTTP 页面进行太多的改造。
3、ssl的基本工作原理
说SSL协议的时候也经常会听到另一个词TLS,两者之间是怎么一种关系呢?
SSL最先由大名鼎鼎的网景开发,开发了SSL3.0之前的版本,后来主转移到IETF,IETF在SSL3.0作为基准,后面又定制出了TLS1.0,TLS1.1,TLS1.2,所以现在一般都会称 TLS/SSL 协议。
TLS/SSL 的功能实现主要依赖于三类基本算法:散列函数 Hash、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。这三种不同算法各有使用场景,如下:
结合这三种算法,TLS/SSL的基本工作方式是:
- 客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥
- 对称加密算法采用协商好的密钥对信息以及信息摘要进行加密通信(对称加密)