1.HTTP的缺点
- 通信使用明文(不加密),内容可能被窃听。
- 不验证通信方的身份,因此可能遭遇伪装
- 无法证明报文的完整性,所以可能已经被篡改
2.HTTP+加密+认证+完整性保护 = HTTPS
- HTTPS是身披SSL外壳的HTTP
HTTPS并不是一种应用层新的协议,只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。
在通常情况下,HTTP直接和TCP协议进行通信。当使用SSL的时候,就演变成先和SSL通信,再由SSL和TCP进行通信。
SSL是独立于HTTP的协议
- 相互交换**的公开**加密技术
SSL采用的一种叫做公开**加密方式,加密的算法是公开的,但是**确是保密的,通过这种方式得以保持加密方法的安全性。
加密和解密都要用到**,但是**如果遭受到恶意攻击,那么加密就失去了意义。
1. 共享**加密的困境
加密和解密使用同一个**的方式叫做共享**加密方式也叫对称加密方式。
在这种方式下,如果 通信被监听的话就会被攻击者得到**,那么加密就失去了意义。除此之外,还得设法保管好接收到的**。
2. 使用两把**的公开**加密
公开**加密使用一对非对称的**。一把叫做私有**,另一把是公开**。顾名思义,公开**就是每个人都可以获得,而私有**不会让其他人知道。
使用公开**的加密方式,发送密文的一方使用对方的公开**进行加密处理,对方收到被加密的信息后进行解密,利用这种方式就可以完成安全传输。
但是要想将加密后的信息恢复成原文是一件异常困难的事情,目前还是难以实现的。
3. HTTPS采用混合加密机制
采用两者各自的优势,将多种方法组合起来用于通信。在交换**的环节使用公开**加密方式,之后建立通信交换报文阶段则使用共享**交换方式。
- 证明公开**正确性的证书
由专业的机构进行认证的数字证书。
- HTTPS的安全通信机制
我们先来看看HTTPS的通信步骤
图解说明: