Kupuj kryptowaluty BLIKiem ⚡
Błyskawiczne wpłaty bez opłat i prowizji na giełdzie OKX.
Siema ekipa, zakładam nowy wątek, bo mózg mi trochę paruje od nadmiaru informacji. Ostatnio wszędzie, gdzie nie wejdę w sieci, czy to na grupach o krypto, czy w dyskusjach o tym jak robić bezpieczne logowanie na stronkach, przewija się jedno konkretne hasło. Zastanawiam się w sumie czym jest algorytm SHA-256? No dobra, niby kojarzę, że to ma ścisły związek z bezpieczeństwem danych, ale chciałbym to ogarnąć tak na chłopski rozum, bez tego całego sztywnego, akademickiego bełkotu.
Próbowałem coś tam samemu kminić i z tego co wyczytałem, to jest to jakaś zaawansowana kryptograficzna funkcja skrótu. Zrozumiałem to tak, że wrzucasz do maszyny dowolny tekst, plik ze zdjęciem, a nawet całego pendrive'a gigabajtów danych, a ten algorytm SHA-256 zawsze wypluwa ci w zamian ciąg znaków o tej samej długości. Generuje po prostu tak zwany hash. Pewnie od tej stałej długości, czyli 256 bitów, wzięła się sama nazwa, prawda?
Fajnie, tylko jak to działa w praktyce? Słyszałem, że cały Bitcoin i technologia blockchain na tym stoi. Że koparki kryptowalut tak naprawdę non stop liczą te hashe, żeby potwierdzać transakcje w sieci. Ale najbardziej ciekawi mnie temat haseł. Kumpel programista mi kiedyś rzucił, że jak zakładasz konto u nas na forum, to serwer wcale nie zapisuje twojego hasła wprost jako "mojeHaslo123". Zamiast tego przepuszcza je przez szyfrowanie i w bazie ląduje tylko ten wygenerowany, dziwny ciąg znaków. Jak się logujesz, system sprawdza tylko czy to, co wpisałeś, daje ten sam hash. Brzmi jak serio konkretne zabezpieczenie.
Mam jednak pewną rozkmine. Skoro z każdego pliku na świecie da się zrobić taki skrót, to czy nie ma opcji, że dwa zupełnie różne pliki dadzą nam dokładnie ten sam wynik? Kojarzę z jakichś podcastów, że w starszych standardach (chyba MD5 to się zwało) takie kolizje zajęłyby hakerom dosłownie chwilę. Przy tym nowym standardzie podobno jest to fizycznie niemożliwe dla obecnych komputerów.
Będę mega wdzięczny, jak ktoś ogarnięty w temacie bezpieczeństwa sieciowego trochę mi to rozjaśni. Jak to dokładnie powstało i dlaczego akurat ta kryptografia tak zdominowała rynek? Piszcie śmiało, tylko błagam - bez trudnych wzorów matematycznych!
Kupuj kryptowaluty BLIKiem ⚡
Błyskawiczne wpłaty bez opłat i prowizji na giełdzie OKX.
Siema stary, dobrze to rozkminiłeś na samym starcie. W zasadzie to sam sobie w sporej mierze odpowiedziałeś na pytanie czym jest algorytm SHA-256, ale chętnie dorzucę tu swoje trzy grosze, bo temat jest mega gruby i warto go czaić, jak się siedzi w IT.
Jak próbujesz to ogarnąć bez nerdowskiego bełkotu, to wyobraź sobie ten cały skrót kryptograficzny jako taką magiczną, nieodwracalną maszynkę do mięsa. Wrzucasz do niej dosłownie co chcesz - to może być jedno słowo, fota z wakacji albo gigantyczna baza danych. Klikasz przycisk i algorytm haszujący mieli to wszystko, wypluwając dokładnie 64 znaki w formacie szesnastkowym. To daje nam w pamięci kompa równe 256 bitów, więc tak, z nazwą trafiłeś w dziesiątkę. Największy myk polega tu na tym, co nazywamy efektem lawinowym. Wrzucisz plik tekstowy, dostaniesz hash. Zmodyfikujesz w tym pliku jeden jedyny przecinek, przepuścisz go znowu i bum - maszyna wypluwa totalnie, ale to totalnie inny ciąg znaków. Nie ma opcji, żeby na oko zgadnąć, czy te dwa pliki były do siebie w ogóle podobne.
Zastanawiasz się pewnie jak to się ma do haseł. Twój kumpel koder miał absolutną rację. Trzymanie haseł w bazie jako czysty tekst to kompletny kryminał i proszenie się o wyciek. Serwer przechowuje wyłącznie ten wygenerowany podpis cyfrowy. Jak wpisujesz hasło przy logowaniu, skrypt w locie robi z niego hash i porównuje tylko te dwa długie ciągi. Jak pasują - wbijasz na konto. Ale uwaga, żeby było bezpieczniej, do takich haseł dorzuca się jeszcze tak zwaną sól (salt). To taki losowy śmieciowy tekst doklejany do twojego hasła przed haszowaniem, żeby ubić ataki słownikowe i gotowe tablice tęczowe. Tak to się teraz robi w branży.
Co do krypto i całego blockchaina. Koparki Bitcoinów robią dokładnie to - napierdzielają te obliczenia na pełnej mocy w kółko. Szukają konkretnego, bardzo rzadkiego hasha, który ma na początku określoną ilość zer. Kto pierwszy go znajdzie i potwierdzi blok, zgarnia hajs. To taki gigantyczny wyścig zbrojeń na czystą moc obliczeniową układów scalonych.
Pytasz też o kolizje, czyli akcje, gdzie dwa różne pliki wejściowe dają nam identyczny wynik. W starym dobrym MD5 albo SHA-1 faktycznie to już dawno padło i hakerzy generują takie kolizje z palcem w nosie. Ale zabezpieczenia oparte na rodzinie SHA-2 to inna galaktyka. Ilość kombinacji to 2 do potęgi 256. Stary, to jest liczba kosmiczna, podobno większa niż ilość atomów w obserwowalnym wszechświecie. Matematycznie rzecz biorąc kolizja gdzieś tam musi istnieć, ale z obecnym sprzętem musiałbyś zaprząc wszystkie komputery świata i czekać miliardy lat, żeby chociaż miec cień szansy na trafienie. Więc fizycznie - luz, nie do zrobienia na ten moment.
Skąd to się w ogóle urwało? Stoi za tym NSA, czyli te smutne amerykańskie chłopaki od podsłuchów. Stworzyli i udostępnili ten standard lata temu. Czysta ironia losu, że fani prywatności używają teraz technologii rządu USA do ochrony własnych danych przed... no właśnie, przed inwigilacją. Zdominowało to rynek z prostego powodu: to świetna funkcja jednokierunkowa. Procesor liczy ten skrót w ułamek milisekundy, ale odwrócenie tego i odzyskanie danych z hasha jest po prostu niemożliwe.
Trzymaj się i jak masz jeszcze jakieś rozkminy o kodowaniu czy łamaniu zabezpieczeń, to wal na forum, ekipa chętnie pomoże.
Kupuj kryptowaluty BLIKiem ⚡
Błyskawiczne wpłaty bez opłat i prowizji na giełdzie OKX.
Heja, ziomek wyżej ładnie to wszystko rozebrał na części pierwsze, ale dorzucę jeszcze jedną perspektywę. Gadamy tu o NSA, bitkoinach i gigantycznych mocach obliczeniowych, a zapominamy o czymś super praktycznym dla zwykłego usera.
Jak próbujemy ogarnąć czym jest algorytm SHA-256, warto pamiętać, że to też świetne narzędzie do weryfikacji tego, co zasysamy z sieci. Kojarzysz pewnie, jak czasem pobierasz jakiś większy program, instalkę Linuxa czy mody do gier, a na stronie autora widnieje obok linku taki długi, dziwny ciąg znaków? To jest właśnie suma kontrolna bazująca na tym algorytmie.
Służy to temu, żebyś mógł u siebie po pobraniu sprawdzić, czy plik to dokładnie ten sam, orginalny kawałek kodu, który wypuścił twórca. Odpalasz w systemie prostą komendę, twój komp miele dane i wypluwa swój skrót pliku. Jak zgadza się co do joty z tym na oficjalnej stronie, to masz pewność. Wiesz od razu, że paczka nie ubiła się przy słabym necie, a co ważniejsze – że żaden cwaniak po drodze nie wstrzyknął tam jakiegoś syfu czy trojana. To absolutna podstawa jeśli chodzi o szeroko pojęte bezpieczeństwo danych w codziennym klikaniu.
Dorzucę jeszcze słówko o tym łamaniu i kolizjach. Przedmówca ma rację, że dzisiejsze klasyczne procesory mogą sobie zgadywać te hashe przez miliardy lat bez skutku. Ale w środowisku nerdów od kryptografii coraz częściej przewija się temat komputerów kwantowych. Jak to w końcu wejdzie do gry na pełnej skali, to ten nasz pancerny standard może zacząć pękać. Dlatego już teraz trwają mocne prace nad zabezpieczeniami odpornymi na maszyny kwantowe. Na ten moment jednak luz, nie ma co siać paniki.
No i mała rada na koniec ode mnie. To, że jakieś forum czy apka bankowa chwali się najlepszym szyfrowaniem, nie zwalnia z myślenia. Nawet najpotężniejsza kryptograficzna funkcja skrótu na niewiele się zda, jeśli twoje hasło to "Polska123". Hakerzy mają wygenerowane terabajty gotowych hashów dla słabych, najpopularniejszych haseł. Sól z serwera trochę to ratuje, ale długiego, losowego ciągu z dobrego menedżera haseł nic ci nie zastąpi.
Wbijaj w temat dalej, bo to mega wciągająca królicza nora!