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

ಶುಭ ಅಪರಾಹ್ನ ಈ ವಿಷಯದೊಂದಿಗೆ ಮುಂದುವರಿಯೋಣಹಿಂದಿನ ಭಾಗವನ್ನು ಲಿಂಕ್‌ನಲ್ಲಿ ಕಾಣಬಹುದು).

ಇಂದು ನಾವು ಪ್ರಾಯೋಗಿಕ ಭಾಗಕ್ಕೆ ಹೋಗುತ್ತೇವೆ. ಪೂರ್ಣ ಪ್ರಮಾಣದ ಓಪನ್ ಸೋರ್ಸ್ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಲೈಬ್ರರಿ openSSL ಅನ್ನು ಆಧರಿಸಿ ನಮ್ಮ CA ಅನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸೋಣ. ಈ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ವಿಂಡೋಸ್ 7 ಬಳಸಿ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ.

OpenSSL ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ನಂತರ, ನಾವು ಕಮಾಂಡ್ ಲೈನ್ ಮೂಲಕ ವಿವಿಧ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು (ಕೀಗಳು ಮತ್ತು ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ರಚಿಸುವಂತಹ) ನಿರ್ವಹಿಸಬಹುದು.

ಕ್ರಿಯೆಗಳ ಅಲ್ಗಾರಿದಮ್ ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

  1. ಅನುಸ್ಥಾಪನಾ ವಿತರಣೆಯನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ openssl-1.1.1g.
    openSSL ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ಹೊಂದಿದೆ. ರುಟೊಕೆನ್‌ಗಾಗಿ ದಸ್ತಾವೇಜನ್ನು openSSL ಆವೃತ್ತಿ 1.1.0 ಅಥವಾ ಹೊಸದು ಅಗತ್ಯವಿದೆ ಎಂದು ಹೇಳಿದೆ. ನಾನು openssl-1.1.1g ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿದ್ದೇನೆ. ನೀವು ಅಧಿಕೃತ ಸೈಟ್‌ನಿಂದ openSSL ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು, ಆದರೆ ಸುಲಭವಾದ ಅನುಸ್ಥಾಪನೆಗೆ, ನೀವು ನೆಟ್‌ನಲ್ಲಿ ವಿಂಡೋಸ್‌ಗಾಗಿ ಅನುಸ್ಥಾಪನಾ ಫೈಲ್ ಅನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು. ನಾನು ನಿಮಗಾಗಿ ಇದನ್ನು ಮಾಡಿದ್ದೇನೆ: slproweb.com/products/Win32OpenSSL.html
    ಪುಟವನ್ನು ಕೆಳಗೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ ಮತ್ತು Win64 OpenSSL v1.1.1g EXE 63MB ಸ್ಥಾಪಕವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ.
  2. ಕಂಪ್ಯೂಟರ್‌ನಲ್ಲಿ openssl-1.1.1g ಅನ್ನು ಸ್ಥಾಪಿಸಿ.
    ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮಾರ್ಗದ ಪ್ರಕಾರ ಅನುಸ್ಥಾಪನೆಯನ್ನು ಕೈಗೊಳ್ಳಬೇಕು, ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಿ: ಪ್ರೋಗ್ರಾಂ ಫೈಲ್ಸ್ ಫೋಲ್ಡರ್ನಲ್ಲಿ ಸೂಚಿಸಲಾಗುತ್ತದೆ. ಪ್ರೋಗ್ರಾಂ ಅನ್ನು OpenSSL-Win64 ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾಗುವುದು.
  3. OpenSSL ಅನ್ನು ನಿಮಗೆ ಅಗತ್ಯವಿರುವ ರೀತಿಯಲ್ಲಿ ಹೊಂದಿಸಲು, openssl.cfg ಫೈಲ್ ಇದೆ. ಹಿಂದಿನ ಪ್ಯಾರಾಗ್ರಾಫ್‌ನಲ್ಲಿ ವಿವರಿಸಿದಂತೆ ನೀವು openSSL ಅನ್ನು ಸ್ಥಾಪಿಸಿದ್ದರೆ ಈ ಫೈಲ್ C:\Program Files\OpenSSL-Win64bin ಪಥದಲ್ಲಿ ಇದೆ. Openssl.cfg ಸಂಗ್ರಹವಾಗಿರುವ ಫೋಲ್ಡರ್‌ಗೆ ಹೋಗಿ ಮತ್ತು ಈ ಫೈಲ್ ಅನ್ನು ಬಳಸಿ ತೆರೆಯಿರಿ, ಉದಾಹರಣೆಗೆ, ನೋಟ್‌ಪ್ಯಾಡ್ ++.
  4. Openssl.cfg ಫೈಲ್‌ನ ವಿಷಯಗಳನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ಪ್ರಮಾಣೀಕರಣ ಪ್ರಾಧಿಕಾರವನ್ನು ಹೇಗಾದರೂ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುವುದು ಎಂದು ನೀವು ಬಹುಶಃ ಊಹಿಸಿದ್ದೀರಿ ಮತ್ತು ನೀವು ಸಂಪೂರ್ಣವಾಗಿ ಸರಿ. ಇದಕ್ಕೆ [ ca ] ಆಜ್ಞೆಯ ಗ್ರಾಹಕೀಕರಣದ ಅಗತ್ಯವಿದೆ. openssl.cfg ಫೈಲ್‌ನಲ್ಲಿ, ನಾವು ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಪಠ್ಯದ ಪ್ರಾರಂಭವನ್ನು ಹೀಗೆ ಕಾಣಬಹುದು: [ ca ].
  5. ಈಗ ನಾನು ಅದರ ವಿವರಣೆಯೊಂದಿಗೆ ಸೆಟ್ಟಿಂಗ್‌ನ ಉದಾಹರಣೆಯನ್ನು ನೀಡುತ್ತೇನೆ:
    [ ca ]
    default_ca	= CA_default		
    
     [ CA_default ]
    dir		= /Users/username/bin/openSSLca/demoCA		 
    certs		= $dir/certs		
    crl_dir		= $dir/crl		
    database	= $dir/index.txt	
    new_certs_dir	= $dir/newcerts	
    certificate	= $dir/ca.crt 	
    serial		= $dir/private/serial 		
    crlnumber	= $dir/crlnumber	
    					
    crl		= $dir/crl.pem 		
    private_key	= $dir/private/ca.key
    x509_extensions	= usr_cert
    

    ಈಗ ನಾವು ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಡೆಮೊಸಿಎ ಡೈರೆಕ್ಟರಿ ಮತ್ತು ಉಪ ಡೈರೆಕ್ಟರಿಗಳನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ. ಮತ್ತು ಅದನ್ನು ಈ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಡಿರ್‌ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಹಾದಿಯಲ್ಲಿ ಇರಿಸಿ (ನನ್ನ ಬಳಿ /ಬಳಕೆದಾರರು/ಬಳಕೆದಾರರ ಹೆಸರು/ಬಿನ್/ಓಪನ್‌ಎಸ್‌ಎಸ್‌ಎಲ್‌ಸಿಎ/ಡೆಮೊಸಿಎ).

    ಡಿರ್ ಅನ್ನು ಸರಿಯಾಗಿ ಉಚ್ಚರಿಸುವುದು ಬಹಳ ಮುಖ್ಯ - ಇದು ನಮ್ಮ ಪ್ರಮಾಣೀಕರಣ ಕೇಂದ್ರ ಇರುವ ಡೈರೆಕ್ಟರಿಗೆ ಮಾರ್ಗವಾಗಿದೆ. ಈ ಡೈರೆಕ್ಟರಿಯು / ಬಳಕೆದಾರರಲ್ಲಿ ಇರಬೇಕು (ಅಂದರೆ, ಕೆಲವು ಬಳಕೆದಾರರ ಖಾತೆಯಲ್ಲಿ). ನೀವು ಈ ಡೈರೆಕ್ಟರಿಯನ್ನು ಇರಿಸಿದರೆ, ಉದಾಹರಣೆಗೆ, C: ಪ್ರೋಗ್ರಾಂ ಫೈಲ್‌ಗಳಲ್ಲಿ, ಸಿಸ್ಟಮ್ openssl.cfg ಸೆಟ್ಟಿಂಗ್‌ಗಳೊಂದಿಗೆ ಫೈಲ್ ಅನ್ನು ನೋಡುವುದಿಲ್ಲ (ಕನಿಷ್ಠ ಅದು ನನಗೆ ಹಾಗೆ ಇತ್ತು).

    $dir - dir ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮಾರ್ಗವನ್ನು ಇಲ್ಲಿ ಬದಲಿಸಲಾಗಿದೆ.

    ಮತ್ತೊಂದು ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಖಾಲಿ index.txt ಫೈಲ್ ಅನ್ನು ರಚಿಸುವುದು, ಈ ಫೈಲ್ ಇಲ್ಲದೆ "openSSL ca ..." ಆಜ್ಞೆಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ.

    ನೀವು ಸರಣಿ ಫೈಲ್, ರೂಟ್ ಖಾಸಗಿ ಕೀ (ca.key), ರೂಟ್ ಪ್ರಮಾಣಪತ್ರ (ca.crt) ಅನ್ನು ಸಹ ಹೊಂದಿರಬೇಕು. ಈ ಫೈಲ್‌ಗಳನ್ನು ಪಡೆಯುವ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕೆಳಗೆ ವಿವರಿಸಲಾಗುವುದು.

  6. ರುಟೊಕನ್ ಒದಗಿಸಿದ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ನಾವು ಸಂಪರ್ಕಿಸುತ್ತೇವೆ.
    ಈ ಸಂಪರ್ಕವು openssl.cfg ಕಡತದಲ್ಲಿ ನಡೆಯುತ್ತದೆ.

    • ಎಲ್ಲಾ ಮೊದಲ, ನೀವು ಅಗತ್ಯ Rutoken ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇವು rtengine.dll, rtpkcs11ecp.dll ಫೈಲ್‌ಗಳಾಗಿವೆ.
      ಇದನ್ನು ಮಾಡಲು, Rutoken SDK ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ: www.rutoken.ru/developers/sdk.

      Rutoken ಅನ್ನು ಪ್ರಯತ್ನಿಸಲು ಬಯಸುವ ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ Rutoken SDK ಇದೆ. ವಿಭಿನ್ನ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ರುಟೊಕನ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಎರಡೂ ಪ್ರತ್ಯೇಕ ಉದಾಹರಣೆಗಳಿವೆ ಮತ್ತು ಕೆಲವು ಲೈಬ್ರರಿಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ. ನಮ್ಮ ಲೈಬ್ರರಿಗಳು rtengine.dll ಮತ್ತು rtpkcs11ecp.dll ಅನುಕ್ರಮವಾಗಿ Rutoken sdk ನಲ್ಲಿ ಈ ಸ್ಥಳದಲ್ಲಿವೆ:

      sdk/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
      sdk/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll

      ಬಹಳ ಮುಖ್ಯವಾದ ಅಂಶ. ಲೈಬ್ರರಿಗಳು rtengine.dll, rtpkcs11ecp.dll Rutoken ಗಾಗಿ ಸ್ಥಾಪಿಸಲಾದ ಡ್ರೈವರ್ ಇಲ್ಲದೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಅಲ್ಲದೆ ರುಟೊಕನ್ ಅನ್ನು ಕಂಪ್ಯೂಟರ್‌ಗೆ ಸಂಪರ್ಕಿಸಬೇಕು. (ರುಟೊಕನ್‌ಗಾಗಿ ನಿಮಗೆ ಬೇಕಾದ ಎಲ್ಲವನ್ನೂ ಸ್ಥಾಪಿಸಲು, ಲೇಖನದ ಹಿಂದಿನ ಭಾಗವನ್ನು ನೋಡಿ habr.com/en/post/506450)

    • rtengine.dll ಮತ್ತು rtpkcs11ecp.dll ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಕೆದಾರರ ಖಾತೆಯಲ್ಲಿ ಎಲ್ಲಿ ಬೇಕಾದರೂ ಇರಿಸಬಹುದು.
    • ನಾವು ಈ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಮಾರ್ಗಗಳನ್ನು openssl.cfg ನಲ್ಲಿ ಬರೆಯುತ್ತೇವೆ. ಇದನ್ನು ಮಾಡಲು, openssl.cfg ಫೈಲ್ ಅನ್ನು ತೆರೆಯಿರಿ, ಈ ಫೈಲ್‌ನ ಪ್ರಾರಂಭದಲ್ಲಿ ಸಾಲನ್ನು ಇರಿಸಿ:
      openssl_conf = openssl_def

      ಫೈಲ್ನ ಕೊನೆಯಲ್ಲಿ ನೀವು ಸೇರಿಸಬೇಕಾಗಿದೆ:

      [ openssl_def ]
      engines = engine_section
      [ engine_section ]
      rtengine = gost_section
      [ gost_section ]
      dynamic_path = /Users/username/bin/sdk-rutoken/openssl/rtengine/bin/windows-x86_64/lib/rtengine.dll
      MODULE_PATH = /Users/username/bin/sdk-rutoken/pkcs11/lib/windows-x86_64/rtpkcs11ecp.dll
      RAND_TOKEN = pkcs11:manufacturer=Aktiv%20Co.;model=Rutoken%20ECP
      default_algorithms = CIPHERS, DIGEST, PKEY, RAND
      

      dynamic_path - ನೀವು rtengine.dll ಲೈಬ್ರರಿಗೆ ನಿಮ್ಮ ಮಾರ್ಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು.
      MODULE_PATH - ನೀವು rtpkcs11ecp.dll ಲೈಬ್ರರಿಗೆ ನಿಮ್ಮ ಮಾರ್ಗವನ್ನು ಬರೆಯಬೇಕಾಗಿದೆ.

  7. ಪರಿಸರ ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ.

    openssl.cfg ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ಗೆ ಮಾರ್ಗವನ್ನು ಸೂಚಿಸುವ ಪರಿಸರ ವೇರಿಯಬಲ್ ಅನ್ನು ಸೇರಿಸಲು ಮರೆಯದಿರಿ. ನನ್ನ ಸಂದರ್ಭದಲ್ಲಿ, OPENSSL_CONF ವೇರಿಯೇಬಲ್ ಅನ್ನು C:Program FilesOpenSSL-Win64binopenssl.cfg ಮಾರ್ಗದೊಂದಿಗೆ ರಚಿಸಲಾಗಿದೆ.

    ಮಾರ್ಗ ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ, ನೀವು openssl.exe ಇರುವ ಫೋಲ್ಡರ್‌ಗೆ ಮಾರ್ಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು, ನನ್ನ ಸಂದರ್ಭದಲ್ಲಿ ಅದು: C: Program FilesOpenSSL-Win64bin.

  8. ಈಗ ನೀವು 5 ನೇ ಹಂತಕ್ಕೆ ಹಿಂತಿರುಗಬಹುದು ಮತ್ತು demoCA ಡೈರೆಕ್ಟರಿಗಾಗಿ ಕಾಣೆಯಾದ ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಬಹುದು.
    1. ಏನೂ ಕೆಲಸ ಮಾಡದ ಮೊದಲ ಪ್ರಮುಖ ಫೈಲ್ ಸೀರಿಯಲ್ ಆಗಿದೆ. ಇದು ವಿಸ್ತರಣೆಯಿಲ್ಲದ ಫೈಲ್ ಆಗಿದೆ, ಅದರ ಮೌಲ್ಯವು 01 ಆಗಿರಬೇಕು. ನೀವು ಈ ಫೈಲ್ ಅನ್ನು ನೀವೇ ರಚಿಸಬಹುದು ಮತ್ತು ಒಳಗೆ 01 ಅನ್ನು ಬರೆಯಬಹುದು. ನೀವು ಇದನ್ನು Rutoken SDK ಯಿಂದ sdk/openssl/rtengine/samples/tool/demoCA ಮಾರ್ಗದಲ್ಲಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು /.
      demoCA ಡೈರೆಕ್ಟರಿಯು ಸರಣಿ ಫೈಲ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ನಮಗೆ ಬೇಕಾದುದನ್ನು ನಿಖರವಾಗಿ ಹೊಂದಿದೆ.
    2. ರೂಟ್ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ರಚಿಸಿ.
      ಇದನ್ನು ಮಾಡಲು, ನಾವು openSSL ಲೈಬ್ರರಿ ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ, ಅದನ್ನು ನೇರವಾಗಿ ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಚಲಾಯಿಸಬೇಕು:

      openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out ca.key

    3. ನಾವು ಮೂಲ ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಚಿಸುತ್ತೇವೆ.
      ಇದನ್ನು ಮಾಡಲು, ಕೆಳಗಿನ openSSL ಲೈಬ್ರರಿ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ:

      openssl req -utf8 -x509 -key ca.key -out ca.crt

      ರೂಟ್ ಪ್ರಮಾಣಪತ್ರವನ್ನು ರಚಿಸಲು ಹಿಂದಿನ ಹಂತದಲ್ಲಿ ರಚಿಸಲಾದ ರೂಟ್ ಖಾಸಗಿ ಕೀಲಿಯು ಅಗತ್ಯವಿದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಆದ್ದರಿಂದ, ಕಮಾಂಡ್ ಲೈನ್ ಅನ್ನು ಅದೇ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಪ್ರಾರಂಭಿಸಬೇಕು.

    ಡೆಮೊಸಿಎ ಡೈರೆಕ್ಟರಿಯ ಸಂಪೂರ್ಣ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಾಗಿ ಎಲ್ಲವೂ ಈಗ ಎಲ್ಲಾ ಕಾಣೆಯಾದ ಫೈಲ್‌ಗಳನ್ನು ಹೊಂದಿದೆ. ಪಾಯಿಂಟ್ 5 ರಲ್ಲಿ ಸೂಚಿಸಲಾದ ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿ ರಚಿಸಿದ ಫೈಲ್ಗಳನ್ನು ಇರಿಸಿ.

ಎಲ್ಲಾ 8 ಅಂಕಗಳನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ ನಂತರ, ನಮ್ಮ ಪ್ರಮಾಣೀಕರಣ ಕೇಂದ್ರವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ನಾವು ಭಾವಿಸುತ್ತೇವೆ.

ಮುಂದಿನ ಭಾಗದಲ್ಲಿ, ವಿವರಿಸಿದ್ದನ್ನು ಸಾಧಿಸಲು ಪ್ರಮಾಣೀಕರಣ ಪ್ರಾಧಿಕಾರದೊಂದಿಗೆ ನಾವು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ ಎಂಬುದನ್ನು ನಾನು ವಿವರಿಸುತ್ತೇನೆ. ಲೇಖನದ ಹಿಂದಿನ ಭಾಗ.

ಮೂಲ: www.habr.com

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