Skelbimas
Neseniai paskelbtame straipsnyje apie jūsų buvimo vietos tikrinimą paveiktas „Gawker“ įsilaužimo įvykio Kaip sužinoti, ar jūsų el. Pašto adresas nutekėjo per „Gawker“ duomenų bazę Skaityti daugiau , atlikdami el. pašto adresą į MD5 maišalą, atlikite vieną iš žingsnių.
Turėjome keletą skaitytojų klausimų, klausdami, kas vyko ir kodėl šis procesas buvo būtinas. Ne mūsų stilius yra tai, kad jūs, vaikinai, klausiate, todėl čia yra visas MD5 sunaikinimas, maišos ir nedidelė kompiuterių ir kriptografijos apžvalga.
Kriptografinis maišos
MD5 reiškia Mesmė DJis buvo išrastas garsaus JAV kriptografo profesoriaus Ronaldo Rivesto 1991 m., kad pakeistų senąjį MD4 standartą. MD5 yra paprasčiausias kriptografinės maišos funkcijos, kurią Ronas sugalvojo, pavadinimas „91“.
Kriptografinės maišos idėja yra paimti savavališką duomenų bloką ir grąžinti fiksuoto dydžio „maišos“ vertę. Tai gali būti bet kokie duomenys, bet kokio dydžio, tačiau maišos vertė visada bus fiksuota. Išbandykite patys čia.
Kriptografinis maišos būdas gali būti naudojamas labai daug, be to, yra daugybė algoritmų (išskyrus MD5), skirtų atlikti panašų darbą. Vienas pagrindinių kriptografinių maišos būdų yra žinutės ar failo turinio patikrinimas po perkėlimo.
Jei kada atsisiuntėte ypač didelį failą („Linux“ paskirstymus, tokio tipo daiktą), tikriausiai pastebėsite jaudinančią reikšmę. Atsisiuntę šį failą, naudodami maišos formą galite patikrinti, ar atsisiųstas failas niekuo nesiskiria nuo reklamuojamo failo.
Tas pats metodas taikomas pranešimams, maišos būdu patikrinant, ar gautas pranešimas atitinka išsiųstą pranešimą. Paprasčiausiu lygmeniu, jei jūs ir jūsų draugas turite po didelį failą ir norite įsitikinti, kad jie tiksliai nesutampa be sunkaus perkėlimo, maišos kodas tai padarys už jus.
Duomenų ar failų identifikavime svarbų vaidmenį turi ir maišos algoritmai. Puikus to pavyzdys yra bendraamžių failų mainų tinklai, tokie kaip „eDonkey2000“. Sistema naudojo MD4 algoritmo variantą (žemiau), kuris taip pat sujungė failo dydį į maišos failą, kad būtų galima greitai nukreipti į failus tinkle.
Parašytas to pavyzdys yra galimybė greitai rasti duomenis maišos lentelėse. Šis metodas dažniausiai naudojamas paieškos sistemose.
Kitas maišos būdas yra slaptažodžių saugojimas. Slaptų slaptažodžių saugojimas kaip aiškus tekstas yra bloga idėja dėl suprantamų priežasčių, todėl jie yra paverčiami maišos vertėmis. Kai vartotojas įveda slaptažodį, jis konvertuojamas į maišos vertę ir patikrinamas pagal žinomą saugomą maišos būdą. Kadangi maišos yra vienpusis procesas, jei algoritmas yra patikimas, tada teoriškai nėra tikimybės, kad originalus slaptažodis bus iššifruotas iš maišos.
Kriptografinis maišos taip pat dažnai naudojamas kuriant slaptažodžius ir išvestinius slaptažodžius iš vienos frazės.
„Message Digest“ algoritmas 5
MD5 funkcija pateikia 32 skaitmenų šešioliktainį skaičių. Jei „makeuseof.com“ paverttume MD5 maišos verte, tai atrodytų taip: 64399513b7d734ca90181b27a62134dc. Jis buvo pastatytas remiantis metodu, vadinamu „Merkle“. „Damgros struktūra (žemiau), kuris naudojamas kuriant vadinamąsias „atsparias susidūrimui“ maišos funkcijas.
Nei vienas saugumas nėra įrodytas, tačiau 1996 m. MD5 maišos algoritme buvo rasta galimų trūkumų. Tuo metu tai nebuvo laikoma mirtina ir MD5 buvo toliau naudojamas. 2004 m. Paaiškėjo kur kas rimtesnė problema po to, kai tyrinėtojų grupė aprašė, kaip sudaryti du atskirus failus, turinčius tą pačią MD5 maišos vertę. Tai buvo pirmasis susidūrimo priepuolio, panaudoto MD5 maišos algoritmui, atvejis. Susidūrimo atakoje bandoma surasti du arbatinius išėjimus, kurie sukuria tą pačią maišos vertę - vadinasi, susidūrimą (du failai egzistuoja ta pačia verte).
Per kelerius ateinančius metus MD5 buvo bandoma rasti papildomų saugumo problemų, o 2008 m. Kitai tyrimų grupei pavyko panaudoti susidūrimo atakos metodą padirbinėjus SSL sertifikatas galiojimas. Tai gali priversti vartotojus galvoti, ar jie saugiai naršo, kai jų nėra. JAV vidaus saugumo departamentas paskelbta kad: “vartotojai turėtų vengti MD5 algoritmo bet kokio pajėgumo. Kaip parodė ankstesni tyrimai, jis turėtų būti laikomas kriptografiškai sulaužytu ir netinkamu tolesniam naudojimui“.
Nepaisant vyriausybės įspėjimo, daugelis tarnybų vis dar naudoja MD5 ir todėl yra techniškai rizikuojamos. Vis dėlto įmanoma „druskos“ slaptažodžius užkirsti kelią galimiems užpuolikams, naudojantiems žodyno išpuolius (tikrinant žinomus žodžius) prieš sistemą. Jei įsilaužėlis turi atsitiktinai dažnai naudojamų slaptažodžių sąrašą ir jūsų vartotojo abonemento duomenų bazę, jis gali palyginti duomenų bazės maišus su sąraše esančiais. Druska yra atsitiktinė eilutė, kuri susiejama su esamomis slaptažodžių maišos formomis ir vėl maišo. Tada druskos vertė ir gautas maišos kiekis saugomi duomenų bazėje.
Jei įsilaužėlis norėjo sužinoti jūsų vartotojų slaptažodžius, jam pirmiausia reikės iššifruoti druskos maišus, o tai žodyno priepuolį padaro gana nenaudingą. Druska neturi įtakos pačiam slaptažodžiui, todėl visada turite pasirinkti sunkiai atspėjamą slaptažodį.
Išvada
MD5 yra vienas iš daugelio skirtingų duomenų identifikavimo, apsaugos ir tikrinimo būdų. Kriptografinis maišos yra gyvybiškai svarbus saugumo istorijos dalykas ir dalykų paslėpimas. Kaip ir daugelyje dalykų, sukurtų atsižvelgiant į saugumą, kažkas dingo ir sulaužė jį.
Tikriausiai nereikės per daug jaudintis dėl maišos ir MD5 kontrolinių sumų, atsižvelgiant į kasdienius naršymo įpročius, tačiau bent jau dabar žinote, ką jie daro ir kaip tai daro.
Ar kada nors reikėjo ko nors maišyti? Ar patvirtinate atsisiųstus failus? Ar žinote apie geras MD5 žiniatinklio programas? Praneškite mums komentaruose!
Įžangos vaizdas: „Shutterstock“
Timas yra laisvai samdomas rašytojas, gyvenantis Melburne, Australijoje. Galite sekti juo „Twitter“.