基于 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一个机会------你的代码(和你的用户)会感谢你的选择。

相关推荐
Java水解8 小时前
Rust嵌入式开发实战——从ARM裸机编程到RTOS应用
后端·rust
Pomelo_刘金10 小时前
Rust:所有权系统
rust
Ranger092915 小时前
鸿蒙开发新范式:Gpui
rust·harmonyos
cipher1 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
DongLi014 天前
rustlings 学习笔记 -- exercises/05_vecs
rust
一次旅行4 天前
网络安全总结
安全·web安全
red1giant_star4 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
番茄灭世神4 天前
Rust学习笔记第2篇
rust·编程语言
ZeroNews内网穿透4 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全
一名优秀的码农4 天前
vulhub系列-14-Os-hackNos-1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析