ಸಿಸ್ಟಂನಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ನೋಂದಾಯಿಸಲು ಮತ್ತು ಅಧಿಕೃತಗೊಳಿಸಲು ರುಟೊಕನ್ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸುವ ಅನುಭವ (ಭಾಗ 1)

ಶುಭ ಅಪರಾಹ್ನ ಈ ವಿಷಯದ ಬಗ್ಗೆ ನನ್ನ ಅನುಭವವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನಾನು ಬಯಸುತ್ತೇನೆ.

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

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, Rutoken EDS 2.0 ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.

ಈ ರುಟೊಕನ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ನಿಮಗೆ ಅಗತ್ಯವಿದೆ ವಿಂಡೋಸ್ನಲ್ಲಿ ಚಾಲಕವನ್ನು ಸ್ಥಾಪಿಸಿ.

ವಿಂಡೋಸ್‌ಗಾಗಿ, ಕೇವಲ ಒಂದು ಡ್ರೈವರ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದರಿಂದ ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ ಇದರಿಂದ OS ನಿಮ್ಮ ರುಟೊಕನ್ ಅನ್ನು ನೋಡುತ್ತದೆ ಮತ್ತು ಅದರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ.

ನೀವು ರುಟೊಕನ್‌ನೊಂದಿಗೆ ವಿವಿಧ ರೀತಿಯಲ್ಲಿ ಸಂವಹನ ನಡೆಸಬಹುದು. ನೀವು ಅದನ್ನು ಅಪ್ಲಿಕೇಶನ್‌ನ ಸರ್ವರ್ ಬದಿಯಿಂದ ಅಥವಾ ನೇರವಾಗಿ ಕ್ಲೈಂಟ್ ಕಡೆಯಿಂದ ಪ್ರವೇಶಿಸಬಹುದು. ಈ ಉದಾಹರಣೆಯು ಅಪ್ಲಿಕೇಶನ್‌ನ ಕ್ಲೈಂಟ್ ಬದಿಯಿಂದ ರುಟೊಕೆನ್‌ನೊಂದಿಗೆ ಸಂವಹನವನ್ನು ನೋಡುತ್ತದೆ.

ಅಪ್ಲಿಕೇಶನ್‌ನ ಕ್ಲೈಂಟ್ ಭಾಗವು ರುಟೊಕನ್ ಪ್ಲಗಿನ್ ಮೂಲಕ ರುಟೊಕನ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುತ್ತದೆ. ಇದು ಪ್ರತಿ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಪ್ರತ್ಯೇಕವಾಗಿ ಸ್ಥಾಪಿಸಲಾದ ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ. ವಿಂಡೋಸ್‌ಗಾಗಿ ನೀವು ಪ್ಲಗಿನ್ ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಸ್ಥಾಪಿಸಬೇಕು, ಈ ಲಿಂಕ್‌ನಲ್ಲಿ ಇದೆ.

ಅಷ್ಟೆ, ಈಗ ನಾವು ಅಪ್ಲಿಕೇಶನ್‌ನ ಕ್ಲೈಂಟ್ ಕಡೆಯಿಂದ ರುಟೊಕನ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಬಹುದು.

ಈ ಉದಾಹರಣೆಯು ಸವಾಲು-ಪ್ರತಿಕ್ರಿಯೆ ಯೋಜನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಬಳಕೆದಾರ ದೃಢೀಕರಣ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಲ್ಪನೆಯನ್ನು ಚರ್ಚಿಸುತ್ತದೆ.

ಕಲ್ಪನೆಯ ಸಾರವು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

  1. ಕ್ಲೈಂಟ್ ಸರ್ವರ್ಗೆ ದೃಢೀಕರಣ ವಿನಂತಿಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ.
  2. ಯಾದೃಚ್ಛಿಕ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಕಳುಹಿಸುವ ಮೂಲಕ ಕ್ಲೈಂಟ್‌ನಿಂದ ವಿನಂತಿಗೆ ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತದೆ.
  3. ಕ್ಲೈಂಟ್ ಈ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಯಾದೃಚ್ಛಿಕ 32 ಬಿಟ್‌ಗಳೊಂದಿಗೆ ಪ್ಯಾಡ್ ಮಾಡುತ್ತದೆ.
  4. ಕ್ಲೈಂಟ್ ಸ್ವೀಕರಿಸಿದ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಅದರ ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ ಸಹಿ ಮಾಡುತ್ತಾರೆ.
  5. ಕ್ಲೈಂಟ್ ಸ್ವೀಕರಿಸಿದ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸಂದೇಶವನ್ನು ಸರ್ವರ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ.
  6. ಮೂಲ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡದ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುವ ಮೂಲಕ ಸರ್ವರ್ ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.
  7. ಸ್ವೀಕರಿಸಿದ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡದ ಸಂದೇಶದಿಂದ ಸರ್ವರ್ ಕೊನೆಯ 32 ಬಿಟ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ.
  8. ದೃಢೀಕರಣವನ್ನು ವಿನಂತಿಸಿದಾಗ ಕಳುಹಿಸಲಾದ ಸಂದೇಶದೊಂದಿಗೆ ಸ್ವೀಕರಿಸಿದ ಫಲಿತಾಂಶವನ್ನು ಸರ್ವರ್ ಹೋಲಿಸುತ್ತದೆ.
  9. ಸಂದೇಶಗಳು ಒಂದೇ ಆಗಿದ್ದರೆ, ನಂತರ ಅಧಿಕಾರವನ್ನು ಯಶಸ್ವಿ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.

ಮೇಲಿನ ಅಲ್ಗಾರಿದಮ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದಂತಹ ವಿಷಯವಿದೆ. ಈ ಉದಾಹರಣೆಗಾಗಿ, ನೀವು ಕೆಲವು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸಿದ್ಧಾಂತವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು. ಹಬ್ರೆಯಲ್ಲಿ ಇದೆ ಈ ವಿಷಯದ ಬಗ್ಗೆ ಉತ್ತಮ ಲೇಖನ.

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು ಅಸಮಪಾರ್ಶ್ವದ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ. ಅಸಮಪಾರ್ಶ್ವದ ಕ್ರಮಾವಳಿಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು, ನೀವು ಪ್ರಮುಖ ಜೋಡಿ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರವನ್ನು ಹೊಂದಿರಬೇಕು.

ಒಂದು ಪ್ರಮುಖ ಜೋಡಿಯು ಎರಡು ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ಖಾಸಗಿ ಕೀ ಮತ್ತು ಸಾರ್ವಜನಿಕ ಕೀ. ಖಾಸಗಿ ಕೀ, ಅದರ ಹೆಸರೇ ಸೂಚಿಸುವಂತೆ, ರಹಸ್ಯವಾಗಿರಬೇಕು. ಮಾಹಿತಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ನಾವು ಅದನ್ನು ಬಳಸುತ್ತೇವೆ. ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಯಾರಿಗಾದರೂ ಹಂಚಬಹುದು. ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಈ ಕೀಲಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಹೀಗಾಗಿ, ಯಾವುದೇ ಬಳಕೆದಾರರು ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು, ಆದರೆ ಖಾಸಗಿ ಕೀಲಿಯ ಮಾಲೀಕರು ಮಾತ್ರ ಈ ಮಾಹಿತಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು.

ಪ್ರಮಾಣಪತ್ರವು ಎಲೆಕ್ಟ್ರಾನಿಕ್ ಡಾಕ್ಯುಮೆಂಟ್ ಆಗಿದ್ದು ಅದು ಪ್ರಮಾಣಪತ್ರವನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಜೊತೆಗೆ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ, ಬಳಕೆದಾರರು ಯಾವುದೇ ಡೇಟಾವನ್ನು ಸಹಿ ಮಾಡಬಹುದು ಮತ್ತು ಅದನ್ನು ಸರ್ವರ್‌ಗೆ ಕಳುಹಿಸಬಹುದು, ಅದು ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸಬಹುದು ಮತ್ತು ಡೇಟಾವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಬಹುದು.

ಪ್ರಮಾಣಪತ್ರದೊಂದಿಗೆ ಸಂದೇಶವನ್ನು ಸರಿಯಾಗಿ ಸಹಿ ಮಾಡಲು, ನೀವು ಅದನ್ನು ಸರಿಯಾಗಿ ರಚಿಸಬೇಕಾಗಿದೆ. ಇದನ್ನು ಮಾಡಲು, ರುಟೊಕನ್‌ನಲ್ಲಿ ಮೊದಲು ಒಂದು ಪ್ರಮುಖ ಜೋಡಿಯನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರ ಈ ಕೀ ಜೋಡಿಯ ಸಾರ್ವಜನಿಕ ಕೀಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಲಿಂಕ್ ಮಾಡಬೇಕು. ಪ್ರಮಾಣಪತ್ರವು ರುಟೊಕನ್‌ನಲ್ಲಿರುವ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ನಿಖರವಾಗಿ ಹೊಂದಿರಬೇಕು, ಇದು ಮುಖ್ಯವಾಗಿದೆ. ಅಪ್ಲಿಕೇಶನ್‌ನ ಕ್ಲೈಂಟ್ ಬದಿಯಲ್ಲಿ ನಾವು ಕೀಲಿ ಜೋಡಿ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರವನ್ನು ತಕ್ಷಣವೇ ರಚಿಸಿದರೆ, ನಂತರ ಸರ್ವರ್ ಈ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸಂದೇಶವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವುದು ಹೇಗೆ? ಎಲ್ಲಾ ನಂತರ, ಕೀ ಜೋಡಿ ಅಥವಾ ಪ್ರಮಾಣಪತ್ರದ ಬಗ್ಗೆ ಅವನಿಗೆ ಏನೂ ತಿಳಿದಿಲ್ಲ.

ನೀವು ಈ ವಿಷಯದ ಬಗ್ಗೆ ಆಳವಾಗಿ ಧುಮುಕಿದರೆ, ನೀವು ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ಆಸಕ್ತಿದಾಯಕ ಮಾಹಿತಿಯನ್ನು ಕಾಣಬಹುದು. ನಾವು ನಿಸ್ಸಂಶಯವಾಗಿ ನಂಬುವ ಕೆಲವು ಪ್ರಮಾಣೀಕರಣ ಪ್ರಾಧಿಕಾರಗಳಿವೆ. ಈ ಪ್ರಮಾಣೀಕರಣ ಅಧಿಕಾರಿಗಳು ಬಳಕೆದಾರರಿಗೆ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ನೀಡಬಹುದು; ಅವರು ಈ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ತಮ್ಮ ಸರ್ವರ್‌ನಲ್ಲಿ ಸ್ಥಾಪಿಸುತ್ತಾರೆ. ಇದರ ನಂತರ, ಕ್ಲೈಂಟ್ ಈ ಸರ್ವರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿದಾಗ, ಅವನು ಈ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೋಡುತ್ತಾನೆ ಮತ್ತು ಅದನ್ನು ಪ್ರಮಾಣೀಕರಣ ಪ್ರಾಧಿಕಾರದಿಂದ ನೀಡಲಾಗಿದೆ ಎಂದು ನೋಡುತ್ತಾನೆ, ಅಂದರೆ ಈ ಸರ್ವರ್ ಅನ್ನು ನಂಬಬಹುದು. ಎಲ್ಲವನ್ನೂ ಸರಿಯಾಗಿ ಹೊಂದಿಸುವುದು ಹೇಗೆ ಎಂಬುದರ ಕುರಿತು ಅಂತರ್ಜಾಲದಲ್ಲಿ ಸಾಕಷ್ಟು ಮಾಹಿತಿ ಇದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಇದರೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಬಹುದು.

ನಾವು ನಮ್ಮ ಸಮಸ್ಯೆಗೆ ಹಿಂತಿರುಗಿದರೆ, ಪರಿಹಾರವು ಸ್ಪಷ್ಟವಾಗಿ ತೋರುತ್ತದೆ. ನೀವು ಹೇಗಾದರೂ ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಮಾಣೀಕರಣ ಕೇಂದ್ರವನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ. ಆದರೆ ಅದಕ್ಕೂ ಮೊದಲು, ಯಾವ ಆಧಾರದ ಮೇಲೆ ಪ್ರಮಾಣೀಕರಣ ಕೇಂದ್ರವು ಬಳಕೆದಾರರಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡಬೇಕು ಎಂಬುದನ್ನು ನೀವು ಲೆಕ್ಕಾಚಾರ ಮಾಡಬೇಕಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ಅವರು ಅದರ ಬಗ್ಗೆ ಏನೂ ತಿಳಿದಿಲ್ಲ. (ಉದಾಹರಣೆಗೆ, ಅವರ ಮೊದಲ ಹೆಸರು, ಕೊನೆಯ ಹೆಸರು, ಇತ್ಯಾದಿ) ಪ್ರಮಾಣಪತ್ರ ವಿನಂತಿ ಎಂದು ಕರೆಯಲ್ಪಡುವ ಒಂದು ವಿಷಯವಿದೆ. ಈ ಮಾನದಂಡದ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಯನ್ನು ಕಾಣಬಹುದು, ಉದಾಹರಣೆಗೆ, ವಿಕಿಪೀಡಿಯಾದಲ್ಲಿ ru.wikipedia.org/wiki/PKCS
ನಾವು ಆವೃತ್ತಿ 1.7 - PKCS#10 ಅನ್ನು ಬಳಸುತ್ತೇವೆ.

ರುಟೊಕೆನ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಚಿಸುವ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ನಾವು ವಿವರಿಸೋಣ (ಮೂಲ ಮೂಲ: ದಸ್ತಾವೇಜನ್ನು):

  1. ನಾವು ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಪ್ರಮುಖ ಜೋಡಿಯನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ರುಟೊಕನ್‌ನಲ್ಲಿ ಉಳಿಸುತ್ತೇವೆ. (ಉಳಿತಾಯವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಭವಿಸುತ್ತದೆ)
  2. ನಾವು ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರ ವಿನಂತಿಯನ್ನು ರಚಿಸುತ್ತೇವೆ.
  3. ಕ್ಲೈಂಟ್‌ನಿಂದ ನಾವು ಈ ವಿನಂತಿಯನ್ನು ಸರ್ವರ್‌ಗೆ ಕಳುಹಿಸುತ್ತೇವೆ.
  4. ನಾವು ಸರ್ವರ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರಕ್ಕಾಗಿ ವಿನಂತಿಯನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ, ನಾವು ನಮ್ಮ ಪ್ರಮಾಣೀಕರಣ ಪ್ರಾಧಿಕಾರದಿಂದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡುತ್ತೇವೆ.
  5. ನಾವು ಈ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಕ್ಲೈಂಟ್‌ಗೆ ಕಳುಹಿಸುತ್ತೇವೆ.
  6. ನಾವು ಕ್ಲೈಂಟ್ನಲ್ಲಿ ರುಟೊಕನ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಉಳಿಸುತ್ತೇವೆ.
  7. ಪ್ರಮಾಣಪತ್ರವು ಮೊದಲ ಹಂತದಲ್ಲಿ ರಚಿಸಲಾದ ಕೀ ಜೋಡಿಗೆ ಬದ್ಧವಾಗಿರಬೇಕು.

ಕ್ಲೈಂಟ್‌ನ ಸಹಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸರ್ವರ್ ಹೇಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ ಎಂಬುದು ಈಗ ಸ್ಪಷ್ಟವಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ಅದು ಅವನಿಗೆ ಪ್ರಮಾಣಪತ್ರವನ್ನು ನೀಡಿದೆ.

ಮುಂದಿನ ಭಾಗದಲ್ಲಿ, ಪೂರ್ಣ ಪ್ರಮಾಣದ ಓಪನ್-ಸೋರ್ಸ್ ಕ್ರಿಪ್ಟೋಗ್ರಫಿ ಲೈಬ್ರರಿ openSSL ಅನ್ನು ಆಧರಿಸಿ ನಿಮ್ಮ ಪ್ರಮಾಣಪತ್ರ ಅಧಿಕಾರವನ್ನು ಹೇಗೆ ಹೊಂದಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ನಾವು ಹತ್ತಿರದಿಂದ ನೋಡುತ್ತೇವೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ