VPN ಕೀ ಫೈಲ್ನಲ್ಲಿ RSA ನ n, e, d, p ಮತ್ತು q ಎಲ್ಲಿವೆ
n, e, d, p ಮತ್ತು q ಒಂದೇ ರಚನೆಯ ಒಳಗಿವೆ, ಫೈಲ್ ಹೆಸರುಗಳಲ್ಲಿ ಅಲ್ಲ. OpenSSL ನಿಂದ RSA VPN ಕೀ ಓದಿ ಮತ್ತು ರಹಸ್ಯಗಳನ್ನು ಮುದ್ರಿಸದೆ ಅದನ್ನು ಅದರ ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ ಜೋಡಿಸಿ.
RSA ವಿವರಣೆಯಲ್ಲಿನ ಅಕ್ಷರಗಳು ಒಂದೇ ವಸ್ತುವಿನ ಒಳಗಿನ ಕ್ಷೇತ್ರಗಳನ್ನು ಹೆಸರಿಸುತ್ತವೆ, PKI ಉಪಕರಣ ನೀಡುವ ಫೈಲ್ಗಳನ್ನಲ್ಲ. ಖಾಸಗಿ ಕೀ ಫೈಲ್ ಒಂದು ರಚನೆಯನ್ನು ಹೊಂದಿದೆ; ಅದರ ಮೊದಲ ಕ್ಷೇತ್ರಗಳು ಸಾರ್ವಜನಿಕ, ಮತ್ತು ಕೊನೆಯ ಕ್ಷೇತ್ರಗಳು ಸುರಂಗವನ್ನು ಮುಗಿಸುವ ಯಂತ್ರದಿಂದ ಎಂದಿಗೂ ಹೊರಹೋಗಬಾರದು. ಈ ಎರಡು ಸಂಗತಿಗಳ ನಡುವೆ ಯಾವ ಫೈಲ್ ಯಾವ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುತ್ತದೆ ಎಂಬ ಬಹುತೇಕ ಪ್ರಾಯೋಗಿಕ ಪ್ರಶ್ನೆಗಳಿವೆ. ಈ ಕೈಪಿಡಿ ಮೊದಲು ರಚನೆಯನ್ನು ಓದುತ್ತದೆ, ನಂತರ ಅದನ್ನು ಸುರಿಯದೆ ಪರಿಶೀಲಿಸುವ ಆದೇಶಗಳನ್ನು.
ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳನ್ನು ಹುಡುಕುವ ಮೊದಲು ಕೀ RSA ಎಂದು ಖಚಿತಪಡಿಸಿ
ಪ್ರಮಾಣಪತ್ರವು ಯಾವುದೋ ಕೀ ಇದೆ ಮತ್ತು ಸಹಿ ಮಾಡಲಾಗಿದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ; ಕೀ RSA ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ. ವ್ಯವಸ್ಥೆಗಳನ್ನು ದೀರ್ಘವೃತ್ತೀಯ ವಕ್ರಗಳು ಅಥವಾ Ed25519 ಮೇಲೆ ನಿರ್ಮಿಸಬಹುದು, ಮತ್ತು ಅದೇ ಕೋಶ ವಿನ್ಯಾಸ ಎಲ್ಲರಿಗೂ ಸೇವೆ ಸಲ್ಲಿಸುತ್ತದೆ. ಎಂದಿಗೂ ಇಲ್ಲದ ಅವಿಭಾಜ್ಯ ಅಂಶಗಳನ್ನು ಹುಡುಕಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಅಲ್ಗಾರಿದಮ್ ಪರಿಶೀಲಿಸಿ.
ಈ ಮೂರು ಓದು-ಮಾತ್ರ ಆದೇಶಗಳು ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸಿ ಉಪಕರಣದ ಆವೃತ್ತಿಯನ್ನು ದಾಖಲಿಸುತ್ತವೆ.
openssl version
openssl x509 -in vpn-client.crt -noout -text
openssl pkey -in vpn-client.key -noout -text
ಆವೃತ್ತಿ ಮುಖ್ಯ, ಏಕೆಂದರೆ ಆಯ್ಕೆಗಳ ಹೆಸರುಗಳು ಪ್ರಮುಖ ಬಿಡುಗಡೆಗಳ ನಡುವೆ ಸರಿದಿವೆ. ಪ್ರಮಾಣಪತ್ರದ ಔಟ್ಪುಟ್ನಲ್ಲಿ ಸಾರ್ವಜನಿಕ ಕೀ ಅಲ್ಗಾರಿದಮ್ ಸಾಲು ಮತ್ತು ಕೀ ಗಾತ್ರವನ್ನು ಹುಡುಕಿ; ಕೀ ಔಟ್ಪುಟ್ನಲ್ಲಿ RSA ಕೀ ಮಾಡ್ಯುಲಸ್ ಮತ್ತು ಸಾರ್ವಜನಿಕ ಘಾತವನ್ನು ಮುದ್ರಿಸುತ್ತದೆ. ದೀರ್ಘವೃತ್ತೀಯ ವಕ್ರದ ಕೀ ಬದಲಿಗೆ ಹೆಸರಿಸಿದ ವಕ್ರವನ್ನು ಮುದ್ರಿಸುತ್ತದೆ, ಮತ್ತು ಯಾವುದೇ ಹುಡುಕಾಟ ಅದರಿಂದ n ಅಥವಾ q ನೀಡುವುದಿಲ್ಲ.
base64 ಬದಲು ರಚನೆಯನ್ನು ಓದಿ
PEM ಎಂಬುದು ಶೀರ್ಷಿಕೆ ಸಾಲುಗಳಲ್ಲಿ ಸುತ್ತಿದ base64, ಮತ್ತು ಅದನ್ನು ಡಿಕೋಡ್ ಮಾಡಿದರೆ DER ಸಿಗುತ್ತದೆ, ಅಂದರೆ ದೊಡ್ಡ ಪೂರ್ಣಾಂಕವಲ್ಲ, ಸರಣೀಕೃತ ರಚನೆ. RSA ಖಾಸಗಿ ಕೀಗಳು ಎರಡು ಸಾಮಾನ್ಯ ಕಂಟೇನರ್ಗಳಲ್ಲಿ ಪ್ರಯಾಣಿಸುತ್ತವೆ, PKCS#1 ಮತ್ತು PKCS#8, ಮತ್ತು ಎರಡೂ ಒಂದೇ ಸಂಖ್ಯೆಗಳ ಗುಂಪಿಗೆ ಬರುತ್ತವೆ.
ಎರಡು ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳ ಸಂದರ್ಭದಲ್ಲಿ ಖಾಸಗಿ ರಚನೆ ಒಂಬತ್ತು ಕ್ಷೇತ್ರಗಳನ್ನು ಹೊತ್ತಿದೆ: ಆವೃತ್ತಿ, ಮಾಡ್ಯುಲಸ್ n, ಸಾರ್ವಜನಿಕ ಘಾತ e, ಖಾಸಗಿ ಘಾತ d, ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳು p ಮತ್ತು q, ಎರಡು CRT ಘಾತಗಳು ಮತ್ತು ಒಂದು CRT ಗುಣಾಂಕ. RFC 8017 ವಿಭಾಗ A.1 ಆ ಘಟಕಗಳನ್ನು ಮತ್ತು ASN.1 ಜೋಡಣೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ, ಮತ್ತು ಎರಡಕ್ಕಿಂತ ಹೆಚ್ಚು ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಗಳನ್ನೂ ಅನುಮತಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಾಮಾನ್ಯ ಪಾರ್ಸರ್ ಹೆಚ್ಚುವರಿ ಅವಿಭಾಜ್ಯ ನಮೂದುಗಳನ್ನು ಮುದ್ರಿಸಬಹುದು. ಕ್ರಮಕ್ಕೆ ಗಮನ ಕೊಡಿ, ಏಕೆಂದರೆ ಅದು ಸಾಮಾನ್ಯ ತಪ್ಪನ್ನು ವಿವರಿಸುತ್ತದೆ: ಸಾರ್ವಜನಿಕ ಅರ್ಧ ಭಾಗ ಖಾಸಗಿ ಫೈಲ್ ಒಳಗೆ ಸಂಗ್ರಹವಾಗಿದೆ, ಆದ್ದರಿಂದ ಸಾರ್ವಜನಿಕ ಕ್ಷೇತ್ರವಿರುವುದು ಆ ಫೈಲ್ ಅನ್ನು ಹಂಚಲು ಸುರಕ್ಷಿತವಾಗಿಸುವುದಿಲ್ಲ. ಅದರ ನಂತರದ್ದೆಲ್ಲವೂ ಹೋಸ್ಟ್ನಲ್ಲಿ ಉಳಿಯಬೇಕಾದ ಸಾಮಗ್ರಿ.
ಎನ್ಕೋಡಿಂಗ್ ವಿಷಯದೊಂದಿಗೆ ಗೊಂದಲಿಸಲು ಸುಲಭವಾದ ಪದರವನ್ನು ಸೇರಿಸುತ್ತದೆ. openssl asn1parse ರಚನೆಯನ್ನು ಮರವಾಗಿ ಬಿಡಿಸಿ ಕ್ಷೇತ್ರಗಳ ಕ್ರಮ ಕಾಣುವಂತೆ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಅದು ಏನನ್ನೂ ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವುದಿಲ್ಲ ಮತ್ತು ಕೀ ಬಳಸಬಹುದೇ ಎಂದೂ ಹೇಳುವುದಿಲ್ಲ.
ಕೀ ಮುದ್ರಿಸದೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕೀಯೊಂದಿಗೆ ಜೋಡಿಸಿ
ಮುಂದಿನ ಪ್ರಶ್ನೆ ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಮಾಣಪತ್ರ ಮತ್ತು ಕೀ ಒಟ್ಟಿಗೆ ಸೇರಿದೆಯೇ ಎಂಬುದು. ಮಾಡ್ಯುಲಸ್ಗಳನ್ನು ಹೋಲಿಸುವುದು ಅದಕ್ಕೆ ಉತ್ತರಿಸುತ್ತದೆ, ಆದರೆ ಖಾಸಗಿಗೆ ಹತ್ತಿರದ ಸಾಮಗ್ರಿಯನ್ನು ಟರ್ಮಿನಲ್ ಪ್ರತಿಲಿಪಿಗೂ ನಕಲಿಸುತ್ತದೆ, ಅದು ಟಿಕೆಟ್ಗೆ ಸೇರಬಹುದು. ಸಾರ್ವಜನಿಕ ಅರ್ಧಗಳನ್ನು ಹೋಲಿಸುವುದು ಅದೇ ಪ್ರಶ್ನೆಗೆ ಪರದೆಯಲ್ಲಿ ಸೂಕ್ಷ್ಮವಾದದ್ದನ್ನು ಬಿಡದೆ ಉತ್ತರಿಸುತ್ತದೆ.
openssl pkey -in vpn-client.key -pubout -out /tmp/key.pub
openssl x509 -in vpn-client.crt -pubkey -noout > /tmp/cert.pub
cmp /tmp/key.pub /tmp/cert.pub && echo MATCH
ಒಂದೇ ರೀತಿಯ ಫೈಲ್ಗಳು ಎಂದರೆ ಪ್ರಮಾಣಪತ್ರವು ಆ ಕೀಯ ಸಾರ್ವಜನಿಕ ಅರ್ಧವನ್ನು ಹೊತ್ತಿದೆ, ಮತ್ತು ವ್ಯತ್ಯಾಸ ಎಂದರೆ ನೀವು ತಪ್ಪು ಜೋಡಿ ಹಿಡಿದಿದ್ದೀರಿ. ಆ ಅಸಾಮರಸ್ಯವೇ ಸಂತೋಷದಿಂದ ಮಾತುಕತೆ ನಡೆಸಿ ನಂತರ ದೃಢೀಕರಣವನ್ನು ನಿರಾಕರಿಸುವ ಸುರಂಗದ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ಕಾರಣ. ನಂತರ ಎರಡು ತಾತ್ಕಾಲಿಕ ಫೈಲ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ; ಅವುಗಳಲ್ಲಿ ರಹಸ್ಯವೇನೂ ಇಲ್ಲ, ಆದರೆ ಘಟನೆಯ ಮಧ್ಯದಲ್ಲಿ ಸ್ವಚ್ಛ ಕೆಲಸದ ಕೋಶದ ಬಗ್ಗೆ ಯೋಚಿಸುವುದು ಸುಲಭ.
ನೆರೆಯ ಫೈಲ್ಗಳು ಏನಲ್ಲ ಎಂದು ತಿಳಿಯಿರಿ
ಪ್ರಮಾಣಪತ್ರವು ಎದುರಾಳಿ CA ಪ್ರಮಾಣಪತ್ರದಿಂದ ತೆರೆಯುವ ಎನ್ಕ್ರಿಪ್ಟ್ ಆದ ಸಾರ್ವಜನಿಕ ಕೀ ಅಲ್ಲ; ಅದು ಸಾರ್ವಜನಿಕ ಕೀ ಮತ್ತು ಗುರುತಿನ ದತ್ತಾಂಶದ ನಡುವಿನ ಸಹಿ ಮಾಡಿದ ಬಂಧ. CA ಯ ಖಾಸಗಿ ಸಹಿ ಕೀ ಅದರ ಸ್ವಂತ ಪ್ರಮಾಣಪತ್ರದಿಂದ ಮತ್ತು ಪ್ರತಿ ಕ್ಲೈಂಟ್ ಕೀಯಿಂದ ಬೇರೆಯಾಗಿ ಉಳಿಯುತ್ತದೆ. ವಿನಂತಿಯೂ ಪ್ರಮಾಣಪತ್ರವಲ್ಲ: ಅದು ಕೋರಿದ ಮಾಹಿತಿ ಮತ್ತು ಸಾರ್ವಜನಿಕ ಕೀಯನ್ನು ವಿನಂತಿಯ ಮೇಲಿನ ಸಹಿಯೊಂದಿಗೆ ಹೊತ್ತಿದೆ, ಇದು ಅದನ್ನು ನೋಂದಣಿ ಇನ್ಪುಟ್ ಮಾಡುತ್ತದೆ, ಹಕ್ಕಿನ ಸಾಕ್ಷಿಯಲ್ಲ.
| File | Answers | Does not prove |
|---|---|---|
| vpn-client.key | Possession of the private key | That the identity is enrolled |
| vpn-client.crt | A signed binding of public key to identity | That the client holds the matching key |
| vpn-client.csr | The requested binding and public key | That access was granted |
| dh2048.pem | Group parameters for key exchange | Any RSA component |
| crl.pem | Revocation status for certificates | Anything about a private key |
ಆ ನಮೂದುಗಳಲ್ಲಿ ಎರಡನ್ನು RSA ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಸಾಕಷ್ಟು ಬಾರಿ ಗೊಂದಲಿಸುವುದರಿಂದ ಅವನ್ನು ಎರಡು ಬಾರಿ ಹೆಸರಿಸಬೇಕು. Diffie-Hellman ನಿಯತಾಂಕ ಫೈಲ್ ಕೀ ಸ್ಥಾಪನೆಗೆ ಗುಂಪು ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಒಂದೂ RSA ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಯನ್ನು ಹೊಂದಿಲ್ಲ, ಅದು ದೊಡ್ಡ ಅವಿಭಾಜ್ಯ ಸಂಖ್ಯೆಯಾಗಿಯೂ ಮುದ್ರಣವಾದರೂ. ರದ್ದತಿ ಪಟ್ಟಿ ಪ್ರಮಾಣಪತ್ರಗಳ ಸ್ಥಿತಿಯನ್ನು ಪ್ರಕಟಿಸುತ್ತದೆ ಮತ್ತು ಖಾಸಗಿ ಘಾತ ಅಡಗಿಕೊಳ್ಳಬಹುದಾದ ಸ್ಥಳವಲ್ಲ.
ಆದ್ದರಿಂದ ಪ್ರತಿ ದಾಸ್ತಾನು ಸಾಲು ನಾಲ್ಕು ವಿಷಯಗಳನ್ನು ದಾಖಲಿಸಬೇಕು: ವಸ್ತುವಿನ ಪ್ರಕಾರ, ಮಾಲೀಕ, ಉದ್ದೇಶ ಮತ್ತು ಖಾಸಗಿ ಸಾಮಗ್ರಿ ಸೇರಿದೆಯೇ. ಕೊನೆಯ ಕಾಲಮ್ ಫೈಲ್ ಎಲ್ಲಿಗೆ ನಕಲಿಸಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ಮತ್ತು ಜನರು ಬಿಟ್ಟುಬಿಡುವುದು ಅದನ್ನೇ.
ಜೋಡಣೆಯನ್ನು ದಾಖಲಿಸಿ, ನಂತರ ಹ್ಯಾಂಡ್ಶೇಕ್ ಪರಿಶೀಲಿಸಿ
ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ಪರಿಶೀಲನೆಯ ಔಟ್ಪುಟ್ ಅನ್ನು ದಿನಾಂಕ ಮತ್ತು OpenSSL ಆವೃತ್ತಿಯೊಂದಿಗೆ ಉಳಿಸಿ. ಆಗ ಮುಂದಿನ ತಿರುಗುವಿಕೆಯನ್ನು ನೆನಪಿನೊಂದಿಗಲ್ಲ, ಸಾಕ್ಷ್ಯದೊಂದಿಗೆ ಹೋಲಿಸಬಹುದು.
openssl verify -CAfile ca.crt vpn-client.crt
openssl x509 -in vpn-client.crt -noout -subject -issuer -dates
ಸಾರ್ವಜನಿಕ ಕೀ ಹೋಲಿಕೆಯ ನಂತರ ಜೋಡಿಯನ್ನು ಬಳಸುವ ಮಾರ್ಗವನ್ನು ಪ್ರಯತ್ನಿಸಿ: ಸುರಂಗವನ್ನು ಮೇಲೆತ್ತಿ, ಪ್ರಮಾಣಪತ್ರವು ಪ್ರಸ್ತುತಗೊಂಡು ಸ್ವೀಕರಿಸಲ್ಪಡುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ, ಮತ್ತು ಗೇಟ್ವೇ ಯಾವ ಗುರುತನ್ನು ದಾಖಲಿಸಿತು ಎಂದು ಪರಿಶೀಲಿಸಿ. ಕೀ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರ ಹೊಂದಿದರೂ ದೃಢೀಕರಣ ವಿಫಲವಾದರೆ, ದೋಷ ಜೋಡಿಯಲ್ಲ, ವಿಶ್ವಾಸ, ಗುರುತಿನ ಮ್ಯಾಪಿಂಗ್ ಅಥವಾ ಪ್ರವೇಶ ನೀತಿಯಲ್ಲಿ.
ಹಿಂತಿರುಗಿಸಲು ಹಿಂದಿನ ಕೀ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರವನ್ನು ದಿನಾಂಕವಿರುವ ಕೋಶದಲ್ಲಿ ಇರಿಸಿ ಮತ್ತು ಎರಡನ್ನೂ ಒಟ್ಟಿಗೆ ಮರುಸ್ಥಾಪಿಸಿ, ಎಂದಿಗೂ ಒಂದನ್ನು ಮಾತ್ರ ಅಲ್ಲ. ಪ್ರಮಾಣಪತ್ರವಿಲ್ಲದ ಕೀ ಮತ್ತು ಕೀಯಿಲ್ಲದ ಪ್ರಮಾಣಪತ್ರ ಹೊರಗಿನಿಂದ ಒಂದೇ ರೀತಿ ವಿಫಲವಾಗುತ್ತವೆ, ಇದು ಅರ್ಧ ಮರುಸ್ಥಾಪಿತ ಜೋಡಿಗಳನ್ನು ರಾತ್ರಿ ಎರಡು ಗಂಟೆಗೆ ಬಿಚ್ಚಲು ದುಬಾರಿಯಾಗಿಸುತ್ತದೆ.