🌐 前言
你好呀,我是你的人类朋友!
本文主要讲讲 HTTP 为什么不安全,以及 HTTPS 如何解决这些问题。
❗❗ 核心问题速览
HTTP(超文本传输协议) :互联网上应用最广泛的网络协议,但数据以明文形式传输。注意,是明文,谁都能看!!
HTTPS(安全超文本传输协议):HTTP 的安全版本,= HTTP + SSL/TLS 加密,就像把明信片放进防拆信封里寄送,别人无法看到信息的内容。
补充知识 1 :SSL/TLS在【传输层】对 HTTP 数据进行加密,确保隐私和完整性。
补充知识 2:这边顺便整理一下计算机网络的各个层次
计算机网络通常采用分层模型来组织其复杂的通信过程,其中最核心的是 OSI 七层参考模型和 TCP/IP 四层模型。
OSI 模型是一个理论框架,从下至上依次为:物理层(传输比特流)、数据链路层(管理相邻节点间的帧传输)、网络层(负责寻址和路由,实现跨网络通信)、传输层(提供端到端的可靠或不可靠数据传输)、会话层(建立、管理和终止会话)、表示层(处理数据格式、加密解密)和应用层(为应用程序提供网络接口)。
而实际应用中广泛采用的是更简洁的 TCP/IP 模型,它融合了 OSI 的上三层为应用层,保留了传输层和网络层(在 TCP/IP 中称为网际层),并将 OSI 的底两层合并为网络接口层。数据发送时,会从应用层开始,每经过一层都会被添加该层的头部信息(封装),形成数据段、数据包、帧,最终在物理层变为比特流发送出去;接收方则反向操作,逐层解析头部信息(解封装),最终将原始数据送达目标应用程序。
🔓 HTTP 的四大安全隐患
1. 窃听风险(明文传输)
问题:HTTP 传输的所有数据(密码、聊天记录、信用卡号)都是明文的,攻击者可以轻松窃听。
真实场景:
-
在公共 WiFi 上登录网站,管理员可能看到你的密码。
补充解释:为啥?因为在公共 WiFi 上,即使你登录的是 HTTPS 网站,网络管理员也能通过中间人攻击手段(如 SSL 剥离或伪造证书)将你的安全连接降级为 HTTP 连接。这时你输入的密码就会以明文形式传输,被管理员直接窃取。简单说,不是公共 WiFi 等于 HTTP,而是攻击者能让你从 HTTPS"掉进"HTTP 的陷阱。
-
网络服务商可以监控你的浏览历史
-
同一网络下的其他用户可能嗅探你的数据
2. 篡改风险(数据可修改)
问题:传输途中数据可能被中间人修改。
真实场景:
- 下载软件时,攻击者将正常软件替换为病毒版本
- 浏览网页时,攻击者插入恶意广告或钓鱼链接
- 转账时,收款账户被篡改为攻击者的账户
3. 冒充风险(无身份验证)
问题:HTTP 无法验证网站真实身份,你访问的可能是假冒网站。
真实场景:
- 访问
www.taobao.com
,实际连接到钓鱼网站 - 银行 APP 与假服务器通信,泄露账户信息
- 下载的"官方应用"其实是恶意软件
4. 信息泄露(无加密保护)
问题:Cookie、Session 等身份凭证明文传输,容易被盗用。
真实场景:
- 盗用你的 Session Cookie,无需密码登录你的账户
- 获取你的身份令牌,进行未授权操作
- 窃取浏览记录等隐私信息
🛡️ HTTPS 如何解决这些问题?
太好了!是 HTTPS,我们有救了!
加密传输 → 防窃听
HTTPS 使用对称加密保护数据传输,即使被截获也是乱码。
数字证书 → 防冒充
通过CA 机构颁发的数字证书验证网站身份,确保你访问的是真实网站。
消息摘要 → 防篡改
使用哈希算法生成消息验证码,数据有任何修改都会被立即发现。
安全握手 → 建立信任
TLS 握手过程安全【交换密钥】,为后续通信奠定安全基础。
💡 这边用表格做一下对比!
特性 | HTTP | HTTPS |
---|---|---|
数据传输 | 明文 | 加密 |
身份验证 | 无 | 数字证书 |
数据完整性 | 无保护 | 哈希验证 |
默认端口 | 80 | 443 |
性能 | 较快 | 稍慢(可忽略) |
SEO 排名 | 较低 | 较高 |
🚨 常见误解澄清
问:我在网站上没输入敏感信息,用 HTTP 没关系吧?
答:戳 ❌️!!HTTP 下你的浏览记录、Cookie、Session 都可能被窃取,攻击者可能盗用你的身份。
问:HTTPS 会很慢吗?答:现代 HTTPS 性能损失很小(<1%),远小于安全带来的收益。
问:有锁图标就是绝对安全吗?答:布兑!HTTPS 只保证传输安全,不保证网站本身可信。钓鱼网站也可能有有效的 HTTPS 证书。
📈 重要发展历程
- 1994 年:网景公司推出 SSL 1.0(未发布)
- 1995 年:SSL 2.0 发布,但存在严重漏洞
- 1996 年:SSL 3.0 大幅改进安全性
- 1999 年:TLS 1.0 取代 SSL 成为标准
- 2018 年:Chrome 将 HTTP 网站标记为"不安全",说实话,这么晚这么搞我是没想到的。
- 2020 年:TLS 1.3 成为主流,更安全更快速
- 现在:HTTPS 已成为 Web 标准配置
👋 最后的安全建议
- 运维必知:配置 HSTS 防止 SSL 剥离攻击
记住:在现代互联网中,HTTP = 不安全,任何重要操作都应在 HTTPS 下进行!
下次见~