OpenSSL ಈಗಾಗಲೇ ಸ್ಥಾಪಿತವಾಗಿದೆ, ಹೋಸ್ಟ್ಗೆ ಎಂಟ್ರೊಪಿ ಇದೆ, ಮತ್ತು ಅದರಿಂದ ಕೀಲಿ ರಚಿಸುವುದು ಸ್ಪಷ್ಟವಾದ ಸುತ್ತುದಾರಿ ಎನಿಸುತ್ತದೆ. ಔಟ್ಪುಟ್ ಯಾದೃಚ್ಛಿಕ ಮತ್ತು ರಹಸ್ಯ ಮತ್ತು ಸಂಪೂರ್ಣವಾಗಿ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿರುತ್ತದೆ, ಮತ್ತು ವೈಫಲ್ಯವು ಕೀ ಸ್ವರೂಪವನ್ನು ಉಲ್ಲೇಖಿಸುವ ಯಾವುದೋ ಬದಲು ನಿಯಂತ್ರಣ-ಚಾನೆಲ್ ದೋಷವಾಗಿ ಬರುತ್ತದೆ. ಈ ದಾರಿತಪ್ಪಿಸುವಿಕೆಯೇ ದುಬಾರಿ ಭಾಗ, ಏಕೆಂದರೆ ಅದು ಜನರನ್ನು ಅವರ ಸೈಫರ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಕಳುಹಿಸುತ್ತದೆ. VPN ಓದುವುದು ನಿರ್ದಿಷ್ಟ ಫೈಲ್ ರಚನೆಯನ್ನು, ಅನಿಯಂತ್ರಿತ ಬೈಟ್ ಬ್ಲಾಕ್ ಅಲ್ಲ, ಮತ್ತು ಈ ವೈಶಿಷ್ಟ್ಯದ ಒಂದು ಪ್ರಭೇದವನ್ನು ಸರ್ವರ್ನ ಹೊರಗೆ ಸಂಪೂರ್ಣವಾಗಿ ತಯಾರಿಸಲಾಗದು.

ಡಿಸ್ಕ್ನಲ್ಲಿರುವ ಫೈಲ್ ನಿಜವಾಗಿ ಏನಾಗಿರಬೇಕು

OpenVPN ನ ಸ್ಟ್ಯಾಟಿಕ್ ಕೀ ಫೈಲ್ ಪಠ್ಯವಾಗಿದೆ. ಅದು ಏನೆಂದು ಘೋಷಿಸುವ ಕಾಮೆಂಟ್ ಸಾಲಿನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಸ್ಥಿರ ಅಗಲದ ಸಾಲುಗಳಲ್ಲಿ ಹೆಕ್ಸ್ ಡೇಟಾವನ್ನು ಹೊತ್ತುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಒಟ್ಟು 256 ಬೈಟ್ ಕೀ ಸಾಮಗ್ರಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. OpenVPN ಅದನ್ನು ನಿಯಂತ್ರಣ ಚಾನೆಲ್ನ ಹಂಚಿದ ರಹಸ್ಯವಾಗಿ ಓದುತ್ತದೆ, ಪ್ರಮಾಣಪತ್ರವಾಗಿ ಅಲ್ಲ, ಪಾಸ್ಫ್ರೇಸ್ ಆಗಿ ಅಲ್ಲ ಮತ್ತು TLS ಗ್ರಂಥಾಲಯ ಗುರುತಿಸುವ ಯಾವುದೋ ಆಗಿ ಅಲ್ಲ.

ಅದೇ ರೀತಿಯ ವಸ್ತು ನಿಯಂತ್ರಣ ಚಾನೆಲ್ನ ಎರಡೂ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಸೇವೆ ಸಲ್ಲಿಸುತ್ತದೆ. tls-auth ಜೊತೆಗೆ, ಪ್ರತಿ ಪೀರ್ ಗೆ ದಿಕ್ಕೂ ಬೇಕು, ಇದರಿಂದ ಒಂದು ಬದಿಯ ಪ್ಯಾಕೆಟ್ಗಳು ಅದರ ಕಡೆಗೆ ಮರಳಿ ಪ್ರತಿಫಲಿಸಲಾಗದು. tls-crypt ಜೊತೆಗೆ, ಒಂದೇ ಹಂಚಿದ ರಹಸ್ಯ ಎರಡೂ ದಿಕ್ಕುಗಳಲ್ಲಿ ನಿಯಂತ್ರಣ ಚಾನೆಲ್ ಅನ್ನು ಎನ್ಕ್ರಿಪ್ಟ್ ಮತ್ತು ದೃಢೀಕರಿಸುತ್ತದೆ, ಇದು ಹ್ಯಾಂಡ್ಶೇಕ್ ಅನ್ನು ಮರೆಮಾಡುತ್ತದೆ ಮತ್ತು ಅದೇ ಸಮಯದಲ್ಲಿ ರಕ್ಷಿಸುತ್ತದೆ.

ಇವುಗಳಲ್ಲಿ ಯಾವುದೂ ರಹಸ್ಯ ಜ್ಞಾನವಲ್ಲ, ಮತ್ತು ಸ್ವರೂಪವೇ ಮುಖ್ಯ ಅಂಶವಲ್ಲ. ಮುಖ್ಯ ಅಂಶವೆಂದರೆ ಫೈಲ್ ಓದುಗರು ನಿರೀಕ್ಷಿಸುವುದಕ್ಕೆ ನಿಖರವಾಗಿ ಹೊಂದಬೇಕು: ಹೆಡರ್, ಸಾಲಿನ ಅಗಲ, ಕೊನೆಯ ಹೊಸ ಸಾಲು ಮತ್ತು ಒಟ್ಟು ಉದ್ದ. ಒಂದು ಸಾಲು ತಪ್ಪಿದ ಫೈಲ್ ಕಸದಂತೆ ಲೋಡ್ ಆಗುತ್ತದೆ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ವಿಫಲವಾಗುತ್ತದೆ. ಆದ್ದರಿಂದ ಎರಡು ಪೀರ್ಗಳನ್ನು ಬೈಟ್-ಬೈಟ್ ಹೋಲಿಸುವುದು ಕಾನೂನುಬದ್ಧ ಮೊದಲ ಪರೀಕ್ಷೆಯಾಗಿದೆ, ಮತ್ತು ಅದು ಎರಡು ಸಂರಚನಾ ಫೈಲ್ಗಳಲ್ಲಿ ಯಾವುದನ್ನಾದರೂ ಓದುವುದಕ್ಕಿಂತ ವೇಗವಾಗಿದೆ.

ಒಂದನ್ನು ರಚಿಸುವ ಬೆಂಬಲಿತ ವಿಧಾನ

ಸರಳ ಸ್ಟ್ಯಾಟಿಕ್ ಕೀಲಿಯನ್ನು ಅದನ್ನು ಬಳಸುವ ಸಾಧನದಿಂದ ರಚಿಸಿ, ನಂತರ ಎರಡೂ ತುದಿಗಳಿಂದ ಅದನ್ನು ಉಲ್ಲೇಖಿಸಿ:

openvpn --genkey secret /etc/openvpn/tc-shared.key
tls-crypt /etc/openvpn/tc-shared.key

ಆಯ್ಕೆಯ ಕಾಗುಣಿತ ಕಾಲಾನಂತರದಲ್ಲಿ ಬದಲಾಯಿತು: 2.4 ಯುಗದ ಹಳೆಯ ಸ್ಥಾಪನೆಗಳು ಫೈಲ್ ಹೆಸರಿನ ಮೊದಲು ಪ್ರತ್ಯೇಕ ಫ್ಲ್ಯಾಗ್ ಇರುವ ರೂಪವನ್ನು ಬಳಸುತ್ತಿದ್ದವು, ಆದರೆ ಪ್ರಸ್ತುತ ಬಿಲ್ಡ್ಗಳು ಚಿಕ್ಕದನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ. ಹೇಗಾದರೂ, ಫಲಿತಾಂಶದ ಫೈಲ್ ಅದೇ ರೀತಿಯ ವಸ್ತುವಾಗಿದೆ, ಆದ್ದರಿಂದ ಪರಿಶೀಲನೆ ಎಂದರೆ ಎರಡೂ ಪೀರ್ಗಳು ಒಂದೇ ರೀತಿಯ ಬೈಟ್ಗಳನ್ನು ಹೊಂದಿವೆಯೇ ಎಂಬುದು.

ಎರಡನೇ ಪೀಳಿಗೆ ಯಾವುದೇ ಬಾಹ್ಯ ಜನರೇಟರ್ ಕಂಡುಹಿಡಿಯಲಾಗದ ರಚನೆಯನ್ನು ಸೇರಿಸುತ್ತದೆ. ಸರ್ವರ್ ಕೀಲಿಯನ್ನು ಒಮ್ಮೆ ರಚಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಪ್ರತಿ ಕ್ಲೈಂಟ್ ಅದರಿಂದ ಪಡೆದ ಸುತ್ತಿದ ಕೀಲಿಯನ್ನು ಪಡೆಯುತ್ತದೆ:

openvpn --genkey tls-crypt-v2-server /etc/openvpn/tc-v2-server.key
openvpn --genkey tls-crypt-v2-client /etc/openvpn/laptop1.key --tls-crypt-v2 /etc/openvpn/tc-v2-server.key

ಕ್ಲೈಂಟ್ ಪಡೆಯುವುದು ಸರ್ವರ್ನ ಸ್ವಂತ ಕೀಲಿಯ ಪ್ರತಿಯಲ್ಲ. ಅದು ಸರ್ವರ್ ಮಾತ್ರ ತೆರೆಯಬಹುದಾದ ಮೆಟಾಡೇಟಾವನ್ನು ಹೊತ್ತ ಸುತ್ತಿದ ವಸ್ತು, ಮತ್ತು ಈ ಸುತ್ತುವಿಕೆಯಿಂದಲೇ ಸಾಧನದ ಫೈಲ್ ಅನ್ನು ಬೇರೆ ಯಾವುದೇ ಸಾಧನವನ್ನು ಸ್ಪರ್ಶಿಸದೆ ರದ್ದುಗೊಳಿಸಬಹುದು. ಸರ್ವರ್ ಕೀಲಿಯನ್ನು ಸರ್ವರ್ನಲ್ಲೇ ಇರಿಸಿ ಮತ್ತು ಅದನ್ನು ಆ ಸಾಧನ-ಆಧಾರಿತ ವಿಶ್ವಾಸದ ಮೂಲವೆಂದು ಪರಿಗಣಿಸಿ.

ಕೈಯಿಂದ ಮಾಡಿದ ಬೈಟ್ಗಳು ಎಲ್ಲಿ ಮುರಿಯುತ್ತವೆ

ಸರಿಯಾದ ಹೆಡರ್ ಅಡಿಯಲ್ಲಿ 256 ಯಾದೃಚ್ಛಿಕ ಬೈಟ್ಗಳನ್ನು ಹೆಕ್ಸ್ ಆಗಿ ಮುದ್ರಿಸುವುದು ಸೈದ್ಧಾಂತಿಕವಾಗಿ ಲೋಡ್ ಆಗುವ ಸ್ಟ್ಯಾಟಿಕ್ ಕೀ ಫೈಲ್ ನೀಡುತ್ತದೆ. ಅದು ಇನ್ನೂ ಕೆಟ್ಟ ಕಲ್ಪನೆ. ಪ್ರತಿ ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ವಿವರವೂ ಲೋಡ್ ಸಮಯದಲ್ಲಿ ವಿಫಲವಾಗುವ ಅಥವಾ, ಕೆಟ್ಟದಾಗಿ, ದೃಢೀಕರಣ ವೈಫಲ್ಯವಾಗಿ ಮಾತ್ರ ಕಾಣುವ ವಿಭಿನ್ನ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಎರಡು ಪೀರ್ಗಳನ್ನು ಬಿಡುವ ಸಾಮಗ್ರಿಯನ್ನು ತಯಾರಿಸುವ ಅವಕಾಶವಾಗುತ್ತದೆ.

v2 ಪ್ರಭೇದದೊಂದಿಗೆ ಸಮಾನವಾದ ಯಾವುದೂ ಸಾಧ್ಯವಿಲ್ಲ. ಸುತ್ತಿದ ಕ್ಲೈಂಟ್ ಕೀಲಿ ಸರ್ವರ್ ಕೀ ಪ್ರಕ್ರಿಯೆಯ ಔಟ್ಪುಟ್ ಆಗಿ ಮಾತ್ರ ಇರುತ್ತದೆ, ಮತ್ತು ಸರ್ವರ್ ಅದನ್ನು ತೆರೆಯಲು ಬೇಕಾದ ಸಾಮಗ್ರಿಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಯಾದೃಚ್ಛಿಕ ಬ್ಲಾಕ್ ತಿರಸ್ಕರಿಸಲ್ಪಡುತ್ತದೆ ಅಥವಾ ಸರಳವಾಗಿ ಡೀಕ್ರಿಪ್ಟ್ ಆಗದಿರಬಹುದು, ಮತ್ತು ಎರಡೂ ಸಂದೇಶಗಳಲ್ಲಿ ಯಾವುದೂ ಯಾದೃಚ್ಛಿಕತೆಯನ್ನು ಉಲ್ಲೇಖಿಸುವುದಿಲ್ಲ.

ಆವೃತ್ತಿ ಹೊಂದಾಣಿಕೆ ಇವೆಲ್ಲದರ ಮೇಲಿದೆ. ಮೊದಲ ಪೀಳಿಗೆಗೆ ಎರಡೂ ತುದಿಗಳಲ್ಲಿ ಅದನ್ನು ಬೆಂಬಲಿಸುವ ಬಿಡುಗಡೆ ಬೇಕು, ಮತ್ತು ಎರಡನೆಯದಕ್ಕೆ ಮತ್ತೆ ಹೊಸ ಬಿಡುಗಡೆ ಬೇಕು. ವೈಶಿಷ್ಟ್ಯ ಅಸ್ತಿತ್ವಕ್ಕೆ ಬರುವ ಮೊದಲು ನಿರ್ಮಿಸಲಾದ ಕ್ಲೈಂಟ್ ಸುತ್ತಿದ ಸಾಮಗ್ರಿಯನ್ನು ಮಾತ್ರ ಸ್ವೀಕರಿಸುವ ಸರ್ವರ್ನೊಂದಿಗೆ ಹ್ಯಾಂಡ್ಶೇಕ್ ಪೂರ್ಣಗೊಳಿಸಲಾರದು, ಮತ್ತು ಅದು ವರದಿ ಮಾಡುವ ವೈಫಲ್ಯ ಆವೃತ್ತಿಯ ಬದಲು ನಿಯಂತ್ರಣ ಚಾನೆಲ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ.

ಎಲ್ಲರನ್ನೂ ಹೊರಗೆ ಬೀಗ ಹಾಕದೆ ತಿರುಗಿಸುವುದು

ಒಂದು ಹಂಚಿದ ರಹಸ್ಯವನ್ನು ತಿರುಗಿಸುವುದು ಸಮನ್ವಯದ ಅಭ್ಯಾಸ, ತಾಂತ್ರಿಕವಲ್ಲ. ಸರ್ವರ್ ಹಿಂದಿನದನ್ನು ಹಿಂಪಡೆಯುವ ಮೊದಲು ಪ್ರತಿ ಕ್ಲೈಂಟ್ ಕೈಯಲ್ಲಿ ಬದಲಿ ಫೈಲ್ ಇರಬೇಕು, ಮತ್ತು ಹಳೆಯ ಮೌಲ್ಯವನ್ನು ಇನ್ನೂ ಹೊಂದಿರುವ ಯಾವುದೇ ಯಂತ್ರ ಆ ಕ್ಷಣದಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ. ಕೆಲಸದ ದಿನದ ಮಧ್ಯದಲ್ಲಿ ಆ ತಿರುಗುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬೇಡಿ.

v2 ವ್ಯವಸ್ಥೆಯೊಂದಿಗೆ, ತಿರುಗುವಿಕೆ ಪ್ರತಿ ಸಾಧನಕ್ಕೆ: ಒಂದು ಯಂತ್ರಕ್ಕೆ ಹೊಸ ಸುತ್ತಿದ ಕೀಲಿಯನ್ನು ನೀಡಿ ಮತ್ತು ಹಳೆಯದನ್ನು ಆ ಯಂತ್ರಕ್ಕೆ ಮಾತ್ರ ನಿವೃತ್ತಿಗೊಳಿಸಿ. ಪ್ರತಿ ಕ್ಲೈಂಟ್ ಅದನ್ನು ಬೆಂಬಲಿಸುವ ಬಿಡುಗಡೆಯಲ್ಲಿದ್ದಾಗ ಸ್ಥಳಾಂತರಕ್ಕೆ ಮುಖ್ಯ ವಾದ ಇದೇ.

ಫೈಲ್ ಅನುಮತಿಗಳು ಅದೇ ಸಂಭಾಷಣೆಗೆ ಸೇರಿವೆ. ಕೀಲಿ ಸೇವೆಯನ್ನು ನಡೆಸುವ ಖಾತೆಗೆ ಮಾತ್ರ ಓದಬಹುದಾಗಿರಬೇಕು, ಮತ್ತು ಅದು ರಕ್ಷಿಸುವ ಪ್ರೊಫೈಲ್ಗಳೊಂದಿಗೆ ಅದೇ ಸಂಗ್ರಹದಲ್ಲಿ ಇರಬಾರದು. OpenVPN 2.6 ಉಲ್ಲೇಖ ರಚನಾ ರೂಪಗಳು ಮತ್ತು ಕೀ-ಸಾಮಗ್ರಿ ವಿಭಾಗಗಳನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಇದು ಫೋರಂ ಪೋಸ್ಟ್ನಿಂದ ನಕಲಿಸಿದ ಆದೇಶಕ್ಕಿಂತ ಉತ್ತಮ ಮೂಲವಾಗಿದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು