【网络协议】聊聊HTTPS协议

前面的文章,我们描述了网络是怎样进行传输数据包的,但是网络是不安全的,对于这种流量门户网站其实还好,对于支付类场景其实容易将数据泄漏,所以安全的方式是通过加密,加密方式主要是对称加密 和非对称加密 。

对称加密,其实就是双方使用同样的密钥进行加解密。而非对称加密方式是会生成两对公私密钥。

对称加密

因为对称加密,需要进行先传输密钥,所以这种如果在网络上进行其实容易泄漏,最好的方式其实就是使用线下传输,之前还经历过,一次商务拿着对方的密钥进行线下邮件传输的。但是对于互联网来说,其实是不合理的,所以最好的方式就是非对称加密。

非对称加密

其实就是发送方和接收方都有自己都公钥和私钥,发送方用自己的私钥进行加密,接收方使用发送方的公钥解密。接收方使用自己的私钥进行加密,发送方使用接收方的公钥进行解密。

HTTPS 的工作模式

HTTPS 协议的总体思路 公钥私钥主要用于传输对称加密的秘钥,而真正的双方大数据量的通信都是通过对称加密进行的

https 其实是由两部分组成:http+ssl/tls,也就是在 http 上又加了一层处理加密信息的模块,服务端和客户端的信息传输都会通过 tls 加密,传输的数据都是加密后的数据。加解密过程:

1)客户端发起 https 请求(就是用户在浏览器里输入一个 https 网址,然后连接到 server的 443 端口)

2)服务端的配置(采用 https 协议的服务器必须要有一塔数字证书,可以自己制作,也可以向组织申请,这套证书就是一对公钥和私钥)。

3)传输证书(这个证书就是公钥,只是包含了很多信息)

4)客户端解析证书(由客户端 tls 完成,首先验证公钥是否有效,若发现异常,则弹出一个警示框,提示证书存在问题,若无问题,则生成一个随机值,然后用证书对随机值进行加密)

5)传输加密信息(这里传输的是加密后的随机值,目的是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密了)

6)服务端解密信息(服务端用私钥解密后得到了客户端传来的随机值,then 把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全)

7)传输加密的信息

8)客户端解密信息,用随机数来解。

HTTP与HTTPS的理解 区别?

HTTP是超文本传输协议,数据明文传输,HTTPS在HTTP的基础上加入了SSL协议,实现数据的加密传输。

HTTPS需要去申请证书,一般是收费的。

HTTP默认使用80端口,HTTPS默认使用443端口。

小结

加密分对称加密和非对称加密。对称加密效率高,但是解决不了密钥传输问题;非对称加密可以解决这个问题,但是效率不高。

非对称加密需要通过证书和权威机构来验证公钥的合法性。

HTTPS 是综合了对称加密和非对称加密算法的 HTTP 协议。既保证传输安全,也保证传输效率

相关推荐
Amumu121389 小时前
Node学习: 网络基础概念 + HTTP模块
网络·node.js
壹知9 小时前
三台路由器,一条静态路由都没配错,ping 依然不通
网络协议
tdtengrun9 小时前
“绿色轮胎安全周”走进校园,让安全与环保理念扎根童心
网络·媒体
幸福清风9 小时前
从域名到一行 nginx 配置:一次站点 HTTPS 证书更换与排障复盘
python·nginx·https
注塑机数据采集联网10 小时前
注塑机数据采集网关读取注塑机工艺/SPC数据计算原理
大数据·网络·数据仓库·物联网·智能路由器·制造
mmsx10 小时前
Android APK 加固方案怎么落地:从加壳到校验的组合取舍
android·网络·安全·签名
智购科技无人售货机工厂10 小时前
MQTT还是HTTP?无人售货机弱网通信协议选型与带宽优化实战~YH
网络·网络协议·http
半摆烂日常11 小时前
手机表单的左滑操作:触摸事件的处理细节
大数据·开发语言·人工智能·智能手机·https·c#
西安同步电子11 小时前
卫星信号丢失怎么办?NTP 网络校时服务器的守时能力
运维·服务器·网络
2401_8724187811 小时前
计算机网络——应用层详解:DNS、电子邮件、FTP 与 HTTP 的原理及通信过程
网络协议·计算机网络·http