Czasami podczas podróży po Internecie obok pobrań są wyświetlane skróty MD5, SHA-1 lub SHA-256, ale tak naprawdę nie wiesz, czym one są. Te pozornie losowe ciągi tekstu pozwalają sprawdzić, czy pobierane pliki nie są uszkodzone ani zmodyfikowane. Możesz to zrobić za pomocą poleceń wbudowanych w systemy Windows, macOS i Linux.
Jak działają skróty i jak są używane do weryfikacji danych
Hashe to wytwory kryptografii algorytmy zaprojektowane do tworzenia ciągu znaków. Często te ciągi mają stałą długość, niezależnie od rozmiaru danych wejściowych. Spójrz na powyższy wykres, a zobaczysz, że zarówno „Lis”, jak i „Lis rudy przeskakują nad niebieskim psem” dają taką samą długość.
Teraz porównaj drugi przykład na wykresie z trzecim, czwartym i piątym. Zobaczysz, że pomimo bardzo niewielkiej zmiany danych wejściowych, wszystkie wynikowe skróty bardzo się od siebie różnią. Nawet jeśli ktoś zmodyfikuje bardzo mały fragment danych wejściowych, skrót zmieni się dramatycznie.
MD5, SHA-1 i SHA-256 to różne funkcje skrótu. Twórcy oprogramowania często pobierają plik - na przykład plik .iso systemu Linux lub nawet plik .exe systemu 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 wartość skrótu.
Mogą być również przydatne, jeśli masz plik pobrany z nieoficjalnego źródła i chcesz potwierdzić, że jest prawdziwy. Załóżmy, że masz plik ISO. Możesz sprawdzić skrót tego konkretnego pliku ISO online w witrynie dystrybucji Linuksa. Następnie możesz przeprowadzić go przez funkcję skrótu na komputerze i potwierdzić, że pasuje do wartości skrótu, której się spodziewasz. Potwierdza to, że posiadany plik jest dokładnie tym samym plikiem, który jest oferowany do pobrania w witrynie dystrybucji Linuksa, bez żadnych modyfikacji.
Zwróć uwagę, że w przypadku funkcji MD5 i SHA-1 znaleziono „kolizje”. Jest to wiele różnych plików - na przykład bezpieczny plik i złośliwy plik - których wynikiem jest ten sam skrót MD5 lub SHA-1. Dlatego jeśli to możliwe, powinieneś preferować SHA-256.
Jak porównać funkcje skrótu w dowolnym systemie operacyjnym
Mając to na uwadze, przyjrzyjmy się, jak sprawdzić skrót pobranego pliku i porównać go z otrzymanym. Oto metody dla systemów Windows, macOS i Linux. Wartości skrótu będą zawsze identyczne, jeśli używasz tej samej funkcji haszującej w tym samym pliku. Nie ma znaczenia, jakiego systemu operacyjnego używasz.
Windows
Ten proces jest możliwy bez oprogramowania innej firmy 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: \ path \ to \ file.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 znajduje się plik.
Domyślnie polecenie pokaże skrót SHA-256 dla pliku. Możesz jednak określić algorytm mieszania, którego chcesz użyć, jeśli potrzebujesz skrótu MD5, SHA-1 lub innego typu.
Uruchom jedno z następujących poleceń, aby określić inny algorytm haszowania:
Get-FileHash C: \ path \ to \ file.iso -Algorithm MD5
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA256
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA384
Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA512
Get-FileHash C: \ path \ to \ file.iso -Algorithm MACTripleDES
Get-FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160
Porównaj wynik funkcji skrótu z oczekiwanym wynikiem. Jeśli ma tę samą wartość, plik nie został uszkodzony, zmodyfikowany ani w inny sposób zmieniony w stosunku do oryginału.
System operacyjny Mac
macOS zawiera polecenia do przeglądania różnych typów skrótów. Aby uzyskać do nich dostęp, uruchom okno terminala. Znajdziesz go w Finderze> Aplikacje> Narzędzia> Terminal.
Plik
Smokey
polecenie pokazuje skrót MD5 pliku:
md5 / ścieżka / do / pliku
Plik
Shasum
Polecenie domyślnie pokazuje skrót SHA-1 pliku. Oznacza to, że następujące polecenia są identyczne:
shasum / ścieżka / do / pliku
shasum -a 1 / ścieżka / do / pliku
Aby wyświetlić skrót SHA-256 pliku, uruchom następujące polecenie:
shasum -a 256 / ścieżka / do / pliku
Linux
W systemie Linux uzyskaj dostęp do terminala i uruchom jedno z następujących poleceń, aby wyświetlić skrót pliku, w zależności od typu skrótu, który chcesz wyświetlić:
suma md5 / ścieżka / do / pliku
sha1sum / ścieżka / do / pliku
suma sha256 / ścieżka / do / pliku
Niektóre skróty są podpisane kryptograficznie dla jeszcze większego bezpieczeństwa
Chociaż skróty mogą pomóc w potwierdzeniu, że plik nie został zmieniony, nadal istnieje jedna droga ataku. Osoba atakująca może przejąć kontrolę nad witryną internetową dystrybucji Linuksa i zmodyfikować pojawiające się w niej skróty lub może przeprowadzić atak typu man-in-the-middle i zmodyfikować przesyłaną stronę internetową, jeśli uzyskiwałeś dostęp do witryny za pośrednictwem protokołu HTTP zamiast zaszyfrowany HTTPS .
Dlatego nowoczesne dystrybucje Linuksa często zawierają więcej niż skróty wymienione na stronach internetowych. Podpisują kryptograficznie te skróty, aby chronić się przed atakującymi, którzy mogą próbować je modyfikować. Będziesz chciał zweryfikować podpis kryptograficzny, aby upewnić się, że plik skrótu został faktycznie podpisany przez dystrybucję Linuksa, jeśli chcesz mieć absolutną pewność, że skrót i plik nie zostały zmienione.
ZWIĄZANE Z: Jak zweryfikować sumę kontrolną ISO systemu Linux i potwierdzić, że nie została naruszona
Weryfikacja podpisu kryptograficznego jest bardziej złożonym procesem. Czytać nasz przewodnik dotyczący weryfikacji plików ISO systemu Linux nie został zmieniony z pełnymi instrukcjami.
Źródło zdjęcia: Jorge Stolfi / Wikimedia