Suma de control a unui fișier, numită și hash, este un șir scurt de caractere calculat din tot conținutul fișierului, care se schimbă complet dacă se modifică fie și un singur bit. Când un program sau o imagine de sistem se descarcă, compararea sumei calculate local cu cea publicată de autor arată dacă fișierul a ajuns intact. Verificarea durează câteva secunde și se face cu instrumente incluse deja în sistemul de operare.
Ce este suma de control a unui fișier?
Suma de control este rezultatul unei funcții hash aplicate fișierului: indiferent de mărimea lui, rezultatul are mereu aceeași lungime, iar același fișier dă de fiecare dată același rezultat. Funcția lucrează într-un singur sens, adică din suma de control nu se poate reconstitui fișierul. Pentru funcțiile moderne, găsirea a două fișiere diferite cu aceeași sumă este, practic, imposibilă.
Rezultatul se afișează de obicei în format hexazecimal, cu cifrele 0–9 și literele a–f. Literele mari și mici sunt echivalente.
Prin ce diferă MD5, SHA-1 și SHA-256?
MD5, SHA-1 și SHA-256 diferă prin lungimea rezultatului și prin rezistența la atacuri: MD5 și SHA-1 sunt considerate depășite pentru securitate, iar SHA-256 este alegerea obișnuită.
| Algoritm | Lungime | Caractere hexazecimale | Potrivit pentru |
|---|---|---|---|
| MD5 | 128 de biți | 32 | Detectarea erorilor accidentale de transfer |
| SHA-1 | 160 de biți | 40 | Detectarea erorilor accidentale; nu pentru securitate |
| SHA-256 | 256 de biți | 64 | Verificarea integrității și a autenticității |
| SHA-512 | 512 biți | 128 | Aceleași utilizări ca SHA-256, cu rezultat mai lung |
Pentru MD5 și SHA-1 au fost demonstrate coliziuni, adică perechi de fișiere diferite construite intenționat să aibă aceeași sumă. Ele arată în continuare corect dacă un fișier s-a corupt la descărcare, dar nu garantează că nu a fost înlocuit de cineva rău intenționat.
Cum se calculează un SHA-256 pe Windows, macOS și Linux?
Toate sistemele de operare uzuale au o comandă care calculează suma SHA-256 fără programe suplimentare.
- Windows, în PowerShell: Get-FileHash urmat de calea fișierului; algoritmul implicit este SHA-256.
- Windows, în linia de comandă clasică: certutil -hashfile urmat de calea fișierului și de SHA256.
- macOS: shasum -a 256 urmat de calea fișierului.
- Linux: sha256sum urmat de calea fișierului.
Când autorul publică un fișier text cu sumele tuturor fișierelor, pe Linux comanda sha256sum cu opțiunea -c verifică automat fiecare intrare și afișează „OK” sau „FAILED”. Mesajele afișate de aceste comenzi se citesc la fel ca orice alt rezultat tehnic; ghidul despre citirea mesajelor de eroare ajută la interpretarea lor.
Cum se compară corect suma calculată cu cea publicată?
Suma calculată se compară caracter cu caracter, pe toată lungimea, cu cea publicată pe pagina oficială a programului. Compararea doar a primelor și a ultimelor caractere nu este suficientă, pentru că tocmai o asemenea verificare grăbită poate fi exploatată.
- Se copiază suma publicată într-un fișier text sau direct în terminal.
- Se calculează suma fișierului descărcat cu algoritmul indicat de autor.
- Se compară automat cele două șiruri, de exemplu cu operatorul de egalitate din PowerShell, care ignoră diferența dintre literele mari și mici.
- Dacă sumele diferă, fișierul se șterge și se descarcă din nou, eventual de pe altă sursă oficială.
Ce nu garantează suma de control?
Suma de control nu garantează că fișierul provine de la autor dacă suma a fost publicată pe același site compromis ca și fișierul. Un atacator care poate înlocui programul poate înlocui și suma afișată lângă el. Din acest motiv, proiectele importante semnează digital fișierele sau listele de sume, iar semnătura se verifică cu cheia publică a autorului, obținută separat.
Ideea de a lega datele prin funcții hash stă și la baza altor tehnologii, cum se vede în articolul despre rolul blockchain-ului în securitatea digitală.
Când merită verificată suma de control?
Verificarea merită făcută la imaginile de sistem de operare, la programele care cer drepturi de administrator, la firmware pentru routere sau plăci de bază și la arhivele mari descărcate pe conexiuni instabile. Tot sumele de control ajută la confirmarea faptului că o copie de siguranță este identică cu originalul, verificare recomandată și în ghidul despre copiile de siguranță care chiar funcționează. Ca obicei de bază, verificarea se adaugă celorlalte reguli de securitate cibernetică pentru utilizatori obișnuiți.