HTTPS原理解析
Posted sakura1027
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS原理解析相关的知识,希望对你有一定的参考价值。
1. 明文传输
我们知道HTTP传输的都是明文数据,黑客很容易截获到传输的数据,安全性很差,相当于在互联网上裸奔。对于敏感数据需要用HTTPS传输,那么HTTPS怎么保证数据安全的呢?这要从对称加密和非对称加密讲起。
2. 对称加密
所谓的对称加密,就是对数据的加密和解密都是用的同一个密钥
这里传输的数据不是明文了,而是用密码加密后的密文,黑客截获到了密文也不知道原始数据是什么,但是有以下问题:
- 客户端和服务端都需要存储密钥,服务端可能有大量的客户端连接,如果每个客户端与服务端用的密钥都一样的话,所有客户端都用一样的密钥,等于没有加密。如果服务端和客户端之间的密钥是各不相同的,那么服务端需要维护大量的密钥,存储成本很大
- 服务端和客户端最初开始协商密钥的过程没办法保证不被黑客截获,后续数据传输仍然不安全
针对以上问题,需要引入非对称加密
3. 非对称加密
与对称加密客户端和服务端只有一个密钥不同的是,非对称加密存在公钥和私钥两种密钥,特点是公钥加密过的数据私钥可以解密,私钥加密过的数据公钥可以解密。
客户端与服务端数据交互过程如下:
- 首先公钥和私钥是存储在服务端的,客户端第一步是要请求服务端拿到公钥
- 客户端用拿到的公钥加密数据并发送给服务端
我们来看一下这个过程有什么问题,首先客户端向服务端发送数据的过程肯定是安全的,因为只有服务端有私钥可以解密数据,但是服务端怎么向客户端安全地发送数据呢?
- 服务端不能用公钥加密数据,因为客户端没有私钥解不开
- 服务端用私钥加密数据,客户端可以解密,但是同样的黑客也能用从服务端那里获取的公钥解密数据,所以还是不安全的
所以需要对称加密和非对称加密结合起来解决这个问题
4. 对称加密+非对称加密
以上是关于HTTPS原理解析的主要内容,如果未能解决你的问题,请参考以下文章