VPN ನಲ್ಲಿ ಸಮ್ಮಿತೀಯ vs. ಸಾರ್ವಜನಿಕ-ಕೀ ಗೂಢಲಿಪೀಕರಣ: ಪ್ರತಿಯೊಂದೂ ಏನು ಮಾಡುತ್ತದೆ
VPN ಸಾರ್ವಜನಿಕ ಕೀಗಳಿಂದ ಸಹವರ್ತಿಗಳನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ, ನಂತರ ಪಡೆದ ಸೆಷನ್ ಕೀಗಳಿಂದ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಗೂಢಲಿಪೀಕರಿಸುತ್ತದೆ. ಪ್ರಮಾಣಪತ್ರಗಳು ಮತ್ತು ಸಂಚಾರ ಕೀಗಳನ್ನು ಬೇರೆ ಬೇರೆ ವಸ್ತುಗಳಾಗಿ ಪರಿಗಣಿಸಿ.
ಜನರು VPN ಅನ್ನು „ಸಾರ್ವಜನಿಕ-ಕೀ ಗೂಢಲಿಪೀಕರಣ ಬಳಸುವಂಥದ್ದು“ ಎಂದು ವಿವರಿಸಿ, ನಂತರ ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ ಸರ್ವರ್ನ ಪ್ರಮಾಣಪತ್ರದಿಂದ ಭದ್ರವಾಗಿದೆ ಎಂದು ಊಹಿಸುತ್ತಾರೆ. ಈ ಚಿತ್ರವು ಕಾನ್ಫಿಗ್ ಫೈಲ್ ಅಥವಾ ಪ್ಯಾಕೆಟ್ ಸೆರೆಹಿಡಿಯುವಿಕೆ ಓದುವಾಗ ಮುಖ್ಯವಾಗುವ ರೀತಿಯಲ್ಲಿ ತಪ್ಪಾಗಿದೆ. VPN ನ ಸಾರ್ವಜನಿಕ-ಕೀ ಅರ್ಧವು ಸಹವರ್ತಿ ಯಾರು ಎಂಬುದನ್ನು ಸಾಬೀತುಪಡಿಸುವುದು ಮತ್ತು ರಹಸ್ಯ ಸಾಮಗ್ರಿಯ ಮೇಲೆ ಒಪ್ಪುವುದಕ್ಕೆ ಸಂಬಂಧಿಸಿದೆ; ಸಮ್ಮಿತೀಯ ಅರ್ಧವು ಸಂಚಾರವನ್ನು ನಿಜವಾಗಿ ರಕ್ಷಿಸುವ ಭಾಗ, ಪ್ಯಾಕೆಟ್ ನಂತರ ಪ್ಯಾಕೆಟ್, ಸೆಷನ್ ನ ಇಡೀ ಆಯುಷ್ಯದ ಉದ್ದಕ್ಕೂ.
ಎರಡು ಅರ್ಧಗಳಿಗೆ ಭಿನ್ನ ಆಯುಷ್ಯ, ವೈಫಲ್ಯ ವಿಧಾನಗಳು ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿ ಪ್ರಕಟಿಸಬಹುದಾದ ವಿಷಯಗಳಿವೆ. ಅವುಗಳನ್ನು ಬೇರ್ಪಡಿಸಿದಾಗ, „RSA 2048 AES-128 ಗಿಂತ ದುರ್ಬಲವೇ“ ಎಂಬ ಪ್ರಶ್ನೆಗಳು ಗೊಂದಲ ಉಂಟುಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತವೆ, ಏಕೆಂದರೆ ಅವು ಎಂದಿಗೂ ಹೋಲಿಸಲು ಸಾಧ್ಯವಿರಲಿಲ್ಲ.
ಒಟ್ಟಿಗೆ ಬೆರೆಸಲ್ಪಡುವ ಮೂರು ಕಾರ್ಯಾಚರಣೆಗಳು
ಸಾರ್ವಜನಿಕ-ಕೀ ಗೂಢಲಿಪೀಕರಣ ಶಾಸ್ತ್ರವು ಕನಿಷ್ಠ ಮೂರು ಭಿನ್ನ ಕಾರ್ಯಾಚರಣೆಗಳ ಮೇಲಿನ ಒಂದು ಛತ್ರಿ. ಸಹಿ ಖಾಸಗೀ ಕೀಯ ಮಾಲೀಕನು ನಿರ್ದಿಷ್ಟ ಸಂದೇಶವನ್ನು ಅನುಮೋದಿಸಿದ್ದಾರೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಕೀ ಒಪ್ಪಂದವು ಇಬ್ಬರು ಸಹವರ್ತಿಗಳಿಗೆ ಸಾರ್ವಜನಿಕವಾಗಿ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುವ ಮೂಲ್ಯಗಳಿಂದ ಹಂಚಿಕೆಯ ರಹಸ್ಯವನ್ನು ಪಡೆಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸಾರ್ವಜನಿಕ-ಕೀ ಗೂಢಲಿಪೀಕರಣವು ಡೇಟಾವನ್ನು ಯಾರೋ ಒಬ್ಬರ ಸಾರ್ವಜನಿಕ ಕೀಯ ಅಡಿಯಲ್ಲಿ ಮರೆಮಾಡುತ್ತದೆ, ಹೀಗಾಗಿ ಕೇವಲ ಖಾಸಗೀ ಕೀ ಮಾತ್ರ ಅದನ್ನು ತೆರೆಯಬಲ್ಲದು.
VPN ಹ್ಯಾಂಡ್ಶೆಕ್ಗಳು ಹೆಚ್ಚಾಗಿ ಮೊದಲೆರಡನ್ನು ಬಳಸುತ್ತವೆ. ಪ್ರಮಾಣಪತ್ರವು ಗೂಢಲಿಪೀಕರಣ ಕೀ ಅಲ್ಲ; ಅದು ಹೆಸರನ್ನು ಸಾರ್ವಜನಿಕ ಕೀಗೆ ಬಂಧಿಸುವ ಸಹಿ ಮಾಡಿದ ಹೇಳಿಕೆ, ಮತ್ತು ಇನ್ನೊಂದು ಬದಿಗೆ ಈಗತ್ತನೇ ಪಡೆದ ಕೀಯನ್ನು ನಂಬಬೇಕೇ ಎಂದು ನಿರ್ಧಾರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, TLS 1.3 ಕೀ ಸ್ಥಾಪನೆಯು (EC)DHE ಕೀ ಒಪ್ಪಂದ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ಸಹಿಗಳ ಮೇಲೆ ನಿಂತಿದೆ, ಸರ್ವರ್ನ ಸಾರ್ವಜನಿಕ ಕೀಯಿಂದ ಸೆಷನ್ ಗೂಢಲಿಪೀಕರಣದ ಮೇಲೆಯಲ್ಲ.
ಹ್ಯಾಂಡ್ಶೆಕ್ ನಿಜವಾಗಿ ಏನನ್ನು ಉತ್ಪನ್ನ ಮಾಡುತ್ತದೆ
ಆಧುನಿಕ ಹ್ಯಾಂಡ್ಶೆಕ್ನಲ್ಲಿ ಪ್ರತಿ ಬದಿಯೂ ಕ್ಷಣಿಕ ಕೀ ಜೋಡಿಯನ್ನು ರಚಿಸಿ, ಸಾರ್ವಜನಿಕ ಅರ್ಧಗಳನ್ನು ವಿನಿಮಯ ಮಾಡಿ, ತಂತಿಯ ಮೂಲಕ ಎಂದಿಗೂ ಹೋಗದ ಹಂಚಿಕೆಯ ರಹಸ್ಯವನ್ನು ಲೆಕ್ಕಿಸುತ್ತದೆ. ಆ ರಹಸ್ಯವು ನಂತರ ಕೀ-ವ್ಯುತ್ಪತ್ತಿ ಕಾರ್ಯದ ಮೂಲಕ ಹಾದು ಪ್ರತಿ ದಿಕ್ಕಿಗೂ ಪ್ರತ್ಯೇಕ ಕೀಗಳನ್ನು, ಜೊತೆಗೆ ದಾಖಲೆ ಪದರಕ್ಕೆ ಬೇಕಾದ nonce ಮತ್ತು IV ಸಾಮಗ್ರಿಯನ್ನು ಉತ್ಪನ್ನ ಮಾಡುತ್ತದೆ. WireGuard ಇದನ್ನು Noise ಆಧಾರಿತ ರಚನೆಯಿಂದ ಮಾಡುತ್ತದೆ; TLS 1.3 ಇದನ್ನು ಹ್ಯಾಂಡ್ಶೆಕ್ ಟ್ರಾಂಸ್ಕ್ರಿಪ್ಟ್ ಮೇಲೆ HKDF ಯಿಂದ ಮಾಡುತ್ತದೆ.
ದೀರ್ಘಾವಧಿ ರುಜುವಾತು — ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಖಾಸಗೀ ಕೀ, ಅಥವಾ ಸ್ಥಿರ WireGuard ಕೀ — ಆ ವಿನಿಮಯವನ್ನು ದೃಢೀಕರಿಸುತ್ತದೆ. ಅದು ಟ್ರಾಂಸ್ಕ್ರಿಪ್ಟ್ ಮೇಲೆ ಸಹಿ ಮಾಡುತ್ತದೆ ಅಥವಾ ಅದರೊಳಗೆ ಬೆರೆಯುತ್ತದೆ, ಹೀಗಾಗಿ ಅಪರಿಚಿತನು ಸಹವರ್ತಿಯ ಸ್ಥಾನದಲ್ಲಿ ಹ್ಯಾಂಡ್ಶೆಕ್ ಪೂರ್ಣಗೊಳಿಸಲಾಗದು. ನಂತರ ರುಜುವಾತು ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ಗೂ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. ಹಾಗೆ ಮಾಡಿದರೆ, ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ಗೂ ಖಾಸಗೀ-ಕೀ ಕಾರ್ಯಾಚರಣೆ ಬೇಕಾಗುತ್ತಿತ್ತು, ಮತ್ತು ಕಾರ್ಯನಿರತ ಸುರಂಗವು ಸ್ಟ್ಯಾಕ್ನ ಅತ್ಯಂತ ನಿಧಾನ ಕಾರ್ಯಾಚರಣೆಯಿಂದ ಸೀಮಿತಗೊಳ್ಳುತ್ತಿತ್ತು.
ಇದರಿಂದ ಎರಡು ಅಂತರ್ಗತ ಪರಿಣಾಮಗಳು ಉಂಟಾಗುತ್ತವೆ. ಮೊದಲನೆಯದು, ಸೆಷನ್ ಕೀಗಳು ಪ್ರತಿ ಬಾರಿಗೂ ಹೊಸದು, ಆದ್ದರಿಂದ ನಂತರ ದೀರ್ಘಾವಧಿ ಕೀಯನ್ನು ಕದ್ದ ಆಕ್ರಮಣಕಾರನು ಹಿಂದೆ ದಾಖಲೆ ಮಾಡಿದ ಸೆಷನ್ಗಳನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗದು, ಒಪ್ಪಂದ ಕ್ಷಣಿಕವಾಗಿದ್ದರೆ. ಎರಡನೆಯದು, ಸೋರಿಕೆಯಾದ ಸೆಷನ್ ಕೀ ಒಂದು ಸೆಷನ್ ಅನ್ನು ಅಪಾಯಕ್ಕು ಒಡ್ಡುತ್ತದೆ, ಗುರುತನ್ನಲ್ಲ.
ದೊಡ್ಡ ಡೇಟಾ ಪ್ರಮಾಣಗಳು ಸಮ್ಮಿತೀಯ ಕೀಗಳನ್ನು ಏಕೆ ಬಳಸುತ್ತವೆ
ಸಮ್ಮಿತೀಯ ಸೈಫರ್ಗಳು ಪ್ರಮಾಣವನ್ನು ಚೆನ್ನಾಗಿ ನಿರ್ವಹಿಸುತ್ತವೆ: AES-GCM ಅಥವಾ ChaCha20-Poly1305 ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಈಗಾಗಲೇ ಮೆಮೊರಿಯಲ್ಲಿರುವ ಕೀಯಿಂದ ಸಂಸ್ಕರಿಸಿ, ಶೀರ್ಷಿಕೆಯನ್ನು ದೃಢೀಕರಿಸಿ, ಕೆೌಂಟರ್ ಹೆಚ್ಚುತ್ತವೆ. ಸ್ವೀಕರಿಸುವ ಬದಿಯು nonce ಮತ್ತು ದೃಢೀಕರಣ ಟ್ಯಾಗ್ ಪರಿಶೀಲಿಸಿ, ವಿಫಲವಾದ ಅಥವಾ ಮರುಚಲನೆಯಾದ ಎಲ್ಲವನ್ನೂ ಬಿಟ್ಟುಹಾಕುತ್ತದೆ. ಇದು ಸಾಮಾನ್ಯ ಹಾರ್ಡ್ವೆರ್ನಲ್ಲಿ ರೇಖಾ ವೇಗದಲ್ಲಿ ಚಲಿಸಲು ಸಾಕಷ್ಟು ಅಗ್ಗ, ಮತ್ತು ಅದೇ ರಚನೆ ಒಂದೇ ಹಾದಿಯಲ್ಲಿ ಗೋಪ್ಯತೆ ಮತ್ತು ಸಮಗ್ರತೆಯನ್ನು ನೀಡುತ್ತದೆ.
ರಚನೆಯೇ ಹೆಚ್ಚಿನ ಅನುಷ್ಠಾನ ದೋಷಗಳು ವಾಸಿಸುವ ಸ್ಥಳ. GCM ನಲ್ಲಿ ಮರುಚಲಿತ nonce ಗೋಪ್ಯತೆ ಮತ್ತು ಪ್ರಾಮಾಣಿಕತೆಯನ್ನು ಒಟ್ಟಿಗೆ ಮುರಿಯುತ್ತದೆ, ಆದ್ದರಿಂದ ಪ್ರೊಟೊಕಾಲ್ಗಳು ಪ್ರತಿ ದಿಕ್ಕಿಗೂ ಕೀಗಳನ್ನು ಪಡೆದು ಸ್ಪಷ್ಟ ಕೆೌಂಟರ್ ಅಥವಾ ಯುಗವನ್ನು ಇಟ್ಟುಕೊಳ್ಳುತ್ತವೆ. ನೀವು ಪ್ಯಾಕೆಟ್ ಸೆರೆಹಿಡಿಯುವಿಕೆಯನ್ನು ಓದುತ್ತಿದ್ದು, ಗೂಢಲಿಪಿತ ಪಠ್ಯದ ಉದ್ದವು ಸ್ಪಷ್ಟ ಪಠ್ಯಕ್ಕೆ ಸ್ಥಿರ ಓವರ್ಹೆಡ್ ಸೇರಿಸಿದುಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ, ಕೆಲಸ ಮಾಡುತ್ತಿರುವುದು ಸಮ್ಮಿತೀಯ ಪದರ, ಪ್ರತಿ ಪ್ಯಾಕೆಟ್ಗೂ ಸಾರ್ವಜನಿಕ-ಕೀ ಕಾರ್ಯಾಚರಣೆಯಲ್ಲ.
ಆಯುಷ್ಯ, ಕೀ ಮರುಹೊಂದಿಕೆ ಮತ್ತು ಮುಂದಕ್ಕಿನ ಗೋಪ್ಯತೆ
ಸೆಷನ್ ಕೀಗಳು ಮುಗಿಯಲು ಉದ್ದೇಶಿಸಲಾಗಿವೆ. TLS 1.3 KeyUpdate ಸಂದೇಶಕ್ಕೆ ಸಂಚಾರ ಕೀಗಳನ್ನು ತಿರುಗಿಸಲು ಅನುಮತಿಸುತ್ತದೆ; WireGuard ಸಂರಚಿತ ಸಮಯ ಅಥವಾ ಸಂದೇಶ ಸಂಖ್ಯೆಯ ನಂತರ ಸೆಷನ್ ನವೀಕರಿಸಿ, ದಾರಿಯಲ್ಲಿರುವ ಪ್ಯಾಕೆಟ್ಗಳಿಗೆ ಹಳೆಯದನ್ನು ಸ್ವಲ್ಪ ಕಾಲ ಇಟ್ಟುಕೊಳ್ಳುತ್ತದೆ. OpenVPN ತನ್ನ ಡೇಟಾ ಚ್ಯಾನೆಲ್ ಕೀಗಳನ್ನು ವೇಳಾಪಟ್ಟಿಯಂತೆ ಮರುಮಾತುಕತೆ ನಡೆಸುತ್ತದೆ, reneg-sec ಅಂತರವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
ಆ ತಿರುಗುವಿಕೆಗಳಲ್ಲಿ ಯಾವುದೂ ಪ್ರಮಾಣಪತ್ರ ನವೀಕರಣದಂತೆ ಇಲ್ಲ. ಪ್ರಮಾಣಪತ್ರವು ಒಂದು ವಷರ್ಗೂ ಮಾನ್ಯವಾಗಿರಬಹುದು, ಆಗ ಸೆಷನ್ ಕೀಗಳು ಪ್ರತಿ ಕೆಲವು ನಿಮಿಷಗಳಿಗೆ ಒಂದು ಬದಲಾಗುತ್ತವೆ, ಮತ್ತು ಚಲಿಸುತ್ತಿರುವ ಸುರಂಗದ ಕೀಗಳನ್ನು ಮುಟ್ಟದೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬದಲಾಯಿಸಬಹುದು. ಅವಧಿ ಮುಗಿಯುವುದನ್ನು ಯೋಜಿಸುವಾಗ, ಯಾವ ವಸ್ತುವನ್ನು ತಿರುಗುತ್ತಿದ್ದೀರಿ ಎಂದು ಕೇಳಿ; ಉತ್ತರ ಕ್ಲೈಂಟ್ಗಳು ಮತ್ತೆ ಸಂಪರ್ಕಿಸುತ್ತವೆಯಾ ಅಥವಾ ಕೇವಲ ಕೀಗಳನ್ನು ನವೀಕರಿಸುತ್ತವೆಯಾ ಎಂದು ನಿರ್ಧಾರಿಸುತ್ತದೆ.
ವಸ್ತುಗಳನ್ನು ಬೆರೆಸದೆ ಕಾನ್ಫಿಗ್ ಮತ್ತು ರೋಗನಿರ್ಣಯ ಓದುವುದು
ಪ್ರಾಯೋಗಿಕವಾಗಿ ನೀವು ಪೂರ್ಣ ಪ್ರೊಟೊಕಾಲ್ ಮತ್ತು ಅದರ ಬೆಂಬಲಿತ ಪ್ರಿಮಿಟಿವ್ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೀರಿ, ನಿಮ್ಮದನ್ನೇ ಜೋಡಿಸುವುದಿಲ್ಲ. OpenVPN ನ --tls-crypt ಕೀ ನಿಯಂತ್ರಣ ಚ್ಯಾನೆಲ್ ಅನ್ನು ರಕ್ಷಿಸುತ್ತದೆ; ಡೇಟಾ ಚ್ಯಾನೆಲ್ ಮಾತುಕತೆ ಮಾಡಿದ ಸಮ್ಮಿತೀಯ ಸೈಫರ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ. WireGuard ನ PrivateKey ಮತ್ತು PublicKey ನಮೂದುಗಳು ಗುರುತಿನ ಸಾಮಗ್ರಿ, ಆದರೆ ಅದರ ಸಾಗಣೆ ಕೀಗಳು ಒಳಗಿಂದ ಪಡೆಯಲ್ಪಟ್ಟುತ್ತವೆ. ಆ ಕ್ಷೇತ್ರಗಳನ್ನು ಒಂದೇ ರೀತಿಯ ರಹಸ್ಯವೆಂದು ಓದುವುದು ಸಾರ್ವಜನಿಕ ಕೀಯನ್ನು ಖಾಸಗೀ ಕೀ ಇರಬೇಕಾದ ಸ್ಥಳದಲ್ಲಿ ಅಂಟಿಸುವಂಥಹ ತಪ್ಪುಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ.
ಸಾರ್ವಜನಿಕ ಸಾಮಗ್ರಿಯನ್ನು ಖಾಸಗಿಯಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಇಟ್ಟುಕೊಳ್ಳಿ. ಪ್ರಮಾಣಪತ್ರ, WireGuard ಸಾರ್ವಜನಿಕ ಕೀ ಮತ್ತು ಬೆರಳ್ಚ್ಚು ಟಿಕೆಟ್ನಲ್ಲಿ ಹಂಚುಕೊಳ್ಳಲು ಸುರಕ್ಷಿತ. ಖಾಸಗೀ ಕೀ, ಮುನ್ನೂಟದ ಕೀ ಮತ್ತು ರಪ್ತು ಮಾಡಿದ ಸೆಷನ್ ಕೀ ಹಾಗೆ ಇಲ್ಲ. ಶಕ್ತಿಯನ್ನು ಹೋಲಿಸುವಾಗ ಒಂದೇ ಪ್ರಕಾರದ ಒಳಗೆ ಹೋಲಿಸಿ: ದೀರ್ಘವೃತ್ತೀಯ ವಕ್ರರೇಖೆ ಗುರುತಿಸುವಿಕೆ, RSA ಮಾಡ್ಯುಲಸ್ ಗಾತ್ರ ಮತ್ತು AES ಕೀ ಗಾತ್ರ ಬೇರೆ ಬೇರೆ ಊಹೆಗಳ ಅಡಿಯಲ್ಲಿ ಬೇರೆ ಬೇರೆ ವಿಷಯಗಳನ್ನು ಅಳೆಯುತ್ತವೆ. TLS 1.3 ವಿಶೇಷಣೆ ನಿಮ್ಮ ಸುರಂಗ TLS ಅಲ್ಲದಿದ್ದರೂ, ಎರಡು ಪದರಗಳು ಹೇಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತವೆ ಎಂಬುದಕ್ಕೆ ಉಪಯುಕ್ತ ಉಲ್ಲೇಖ.