Die Organisation ISRG (Internet Security Research Group), die die GrĂŒnder des Letâs Encrypt-Projekts ist und die Entwicklung von Technologien zur Verbesserung der Internetsicherheit unterstĂŒtzt, hat die Veröffentlichung einer Schicht rustls-openssl-compat angekĂŒndigt, die es ermöglicht, die Rustls-Bibliothek als transparente Alternative zu OpenSSL zu verwenden. Derzeit bietet das Projekt eine rustls-libssl-Implementierung an, die mit libssl kompatibel ist, und eine libcrypto-Implementierung befindet sich in der Entwicklung.
Die in der Schicht vorhandene FunktionalitĂ€t reicht aus, um nginx auf Rustls-Basis zu betreiben. Um nginx auf Rustls umzustellen, mĂŒssen lediglich die Bibliotheken ausgetauscht werden, ohne dass eine Neukompilierung oder Ănderung des nginx erforderlich ist. Zu den kurzfristigen PlĂ€nen fĂŒr die Weiterentwicklung von Rustls gehört die Leistungsoptimierung in Bereichen, in denen Rustls derzeit hinter OpenSSL zurĂŒckbleibt, sowie die GewĂ€hrleistung der UnterstĂŒtzung von RFC 8879 zur Komprimierung von Zertifikaten. DarĂŒber hinaus wird im AnkĂŒndigung die Planung erwĂ€hnt, Elemente der Infrastruktur der Zertifizierungsstelle Letâs Encrypt von OpenSSL auf Rustls umzustellen.
Das Rustls-Projekt entwickelt sowohl klientseitige als auch serverseitige Implementierungen der TLS1.2- und TLS1.3-Protokolle zur Verwendung in Anwendungen in der Programmiersprache Rust. Rustls bietet keine eigene Implementierung kryptografischer Primitiven an, sondern verwendet einsteckbare Anbieter fĂŒr kryptografische Funktionen (unterstĂŒtzt werden die Algorithmen ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM und AES256-GCM). StandardmĂ€Ăig verwendet Rustls einen Kryptoanbieter auf Basis der aws-lc-rs-Bibliothek, die von Amazon entwickelt wird und auf dem C++-Code von BoringSSL basiert, der durch einen Google-Fork von OpenSSL unterstĂŒtzt wird. Auch die ring-Bibliothek, die teilweise auf BoringSSL basiert und Code in Assembler, C++ und Rust kombiniert, kann als Kryptoanbieter verwendet werden.
Bemerkenswert ist, dass nginx ĂŒber integrierte UnterstĂŒtzung fĂŒr die Erstellung mit BoringSSL verfĂŒgt, was die direkte Nutzung dieser Bibliothek ohne zusĂ€tzliche Schichten ermöglicht. Neben der in Rustls integrierten UnterstĂŒtzung fĂŒr die auf dem BoringSSL-Code basierenden aws-lc-rs- und ring-Bibliotheken werden fĂŒr Rustls auch mehrere externe Kryptoanbieter entwickelt, die die Verwendung von mbedtls (C-Code), BoringSSL (C++) und RustCrypto (Rust) ermöglichen.
Quelle: opennet.ru
