Выпуск криптографичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenSSL 3.1.0

ПослС ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° Π»Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ состоялся Ρ€Π΅Π»ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ OpenSSL 3.1.0 с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² SSL/TLS ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OpenSSL 3.1 Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π΄ΠΎ ΠΌΠ°Ρ€Ρ‚Π° 2025 Π³ΠΎΠ΄Π°. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ OpenSSL 3.0 ΠΈ 1.1.1 продлится Π΄ΠΎ сСнтября 2026 Π³ΠΎΠ΄Π° ΠΈ сСнтября 2023 Π³ΠΎΠ΄Π° соотвСтствСнно. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° OpenSSL 3.1.0:

  • Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ FIPS Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° криптографичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… стандарту бСзопасности FIPS 140-3. Начат процСсс сСртификации модуля для получСния сСртификата соотвСтствия трСбованиям FIPS 140-3. Π”ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСртификации послС обновлСния OpenSSL Π΄ΠΎ Π²Π΅Ρ‚ΠΊΠΈ 3.1 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ использованиС модуля FIPS, сСртифицированного для FIPS 140-2. Из ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии модуля отмСчаСтся Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Triple DES ECB, Triple DES CBC ΠΈ EdDSA, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π½Π° соотвСтствия трСбованиям FIPS. Π’Π°ΠΊΠΆΠ΅ Π² Π½ΠΎΠ²ΠΎΠΉ вСрсии внСсСны ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ осущСствлён ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° запуск Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… тСстов ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ модуля, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС установки.
  • ΠŸΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΊΠΎΠ΄ OSSL_LIB_CTX. Новый Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ ΠΎΡ‚ ΠΈΠ·Π»ΠΈΡˆΠ½ΠΈΡ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°.
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, связанная с использованиСм Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… структур (Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†) ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ RSA-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ FIPS.
  • Для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… процСссорных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² AES-GCM, ChaCha20, SM3, SM4 ΠΈ SM4-GCM внСсСны спСцифичныС ассСмблСрныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. НапримСр, ΠΊΠΎΠ΄ AES-GCM ускорСн ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ инструкций AVX512 vAES ΠΈ vPCLMULQDQ.
  • Π’ KBKDF (Key Based Key Derivation Function) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° KMAC (KECCAK Message Authentication Code).
  • Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «OBJ_*» Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для использования Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ псСвдослучайных чисСл инструкции RNDR ΠΈ рСгистров RNDRRS, доступных Π² процСссорах Π½Π° Π±Π°Π·Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ AArch64.
  • ΠŸΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π² разряд ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio ΠΈ OPENSSL_LH_node_usage_stats_bio. ОбъявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΌΠ°ΠΊΡ€ΠΎc DEFINE_LHASH_OF.

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