Rustls
Rustls
Main page
2390185

Rustls

logo
Community Hub0 subscribers
What are your thoughts?
Be the first to start a discussion here.
Be the first to start a discussion here.
Rustls

Rustls (pronounced "rustles") is an open-source implementation of the Transport Layer Security (TLS) cryptographic protocol written in the Rust programming language. TLS is essential to internet security, and Rustls aims to enable secure, fast TLS connections. Rustls uses Rust's enforcement of memory safety to reduce the risk of security vulnerabilities. It is part of efforts to improve internet security by replacing memory-unsafe software libraries, such as OpenSSL, with memory-safe alternatives.

Joe Birr-Pixton started Rustls in 2016 and remains the lead developer as of 2024. The Internet Security Research Group (ISRG), a nonprofit organization based in the United States, has sponsored the project since 2021 as part of its Prossimo initiative. ISRG aims to make Rustls a viable alternative to OpenSSL, which is widely used by internet servers but difficult to use correctly and has had security bugs, such as Heartbleed, caused by memory-unsafe code.

ISRG has paid several programmers to work on Rustls, including Birr-Pixton, Daniel McCarney, and Dirkjan Ochtman, using money contributed by Google and other companies and organizations. In 2023, the Open Source Security Foundation's Alpha-Omega initiative gave ISRG $530,000 for development of the option to use different cryptographic backends and for the separate project Rust for Linux. That money came from Google, Amazon Web Services, and Microsoft. Amazon Web Services also gave ISRG $1 million in 2023 for memory-safety projects including Rustls. The Sovereign Tech Fund, supported by the German government, gave $1.5 million to ISRG in 2023 for work on Rustls and other projects that provide memory-safe versions of open source tools critical to internet security. Craig Newmark Philanthropies granted $100,000 to ISRG for memory safety projects in 2024. Additional funding has come from Fly.io, a cloud platform that uses Rustls.

The United States Office of the National Cyber Director has encouraged work on memory-safe security software and complimented the Rustls team. Google awarded Open Source Peer Bonuses to Birr-Pixton and Ochtman for their work on Rustls.

Rustls is a low-level software library focused on TLS implementation. This means it does not support other internet protocols by itself, such as HTTPS, but software that implements other protocols may use Rustls as a component.

By default Rustls uses cryptographic primitives from Amazon Web Services Libcrypto for Rust (aws-lc-rs), which supports Federal Information Processing Standards (FIPS). Rustls allows using alternative cryptographic libraries instead of aws-lc-rs, such as ring. The project has experimental support for post-quantum cryptography: a key exchange method with a special key encapsulation mechanism (Kyber).

Rustls uses its own fork of the webpki library to verify public key infrastructure certificates, a step in the TLS handshake. Rustls supports Server Name Indication (SNI), which allows a web server to serve multiple HTTPS websites at the same IP address with different certificates. It also supports TLS certificates that contain IP addresses instead of domain names.

C programs can use Rustls through a foreign function interface API, rustls-ffi. For example, cURL is a popular tool written in C, and it allows using Rustls through rustls-ffi. Rustls also has an OpenSSL compatibility layer that allows configuring the widely-used Nginx web server to use Rustls instead of OpenSSL.

See all
User Avatar
No comments yet.