nejraz / SI2013tim10

Projekat tima 10 za kurs Softver inžinjering.
0 stars 1 forks source link

Heširanje lozinki #68

Closed ghost closed 10 years ago

ghost commented 10 years ago

Komponenta: Korisnik kontroler i uopće svo pohranjivanje povjerljivih podataka (Ovo je više preporuka nego bug)

commit ID: 262206c1ac8f59c3682fb0f4aec91fb1ab4e4496

Opis problema: Ne koristi se MD5 algoritam za heširanje.

Koraci za reproduciranje problema:

  1. Pokrenuti desktop aplikaciju "task-tracker"
  2. Pokrenuti formu upravljanje korisnicima
  3. Otvoriti formu za unos novog korisnika
  4. unijeti ispravne podatke
  5. pogledati unso u bazi podataka za polje pasword

Dobijeni rezultat:

Očekivani rezultat:

alemzekic commented 10 years ago

A md5 algoritam je inače sinonim za sigurnost, budući da je poznat način na koji se vrši inverzna transformacija i da je potrebna računarska moć za izvršavanje te transformacije ravna onoj moći koju ima mikrokontroler koji se ugrađuje u TV daljinski upravljač.

http://www.hashkiller.co.uk/md5-decrypter.aspx

(1, 'Haris', 'Hasic', '1504992173043', 'Tuzlanska bb', 'Olovo', '+38762380249', 'haristd@hotmail.com', 1, 'admin', '21232f297a57a5a743894a0e4a801fc3');

21232f297a57a5a743894a0e4a801fc3 -> admin

ghost commented 10 years ago

nope, ali ako već imaš ugrađen message digest u eclipseu, zašto ne koristiti najviši "dostupni" nivo sigurnosti ?

dazinovic commented 10 years ago

Inverzna transformacija nije poznata, već se taj "algoritam" zasniva na brute-force traženju rezultata (koristi se riječnik poznatih kombinacija string - hash). Recimo već za jednostavni password "neb123ska" čiji je hash "e3a97d103c45683cd64c38176d9d4781" taj tvoj decrypter pada.

Što se tiče hashCode() metode koju ste koristili, ona se uglavnom koristi za testiranje da li su dva objekta identična (šansa da će dva različita objekta dati isti hash teži nuli) i nipošto za kriptografiju. Kako je implementirana hashCode() metoda za Integer?

public int hashCode() { return value; }

alemzekic commented 10 years ago

Osnovna poenta je da ni md5 nije apsolutno siguran, odnosno da je pojam više ili niže sigurnosti totalno relativan. Uostalom, ni u jednom dokumentu nije zahtijevana upotreba jednog ili drugog algoritma, tako da ovo ne smatram bugom.