HTTP在请求过程中,客户端和服务端之间没有身份确认的过程,数据全部都是明文传输,因此很容易被黑客攻击
窃听风险:黑客可以获取通信的内容
纂改风险:黑客可以修改通信的内容
冒充风险:黑客可以冒充他人身份参与通信
基于HTTP的不安全的缺陷,HTTPS应运而生
HTTPS总结来说是HTTP+SSL,多了一层数据加密阶段
加密算法
对称加密:加密和解密使用同一个秘钥
非对称加密:加密采用公钥,公钥是公开的,而解密需要私钥,私钥是保密的,该算法安全性超强,但是加密性能低,加密的长度也有限
如图所示,客户端和服务端首次通信时,服务端会发送一个SSL证书给客户端,SSL证书包含以下内容
证书的发布机构CA
证书的有效期
公钥(重要!)
证书所有者
签名
…
客户端在接收到服务端的SSL证书时,会对证书的真伪进行校验
③:如果校验成功,就会使用证书里面的公钥对”对称加密算法和对称秘钥“进行加密
④:服务器利用私钥进行解密,得到客户端的对称加密算法和对称秘钥
⑤:客户端的请求都用对称加密算法进行加密传输
⑥:服务端的相应也用对称加密算法进行加密传输
通过发送SSL证书的形式,既解决了公钥获取问题,又解决了黑客冒充问题,一箭双雕
所以相比HTTP,HTTPS 传输更加安全
所有信息都是加密传播,黑客无法窃听
具有校验机制,一旦被篡改,通信双方会立刻发现
配备身份证书,防止身份被冒充
参考链接:https://zhuanlan.zhihu.com/p/27395037