以密钥的角度讲解HTTP

HTTP(HyperText Transfer Protocol)是超文本传输协议,简洁明了,就是互联网上应用最为广泛的一种网络协议。

我们今天从密钥的角度来讲解一下HTTP的基本实现。

以前交流为了保密,我们就已经存在密码学,密钥并不是出现计算机后才出现的。

客户端和服务器端需要保证信息交流的隐秘性,那就需要用到密钥。客户端和服务器端需要通过对称加密来实现信息交流。

"对称加密"需要对加密和解密使用相同密钥的加密算法

但是通过对称加密就会有可能被人更改数据,所以我们不能让别人知道我们用哪种密钥,那我们就要通过非对称加密来约定使用哪种密钥。这不就变成了"鸡生蛋蛋生鸡"的问题了。我们就使用非对称加密的算法,来通知客户端我们使用的是哪种对称加密。这样子起码保证了客户端向服务器端发送的数据是正确的了。

“非对称加密”的加密算法,特点是私钥加密后的密文,只要是公钥,都可以解密,但是公钥加密后的密文,只有私钥可以解密。私钥只有一个人有,而公钥可以发给所有的人

那我们应该通过什么方式来保证服务器端向客户端发送的数据安全了,这个时候我们就通过"数字签名"来实现服务器端向客户端的数据安全性和可靠性了。

"数字签名",特点就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明

最后个人总结自我观点:客户端通过第三方的数字签名与客户端使用非对称加密的方式交流,确定使用那种对称加密方式,然后双方就使用某种对称加密方式进行数据交流,每次交互都是使用新的一种对称加密方式,保证数据的完整性和可靠性。

图片转自百度

猜你喜欢

转载自blog.csdn.net/weixin_37645838/article/details/83965066