https/tls原理
HTTPS访问的三个阶段
第一阶段 认证站点
客户端向站点发起HTTPS请求,站点返回数字证书。客户端通过数字证书验证所访问的站点是真实的目标站点。
第二阶段 协商密钥
客户端与站点服务器协商此次会话的对称加密密钥,用于下一阶段的加密传输。
第三阶段 加密传输
客户端与站点直接使用已协商的对称加密密钥传输数据。
以下用一张图描绘CA、站点服务器、客户端之间的交互关系
中间人攻击
中间人攻击的几种形式
- 直接抓取报文获得明文信息
- 非法中间加密代理,窃取明文信息
- 留存密文,如果对称密钥泄露,解密历史报文
中间人攻击的防范
防范直接获取明文
加密传输报文
防范非法中间加密代理
黑客对客户端伪装成服务器,对服务器伪装成客户端,通过非法代理窃取会话数据。上面图示的第一、第二阶段可以防止这种非法代理行为。虽然黑客可以获取站点的证书,伪装成站点服务器接收请求,但黑客没有站点服务器私钥,无法与实现客户端实现密钥交换,不能窃取明文的会话数据。
防范解密历史报文(前向安全性)
防范解密历史报文,这种安全防护叫前向安全。早期的HTTPS实现中,客户端将会话密