Někdy se během stahování po internetu zobrazí vedle stahování hash MD5, SHA-1 nebo SHA-256, ale neví se, o co jde. Tyto zdánlivě náhodné řetězce textu vám umožňují ověřit, zda stažené soubory nejsou poškozené nebo pozměněné. Můžete to udělat pomocí příkazů zabudovaných do Windows, macOS a Linux.
Jak fungují hash a jak se používají k ověření dat
Haše jsou produkty kryptografické algoritmy navržen tak, aby produkoval řetězec znaků. Tyto řetězce mají často pevnou délku bez ohledu na velikost vstupních dat. Podívejte se na výše uvedenou tabulku a uvidíte, že jak „Fox“, tak „Red Fox přeskakuje přes modrého psa“ poskytují stejný výstup délky.
Nyní porovnejte druhý příklad v grafu s třetím, čtvrtým a pátým. Uvidíte, že i přes velmi malou změnu vstupních dat se výsledné hodnoty hash navzájem velmi liší. I když někdo upraví velmi malou část vstupních dat, hash se dramaticky změní.
MD5, SHA-1 a SHA-256 jsou různé hashovací funkce. Tvůrci softwaru často stáhnou soubor - například soubor Linux .iso nebo dokonce soubor Windows .exe - a spustí jej pomocí hashovací funkce. Poté nabízejí oficiální seznam hodnot hash na svých webových stránkách.
Tímto způsobem si můžete soubor stáhnout a poté spustit funkci hash, abyste si ověřili, že máte skutečný, původní soubor a že během procesu stahování nebyl poškozen. Jak jsme viděli výše, i malá změna souboru dramaticky změní hash.
Mohou být také užitečné, pokud máte soubor, který jste získali z neoficiálního zdroje, a chcete potvrdit, že je legitimní. Řekněme, že máte soubor .ISO pro Linux, který jste odněkud získali, a chcete potvrdit, že nebyl upraven. Můžete vyhledat hash konkrétního souboru ISO online na webu distribuce Linuxu. Poté jej můžete spustit pomocí funkce hash v počítači a potvrdit, že odpovídá hodnotě hash, kterou byste očekávali. Potvrzuje se, že soubor, který máte, je přesně stejný soubor, který je nabízen ke stažení na webu distribuce Linuxu, bez jakýchkoli úprav.
Pamatujte, že u funkcí MD5 a SHA-1 byly nalezeny „kolize“. Jedná se o několik různých souborů - například bezpečný soubor a škodlivý soubor -, jejichž výsledkem je stejný hash MD5 nebo SHA-1. Proto byste měli pokud možno preferovat SHA-256.
Jak porovnávat hašovací funkce na libovolném operačním systému
S ohledem na to se podívejme na to, jak zkontrolovat hash staženého souboru a porovnat jej s daným souborem. Zde jsou metody pro Windows, macOS a Linux. Hodnoty hash budou vždy stejné, pokud ve stejném souboru používáte stejnou funkci hash. Nezáleží na tom, jaký operační systém používáte.
Okna
Tento proces je možný bez jakéhokoli softwaru třetí strany v systému Windows díky prostředí PowerShell.
Chcete-li začít, otevřete okno prostředí PowerShell spuštěním zástupce „Windows PowerShell“ v nabídce Start.
Spusťte následující příkaz a nahraďte „C: \ path \ to \ file.iso“ cestou k libovolnému souboru, u kterého chcete zobrazit hodnotu hash:
Get-FileHash C: \ cesta \ k \ file.iso
Generování hodnoty hash souboru bude nějakou dobu trvat, v závislosti na velikosti souboru, použitém algoritmu a rychlosti disku, na kterém je soubor zapnutý.
Ve výchozím nastavení příkaz zobrazí hash SHA-256 pro soubor. Můžete však určit hashovací algoritmus, který chcete použít, pokud potřebujete MD5, SHA-1 nebo jiný typ hash.
Spuštěním jednoho z následujících příkazů určete jiný hashovací algoritmus:
Get-FileHash C: \ cesta \ k \ file.iso - Algoritmus MD5
Get-FileHash C: \ path \ to \ file.iso - Algoritmus SHA1
Get-FileHash C: \ path \ to \ file.iso - Algoritmus SHA256
Get-FileHash C: \ path \ to \ file.iso - Algoritmus SHA384
Get-FileHash C: \ path \ to \ file.iso - Algoritmus SHA512
Get-FileHash C: \ cesta \ k \ file.iso - Algoritmus MACTripleDES
Get-FileHash C: \ cesta \ k \ file.iso - Algoritmus RIPEMD160
Porovnejte výsledek funkce hash s výsledkem, který jste očekávali. Pokud má stejnou hodnotu, soubor nebyl poškozen, pozměněn nebo jinak pozměněn oproti originálu.
Operační Systém Mac
macOS obsahuje příkazy pro prohlížení různých typů hash. Chcete-li k nim získat přístup, spusťte okno Terminál. Najdete ji v části Finder> Aplikace> Nástroje> Terminál.
The
Smokey
příkaz zobrazí hash MD5 souboru:
md5 / cesta / do / souboru
The
Shasum
příkaz ve výchozím nastavení zobrazuje hash SHA-1 souboru. To znamená, že následující příkazy jsou identické:
shasum / cesta / do / souboru
shasum -a 1 / cesta / k / souboru
Chcete-li zobrazit hash SHA-256 souboru, spusťte následující příkaz:
shasum -a 256 / cesta / k / souboru
Linux
V systému Linux otevřete Terminál a spuštěním jednoho z následujících příkazů zobrazte hodnotu hash souboru v závislosti na tom, jaký typ hodnoty hash chcete zobrazit:
md5sum / cesta / do / souboru
sha1sum / cesta / do / souboru
sha256sum / cesta / k / souboru
Některé haše jsou kryptograficky podepsány pro ještě větší bezpečnost
I když vám hash může pomoci potvrdit, že se souborem nebylo manipulováno, stále zde existuje jedna cesta útoku. Útočník by mohl získat kontrolu nad webem distribuce Linuxu a upravit hodnoty hash, které se na něm zobrazí, nebo by mohl útočník provést útok typu man-in-the-middle a upravit webovou stránku během přenosu, pokud jste na web přistupovali přes HTTP místo šifrovaný HTTPS .
Proto moderní distribuce Linuxu často poskytují více než hodnoty hash uvedené na webových stránkách. Kryptograficky podepisují tyto hashe, aby pomohly chránit před útočníky, kteří by se mohli pokusit hashe upravit. Budete chtít ověřit kryptografický podpis, abyste se ujistili, že hash soubor byl skutečně podepsán distribucí Linuxu, pokud si chcete být absolutně jisti, že hash a soubor nebyly změněny.
PŘÍBUZNÝ: Jak ověřit kontrolní součet linuxového ISO a potvrdit, že nebyl změněn
Ověření kryptografického podpisu je více zapojený proces. Číst náš průvodce ověřováním ISO systému Linux nebyl pozměněn s pro úplné pokyny.
Kredit obrázku: Jorge Stolfi / Wikimedia