Π‘Π»Π΅Π΄ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ 19 ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° OpenSSL 3.0.0 Π±Π΅ΡΠ΅ ΠΏΡΡΠ½Π°ΡΠ° Ρ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° SSL/TLS ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅. ΠΠΎΠ²ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΡΡΠ°Π²Π°Ρ ΠΎΠ±ΡΠ°ΡΠ½Π°ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Π½Π° Π½ΠΈΠ²ΠΎ API ΠΈ ABI, Π½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½ΡΠΌΠ° Π΄Π° Π·Π°ΡΠ΅Π³Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΎΡ OpenSSL 1.1.1. ΠΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΡ ΠΊΠ»ΠΎΠ½ Π½Π° OpenSSL 1.1.1 ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄ΠΎ ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ 2023 Π³.
ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π² Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° ΡΠ΅ Π΄ΡΠ»ΠΆΠΈ Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΡΠΎ Π½ΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ βMajor.Minor.Patchβ. ΠΡΡΠ΅Π³Π° Π½Π°ΡΠ°ΡΡΠΊ ΠΏΡΡΠ²Π°ΡΠ° ΡΠΈΡΡΠ° (Major) Π² Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ° Π΅ Π½Π°ΡΡΡΠ΅Π½Π° Π½Π° Π½ΠΈΠ²ΠΎ API/ABI, Π° Π²ΡΠΎΡΠ°ΡΠ° (Minor) ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈ Π±Π΅Π· ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° API/ABI. ΠΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠΈΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ Ρ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΡΠ΅ΡΠ°ΡΠ° ΡΠΈΡΡΠ° (Patch). ΠΠΎΠΌΠ΅ΡΡΡ 3.0.0 Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ»Π΅Π΄ 1.1.1 Π±Π΅ΡΠ΅ ΠΈΠ·Π±ΡΠ°Π½, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠ½Π°ΡΡΠΎΡΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ» FIPS Π·Π° OpenSSL, Π·Π° ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π½ΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ 2.x.
ΠΡΠΎΡΠ°ΡΠ° Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π·Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±Π΅ΡΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡ ΠΎΡ Π΄Π²ΠΎΠ΅Π½ Π»ΠΈΡΠ΅Π½Π· (OpenSSL ΠΈ SSLeay) ΠΊΡΠΌ Π»ΠΈΡΠ΅Π½Π· Apache 2.0. ΠΡΠ΅Π΄ΠΈΡΠ½ΠΈΡΡ ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½ Π»ΠΈΡΠ΅Π½Π· Π·Π° OpenSSL ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡΠ° Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈΡ Π»ΠΈΡΠ΅Π½Π· Π·Π° Apache 1.0 ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½Π΅ Π½Π° OpenSSL Π² ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° OpenSSL Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Π±Π΅Π»Π΅ΠΆΠΊΠ°, Π°ΠΊΠΎ OpenSSL Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ ΠΊΠ°ΡΠΎ ΡΠ°ΡΡ ΠΎΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°. Π’Π΅Π·ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π½Π°ΠΏΡΠ°Π²ΠΈΡ Π° ΡΡΠ°ΡΠΈΡ Π»ΠΈΡΠ΅Π½Π· Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ GPL, ΠΊΠΎΠ΅ΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° OpenSSL Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ΠΈ ΠΎΡ GPL. ΠΠ° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ ΡΠ°Π·ΠΈ Π½Π΅ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ, ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π½Π° GPL Π±ΡΡ Π° ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΠΈ ΡΠΏΠΎΡΠ°Π·ΡΠΌΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡ Π½Π° GPL Π±Π΅ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ Ρ ΠΊΠ»Π°ΡΠ·Π°, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° OpenSSL ΠΈ ΡΠΏΠΎΠΌΠ΅Π½Π°, ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° GPL Π½Π΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ OpenSSL.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΠΎΠ½Π° Π½Π° OpenSSL 1.1.1, OpenSSL 3.0.0 Π΄ΠΎΠ±Π°Π²ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ 7500 ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, Π²Π½Π΅ΡΠ΅Π½ΠΈ ΠΎΡ 350 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ. ΠΡΠ½ΠΎΠ²Π½ΠΈ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈ Π½Π° OpenSSL 3.0.0:
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² ΠΌΠΎΠ΄ΡΠ» FIPS, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ FIPS 140-2 (ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π·Π° ΠΌΠΎΠ΄ΡΠ»Π° Π΅ ΠΏΠ»Π°Π½ΠΈΡΠ°Π½ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠ΅Ρ, Π° ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° FIPS 140-2 ΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°). ΠΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ» Π΅ ββΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ ΠΈ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ΡΠΎ ΠΌΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎ-ΡΡΡΠ΄Π½ΠΎ ΠΎΡ ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ». ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΌΠΎΠ΄ΡΠ»ΡΡ FIPS Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΎΠΏΡΠΈΡΡΠ° enable-fips Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°.
- libcrypto ΠΏΡΠΈΠ»Π°Π³Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° pluggable Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, ΠΊΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ (ENGINE API Π΅ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½). Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠ°ΠΊΠΈΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° MAC, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ. ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅ ΠΊΠ°ΠΊΡΠΎ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΎΠ²ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΡΡ, Π²Π³ΡΠ°Π΄Π΅Π½ Π² OpenSSL, Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²ΡΠ΅ΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ).
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ (RFC 4210), ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΎΡ CA ΡΡΡΠ²ΡΡ, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΈ ΠΎΡΠΌΡΠ½Π° Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. Π Π°Π±ΠΎΡΠ°ΡΠ° Ρ CMP ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΠΏΠΎΠΌΠΎΡΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° openssl-cmp, ΠΊΠΎΡΡΠΎ ΡΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° CRMF ΡΠΎΡΠΌΠ°Ρ (RFC 4211) ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ ΡΡΠ΅Π· HTTP/HTTPS (RFC 6712).
- ΠΡΠ²Π΅Π΄Π΅Π½ Π΅ ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ Π·Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠ΅ HTTP ΠΈ HTTPS, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ GET ΠΈ POST, ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ° ΠΏΡΠ΅Π· ΠΏΡΠΎΠΊΡΠΈ, ASN.1 ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² EVP_MAC (API Π·Π° ΠΊΠΎΠ΄ Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ), Π·Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°Π»ΡΠΈΠ²ΠΈ Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ.
- ΠΡΠ΅Π΄Π»Π°Π³Π° ΡΠ΅ Π½ΠΎΠ² ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ - EVP_KDF (Key Derivation Function API), ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° KDF ΠΈ PRF. Π‘ΡΠ°ΡΠΈΡΡ EVP_PKEY API, ΡΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ scrypt, TLS1 PRF ΠΈ HKDF Π±ΡΡ Π° Π΄ΠΎΡΡΡΠΏΠ½ΠΈ, Π΅ ΠΏΡΠ΅ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° ΡΠ»ΠΎΠΉ, Π²Π½Π΅Π΄ΡΠ΅Π½ Π²ΡΡΡ Ρ EVP_KDF ΠΈ EVP_MAC API.
- ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° TLS ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° TLS ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΡΡΠ²ΡΡ, Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅. ΠΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° TLS, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΠΎΡ ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux, ΡΡΡΠ±Π²Π° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΠΎΠΏΡΠΈΡΡΠ° "SSL_OP_ENABLE_KTLS" ΠΈΠ»ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° "enable-ktls".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π½ΠΎΠ²ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ:
- ΠΠ»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ (KDF) ΡΠ° βSINGLE STEPβ ΠΈ βSSHβ.
- Π‘ΠΈΠΌΡΠ»ΠΈΡΠ°Π½ΠΈΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ (MAC) ΡΠ° βGMACβ ΠΈ βKMACβ.
- RSA Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡ (KEM) "RSASVE".
- ΠΠ»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ "AES-SIV" (RFC-8452).
- ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ EVP API, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΈ ΡΠΈΡΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° AES Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠΎΠ²Π΅ (Key Wrap): βAES-128-WRAP-INVβ, βAES-192-WRAP-INVβ, βAES-256-WRAP-INVβ β, βAES-128-WRAP-PAD-INVβ, βAES-192-WRAP-PAD-INVβ ΠΈ βAES-256-WRAP-PAD-INVβ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° Π·Π°Π΅ΠΌΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠΎΠ²Π°Π½ ΡΠ΅ΠΊΡΡ (CTS) ΠΊΡΠΌ EVP API: βAES-128-CBC-CTSβ, βAES-192-CBC-CTSβ, βAES-256-CBC-CTSβ, βCAMELLIA-128-CBC -CTSβ, "CAMELLIA-192-CBC-CTS" ΠΈ "CAMELLIA-256-CBC-CTS".
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° CAdES-BES ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΈ (RFC 5126).
- AES_GCM Π²Π½Π΅Π΄ΡΡΠ²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° AuthEnvelopedData (RFC 5083), Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π΅ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΠΈ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° AES GCM.
- Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ PKCS7_get_octet_string ΠΈ PKCS7_type_is_other ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½ΠΈΡ API.
- PKCS#12 API Π·Π°ΠΌΠ΅Π½Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΡΡΠ° PKCS12_create() Ρ PBKDF2 ΠΈ AES ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° SHA-256 Π·Π° ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° MAC. ΠΠ° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡΡΠ° "-legacy". ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π½ΠΎΠ²ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΊΡΠΌ PKCS12_*_ex, PKCS5_*_ex ΠΈ PKCS8_*_ex, ΠΊΠ°ΡΠΎ PKCS12_add_key_ex().PKCS12_create_ex() ΠΈ PKCS12_decrypt_skey_ex().
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π½ΠΈΡΠΊΠΈ ΡΡΠ΅Π· ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° SRWLock.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² API Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΡΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° enable-trace.
- ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΡΡ ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²Π΅, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½ΠΈ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ EVP_PKEY_public_check() ΠΈ EVP_PKEY_param_check() Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½: RSA, DSA, ED25519, X25519, ED448 ΠΈ X448.
- ΠΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° RAND_DRBG Π΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠ°, Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΠΎΡ API EVP_RAND. Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ FIPS_mode() ΠΈ FIPS_mode_set() ΡΠ° ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°ΡΡ ΠΎΡ API Π΅ ΠΎΡΡΠ°ΡΡΠ»Π° - ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ. ΠΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ API Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ AES_set_encrypt_key ΠΈ AES_encrypt), ΡΠ° ΠΎΡΠΈΡΠΈΠ°Π»Π½ΠΎ ΠΎΠ±ΡΠ²Π΅Π½ΠΈ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ. ΠΡΠΈΡΠΈΠ°Π»Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π² OpenSSL 3.0.0 Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ°ΠΌΠΎ Π·Π° EVP API ΠΎΡ Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π°Π±ΡΡΡΠ°Ρ ΠΈΡΠ°Π½ΠΈ ΠΎΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ (ΡΠΎΠ·ΠΈ API Π²ΠΊΠ»ΡΡΠ²Π° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ EVP_EncryptInit_ex, EVP_EncryptUpdate ΠΈ EVP_EncryptFinal). ΠΡΡ Π²ΡΡΠ»Π΅Π½ΠΈΡΠ΅ API ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ Π² Π΅Π΄Π½Π° ΠΎΡ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ Π²Π΅ΡΡΠΈΠΈ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° Π½Π°ΡΠ»Π΅Π΄Π΅Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ ΠΊΠ°ΡΠΎ MD2 ΠΈ DES, Π΄ΠΎΡΡΡΠΏΠ½ΠΈ ΡΡΠ΅Π· EVP API, ΡΠ° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π΅Π½ βΠ½Π°ΡΠ»Π΅Π΄Π΅Π½β ΠΌΠΎΠ΄ΡΠ», ΠΊΠΎΠΉΡΠΎ Π΅ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡΡ ΠΎΡ ΡΠ΅ΡΡΠΎΠ²Π΅ ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈ. Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΊΠ»ΠΎΠ½ 1.1.1 ΠΎΠ±Π΅ΠΌΡΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΡΠ΅ Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ» Ρ 94%, Π° ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ΅ Π΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ» Ρ 54%.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru