【基础】HTTPS
HTTPS
What
HTTPS的全称是Hypertext Transfer Protocol Secure
, 中文名称超文本传输安全协议
。是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,数据安全性与数据完整性。
HTTPS主要做三个事情
- 身份认证
- 数据安全性
- 数据完整性
Why
HTTP在传输过程不安全,明文,容易被中间人劫持,篡改,伪造数据请求。
HTTPS解决HTTP传输过程不安全
How
身份认证
使用非对称加密, 服务端保存私钥,颁发公钥给客户端。
服务端能用私钥解密,代表客户端是使用服务端颁发的公钥进行加密。
客户端能用公钥解密,代表是服务端使用私钥加密。
但这里还存在一个问题,就是公钥是任何人都可以颁发,中间人可以伪造颁发公钥,窃取客户端提交数据,使用自己私钥解密得到内容。
所以需要一个有公信力的机构,证明公钥是对应服务端颁发,这里需要引入CA(Certificate Authority
), 证书认证机构,证明公钥是对应服务端颁发。
数据安全性
客户端发起HTTPS请求,生成一个随机数作为会话密钥,作为内容加密的密钥,使用对称密码对内容加密传输。
会话密钥生成步骤
- 客户端发起HTTPS请求
- 服务端返回HTTPS证书
- 客户端验证证书合法性并生成随机数加密传输服务端
- 服务端私钥进行解密得到随机数并存储作为会话密钥
- 服务端会话密钥对称加密内容传输客户端
- 客户端使用会话密钥对称解密得到内容渲染
数据完整性
除了对内容加密,还会使用摘要算法,对内容生成摘要(签名),把签名同时传输。
校验步骤
- 对内容生成摘要
- 解密然后取其中内容生成摘要
- 对比摘要
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2019-11-02 【ASP.NET Core学习】Razor页面