ಸಮಸ್ಯೆಯು ನೇರವಾಗಿ TLS ವಿವರಣೆಯಲ್ಲಿದೆ ಮತ್ತು DH ಕೀ ವಿನಿಮಯ ಪ್ರೋಟೋಕಾಲ್ (Diffie-Hellman, TLS_DH_*") ಆಧಾರಿತ ಸೈಫರ್ಗಳನ್ನು ಬಳಸುವ ಸಂಪರ್ಕಗಳ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. ECDH ಸೈಫರ್ಗಳೊಂದಿಗೆ ಸಮಸ್ಯೆ ಉಂಟಾಗುವುದಿಲ್ಲ ಮತ್ತು ಅವು ಸುರಕ್ಷಿತವಾಗಿ ಉಳಿಯುತ್ತವೆ. ಆವೃತ್ತಿ 1.2 ರವರೆಗಿನ TLS ಪ್ರೋಟೋಕಾಲ್ಗಳು ಮಾತ್ರ ದುರ್ಬಲವಾಗಿರುತ್ತವೆ; TLS 1.3 ಸಮಸ್ಯೆಯಿಂದ ಪ್ರಭಾವಿತವಾಗಿಲ್ಲ. ವಿವಿಧ TLS ಸಂಪರ್ಕಗಳಾದ್ಯಂತ DH ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಮರುಬಳಕೆ ಮಾಡುವ TLS ಅಳವಡಿಕೆಗಳಲ್ಲಿ ದುರ್ಬಲತೆಯು ಸಂಭವಿಸುತ್ತದೆ (ಈ ನಡವಳಿಕೆಯು ಸರಿಸುಮಾರು 4.4% ಅಲೆಕ್ಸಾ ಟಾಪ್ 1M ಸರ್ವರ್ಗಳಲ್ಲಿ ಕಂಡುಬರುತ್ತದೆ).
OpenSSL 1.0.2e ಮತ್ತು ಹಿಂದಿನ ಬಿಡುಗಡೆಗಳಲ್ಲಿ, SSL_OP_SINGLE_DH_USE ಆಯ್ಕೆಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸದ ಹೊರತು ಎಲ್ಲಾ ಸರ್ವರ್ ಸಂಪರ್ಕಗಳಲ್ಲಿ DH ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು ಮರುಬಳಕೆ ಮಾಡಲಾಗುತ್ತದೆ. 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) ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ ಮತ್ತು ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ಪಕ್ಷವು ಸಾರ್ವಜನಿಕ ಕೀಲಿಗಳನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ, ಸಾಮಾನ್ಯ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು (ಗ್ಯಾಬ್ ಮೋಡ್ ಪಿ) ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ, ಇದನ್ನು ಸೆಷನ್ ಕೀಗಳನ್ನು ರಚಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ರಕೂನ್ ದಾಳಿಯು ಸೈಡ್-ಚಾನೆಲ್ ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಆವೃತ್ತಿ 1.2 ರವರೆಗಿನ TLS ವಿಶೇಷಣಗಳು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯ ಎಲ್ಲಾ ಪ್ರಮುಖ ಶೂನ್ಯ ಬೈಟ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಲೆಕ್ಕಾಚಾರಗಳ ಮೊದಲು ತ್ಯಜಿಸಬೇಕಾಗುತ್ತದೆ.
ಮೊಟಕುಗೊಳಿಸಿದ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು ಒಳಗೊಂಡಂತೆ ಸೆಷನ್ ಕೀ ಉತ್ಪಾದನೆಯ ಕಾರ್ಯಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ, ಇದು ವಿಭಿನ್ನ ಡೇಟಾವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ವಿಭಿನ್ನ ವಿಳಂಬಗಳೊಂದಿಗೆ ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳನ್ನು ಆಧರಿಸಿದೆ. ಸರ್ವರ್ ನಿರ್ವಹಿಸುವ ಪ್ರಮುಖ ಕಾರ್ಯಾಚರಣೆಗಳ ಸಮಯವನ್ನು ನಿಖರವಾಗಿ ಅಳೆಯುವುದು ಆಕ್ರಮಣಕಾರರಿಗೆ ಸುಳಿವುಗಳನ್ನು (ಒರಾಕಲ್) ನಿರ್ಧರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಅದು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯು ಮೊದಲಿನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ನಿರ್ಣಯಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಆಕ್ರಮಣಕಾರರು ಕ್ಲೈಂಟ್ ಕಳುಹಿಸಿದ ಸಾರ್ವಜನಿಕ ಕೀ (ga) ಅನ್ನು ಪ್ರತಿಬಂಧಿಸಬಹುದು, ಅದನ್ನು ಸರ್ವರ್ಗೆ ಮರುಪ್ರಸಾರಿಸಬಹುದು ಮತ್ತು ನಿರ್ಧರಿಸಬಹುದು
ಪರಿಣಾಮವಾಗಿ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯು ಶೂನ್ಯದಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.
ಸ್ವತಃ, ಕೀಲಿಯ ಒಂದು ಬೈಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವುದು ಏನನ್ನೂ ನೀಡುವುದಿಲ್ಲ, ಆದರೆ ಸಂಪರ್ಕ ಮಾತುಕತೆಯ ಸಮಯದಲ್ಲಿ ಕ್ಲೈಂಟ್ ರವಾನೆಯಾಗುವ "ga" ಮೌಲ್ಯವನ್ನು ಪ್ರತಿಬಂಧಿಸುವ ಮೂಲಕ, ಆಕ್ರಮಣಕಾರರು "ga" ನೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಇತರ ಮೌಲ್ಯಗಳ ಗುಂಪನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಪ್ರತ್ಯೇಕ ಸಂಪರ್ಕ ಸಮಾಲೋಚನಾ ಅವಧಿಗಳಲ್ಲಿ ಸರ್ವರ್. "ಗ್ರಿ*ಗಾ" ಮೌಲ್ಯಗಳನ್ನು ರಚಿಸುವ ಮತ್ತು ಕಳುಹಿಸುವ ಮೂಲಕ, ಆಕ್ರಮಣಕಾರನು ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿನ ವಿಳಂಬದಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವ ಮೂಲಕ, ಶೂನ್ಯದಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಪ್ರಾಥಮಿಕ ಕೀಗಳನ್ನು ಸ್ವೀಕರಿಸಲು ಕಾರಣವಾಗುವ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ಧರಿಸಬಹುದು. ಅಂತಹ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ಧರಿಸಿದ ನಂತರ, ಆಕ್ರಮಣಕಾರನು ಸಮೀಕರಣಗಳ ಗುಂಪನ್ನು ರಚಿಸಬಹುದು
OpenSSL ದುರ್ಬಲತೆಗಳು
ಹೆಚ್ಚುವರಿ ಸಮಸ್ಯೆಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಗುರುತಿಸಲಾಗಿದೆ (
ಮೂಲ: opennet.ru