HTTP是属于应用层的协议,它是基于TCP/IP的,所以它只是规定一些要传输的内容,以及头部信息,然后通过TCP协议进行传输,依靠IP协议进行寻址。
HTTPS加密过程
客户端发出请求,服务端进行响应。在整个过程中,没有任何加密的东西,所以它是不安全的,中间人可以进行拦截,获取传输和响应的数据,造成数据泄露。这里我们先了解两种加密方式:
- 对称加密
- 非对称加密
对称加密
对称加密指需要对加密和解密使用相同密钥的加密算法。所谓对称,就是采用这种加密方法的双方使用同样的密钥进行加密和解密。对称加密也叫密钥加密。
对称加密安全性低,因为加密跟解密都用的同一把密钥,当密钥被中间人截取时,很容易泄露信息,此时对中间人来说相当于明文传输。
具体实现:
在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,会用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。
优点:算法公开、加密速度快,效率高,计算量小
缺点:密钥管理的安全性低
非对称加密
非对称加密指需要两个密钥:公钥跟私钥。公钥跟私钥是一对的,用公钥对数据进行加密只有使用对应的私钥才可以解密,用私钥对数据进行加密只有使用对应的公钥才可以解密。非对称指公钥跟私钥不是同一把密钥,所以叫做非对称加密。
公钥跟私钥是一对的,服务器跟客户端各具有一对配套的密钥(一个公钥一个私钥),实际上共