ISRG (Internet Security Research Group), mis on Let's Encrypt projekti asutaja ja aitab arendada tehnoloogiaid interneti turvalisuse suurendamiseks, on teatanud rustls-openssl-compat kihtide avalikustamisest, mis võimaldab Rustls teeki kasutada OpenSSL-i läbipaistva asendusena. Praegu on projekt välja andnud rustls-libssl, mis tagab ühilduvuse libssl-iga, ja libcrypto rakenduse arendamine on käimas.
Kihtides sisalduv funktsionaalsus on piisav, et tagada nginx-i töö Rustls-i baasil. Nginx-i üle viimiseks Rustls-i tuleb lihtsalt asendada teegid, ilma nginx-i ümberkompileerimise või muutmiseta. Rustls-i lähi tuleviku plaanides on välja tuua jõudluse optimeerimine valdkondades, kus Rustls jääb OpenSSL-ist maha, ning tagada RFC 8879 tugi sertifikaatide kokkusurumiseks. Samuti mainitakse teadaandes plaani viia Let's Encrypt-i sertifitseerimiskeskuse infrastruktuuri elemendid OpenSSL-ilt Rustls-ile.
Rustls projekt arendab klient- ja serveripoolseid TLS 1.2 ja TLS 1.3 protokollide rakendusi Rusti rakendustes kasutamiseks. Rustls ei paku oma krüptograafiliste primitiivide rakendust, vaid kasutab pluginaid krüptograafiliste funktsioonide jaoks (toetatakse algoritme ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM ja AES256-GCM). Rustls kasutab vaikimisi krüptoproviderina aws-lc-rs teeki, mille arendab Amazon ja mis põhineb BoringSSL C++ koodil, mille toimetab Google OpenSSL fork. Krüptoproviderina võib kasutada ka ring teeki, mis on osaliselt rajatud BoringSSL-ile ja kombineerib koodi assembleri, C++ ja Rustiga.
On märkimisväärne, et nginx-l on sisseehitatud tugi BoringSSL-iga ehitamiseks, mis võimaldab kasutada seda teeki otse ilma lisakihtideta. Samuti, välja arvatud Rustls-i sisseehitatud tugi aws-lc-rs ja ring teekidele, mis põhinevad BoringSSL koodil, arendatakse Rustls-i jaoks ka mitmeid kolmandate osapoolte krüptoprovideereid, mis võimaldavad kasutada mbedtls teeke (C koodiga), BoringSSL (C++) ja RustCrypto (Rust).
Allikas: opennet.ru
