HTTP的安全性
当客户端与服务端通讯时,采用的是明文传输,如果传输的是一些敏感数据或者说是不可以让别有用心的人知道的数据那就很危险了,因为黑客可以截获数据包提取信息,因此造成了信息安全隐患
解决方案
客户端与服务端可以共同约定一个加密规则,客户端发送信息时先对信息进行加密,服务端收到信息之后用约定好的规则进行解密
加密分类
对称加密
是什么
对称加密是客户端用秘钥去对数据进行加密,客户端再用相同的秘钥进行解密,也就是说,客户端与服务端的秘钥相同
优点
加密解密速度快。
缺点
- 因为服务端必须要知道客户端用的秘钥是什么,所以客户端要告诉服务端秘钥是什么,而这一过程中秘钥可能造成泄漏,黑客可以用秘钥对数据进行解密导致数据跟没加密一样。
- 每个客户端都告诉服务端自己的秘钥是什么,服务端就要管理所有的秘钥这就造成了第二个缺点——不易管理
种类
DES AES 等
非对称加密
1.由于对称加密可能会造成秘钥泄露,以及秘钥不可管理的缺点,所以非对称加密横空出世
是什么
非对称加密有两个秘钥,一个是私钥,一个是公钥,客户端用公钥进行加密,服务端用私钥解密,由于加密与解密用的秘钥不同所以称为非对称加密
好处:
1.客户端加密数据时使用公钥,解密数据只能用私钥进行解密,公钥是不可以的。而私钥只在服务器保存不进行网络传输,所以降低了泄露的可能性
缺点
由于非对称加密的算法复杂导致加密解密速度慢。
HTTPS
过程
客户端像服务端发送请求后,服务端会给浏览器一个证书(也就是SSL证书),通过SSL证书客户端可以解析出公钥,之后客户端随机生成随机数作为秘钥并且用解析出来的公钥对其进行机密,将加密后的结果发送给服务端,服务端拿到这个数据后用私钥进行解密(到这采用的是非对称加密),得到秘钥,之后的数据通讯采用此秘钥进行对称加密传输.