HTTPS原理
1.对称加密和非对称加密
对称加密
对称加密的原理就是客户端和服务端商量好使用同一种密钥,由客户端发起请求,请求中携带要使用的密钥给服务端,服务端根据密钥进行解密。
如下图:
对称加密的缺点:
- 因为客户端和服务端要使用同一种密钥,所以客户端要在传输过程中将密钥也传输出服务端,那么在这个过程中,密钥有可能被截获,那么数据就不再安全。所以就引入了非对称加密
非对称加密
非对称加密的原理是加密和解密使用的不是同一种密钥,分为 公钥(public key)
和私钥(private key)
,公钥和私钥是一对,并且这个公钥
和私钥
只有你有。在传输数据的时候将公钥发送给对方,对方用发过来的公钥对数据进行加密,然后这个数据只有自己的私钥可以解开。
公钥和私钥的关系大致如下:
- 自己公钥的数据只有自己的私钥可以解开
- 自己的公钥可以给别人,别人用公钥对数据加密,自己的私钥对数据解密
通俗来讲,把公钥
比作锁,把私钥
比作钥匙,你将锁给别人,别人用你的锁锁上了东西,那么这个锁只有你才可以解开。
如下图:
2.中间人攻击-Man-in-the-Mobile
在非对称加密中,依然可能存在风险,可能会遇见”中间人攻击“
什么是中间人攻击?
看下图:
此时我们发现客户端和服务端因为无法识别是否是真正的客户端
和服务端
再发请求,所以就引出了CA证书,第三方授权
中间人攻击简单来说就是在客户端和服务端之间拦截并篡改数据
下面讲一个例子来说明:
小明给小红发消息
CA-Certificate Authority
CA是证书颁发机构,主要解决身份验证
有了CA以后,结构图就如下
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)