TLS ಕೀ ಹಂಚಿಕೆ ಮತ್ತು ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರ: ಯಾವುದು ಲಾಗಿನ್ ಆಗುತ್ತದೆ?
ಕೀ ಒಪ್ಪಂದವನ್ನು ಕ್ಲೈಂಟ್ ದೃಢೀಕರಣ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಗುರುತಿನಿಂದ ಪ್ರತ್ಯೇಕಿಸಿ, ಸಂಪರ್ಕವು ವಾಸ್ತವವಾಗಿ ಯಾವುದನ್ನು ಬಳಸಿತು ಎಂಬುದನ್ನು ತೋರಿಸುವ ಹ್ಯಾಂಡ್ಶೇಕ್ ಸಂದೇಶಗಳನ್ನು ಓದಿ.
ಹ್ಯಾಂಡ್ಶೇಕ್ನಲ್ಲಿ ಸಾರ್ವಜನಿಕ ಕೀ-ವಿನಿಮಯ ಮೌಲ್ಯವನ್ನು ಒಯ್ಯುವುದು ಕ್ಲೈಂಟ್ ಲಾಗಿನ್ ಆಗುವುದೇ ಅಲ್ಲ. ಒಂದು ಸಂಪರ್ಕಕ್ಕೆ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸ್ಥಿತಿಯನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ; ಇನ್ನೊಂದು ಕ್ಲೈಂಟ್ ಯಾರು ಎಂದು ಹೇಳುತ್ತದೆ, ಮತ್ತು ಸರ್ವರ್ ಕೇಳಿದಾಗ ಮತ್ತು ವಿನಿಮಯ ಬೆಂಬಲಿಸಿದಾಗ ಮಾತ್ರ ಅದು ಸಂಭವಿಸುತ್ತದೆ. ಮೊದಲನೆಯದನ್ನು ಎರಡನೆಯದಾಗಿ ಪರಿಗಣಿಸುವುದು VPN ಏನನ್ನು ಮರೆಮಾಡುತ್ತದೆ ಮತ್ತು ಏನನ್ನು ಮರೆಮಾಡುವುದಿಲ್ಲ ಎಂಬುದರ ಬಗ್ಗೆ ತಪ್ಪು ತೀರ್ಮಾನಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಸಂದೇಶಗಳನ್ನು ಓದಿ, ನಂತರ ನಾಲ್ಕು ಗುಣಲಕ್ಷಣಗಳಲ್ಲಿ ಯಾವುದನ್ನು ನೀವು ನಿಜವಾಗಿ ಗಮನಿಸಿದ್ದೀರಿ ಎಂದು ನಿರ್ಧರಿಸಿ.
ಕ್ಯಾಪ್ಚರ್ನಲ್ಲಿ ಒಂದೇ ರೀತಿ ಕಾಣುವ ಎರಡು ವಸ್ತುಗಳು
TLS 1.3 ಕ್ಲೈಂಟ್ ಯಾವುದೇ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸದೆ ತನ್ನ ಮೊದಲ ಹಾರಾಟದಲ್ಲಿ ಕೀ-ವಿನಿಮಯ ಸಾಮಗ್ರಿಯನ್ನು ನೀಡಬಹುದು. ಆ ಕೊಡುಗೆ ವಿನ್ಯಾಸದಿಂದಲೇ ಸಾರ್ವಜನಿಕ, ಏಕೆಂದರೆ ಹಂಚಿದ ರಹಸ್ಯವನ್ನು ಪಡೆಯಲು ಸರ್ವರ್ಗೆ ಅದು ಬೇಕು. ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರ ಬೇರೆ ಸಂದೇಶ, ಸರ್ವರ್ ಒಂದನ್ನು ಕೇಳಿದ ನಂತರವೇ ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ಅದು ಸರ್ವರ್ ನಂತರ ಪರಿಶೀಲಿಸುವ ಗುರುತನ್ನು ಒಯ್ಯುತ್ತದೆ, ಮತ್ತು ಪರಸ್ಪರ ದೃಢೀಕರಣ ಸೈಫರ್ ಸೂಟ್ ಸೂಚಿಸುವ ಗುಣವಲ್ಲ, ಸರ್ವರ್ ತೆಗೆದುಕೊಳ್ಳುವ ನಿರ್ಧಾರ. ಅಪ್ಲಿಕೇಶನ್ ಗುರುತು ಸಂಪೂರ್ಣ ಮೂರನೆಯ ವಿಷಯ: ಲಾಗಿನ್ ಫಾರ್ಮ್, ಬೇರರ್ ಟೋಕನ್, ಕುಕಿ. ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಹ್ಯಾಂಡ್ಶೇಕ್ನಲ್ಲಿ ಕಾಣುವುದಿಲ್ಲ, ಮತ್ತು ಎಲ್ಲವೂ ನೆಟ್ವರ್ಕ್ ಮಾರ್ಗ ಬದಲಾದರೂ ಉಳಿಯುತ್ತವೆ.
| Object in play | What it establishes |
|---|---|
| Key-exchange share | Cryptographic state for this connection |
| Server certificate | Which server the client reached |
| Client certificate | Client authentication, when requested |
| Application session | Account identity inside the application |
ನಾಲ್ಕು ಸಾಲುಗಳು ಸ್ವತಂತ್ರ. ಸಂಪರ್ಕವು ಮೊದಲ ಮತ್ತು ಎರಡನೇ ಸಾಲು ಹೊಂದಿರಬಹುದು, ಮೂರನೆಯದನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು, ಮತ್ತು ಆದರೂ ನಾಲ್ಕನೆಯದನ್ನು ಕುಕಿ ಹೆಡರ್ನಲ್ಲಿ ಒಯ್ಯಬಹುದು.
ಸೆರೆಹಿಡಿದ ಹ್ಯಾಂಡ್ಶೇಕ್ ಏನನ್ನು ಸಾಬೀತುಪಡಿಸಬಹುದು ಎಂದು ನಿರ್ಧರಿಸಿ
ಹ್ಯಾಂಡ್ಶೇಕ್ನಿಂದಲೇ ವೀಕ್ಷಕನು ಸಮಾಲೋಚಿಸಿದ ಆವೃತ್ತಿ, ಸೈಫರ್ ಸೂಟ್, ಸರ್ವರ್ನ ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಸಾರ್ವಜನಿಕ ಕೀ-ವಿನಿಮಯ ಮೌಲ್ಯಗಳನ್ನು ತಿಳಿಯುತ್ತಾನೆ. ಕ್ಲೈಂಟ್ ಅನುಷ್ಠಾನದ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ತೆಗೆದುಕೊಳ್ಳಲು ಮತ್ತು ಯಾವ ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಿಸಲಾಯಿತು ಎಂಬುದನ್ನು ನೋಡಲು ಅದು ಸಾಕು. ಅದು ನೀಡದಿರುವುದು ಸಂಪರ್ಕವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬೇಕಾದ ಖಾಸಗಿ ಸ್ಥಿತಿ; ಅದರ ರಹಸ್ಯತೆ ಸಾರ್ವಜನಿಕ ಪಾಲಿನ ಮೇಲಲ್ಲ, ಕ್ಷಣಿಕ ವಿನಿಮಯದ ಮೇಲೆ ನಿಂತಿದೆ. ಅದು ಖಾತೆ ಗುರುತನ್ನೂ ನೀಡುವುದಿಲ್ಲ, ಅದು ಆರಂಭದಿಂದಲೂ ಹ್ಯಾಂಡ್ಶೇಕ್ನಲ್ಲಿ ಇರಲಿಲ್ಲ.
ಆದ್ದರಿಂದ ಪ್ರಾಮಾಣಿಕ ತೀರ್ಮಾನ ಸಂಕುಚಿತವಾಗಿದೆ: ಈ ವಿನಿಮಯದಲ್ಲಿ ಯಾವುದೇ ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಿಲ್ಲ. ಕ್ಲೈಂಟ್ ಜೋಡಿಸಬಹುದಾದ ಯಾವುದನ್ನೂ ಕಳುಹಿಸಲಿಲ್ಲ ಎಂಬುದಲ್ಲ, ಮತ್ತು ಸೆಷನ್ ಯಾವುದೇ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಒಯ್ಯಲಿಲ್ಲ ಎಂಬುದಂತೂ ಅಲ್ಲ.
ಸೈಫರ್ನ ಹೆಸರಲ್ಲ, ಸಂದೇಶಗಳನ್ನು ಓದಿ
ಸೈಫರ್ ಸೂಟ್ನಿಂದ ಊಹಿಸುವ ಬದಲು ಸರ್ವರ್ ಏನನ್ನು ಕೇಳುತ್ತದೆ ಎಂದು ಕೇಳಿ. ಪ್ರಮಾಣಪತ್ರ ವಿನಂತಿಯನ್ನು ಒಳಗೊಂಡ TLS 1.3 ಹ್ಯಾಂಡ್ಶೇಕ್ ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಕಾಣುತ್ತದೆ, ಮತ್ತು ಅದರ ಅನುಪಸ್ಥಿತಿಯೂ ಅಷ್ಟೇ ಕಾಣುತ್ತದೆ.
openssl s_client -connect app.example.net:443 -tls1_3 -msg < /dev/null 2>&1 | grep -i -E 'key_share|CertificateRequest'
ನಂತರ ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಸಂರಚಿಸಿ ಪುನರಾವರ್ತಿಸಿ ಮತ್ತು ಹೋಲಿಸಿ. ಎರಡನೇ ರನ್ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರ ಕಳುಹಿಸಲಾಗಿ ಸ್ವೀಕರಿಸಲಾಗುತ್ತದೆ ಎಂದು ಕಾಣಬೇಕು; ಮೊದಲನೆಯದರಲ್ಲಿ ಏನೂ ಕಾಣಬಾರದು, ಮತ್ತು ಅದೇ ಚರ್ಚೆಯ ನಿರ್ದಿಷ್ಟ ವ್ಯತ್ಯಾಸ.
openssl s_client -connect app.example.net:443 -tls1_3 -cert client.pem -key client.key -quiet
ನಿಮಗೆ ಸಾಮಾನ್ಯ ಬ್ರೌಸಿಂಗ್ ಪ್ರಕರಣ ಮಾತ್ರ ಬೇಕಾದರೆ, ಪ್ರೋಟೋಕಾಲ್ ಆವೃತ್ತಿ, ಪರಿಶೀಲನೆಯ ಫಲಿತಾಂಶ ಮತ್ತು ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡಲಾಗಿದೆಯೇ ಎಂಬುದನ್ನು ನೋಡಲು ಕ್ಲೈಂಟ್ನ ವಿವರವಾದ ಔಟ್ಪುಟ್ ಸಾಕು. ಎಂದಿಗೂ ಪ್ರಮಾಣಪತ್ರ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸದ ಸರ್ವರ್ ಒಂದನ್ನು ಪಡೆದಿರಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಮರುಪ್ರಾರಂಭ ಎಲ್ಲಿ ಉತ್ತರವನ್ನು ಬದಲಿಸುತ್ತದೆ
TLS 1.3 ಮರುಪ್ರಾರಂಭವು ರಹಸ್ಯ ಸ್ಥಿತಿಗೆ ಜೋಡಿಸಿದ ಟಿಕೆಟ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಮುಂದಿನ ಸಂಪರ್ಕವು ಪೂರ್ಣ ಪ್ರಮಾಣಪತ್ರ ವಿನಿಮಯವಿಲ್ಲದೆ ಪೂರ್ಣಗೊಳ್ಳಬಹುದು. ಅದು ವೀಕ್ಷಕನು ನೋಡುವುದನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಟ್ರಾನ್ಸ್ಕ್ರಿಪ್ಟ್ ಸಾಬೀತುಪಡಿಸುವುದನ್ನು ಬದಲಿಸುತ್ತದೆ. ಇರದಿದ್ದಲ್ಲಿ ಅದು ಗುರುತನ್ನು ಸೃಷ್ಟಿಸುವುದಿಲ್ಲ. ಮರುಪ್ರಾರಂಭಿಸಿದ ಸೆಷನ್ ಇನ್ನೂ ಅದೇ ಅಪ್ಲಿಕೇಶನ್ ಸೆಷನ್ಗೆ ಸೇರಿದೆ, ಮತ್ತು ಆ ಸೆಷನ್ನ ಯಾವುದೇ ಕುಕಿ ಅಥವಾ ಟೋಕನ್ ಮುಖ್ಯ ಗುರುತಿಸುವಿಕೆಯಾಗಿ ಉಳಿಯುತ್ತದೆ.
ಅದಕ್ಕೇ "ಕ್ಲೈಂಟ್ ಪ್ರಮಾಣಪತ್ರವಿಲ್ಲ" ಎಂದು ನಿಲ್ಲುವ ಗೋಪ್ಯತಾ ಪರಿಶೀಲನೆ ಆಸಕ್ತಿದಾಯಕ ಭಾಗವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ. ಕೇಳಬೇಕಾದ ಪ್ರಶ್ನೆ ಯಾವ ಪಕ್ಷ ಸ್ಥಿರ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಹೊಂದಿದೆ ಎಂಬುದು, ಒಂದು ಹ್ಯಾಂಡ್ಶೇಕ್ನಿಂದ ಯಾವ ಸಂದೇಶ ಗೈರುಹಾಜರಿತ್ತು ಎಂಬುದಲ್ಲ.
ಒಂದು ತೀರ್ಪಲ್ಲ, ನಾಲ್ಕು ಗುಣಲಕ್ಷಣಗಳನ್ನು ದಾಖಲಿಸಿ
ಕೀ ಒಪ್ಪಂದ, ಸರ್ವರ್ ಪರಿಶೀಲನೆ, ಕ್ಲೈಂಟ್ ದೃಢೀಕರಣ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಗುರುತನ್ನು ಪ್ರತಿಯೊಂದರ ಸಾಕ್ಷ್ಯದೊಂದಿಗೆ ನಾಲ್ಕು ಪ್ರತ್ಯೇಕ ಸಾಲುಗಳಾಗಿ ಬರೆಯಿರಿ. ಈ ಪಟ್ಟಿ ಪ್ರೋಟೋಕಾಲ್ ಆವೃತ್ತಿ ಬದಲಾದರೂ ಉಳಿಯುತ್ತದೆ, ಮತ್ತು ಗೋಪ್ಯತೆಯ ಬಗ್ಗೆ ವಾದವನ್ನು ಇನ್ನೊಬ್ಬರು ಪರಿಶೀಲಿಸಬಲ್ಲದಾಗಿಸುತ್ತದೆ. ನಂತರ ನೆಟ್ವರ್ಕ್ ಮಾರ್ಗ ಏನನ್ನು ನೀಡುತ್ತದೆ ಎಂದು ಸೇರಿಸಿ. VPN ಸೇವೆ ನೋಡುವ ಮೂಲ ವಿಳಾಸವನ್ನು ಬದಲಿಸುತ್ತದೆ; ಅಪ್ಲಿಕೇಶನ್ ಈಗಾಗಲೇ ಹೊಂದಿರುವ ಲಾಗಿನ್, ಕುಕಿ ಅಥವಾ ಸಾಧನದ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ನು ತೆಗೆದುಹಾಕುವುದಿಲ್ಲ.
ಸಂಪರ್ಕದ ಸಮಾಲೋಚಿತ ಆವೃತ್ತಿ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ವಿನಂತಿಯ ಫಲಿತಾಂಶವನ್ನು ಒಟ್ಟಿಗೆ ದಾಖಲಿಸಿ, ಏಕೆಂದರೆ ಪರಿಶೀಲಕನಿಗೆ ತನ್ನದೇ ಸೆರೆಹಿಡಿಯುವಿಕೆ ಇಲ್ಲದೆ ನಿಮ್ಮ ತೀರ್ಮಾನವನ್ನು ಮರುಸೃಷ್ಟಿಸಲು ಅದೇ ಜೋಡಿ ಬೇಕು.