HTTPS原理

  • Post author:
  • Post category:其他





一、http协议的缺点


普通的http协议是明文传输,存在网络安全问题。

1、如果有黑客通过拦截,很容易获取,我们发送的http请求,如果我们在http报文中传输了银行卡号和密码,此时就被黑客获取到了

在这里插入图片描述

2、如果黑客在我们和服务端之间作为一个中间人,转发我们的请求报文,黑客就可以随意修改里面的内容

在这里插入图片描述

3、总结一些安全问题出在了:

(1)明文传输,数据可能被泄露。

(2)不能确定对方身份,报文可能被转发,被修改



二、对称加密和非对称加密



1.对称加密

A和B进行通信,A采用一个加密算法k将要发送给B的内容进行加密。B收到加密之后的密文之后,也利用这个加密算法K,对密文进行解密。

在这里插入图片描述

这种加密传输方式看似可行,实际上存在一个


致命问题


:服务端不可能给每个客户端单独生成一个加密算法,而如果所有客户端使用的是一个加密算法的话,黑客还是可以获得这个加密算法的。那么这个对称加密就毫无意义



2.非对称加密

非对称加密:存在一对公钥public key和私钥secret key,公钥加密后的密文只能用私钥解密。私钥加密后只能用公钥解密。服务端自己保存sercet key,将public key 发送给客户端。

在这里插入图片描述


缺点:

这里还是会存在问题,客户端向服务端发送的数据,黑客截取到也不之后是什么内容了,但是服务端发给客户端的内容,黑客是可以看到的。并且,非对称加密的加密和解密对服务端的性能消耗非常大的。



3标题对称加密+非对称加密

通过非对称加密传送,对称加密的加密算法,这样弥补了非对称加密解密对服务器性能消耗过大的缺陷。

但是还有问题的是,如果从一开始就有黑客拦截转发请求的话,服务端和客户端都是无意识的。



三、https协议

https协议就是安全的http协议。


https采用对称加密+非对称加密+CA证书的方式进行加密。

服务端持有自己的

公钥pk



私钥sk

,和CA证书的

公钥cpk

,

私钥csk

服务端存的公钥pk,通过csk秘钥进行加密生成一个license,客户端在请求的时候,不会直接请求服务端的公钥,而是申请这个license。哈哈一般服务器向CA机构申请license证书都是收费的客户端在获取到服务端的license之后,他操作系统本地写有一些CA证书的公钥,在本地获取相应的CSK,这一步操作可以有效的防止中间人插入。用本地的csk将license证书解密之后得到这个服务端的公钥。

他们具体的加密方式和连接方式是。

在这里插入图片描述



版权声明:本文为m0_57659908原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。