基于 Rust 的 Rustls 性能优于 OpenSSL 和 BoringSSL

在互联网通信中,保证数据的安全传输至关重要。这就是Transport Layer Security (TLS) 协议的作用,它为网络通信提供了加密和身份验证的能力。传统的 OpenSSL 及其衍生版本虽然在互联网上广泛使用,但是接连不断的爆出的各种安全漏洞让使用者很"头疼",而 Rustls 正是为解决此问题而生,它的目标是提供一个轻量级的、易于使用且高度安全的 TLS 解决方案。

RustLS 是用 Rust 编写的现代 TLS (传输层安全协议)库,通过严格遵循 Rust 的所有权模型和生命周期概念,确保了代码的可靠性和安全性,支持多种加密算法和协议版本,包括支持TLS 1.21.3协议,适用于客户端和服务器端。

项目采用了模块化设计,允许通过不同的加密提供商来定制其内部的加解密实现,包括默认的aws-lc-rs以及可选的ring等。RustLS 旨在生产环境中使用,并在多个组织和项目中得到实际部署,保持API的合理稳定,同时持续优化性能。

项目地址: github.com/rustls/rust...

Rustls 性能优于 OpenSSL 和 BoringSSL

MemorySafety.org 发布的一篇文章指出,在 Intel Xeon 服务器上的测试中,Rustls 的表现要优于 OpenSSL 和 BoringSSL。

测试结果表明,在握手性能和吞吐量性能方面,Rustls 都要领先于 BoringSSL 和 OpenSSL。

握手性能(Handshake Performance)

握手性能指标:在相同硬件和相同资源约束下,每秒可以完成的握手次数。

在每一个测试场景中,Rustls 都处于领先地位。

吞吐量性能(Throughput Performance)

吞吐量性能指标:具有相同资源限制的相同硬件上的吞吐量,以每秒兆字节数为单位:

在吞吐量方面,Rustls 也全面领先。

Rustls 不仅在性能方面领先,而且提供了 C 和 Rust API、FIPS 支持、量子密钥交换、加密客户端(ECH)、操作系统信任程序验证等功能。

文章地址: www.memorysafety.org/blog/rustls...

实际应用场景

在实际应用中,RustLS 被广泛应用于需要安全通信的场景,如Web服务器、客户端应用、物联网设备等场景。

1、Web服务器

Rustls 已经成熟且可以商用,在构建安全的 HTTPS 服务器时,完全替代传统的 OpenSSL 方案。事实上,Rustls 现在可以通过 OpenSSL 兼容层在 Nginx 中使用,这意味着你可以在世界上最广泛的 Web 服务器中无缝替换 OpenSSL。

2、客户端应用

对于需要安全连接远程服务器的应用(如文件同步工具、邮件客户端等),Rustls 是实现 TLS 连接的理想选择。

3、物联网设备

在资源有限的物联网环境中,Rustls 的小型体积和低内存需求使其成为最理想的选择。

总结

Rustls 代表了TLS实现的未来方向:安全、高效、易用。它消除了传统安全库的复杂性,同时不牺牲性能或安全性。无论你是正在构建下一代Web服务,还是需要为嵌入式设备添加安全通信,Rustls都值得你认真考虑。

在网络安全日益重要的今天,选择一个像Rustls这样从一开始就为安全而设计的库,不仅能保护你的用户,也能让你晚上睡得更安稳。

所以,下次当你需要TLS功能时,不妨给Rustls一个机会------你的代码(和你的用户)会感谢你的选择。

相关推荐
MartinYeung57 小时前
[论文学习]SecureGate:通过令牌级门控学习何时安全地揭示PII-深度解析
学习·安全
K成长日志8 小时前
BLE协议之设备地址
网络·物联网·网络协议·嵌入式·蓝牙·ble
广州市顺风搬家服务有限公司8 小时前
实验室搬迁科普专业流程防护标准与合规核心要点
网络·其他·安全
程序员爱钓鱼8 小时前
为什么学习 Rust?Rust 能做什么?
后端·rust
Xi-Xu9 小时前
什么时候需要 Multi-agent:不是分工,而是运行边界
人工智能·经验分享·安全
TDengine (老段)9 小时前
# TDengine TMQ 最佳实践 — 可靠消费、容错与监控
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
米沙AI10 小时前
Rust001--08字符串高级操作
rust
嵌入式学习菌10 小时前
光伏微逆现场技术走访纪实
物联网
独孤留白10 小时前
从C到Rust:容器,容器,容器,Index和Iterator这两口糖甜不甜?
rust
2501_9437823511 小时前
【共创季稿事节】密码生成器:如何构建一个安全的随机密码生成工具
android·数据库·安全·鸿蒙·鸿蒙系统