Esperjenza fl-użu tat-teknoloġija Rutoken għar-reġistrazzjoni u l-awtorizzazzjoni tal-utenti fis-sistema (parti 1)

Il-waranofsinhar it-tajjeb Irrid naqsam l-esperjenza tiegħi dwar dan is-suġġett.

Rutoken huwa soluzzjonijiet ta 'ħardwer u softwer fil-qasam tal-awtentikazzjoni, is-sigurtà tal-informazzjoni u l-firma elettronika. Essenzjalment, dan huwa flash drive li jista 'jaħżen data ta' awtentikazzjoni li l-utent juża biex jidħol fis-sistema.

F'dan l-eżempju, jintuża Rutoken EDS 2.0.

Biex taħdem ma 'dan ir-Rutoken għandek bżonn installa sewwieq fuq it-twieqi.

Għall-Windows, l-installazzjoni ta 'sewwieq wieħed biss tiżgura li dak kollu li huwa meħtieġ ikun installat sabiex l-OS jara r-Rutoken tiegħek u jkun jista' jaħdem miegħu.

Tista' tinteraġixxi ma' Rutoken b'diversi modi. Tista' taċċessah min-naħa tas-server tal-applikazzjoni, jew direttament min-naħa tal-klijent. Dan l-eżempju se jħares lejn l-interazzjoni ma 'Rutoken min-naħa tal-klijent tal-applikazzjoni.

Il-parti tal-klijent tal-applikazzjoni tinteraġixxi mar-rutoken permezz tal-plugin rutoken. Dan huwa programm li huwa installat separatament fuq kull browser. Għall-Windows għandek bżonn biss tniżżel u tinstalla l-plugin, tinsab f'din il-link.

Dak hu, issa nistgħu jinteraġixxu ma 'Rutoken min-naħa tal-klijent tal-applikazzjoni.

Dan l-eżempju jiddiskuti l-idea li jiġi implimentat algoritmu ta’ awtorizzazzjoni tal-utent fis-sistema bl-użu tal-iskema ta’ sfida-rispons.

L-essenza tal-idea hija kif ġej:

  1. Il-klijent jibgħat talba ta 'awtorizzazzjoni lis-server.
  2. Is-server jirrispondi għal talba mill-klijent billi jibgħat string każwali.
  3. Il-klijent pads din is-sekwenza bi 32 bit każwali.
  4. Il-klijent jiffirma l-istring riċevut biċ-ċertifikat tiegħu.
  5. Il-klijent jibgħat il-messaġġ kriptat riċevut lis-server.
  6. Is-server jivverifika l-firma billi jirċievi l-messaġġ oriġinali mhux kriptat.
  7. Is-server ineħħi l-aħħar 32 bit mill-messaġġ mhux kriptat riċevut.
  8. Is-server iqabbel ir-riżultat riċevut mal-messaġġ li ntbagħat meta talbet l-awtorizzazzjoni.
  9. Jekk il-messaġġi huma l-istess, allura l-awtorizzazzjoni titqies bħala suċċess.

Fl-algoritmu ta 'hawn fuq hemm ħaġa bħal ċertifikat. Għal dan l-eżempju, trid tifhem xi teorija kriptografika. Fuq Habré hemm artikolu kbir dwar dan is-suġġett.

F'dan l-eżempju, se nużaw algoritmi ta' encryption asimmetriċi. Biex timplimenta algoritmi asimmetriċi, irid ikollok par taċ-ċwievet u ċertifikat.

Par ta 'ċavetta jikkonsisti f'żewġ partijiet: ċavetta privata u ċavetta pubblika. Iċ-ċavetta privata, kif jissuġġerixxi isimha, għandha tkun sigrieta. Aħna nużawha biex niddeċifraw l-informazzjoni. Iċ-ċavetta pubblika tista' titqassam lil kulħadd. Din iċ-ċavetta tintuża biex tikkodifika d-dejta. Għalhekk, kull utent jista 'jikkripta d-data bl-użu taċ-ċavetta pubblika, iżda s-sid taċ-ċavetta privata biss jista' jiddekofra din l-informazzjoni.

Ċertifikat huwa dokument elettroniku li fih informazzjoni dwar l-utent li għandu ċ-ċertifikat, kif ukoll ċavetta pubblika. B'ċertifikat, l-utent jista 'jiffirma kwalunkwe data u jibgħatha lis-server, li jista' jivverifika l-firma u jiddeċifra d-data.

Sabiex tiffirma b'mod korrett messaġġ b'ċertifikat, għandek bżonn toħloq b'mod korrett. Biex tagħmel dan, l-ewwel jinħoloq par ta 'ċavetta fuq Rutoken, u mbagħad ċertifikat irid ikun marbut maċ-ċavetta pubblika ta' dan il-par ta 'ċwievet. Iċ-ċertifikat għandu jkollu eżattament iċ-ċavetta pubblika li tinsab fuq Rutoken, dan huwa importanti. Jekk sempliċiment noħolqu par ta 'ċavetta u ċertifikat immedjatament fuq in-naħa tal-klijent tal-applikazzjoni, allura kif jista' s-server imbagħad jiddekofra dan il-messaġġ kriptat? Wara kollox, ma jaf xejn dwar il-par taċ-ċwievet jew iċ-ċertifikat.

Jekk tgħaddas aktar fil-fond f'dan is-suġġett, tista' ssib informazzjoni interessanti fuq l-Internet. Hemm ċerti awtoritajiet taċ-ċertifikazzjoni li ovvjament nafdawhom. Dawn l-awtoritajiet taċ-ċertifikazzjoni jistgħu joħorġu ċertifikati lill-utenti; huma jinstallaw dawn iċ-ċertifikati fuq is-server tagħhom. Wara dan, meta l-klijent jaċċessa dan is-server, jara dan iċ-ċertifikat stess, u jara li nħareġ minn awtorità ta 'ċertifikazzjoni, li jfisser li dan is-server jista' jiġi fdat. Hemm ukoll ħafna informazzjoni fuq l-Internet dwar kif twaqqaf kollox b'mod korrett. Per eżempju, tista 'tibda b'dan.

Jekk nerġgħu lura għall-problema tagħna, is-soluzzjoni tidher ovvja. Għandek bżonn b'xi mod toħloq iċ-ċentru ta 'ċertifikazzjoni tiegħek stess. Iżda qabel dan, għandek bżonn issib fuq liema bażi ċ-ċentru ta 'ċertifikazzjoni għandu joħroġ ċertifikat lill-utent, għaliex ma jaf xejn dwar dan. (Pereżempju, ismu, kunjom, eċċ.) Hemm ħaġa bħal din imsejħa talba għal ċertifikat. Aktar informazzjoni dwar dan l-istandard tista' tinstab, pereżempju, fuq il-Wikipedija ru.wikipedia.org/wiki/PKCS
Se nużaw il-verżjoni 1.7 - PKCS#10.

Ejja niddeskrivu l-algoritmu għall-ġenerazzjoni ta' ċertifikat fuq Rutoken (sors oriġinali: dokumentazzjoni):

  1. Aħna noħolqu par ewlieni fuq il-klijent u nissejvjah fuq Rutoken. (l-iffrankar iseħħ awtomatikament)
  2. Aħna noħolqu talba għal ċertifikat fuq il-klijent.
  3. Mill-klijent aħna nibagħtu din it-talba lis-server.
  4. Meta nirċievu talba għal ċertifikat fuq is-server, noħorġu ċertifikat mill-awtorità taċ-ċertifikazzjoni tagħna.
  5. Aħna nibagħtu dan iċ-ċertifikat lill-klijent.
  6. Aħna niffrankaw iċ-ċertifikat Rutoken fuq il-klijent.
  7. Iċ-ċertifikat għandu jkun marbut mal-par taċ-ċwievet li nħoloq fl-ewwel pass.

Issa jidher ċar kif is-server se jkun jista 'jiddikripta l-firma tal-klijent, peress li huwa stess ħareġ iċ-ċertifikat lilu.

Fil-parti li jmiss, aħna ser nagħtu ħarsa aktar mill-qrib lejn kif twaqqaf l-awtorità taċ-ċertifikat tiegħek ibbażata fuq il-librerija kriptografika open-source openSSL sħiħa.

Sors: www.habr.com

Żid kumment