Sisteman erabiltzaileak erregistratzeko eta baimentzeko Rutoken teknologia erabiltzen esperientzia (1. zatia)

Arratsalde on Gai honi buruzko nire esperientzia partekatu nahi dut.

Rutoken hardware eta software irtenbideak dira autentifikazioaren, informazioaren segurtasunaren eta sinadura elektronikoaren alorrean. Funtsean, erabiltzaileak sisteman saioa hasteko erabiltzen dituen autentifikazio-datuak gorde ditzakeen flash drive bat da.

Adibide honetan, Rutoken EDS 2.0 erabiltzen da.

Rutoken honekin lan egiteko behar duzu instalatu kontrolatzailea Windows-en.

Windows-en, kontrolatzaile bakarra instalatzeak behar den guztia instalatuta dagoela ziurtatzen du, sistema eragileak zure Rutoken ikusi eta harekin lan egin dezan.

Rutoken-ekin hainbat modutan elkarreragin dezakezu. Aplikazioaren zerbitzaritik edo zuzenean bezeroaren aldetik sar zaitezke. Adibide honek Rutoken-ekin elkarrekintza aztertuko du aplikazioaren bezeroaren aldetik.

Aplikazioaren bezeroaren zatiak rutokenarekin elkarreragin egiten du rutoken pluginaren bidez. Arakatzaile bakoitzean bereizita instalatzen den programa da. Windows-erako plugina deskargatu eta instalatu besterik ez duzu behar, esteka honetan kokatuta dago.

Hori da, orain Rutokenekin elkarreragin dezakegu aplikazioaren bezeroaren aldetik.

Adibide honek erronka-erantzun eskema erabiliz sisteman erabiltzaileen baimen-algoritmo bat ezartzeko ideia eztabaidatzen du.

Ideiaren funtsa honako hau da:

  1. Bezeroak baimen-eskaera bat bidaltzen dio zerbitzariari.
  2. Zerbitzariak bezeroaren eskaera bati ausazko kate bat bidaliz erantzuten dio.
  3. Bezeroak kate hau ausazko 32 bitekin betetzen du.
  4. Bezeroak jasotako katea sinatzen du bere ziurtagiriarekin.
  5. Bezeroak jasotako mezu enkriptatua zerbitzariari bidaltzen dio.
  6. Zerbitzariak sinadura egiaztatzen du zifratu gabeko jatorrizko mezua jasoz.
  7. Zerbitzariak zifratu gabeko jasotako mezutik azken 32 bitak kentzen ditu.
  8. Zerbitzariak jasotako emaitza baimena eskatzerakoan bidalitako mezuarekin konparatzen du.
  9. Mezuak berdinak badira, baimena arrakastatsutzat joko da.

Goiko algoritmoan ziurtagiri bat dago. Adibide honetarako, teoria kriptografiko batzuk ulertu behar dituzu. HabrΓ©-n dago gai honi buruzko artikulu bikaina.

Adibide honetan, zifratze-algoritmo asimetrikoak erabiliko ditugu. Algoritmo asimetrikoak ezartzeko, gako bikotea eta ziurtagiria izan behar dituzu.

Gako-bikoteak bi zati ditu: gako pribatua eta gako publikoa. Gako pribatuak, bere izenak dioen bezala, sekretua izan behar du. Informazioa deszifratzeko erabiltzen dugu. Gako publikoa edonori banatu daiteke. Gako hau datuak enkriptatzeko erabiltzen da. Horrela, edozein erabiltzailek datuak enkriptatu ditzake gako publikoa erabiliz, baina gako pribatuaren jabeak soilik deszifra dezake informazio hori.

Ziurtagiria ziurtagiriaren jabe den erabiltzaileari buruzko informazioa duen dokumentu elektronikoa da, baita gako publiko bat ere. Ziurtagiri baten bidez, erabiltzaileak edozein datu sinatu eta zerbitzariari bidal ditzake, honek sinadura egiaztatu eta datuak deszifra ditzake.

Mezu bat ziurtagiri batekin behar bezala sinatzeko, behar bezala sortu behar duzu. Horretarako, lehenik eta behin gako-pare bat sortzen da Rutoken-en, eta gero ziurtagiri bat gako-pare horren gako publikoarekin lotu behar da. Ziurtagiriak Rutoken-en dagoen gako publikoa izan behar du, hau garrantzitsua da. Aplikazioaren bezeroaren aldean gako-pare bat eta ziurtagiri bat besterik gabe sortzen baditugu, orduan nola deszifratu dezake zerbitzariak mezu enkriptatutako hau? Azken finean, ez daki ezer ez gako bikoteari edo ziurtagiriari buruz.

Gai honetan sakontzen baduzu, Interneten informazio interesgarria aurki dezakezu. Jakina fidatzen ditugun ziurtapen-agintari batzuk daude. Ziurtagiri-agintari hauek erabiltzaileei ziurtagiriak eman ditzakete; ziurtagiri horiek beren zerbitzarian instalatzen dituzte. Horren ondoren, bezeroak zerbitzari honetara sartzen direnean, ziurtagiri hau bera ikusten du eta ziurtapen-agintari batek igorri duela ikusten du, hau da, zerbitzari hau fidagarria izan daiteke. Interneten ere informazio ugari dago dena behar bezala konfiguratzeari buruz. Adibidez, honekin has zaitezke.

Gure arazora itzultzen bagara, irtenbidea begi-bistakoa dirudi. Nolabait zure ziurtagiri-zentroa sortu behar duzu. Baina aurretik, jakin behar duzu ziurtagiri-zentroak zer oinarritan eman behar dion ziurtagiria erabiltzaileari, ez baitaki horri buruz ezer. (Adibidez, bere izena, abizena, etab.) Badago ziurtagiri eskaera deritzon gauza bat. Estandar honi buruzko informazio gehiago aurki daiteke, adibidez, Wikipedian ru.wikipedia.org/wiki/PKCS
1.7 bertsioa erabiliko dugu - PKCS#10.

Deskriba dezagun Rutoken-en ziurtagiri bat sortzeko algoritmoa (jatorrizko iturria: dokumentazioa):

  1. Bezeroan gako-pare bat sortzen dugu eta Rutoken-en gordetzen dugu. (gordetzea automatikoki gertatzen da)
  2. Bezeroari ziurtagiri eskaera bat sortzen diogu.
  3. Bezerotik eskaera hau zerbitzariari bidaltzen diogu.
  4. Zerbitzarian ziurtagiri baten eskaera jasotzen dugunean, gure ziurtagiri-agintaritzaren ziurtagiria ematen dugu.
  5. Ziurtagiri hau bezeroari bidaltzen diogu.
  6. Rutoken ziurtagiria bezeroan gordetzen dugu.
  7. Ziurtagiria lehen urratsean sortu zen gako bikotearekin lotu behar da.

Orain argi geratzen da zerbitzariak nola deszifratu ahal izango duen bezeroaren sinadura, berak ziurtagiria eman baitio.

Hurrengo zatian, zure autoritate ziurtagiri-emailea openSSL erabateko kode irekiko kriptografiaren liburutegian oinarrituta nola konfiguratu aztertuko dugu.

Iturria: www.habr.com

Gehitu iruzkin berria