Oglas
U nedavnom članku o provjeri jeste li pogođen Gawkerovim hakerskim incidentom Kako saznati je li Vaša adresa e-pošte procurila putem Gawkerove baze podataka Čitaj više , jedan od koraka koji je uključivao pretvaranje adrese e-pošte u hash MD5.
Imali smo nekoliko pitanja čitatelja koja su se točno pitala o čemu se radi i zašto je taj postupak neophodan. Nije naš stil da vas ostavljamo da postavljate pitanja, pa evo cjelovite propuštenosti MD5, hash-a i malog pregleda računala i kriptografije.
Kriptografsko sjeckanje
MD5 znači Message Digest algoritam 5, a izumio ga je slavni američki kriptograf profesor Ronald Rivest 1991. godine da bi zamijenio stari MD4 standard. MD5 je jednostavno naziv za vrstu kriptografske hash funkcije koju je Ron smislio, još u ’91.
Ideja kriptografskog hashiranja je uzeti proizvoljni blok podataka i vratiti „hash“ vrijednosti fiksne veličine. To mogu biti bilo koji podaci, bilo koje veličine, ali vrijednosti hash-a uvijek će biti fiksne. Pokušajte sami ovdje.
Kriptografsko hashiranje ima brojne koristi, a postoji i veliki broj algoritama (osim MD5) koji su dizajnirani za sličan posao. Jedna od glavnih primjena kriptografskog hashiranja je provjera sadržaja poruke ili datoteke nakon prijenosa.
Ako ste ikad preuzeli posebno veliku datoteku (Linux distribucije, takve stvari) vjerojatno ćete primijetiti hash vrijednost koja je uz njega. Nakon preuzimanja ove datoteke, pomoću hash-a možete provjeriti je li datoteka koju ste preuzeli ni na koji način drugačija od datoteke koja se oglašava.
Ista metoda funkcionira i za poruke, a hash potvrđuje da se primljena poruka podudara s poslanom porukom. Ako na kraju, vi i prijatelj imate veliku datoteku i želite provjeriti da li su potpuno isti bez naprednog prijenosa, hash kod će to učiniti za vas.
Algoritmi sakrivanja također igraju ulogu u identifikaciji podataka ili datoteka. Dobar primjer za to je peer to peer mreže za razmjenu datoteka, poput eDonkey2000. Sustav je koristio varijantu algoritma MD4 (ispod) koji su također kombinirali veličinu datoteke u hash kako bi brzo ukazali na datoteke na mreži.
Primjer za to je mogućnost brzog pronalaženja podataka u hash tablicama, metodi koju uobičajeno koriste tražilice.
Druga namjena za hashe je u pohrani lozinki. Spremanje lozinki kao jasnog teksta je loša ideja, iz očitih razloga, pa se umjesto toga pretvaraju u hash vrijednosti. Kad korisnik unese lozinku, pretvara se u hash vrijednost i uspoređuje se s poznatim pohranjenim hash-om. Kako je raspršivanje jednosmjerni proces, pod uvjetom da je algoritam zdrav, tada postoji teoretski mala vjerojatnost da se izvorna lozinka dešifrira iz hash-a.
Kriptografsko hashiranje često se koristi i u stvaranju lozinki i izvedenih lozinki iz jedne fraze.
Algoritam slaganja poruka 5
MD5 funkcija pruža 32-znamenkasti heksadecimalni broj. Ako bismo "makeuseof.com" pretvorili u MD5 hash vrijednost, to bi izgledalo: 64399513b7d734ca90181b27a62134dc. Izgrađena je po metodi koja se zove Merkle "Damgdeva struktura (ispod), koji se koristi za izgradnju takozvanih hash funkcija "otpornih na sudare".
Međutim, nijedna sigurnost nije sigurna, a 1996. su otkriveni potencijalni nedostaci u algoritmu raspršivanja MD5. U to vrijeme oni nisu bili fatalni, a MD5 se i dalje koristio. U 2004. godini otkriven je daleko ozbiljniji problem nakon što je skupina istraživača opisala kako da dvije odvojene datoteke dijele istu MD5 hash vrijednost. Ovo je prva instanca sudara koja se koristila protiv algoritma hashing MD5. Kolizioni napad pokušava pronaći dva proizvoljna izlaza koji proizvode istu hash vrijednost - dakle, sudar (dvije datoteke postoje s istom vrijednošću).
Tijekom sljedećih nekoliko godina pojavili su se pokušaji pronalaženja dodatnih sigurnosnih problema unutar MD5, a 2008. druga je istraživačka skupina uspjela upotrijebiti metodu sudara za lažiranje SSL certifikat valjanost. To bi moglo navesti korisnike da misle kako ih sigurno pregledavaju, ako nisu. Američko Ministarstvo za domovinsku sigurnost najavio da:korisnici bi trebali izbjegavati upotrebu algoritma MD5 u bilo kojem svojstvu. Kao što je pokazalo prethodno istraživanje, trebalo bi ga smatrati kriptografski slomljenim i neprikladnim za daljnju upotrebu“.
Unatoč upozorenju vlade, mnoge službe i dalje koriste MD5 i kao takve su tehnički u opasnosti. Međutim, moguće je "soliti" lozinke kako bi se spriječio potencijalni napadači koristeći napade rječnika (testiranje poznatih riječi) na sustav. Ako haker ima popis slučajno često korištenih zaporki i baze podataka vašeg korisničkog računa, može provjeriti heševe u bazi podataka u odnosu na one na popisu. Sol je slučajni niz koji se povezuje na postojeće šifre zaporki i zatim ponovno hashe. Vrijednost soli i dobiveni hash pohranjuju se u bazu podataka.
Ako je haker želio otkriti zaporke vaših korisnika, tada bi prvo morao dešifrirati salvete, a to čini napad na rječnik prilično beskorisnim. Sol ne utječe na samu lozinku, tako da uvijek morate odabrati teško dostupnu lozinku.
Zaključak
MD5 je jedna od mnogih različitih metoda identifikacije, osiguranja i provjere podataka. Kriptografsko raspršivanje važno je poglavlje u povijesti sigurnosti i čuvanje stvari skrivenim. Kao i kod mnogih stvari dizajnirane sa sigurnosnom pažnjom, netko je to otišao i prekršio.
Vjerojatno se nećete morati previše brinuti zbog hashiranja i MD5 kontrolnih zamaha u svojim svakodnevnim navikama surfanja, ali barem sada znate što oni rade i kako to rade.
Jesi li ikad trebao nešto usitniti? Ovjeravate li datoteke koje ste preuzeli? Znate li kakve dobre MD5 web aplikacije? Javite nam u komentarima!
Uvodna slika: Shutterstock
Tim je slobodni pisac koji živi u Melbourneu u Australiji. Možete ga pratiti na Twitteru.