Π’ Rustls обСспСчСна ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с OpenSSL ΠΈ nginx

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ISRG (Internet Security Research Group), которая являСтся ΡƒΡ‡Ρ€Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Let’s Encrypt ΠΈ способствуСт Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ защищённости ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, объявила ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ прослойки rustls-openssl-compat, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Rustls Π² качСствС ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ OpenSSL. Π’ настоящСС врСмя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ прСдоставлСна рСализация rustls-libssl, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с libssl, Π° Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ находится рСализация libcrypto.

ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π² прослойкС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ достаточно Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ nginx Π½Π° Π±Π°Π·Π΅ Rustls. Для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° nginx Π½Π° Rustls слСдуСт просто Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π±Π΅Π· нСобходимости пСрСсборки ΠΈΠ»ΠΈ измСнСния nginx. Из Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… ΠΏΠ»Π°Π½ΠΎΠ² ΠΏΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ Rustls отмСчаСтся ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² областях, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Rustls ΠΏΠΎΠΊΠ° отстаёт ΠΎΡ‚ OpenSSL, ΠΈ обСспСчСниС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ RFC 8879 для сТатия сСртификатов. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² анонсС упомянут ΠΏΠ»Π°Π½ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° элСмСнтов инфраструктуры ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅Π³ΠΎ Ρ†Π΅Π½Ρ‚Π° Let’s Encrypt с OpenSSL Π½Π° Rustls.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Rustls Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΈ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² TLS1.2 ΠΈ TLS1.3 для использования Π² прилоТСниях Π½Π° языкС Rust. Rustls Π½Π΅ прСдоставляСт ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ криптографичСских ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ², Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ криптографичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM ΠΈ AES256-GCM). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Rustls ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π½Π° Π±Π°Π·Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ aws-lc-rs, которая развиваСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Amazon ΠΈ базируСтся Π½Π° Π‘++ ΠΊΠΎΠ΄Π΅ BoringSSL, сопровоТдаСмого Google Ρ„ΠΎΡ€ΠΊΠ° OpenSSL. Π’ качСствС ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ring, частично основанная Π½Π° BoringSSL ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠ΄ Π½Π° ассСмблСрС, Π‘++ ΠΈ Rust.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ nginx ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сборки с BoringSSL, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… прослоСк. ΠŸΡ€ΠΈ этом ΠΊΡ€ΠΎΠΌΠ΅ встроСнной Π² Rustls ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ aws-lc-rs ΠΈ ring, основанных Π½Π° ΠΊΠΎΠ΄Π΅ BoringSSL, для Rustls Ρ‚Π°ΠΊΠΆΠ΅ развиваСтся нСсколько сторонних ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ mbedtls (ΠΊΠΎΠ΄ Π½Π° Π‘ΠΈ), BoringSSL (C++) ΠΈ RustCrypto (Rust).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ