http与https

1.HTTP (HyperText Transfer Protocol),即超文本运输协议,是实现网络通信的一种规范(传输的是明文数据)

 2.HTTPS = HTTP + SSL/TLS

流程图如下所示:

 

SSL 的实现这些功能主要依赖于三种手段:

  • 对称加密:采用协商的密钥对数据加密
  • 非对称加密:实现身份认证和密钥协商
  • 摘要算法:验证信息的完整性
  • 数字签名:身份验证

混合加密

HTTPS通信过程中,采用的是对称加密+非对称加密,也就是混合加密

1.服务端给客户端发送公钥

2.客户端生成“对称密钥”并用公钥加密

3.客户端发送加密后的“对称密钥,服务端用私钥解密,得到解密的“对称密钥”

 

摘要算法

网络传输过程中,数据有可能被篡改,并且黑客可以伪造身份发布公钥,如果你获取到假的公钥,那么混合加密也并无多大用处,你的数据扔被黑客解决(得到“对称密钥”)

因此,在上述加密的基础上仍需加上完整性,实现这一功能则是摘要算法、

它能够把任意长度的数据“压缩”成固定长度、而且独一无二的“摘要”字符串,就好像是给这段数据生成了一个数字“指纹”

摘要算法保证了“数字摘要”和原文是完全等价的。

所以,我们只要在原文后附上它的摘要,就能够保证数据的完整性

 

数字签名

数字签名能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名

原理其实很简单,就是用私钥加密,公钥解密

签名和公钥一样完全公开,任何人都可以获取。但这个签名只有用私钥对应的公钥才能解开,拿到摘要后,再比对原文验证完整性,就可以像签署文件一样证明消息确实是你发的

posted on 2024-03-26 00:47  sss大辉  阅读(29)  评论(0编辑  收藏  举报

导航