Parolă de unică folosință

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Parola unică (acronim OTP, în italiană „parolă (validă) o dată”), în contextul criptografiei și securității computerului este o parolă valabilă doar pentru o singură sesiune de acces sau o tranzacție . În acest scop, OTP este numit și o parolă de unică folosință [1] .

OTP evită o serie de neajunsuri asociate cu utilizarea parolei tradiționale (statice). Cea mai importantă problemă pe care OTP o rezolvă este că, spre deosebire de parola statică, nu este vulnerabilă la atacurile de replicare . Aceasta înseamnă că, dacă un potențial intrus reușește să intercepteze un OTP care a fost deja utilizat pentru a accesa un serviciu sau a executa o tranzacție, nu îl va putea reutiliza, deoarece acesta nu va mai fi valid. Pe de altă parte, un OTP nu poate fi stocat de o persoană, deoarece ar fi inutil din același motiv. Prin urmare, necesită utilizarea unei tehnologii suplimentare (un dispozitiv fizic cu calculatorul OTP încorporat sau un anumit număr de mobil sau o aplicație instalată pe un dispozitiv certificat). [2] OTP-urile pot fi utilizate ca unic factor de autentificare sau în plus față de un alt factor, cum ar fi parola utilizatorului, informațiile despre cardul de credit sau un PIN pentru a realiza autentificarea cu doi factori .

Generarea și stocarea OTP-urilor

Algoritmii OTP care au fost dezvoltați sunt destul de diferiți unul de celălalt. Ceea ce au în comun este că fiecare OTP este generat prin aplicarea unei funcții criptografice unui set unic de valori. Acest lucru este necesar pentru că altfel ar fi ușor să se prevadă viitorul OTP prin observarea celor anterioare. Diferitele abordări pentru generarea OTP sunt enumerate mai jos:

  • Algoritmi bazați pe sincronizarea timpului între serverul de autentificare și clientul care furnizează parola: OTP-urile sunt valabile doar pentru o perioadă scurtă de timp, valoarea din care este generat OTP este ora curentă.
  • Algoritmi matematici care generează o nouă parolă pe baza parolei anterioare . Valoarea din care este generat OTP este un număr dintr-o secvență predefinită (OTP-urile sunt, de fapt, un lanț de parole legate între ele și trebuie utilizate într-o ordine predefinită).
  • Algoritmi matematici în care parola se bazează pe o provocare (de exemplu, un număr aleatoriu ales de serverul de autentificare sau din detaliile tranzacției) și / sau pe un contor.

Metode de generare

Sincronizarea orei

Un OTP bazat pe sincronizare de timp este în general conectat la o componentă hardware numită jeton , fiecărui utilizator i se atribuie un jeton personal pentru a-și genera propriile OTP-uri. Jetonul are un ceas intern, care a fost sincronizat cu ceasul de autentificare proprietar al serverului . Pe aceste sisteme OTP, timpul este o parte importantă a algoritmului de generare a parolelor, deoarece generarea de noi parole se bazează pe ora curentă, mai degrabă decât pe parola sau cheia privată anterioară. Acest simbol poate fi un dispozitiv proprietar, un telefon mobil sau un dispozitiv mobil similar care rulează software proprietar, gratuit sau open source .

Algoritmi matematici

Fiecare nou OTP derivă din cel anterior utilizat. Un exemplu al acestui algoritm, creditat la Leslie Lamport utilizează o funcție unidirecțională (denumită în continuare ), funcționează după cum urmează:

  1. Se alege o sămânță (valoare inițială) .
  2. O funcție hash se aplică în mod repetat (de ex. de 1000 de ori) ( lanț hash ) la semințe generând o nouă valoare. Această valoare, prezentată în exemplu ca este stocat în sistemul țintă.
  3. Prima conectare a utilizatorului utilizează o parolă derivat prin aplicarea Adică de 999 de ori pe costum . Sistemul țintă poate autentifica că aceasta este parola corectă, deoarece , care este valoarea stocată. Valoarea stocată este apoi înlocuită cu iar utilizatorul se poate autentifica.
  4. Următoarea autentificare trebuie să fie însoțită de . Din nou, acest lucru poate fi validat, deoarece prin aplicarea primesti care este valoarea stocată după autentificarea anterioară. Din nou, noua valoare a îl înlocuiește pe cel anterior și utilizatorul este autentificat.
  5. Procedura poate fi repetată de încă 997 de ori, după care este necesar să alegeți o nouă sămânță cu care să inițializați dispozitivul.

Funcțiile Hash sunt concepute pentru a fi extrem de dificil de inversat, așa că un atacator ar trebui să cunoască semințele inițiale pentru a calcula parolele posibile, în timp ce în sens invers, sistemul poate confirma că parola de fiecare dată este validă verificând că, odată ce hash-ul se aplică funcția, valoarea obținută este cea utilizată anterior pentru acces.

Pentru a obține următoarea parolă din serie din parolele anterioare, trebuie să găsiți o modalitate de a calcula funcția inversă . Atâta timp cât a fost ales să fie unidirecțional, acest lucru este extrem de dificil de realizat. De sine este o funcție hash criptografică , care este cazul general, este (din câte se știe) o sarcină calculată inaccesibilă. Un intrus care reușește să obțină un OTP poate avea acces pentru o perioadă de timp sau pentru o sesiune, dar devine inutil după expirarea perioadei respective. Sistemul de parole S / KEY o singură dată și jetonul său derivat OTP se bazează pe schema Lamport.

Provocare

În sistemele OTP bazate pe o provocare, serverul trimite provocarea către utilizator, utilizatorul o introduce în dispozitivul său OTP și o criptează folosind propria sa cheie privată; între timp, serverul criptează și provocarea cu cheia privată asociată cu utilizatorul, utilizatorul trimite provocarea criptată către server și dacă valoarea calculată de utilizator este egală cu valoarea calculată de server, atunci autentificarea este autorizată .

Metode de distribuție

Telefonia celulară

O tehnologie comună utilizată pentru livrarea OTP este mesageria text . Deoarece mesageria text este un canal de comunicare omniprezent, fiind disponibilă direct în aproape orice telefon mobil și, prin conversie text-vorbire, către orice telefon mobil sau fix, mesageria text are un mare potențial de a ajunge la toți consumatorii cu un cost total redus. Cu toate acestea, costul mesajelor text pe OTP poate să nu fie acceptabil pentru unii utilizatori. Mesajele text OTP pot fi criptate folosind un standard A5 / x , despre care mai multe grupuri de hacking raportează că pot fi sparte cu succes în câteva minute sau secunde. [3] [4] [5] [6] Mai mult, defectele de securitate din protocolul de rutare SS7 pot și au fost folosite pentru a redirecționa mesaje text OTP către atacatori; În 2017, mai mulți clienți O2 din Germania au fost hackuiți în acest fel pentru a avea acces la conturile lor bancare mobile. În iulie 2016, US NIST a publicat o schiță a unei publicații speciale cu îndrumări privind practicile de autentificare, care descurajează utilizarea SMS-urilor ca metodă de implementare a autentificării cu doi factori în afara benzii, datorită capacității de a intercepta SMS-urile. scară. [7] [8]

Pe smartphone-uri, OTP-urile pot fi livrate direct prin intermediul aplicațiilor, inclusiv aplicații dedicate de autentificare precum Authy , Duo și Google Authenticator, sau în cadrul unei aplicații furnizor de servicii, cum este cazul Steam . Aceste sisteme nu împărtășesc aceleași vulnerabilități de securitate ca SMS-urile și nu necesită neapărat o conexiune la o rețea mobilă pentru a le utiliza, deoarece acestea se bazează pe Internet. [9] [10] [11]

Jetoane proprietare

Jeton RSA SecurID.
Card de credit cu OTP integrat tip provocare.

EMV începe să folosească un algoritm de provocare-răspuns (numit programul de autentificare cu cip ) pentru cardurile de credit din Europa. Pe de altă parte, în controlul accesului la rețelele de calculatoare, SecurID și HID Global ale RSA Security sunt exemple de jetoane sincronizate în timp. Principalele probleme cu jetoanele fizice sunt că pot fi pierdute, deteriorate sau furate; În plus, există un dezavantaj legat de durata de viață a bateriilor, în special pentru jetoanele fără funcție de reîncărcare sau baterie înlocuibilă. O variantă a simbolului proprietar a fost propusă de RSA în 2006 și a fost descrisă ca „autentificare omniprezentă”, în cadrul căreia RSA ar lucra cu producătorii pentru a adăuga cipuri SecurID fizice la dispozitive precum telefoanele mobile.

Yubico oferă un mic token USB cu un cip încorporat care creează un OTP atunci când este apăsată o tastă și simulează o tastatură pentru a facilita introducerea unei parole lungi. [12] Deoarece este un dispozitiv USB, evită inconvenientul înlocuirii bateriei.

Metode bazate pe web

Autentificarea ca furnizori de servicii oferă diverse metode bazate pe web pentru livrarea OTP-urilor fără a fi nevoie de jetoane fizice. Google oferă un serviciu de generare OTP numit Google Authenticator, care este disponibil ca aplicație mobilă pentru Android , iOS și BlackBerry OS .

Copie pe hârtie

Card de credit cu OTP acoperit cu un strat scratch-off.

În serviciile bancare online ale unor țări, banca trimite utilizatorului o listă numerotată de OTP-uri tipărite pe hârtie. Alte bănci trimit carduri de plastic cu un strat pe care utilizatorul trebuie să îl zgârie pentru a dezvălui un OTP numerotat. Pentru fiecare tranzacție online, utilizatorul trebuie să introducă un anumit OTP din lista respectivă. Unele sisteme solicită secvențial OTP numerate, altele aleg pseudo-aleatoriu un OTP pentru a intra. În Germania și multe alte țări, cum ar fi Austria și Brazilia [13] , aceste OTP-uri sunt denumite în mod obișnuit TAN („Număr de autentificare a tranzacției”). Unele bănci trimit chiar astfel de TAN-uri la telefonul mobil al utilizatorului prin SMS, caz în care sunt numite mTAN („TAN mobil”).

Compararea tehnologiilor

Compararea implementărilor OTP

Cele mai ieftine soluții OTP sunt cele care furnizează OTP-uri pe hârtie și cele care generează OTP-uri pe un dispozitiv existent, fără costurile asociate cu (re) emiterea de jetoane de securitate electronice proprietare și mesaje SMS.

Pentru sistemele care se bazează pe jetoane electronice, generatoarele OTP bazate pe algoritmi se confruntă cu situația în care un jeton se sincronizează cu propriul server dacă sistemul solicită introducerea OTP într-un termen. Aceasta implică un cost suplimentar de dezvoltare. Pe de altă parte, sistemele sincronizate cu timpul evită acest lucru în detrimentul faptului că trebuie să mențină un ceas în jetoanele electronice (și o valoare de compensare pentru a ține cont de diferența de frecvență dintre ceasul dispozitivului și ceasul serverului). Faptul că OTP este sincronizat în timp este în esență irelevant pentru vulnerabilitate, dar evită necesitatea reintroducerii parolelor în cazul în care serverul și OTP s-au desincronizat până la punctul în care serverul solicită o parolă înainte sau după una pe care ar trebui să o ceri.

Utilizarea unui dispozitiv mobil existent evită necesitatea de a obține și transporta un generator OTP suplimentar. Bateria poate fi reîncărcată; Începând din 2011, majoritatea dispozitivelor mici nu au baterii reîncărcabile sau înlocuibile. Cu toate acestea, majoritatea jetoanelor proprietare au caracteristici rezistente la manipulare.

OTP versus alte metode de protecție a datelor

OTP-urile sunt vulnerabile la atacurile de inginerie socială în care phisherii fură OTP-uri înșelând clienții să furnizeze unul sau mai multe OTP-uri pe care le-au folosit în trecut. La sfârșitul anului 2005, clienții unei bănci suedeze au fost păcăliți să dezvăluie următorul lor OTP. [14] În 2006, acest tip de atac a fost folosit împotriva clienților unei bănci americane. [15] OTP-urile sincronizate în timp sunt, de asemenea, vulnerabile la phishing, în două moduri: parola poate fi utilizată mai rapid de atacator ca utilizator legitim, dacă atacatorul poate obține OTP suficient de rapid. Celălalt tip de atac - care poate fi învins de sistemele OTP care implementează lanțul hash așa cum s-a discutat mai sus - este ca phisherul să folosească informațiile obținute (coduri OTP trecute care nu mai sunt valabile) cu această metodă de inginerie socială pentru a prezice ce OTP-uri va fi folosit în viitor. De exemplu, un generator de parolă OTP care este mai degrabă pseudo-aleator decât aleator ar putea fi compromis, deoarece numerele pseudo-aleatorii , spre deosebire de cele cu adevărat aleatorii, sunt adesea previzibile odată ce ați trecut codurile OTP. Un sistem OTP poate utiliza OTP-uri cu adevărat aleatorii numai dacă OTP este generat de autentificator și transmis (probabil în afara benzii) utilizatorului; în caz contrar, OTP trebuie să fie generat independent de fiecare parte, necesitând un algoritm repetabil și, prin urmare, pur și simplu pseudo-aleatoriu.

Deși OTP-urile sunt oarecum mai sigure decât o parolă statică stocată, utilizatorii sistemelor OTP sunt încă vulnerabili la atacurile om-în-mijloc . Prin urmare, OTP nu ar trebui să fie dezvăluite unor terțe părți și utilizarea unui OTP ca factor de autentificare suplimentar este mai sigură decât utilizarea OTP ca singur factor de autentificare. O modalitate de a implementa autentificarea pe mai multe niveluri este de a utiliza un OTP în combinație cu o parolă care este stocată de utilizator (și nu este transmisă niciodată utilizatorului, așa cum se întâmplă adesea în OTP).

Standardizare

Multe tehnologii OTP sunt brevetate. Acest lucru face standardizarea în această industrie mai dificilă, deoarece fiecare companie încearcă să-și împingă tehnologia. Cu toate acestea, există standarde, cum ar fi RFC 1760 ( S / KEY ), RFC 2289 (OTP), RFC 4226 ( HOTP ) și RFC 6238 ( TOTP ).

Notă

  1. ^ http://www.cartedipagamento.com/codice-otp.htm
  2. ^(RO) Juergen Haas, parolă unică (S / Key) .... pe linux.about.com, about.com. Adus pe 21 mai 2012 .
  3. ^ Elad Barkan, Eli Biham și Nathan Keller, Criptanaliza instantanee numai pentru cifrare a comunicării criptate GSM , 2003, pp. 600–16 (arhivat din original la 7 octombrie 2015) .
  4. ^ Elad Barkan, Eli Biham și Nathan Keller, Criptanaliza instantanee numai în criptare a comunicării criptate GSM de către Barkan și Biham of Technion (versiune completă) ( PDF ), la cs.technion.ac.il .
  5. ^ Tim Gueneysu, Timo Kasper, Martin Novotný, Christof Paar și Andy Rupp, Cryptanalysis with COPACOBANA ( PDF ), în Tranzacții pe computere noiembrie 2008 , vol. 57, 2008, pp. 1498–1513.
  6. ^ Karsten Nohl și Chris Paget, GSM: SRSLY? , Al 26-lea Congres al Comunicării Haosului (26C3) : , 27 decembrie 2009. Accesat la 30 decembrie 2009 .
  7. ^ (EN) John Fontana, blogul NIST clarifică deprecierea SMS-urilor ca urmare a cotidiei media în ZDNet. Adus pe 14 iulie 2017 .
  8. ^ David Meyer, Timpul se termină pentru codurile de securitate de autentificare bazate pe SMS , pe Fortune . Adus pe 14 iulie 2017 .
  9. ^ Natt Garun, How to set up two-factor authentication on all your online accounts , on The Verge , 17 iunie 2017. Accesat pe 14 iulie 2017 .
  10. ^ Russell Brandom, autentificarea cu doi factori este o mizerie , The Verge , 10 iulie 2017. Accesat pe 14 iulie 2017 .
  11. ^ Michael McWhertor, Valve adaugă autentificare de conectare cu doi factori la aplicația mobilă Steam , polygon.com , Polygon , 15 aprilie 2015. Accesat la 8 septembrie 2015 .
  12. ^ Yubico AB , în Bloomberg Businessweek . Adus la 13 iulie 2011 .
  13. ^ BRB - Banco de Brasília - BRB Banknet Arhivat 12 decembrie 2017 la Internet Archive .. Portal.brb.com.br.
  14. ^ Articolul Registrului . Articolul din registru (2005-10-12).
  15. ^ Blogul de securitate Washington Post . Blog.washingtonpost.com.

Elemente conexe

Securitate IT Portal de securitate IT : accesați intrările Wikipedia care se ocupă cu securitatea IT