ΠΠΎ ΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·Π²ΠΎΡ ΠΈ 19 ΡΠ΅ΡΡ ΠΈΠ·Π΄Π°Π½ΠΈΡΠ°, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° OpenSSL 3.0.0 Π±Π΅ΡΠ΅ ΠΎΠ±ΡΠ°Π²Π΅Π½Π° ΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ SSL/TLS ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅. ΠΠΎΠ²Π°ΡΠ° Π³ΡΠ°Π½ΠΊΠ° Π²ΠΊΠ»ΡΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΈ ΡΠ° Π½Π°ΡΡΡΡΠ²Π°Π°Ρ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° Π½Π°Π½Π°Π·Π°Π΄ Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° API ΠΈ ABI, Π½ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ΠΌΠ° Π΄Π° Π²Π»ΠΈΡΠ°Π°Ρ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ Π±Π°ΡΠ°Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π° Π·Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ ΠΎΠ΄ OpenSSL 1.1.1. ΠΡΠ΅ΡΡ ΠΎΠ΄Π½Π°ΡΠ° Π³ΡΠ°Π½ΠΊΠ° Π½Π° OpenSSL 1.1.1 ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π΄ΠΎ ΡΠ΅ΠΏΡΠ΅ΠΌΠ²ΡΠΈ 2023 Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠ½Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π° Π²ΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° ΡΠ΅ Π΄ΠΎΠ»ΠΆΠΈ Π½Π° ΠΏΡΠ΅ΠΌΠΈΠ½ΠΎΡ ΠΊΠΎΠ½ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΠΎ Π½ΡΠΌΠ΅ΡΠΈΡΠ°ΡΠ΅ βMajor.Minor.Patchβ. ΠΡΡΠ΅Π³Π° ΠΏΠ° Π½Π°ΡΠ°ΠΌΡ, ΠΏΡΠ²Π°ΡΠ° ΡΠΈΡΡΠ° (ΠΠ»Π°Π²Π½Π°) Π²ΠΎ Π±ΡΠΎΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° ΡΠ΅ ΡΠ΅ ΠΌΠ΅Π½ΡΠ²Π° ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ° Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ° Π½Π° Π½ΠΈΠ²ΠΎ Π½Π° API/ABI, Π° Π²ΡΠΎΡΠ°ΡΠ° (Minor) ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ³Π° ΡΠ΅ ΡΠ΅ Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΠ° Π±Π΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° API/ABI. ΠΠΎΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°ΡΠ° ΡΠ΅ Π±ΠΈΠ΄Π°Ρ ΠΈΡΠΏΠΎΡΠ°ΡΠ°Π½ΠΈ ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° ΡΡΠ΅ΡΠ°ΡΠ° ΡΠΈΡΡΠ° (ΠΊΡΠΏΠ΅Π½ΠΈΡΠ°). ΠΡΠΎΡΠΎΡ 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 Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° ΠΏΡΠΈΠΊΠ»ΡΡΠ»ΠΈΠ²ΠΈ ΠΏΡΠΎΠ²Π°ΡΠ΄Π΅ΡΠΈ, ΠΊΠΎΡ Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° ΠΌΠΎΡΠΎΡΠΈ (ΠΠΠ-ΡΠΎ Π½Π° ENGINE Π΅ Π·Π°ΡΡΠ°ΡΠ΅Π½ΠΎ). Π‘ΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° ΠΏΡΠΎΠ²Π°ΡΠ΄Π΅ΡΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΡΠ΅ ΡΠ²ΠΎΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠ°ΠΊΠ²ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ ΡΠΈΡΡΠΈΡΠ°ΡΠ΅, Π΄Π΅ΡΠΈΡΡΠΈΡΠ°ΡΠ΅, Π³Π΅Π½Π΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΈ, ΠΏΡΠ΅ΡΠΌΠ΅ΡΠΊΠ° Π½Π° 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β ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° βΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ-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 Π΅ ΠΎΡΡΡΡΠ°Π½Π΅Ρ, Π·Π°ΠΌΠ΅Π½Π΅Ρ ΡΠΎ EVP_RAND API. Π€ΡΠ½ΠΊΡΠΈΠΈΡΠ΅ 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