Puterea parolei

Sistemele care utilizează parole pentru autentificare trebuie să aibă o modalitate de a verifica orice parolă introdusă pentru a avea acces. Dacă parolele valide sunt stocate pur și simplu într-un fișier sau bază de date de sistem, un atacator care obține acces suficient la sistem va obține toate parolele utilizatorului, oferind atacatorului acces la toate conturile din sistemul atacat și, eventual, la alte sisteme în care utilizatorii folosesc același sau parole similare. O modalitate de a reduce acest risc este de a stoca doar un hash criptografic al fiecărei parole în locul parolei în sine. Hash-urile criptografice standard, cum ar fi seria Secure Hash Algorithm (SHA), sunt foarte greu de inversat, astfel încât un atacator care obține valoarea hash nu poate recupera direct parola. Cu toate acestea, cunoașterea valorii hash permite atacatorului să testeze rapid presupunerile offline. Programele de cracare a parolelor sunt disponibile pe scară largă, care vor testa un număr mare de parole de încercare împotriva unui hash criptografic acoperit.

Îmbunătățirile tehnologiei de calcul continuă să crească rata la care parolele ghicit pot fi testate. De exemplu, în 2010, Georgia Tech Research Institute a dezvoltat o metodă de utilizare a GPGPU pentru a sparge parolele mult mai repede. Elcomsoft a inventat utilizarea cardurilor grafice obișnuite pentru recuperarea mai rapidă a parolei în august 2007 și în curând a depus un brevet corespunzător în SUA. Până în 2011, erau disponibile produse comerciale care pretindeau capacitatea de a testa până la 112.000 de parole pe secundă pe un computer desktop standard, folosind un procesor grafic high-end pentru acea perioadă. Un astfel de dispozitiv va sparge o parolă cu un singur caz de 6 litere într-o singură zi. Rețineți că lucrarea poate fi distribuită pe multe computere pentru o viteză suplimentară proporțională cu numărul de computere disponibile cu GPU-uri comparabile. Sunt disponibile hașe speciale de întindere cheie care durează relativ mult timp pentru a calcula, reducând rata la care poate avea loc ghicirea. Deși este considerată cea mai bună practică de a utiliza întinderea cheilor, multe sisteme obișnuite nu.

O altă situație în care este posibilă o ghicire rapidă este atunci când parola este utilizată pentru a forma o cheie criptografică. În astfel de cazuri, un atacator poate verifica rapid dacă o parolă ghicită decodează cu succes datele criptate. De exemplu, un produs comercial pretinde că testează 103.000 de parole WPA PSK pe secundă.

Dacă un sistem de parole stochează doar hash-ul parolei, un atacator poate precomputa valorile hash pentru variantele comune de parole și pentru toate parole mai scurte decât o anumită lungime, permițând recuperarea foarte rapidă a parolei odată ce se obține hash-ul acesteia. Listele foarte lungi de hashuri de parole precalculate pot fi stocate eficient folosind tabele curcubeu. Această metodă de atac poate fi înlăturată prin stocarea unei valori aleatorii, numită sare criptografică, împreună cu hash-ul. Sarea este combinată cu parola atunci când calculează hash-ul, astfel încât un atacator care pre-calculează o masă curcubeu ar trebui să stocheze pentru fiecare parolă hash-ul său cu fiecare valoare de sare posibilă. Acest lucru devine imposibil dacă sarea are o gamă suficient de mare, să zicem un număr de 32 de biți. Din păcate, multe sisteme de autentificare utilizate în mod obișnuit nu folosesc săruri și tabelele curcubeu sunt disponibile pe Internet pentru mai multe astfel de sisteme.

Entropie ca măsură a puterii parolei Editare

Este obișnuit în industria calculatoarelor să specifice puterea parolei în termeni de entropie informațională care se măsoară în biți și este un concept din teoria informației. În locul numărului de presupuneri necesare pentru a găsi parola cu certitudine, este dat logaritmul de bază 2 al acelui număr, care este denumit în mod obișnuit numărul de „biți de entropie” într-o parolă, deși aceasta nu este exact aceeași cantitate ca entropie informațională. O parolă cu o entropie de 42 de biți calculată în acest mod ar fi la fel de puternică ca un șir de 42 de biți ales aleatoriu, de exemplu printr-o aruncare echitabilă de monede. Altfel spus, o parolă cu o entropie de 42 de biți ar necesita 242 (4.398.046.511.104) încercări de epuizare a tuturor posibilităților în timpul unei căutări de forță brută. Astfel, prin creșterea entropiei parolei cu un bit, numărul de presupuneri necesare se dublează, ceea ce face sarcina unui atacator de două ori mai dificilă. În medie, un atacator va trebui să încerce jumătate din numărul posibil de parole înainte de a o găsi pe cea corectă.

Parole aleatoriiEdit

Articol principal: Generator de parole aleatorii

Parole aleatorii constau dintr-un șir de simboluri cu lungimea specificată luate dintr-un set de simboluri folosind o selecție aleatorie proces în care fiecare simbol este la fel de probabil să fie selectat. Simbolurile pot fi caractere individuale dintr-un set de caractere (de exemplu, setul de caractere ASCII), silabe concepute pentru a forma parole pronunțabile sau chiar cuvinte dintr-o listă de cuvinte (formând astfel o frază de acces ).

Puterea parolelor aleatorii depinde de entropia reală a generatorului de numere subiacent; totuși, acestea nu sunt adesea cu adevărat aleatorii, ci pseudorandom.Multe generatoare de parole disponibile public folosesc generatoare de numere aleatorii găsite în bibliotecile de programare care oferă entropie limitată. Cu toate acestea, majoritatea sistemelor de operare moderne oferă generatoare de numere aleatorii puternic criptografice, care sunt potrivite pentru generarea de parole. De asemenea, este posibil să folosiți zaruri obișnuite pentru a genera parole aleatorii. Vedeți metode mai puternice. Programele de parolă aleatorii au adesea capacitatea de a se asigura că parola rezultată respectă o politică locală de parole; de exemplu, producând întotdeauna un amestec de litere, cifre și caractere speciale.

Pentru parolele generate de un proces care selectează aleatoriu un șir de simboluri de lungime, L, dintr-un set de N simboluri posibile, numărul de parole posibile poate fi găsit prin creșterea numărului de simboluri la puterea L, adică NL. Creșterea L sau N va consolida parola generată. Puterea unei parole aleatorii, măsurată de entropia informațională, este doar logaritmul de bază-2 sau log2 al numărului de parole posibile, presupunând că fiecare simbol din parolă este produs independent. Astfel, entropia informațională a parolei aleatorii, H, este dată de formula:

H = log 2 ⁡ NL = L log 2 ⁡ N = L log ⁡ N log ⁡ 2 {\ displaystyle H = \ log _ {2} N ^ {L} = L \ log _ {2} N = L {\ log N \ over \ log 2}}

unde N este numărul de simboluri posibile și L este numărul de simboluri din parolă. H se măsoară în biți. În ultima expresie, jurnalul poate fi la orice bază.

Entropie pe simbol pentru diferite seturi de simboluri
Set de simboluri Simbol count N Entropy per symbol H
Cifre arabe (0-9) (de ex. PIN) 10 3.322 biți
cifre hexazecimale (0-9, A – F) (de exemplu, chei WEP) 16 4.000 de biți
Alfabet latin fără majuscule (majuscule sau mici) 26 4.700 biți
Alfanumeric nesensibil la majuscule (a – z sau A – Z, 0–9) 36 5.170 biți
Alfabet latin sensibil la majuscule (a – z, A – Z) 52 5.700 biți
alfanumeric sensibil (a – z, A – Z, 0–9) 62 5.954 biți
Toate caracterele tipărite ASCII cu excepția spațiului 94 6.555 biți
Toate caracterele suplimentului Latin-1 94 6.555 biți
Toate caracterele tipărite ASCII 95 6.570 biți
Toate caracterele tipărite ASCII extinse 218 7.768 biți
Binar (0-255 sau 8 biți sau 1 octet) 256 8.000 de biți
Listă de cuvinte pentru dicare 7776 12.925 biți pe cuvânt

Un octet binar este de obicei exprimat folosind două hexadecimale caractere.

Pentru a găsi lungimea, L, necesară pentru a obține puterea dorită H, cu o parolă desenată aleatoriu dintr-un set de N simboluri, se calculează:

L = H log 2 ⁡ N {\ displaystyle L = {H \ over \ log _ {2} N}}

rotunjit până la următorul număr întreg cel mai mare.

Următorul tabel folosește această formulă pentru a arăta lungimile necesare ale parolelor generate cu adevărat aleatoriu pentru a realiza entropiile de parolă dorite pentru seturile comune de simboluri:

Lungimi L de parole generate cu adevărat aleatoriu necesare pentru a obține o entropie de parolă dorită H pentru seturile de simboluri care conțin N simboluri

Parolă dorită
entropie H
Numere
arabe
Hexadecimal Carcasă insensibil Majuscule Toate ASCII Toate extinse
ASCII
Diceware
listă de cuvinte
alfabet latin alfa-
numeric
alfabet latin alfa-
numeric
caractere imprimabile
8 biți (1 octet) 3 2 2 2 2 2 2 2 1 cuvânt
32 biți (4 octeți) 10 8 7 7 6 6 5 5 3 cuvinte
40 de biți (5 octeți ) 13 10 9 8 8 7 7 6 4 cuvinte
64 de biți (8 octeți) 20 16 14 13 12 11 10 9 5 cuvinte
80 biți (10 octeți) 25 20 18 16 15 14 13 11 7 cuvinte
96 biți (12 octeți) 29 24 21 19 17 17 15 13 8 cuvinte
128 biți (16 octeți) 39 32 28 25 23 22 20 17 10 cuvinte
160 biți (20 octeți) 49 40 35 31 29 27 25 21 13 cuvinte
192 biți (24 octeți) 58 48 41 38 34 33 30 25 15 cuvinte
224 biți (28 octeți) 68 56 48 44 40 38 35 29 18 cuvinte
256 biți (32 octeți) 78 64 55 50 45 43 39 33 20 cuvinte

Parole generate de omEdit

Oamenii sunt notorii săraci suficientă entropie pentru a produce parole satisfăcătoare. Potrivit unui studiu care a implicat o jumătate de milion de utilizatori, entropia medie a parolei a fost estimată la 40,54 biți. Unii magicieni de scenă exploatează această incapacitate de amuzament, într-un mod minor, prin divinarea unor alegeri aleatorii presupuse (de numere, să zicem) făcute de membrii publicului.

Astfel, într-o analiză a peste 3 milioane de parole cu opt caractere , litera „e” a fost folosită de peste 1,5 milioane de ori, în timp ce litera „f” a fost folosită doar de 250.000 de ori. O distribuție uniformă ar fi avut ca caracter să fie folosit de aproximativ 900.000 de ori. Cel mai obișnuit număr utilizat este „1”, în timp ce cele mai frecvente litere sunt a, e, o și r.

Utilizatorii folosesc rar seturile de caractere mai mari la formarea parolelor. De exemplu, rezultatele de hacking obținute dintr-o schemă de phishing MySpace în 2006 au dezvăluit 34.000 de parole, dintre care doar 8,3% au folosit litere mari, numere și simboluri.

Puterea maximă asociată cu utilizarea întregului set de caractere ASCII ( (cifre, litere mari și minuscule și caractere speciale) se realizează numai dacă fiecare parolă posibilă este la fel de probabilă. Acest lucru pare să sugereze că toate parolele trebuie să conțină caractere din fiecare din mai multe clase de caractere, probabil litere mari și mici, cifre și caractere nealfanumerice. De fapt, o astfel de cerință este un model în alegerea parolei și se poate aștepta să reducă factorul de lucru al unui atacator (în termenii lui Claude Shannon). Aceasta este o reducere a „puterii” parolei. O cerință mai bună ar fi să solicitați o parolă care să nu conțină niciun cuvânt într-un dicționar online, sau o listă de nume sau orice model de înmatriculare din orice stat (în SUA) sau țară (ca în UE). Dacă sunt necesare alegeri modelate, este probabil ca oamenii să le folosească în moduri previzibile, cum ar fi scrierea cu majuscule a unei litere, adăugarea unuia sau a două cifre și a unui caracter special. Această predictibilitate înseamnă că creșterea puterii parolei este minoră în comparație cu parolele aleatorii.

Publicația specială NIST 800-63-2Edit

Publicația specială NIST 800-63 din iunie 2004 (revizuirea 2) a sugerat o schemă de aproximare a entropiei parolelor generate de om:

Utilizând această schemă, se estimează că o parolă selectată de om cu opt caractere, fără caractere majuscule și caractere non-alfabetice SAU cu oricare dintre cele două seturi de caractere, are 18 biți de entropie. Publicația NIST recunoaște că la momentul dezvoltării, puține informații erau disponibile cu privire la selecția de parole din lumea reală. Cercetările ulterioare privind entropia de parole selectate de oameni folosind date din lumea reală recent disponibile au demonstrat că schema NIST nu oferă o valoare validă pentru estimarea entropiei parolelor selectate de om. Revizuirea din iunie 2017 a SP 800-63 (Revizuirea 3) renunță la această abordare.

Considerații de utilizare și implementare Editați

Deoarece implementările de tastatură naționale variază, nu toate cele 94 de caractere tipărite ASCII pot fi utilizate pretutindeni. Acest lucru poate prezenta o problemă unui călător internațional care a dorit să se conecteze la sistemul de la distanță folosind o tastatură de pe un computer local. Vezi aspectul tastaturii. Multe dispozitive portabile, cum ar fi tablete și telefoane inteligente, necesită secvențe de schimbare complexe sau schimbarea aplicațiilor de la tastatură pentru a introduce caractere speciale.

Programele de autentificare variază în funcție de caracterele pe care le permit în parole. Unii nu recunosc diferențele de majuscule (de exemplu, „E” cu litere mari este considerat echivalent cu „e” cu litere mici), altele interzic unele dintre celelalte simboluri. În ultimele decenii, sistemele au permis mai multe caractere în parole, dar există încă limitări. De asemenea, sistemele variază în ceea ce privește lungimea maximă a parolelor permise.

Ca o chestiune practică, parolele trebuie să fie rezonabile și funcționale pentru utilizatorul final, precum și suficient de puternice pentru scopul dorit. Parolele care sunt prea greu de reținut pot fi uitate și, prin urmare, este mai probabil să fie scrise pe hârtie, lucru pe care unii îl consideră un risc de securitate. În schimb, alții susțin că forțarea utilizatorilor să-și amintească parolele fără asistență poate găzdui doar parolele slabe și, astfel, prezintă un risc mai mare pentru securitate. Potrivit lui Bruce Schneier, majoritatea oamenilor sunt buni în asigurarea portofelelor sau a portmoneilor, ceea ce reprezintă un „loc minunat” pentru a stoca o parolă scrisă.

Leave a Reply

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *