Organizácia ISRG (Internet Security Research Group), ktorá je zakladateľom projektu Let’s Encrypt a prispieva k rozvoju technológií na zvýšenie bezpečnosti internetu, oznámila zverejnenie rozhrania rustls-openssl-compat, ktoré umožňuje používať knižnicu Rustls ako priehľadnú náhradu za OpenSSL. V súčasnosti projekt poskytuje implementáciu rustls-libssl, zabezpečujúcu kompatibilitu s libssl, a vyvíja sa implementácia libcrypto.
Funkcionalita prítomná v rozhraní je dostatočná na to, aby zabezpečila prevádzku nginx na báze Rustls. Prechod nginx na Rustls si vyžaduje len výmenu knižníc, bez potreby prekompilovania alebo úprav nginx. Medzi najbližšie plány na rozvoj Rustls patrí optimalizácia výkonu v oblastiach, kde Rustls zatiaľ zaostáva za OpenSSL, a zabezpečenie podpory RFC 8879 pre kompresiu certifikátov. Okrem toho bol v oznámení spomenutý plán prechodu prvkov infraštruktúry certifikačného centra Let’s Encrypt z OpenSSL na Rustls.
Projekt Rustls vyvíja klientské a serverové implementácie protokolov TLS1.2 a TLS1.3 na použitie v aplikáciách napísaných v jazyku Rust. Rustls neposkytuje vlastnú implementáciu kryptografických primitívov, ale využíva modulárnych dodávateľov kryptografických funkcií (podporované algoritmy ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM a AES256-GCM). Predvolene sa v Rustls používa kryptografický dodávateľ založený na knižnici aws-lc-rs, ktorú vyvíja spoločnosť Amazon a ktorá je postavená na C++ kóde BoringSSL, spravovanom Google forkou OpenSSL. Ako kryptografický dodávateľ sa môže tiež použiť knižnica ring, čiastočne založená na BoringSSL a kombinujúca kód v assembleri, C++ a Rust.
Je pozoruhodné, že nginx má zabudovanú podporu pre zostavenie s BoringSSL, čo umožňuje používanie tejto knižnice priamo bez zbytočných rozhraní. Okrem toho, okrem zabudovanej podpory knižníc aws-lc-rs a ring založených na BoringSSL, sa pre Rustls vyvíja niekoľko tretích strán dodávateľov kryptografie, ktoré umožňujú používanie knižníc mbedtls (kód v C), BoringSSL (C++) a RustCrypto (Rust).
Zdroj: opennet.ru
