Live2D

HTTPS原理

1.对称加密和非对称加密

对称加密

对称加密的原理就是客户端和服务端商量好使用同一种密钥,由客户端发起请求,请求中携带要使用的密钥给服务端,服务端根据密钥进行解密。

如下图:image

对称加密的缺点:

  • 因为客户端和服务端要使用同一种密钥,所以客户端要在传输过程中将密钥也传输出服务端,那么在这个过程中,密钥有可能被截获,那么数据就不再安全。所以就引入了非对称加密

非对称加密

非对称加密的原理是加密和解密使用的不是同一种密钥,分为 公钥(public key)私钥(private key),公钥和私钥是一对,并且这个公钥私钥只有你有。在传输数据的时候将公钥发送给对方,对方用发过来的公钥对数据进行加密,然后这个数据只有自己的私钥可以解开。

公钥和私钥的关系大致如下:

  • 自己公钥的数据只有自己的私钥可以解开
  • 自己的公钥可以给别人,别人用公钥对数据加密,自己的私钥对数据解密

通俗来讲,把公钥比作锁,把私钥比作钥匙,你将锁给别人,别人用你的锁锁上了东西,那么这个锁只有你才可以解开。

如下图:

image

2.中间人攻击-Man-in-the-Mobile

在非对称加密中,依然可能存在风险,可能会遇见”中间人攻击“

什么是中间人攻击?

看下图:image

此时我们发现客户端和服务端因为无法识别是否是真正的客户端服务端再发请求,所以就引出了CA证书,第三方授权

中间人攻击简单来说就是在客户端和服务端之间拦截并篡改数据

下面讲一个例子来说明:

小明给小红发消息

image

CA-Certificate Authority

CA是证书颁发机构,主要解决身份验证

有了CA以后,结构图就如下

image

posted @ 2022-03-18 19:01  没有梦想的java菜鸟  阅读(52)  评论(0编辑  收藏  举报