15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
14.10.2024

Cum să Determinați Puterea unei Parole: Un Ghid Tehnic despre Entropie, Rezistență la Spargere și Gestionarea Securizată a Credențialelor

Puterea unei parole este o măsură cantitativă a rezistenței sale la descoperirea neautorizată prin atacuri brute-force, atacuri de dicționar, credential stuffing și ghicire statistică. Este determinată de trei variabile compuse: lungime, diversitatea spațiului de caractere și impredictibilitate (entropie). O parolă cu un scor de peste 60 de biți de entropie Shannon și care conține cel puțin 16 caractere extrase dintr-un set de caractere mixt este considerată criptografic puternică conform standardelor actuale NIST SP 800-63B.

Înțelegerea puterii parolei nu înseamnă doar urmarea unei liste de verificare — necesită înțelegerea relației matematice dintre pool-urile de caractere, lungimea parolei și costul computațional impus unui atacator. Acest ghid acoperă acea relație în termeni tehnici precisi, explică modul în care inginerii de securitate profesioniști evaluează acreditările și oferă practici acționabile atât pentru utilizatorii individuali, cât și pentru administratorii de sistem care gestionează politicile de autentificare pe servere și infrastructuri de hosting.

Ce Măsoară de Fapt Puterea Parolei

Puterea parolei este un indicator pentru costul atacului — mai specific, numărul de ghiciri pe care un adversar trebuie să le facă înainte de a găsi acreditarea corectă. Acest cost este exprimat în biți de entropie folosind formula:

H = L × log₂(N)

Unde H este entropia în biți, L este lungimea parolei în caractere, iar N este dimensiunea pool-ului de caractere (numărul de simboluri distincte pe care atacatorul trebuie să le ia în considerare).

O valoare mai mare a entropiei înseamnă exponențial mai multă muncă de ghicire. Diferența dintre 40 de biți și 80 de biți nu este de două ori mai dificilă — este de 2^40 ori mai grea, ceea ce se traduce în aproximativ un trilion de ghiciri suplimentare.

Pool-ul de Caractere și Impactul Său asupra Entropiei

Set de CaractereDimensiunea Pool-ului (N)Entropie per Caracter
Doar litere mici (a–z)264,70 biți
Litere mici + litere mari525,70 biți
Alfanumeric (a–z, A–Z, 0–9)625,95 biți
ASCII imprimabil complet (cu simboluri)956,57 biți
Frază de acces Diceware (lista mare EFF)7.776 cuvinte12,92 biți per cuvânt

Acest tabel ilustrează de ce adăugarea chiar și a unui singur simbol la o parolă pur alfabetică produce un câștig măsurabil de entropie și de ce o frază de acces Diceware de patru cuvinte poate depăși o parolă complexă dar scurtă.

Factori Cheie Care Determină Puterea Parolei

Lungimea Parolei

Lungimea este cea mai importantă variabilă din formula entropiei. Dublarea lungimii unei parole ridică la pătrat spațiul de căutare pentru un pool de caractere fix. Luați în considerare contrastul:

  • O parolă de 8 caractere folosind ASCII imprimabil complet: H = 8 × 6.57 = ~52.6 bits
  • O parolă de 16 caractere folosind același set de caractere: H = 16 × 6.57 = ~105 bits

La 52,6 biți, platformele moderne de spargere accelerate prin GPU care rulează Hashcat pe hash-uri MD5 pot epuiza spațiul în câteva ore. La 105 biți, același hardware ar necesita scări de timp geologice. NIST SP 800-63B recomandă un minim de 8 caractere pentru parolele alese de utilizatori, dar administratorii conștienți de securitate ar trebui să impună un minim de 12–16 caractere, fără limită superioară artificială.

Varietatea Caracterelor și Complexitatea

Amestecarea claselor de caractere extinde N și, prin urmare, crește entropia per caracter. O parolă puternică ar trebui să includă:

  • Litere mari (A–Z)
  • Litere mici (a–z)
  • Cifre (0–9)
  • Caractere speciale (!, @, #, $, %, ^, &, *, etc.)

Cu toate acestea, o nuanță critică pe care multe ghiduri o omit: regulile de complexitate obligatorie pot paradoxal slăbi parolele. Când utilizatorii sunt forțați să includă un simbol, ei adaugă previzibil ! sau 1 la sfârșitul unui cuvânt. Acest tipar este bine cunoscut de spărgători și este codificat în seturile de reguli utilizate de instrumente precum Hashcat. Adevărata complexitate vine din aleatoriu, nu din satisfacerea unei căsuțe de bifat.

Impredictibilitatea și Rezistența la Atacurile de Tipare

Spargerea modernă a parolelor nu este pur brute-force. Instrumente precum Hashcat și John the Ripper folosesc atacuri bazate pe reguli care aplică transformări cuvintelor din dicționar — capitalizarea primei litere, substituirea a cu @, adăugarea anilor și așa mai departe. O parolă precum P@ssw0rd!23 pare complexă, dar este spartă trivial deoarece urmează un tipar de substituție bine cunoscut.

Adevărata impredictibilitate înseamnă:

  • Niciun cuvânt din dicționar, chiar și cu substituții leetspeak
  • Nicio secvență de tastatură (qwerty, zxcvbn)
  • Nicio informație personală (nume, date de naștere, nume de animale de companie)
  • Niciun tipar previzibil la început sau la sfârșit (sufix !, prefix 1)

Cea mai fiabilă sursă de impredictibilitate este un generator de numere aleatorii criptografic securizat (CSPRNG), care este ceea ce managerii de parole reputabili folosesc intern.

Unicitatea între Conturi

Reutilizarea acreditărilor transformă o singură breșă într-un compromis sistemic. Când un serviciu care stochează parole în text simplu sau cu MD5 slab este breșat, atacatorii rulează imediat acele acreditări împotriva altor ținte de mare valoare — o tehnică numită credential stuffing. Servicii precum Gmail, portaluri bancare și panouri de control pentru hosting sunt ținte principale.

Fiecare cont trebuie să aibă o parolă distinctă. Acest lucru este imposibil din punct de vedere operațional fără un manager de parole pentru majoritatea utilizatorilor care gestionează mai mult de câteva conturi.

Metode de Evaluare a Puterii Parolei

Calculul Entropiei

Formula entropiei H = L × log₂(N) este cea mai obiectivă măsură. Iată valorile de referință pentru evaluarea practică:

Exemplu de ParolăLungimePool de CaractereEntropie (biți)Rezistență
`password`826~37,6Neglijabilă
`P@ssw0rd`895~52,6Ore (GPU)
`Tr0ub4dor&3`1195~72,3Luni
`correct-horse-battery-staple`2826+1~130+Secole
ASCII complet aleatoriu de 16 caractere1695~105Astronomică

Rețineți că correct-horse-battery-staple — faimoasa frază de acces XKCD — atinge o entropie extraordinară prin lungime, în ciuda utilizării doar a literelor mici și a cratimelor. Aceasta este puterea lungimii față de complexitate.

Instrumente de Spargere a Parolelor Utilizate de Profesioniștii în Securitate

Inginerii de securitate și testerii de penetrare folosesc următoarele instrumente pentru a testa empiric politicile de parole:

Hashcat este instrumentul standard din industrie pentru recuperarea parolelor accelerat prin GPU. Suportă peste 300 de tipuri de hash și poate rula atacuri de dicționar, brute-force, bazate pe reguli și hibride. Pe un RTX 4090 modern, Hashcat poate testa aproximativ 164 de miliarde de hash-uri MD5 pe secundă — context care face numerele de entropie de mai sus visceral reale.

John the Ripper este un spărgător bazat pe CPU cu capabilități puternice de atac bazat pe reguli și suport larg pentru formate de hash. Este utilizat în mod obișnuit în contexte forensice și de audit.

zxcvbn este un estimator de putere a parolei pe partea clientului dezvoltat de Dropbox. Spre deosebire de calculatoarele simple de entropie, modelează comportamentul realist al atacatorului verificând dicționare, tipare comune, secvențe de tastatură și formate de date. Este cel mai precis contor de putere pentru aplicațiile orientate către utilizatori.

Pentru a testa un hash de parolă offline folosind Hashcat în modul benchmark:

hashcat -b -m 0

Pentru a rula un atac de dicționar cu reguli împotriva unui fișier hash MD5:

hashcat -a 0 -m 0 hashes.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule

Instrumente Online de Testare a Parolelor

Mai multe instrumente bazate pe browser oferă evaluare rapidă a puterii:

  • Have I Been Pwned (HIBP) Password Check — verifică prefixul hash SHA-1 al unei parole față de o bază de date cu peste 800 de milioane de parole breșate folosind un model k-anonymity, ceea ce înseamnă că parola completă nu este niciodată transmisă.
  • Bitwarden Password Strength Tester — folosește zxcvbn sub capotă pentru estimarea realistă a timpului de spargere.
  • Kaspersky Password Checker — oferă analiză a lungimii, complexității și tiparelor.

Avertisment operațional critic: Nu introduceți niciodată o parolă reală, în uz, în niciun instrument online. Folosiți o acreditare de test structural similară, dar distinctă. Chiar și instrumentele care folosesc modele k-anonymity nu ar trebui să primească parolele dvs. de producție reale.

Contoare de Putere a Parolelor în Aplicații

Contoarele de putere integrate variază semnificativ în calitate. Multe folosesc euristici simpliste (praguri de lungime, prezența clasei de caractere) care pot fi manipulate. Un contor care evaluează P@ssw0rd1! ca „Puternic” este înșelător — acel șir apare în fiecare dicționar major de breșe. Preferați aplicațiile care integrează zxcvbn sau estimatori echivalenți conștienți de tipare.

Vectori de Atac asupra Parolelor: Împotriva a Ce Vă Apărați de Fapt

Înțelegerea modelului de amenințare ascute fiecare decizie privind politica de parole.

Atacurile brute-force încearcă sistematic fiecare combinație posibilă în cadrul unui spațiu de caractere. Sunt limitate computațional și devin impractice peste ~80 de biți de entropie cu hardware-ul actual.

Atacurile de dicționar folosesc liste de cuvinte derivate din parole reale scurse în breșe. Setul de date RockYou (14 milioane de parole) și succesorii săi acoperă marea majoritate a parolelor alese de oameni. Dacă parola dvs. apare în limbajul natural, se află într-un dicționar.

Atacurile bazate pe reguli aplică reguli de transformare cuvintelor din dicționar — capitalizare, adăugare de numere, substituție de simboluri. Acestea sparg majoritatea parolelor „complexe” pe care utilizatorii le construiesc modificând cuvinte simple.

Credential stuffing folosește perechi de nume de utilizator/parolă dintr-o breșă pentru a ataca alte servicii. Aceasta este complet contracarată de unicitatea parolei.

Atacurile cu tabele rainbow folosesc mapări precomputate hash-la-text simplu. Acestea sunt contracarate prin hashing-ul corect al parolelor cu un salt unic (bcrypt, Argon2, scrypt) pe partea serverului — o responsabilitate a aplicației, nu a utilizatorului.

Ingineria socială și phishing-ul ocolesc complet puterea parolei. Autentificarea multi-factor este principala apărare aici.

Cele Mai Bune Practici pentru Crearea și Gestionarea Parolelor Puternice

Utilizați un Manager de Parole

Un manager de parole este cea mai importantă îmbunătățire de securitate disponibilă pentru majoritatea utilizatorilor și administratorilor. Instrumente precum Bitwarden (open-source, auditat), 1Password și KeePassXC (offline, stocare locală) generează parole aleatorii criptografic și le stochează într-un seif criptat. Aceasta elimină povara cognitivă a memorării și face practice parolele aleatorii unice de 20+ caractere pentru fiecare cont.

Pentru administratorii de sistem care gestionează acreditări pe servere — inclusiv medii de VPS Hosting și Servere Dedicate — un manager de parole orientat spre echipă cu control de acces bazat pe roluri (precum Bitwarden Teams sau HashiCorp Vault) este infrastructură esențială.

Generați Parole cu un CSPRNG

Nu construiți niciodată parole manual. Folosiți generatorul managerului dvs. de parole sau pe Linux/macOS:

# Generate a 20-character random password using /dev/urandom
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*()-_=+' < /dev/urandom | head -c 20; echo
# Generate a Diceware-style passphrase using OpenSSL
openssl rand -base64 32

Implementați Autentificarea Multi-Factor (MFA)

MFA este un strat non-negociabil pentru orice cont cu valoare semnificativă. Chiar și o parolă compromisă nu poate acorda acces fără al doilea factor. Preferați aplicațiile de autentificare TOTP (Authy, Google Authenticator, Aegis) față de 2FA bazat pe SMS, care este vulnerabil la atacurile de SIM-swapping. Pentru medii de înaltă asigurare, folosiți chei de securitate hardware (YubiKey, FIDO2) care sunt rezistente la phishing prin design.

Pe servere care rulează aplicații web sau panouri de control — inclusiv medii gestionate prin Panouri de Control VPS — impuneți MFA la nivelul aplicației și luați în considerare autentificarea bazată pe chei SSH ca înlocuitor pentru autentificarea SSH bazată pe parolă în totalitate.

Impuneți Politici Puternice de Parole la Nivel de Sistem

Pentru administratorii care gestionează servere Linux, PAM (Pluggable Authentication Modules) oferă aplicarea granulară a politicii de parole. Instalați și configurați libpam-pwquality:

apt install libpam-pwquality

Apoi editați /etc/security/pwquality.conf:

minlen = 16
minclass = 3
maxrepeat = 2
gecoscheck = 1
dictcheck = 1

Aceasta impune o lungime minimă de 16 caractere, necesită caractere din cel puțin 3 clase, interzice mai mult de 2 caractere identice consecutive și verifică față de cuvintele din dicționar și câmpul GECOS al utilizatorului (nume).

Pentru politica de îmbătrânire a parolelor, editați /etc/login.defs:

PASS_MAX_DAYS   90
PASS_MIN_DAYS   1
PASS_WARN_AGE   14

Monitorizați Breșele de Acreditări

Integrați monitorizarea breșelor în operațiunile dvs. de securitate. Have I Been Pwned oferă un API gratuit pentru verificarea adreselor de email față de bazele de date de breșe cunoscute. Pentru utilizarea organizațională, servicii precum SpyCloud sau Enzoic oferă monitorizare în timp real a acreditărilor și pot declanșa resetări forțate ale parolelor când acreditările unui angajat apar într-un set de date de breșe.

Hashing-ul Securizat al Parolelor pe Partea Serverului

Dacă operați aplicații web care stochează acreditările utilizatorilor — fie pe Hosting Web Shared sau un mediu dedicat — nu stocați niciodată parolele în text simplu sau cu algoritmi de hashing slabi (MD5, SHA-1, SHA-256 fără salt). Folosiți o funcție de hashing a parolelor construită special:

  • Argon2id — câștigătorul Competiției de Hashing a Parolelor; recomandat de OWASP pentru aplicații noi
  • bcrypt — larg suportat, testat în luptă; folosiți un factor de lucru de 12 sau mai mare
  • scrypt — memory-hard; rezistență bună la atacurile bazate pe GPU

Exemplu folosind biblioteca argon2-cffi a Python:

from argon2 import PasswordHasher

ph = PasswordHasher(time_cost=2, memory_cost=65536, parallelism=2)
hash = ph.hash("user_supplied_password")
# Verify:
ph.verify(hash, "user_supplied_password")

Frazele de Acces ca Alternativă Practică

Pentru parolele care trebuie memorate (parola principală a managerului de parole, cheia de criptare a discului complet), o frază de acces Diceware oferă cel mai bun echilibru între entropie și memorabilitate. Aruncați un zar fizic de cinci ori pentru a selecta fiecare cuvânt din Lista Mare de Cuvinte EFF. Cinci cuvinte produc aproximativ 64,6 biți de entropie; șase cuvinte produc 77,5 biți.

Example: "clam-unmasked-revival-stunt-dagger"
Entropy: ~64.6 bits (5 words × 12.92 bits)

Aceasta este mai puternică decât majoritatea parolelor „complexe” alese de utilizatori și mult mai memorabilă.

Protejarea Acreditărilor în Infrastructura dvs. de Hosting

Securitatea parolelor se extinde dincolo de conturile individuale la întregul stivă de infrastructură. Administratorii care gestionează medii de hosting ar trebui să aplice controale stratificate ale acreditărilor:

  • Acces SSH: Dezactivați complet autentificarea prin parolă; folosiți perechi de chei Ed25519 sau RSA-4096. Stocați cheile private cu o frază de acces puternică.
  • Acreditări baze de date: Folosiți parole lungi, generate aleatoriu pentru utilizatorii bazelor de date. Nu folosiți niciodată conturile root ale bazelor de date pentru conexiunile aplicațiilor.
  • Conturi panou de control: Impuneți parole puternice și MFA pentru toate autentificările la panoul de control. Platformele accesibile prin VPS cu cPanel ar trebui să aibă aplicarea puterii parolei cPanel setată la un scor minim de 65.
  • Conturi de email: Parolele slabe de email sunt un vector principal de atac pentru preluarea contului. Dacă gestionați Hosting Email, impuneți politici puternice de parole la nivelul serverului de mail și activați DMARC, DKIM și SPF pentru a reduce expunerea la phishing.
  • Chei private SSL/TLS: Protejați cheile private asociate cu Certificate SSL cu permisiuni de sistem de fișiere (chmod 600) și, unde este posibil, stocați-le într-un modul de securitate hardware (HSM) sau manager de secrete.

Puterea Parolei vs. Politica de Parole: O Comparație

DimensiuneResponsabilitatea UtilizatoruluiResponsabilitatea Administratorului
Generarea paroleiFolosiți un manager bazat pe CSPRNGImpuneți cerințe minime de entropie
StocareSeif criptat (manager de parole)Argon2id/bcrypt cu salturi unice
Prevenirea reutilizăriiParolă unică per contImpuneți prin parametrul PAM `remember`
Detectarea breșelorMonitorizați HIBPIntegrați API-ul de breșe în fluxul de autentificare
MFAActivați pe toate conturileImpuneți la nivelul aplicației/serverului
RotațieSchimbați la suspiciunea de compromitereSetați expirare bazată pe politică (90–180 zile)
Acces SSHFolosiți perechi de cheiDezactivați `PasswordAuthentication yes` în `sshd_config`

Matricea de Decizie și Concluziile Tehnice Cheie

Folosiți această listă de verificare pentru a evalua și consolida postura actuală a parolelor dvs.:

  • Ținta de entropie: Vizați un minim de 80 de biți pentru conturile generale; 100+ biți pentru accesul privilegiat (root server, parola principală a managerului de parole, chei de criptare).
  • Pragul de lungime: Nu acceptați niciodată parole mai scurte de 12 caractere în niciun sistem pe care îl controlați; preferați 16–20 pentru conturile utilizatorilor, 32+ pentru conturile de servicii și cheile API.
  • Pool de caractere: Folosiți ASCII imprimabil complet pentru parolele generate aleatoriu; folosiți Diceware pentru frazele de acces memorate.
  • Unicitate: Toleranță zero pentru reutilizarea acreditărilor. Implementați un manager de parole pentru a face acest lucru fezabil operațional.
  • Algoritm de hashing: Argon2id este standardul de aur actual pentru stocarea parolelor pe partea serverului. Migrați de la bcrypt doar dacă Argon2id este disponibil în stiva dvs.
  • Stratul MFA: TOTP minim; FIDO2/WebAuthn pentru conturile privilegiate și administrative.
  • Consolidarea SSH: Dezactivați autentificarea SSH bazată pe parolă pe toate serverele. Folosiți PasswordAuthentication no în /etc/ssh/sshd_config.
  • Monitorizarea breșelor: Abonați-vă la notificările HIBP pentru toate domeniile de email organizaționale.
  • Cadența auditului: Rulați audituri de parole față de propria bază de date hash folosind Hashcat trimestrial pentru a identifica acreditările slabe înainte ca atacatorii să o facă.
  • Aplicarea politicii: Folosiți PAM pwquality pe sistemele Linux; impuneți controale echivalente pe Windows prin Group Policy (Fine-Grained Password Policies).

Întrebări Frecvente

Care este lungimea minimă a parolei recomandată de NIST în 2024?

NIST SP 800-63B stabilește minimul absolut la 8 caractere pentru parolele alese de utilizatori, dar recomandă explicit că verificatorii să permită parole de până la cel puțin 64 de caractere. Practicienii în securitate ar trebui să impună un minim practic de 12–16 caractere și să încurajeze fraze de acces de 20+ caractere pentru conturile sensibile.

Este o parolă de 12 caractere cu simboluri mai puternică decât o frază de acces de 20 de caractere cu litere mici?

Nu neapărat. O frază de acces de 20 de caractere generată aleatoriu cu litere mici are aproximativ 94 de biți de entropie (20 × 4,70), în timp ce o parolă de 12 caractere ASCII mixt are aproximativ 78,8 biți (12 × 6,57). Fraza de acces mai lungă câștigă la entropie în ciuda utilizării unui pool de caractere mai mic — lungimea se compune mai rapid decât diversitatea caracterelor.

Care este diferența dintre un atac de dicționar și un atac brute-force?

Un atac brute-force încearcă fiecare combinație posibilă de caractere în cadrul unui spațiu definit — este exhaustiv, dar limitat computațional. Un atac de dicționar folosește o listă de cuvinte curatată de parole reale, cuvinte comune și tipare cunoscute. Atacurile de dicționar sparg marea majoritate a parolelor alese de oameni în secunde; brute-force este rezervat pentru parolele scurte unde spațiul complet de căutare este tractabil.

Ar trebui să îmi schimb periodic parolele chiar dacă nu există nicio breșă?

Ghidanța actuală NIST (SP 800-63B) recomandă explicit împotriva rotației periodice obligatorii a parolelor fără dovezi de compromitere, deoarece rotația forțată îi determină pe utilizatori să facă schimbări previzibile, incrementale (de ex., Password1 la Password2). Schimbați parolele imediat la breșa confirmată sau suspectată și rotiți acreditările conturilor de servicii pe un program definit (90–180 zile) ca practică de gestionare a riscurilor.

Cum pot verifica dacă parola mea a fost deja expusă într-o breșă de date fără a o trimite la un server terț?

Folosiți API-ul Have I Been Pwned Pwned Passwords cu implementarea sa k-anonymity. Clientul dvs. calculează hash-ul SHA-1 al parolei, trimite doar primele 5 caractere ale acelui hash la API și primește înapoi toate sufixele hash corespunzătoare. Hash-ul complet — și prin urmare parola — nu părăsește niciodată mașina dvs. Aceasta poate fi scriptată direct:

PASSWORD="YourTestPassword"
HASH=$(echo -n "$PASSWORD" | sha1sum | awk '{print toupper($1)}')
PREFIX="${HASH:0:5}"
SUFFIX="${HASH:5}"
curl -s "https://api.pwnedpasswords.com/range/$PREFIX" | grep "$SUFFIX"

Dacă comanda returnează un rezultat, parola a fost văzută într-o breșă și nu trebuie utilizată.

15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți