Funkcje skrótu kryptograficzne

Funkcje skrótu kryptograficzne

Nowoczesna kryptografia oferuje szeroką gamę narzędzi i technik chroniących dane w tranzycie i w spoczynku. Funkcje skrótu kryptograficzne należą do rodzaju protokołu kryptograficznego opartego na szyfrach blokowych. Odgrywają znaczącą rolę w zabezpieczeniu współczesnych systemów komunikacyjnych i pracują jako bariera dla intruzów poprzez zapewnienie autentyczności danych. Bezpieczne zapisywanie i pobieranie haseł i anonimowych transakcji kryptograficznych to kilka z wielu aplikacji do funkcji skrótu.

Artykuł zawiera szeroki przegląd i wykorzystanie funkcji skrótu kryptograficznego. Wyjaśniamy właściwości skrótu, ich użycie w różnych dziedzinach, możliwe ataki i słabości, a co najważniejsze, sposoby wzmocnienia skrótów i poprawy funkcji skrótu.

Co to jest funkcja skrótu?

Jest to funkcja jednokierunkowa lub unikalny identyfikator, który, biorąc pod uwagę wejście o zmienną długość, wyświetla trawienie skrótu o stałej długości. Jednak długość wyjścia zależy od algorytmu mieszania. Ogólnie rzecz biorąc, najpopularniej znane algorytmy mają długość skrótów 160-512 bitów.

Ale aby wyprowadzić dane do stałej długości, funkcje skrótu najpierw weź wstępnie ustawione blok danych zwanych blokami danych. Rozmiar bloku danych zmienia się w zależności od algorytmu, ale zawsze jest taki sam dla jednego algorytmu. Na przykład funkcja skrótu SHA-1 akceptuje rozmiar bloku 512 bitów, a jeśli wejście jest tego samego rozmiaru, działa tylko raz, czyli 80 rund. Jeśli rozmiar wejścia wynosi 1024, algorytm będzie działał dwa razy.

Realistycznie rozmiar wejścia rzadko jest wielokrotną 512-bitową. W takich przypadkach stosujemy technikę znaną jako wyściółka, która dzieli komunikat/dane na bloki danych tej samej długości. Tak, że funkcja jest wykonywana na podstawie całkowitej liczby bloków danych i przetwarzania każdego bloku danych. Wyjście pierwszego bloku jako wejście z drugim blokiem i tak dalej. Stąd końcowy skrót to łączna wartość wszystkich wartości wyjściowych.

Hashing vs. Szyfrowanie

Haszowanie i szyfrowanie są unikalnymi i osobnymi procesami z własnym zestawem funkcji, właściwości i procedur.

Szyfrowanie jest procesem dwukierunkowym/odwracalnym, ponieważ zawiera użycie klucza, który jest udostępniany lub jest związany z matematycznie, ale nie identyfikatorów publicznych i prywatnych. W przeciwieństwie do szyfrowania, skróty są łatwe do obliczenia i trudne do odwrócenia się do oryginalnego tekstu zwykłego.

Hashing zapewnia integralność danych. Z drugiej strony szyfrowanie udziela poufności danych.

Dobro skrótów

Mimo że mieszanie nie jest szyfrowaniem, jest to forma kryptografii, która zapewnia:

  • ochrona hasła
  • Weryfikacja integralności danych / plików
  • podpisy cyfrowe i
  • Podpisy wirusa.

Ochrona hasła

Ilekroć użytkownik wprowadza hasło do uwierzytelniania, hash hasła jest porównywana z plikami zawierającymi skróty systemowe w komputerze. System umożliwia dostęp tylko po pomyślnym uwierzytelnianiu. Na przykład system Windows przechowuje hasła hasła w pliku Menedżera konta bezpieczeństwa (SAM), podczas gdy Linux przechowuje hasła w pliku /etc /shadow.

Weryfikacja pliku

Podobnie niektóre strony internetowe mają wartość skrótu, aby zweryfikować integralność pobranego oprogramowania, które zapewnia, że ​​nie jest ono uszkodzone lub ktoś nie manipulował plikiem podczas pobierania.

Na przykład strona internetowa do pobrania Linux Mint 20.2 Zdjęcie ISO „Uma” (64-bitowe) dzieli swoje hash SHA256 w SHA256Sum.plik txt. Aby zweryfikować integralność obrazu, płyta CD do pobranego katalogu obrazów i wygeneruj sumę SHA256 w następujący sposób:

Ubuntu@ubuntu: ~ $ sha256sum -b *.ISO

SHA256Sum.tekst Plik zawiera cztery skróty w zależności od różnych komunikatów komputerów stacjonarnych. Porównaj wygenerowaną wartość skrótu z haszem obrazu ISO cynamonowego komputera stacjonarnego w pliku, aby sprawdzić jego integralność, jeśli pasują; Oznacza to, że obraz ISO jest gotowy do użycia.

Przed SHA256 algorytm mieszania MD5 został użyty do weryfikacji integralności pobranego pliku, ale nie jest już prawdziwym algorytmem skrótu kryptograficznego, ponieważ nie jest odporny na kolizję (więcej na ten temat).

Podpisy cyfrowe

Podpis cyfrowy uwierzytelnia nadawcę, dołączając oryginalną wiadomość z zaszyfrowaną komunikatem Digest. Nadawca szyfruje kluczem prywatnym, aby zapewnić niezadowolenie, podczas gdy skrót chroni przed manipulowaniem danych i zapewnia integralność I.mi., Digital Signature = klucz prywatny nadawcy (skrót (wiadomość)).

Odbiornik odszyfrowuje wiadomość podsumowując klucz publiczny nadawcy i bierze skrót oryginalnej wiadomości, aby porównać z odszyfrowanym skrótem.

Podpisy wirusa

Rozwiązania antywirusowe wykorzystują różne podejścia do identyfikacji złośliwego oprogramowania; Jednym z nich jest dopasowanie skrótu. Zajmują część lub blok wykonywalny, aby utworzyć skrót i porównać ją z skrótami złośliwego oprogramowania przechowywanego w ich bazach danych.

Właściwości skrótów

Zestaw właściwości, które sprawiają, że funkcje skrótu odgrywają kluczową rolę w kryptografii klucza publicznego, jest następujący:

  • Dobry algorytm skrótu zwraca wartość skrótu stałego rozmiaru/długości, niezależnie od rozmiaru wejściowego.
  • Oferuje odporność przed obrazem, co oznacza, że ​​nie można odzyskać pierwotnej wartości poprzez odwrócenie skrótu.
  • Silny algorytm mieszania zapewnia odporność na zderzenie. Oznacza to, że żadne dwa różne wejścia nie mogą mieć podobnego wyjścia.
  • Niewielka zmiana danych wejściowych generuje znaczące zmiany wyjścia. Ta właściwość HASHES pomaga zapewnić integralność plików/danych.
  • Szybkość obliczeniowa funkcji skrótu kryptograficznego to kolejna idealna właściwość. Jest jednak subiektywny i różni się na podstawie celu i obszaru zastosowania.

Tryby skrótów

Najbardziej znanymi funkcjami skrótu są algorytm z najwyższego poziomu wiadomości (MDA), bezpieczny algorytm hash (SHA), NTLM itp.

  • MD5: MD5 to piąta wersja algorytmów message-cest, która ma długość wyjściową 128-bitową. Był to najczęściej znany algorytm mieszania, dopóki nie stał się podatny na ataki kolizji (więcej na ten temat później). Na przykład, przed bezpiecznym algorytmami mieszania (SHA), algorytm mieszania MD5 był najczęściej stosowaną metodą weryfikacji integralności plików.
  • SHA: NSA wprowadził bezpieczny algorytm hash. Jest to pakiet algorytmów zawierających cztery funkcje wariantu SHA-224, SHA-256, SHA-384 i SHA-512. Każda nazwa wariantu reprezentuje rozmiar jego wyjścia. Jest to bezpieczniejszy algorytm mieszania, ponieważ jak dotąd żaden kompromis algorytmów mieszania.
  • NTLM: Algorytm Hash NT LAN Manager jest używany do mieszania haseł. NTLM używa cyklicznych kontroli redundancji i podsumowania wiadomości, ale jego jedyną wadą jest to, że opiera się na szyfrze RC4, który w przeciwieństwie do nowych protokołów kryptograficznych, AES i SHA-256 były celem udanego ataku. NTLMV2 rozwiązuje te problemy, używając systemu 128-bitowego HMAC-MD5.

Zły haszczy

Jak omówiono wcześniej, duże skróty wielkości bloków mogą spowolnić atakujących, a inżynieria odwrotna Hash kryptograficzny może być trudny, ale nie jest niemożliwe. Wszyscy wymagają atakujących, to czas, w którym mogą łatwo zarządzać, używając szybkiego sprzętu i tworząc kolizje lub ataki kanału bocznego. Sekcja omawia niektóre sposoby eksploatacji skrótu.

Kolizja
Kolizja w haszowaniu występuje, gdy dwa wejścia zwracają tę samą wartość wyjściową. Niezawodne funkcje skrótu zostały zaprojektowane w celu zapewnienia odporności na kolizję. Ale jest nieuniknione z powodu efektu szuflady. Zgodnie z efektem szuflady istnieje ustalona liczba wartości wyjściowych w stosunku do wejścia dowolnego rozmiaru. Oznacza to, że ponieważ zawsze będzie więcej danych wejściowych niż wyjście, zderzenie jest nieuniknione zdarzenie.

Stoły tęczowe
Jak wspomniano wcześniej, systemy operacyjne nie przechowują haseł w PlainText. Stąd tabele tęczowe to wstępnie pokonane bazy danych lub tabele wyszukiwania, które mapują skróty na hasło PlainText. Na przykład strona internetowa CrackStation zapewnia ogromną bazę danych do pękania skrótów do haseł bez solania. Jednak Tabele Rainbow Time Time to Crack Hames z dużą ilością miejsca do przechowywania.

Zaletą tęczowych stołów przeciwko brutalnym wymuszaniu jest proste wyszukiwanie i porównanie operacji w przeciwieństwie do zautomatyzowanych prób prób i błędów z problemem obliczania skrótu. Ponadto nie wymaga dokładnego dopasowania hasła, co oznacza, że ​​skrót pasuje do jakiegokolwiek hasła/frazy, system umożliwia uwierzytelnianie.

John Rozpruwacz
John jest potężnym i wszechstronnym narzędziem, które pomaga złamać skróty. Jest podobny do zautomatyzowanego ataku słownika, który używa listy słów lub słownika do obliczenia skrótu i ​​porównania. Stąd pozwala na brutalną siłę na szeregu trybów skrótu. Przykładem listy słów jest Rockyou.plik txt, który zawiera hasła z naruszenia Rockyou.Witryna COM. Lista słów jest dostępna w seklach Github poniżej /Hasła/wyciekane-databazy.

Najprostszym sposobem na złamanie skrótu jest użycie Jan polecenie z opcją formatu, aby określić typ skrótu, ścieżkę do listy słów i plik o wartości skrótu. W Kali Linux ścieżka do Rouckyou.plik txt jest /usr/share/WordLists.

Ubuntu@ubuntu: ~ $ John - -Format = - -WordList =/usr/share/słowniki/rockyou.TXT HASH.tekst

Podaj hash
Pass-the-Hash to kradzież poświadczeń, która może potencjalnie eskalacja przywileju poziomego. Mimo że atak może nastąpić w systemach Linux/UNIX, jest on bardziej rozpowszechniony w systemie Windows. Windows uwierzytelnia uzasadnionego użytkownika, dopasowując skrót wprowadzonego hasła, który jest statyczny i który zmienia się tylko wtedy, gdy hasło się zmieniają. Poza tym hasła są dostępne w różnych lokalizacjach w systemie Windows, takich jak pamięć procesowa SAM i Local Security Authority (LSASS) itp.

Stąd atakujący manipulują modelem wyzwań i reakcji protokołu bezpieczeństwa NTLM, który pozwala im uwierzytelnić się jako prawidłowych użytkowników. Atakujący zrzuca skróty systemu docelowego i używa narzędzia „Pass-the-Hash”, aby podszywać się z autentycznego użytkownika. Dlatego atakujący nie musi wprowadzać ani brutalnie wycenić hasło lub inżynier odwrotnej wartości skrótu. Znajdź więcej szczegółów na temat ataku stąd.

Atak urodzinowy
Atak należy do klasy ataku brutalnej siły i jest oparty na paradoksie urodzinowym w teorii prawdopodobieństwa. Używa problemu urodzinowego, aby wysłać dwie różne wiadomości z tym samym protokołem skrótu kryptograficznego, aby spowodować kolizję. Atak ogólnie ma na celu manipulowanie komunikacją. Więcej szczegółów na temat ataku urodzinowego jest dostępnych tutaj.

Hasze w górę

Istnieją różne sposoby ochrony przed atakami na skróty i ograniczenie ich do funkcji skrótu kryptograficznego.

Solone skróty
Solowanie to proces dodawania losowo wygenerowanych danych (soli) do wejścia funkcji skrótu. Proces ten pomaga chronić przed atakami tęczowymi. Użytkownicy mogą uwzględnić wartość soli na początku lub na końcu hasła przed utworzeniem skrótu, który generuje różne wyjścia, nawet jeśli hasła są podobne. Poza tym użytkownik może utrzymać sól publiczną.

Kluczowe skróty
HMAC jest przykładem kluczowych skrótów, które wykorzystują klucze kryptograficzne i funkcje skrótu do poprawy ograniczeń algorytmu kodu uwierzytelniania wiadomości (MAC). Pomaga jednocześnie osiągnąć poufność i integralność informacji.

Adaptacyjna funkcja skrótu
Adaptacyjne funkcje skrótu są zaprojektowane tak, aby powtórzyć ich wewnętrzną pracę, ponieważ nazwa sugeruje, że użytkownik może dostosować liczbę iteracji. Kluczowe rozciąganie to jedna technika, która przyjmuje słaby klucz jako dane wejściowe, przetwarza go i iteruje proces wyświetlania potężnego klucza dużych rozmiarów. Proces może zwiększyć kluczowy rozmiar do 128 bitów, co jest trudne do ataku na brutalną siłę. PBKDF2 i BCRYPT są przykładami adaptacyjnych funkcji skrótu.

Wniosek

Artykuł zawiera obszerny przegląd protokołów skrótu kryptograficznego. Pokazuje, jak weryfikować integralność plików i podaje przegląd, w jaki sposób można złamać hasła hasła za pośrednictwem narzędzia Johna The Ripper. Omawiamy również szereg ataków i miar w celu wygenerowania niezaprzeczalnych skrótów poprzez solenie, kluczowe skróty i adaptacyjne funkcje skrótu.