The State of SSL Stacks
SSL堆栈现状分析:生态、性能与未来
Privacy Settings
HAProxy 网站使用 cookies。继续操作,即表示您同意我们使用 cookie。有关 cookie 使用详情以及如何禁用 cookie 的说明,请参阅我们的隐私政策和 Cookie 政策。 隐私和 Cookie 政策 更多信息 Functional Cookies 使网站可用。 Analytics 帮助网站所有者了解访问者如何与网站互动。 Ads 启用与广告相关的存储。 User data 同意将用户数据发送给 Google 用于广告目的。 Ad personalization 同意个性化广告。 Show details Consent date: User Unique Id: maiywvfq5velsecfh4q Deny Save Accept and close Accept all HAProxyConf 2025 - 立即注册!
HAProxy Technologies
Products
HAProxy One 世界上最快的应用程序交付和安全平台,由灵活的数据平面、可扩展的控制平面和安全的边缘网络组成。
HAProxy Enterprise 软件负载均衡器和 API/AI 网关。
HAProxy Edge 用于 ADN/CDN 的安全全球网络。
HAProxy ALOHA 即插即用负载均衡器设备。
HAProxy Fusion 控制平面管理、可观察性和自动化。
HAProxy Enterprise Kubernetes Ingress Controller K8s 原生路由和安全性。
Solutions
负载均衡
安全
Kubernetes
UDP 负载均衡
SSL/TLS 处理
自动化和自助服务
API 网关
DDoS 防护和速率限制
HAProxy GUI
AI 网关
Bot 管理
应用加速
高可用性
Web 应用防火墙
公共部门
On-demand Webinar Beyond Basic Routing: Building an AI-Aware Gateway for LLM Security In this hands-on webinar, we'll demonstrate how to transform HAProxy into a sophisticated AI-aware gateway using Stream Processing Offload Engine (SPOE). Watch the webinar
Resources
PRODUCT OVERVIEW
Upgrade from Community to Enterprise Migrate from F5 Migrate from Avi Networks Migrate from NetScaler ADC Certified integrations Datasheets
LEARNING HUB
Blog Webinars E-books Content library
Technical Resources
Use Cases
Success stories User spotlight series Support
Expert Support
Support details Professional services Customer support portal
Community
Slack Reddit Mailing list Featured Webinar
HAProxy Data Plane API 101: Powering Interactions Across HAProxy
Watch the webinar Other on-demand webinars Company
PARTNERS
Partner program Certified integration program Find a partner
Company
About us News Events Careers Meet Loady
CONNECT WITH US
Contact us Slack Twitter Facebook LinkedIn Reddit YouTube GitHub Featured Event
HAProxyConf 2025, San Francisco
Learn more Other events $refs?.search?.focus());" aria-label="Search button"> Search $refs?.search?.focus());" type="button" class="block p-3 border rounded-lg text-text-inverse-default hover:no-underline hover:text-neutral-bold border-neutral-subtlest hover:bg-neutral-subtlest"> Get HAProxy HAProxy One Manage, secure, and observe all your application traffic — in any environment — with a unified platform. HAProxy Enterprise Enterprise-class features, services, and premium support. HAProxy Fusion Manage all of your HAProxy Enterprise instances from a single, graphical interface or directly through its API. HAProxy Edge A globally distributed application delivery network, or ADN, with turnkey services at massive scale. HAProxy ALOHA Powerful plug-and-play appliance. Perfect for every environment. HAProxy Enterprise Kubernetes Ingress Controller Route traffic into a Kubernetes cluster leveraging powerful features of HAProxy Enterprise. HAProxy Community Open-source community version of HAProxy. HAProxyConf 2025 is coming to San Francisco | Learn more Products HAProxy One The world’s fastest application delivery and security platform consisting of a flexible data plane, scalable control plane, and secure edge network. HAProxy One HAProxy Enterprise HAProxy Fusion Control Plane HAProxy Edge HAProxy Enterprise Kubernetes Ingress Controller HAProxy ALOHA Solutions Load balancing UDP load balancing API gateway AI gateway High availability Security SSL/TLS processing DDoS protection and rate limiting Bot management Web application firewall Kubernetes Automation and self-service HAProxy GUI Application acceleration Public sector Resources
Technical Resources
PRODUCT OVERVIEW
Upgrade from Community to Enterprise Migrate from F5 Migrate from Avi Networks Migrate from NetScaler ADC Certified integrations Datasheets
LEARNING HUB
Blog Webinars E-books Content library
Use Cases
Success stories User spotlight series Support
Expert Support
Support details Professional services Customer support portal
Community
Slack Reddit Mailing list Company
PARTNERS
Partner program Certified integration program Find a partner
Company
About us News Events Careers Meet Loady
CONNECT WITH US
Contact us Slack Twitter Facebook LinkedIn Reddit YouTube GitHub Get HAProxy HAProxy One Manage, secure, and observe all your application traffic — in any environment — with a unified platform. HAProxy Enterprise Enterprise-class features, services, and premium support. HAProxy Fusion Manage all of your HAProxy Enterprise instances from a single, graphical interface or directly through its API. HAProxy Edge A globally distributed application delivery network, or ADN, with turnkey services at massive scale. HAProxy ALOHA Powerful plug-and-play appliance. Perfect for every environment. HAProxy Enterprise Kubernetes Ingress Controller Route traffic into a Kubernetes cluster leveraging powerful features of HAProxy Enterprise. HAProxy Community Open-source community version of HAProxy. English Contact us Blog Customer login
Benchmarking SSL Thought Leadership
SSL堆栈现状分析
2025年5月6日
阅读时长 53 分钟
WT
Willy Tarreau
WL
William Lallemand
去年,HAProxy 内部准备了一份关于此主题的论文,现在公开分享此版本。鉴于 SSL 在保护互联网通信中的关键作用以及不断发展的 SSL 技术带来的挑战,像 HAProxy 这样的反向代理必须不断调整其 SSL 策略,以保持性能和兼容性,确保为用户提供安全高效的体验。我们致力于提供关于这些发展的持续更新。
在过去的几年里,SSL 格局发生了巨大的变化,为开发人员带来了性能瓶颈和兼容性挑战。曾经是可靠基础的 OpenSSL 的发展促使业界对 SSL 策略进行了重要的重新评估。
多年来,OpenSSL 一直保持着事实上的标准 SSL 库的地位,提供长期的稳定性和一致的性能。2021 年 9 月发布的 3.0 版本改变了一切。虽然旨在增强安全性和模块化,但新的架构在多线程环境中引入了显著的性能衰退,并弃用了许多外部项目依赖的重要 API。对于已经投资于 QUIC 实现的开发人员来说,预期的 QUIC API 的缺失进一步使事情复杂化。
这种转变对整个生态系统提出了挑战。OpenSSL 3.0 被指定为长期支持 (LTS) 版本,而广泛使用的 1.1.1 分支的维护已经停止。因此,许多 Linux 发行版别无选择,只能采用新版本,尽管它存在局限性。拥有性能关键型应用程序的用户发现自己正处于十字路口:继续使用越来越不受支持的早期版本,或者接受性能和功能上的重大损失。
性能测试揭示了严峻的现实:在某些多线程配置中,OpenSSL 3.0 的性能明显低于替代 SSL 库,迫使组织配置更多硬件,仅仅是为了维持现有的吞吐量。这提出了关于性能、能源效率和运营成本的重要问题。
考察替代方案——BoringSSL、LibreSSL、WolfSSL 和 AWS-LC——揭示了一个权衡取舍的格局。每个方案都提供了不同的 API 兼容性、性能优化和 QUIC 支持方法。对于在现代 SSL 生态系统中导航的开发人员来说,理解这些权衡取舍对于优化性能、保持兼容性以及面向未来至关重要。
# 功能需求
SSL 库的功能方面决定了它们的多功能性和在不同软件产品中的适用性。HAProxy 的 SSL 功能集是围绕 OpenSSL API 设计的,因此兼容性或功能对等性是一个关键需求。
- 现代实现必须支持一系列 TLS 协议版本(从传统的 TLS 1.0 到当前的 TLS 1.3),以适应不同的客户端需求,同时鼓励迁移到更安全的协议。
- 支持像 QUIC 这样的创新、新兴协议在推动广泛采用和技术突破方面发挥着至关重要的作用。
- 证书管理功能,包括链验证、通过 OCSP 和 CRL 进行的吊销检查以及 SNI(服务器名称指示)支持,对于正确的部署至关重要。
- SSL 库必须提供全面的密码套件选项,以满足不同的安全策略和合规性要求,例如 PCI-DSS、HIPAA 和 FIPS。
- 诸如用于 HTTP/2 支持的 ALPN(应用层协议协商)、证书透明度验证和 stapling 功能等标准功能进一步扩展了功能需求。
依赖于这些库的软件产品必须仔细评估哪些功能组件对其特定用例至关重要,同时考虑这些功能可能带来的开销。
# 性能考量
SSL/TLS 操作是计算密集型的,这给依赖于这些库的软件产品带来了显著的性能挑战。建立安全连接的握手操作需要非对称加密,这会消耗大量的 CPU 资源,尤其是在高容量环境中。除了计算需求外,它们还带来了环境和后勤挑战。
加密操作的能源消耗直接影响依赖于这些安全协议的数字基础设施的碳足迹。高容量 SSL 握手和加密工作负载增加了数据中心的电力需求,导致更高的电力消耗和相关的碳排放。
随着组织追求可持续发展目标和绿色计算计划,SSL 库的性能变得越来越重要。现代软件产品实施复杂的内核感知策略,通过在所有可用的 CPU 核心上分配加密工作负载来最大化单节点效率。这种处理器饱和方法使组织能够充分利用现有硬件,然后再进行水平扩展,从而显著降低了资本支出和能源消耗,否则将需要额外的服务器。
通过有效地利用所有可用的核心进行 SSL/TLS 操作,一个配置正确的节点通常可以处理与多个优化不良的服务器相同的加密流量,从而大大减少了数据中心占用空间、冷却需求和功耗。
当 SSL 库正确利用这些架构改进时,可以提供显著的性能改进,同时对环境的影响最小——随着加密流量在全球网络中继续呈指数级增长,这是一个关键的考虑因素。
# 维护需求
SSL 实现的维护负担对软件产品提出了重大挑战。SSL 库中的安全漏洞需要立即引起注意,迫使开发团队建立强大的补丁程序流程。
软件产品必须平衡已建立的 SSL 库的稳定性与较新版本的安全改进;当操作系统供应商提供一致且及时的更新时,此过程变得更易于管理。文档和专业知识要求增加了进一步的复杂性,因为正确配置 SSL 需要专门的知识,而这在开发团队中可能很少。向后兼容性问题通常使维护变得复杂,因为更新必须保护现有功能,同时实施必要的安全改进或修复。
迁移到新 SSL 库版本的复杂性和风险通常会鼓励产品供应商尝试尽可能长时间地坚持使用相同的维护分支,最好是操作系统供应商提供的 LTS 版本。
# 当前 SSL 库生态系统
# OpenSSL
多年来,OpenSSL 一直是行业标准的 SSL 库,包含在大多数操作系统中。一个关键的优势是它在较长时间内同时支持多个版本,使用户能够仔细安排升级,调整他们的代码以适应新版本,并在实施之前彻底测试它们。
2021 年 9 月 OpenSSL 3.0 的推出对 SSL 生态系统的稳定性提出了重大挑战,威胁了其持续的可靠性和可持续性。
- 此版本的发布比计划推迟了近一年,从而缩短了将应用程序迁移到新版本的时间范围。
- 由于 OpenSSL 的 API 更改,迁移过程具有挑战性,例如弃用了许多常用函数和外部项目依赖的 ENGINE API。这影响了像用于硬件安全模块 (HSM) 的 pkcs11 engine 和用于硬件加密加速的 Intel 的 QAT engine 这样的解决方案,迫使引擎使用新的 providers API 进行重写。
- 在多线程环境中,性能也明显降低,使得 OpenSSL 3.0 在许多依赖性能的用例中无法使用。
- OpenSSL 还决定最终不合并期待已久的 QUIC API,这对这项技术的创新者和早期采用者造成了重大打击。开发人员和组织没有获得他们一直指望用于其项目的关键 QUIC 功能。
- OpenSSL 将 3.0 版本标记为 LTS 分支,并在不久之后停止维护之前的 1.1.1 LTS 分支。这一决定让许多 Linux 发行版没有可行的替代方案,迫使它们采用新版本。
具有性能关键型要求的用户面临着有限的选择:要么保留仍然维护自己的 1.1.1 实现的旧发行版,要么部署更多服务器以弥补性能损失,要么购买昂贵的扩展高级支持合同并维护自己的软件包。
# BoringSSL
BoringSSL 是 OpenSSL 的一个分支,于 2014 年在 heartbleed CVE 之后宣布。该库最初是为 Google 准备的;使用它的项目必须遵循“live at