kizumi_header_banner_img

这里是幻灬十一的博客,欢迎来到我的世界

加载中

文章导读

HTTP/HTTPS


avatar
11 2025年6月23日 8
HTTPS+证书+CA+中间人劫持+加密算法 面试终极完整版笔记

一、数字证书作用及工作原理

一、基础前置知识

HTTP:明文传输,无加密、无身份校验、无完整性校验,抓包可直接查看账号密码、Cookie、业务数据。
HTTPS = HTTP + TLS/SSL:依靠数字证书完成身份认证 + 密钥协商 + 数据加密 + 完整性校验
数字证书本质:CA(证书颁发机构)签发的网站电子身份证,绑定 域名 + 服务器公钥 + 机构信息 + CA签名 + 有效期

二、数字证书核心 4 大作用

1. 身份认证(防钓鱼、防仿站)

证明当前访问的网站域名归属合法持有者,浏览器校验失败直接弹出不安全警告。
无证书场景:攻击者可搭建一模一样的钓鱼站点,用户无法区分;
有合法证书:浏览器校验CA合法签名、域名匹配,杜绝伪造站点。

2. 安全分发公钥,建立加密通道

证书携带服务器公钥,客户端通过公钥加密会话密钥,仅服务器私钥可解密,为后续对称加密通信提供安全基础。

3. 传输数据加密(防窃听)

HTTPS 全程密文传输,中间人抓包只能获取乱码,无法窃取账号、密码、订单、Cookie等敏感数据;HTTP明文可直接抓取全部数据。

4. 数据完整性校验(防篡改)

TLS通信附带MAC消息验证码与哈希校验,传输数据一旦被中间人篡改,校验值不匹配,连接直接断开,保证数据完整不可篡改。

二、CA机构作用及验证流程

一、CA核心作用

CA(证书颁发机构)是互联网可信第三方公证机构,解决公钥体系的信任问题,杜绝公钥伪造。

1. 签发合法X.509数字证书

网站无法自证身份,CA审核域名/企业资质后,用自身私钥对网站信息+公钥签名,生成合法证书,供浏览器校验真伪。

2. 构建可信证书信任链

层级结构:根CA → 中级CA → 站点证书
根CA私钥全程离线保存,安全性最高,只签发中级CA证书,不直接签发站点证书;中级CA负责日常站点证书签发,规避根私钥泄露风险。
操作系统、浏览器内置根CA公钥,是全网信任的源头。

3. 严格身份核验

DV域名证书:仅验证域名控制权(DNS TXT记录、文件验证、域名邮箱验证);
OV/EV企业证书:核验企业营业执照、资质信息、线下回访,可信度更高。

4. 全生命周期证书管理

包含证书签发、到期续期、泄露吊销(CRL/OCSP)、过期作废全流程管理。

5. 防御中间人伪造证书

中间人无法伪造带可信CA签名的证书,伪造自签证书会被浏览器直接拦截告警。

二、CA完整工作流程

流程1:证书申请与签发流程

1. 服务器生成公私钥对(私钥本地绝密,永不外泄);
2. 生成CSR证书请求文件(包含域名、公钥、企业信息);
3. 向CA提交CSR文件发起证书申请;
4. CA校验域名/企业所有权;
5. 校验通过后,中级CA用自身私钥对信息签名,生成站点证书;
6. 下发证书,网站部署至Nginx/Apache等服务端。

流程2:浏览器证书校验核心流程

1. 客户端访问443端口,服务端返回站点证书+中级CA证书;
2. 浏览器逐层校验信任链:
① 校验站点证书:有效期、访问域名与SAN域名匹配、签名合法、内容未篡改;
② 校验中级CA证书:通过根CA公钥验签,确认中级CA可信;
③ 根CA为系统预置可信,信任链闭环;
3. 通过OCSP在线查询/CRL列表,校验证书是否被吊销;
4. 全部校验通过,协商会话密钥建立TLS加密通道,任意一步失败直接告警不安全。

三、HTTP中间人劫持原理及防护

一、中间人攻击(MITM)定义

攻击者插入客户端与服务端通信链路中间,拦截、窃听、篡改、转发流量;HTTP明文无任何防护,劫持零门槛;HTTPS证书校验机制可防御常规劫持。

二、劫持核心原理与攻击手段

1. 核心前提

HTTP明文传输,无加密、无身份校验、无完整性校验,数据包可直接读取篡改。

2. 四种常见劫持方式

ARP欺骗(局域网最常见):伪造ARP报文,篡改网关MAC,内网流量全部经过攻击者设备;
DNS劫持:篡改DNS解析结果,将域名解析至钓鱼恶意IP;
运营商链路劫持:骨干网拦截80端口HTTP流量,弹窗广告、跳转页面;
恶意WiFi钓鱼:搭建伪同名WiFi,用户连接后所有流量被劫持。

3. 劫持攻击行为

窃听:窃取账号、密码、Cookie、隐私数据;
篡改:植入恶意JS、木马、广告;
重定向:302跳转至钓鱼网站。

三、HTTPS防御MITM原理

1. 攻击者无法伪造可信CA证书;
2. 强行拦截HTTPS只能替换自签证书,触发浏览器红色告警;
3. 无法解密TLS密文,只能获取乱码,无法窃听篡改。

四、HTTPS劫持场景

企业内网SSL审计劫持:企业网关部署自建根证书,强制下发员工设备,可解密员工HTTPS流量。
本质:用户设备主动信任了攻击者根证书,信任链被人为攻破。

五、SSL剥离攻击与防御

攻击:中间人强制将HTTPS降级为HTTP明文传输,实现劫持;
根治手段:配置HSTS,浏览器强制永久HTTPS,禁止降级。

六、分层防护方案

服务端防护

1. 全站HTTPS,关闭80端口;
2. 配置301强制HTTP跳转HTTPS;
3. 开启HSTS严格传输安全;
4. 配置CSP内容安全策略,防页面篡改植入恶意代码;
5. 禁用TLS1.0/1.1弱协议,仅保留TLS1.2/1.3;
6. 规范证书管理,及时吊销泄露证书。

客户端防护

1. 公共WiFi不操作敏感业务,优先手机流量;
2. 使用正规公共DNS;
3. 浏览器警惕不安全告警,不强行访问风险站点;
4. 账号开启二次验证,防止Cookie泄露被盗登。

网络层防护

内网部署ARP防护网关,企业流量加密隧道传输。

四、对称与非对称加密原理、优缺点、区别

一、对称加密

原理:通信双方共用同一个密钥,加密解密为同一把密钥。
明文+密钥=密文,密文+同一密钥=明文
算法:AES、SM4、DES、3DES
优点:运算速度极快、CPU开销小、适合大数据加密、传输开销小。
缺点:密钥分发不安全、多用户密钥管理复杂、无身份认证、不可防抵赖
场景:HTTPS业务数据传输、文件加密、数据库字段加密。

二、非对称加密

原理:公私钥成对生成,数学绑定不可互推,公钥公开、私钥绝密。
两大用法:
1. 公钥加密、私钥解密(安全传数据);
2. 私钥签名、公钥验签(身份认证、防篡改、防抵赖)。
算法:RSA、ECC、SM2
优点:解决密钥分发难题、支持身份认证、防抵赖、密钥管理简单。
缺点:运算速度极慢、密文膨胀严重、不适合大数据加密,仅适合少量短数据。
场景:HTTPS密钥协商、证书签名、SSH登录、电子签章。

三、核心对比

对比项
对称加密
非对称加密
密钥数量
单密钥,双方共用
公私钥成对,公钥公开、私钥私有
运算速度
极快,适配大数据
极慢,仅适配少量数据
密钥分发
困难,存在泄露风险
简单,公钥可公开传播
身份认证/防抵赖
不支持
支持(数字签名)
核心用途
业务数据大批量加密
密钥协商、身份校验、签名
代表算法
AES、SM4
RSA、ECC、SM2

四、HTTPS混合加密机制

1. 握手阶段(非对称加密):浏览器用服务器公钥加密随机生成的对称会话密钥,服务端私钥解密获取,安全交换密钥,防中间人窃取;
2. 数据传输(对称加密):双方用统一会话密钥高速加密传输业务数据,解决非对称加密性能差的问题。

五、补充:DNS完整工作流程

DNS作用:将域名解析为IP地址,是HTTP/HTTPS访问的前置基础。
四大服务器层级:根服务器 → 顶级域服务器 → 权威服务器 → 本地递归DNS服务器
完整查询流程
1. 客户端优先查询浏览器缓存、系统缓存、hosts文件;
2. 无缓存则向本地递归DNS发起递归查询
3. 本地DNS依次向根、顶级域、权威服务器发起迭代查询
4. 权威服务器返回最终IP,本地DNS缓存结果并返回客户端;
5. 客户端使用IP建立TCP/TLS连接。
核心区别:递归查询(客户端→本地DNS,要最终结果);迭代查询(本地DNS→各级服务器,只返回下一跳)


评论(0)

查看评论列表

暂无评论


发表评论

表情 颜文字
插入代码