Domovská » jak » Co jsou MD5, SHA-1 a SHA-256 Hashes a jak je mohu kontrolovat?

    Co jsou MD5, SHA-1 a SHA-256 Hashes a jak je mohu kontrolovat?

    Někdy uvidíte v průběhu cestování na internetu společně se stahováním MD5, SHA-1 nebo SHA-256 hash, ale nevědí, co vlastně jsou. Tyto zdánlivě náhodné řetězce textu umožňují ověřit, zda soubory, které stáhnete, nejsou poškozené nebo neoprávněné. Můžete to provést pomocí příkazů zabudovaných do systému Windows, MacOS a Linux.

    Jak funguje Hashes a jak jsou používány pro ověřování dat

    Hashes jsou produkty kryptografických algoritmů navržených tak, aby vytvářely řetězec znaků. Tyto řetězce mají často pevnou délku, bez ohledu na velikost vstupních dat. Podívejte se na výše uvedený graf a zjistíte, že jak "Fox", tak "Red Fox skáče přes modrého psa" poskytují stejnou délku výstupu.

    Nyní srovnejte druhý příklad v grafu s třetím, čtvrtým a pátým. Uvidíte, že navzdory velmi malým změnám vstupních dat se výsledné hashování výrazně liší od sebe. Dokonce i když někdo změní velmi malý kus vstupních dat, haš se výrazně změní.

    MD5, SHA-1 a SHA-256 jsou všechny různé hash funkce. Tvůrci softwaru často stahují stahování souborů, jako je soubor .iso Linux nebo dokonce soubor s příponou Windows .exe a spustit je pomocí funkce hash. Pak nabídnou oficiální seznam hashů na svých webových stránkách.

    Tímto způsobem můžete stáhnout soubor a spustit funkci hash, abyste potvrdili, ž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.

    Ty mohou být také užitečné, pokud máte soubor získaný z neoficiálního zdroje a chcete potvrdit, že je to legitimní. Řekněme, že máte soubor .ISO systému Linux, který jste odkud někde dostali, a chcete potvrdit, že s ním nebyl narušen. Můžete vyhledávat hash daného souboru ISO online na webu distribuce Linuxu. Potom jej můžete spustit pomocí funkce hash v počítači a potvrdit, že odpovídá hodnotě hash, kterou očekáváte. To potvrzuje, že soubor, který máte, je přesně stejný soubor nabízený ke stažení na webu distribuce Linuxu bez jakýchkoli úprav.

    Všimněte si, že byly nalezeny "kolize" s funkcemi MD5 a SHA-1. Jedná se o několik různých souborů - například bezpečný soubor a škodlivý soubor -, které mají za následek stejný hash MD5 nebo SHA-1. Proto byste měli upřednostňovat SHA-256, pokud je to možné.

    Jak porovnávat funkce Hash na libovolném operačním systému

    S ohledem na to se podíváme na to, jak zkontrolovat hash souboru, který jste si stáhli, a srovnejte jej s tím, který jste dostali. Zde jsou metody pro Windows, MacOS a Linux. Háčky budou vždy stejné, pokud ve stejném souboru používáte stejnou funkci hashování. Nezáleží na tom, který operační systém používáte.

    Okna

    Tento proces je možný bez software třetích stran v systému Windows díky systému PowerShell.

    Chcete-li začít, otevřete okno 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, který chcete zobrazit hash:

    Získat soubor FileHash C: \ path \ to \ file.iso

    Vytvoření hash souboru bude trvat nějakou dobu, v závislosti na velikosti souboru, algoritmu, který používáte, a rychlosti jednotky, na které je soubor zapnutý.

    Ve výchozím nastavení příkaz zobrazí SHA-256 hash pro soubor. Můžete však určit algoritmus hashování, který chcete použít, pokud potřebujete hash MD5, SHA-1 nebo jiný typ hash.

    Spusťte jeden z následujících příkazů a určete jiný algoritmus hashování:

    Get-FileHash C: \ path \ to \ 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 \ to \ file.iso -Algoritmus MACTripleDES
    Get-FileHash C: \ cesta \ to \ file.iso -Algoritmus RIPEMD160

    Porovnejte výsledek funkce hash s výsledkem, který očekáváte. Je-li to stejná hodnota, soubor nebyl poškozen, poškozen nebo jinak změněn z původního dokumentu.

    Operační Systém Mac

    MacOS obsahuje příkazy pro prohlížení různých typů hashů. Chcete-li k nim přistupovat, spusťte okno Terminál. Najdete jej ve službě Finder> Aplikace> Nástroje> Terminál.

    The md5 příkaz MD5 hash souboru:

    md5 / cesta / do / souboru

    The shasum příkaz SHA-1 má výchozí hodnotu hash souboru. To znamená, že následující příkazy jsou totožné:

    shasum / cesta / do / souboru
    shasum -a 1 / cesta / do / souboru

    Chcete-li zobrazit SHA-256 hash souboru, spusťte následující příkaz:

    shasum -a 256 / path / to / file

    Linux

    Na Linuxu získáte přístup k Terminálu a spusťte jeden z následujících příkazů pro zobrazení hash souboru, v závislosti na typu hash, který chcete zobrazit:

    md5sum / cesta / do / souboru
    sha1sum / cesta / do / souboru
    sha256sum / cesta / do / souboru

    Některé hesly jsou kryptograficky podepsány pro ještě větší zabezpečení

    Zatímco hash vám může pomoci potvrdit, že soubor nebyl zablokován, je zde ještě jedna cesta útoku. Útočník by mohl získat kontrolu nad webovou stránkou distribuce Linuxu a upravit šifry, které se na něm objevují, nebo by útočník mohl provést útok typu man-in-the-middle a upravit webovou stránku v cestě, kdybyste přistupovali na web přes HTTP namísto šifrované HTTPS.

    To je důvod, proč moderní distribuce Linuxu často poskytují více než hashes uvedených na webových stránkách. Kryptograficky podepisují tyto hash, aby pomohly chránit před útočníky, kteří by se mohli pokusit o úpravu hashů. Budete chtít ověřit kryptografický podpis, abyste zajistili, že hashovaný soubor byl skutečně podepsán distribucí Linuxu, pokud chcete být naprosto jisti, že hash a soubor nebyly poškozeny.

    Ověření kryptografického podpisu je více zapojeným procesem. Přečtěte si naši příručku k ověření, zda Linux ISO nebyl pro úplné pokyny manipulován.

    Image Credit: Jorge Stolfi / Wikimedia