HTTP:聊一聊HTTPS
一、什么是https
https是http的升级,因为http是明文传输的,所以非常不安全,https在http的基础上进行了数据加密。
二、https的加密方式
1.对称加密
服务端会给客户端发送一个key,客户端利用key来进行数据加密,传输给服务端,服务端再用key进行解密。
但是这样黑客依然可以利用劫持key来或者数据
2.非对称加密
非对称加密是有一个私钥和一个公钥,服务器会把私钥发给客户端,客户端用来加密传输给服务器,服务器利用公钥进行解密,这样黑客即便是劫持了私钥,也不能解密数据
三、https会同时使用对称和非对称加密方式
原因是为了节省成本
先看看两种加密的运行方式:
1.服务器会先利用非对称方式给客户端发动一个公钥
2.客户端利用公钥加密A并传给服务端
3.服务端利用私钥解密拿到A
4.这样客户端和服务端都有了A,也就是对称加密的KEY
5.服务端和客户端利用本地的A进行加密和解密,从而避免了A钥匙的泄露
这样的加密方式是不是很完美,然而还有漏洞,这就引出了安全证书
四、什么是安全证书
在使用对称和非对称加密的过程中看似无懈可击,但是黑客可以在刚开始劫持数据,给客户端发送伪造的私钥,客户端拿到假的私钥进行加密,黑客利用伪造的公钥进行解密,这就造成了数据泄露。
这时候利用第三方机构提供认证的安全证书作为媒介
1.服务器会先给浏览器发送安全证书
2.客户端解析安全证书并验证他的合法性
3.如果是合法的客户端就拿到了证书里的公钥对A加密并发送给服务器
4.服务器拿到加密的A利用私钥进行解密(非对称)
5.这样客户端和服务端都有了A,也就是对称加密的KEY(非对称)
4.服务端和客户端利用本地的A进行加密和解密,从而避免了A钥匙的泄露(对称)
五、最后来看一下https传输的全过程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律