Amazon opublikował bibliotekę kryptograficzną typu open source dla języka Rust

Amazon wprowadził aws-lc-rs, bibliotekę kryptograficzną przeznaczoną do użytku w aplikacjach Rust i kompatybilną na poziomie API z biblioteką pierścieniową Rust. Kod projektu jest dystrybuowany na licencjach Apache 2.0 i ISC. Biblioteka wspiera pracę na platformach Linux (x86, x86-64, aarch64) i macOS (x86-64).

Implementacja operacji kryptograficznych w aws-lc-rs opiera się na bibliotece AWS-LC (AWS libcrypto), napisanej w C++ oraz z kolei na kodzie z projektu BoringSSL (fork OpenSSL wspierany przez Google). Dodatkowo proponowane są dwa pakiety skrzynek niskiego poziomu: aws-lc-sys (automatycznie generowane opakowania niskiego poziomu przez AWS-LC) i aws-lc-fips-sys (opaki niskiego poziomu oparte na FFI (interfejs funkcji zagranicznych)). , odtwarzając interfejs API AWS-LC.

Biblioteka AWS-LC zawiera formalnie zweryfikowane implementacje algorytmów SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH, ECDSA, które spełniają wymagania stawiane systemom kryptograficznym, z których mogą korzystać agencje rządowe w Stanach Zjednoczonych i Kanada. Stworzenie frameworka dla języka Rust było spowodowane potrzebą bibliotek kryptograficznych zgodnych z FIPS, które można by wykorzystać w projektach Rust. W bibliotece aws-lc-rs Amazon zdecydował się połączyć znane i szeroko rozpowszechnione wśród programistów Rusta API Ring oraz sprawdzone implementacje algorytmów z biblioteki AWS-LC, które spełniają wymagania FIPS.

Wykorzystanie biblioteki AWS-LC jako podstawy umożliwiło także wykorzystanie wszystkich specyficznych optymalizacji opracowanych przez Amazon w aws-lc-rs. Na przykład AWS-LC oferuje warianty algorytmów ChaCha20-Poly1305 i NIST P-256, które są oddzielnie zoptymalizowane dla procesorów ARM, a także znaczące optymalizacje dla systemów x86, które przyspieszają przetwarzanie podpisów cyfrowych ECDSA. Podczas testowania protokołów TLS 1.2 i 1.3 biblioteka aws-lc-rs znacznie przewyższała pakiet rustls, wykazując zarówno skrócenie czasu konfiguracji połączenia, jak i wzrost przepustowości (ponad dwukrotny wzrost w testach ECDSA).

Amazon opublikował bibliotekę kryptograficzną typu open source dla języka Rust


Źródło: opennet.ru

Dodaj komentarz