Veți vedea câteodată hash-uri MD5, SHA-1 sau SHA-256 alături de descărcări în timpul călătoriilor pe internet, dar nu știți cu adevărat ce sunt. Aceste șiruri de text aparent aleatoare vă permit să verificați dacă fișierele pe care le descărcați nu sunt corupte sau manipulate. Puteți face acest lucru cu comenzile construite în Windows, MacOS și Linux.
Hashes sunt produse de algoritmi criptografici concepuți pentru a produce un șir de caractere. Adesea, aceste șiruri au o lungime fixă, indiferent de mărimea datelor de intrare. Aruncați o privire la graficul de mai sus și veți vedea că ambele "Fox" și "Foxul roșu sărit peste câinele albastru" produc aceeași ieșire de lungime.
Comparați acum al doilea exemplu din diagramă cu al treilea, al patrulea și al cincilea. Veți vedea că, în ciuda unei modificări foarte minore a datelor de intrare, hașurile rezultate sunt foarte diferite una de cealaltă. Chiar dacă cineva modifică o mică parte din datele de intrare, hash-ul se va schimba dramatic.
MD5, SHA-1 și SHA-256 sunt diferite funcții de tip hash. Creatorii de software depun adesea un fișier de descărcare - cum ar fi un fișier .iso Linux sau chiar un fișier .exe Windows - și executați-l printr-o funcție hash. Apoi oferă o listă oficială a hashes-urilor pe site-urile lor.
În acest fel, puteți să descărcați fișierul și apoi să executați funcția hash pentru a confirma că aveți fișierul original, real și că acesta nu a fost corupt în timpul procesului de descărcare. După cum am văzut mai sus, chiar și o mică modificare a fișierului va schimba drastic hash-ul.
Acestea pot fi, de asemenea, utile dacă aveți un fișier primit de la o sursă neoficială și doriți să confirmați că este legitim. Să presupunem că aveți un fișier .ISO de Linux pe care l-ați primit de undeva și doriți să confirmați că nu a fost manipulat. Puteți căuta hash-ul acestui fișier ISO specific on-line pe site-ul distribuției Linux. Puteți rula apoi prin funcția hash de pe computer și confirmați că se potrivește cu valoarea hash pe care ați aștepta să o aibă. Acest lucru confirmă faptul că fișierul pe care îl aveți este exact același fișier oferit pentru descărcare pe site-ul distribuției Linux, fără nicio modificare.
Rețineți că s-au găsit "coliziuni" cu funcțiile MD5 și SHA-1. Acestea sunt mai multe fișiere diferite - de exemplu, un fișier sigur și un fișier rău intenționat - care au ca rezultat același haș MD5 sau SHA-1. De aceea ar trebui să preferați SHA-256 atunci când este posibil.
Având în vedere acest lucru, să examinăm cum să verificăm hash-ul unui fișier descărcat și să îl comparați cu cel pe care îl oferiți. Iată metodele pentru Windows, MacOS și Linux. Cheile vor fi întotdeauna identice dacă utilizați aceeași funcție de tip hashing în același fișier. Nu contează ce sistem de operare utilizați.
Acest proces este posibil fără software de la terți pe Windows datorită PowerShell.
Pentru a începe, deschideți o fereastră PowerShell lansând comanda rapidă "Windows PowerShell" din meniul Start.
Rulați următoarea comandă, înlocuind "C: \ path \ to \ file.iso" cu calea spre orice fișier pe care doriți să vizualizați hash-ul:
Obțineți FileHash C: \ path \ to \ file.iso
Va dura ceva timp pentru a genera hash-ul fișierului, în funcție de mărimea fișierului, de algoritmul pe care îl utilizați și de viteza unității în care este pornit fișierul.
În mod implicit, comanda va afișa hash-ul SHA-256 pentru un fișier. Cu toate acestea, puteți specifica algoritmul de ștergere pe care doriți să îl utilizați dacă aveți nevoie de un tip de hash MD5, SHA-1 sau de alt tip.
Rulați una din următoarele comenzi pentru a specifica un algoritm de hashing diferit:
Obțineți FileHash C: \ path \ to \ file.iso - Algoritmul MD5
Get-FileHash C: \ cale \ pentru \ file.iso -Algoritm SHA1
Get-FileHash C: \ cale \ pentru \ file.iso -Algoritm SHA256
Obțineți FileHash C: \ path \ to \ file.iso -Algoritm SHA384
Obțineți-FileHash C: \ path \ to \ file.iso -Algoritm SHA512
Obțineți FileHash C: \ path \ to \ file.iso - Algoritmul MACTripleDES
Get-FileHash C: \ cale \ pentru \ file.iso -Algoritm RIPEMD160
Comparați rezultatul funcției hash cu rezultatul pe care l-ați așteptat să îl vedeți. Dacă este aceeași valoare, fișierul nu a fost corupt, a fost manipulat sau altfel modificat de original.
MacOS include comenzi pentru vizualizarea diferitelor tipuri de hashes. Pentru a le accesa, lansați o fereastră Terminal. Veți găsi la Finder> Aplicații> Utilitare> Terminal.
MD5
comanda afișează hash-ul MD5 al unui fișier:
md5 / path / to / fișier
shasum
comanda arată SHA-1 hash a unui fișier în mod implicit. Aceasta înseamnă că următoarele comenzi sunt identice:
shasum / cale / către / fișier
shasum -a 1 / path / to / file
Pentru a arăta SHA-256 hash-ul unui fișier, executați următoarea comandă:
shasum -a 256 / path / to / file
Pe Linux, accesați un Terminal și executați una dintre următoarele comenzi pentru a vizualiza hash-ul pentru un fișier, în funcție de tipul de hash pe care doriți să-l vizualizați:
md5sum / cale / către / fișier
sha1sum / path / to / file
sha256sum / path / to / file
În timp ce hash-urile vă pot ajuta să confirmați că un fișier nu a fost modificat, există încă o cale de atac aici. Un atacator ar putea să obțină controlul asupra unui site web al distribuției Linux și să modifice hash-urile care apar pe acesta sau un atacator ar putea efectua un atac om-în-mijloc și poate modifica pagina web în tranzit dacă accesați site-ul prin HTTP în loc de criptate HTTPS.
De aceea distribuțiile moderne de Linux furnizează adesea mai mult decât hashes listate pe paginile web. Ei semnează criptografic aceste ștersuri pentru a proteja împotriva atacatorilor care ar putea încerca să modifice hashes-urile.Veți dori să verificați semnătura criptografică pentru a vă asigura că fișierul hash a fost de fapt semnat de distribuția Linux dacă doriți să fiți absolut siguri că hash-ul și dosarul nu au fost manipulate.
Verificarea semnăturii criptografice este un proces mai implicat. Citiți ghidul nostru pentru a verifica dacă ISO-urile Linux nu au fost modificate pentru instrucțiuni complete.
Credit de imagine: Jorge Stolfi / Wikimedia