HTTPS 加密方式
1. HTTP 和 HTTPS
- HTTP是明文传输,敏感信息容易被中间劫持。
- HTTPS = HTTP + 加密,即使传输的数据被劫持了也无法解密。
2. 加密方式:对称加密,非对称加密 - 对称加密
用同一个key加密解密。 - 非对称加密
一对key(公钥私钥),公钥加密,私钥解密(or反过来)。
具体实现:
1.客户端发起连接:你访问一个HTTPS网站时,浏览器向服务器发起连接请求。
2.服务器回应并发送公钥:服务器收到请求后,返回自己的数字证书,证书中包含服务器的公钥。
3.客户端生成对称密钥:客户端生成一个随机的对称加密的会话密钥,接下来会用它加密传输的数据。
4.客户端加密对称密钥并发送给服务器:客户端用服务器的公钥对生成的对称密钥进行加密,并将其发送给服务器。只有服务器的私钥才能解密。
5.服务期解密对称密钥。
6.握手完成,客户端和服务器使用对称密钥进行通信。
7.结束连接:通信结束后,双方销毁会话秘钥。
3. 证书
中间人攻击:中间人有一对key和pubkey,他在服务器给客户端传输pubkey的时候替换成自己的pubkey导致后续他能够对数据进行劫持。
服务端向第三方机构申请证书,浏览器要支持证书的验证。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)