ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ TLS ΠΈ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΡΠΈΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡΡΠ°ΠΌΠΈ DH (Diffie-Hellman, TLS_DH_*»). Π‘ ΡΠΈΡΡΠ°ΠΌΠΈ ECDH ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΈ ΠΎΠ½ΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ. Π£ΡΠ·Π²ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ TLS Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 1.2 Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TLS 1.3 ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ TLS, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ DH Π² ΡΠ°Π·Π½ΡΡ TLS-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ (ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π½Π° 4.4% ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈΠ· ΡΠ΅ΠΉΡΠΈΠ½Π³Π° Alexa Top 1M).
Π OpenSSL 1.0.2e ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ Π²ΡΠΏΡΡΠΊΠ°Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ DH ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡ , Π΅ΡΠ»ΠΈ ΡΠ²Π½ΠΎ Π½Π΅ Π²ΡΡΡΠ°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ SSL_OP_SINGLE_DH_USE. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ OpenSSL 1.0.2f ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ DH ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ DH-ΡΠΈΡΡΠΎΠ² («DH-*», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ «DH-RSA-AES256-SHA»). Π OpenSSL 1.1.1 ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π΅ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π² Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΠΊΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ DH ΠΈ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ DH-ΡΠΈΡΡΡ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡΡΠ°ΠΌΠΈ DH ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ Π·Π°ΠΊΡΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ (Π΄Π°Π»Π΅Π΅ ΠΊΠ»ΡΡ «a» ΠΈ ΠΊΠ»ΡΡ «b»), Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠΈΡΠ»ΡΡΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ (ga mod p ΠΈ gb mod p). ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠΎΡΠΎΠ½ΠΎΠΉ Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ (gab mod p), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ°ΠΊΠ° Raccoon ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΠ΅ΡΠ΅Π· Π°Π½Π°Π»ΠΈΠ· ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ, ΠΎΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ TLS Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ Π²Π΅ΡΡΠΈΠΈ 1.2 ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π½ΡΠ»Π΅Π²ΡΠ΅ Π±Π°ΠΉΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ Ρ Π΅Π³ΠΎ ΡΡΠ°ΡΡΠΈΠ΅ΠΌ.
Π ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΡΠ΅Π·Π°Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Ρ
ΡΡ-ΡΡΠ½ΠΊΡΠΈΡΡ
Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠΌΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ°Π·Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
. Π’ΠΎΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΊΠ»ΡΡΠΎΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°ΡΠ°ΠΊΡΡΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ (oracle), ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΄ΠΈΡΡ ΠΎ ΡΠΎΠΌ, Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Ρ Π½ΡΠ»Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»ΡΡ (ga), ΠΏΠ΅ΡΠ΅ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ
Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π»ΠΈ Ρ Π½ΡΠ»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ.
Π‘Π°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±Π°ΠΉΡΠ° ΠΊΠ»ΡΡΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π°ΡΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠΈΠ² ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «ga» Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π°Π±ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ «ga» ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΡ
Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅Π°Π½ΡΠ°Ρ
ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. Π€ΠΎΡΠΌΠΈΡΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «gri*ga», Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΠ΅Π· Π°Π½Π°Π»ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ Π² ΠΎΡΠ²Π΅ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΡΡ Ρ Π½ΡΠ»Ρ. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊΡΡΡΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠ°Π²ΠΈΡΡ Π½Π°Π±ΠΎΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ Π΄Π»Ρ
Π OpenSSL ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ (
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru