文档中心
SSL鎻℃墜姣忔閮戒細涓嬭浇鍏挜璇佷功鍚楋紵娣卞叆瑙f瀽HTTPS閫氫俊鏈哄埗
时间 : 2025-09-27 16:36:39浏览量 : 4
SSL/TLS握手的基本原理

当你访问一个HTTPS网站时(比如https://www.example.com),浏览器和服务器之间会进行一系列复杂的"对话",这就是SSL/TLS握手过程。这个过程有点像两个人初次见面时的自我介绍和确认身份:
1. 客户端(你的浏览器)说:"你好,我支持这些加密方式..."
2. 服务器回应:"好的,这是我的身份证(证书),我们使用这种加密方式吧..."
3. 客户端验证服务器的"身份证"是否可信
4. 双方协商出一个临时的"秘密密码"(会话密钥)
5. 后续通信都用这个"秘密密码"加密
公钥证书下载的频率问题
关键问题来了:每次HTTPS连接都要重新下载服务器的公钥证书吗?
答案是:不一定。现代浏览器和操作系统都采用了智能的缓存机制来优化这个过程。
实际情况分析
1. 首次访问网站时:
浏览器确实会完整下载服务器的公钥证书。例如你第一次访问https://www.bankofchina.com,浏览器会获取它的证书并验证。
2. 后续访问时:
- 如果证书仍在有效期内且未被吊销,浏览器通常会使用缓存中的副本
- Chrome、Firefox等现代浏览器会将已验证的证书缓存一段时间(通常几分钟到几小时)
技术实现细节
让我们看一个具体的例子:
```
假设你访问https://www.shop.com:
1. 第一次访问:下载完整证书链(可能包括根CA、中间CA和终端实体证书)
2. 10分钟后再次访问:检查本地是否有有效缓存
3. 如果有缓存且OCSP/CRL检查通过 → 使用缓存
4. 如果无缓存或缓存过期 → 重新下载
为什么不全每次都下载?
主要有三个原因:
1. 性能考虑:
- RSA-2048的公钥证书大小约1-2KB
- ECC证书小一些,约几百字节
- 虽然单个不大,但海量请求累积起来很可观
- [示例]电商大促期间,节省的带宽可能达TB级
2. 延迟优化:
- TLS握手本身已有2-RTT(round trip time)的延迟
- [示例]跨国访问时额外下载证书可能增加100-300ms延迟
3. 服务器负载:
- CDN边缘节点每秒处理数十万请求时,减少不必要传输很重要
Session Resumption技术
现代TLS还采用更高级的优化技术:
1. Session ID恢复:
类似"记住我"功能,服务器保留会话信息一段时间(通常几分钟到几小时)
2. Session Ticket:
服务器把会话信息加密后给客户端保存,下次直接出示
3. TLS 1.3的0-RTT:
最新协议甚至支持首次请求就携带加密数据
[实际案例] Cloudflare测量显示Session Resumption可以减少约30%的TLS握手时间。
OCSP Stapling优化方案
为了解决证书吊销检查的性能问题,发展出了OCSP装订技术:
传统方式:
客户端 → CA机构查询证书是否被吊销 → 等待响应 → (耗时)
OCSP Stapling:
服务器定期从CA获取吊销状态 → TLS握手时一并提供给客户端 → (高效)
这既保证了安全性又避免了每次都要查询的性能损耗。
CDN环境下的特殊处理
大型网站使用CDN时情况更复杂:
用户 ←→ CDN边缘节点 ←→源站
CDN提供商通常会在边缘节点缓存证书。例如:
- Akamai智能边缘平台会动态调整证书缓存策略
- AWS CloudFront允许自定义SSL会话缓存时间(默认300秒)
HTTP/2和HTTP/3的影响
新一代协议进一步优化了资源加载:
1. HTTP/2的多路复用减少了连接建立开销
2. QUIC协议(TCP替代品)内置了TLS 1.3支持
3. [示例] Chrome对同一域名的并发请求会复用TCP+TLS连接
IT管理员的注意事项
如果你是网站管理员:
1. 更新SSL配置时要小心
- [真实案例]某银行更新证书后忘记在所有CDN节点同步,导致部分地区用户无法访问
2.监控混合内容问题
- HTTPS页面加载HTTP资源会导致安全警告
- [工具推荐]使用SSL Labs测试工具检查配置完整性
3.合理设置HSTS头
```http
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
```
这会告诉浏览器在未来两年内都强制使用HTTPS访问你的站点。
建议清单
?普通用户:保持浏览器更新即可享受自动优化
?开发者:启用OCSP Stapling和Session Resumption
?运维人员:确保证书在所有节点同步更新
?安全团队:定期审计SSL/TLS配置和安全头
记住:现代HTTPS连接是高度优化的结果,"每次都下载公钥"早已不是标准做法。理解这些底层机制有助于我们更好地设计、维护安全的网络服务。
TAG:ssl每次都下载公钥证书吗,ssl证书续费需要重新部署csr,ssl证书一定要安装吗,ssl证书为什么收费,安装了ssl证书为什么还是不安全