Generator zgoščenih vrednosti MD5

Dodajte na stran Metainformacije

Drugi pripomočki

Generator zgoščenih vrednosti MD5

Generator zgoščenih vrednosti MD5

MD5 je 128-bitni zgoščeni algoritem, ki ga je ustvaril znanstvenik Ronald L. Rivest v zgodnjih devetdesetih letih. Okrajšava MD5 pomeni Message Digest Version 5.

Šifriranje MD5 temelji na zgoščevanju, ki vključuje oblikovanje "prstnih odtisov" ali "vsot", da se dodatno preveri njihova pristnost. S to metodo lahko preverite celovitost informacij in tudi shranjevanje zgoščenih vrednosti gesel.

Zgodovina MD5

Zgodovina algoritma Message Digest (MD5) se začne leta 1991, ko je profesor MIT Ronald L. Rivest poročal o ustvarjanju novega algoritma, ki je nadomestil zastareli MD4. Kar zadeva MD4, so bile v njem res najdene številne pomanjkljivosti, kot je kasneje zapisal nemški kriptolog Hans Dobbertin.

Rivest je opisal nov algoritem MD5 v RFC 1321.

Delo na algoritmu sta nadaljevala raziskovalca Bert den Boer in Anton Bosselars, ki sta leta 1993 dokazala možnost psevdokolizij v MD5, ko se lahko različni inicializacijski vektorji ujemajo z istimi povzetki sporočil.

Nadalje je leta 1996 Hans Dobbertin trdil, da je našel trk v MD5. Takrat so postali znani bolj priljubljeni algoritmi zgoščevanja, kot so kriptografske zgoščevalne funkcije RIPEMD-160 - razvili so jih Hans Dobbertin, Anton Bosselars in Bart Prenel, Whirlpool - razvila Vincent Raymen in Paulo Barreto ter kriptografski zgoščevalni algoritem SHA-1.

Zaradi relativno majhne velikosti zgoščene vrednosti (128 bitov) v MD5 se je govorilo o možnostih rojstnodnevnih napadov. Projekt MD5CRK, ki ga je začel Jean-Luc Cook leta 2004, je bil namenjen preučevanju ranljivosti algoritma z uporabo napadov na rojstni dan. Toda po petih mesecih, 17. avgusta 2004, je bil projekt okrnjen, ker je skupina kitajskih kriptografov pod vodstvom Lai Xuejia odkrila ranljivost v algoritmu.

Marca 2005 so matematiki in kriptografi Benne de Weger, Arjen Lenstra in Wang Xiaoyun ustvarili dva dokumenta X.509 z istim hashom in različnima javnima ključema.

Leto kasneje, marca 2006, je češki kriptograf Vlastimil Klima objavil algoritem, ki omogoča ugotavljanje kolizij na preprostem računalniku v samo eni minuti. Ta algoritem je postal znan kot metoda "tuneliranja".

Kot rezultat analize rezultatov dela je leta 2008 oddelek Nacionalne uprave za kibernetsko varnost Ministrstva za domovinsko varnost ZDA (US-CERT) priporočil, da vsi, ki so sodelovali pri razvoju programske opreme, spletnih mest in tudi uporabnikov omrežja, prenehajo uporabljati algoritem MD5, ne glede na namen njegove uporabe. Razlog za takšno priporočilo je bila nezanesljivost, ki jo je pokazal v procesu preučevanja.

Decembra 2010 sta kitajska kriptologa Tao Xie in Feng Denguo odkrila kolizijo sporočil 512 bitov (en blok). Prej so bili kolizije najdeni samo v sporočilih, ki so bila dolga dva bloka ali več. Kasneje je Mark Stevens dosegel podobne rezultate z objavo blokov z enakim hashom MD5. Razvil je tudi algoritem za pridobivanje tovrstnih kolizij.

Končni dokument, ki je končal zgodovino razvoja algoritma MD5, je bila zahteva za komentarje - RFC 6151 (RFC je uradni dokument, ki ga je razvil Internet Engineering Council (IETF), ki opisuje specifikacije za določen tehnologija), ki je dejansko prepoznal MD5 kot nevaren algoritem zgoščevanja. Dokument priporoča opustitev in izbiro družine kriptografskih algoritmov SHA-2 kot alternativo.

Obravnavani algoritem MD5 velja za enega prvih standardov algoritmov, ki se uporabljajo za preverjanje celovitosti datotek in shranjevanje gesel v bazah podatkov spletnih aplikacij.

Toda v resnici razmeroma enostavna funkcionalnost, kratka izhodna dolžina in preprostost izvedenih operacij, ki so prednosti algoritma, določajo tudi njegove slabosti - MD5 se nanaša na algoritme, ki so nagnjeni k hekanju in imajo nizko stopnjo zaščita pred napadi na rojstni dan.

Kaj je MD5?

Kaj je MD5?

Algoritem zgoščevanja MD5 se lahko uporablja na različnih področjih, povezanih z ustvarjanjem elektronskih digitalnih podpisov, varnih gesel, kriptografskih spletnih ključev. Omogoča preverjanje celovitosti informacij na osebnem računalniku.

Na začetku je MD5 veljal za razmeroma močan šifrirni algoritem, vendar je zaradi pomanjkljivosti, ugotovljenih med študijo, trenutno priporočljivo, da ga zamenjate z drugim, bolj varnim algoritmom zgoščevanja.

Primeri uporabe

Glavna prednost algoritma MD5 je širok obseg uporabe.

Algoritem vam omogoča, da preverite pristnost in celovitost prenesenih informacij

Na primer, skupaj s paketi za namestitev programske opreme obstaja vrednost kontrolne vsote za preverjanje.

V praksi se uporablja tudi algoritem MD5 za zgoščevanje gesel

Na primer, operacijski sistem Unix aktivno uporablja ta algoritem kot orodje za zgoščevanje. Upoštevati je treba, da se v nekaterih sistemih Linux metoda MD5 aktivno uporablja tudi za shranjevanje gesel.

Poznani so naslednji načini shranjevanja gesel:

  • Standardno shranjevanje brez zgoščevanja. Pomanjkljivost te metode je veliko tveganje uhajanja informacij, ko pride do vdora v bazo podatkov.
  • Shranjujejo se samo zgoščene vrednosti gesel. Takšne podatke je enostavno najti s pomočjo vnaprej pripravljenih zgoščenih tabel. Za izpolnjevanje takih tabel se uporabljajo običajna gesla nizke kompleksnosti.
  • Geslom dodamo nekaj znakov, imenovanih "sol". Po tem se rezultat zgosti. Geslo, pridobljeno kot rezultat takih dejanj, mora biti shranjeno v čistem besedilu. Pri iskanju tako ustvarjenih gesel tabele ne bodo pomagale.

Algoritem zgoščevanja MD5 je mogoče uporabiti za preverjanje datotek, prenesenih s spleta

To postane mogoče z uporabo specializiranih pripomočkov, ki lahko spremenijo lastnosti datoteke in omogočijo uporabo algoritmov kodiranja zgoščene vrednosti.

MD5 se uporablja pri ustvarjanju spletnih aplikacij

V procesu razvoja in konfiguracije sistemov za preverjanje pristnosti, skriptov ali plošč lahko ustvarite zgoščene kode za posamezne vrstice.

Zanesljivost algoritma MD5

Tehnologija zgoščevanja, ki nam je znana kot algoritem MD5, je dolgo veljala za precej zanesljivo. Hkrati nihče ni govoril o njegovi idealnosti. Ni bilo nobenih zagotovil, da bo algoritem neranljiv in zagotavljal stoodstotno nedotakljivost informacij.

Kot rezultat dela številnih znanstvenikov so bile ugotovljene nekatere pomanjkljivosti te tehnologije. Glavna je ranljivost zaradi zaznavanja kolizij med šifriranjem.

Kolizija je verjetnost doseganja enakega izhodnega rezultata, ko so vneseni različni vhodni podatki. Večja kot je ta verjetnost, nižja je stopnja zaščite uporabljenega algoritma.

Raziskovalci so izvedli kriptoanalizo in odkrili več načinov za razbijanje zgoščene vrednosti MD5:

  • Napad s surovo silo se lahko šteje za univerzalno metodo vdora. Ima pa tudi svojo pomanjkljivost - metoda je zelo dolga. Za boj proti temu se uporablja tehnika povečanja števila ključev. Ta metoda se pogosto uporablja za oceno stopnje moči in moči šifriranja gesel.
  • RainbowCrack je poseben program, ki vam omogoča ustvarjanje zgoščevalne baze, na podlagi katere se izvede skoraj takojšnje razbijanje gesel črk in številk.
  • Za izbiro gesel s pomočjo slovarja se uporabljajo slovarske baze podatkov in že pripravljeni programi.
  • Pri uporabi metode zaznavanja trka vzamejo podobne vrednosti funkcij za različna sporočila, ki imajo enak začetek. Ta metoda se je aktivno uporabljala konec 20. stoletja.

Formula za pridobitev identične zgoščene kode je: MD5(4L1) = MD5(4L2).

Leta 2004 so kitajski znanstveniki odkrili ranljivost v sistemu, ki je omogočila zaznavanje trka v kratkem času.

Leta 2006 je bila najdena metoda, ki vam omogoča odkrivanje škodljivih datotek na običajnem računalniku s pomočjo tako imenovanih "tunelov".

Kljub določenim težavam, povezanim predvsem z ranljivostjo MD5, je ta algoritem še vedno v povpraševanju zaradi njegove aktivne uporabe pri neodvisnem razvoju spletnih aplikacij, pa tudi v drugih potrebnih primerih.