Esperienza in l'usu di a tecnulugia Rutoken per a registrazione è l'autorizazione di l'utilizatori in u sistema (parte 1)

Bonghjornu Vogliu sparte a mo sperienza nantu à questu tema.

Rutoken hè solu suluzione hardware è software in u campu di l'autentificazione, a sicurità di l'infurmazioni è a firma elettronica. Essenzialmente, questu hè un flash drive chì pò almacenà e dati d'autentificazione chì l'utilizatore usa per accede à u sistema.

In questu esempiu, Rutoken EDS 2.0 hè utilizatu.

Per travaglià cù questu Rutoken avete bisognu stallà u driver nantu à Windows.

Per Windows, installendu un solu driver assicura chì tuttu ciò chì hè necessariu hè stallatu in modu chì u SO vede u vostru Rutoken è pò travaglià cun ellu.

Pudete interagisce cù Rutoken in diverse manere. Pudete accede da u latu di u servitore di l'applicazione, o direttamente da u latu di u cliente. Questu esempiu hà da vede l'interazzione cù Rutoken da u cliente di l'applicazione.

A parte cliente di l'applicazione interagisce cù u rutoken attraversu u plugin rutoken. Questu hè un prugramma chì hè stallatu separatamente in ogni navigatore. Per Windows basta à scaricà è stallà u plugin, situatu à stu ligame.

Hè questu, avà pudemu interagisce cù Rutoken da u cliente di l'applicazione.

Questu esempiu discute l'idea di implementà un algoritmu d'autorizazione d'utilizatori in u sistema utilizendu u schema sfida-risposta.

L'essenza di l'idea hè a siguenti:

  1. U cliente manda una dumanda d'autorizazione à u servitore.
  2. U servitore risponde à una dumanda da u cliente mandendu una stringa aleatoria.
  3. U cliente pads sta stringa cù 32 bit aleatoriu.
  4. U cliente firma a stringa ricevuta cù u so certificatu.
  5. U cliente manda u messagiu criptatu ricevutu à u servitore.
  6. U servitore verifica a firma ricevendu u missaghju originale micca criptatu.
  7. U servitore striscia l'ultimi 32 bits da u messagiu micca criptatu ricevutu.
  8. U servitore compara u risultatu ricevutu cù u missaghju chì hè statu mandatu quandu si dumanda l'autorizazione.
  9. Se i missaghji sò listessi, allora l'autorizazione hè cunsiderata successu.

In l'algoritmu sopra, ci hè una cosa cum'è un certificatu. Per questu esempiu, avete bisognu di capisce una teoria criptografica. Nantu à Habré ci hè grande articulu nantu à questu tema.

In questu esempiu, avemu aduprà algoritmi di criptografia asimmetrica. Per implementà algoritmi asimmetrici, duvete avè una coppia di chjave è un certificatu.

Un paru di chjave hè custituitu da duie parti: una chjave privata è una chjave publica. A chjave privata, cum'è u so nome suggerisce, deve esse secreta. Avemu aduprà per decrypt l'infurmazioni. A chjave publica pò esse distribuita à qualcunu. Sta chjave hè usata per criptà e dati. Cusì, ogni utilizatore pò criptà e dati cù a chjave publica, ma solu u pruprietariu di a chjave privata pò decriptà sta informazione.

Un certificatu hè un documentu elettronicu chì cuntene infurmazioni nantu à l'utilizatore chì pussede u certificatu, è ancu una chjave publica. Cù un certificatu, l'utilizatore pò firmà qualsiasi dati è mandà à u servitore, chì pò verificà a firma è decifrare i dati.

Per firmà currettamente un missaghju cù un certificatu, avete bisognu di creà bè. Per fà questu, una coppia di chjave hè prima creata nantu à Rutoken, è dopu un certificatu deve esse ligatu à a chjave publica di questa coppia di chjave. U certificatu deve avè esattamente a chjave publica chì si trova nantu à Rutoken, questu hè impurtante. Se creemu simpricimenti una coppia di chjave è un certificatu immediatamente nantu à u latu di u cliente di l'applicazione, allora cumu pò u servitore decriptà stu missaghju criptatu? Dopu tuttu, ùn sà nunda di u paru chjave o di u certificatu.

Sè vo immerse più in questu tema, pudete truvà infurmazioni interessanti nantu à Internet. Ci sò certe autorità di certificazione chì avemu ovviamente fiducia. Queste autorità di certificazione ponu emette certificati à l'utilizatori; stallanu sti certificati in u so servitore. Dopu questu, quandu u cliente accede à stu servitore, vede stu certificatu stessu, è vede chì hè statu emessu da una autorità di certificazione, chì significa chì stu servitore pò esse fiduciale. Ci hè ancu assai infurmazione nantu à Internet nantu à cumu fà tuttu ciò chì hè currettamente. Per esempiu, pudete principià cù questu.

Se vultemu à u nostru prublema, a suluzione pare ovvia. Avete bisognu di qualchì manera di creà u vostru propiu centru di certificazione. Ma prima di questu, avete bisognu di capisce nantu à quale basa u centru di certificazione deve emette un certificatu à l'utilizatori, perchè ùn sapi nunda di questu. (Per esempiu, u so nome, cognome, etc.) Ci hè una cosa chjamata dumanda di certificatu. Più infurmazione nantu à stu standard pò esse truvata, per esempiu, in Wikipedia ru.wikipedia.org/wiki/PKCS
Avemu aduprà a versione 1.7 - PKCS#10.

Descrivimu l'algoritmu per generà un certificatu nantu à Rutoken (fonte originale: documentazione):

  1. Creemu una coppia di chjave nantu à u cliente è salvemu in Rutoken. (a salvezza si faci automaticamente)
  2. Creemu una dumanda di certificatu nantu à u cliente.
  3. Da u cliente mandemu sta dumanda à u servitore.
  4. Quandu ricevemu una dumanda per un certificatu nantu à u servitore, emettemu un certificatu da a nostra autorità di certificazione.
  5. Mandemu stu certificatu à u cliente.
  6. Salvemu u certificatu Rutoken nantu à u cliente.
  7. U certificatu deve esse ligatu à a coppia di chjave chì hè stata creata in u primu passu.

Avà diventa chjaru cumu u servitore serà capace di decrypt a firma di u cliente, postu chì ellu stessu hà emessu u certificatu per ellu.

In a prossima parte, daremu un sguardu più attentu à cumu cunfigurà a vostra autorità di certificatu basatu annantu à a libreria di criptografia open-source openSSL.

Source: www.habr.com

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster