Temat: Hashing hasel. Hashowanie hasel a szyfrowanie. Charakterystyka roznych algorytmow (metod) haszujacych. Niebezpieczne (skompromitowane) i podatne na ataki metody szyfrujace. Pozyskiwanie danych z przykladowych hashy. 0. Przypomnij jakie dane pochodzace z wycieku mozna pozyskac z serwisu: haveibeenpwned.com oraz dehashed.com . W jaki sposob najczesciej moze dosc do wycieku? Hashing hasel to proces przeksztalcania zwyklego hasla na dlugi ciag znakow za pomoca algorytmu matematycznego. Ten ciag znakow, zwany "hashem", jest unikalny dla kazdego hasla. Kluczowa cecha algorytmu hashowania jest to, ze hash nie moze byc odwrocony na podstawie samego niego. Oznacza to, ze nie mozna odczytac oryginalnego hasla z jego hashu. Hashowanie hasel jest uzywane w systemach bezpieczenstwa do przechowywania hasel uzytkownikow w formie, ktora jest trudna do zlamania przez niepozadane osoby. 1. Na czym polega hashowanie hasel? 2. Podaj cechy hashowania hasel, ktore podnosza bezpieczenstwo? Technicznie rzecz biorac, hashowanie hasel a szyfrowanie to dwie rozne kategorie procesow. Oto ich roznice: Hashowanie Hasel: Nieodwracalnosc: Glowna cecha algorytmow hashowania jest to, ze sa one jednokierunkowe i nieodwracalne. Oznacza to, ze nie mozna odtworzyc oryginalnego hasla z jego hasha. Zastosowanie: Hashowanie hasel jest uzywane w systemach bezpieczenstwa, gdzie hasla uzytkownikow sa zapisywane jako hashe w bazie danych. Podczas logowania system po prostu porownuje hash wprowadzonego hasla z zapisanym hashem w bazie danych. Szyfrowanie: Odwrotnosc: Szyfrowanie jest procesem odwracalnym. Oznacza to, ze za pomoca klucza szyfrowania mozna odkodowac zaszyfrowana wiadomosc z powrotem na jej pierwotna postac. Zastosowanie: Szyfrowanie jest uzywane do zabezpieczania danych podczas przesylania ich przez siec lub przechowywania na urzadzeniach. Szyfrowane dane moga byc odkodowane za pomoca klucza szyfrowania, aby przywrocic ich pierwotna postac. Podsumowujac, hashowanie hasel i szyfrowanie to dwa rozne procesy. Hashowanie jest jednokierunkowym procesem bez odwracalnosci, podczas gdy szyfrowanie jest odwracalnym procesem, ktory moze byc cofniety za pomoca odpowiedniego klucza. W kontekscie przechowywania hasel w systemach bezpieczenstwa, stosuje sie hashowanie, poniewaz nie chcemy przechowywac hasel w formie, ktora moze byc odwrocona z powrotem do ich pierwotnej postaci. 3. Czy hashowanie i szyfrowanie hasel to ten sam proces? 4. Podaj kolejne cechy hashowania hasel. 5. Podaj zastosowanie hashowania hasel. 6. Co chartakteryzuje szyfrowanie? 7. Podaj zastosowanie szyfrowania danych. *8. Jak myslisz w jaki sposob sa lamane/odzyskiwane hasla zahashowane? Pamietajac o glownej roznicy hashowania i szyfrowania danych. 9. Zapoznaj sie z charakterystyka wybranych (najczesciej uzywanych) algorytmow hashujacych: MD5 (Message Digest Algorithm 5): Dlugosc hasha: 128-bitowy hash (32 znaki szesnastkowe). Charakterystyka: Byl popularny, ale jest juz uznawany za slaby ze wzgledu na swoja podatnosc na kolizje (dwie rozne dane, ktore daja ten sam hash). Zastosowanie: Czesto uzywany w starszych systemach, jednak nie jest zalecany do zastosowan, gdzie wymagane jest bezpieczenstwo. SHA-1 (Secure Hash Algorithm 1): Dlugosc hasha: 160-bitowy hash (40 znakow szesnastkowych). Charakterystyka: Podobnie jak MD5, SHA-1 jest uwazany za slaby ze wzgledu na podatnosc na kolizje. Nie jest juz zalecany do zastosowan kryptograficznych. Zastosowanie: Nadal czasem uzywany do zastosowan, gdzie nie jest wymagane bardzo wysokie bezpieczenstwo, ale zalecane jest unikanie go w nowych projektach. SHA-256 (Secure Hash Algorithm 256-bit): Dlugosc hasha: 256-bitowy hash (64 znaki szesnastkowe). Charakterystyka: Bardzo bezpieczny i szeroko stosowany. Zapewnia znacznie wieksze bezpieczenstwo w porownaniu do MD5 i SHA-1. Zastosowanie: Powszechnie stosowany do zabezpieczania hasel, danych i innych informacji w aplikacjach internetowych i systemach informatycznych. SHA-512 (Secure Hash Algorithm 512-bit): Dlugosc hasha: 512-bitowy hash (128 znakow szesnastkowych). Charakterystyka: Jest jeszcze bardziej bezpieczny niz SHA-256 ze wzgledu na dluzsza dlugosc hasha. Zastosowanie: Uzywany tam, gdzie wymagane jest bardzo wysokie bezpieczenstwo, na przyklad w aplikacjach, ktore przechowuja bardzo wazne i poufne dane. Pamietaj, ze im dluzszy jest hash, tym bardziej jest odporny na ataki brute-force (probe przetestowania wszystkich mozliwych kombinacji). Dlatego w miare mozliwosci zaleca sie uzywanie dluzszych i bardziej bezpiecznych algorytmow haszujacych, takich jak SHA-512, szczegolnie w nowych projektach. 10. Zapamietaj metody (algorytmy) hashujace, ktorych nie powinno sie stosowac jesli mowa o bezpieczenstwie danych: MD5 i SHA-1 zostaly uznane za niebezpieczne i podatne na ataki kolizji, co oznacza, ze istnieje mozliwosc znalezienia dwoch roznych danych, ktore generuja ten sam hash. Oto krotka charakterystyka ich podatnosci: MD5 (Message Digest Algorithm 5): Podatnosc: W 2004 roku zostal odkryty pierwszy atak na kolizje dla MD5, a od tego czasu znaleziono wiele innych. Wplyw na bezpieczenstwo: Obecnie jest uznawany za calkowicie niebezpieczny dla zastosowan kryptograficznych. SHA-1 (Secure Hash Algorithm 1): Podatnosc: W 2017 roku naukowcy oglosili oficjalne znalezienie pierwszej kolizji SHA-1, co oznacza, ze algorytm ten nie jest juz bezpieczny dla zastosowan kryptograficznych. Wplyw na bezpieczenstwo: Jest uwazany za przestarzaly i niebezpieczny. Z tego powodu zaleca sie unikanie zarowno MD5, jak i SHA-1 w nowych projektach. SHA-256 i wyzsze wersje, takie jak SHA-512, pozostaja bezpieczne i sa obecnie powszechnie stosowane w zastosowaniach kryptograficznych, ktore wymagaja wysokiego poziomu bezpieczenstwa. 11. Wejdz na strone www: https://crackstation.net/ 12. W sekcji "Free Password Hash Cracker" sprawdz pojedynczo kazdy hash z ponizszej listy jaka posiada wartosc oraz jaka metoda zahashowany a) 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 b) 58756879c05c68dfac9866712fad6a93f8146f337a69afe7dd238f3364946366 c) c0e81794384491161f1777c232bc6bd9ec38f616560b120fda8e90f383853542 d) 5f4dcc3b5aa765d61d8327deb882cf99 e) 6cbe615c106f422d23669b610b564800 f) 630bf032efe4507f2c57b280995925a9 g) 386f43fab5d096a7a66d67c8f213e5ec h) d5ec75d5fe70d428685510fae36492d9 13. W nawiazaniu do pytania nr (*8) jak myslisz w jaki sposob sa lamane/odzyskiwane hasla zahashowane? Pamietajac o glownej roznicy hashowania i szyfrowania danych. 14. Czy bylo mozliwe pozyskanie wymaganych danych (wartosc hasla oraz metoda hashowania) kazdego hasha? Uzasadnij odpowiedz. 15. Zapoznaj sie z opisem 'How CrackStation Works'. 16. Aby zrozumiec o co chodzi z soleniem jesli mowimy o hashowaniu hasel zapoznaj sie z ponizszym opisem: Solenie (ang. "salting") jest technika uzywana w kryptografii, zwlaszcza podczas hashowania hasel. Kiedy uzytkownik tworzy konto na stronie internetowej lub aplikacji, czesto musi wprowadzic haslo, ktore nastepnie jest hashowane i przechowywane w bazie danych. Proces hashowania zamienia czytelne haslo na ciag znakow, ktory jest trudny do odwrocenia na pierwotne haslo. Jednak hashowanie samo w sobie moze byc podatne na ataki, takie jak atak tabeli lukow (ang. "rainbow table attack"), gdzie atakujacy moze odwrocic hashe i uzyskac oryginalne haslo. Solenie polega na dodaniu losowego i unikalnego ciagu znakow, zwanych "sola", do hasla przed jego hashowaniem. Ta sol jest nastepnie rowniez hashowana razem z haslem. Unikalnosc soli dla kazdego uzytkownika lub kazdego hasla oznacza, ze nawet jesli uzytkownicy maja takie same hasla, ich hashe w bazie danych beda roznic sie ze wzgledu na rozne soli. To utrudnia atakujacym odgadniecie hasel za pomoca atakow tabeli lukow, poniewaz atakujacy musi znac zarowno haslo, jak i odpowiadajaca mu sol, aby odtworzyc prawidlowy hash. Solenie zwieksza bezpieczenstwo hasel, poniewaz nawet jesli zloczynca zdobylby dostep do bazy danych z haszami hasel, nie moglby latwo odwrocic tych hasel na ich pierwotne formy bez znajomosci odpowiadajacych soli. Dzieki temu technika ta pomaga zabezpieczyc hasla uzytkownikow przed atakami lamania hasel. 17. W ramach powtorki pytania nr (*0) przypomnij jakie dane pochodzace z wycieku mozna pozyskac z serwisu: haveibeenpwned.com oraz dehashed.com . W jaki sposob najczesciej moze dosc do wycieku? *18. Co podnosi bezpieczenstwo hasel oraz minimalizuje odzyskanie/zlamanie hasla jesli dojdzie do wycieku danych? 19. Zapoznaj sie z opisem sekcji 'Wordlist Download'. 20. Jaki jest cel projektu - CrackStation? www.CrackStation -> 'Contact Us' oraz 'ToS & Privacy Policy' *21. Zapoznaj sie z obszernym opisem sekcji 'Salted Password Hashing - Doing it Right'.