Sanyanggae LogoSanyanggae

☁️ Chmura i bezpieczeństwo

Co potwierdza skrót pliku? Integralność i autentyczność z SHA-256

Dowiedz się, jak SHA-256 porównuje bajty zamiast nazw i jak sprawdzić pobrany plik. Rozróżnij przyczyny niezgodności oraz rolę zaufanej wartości odniesienia i podpisu cyfrowego.

사냥개 (Sanyanggae)Opublikowano Zaktualizowano 12 minut

To tłumaczenie koreańskiego oryginału. Koreański oryginał · Weryfikacja tłumaczenia: Weryfikacja przez SI

Schemat objaśniający porównanie bajtów pliku, źródło skrótu wzorcowego i granice interpretacji wyniku.
Schemat objaśniający autorstwa Sanyanggae rozróżnia porównanie bajtów, pochodzenie wzorca i zakres weryfikacji. Nie jest rzeczywistym pomiarem ani certyfikatem podpisu cyfrowego.

1. Ta sama nazwa nie oznacza tej samej zawartości

Gdy nazwa i rozmiar pobranego instalatora zgadzają się ze stroną pobierania, łatwo uznać, że plik dotarł poprawnie. Nazwę można jednak zmienić, a pliki tej samej wielkości mogą mieć różną zawartość. Z kolei skopiowanie zdjęcia pod inną nazwą nie musi zmienić jego bajtów. Skrót ułatwia porównanie: określone obliczenie przekształca zawartość pliku w krótką wartość. Pytamy więc, czy otrzymane bajty zgadzają się z wiarygodnym punktem odniesienia, a nie tylko czy nazwa wygląda przekonująco. To samo pytanie można zadać po przeniesieniu kopii zapasowej na inny nośnik.

SHA-256 to algorytm tworzący z danych wejściowych skrót o długości 256 bitów. Zwykle przedstawia się go za pomocą 64 cyfr szesnastkowych, bo każda odpowiada czterem bitom. Długość wyniku nie rośnie proporcjonalnie do rozmiaru pliku. Ten sam algorytm zastosowany do tych samych bajtów daje ten sam wynik. Ponieważ jednak wartości o skończonej długości reprezentują wszystkie możliwe dane wejściowe, zasadniczo istnieją kolizje: różne dane o tym samym skrócie. Przydatność w praktycznym porównywaniu nie oznacza matematycznie unikatowej nazwy każdego pliku. RFC 6234 zawiera obliczenia i dane testowe, również dla SHA-256.

2. Skrót nie jest szyfrowaniem ani miniaturową kopią

Znajomość skrótu nie daje przycisku odszyfrowania, który odtworzy oryginalny dokument lub zdjęcie. Szyfrowanie projektuje się tak, aby odpowiedni klucz umożliwił odzyskanie oryginału; skrót kryptograficzny nie jest formatem przechowywania służącym do jego rekonstrukcji. Nie oznacza to również, że opublikowanie samego skrótu zapewnia tajność każdych danych. Jeśli możliwych danych wejściowych jest niewiele, można obliczyć ich skróty i je porównać. Wyjaśnienie SHA-256 do weryfikacji plików nie może więc stać się poradą, że bezpośrednie haszowanie haseł wystarczy do ich przechowywania. Integralność, poufność i przechowywanie haseł mają różne wymagania.

Obliczenie skrótu całego pliku nie porównuje wyłącznie widocznych znaków. Identycznie wyglądające zdania mogą mieć inne bajty przez zakończenia wierszy, kodowanie znaków lub wewnętrzne metadane. Plik wypakowany z archiwum jest innym obiektem porównania niż samo archiwum. Jeśli przed obliczeniem normalizujemy znaki lub zmieniamy zakończenia wierszy, otrzymujemy skrót przekształconych danych. Gdy wydawca podaje wartość oryginalnego archiwum, najpierw należy porównać ją z samym pobranym archiwum. To praktyczne zastosowanie różnicy między wyświetlaniem a bajtami opisanej we wcześniejszym artykule o Unicode i UTF-8.

3. Porównuj tym samym algorytmem z właściwym wzorcem

Przed sprawdzeniem odszukaj w oficjalnej instrukcji wydawcy łącznie wersję, system operacyjny, nazwę pliku i algorytm skrótu. Wartość instalatora innego systemu lub innej wersji nie jest właściwym wzorcem. W PowerShell polecenie Get-FileHash -LiteralPath '.\download.zip' -Algorithm SHA256 odczytuje lokalny plik i oblicza jego skrót. Nie uruchamia zawartości pod wskazaną ścieżką. Oficjalna dokumentacja Microsoft wyjaśnia, że obliczenia dotyczą zawartości, a sama zmiana nazwy nie zmienia wartości. Dopasuj nazwę i ścieżkę do rzeczywiście pobranego pliku i nie modyfikuj go podczas obliczeń.

W wyniku porównaj wszystkie 64 znaki pola Hash z opublikowaną wartością SHA-256. Zgodność kilku znaków na początku lub końcu nie oznacza zgodności całości. Wielkie i małe litery szesnastkowe reprezentują te same liczby; gdy pojawią się inne znaki albo zabraknie cyfr, najpierw sprawdź skopiowaną wartość. Zgodność wspiera wniosek o spójności otrzymanych bajtów z zaufanym wzorcem. Nie sprawdza prawdziwości dokumentu, jakości programu ani złośliwego działania. Jeśli sam plik wzorcowy ma problem, identyczna kopia będzie miała ten sam skrót. Poprawne wykonanie obliczeń i możliwość użycia pliku wymagają odrębnych ocen.

4. Niezgodność wymaga wyjaśnienia, ale nie dowodzi ataku

Załóżmy, że plik dystrybucyjny pobrany wczoraj nie zgadza się z wartością w dzisiejszej instrukcji. To przykład objaśniający, nie opis rzeczywistego incydentu. Najpierw sprawdź, czy instrukcja dotyczy tej samej wersji, czy nie pobrano pliku dla innego urządzenia oraz czy obliczenie nie nastąpiło przed końcem pobierania. Możliwe, że obliczono skrót wypakowanego pliku zamiast archiwum albo edytor ponownie zapisał dokument. Należy odróżnić zmianę porównywanego obiektu od zmian podczas przesyłania lub przechowywania. Sama różnica nie ujawnia, kto, co i kiedy zmienił.

Nie uruchamiaj od razu niezgodnego instalatora w celu jego zbadania. Ponownie sprawdź oficjalną instrukcję i wartość wzorcową, a następnie porównaj nowo pobrany plik. Jeżeli różnica pozostanie, sprawdź sprostowania lub kanał wsparcia wydawcy i zachowaj wynik. Zapisz razem czas sprawdzenia, adres źródła, wersję, algorytm i obliczoną wartość. Powtarzalny wynik wskazuje spójny odczyt obecnego pliku lokalnego, ale nie rozwiązuje błędu opublikowanego wzorca ani problemu drogi dystrybucji. Nadpisanie zapisu wzorcowego oczekiwanym wynikiem usuwa podstawę oceny późniejszych zmian.

5. Dlaczego ufać wzorcowi i jaką rolę pełni podpis cyfrowy?

Jeśli atakujący może zmienić zarówno plik, jak i ogłoszony skrót, może obliczyć skrót zmodyfikowanego pliku i opublikować go jako nowy wzorzec. NIST SP 800-175B opisuje to ograniczenie skrótu bez klucza lub podpisu. Uzyskanie wartości ze strony HTTPS pod oficjalnym adresem pomaga sprawdzić pochodzenie i drogę transmisji, ale nie gwarantuje, że sam serwer dystrybucyjny nie został przejęty. Liczą się źródło wzorca i procedura budowania zaufania, a nie pozorna długość ciągu znaków. Zgodność dwóch wartości skopiowanych z jednego ekranu sama nie potwierdza tożsamości twórcy.

Podpis cyfrowy umożliwia zweryfikowanie związku podpisu z danymi, na przykład za pomocą klucza publicznego pozyskanego wiarygodną drogą. Jeśli wydawca udostępnia procedurę weryfikacji, postępuj także zgodnie z oficjalnymi wskazówkami dotyczącymi właściciela i odcisku klucza. Samo zaufanie nieznanemu kluczowi znalezionemu obok pliku niejasnego pochodzenia nie rozwiązuje początkowego problemu zaufania. HMAC używający współdzielonego tajnego klucza również jest narzędziem uwierzytelniania innym niż zwykły skrót, ale nie funkcją, którą można dowolnie dopisać do każdego pobrania i rozwiązać wszystko. Poprawny podpis nie dowodzi braku wad programu ani prawdziwości dokumentu. Zgodność bajtów, sprawdzenie pochodzenia i ocena treści łączą się, lecz każda potrzebuje własnych dowodów.

6. Zapisuj zakres porównania w kopiach i współpracy

Przy kopiach prywatnych zdjęć przechowywanie SHA-256 oryginałów i porównywanie ich z kopiami pomaga wykrywać zmiany podczas przenoszenia. Zabezpiecz także listę wzorcową, aby nie zniknęła ani nie została nadpisana razem z oryginałami. Jeśli program fotograficzny przepisze informację o obrocie lub metadane wykonania zdjęcia, skrót może się zmienić mimo podobnego wyglądu obrazu. Najpierw odróżnij zachowanie dokładnych bajtów od zachowania znaczenia edytowanego zdjęcia. Sprawdzenie całego folderu nie kończy się na skrócie jednego pliku: prowadź listę uwzględnionych plików, ich ścieżek względnych i indywidualnych wartości.

W zespołowej recenzji dokumentu skrót może także wskazać dokładnie sprawdzoną wersję. Zgodność skrótów nie zastępuje jednak dowodu, że ktoś rzeczywiście przeczytał pełny tekst lub porównał tłumaczenie. Zapisz, co, kiedy i jak sprawdzono, a potem połącz zapis z wartością pliku. Ilustracja w tym artykule to autorski schemat objaśniający porównanie bajtów, pochodzenie wzorca i zakres weryfikacji; nie jest rzeczywistym pomiarem ani certyfikatem. Sprawdzając plik, zapisz obiekt i algorytm, źródło wzorca oraz granice wniosków wynikających z rezultatu. Inna osoba będzie mogła odtworzyć procedurę bez wyolbrzymiania zgodności czy rozbieżności.

Dowody i źródła

Artykuł wyjaśnia informacje ze źródeł publicznych. Cytowanie instytucji nie oznacza, że sprawdziła lub zatwierdziła tekst.

O wydawcy i kontakt

Inne artykuły na ten temat