Oglas
V nedavnem članku o preverjanju, ali ste bili ki jih je prizadel Gawkerjev hekerski incident Kako ugotoviti, ali je vaš e-poštni naslov uhajal prek Gawkerjeve baze podatkov Preberi več , eden od korakov pretvorbe vašega e-poštnega naslova v hash MD5.
Imeli smo nekaj vprašanj bralcev, ki so natančno vprašali, kaj se dogaja in zakaj je bil ta postopek potreben. Ni v našem slogu, da vas pustimo, da postavljate vprašanja, zato je tukaj popolno razstavljanje MD5, hashing in majhen pregled računalnikov in kriptografije.
Kriptografska loputa
MD5 pomeni Mesej DNajnovejši algoritem 5, izumil ga je slavni ameriški kriptograf profesor Ronald Rivest leta 1991, da bi nadomestil stari standard MD4. MD5 je preprosto ime za vrsto kriptografskih hashirnih funkcij, ki jih je Ron zasnoval, že leta '91.
Ideja kriptografskega hashinga je, da vzamemo poljuben blok podatkov in vrnemo „hash“ vrednosti fiksne velikosti. To so lahko poljubni podatki, kakršne koli velikosti, vendar se vrednost hash vedno določi. Poskusite sami tukaj.
Kriptografsko mešanje ima številne namene in obstaja veliko število algoritmov (razen MD5), ki so zasnovani za podobno delo. Ena izmed glavnih uporab za kriptografsko razmnoževanje je preverjanje vsebine sporočila ali datoteke po prenosu.
Če ste kdaj prenesli posebno veliko datoteko (Linux distribucije, take stvari) boste verjetno opazili vrednost hash, ki je zraven. Ko je ta datoteka naložena, lahko s hashom preverite, ali se datoteka, ki ste jo prenesli, v ničemer ne razlikuje od oglaševane datoteke.
Ista metoda deluje tudi za sporočila, pri čemer hash preverja, ali se prejeto sporočilo ujema s poslanim sporočilom. Na zelo osnovni ravni, če imate vsak prijatelj veliko datoteko in želite preveriti, ali sta brez zajetnega prenosa, popolnoma enaki, vam bo to uspelo.
Algoritmi lova tudi igrajo vlogo pri identifikaciji podatkov ali datotek. Dober primer za to je omrežje za skupno rabo datotek, kot je eDonkey2000. Sistem je uporabil različico algoritma MD4 (spodaj), ki je tudi velikost datoteke združila v mešanico, da hitro pokažete na datoteke v omrežju.
Primer tega podpisa je zmožnost hitrega iskanja podatkov v hash tabelah, metodi, ki jo običajno uporabljajo iskalniki.
Druga uporaba za hashe je shranjevanje gesel. Shranjevanje gesel kot jasnega besedila je iz očitnih razlogov slaba ideja, zato se namesto tega pretvorijo v hash vrednosti. Ko uporabnik vnese geslo, ga pretvori v vrednost hash-ja in preveri, ali je znano shranjeno. Ker je mešanje enosmerni postopek, če je algoritem zdrav, potem je teoretično malo možnosti, da bi prvotno geslo dešifrirali iz hash-a.
Kriptografsko razpršitev se pogosto uporablja tudi pri ustvarjanju gesel in izpeljanih gesel iz ene same fraze.
Algoritem prenosa sporočil 5
Funkcija MD5 zagotavlja 32-mestno šestnajstiško število. Če bi "makeuseof.com" spremenili v vrednost hash MD5, bi bilo videti: 64399513b7d734ca90181b27a62134dc. Zgrajena je bila po metodi, ki so jo poimenovali Merkleova "Damgrova struktura" (spodaj), ki se uporablja za izdelavo tako imenovanih hash funkcij, ki so "trko zaščitene pred trkom".
Vendar nobena varnost ni vsestransko dokazana, vendar so bile leta 1996 v algoritmu hendiranja MD5 odkrite potencialne pomanjkljivosti. V tistem času niso bili videti usodni, zato se je MD5 še naprej uporabljal. Leta 2004 je bila odkrita veliko resnejša težava, potem ko je skupina raziskovalcev opisala, kako narediti dve ločeni datoteki, ki si delita isto hash vrednost MD5. To je bil prvi primer trka, ki je bil uporabljen proti algoritmu mešanja MD5. Napad trka poskuša najti dva arbitražna izhoda, ki ustvarjata isto hash vrednost - torej trk (dve datoteki, ki obstajata z isto vrednostjo).
V naslednjih nekaj letih so se pojavili poskusi iskanja nadaljnjih varnostnih težav v MD5, leta 2008 pa je drugi raziskovalni skupini uspelo uporabiti metodo trka, da bi ponaredil SSL potrdilo veljavnost. To bi lahko uporabnike zavedlo, da brskajo varno, kadar jih ni. Ameriško ministrstvo za domovinsko varnost napovedal da:uporabniki bi se morali izogibati uporabi algoritma MD5 v kakršni koli zmogljivosti. Kot so pokazale prejšnje raziskave, bi ga bilo treba šteti za kriptografsko zlomljeno in neprimerno za nadaljnjo uporabo“.
Kljub opozorilom vlade številne storitve še vedno uporabljajo MD5 in so kot take tehnično ogrožene. Kljub temu je možno "soliti" gesla, da morebitni napadalci preprečijo uporabo slovarskih napadov (testiranje znanih besed) na sistem. Če ima heker seznam naključnih pogosto uporabljenih gesel in zbirko podatkov o vašem uporabniškem računu, lahko preveri heše v bazi podatkov glede na tiste na seznamu. Salt je naključni niz, ki je povezan z obstoječimi šifranji gesla in nato ponovno razpršen. Vrednost soli in dobljeni hash se nato shrani v bazo podatkov.
Če bi heker želel najti gesla vaših uporabnikov, bi moral najprej razvozlati solne heše in zaradi tega je napad na slovar precej neuporaben. Sol ne vpliva na geslo samo, zato morate vedno izbrati težko ugibljivo geslo.
Zaključek
MD5 je eden izmed mnogih različnih načinov prepoznavanja, varovanja in preverjanja podatkov. Kriptografsko razstavljanje je ključno poglavje v zgodovini varnosti in ohranjanje stvari skritih. Kot pri mnogih stvareh, zasnovanih z varnostjo, je tudi nekdo odšel in ga zlomil.
Najbrž vam ne bo treba preveč skrbeti, če boste v vsakodnevnih surfarskih navadah jedrili in imeli MD5 kontrolne vsote, vendar vsaj zdaj veste, kaj počnejo in kako to počnejo.
Ste že kdaj potrebovali kaj? Ali preverite datoteke, ki jih prenašate? Ali poznate kakšne dobre spletne aplikacije MD5? Sporočite nam v komentarjih!
Uvodna slika: Shutterstock
Tim je samostojni pisatelj, ki živi v Melbournu v Avstraliji. Spremljate ga lahko na Twitterju.