TLS Rustls庫的開發人員Joseph Birr Pixton對它的開發進行了一系列測試 y 注意到後者的性能優於OpenSSL 在各個層面上。 Rustls是用Rust編寫的開源庫TLS 並且可以在Apache 2.0,MIT和ISC許可下獲得,但是OpenSSL是一個知名的庫,並且在幾乎每個主要類別中都是行業標準。
根據其文檔, Rustls是一個現代TLS庫,旨在提供良好級別的加密安全性。 它不需要任何配置即可實現此安全性,並且不提供任何不安全的功能或過時的加密技術。
它有很多功能, 例如ECDSA或RSA服務器客戶端身份驗證以及ECDSA或RSA服務器服務器身份驗證,同時支持服務器證書驗證。
這意味著您無需提供除一組根證書以外的任何內容。 不能在主API中禁用證書驗證。
另一方面,OpenSSL是用於傳輸層安全性(TLS)和安全套接字層(SSL)協議的強大的,商業級,功能齊全的工具包。 它也是一個通用的加密庫。
關於Rustls測試
在他的一系列性能測試中, 約瑟夫·比爾·皮克斯頓(Joseph Birr Pixton)說,他已經考慮了幾點來評估績效 TLS庫之間可能會有所不同,即交換性能和整體性能。
握手性能涵蓋了可以配置新TLS會話的速度。 在總體性能方面,它們涵蓋了將應用程序數據傳輸到已配置的會話的速度。
各種測試的結果表明,在建立和建立新連接時,Rustls的速度提高了10% 與服務器連接時,設置客戶端連接時速度提高20-40%。
但是,如果新TLS連接的速度很高,則大多數TLS流量都依賴於恢復已建立的連接。
這裡也, Rustls的性能優於OpenSSL庫,服務器端連接的恢復速度提高了10-20%,恢復客戶端連接的速度提高了30-70%。
此外,Rustls在TLS連接上的整體性能或數據傳輸速度方面表現更好。
Birr Pixton說Rustls的數據發送速度比OpenSSL快15% 並能更快地收到5%。 最後,他說,Rustls庫僅使用運行OpenSSL所需的一半內存,這是一個巨大的優勢。 他回顧說,在這一方面,OpenSSL經常因其占用大量內存和代碼中存在大量安全問題而受到批評。
總結結果,我們可以粗略地說:
- Rustls發送數據的速度提高了15%
- Rustls接收數據的速度提高了5%
- Rustls建立客戶端連接的速度提高了20%到40%
- Rustls建立服務器連接的速度提高了10%
- Rustls恢復客戶端連接的速度提高了30%到70%
- Rustls以10-20%的速度恢復與服務器的連接
- Rustls使用不到一半的OpenSSL內存
Birr Pixton解釋說,由於Rustls是用Rust編碼的,因此可以解決安全漏洞問題 主要採用Rust語言設計。 該語言是從頭開始設計的,以避免與內存相關的安全錯誤。
用Rust編程語言編寫的程序與內存交互的方式是最著名的語言解釋之一。 如果大型公司認識到Mozilla Research創建的語言的實用性,那麼它們的增長將在未來幾年爆發。
據信,諸如Firefox和Brave之類的瀏覽器目前也使用Rust的組件,但諸如Cloudflare,Dropbox和Yelp之類的大公司也已將其用於生產系統。
來源: https://jbp.io
Rustls的好數字。 我想知道為什麼他們沒有將它與LibreSSL進行比較。
就我所知切換語言的複雜性優於Rust所添加的語法糖而言,Rust的性能是否足以取代C ++,還有更多的C / Asm尚待觀察。