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)
暂无评论