musicbird

HTTP:聊一聊HTTPS

一、什么是https

https是http的升级,因为http是明文传输的,所以非常不安全,https在http的基础上进行了数据加密。

 

二、https的加密方式

1.对称加密

服务端会给客户端发送一个key,客户端利用key来进行数据加密,传输给服务端,服务端再用key进行解密。

但是这样黑客依然可以利用劫持key来或者数据

2.非对称加密

非对称加密是有一个私钥和一个公钥,服务器会把私钥发给客户端,客户端用来加密传输给服务器,服务器利用公钥进行解密,这样黑客即便是劫持了私钥,也不能解密数据

三、https会同时使用对称和非对称加密方式

原因是为了节省成本

先看看两种加密的运行方式:

1.服务器会先利用非对称方式给客户端发动一个公钥

2.客户端利用公钥加密A并传给服务端

3.服务端利用私钥解密拿到A

4.这样客户端和服务端都有了A,也就是对称加密的KEY

5.服务端和客户端利用本地的A进行加密和解密,从而避免了A钥匙的泄露

 

这样的加密方式是不是很完美,然而还有漏洞,这就引出了安全证书

 

四、什么是安全证书

 

 

在使用对称和非对称加密的过程中看似无懈可击,但是黑客可以在刚开始劫持数据,给客户端发送伪造的私钥,客户端拿到假的私钥进行加密,黑客利用伪造的公钥进行解密,这就造成了数据泄露。

这时候利用第三方机构提供认证的安全证书作为媒介

 

1.服务器会先给浏览器发送安全证书

2.客户端解析安全证书并验证他的合法性

3.如果是合法的客户端就拿到了证书里的公钥对A加密并发送给服务器

4.服务器拿到加密的A利用私钥进行解密(非对称)

5.这样客户端和服务端都有了A,也就是对称加密的KEY(非对称)

4.服务端和客户端利用本地的A进行加密和解密,从而避免了A钥匙的泄露(对称)

 

五、最后来看一下https传输的全过程

 

相关文章: