If-Koubou

Co to są skróty MD5, SHA-1 i SHA-256 oraz jak je sprawdzać?

Co to są skróty MD5, SHA-1 i SHA-256 oraz jak je sprawdzać? (Jak)

Czasami zobaczysz skróty MD5, SHA-1 lub SHA-256 wyświetlane wraz z pobraniami podczas podróży do Internetu, ale nie wiadomo, czym one są. Te pozornie losowe ciągi tekstu pozwalają ci sprawdzić, czy pobierane pliki nie są uszkodzone lub przerobione. Możesz to zrobić za pomocą poleceń wbudowanych w Windows, macOS i Linux.

Jak działają hashe i jak są używane do weryfikacji danych

Hashe są produktami algorytmów kryptograficznych zaprojektowanych do tworzenia ciągu znaków. Często te struny mają stałą długość, niezależnie od wielkości danych wejściowych. Spójrz na powyższą tabelę, a zobaczysz, że zarówno "Lis", jak i "Czerwony lis przeskoczył nad niebieskim psem" dają taką samą długość wyjściową.

Teraz porównaj drugi przykład na wykresie z trzecim, czwartym i piątym. Zobaczysz, że pomimo bardzo niewielkiej zmiany danych wejściowych, wynikowe skróty różnią się bardzo od siebie. Nawet jeśli ktoś modyfikuje bardzo mały fragment danych wejściowych, skrót będzie się diametralnie zmieniać.

MD5, SHA-1 i SHA-256 są różnymi funkcjami skrótu. Twórcy oprogramowania często pobierają plik - jak plik .iso Linux, a nawet plik .exe Windows - i uruchamiają go za pomocą funkcji skrótu. Następnie oferują oficjalną listę skrótów na swoich stronach internetowych.

W ten sposób możesz pobrać plik, a następnie uruchomić funkcję skrótu, aby potwierdzić, że masz prawdziwy, oryginalny plik i że nie został uszkodzony podczas procesu pobierania. Jak widzieliśmy powyżej, nawet niewielka zmiana w pliku radykalnie zmieni hasz.

Mogą być również przydatne, jeśli masz plik z nieoficjalnego źródła i chcesz potwierdzić, że jest to uzasadnione. Załóżmy, że masz plik .ISO dla systemu Linux, który masz gdzieś i chcesz potwierdzić, że nie został naruszony. Możesz wyszukać hasz tego konkretnego pliku ISO online na stronie dystrybucji Linuksa. Następnie możesz uruchomić go za pomocą funkcji skrótu na komputerze i potwierdzić, że pasuje do wartości hash, której oczekujesz. To potwierdza, że ​​plik, który posiadasz, jest dokładnie tym samym plikiem, który jest oferowany do pobrania na stronie internetowej dystrybucji Linuksa, bez żadnych modyfikacji.

Zauważ, że znaleziono "kolizje" z funkcjami MD5 i SHA-1. Jest to wiele różnych plików - na przykład bezpieczny plik i złośliwy plik - które dają ten sam skrót MD5 lub SHA-1. Dlatego powinieneś preferować SHA-256, kiedy to możliwe.

Jak porównać funkcje skrótu w dowolnym systemie operacyjnym

Mając to na uwadze, spójrzmy, jak sprawdzić zawartość skrótu pobranego pliku i porównać go z tym, który otrzymałeś. Oto metody dla Windows, macOS i Linux. Skórki będą zawsze identyczne, jeśli używasz tej samej funkcji mieszania dla tego samego pliku. Nie ma znaczenia, z jakiego systemu operacyjnego korzystasz.

Windows

Ten proces jest możliwy bez oprogramowania firm trzecich w systemie Windows dzięki PowerShell.

Aby rozpocząć, otwórz okno PowerShell, uruchamiając skrót "Windows PowerShell" w menu Start.

Uruchom następujące polecenie, zastępując "C: \ path \ to \ file.iso" ścieżką do dowolnego pliku, dla którego chcesz wyświetlić skrót:

Get-FileHash C: \ ścieżka \ do \ plik.iso

Wygenerowanie skrótu pliku zajmie trochę czasu, w zależności od rozmiaru pliku, używanego algorytmu i szybkości dysku, na którym plik się znajduje.

Domyślnie polecenie pokaże skrót SHA-256 dla pliku. Można jednak podać algorytm mieszania, którego chcesz użyć, jeśli potrzebujesz MD5, SHA-1 lub innego typu skrótu.

Uruchom jedno z poniższych poleceń, aby określić inny algorytm skrótu:

Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5
Get-FileHash C: \ ścieżka \ do \ file.iso -Algorithm SHA1
Get-FileHash C: \ ścieżka \ do \ file.iso -Algorithm SHA256
Get-FileHash C: \ ścieżka \ do \ file.iso -Algorithm SHA384
Get-FileHash C: \ ścieżka \ do \ file.iso -Algorithm SHA512
Get-FileHash C: \ path \ to \ file.iso -Algorithm MACTripleDES
Get-FileHash C: \ ścieżka \ do \ file.iso -Algorithm RIPEMD160

Porównaj wynik funkcji skrótu z wynikiem, który oczekiwałeś. Jeśli ma tę samą wartość, plik nie został uszkodzony, zmodyfikowany lub zmodyfikowany w inny sposób niż oryginał.

System operacyjny Mac

macOS zawiera polecenia do przeglądania różnych typów skrótów. Aby uzyskać do nich dostęp, uruchom okno Terminal. Znajdziesz go w Finderze> Aplikacje> Narzędzia> Terminal.

The md5 polecenie pokazuje skrót mieszania MD5 pliku:

md5 / path / to / file

The shasum Polecenie domyślnie wyświetla skrót SHA-1 pliku. Oznacza to, że następujące polecenia są identyczne:

shasum / path / to / file
shasum -a 1 / path / to / file

Aby wyświetlić skrót SHA-256 pliku, uruchom następujące polecenie:

shasum -a 256 / path / do / file

Linux

W systemie Linux uzyskaj dostęp do terminala i uruchom jedną z następujących komend, aby wyświetlić mieszanie dla pliku, w zależności od typu mieszania, które chcesz wyświetlić:

md5sum / path / to / file
sha1sum / path / to / file
sha256sum / path / to / file

Niektóre hashe są podpisane kryptograficznie dla jeszcze większego bezpieczeństwa

Podczas gdy skróty mogą pomóc ci potwierdzić, że plik nie został zmieniony, wciąż istnieje jedna możliwość ataku. Osoba atakująca może przejąć kontrolę nad witryną dystrybucji Linuksa i zmodyfikować hasze, które się na niej pojawiają, lub osoba atakująca może przeprowadzić atak typu "w środku" i zmodyfikować stronę internetową w trakcie przesyłania, jeśli korzystasz z witryny za pośrednictwem protokołu HTTP zamiast zaszyfrowane HTTPS.

Dlatego współczesne dystrybucje Linuksa często dostarczają więcej niż hasze wymienione na stronach internetowych. Kryptograficznie podpisują te skróty, aby chronić przed atakującymi, którzy mogą próbować modyfikować skróty. Będziesz chciał zweryfikować podpis kryptograficzny, aby upewnić się, że plik hash został faktycznie podpisany przez dystrybucję Linuksa, jeśli chcesz mieć absolutną pewność, że hash i plik nie zostały zmodyfikowane.

Weryfikacja podpisu kryptograficznego jest bardziej zaangażowanym procesem. Zapoznaj się z naszym przewodnikiem po weryfikacji systemów plików ISO, które nie zostały zmodyfikowane w celu uzyskania pełnych instrukcji.

Image Credit: Jorge Stolfi / Wikimedia