Kaj so hrošči MD5, SHA-1 in SHA-256 in kako jih lahko preverim?
Včasih boste med brskanjem po internetu prikazali brskalnike MD5, SHA-1 ali SHA-256, vendar ne veste, kaj so. Te na videz naključne vrstice besedila omogočajo, da preverite, ali datoteke, ki jih prenesete, niso poškodovane ali spremenjene. To lahko storite z ukazi, vgrajenimi v Windows, MacOS in Linux.
Kako deluje haše in kako se uporabljajo za preverjanje podatkov
Hashe so produkti kriptografskih algoritmov, zasnovanih za izdelavo niza znakov. Pogosto imajo ti nizi določeno dolžino, ne glede na velikost vhodnih podatkov. Oglejte si zgornji grafikon in videli boste, da oba »Fox« in »rdeča lisica preskočita modrega psa« dobita enako dolžino.
Zdaj primerjaj drugi primer v tabeli s tretjim, četrtim in petim. Videli boste, da so kljub zelo majhni spremembi vhodnih podatkov nastale hasheve zelo različne. Tudi če nekdo spremeni zelo majhen del vhodnih podatkov, se bo hash bistveno spremenil.
MD5, SHA-1 in SHA-256 so vse različne funkcije razpršitve. Ustvarjalci programske opreme pogosto vzamejo datoteko za nalaganje datotek, kot je datoteka Linux .iso, ali celo datoteko z datoteko Windows .exe in jo zaženejo prek razpršene funkcije. Nato na svojih spletnih straneh ponujajo uradni seznam hashov.
Tako lahko prenesete datoteko in nato zaženete razpršeno funkcijo, da potrdite, da imate pravo, izvirno datoteko in da med procesom prenosa ni bila poškodovana. Kot smo videli zgoraj, bo tudi majhna sprememba v datoteki drastično spremenila hash.
To je lahko koristno tudi, če imate datoteko, ki ste jo dobili iz neuradnega vira in želite potrditi, da je to zakonito. Recimo, da imate Linux .ISO datoteko, ki ste jo dobili od nekje in želite potrditi, da ni bila spremenjena. Haše določene datoteke ISO lahko poiščete na spletu na spletni strani distribucije Linuxa. Nato ga lahko zaženete prek funkcije razpršitve na vašem računalniku in potrdite, da se ujema z vrednostjo razpršitve, ki jo pričakujete. To potrjuje, da je datoteka, ki jo imate, ista datoteka, ki je na voljo za prenos na spletni strani distribucije Linuxa, brez kakršnih koli sprememb.
Upoštevajte, da so »trki« našli pri funkcijah MD5 in SHA-1. To so več različnih datotek - na primer, varna datoteka in zlonamerna datoteka - ki povzročijo isto razpršitev MD5 ali SHA-1. Zato je bolje, če želite SHA-256.
Kako primerjati Hash funkcije na katerem koli operacijskem sistemu
S tem v mislih si poglejmo, kako preveriti hash datoteke, ki ste jo prenesli, in jo primerjati s tistim, ki ste ga prejeli. Tu so metode za Windows, MacOS in Linux. Heshe bodo vedno enake, če uporabljate isto funkcijo razprševanja v isti datoteki. Ni pomembno, kateri operacijski sistem uporabljate.
Windows
Ta proces je mogoč brez programske opreme drugih proizvajalcev v sistemu Windows, zahvaljujoč programu PowerShell.
Če želite začeti, odprite okno PowerShell, tako da v meniju Start zaženete bližnjico »Windows PowerShell«.
Zaženite naslednji ukaz in zamenjajte »C: path.iso« s potjo do katere koli datoteke, ki jo želite pregledati:
Get-FileHash C: stran.iso
Za ustvarjanje razpršitve datoteke bo trajalo nekaj časa, odvisno od velikosti datoteke, algoritma, ki ga uporabljate, in hitrosti pogona, v katerem je datoteka.
Privzeto bo ukaz prikazal razpršitev SHA-256 za datoteko. Vendar pa lahko podate algoritem razprševanja, ki ga želite uporabiti, če potrebujete MD5, SHA-1 ali drugo vrsto razpršitve.
Izvedite enega od naslednjih ukazov, da podate drug algoritem razprševanja:
Get-FileHash C: file.iso -Algorithm MD5
Get-FileHash C: file.iso -Algorithm SHA1
Get-FileHash C: file.iso -Algorithm SHA256
Get-FileHash C: stran.iso -Algorithm SHA384
Get-FileHash C: stran.iso -Algorithm SHA512
Get-FileHash C: stran.iso -Algorithm MACTripleDES
Get-FileHash C: o.iso -Algorithm RIPEMD160
Primerjaj rezultat razpršitvene funkcije z rezultatom, ki ga pričakujete. Če je enaka vrednost, datoteka ni bila pokvarjena, spremenjena ali drugače spremenjena od originala.
macOS
macOS vsebuje ukaze za pregledovanje različnih vrst hashov. Za dostop do njih zaženite okno Terminal. Najdete ga v možnosti Finder> Applications> Utilities> Terminal.
The md5
ukaz prikaže hash MD5 datoteke:
md5 / pot / do / datoteka
The shasum
ukaz privzeto prikaže razpršitev SHA-1 datoteke. To pomeni, da so naslednji ukazi enaki:
shasum / pot / do / datoteka
shasum -a 1 / pot / do / datoteka
Če želite prikazati razpršitev datoteke SHA-256, zaženite ta ukaz:
shasum -a 256 / pot / do / datoteka
Linux
V Linuxu dostopite do terminala in zaženite eno od naslednjih ukazov, da si ogledate razpršitev datoteke, odvisno od vrste razpršitve, ki jo želite prikazati:
md5sum / pot / do / datoteka
sha1sum / pot / do / datoteka
sha256sum / pot / do / datoteka
Nekateri hashes so kriptografsko podpisani za še večjo varnost
Medtem ko vam heš lahko pomaga potrditi, da datoteka ni bila spremenjena, tukaj je še vedno ena možnost napada. Napadalec lahko pridobi nadzor nad spletno stranjo distribucije Linuxa in spremeni hashe, ki se pojavijo na njem, ali pa lahko napadalec izvede napad človeka v sredini in spremeni spletno stran v tranzitu, če ste namesto HTTP dostopali do spletnega mesta. šifrirani HTTPS.
Zato moderne distribucije Linuxa pogosto ponujajo več kot zgoščene na spletnih straneh. Kriptografsko podpišejo te hasheve in tako ščitijo pred napadalci, ki bi lahko poskušali spremeniti hasheve. Preveriti boste morali kriptografski podpis, da bi zagotovili, da je razpršeno datoteko dejansko podpisala distribucija Linuxa, če želite biti popolnoma prepričani, da haše in datoteke niso bile spremenjene..
Preverjanje kriptografskega podpisa je bolj vključen proces. Preberite naš vodnik za preverjanje Linux ISO-jev, ki niso bili spremenjeni za popolna navodila.
Zasluge za sliko: Jorge Stolfi / Wikimedia