[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
saltovanie

Registrovaný: 01.10.07
Prihlásený: 03.02.14
Príspevky: 747
Témy: 152 | 152
Bydlisko: Bratislava
NapísalOffline : 21.07.2011 22:51 | saltovanie

Zacinam s PHP a robim si rozne tutorialy z internetu, aby som to pochopil v praxi. Aktualne si skusam vyrobit registraciu a prihlasovanie uzivatelov, avsak jeden z postupovat v tomto tutorialy sa mi zda nelogicky a chcem si overit ci mam pravdu. Ide o to, ze do DB sa mi uklada $username, $password a $salt ($salt je generovany pri registracii - nahodnych 5 znakov a-z A-Z 0-9). Nasledne si pri prihlasovani vyberie system podla uzivatelovho mena z tabulky dany salt. Avsak ak dobre viem, heslo saltujem na to, aby v pripade bumpnutia DB utocnikom dostal utocnik nie iba heslo zasifrovane cisto v md5, ale osaltovane heslo v md5 - bez toho aby dany salt vedel. Avsak ak vytiahne osaltovene heslo ($password) a hned vedla toho bude mat kolonku $salt, je to zbytocne, nie? Logickejsie sa mi zda pevne stanovit nejaky tazsi salt (napr. hocijake 10 miestne slovo skladajuce sa z a-z A-Z 0-9) a pri prihlasovani iba osaltovat uz pevne stanovenym saltom, aby som nemusel do DB ukladat kazdemu uzivatelovi jeho nahodne generovany $salt. A kebyze sa utocnik teraz dostane do DB, uvidi tam iba uzivatelovo meno a osaltovane heslo, s ktorym vsak nic nespravi.
http://2.bp.blogspot.com/_qlXpkrjBauI/S ... +right.jpg


Offline

Užívateľ
Užívateľ
saltovanie

Registrovaný: 26.12.06
Prihlásený: 30.10.17
Príspevky: 4009
Témy: 181 | 181
Bydlisko: Nitra / Bra...
Vek: 24
NapísalOffline : 21.07.2011 23:20 | saltovanie

no..

nieje potrebne mat pre kazdeho usera iny salt a ten ukladat potom k nemu do db.. to ze ten salt pozna, mu az tak moc nepomoze. skor ide o to, aky je dlhy. pridaj tam viac znakov, nie len 5. ide o to ze..

hash troj znakoveho retazca vies prelomit do tretiny sekundy, no hash stvor-znakoveho retazca vies prelomit "az" za cca 23 sekund (v pripade ak by slo o retazec "zzz", ak to bude napriklad "ano", uz to bude len mozno 5 sekund), co je oproti trom znakom podstatny rozdiel. no a cim viac znakov, tym to bude horsie a horsie (alebo lepsie a lepsie?), takze ako salt pouzi kludne nejaky 50+ znakovy retazec so vsemoznymi znakmi (nie len [a-zA-Z0-9]).

ja osobne okrem pridavania "cudzieho" retazca viacerymi sposobmi robim s vyslednym hashom vseliake krkolomnosti, pre hrejivy pocit. napriklad reverzovanie, rozdelovanie na rozne casti, nasledne spajanie v inom poradi a vsetky tie akcie zavysia od roznych faktorov ako su napr. cas registracie, id usera atp. takze vpodstate pre kazdeho usera je unikatny salt, bez toho aby ho bolo potrebne ukladat (algoritmu vzdy vytvori rovnaky)


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
saltovanie

Registrovaný: 01.10.07
Prihlásený: 03.02.14
Príspevky: 747
Témy: 152 | 152
Bydlisko: Bratislava
Napísal autor témyOffline : 21.07.2011 23:31 | saltovanie

Hej, lenze aj kebyze sa vytvoris 50 miestny salt, tak ten salt je v tej DB ulozeny plaintext. Takze ak ma utocnik nejaky program, co bude robit klasicky brute force, len vzdy prida na koniec ten dany salt, tak ten salt strati akykolvek vyznam. Pretoze ak ten program bude vediet, ze na konci je vzdy salt napr. "M3dvEd" tak proste nebude skusat hesla 0001, 0002, 0003 a porovnavat ich hashe s tym ulozenym v $password, ale bude rovno hashovat 0001M3dvEd, 0002M3dvEd, 0003M3dvEd a porovnat tieto hashe s vyslednym.

Este by tu bola moznost nieco ako hovoris ty, robit s tym rozne veci. Nedat ten salt iba za heslo ale spravit s tym hocico, o com utocnik nevie. Tzn. ze dat ten salt aj pred, aj za heslo napriklad.

Takze bud spravit vlastny tajny salt, alebo s tym spravit nieco zazracne (otacat zrkadlovo, saltovat pred, saltovat za atd.).


Offline

Užívateľ
Užívateľ
saltovanie

Registrovaný: 28.04.11
Prihlásený: 18.12.17
Príspevky: 291
Témy: 26 | 26
Bydlisko: Martin/Brno
Vek: 23
NapísalOffline : 21.07.2011 23:37 | saltovanie

Ty ten salt nemusíš ukladať do DB musíš vytvoriť kód ktorý ho vygeneruje podľa nejakých znakov ktoré má užívateľ ako bolo spomenuté čas registrácie, vek, meno, email nejako to pomeníš spojíš a stále dostaneš to isté na konci


_________________
Stroje: zobraziť
NTB:
Lenovo W541 | i7-4810MQ | Quadro K1100M | 500GB SSD | 16GB RAM | Fedora 25 + i3wm

Mobil:
Nexus 5X

DSLR
Nikon D5100
Offline

Užívateľ
Užívateľ
saltovanie

Registrovaný: 20.10.08
Prihlásený: 18.01.14
Príspevky: 2626
Témy: 31 | 31
Bydlisko: Bratislava
NapísalOffline : 22.07.2011 0:19 | saltovanie

Ja mavam jeden rovnaky salt pre celu aplikaciu. No v ziadnom pripade ho neukladam do databazy.. Idealne je ho mat v subore, ktory je pristupny len cez php (cize mimo root priecinku pre danu domenu).
No a cim viac pruskov tym viac adidas. Salt robim vylucne 40 miestny...

Potom je dobre prehnat zvlast aj heslo aj salt cez sha1 a cele to nejakym sposobom spojit dohromady.


_________________
Desktop: iMac 21" CPU: i5 2.7GHz RAM: 4 GB DDR3 1333MHz GPU: AMD Radeon HD 6770M 512MB RAM HDD: 1TB 7200 rpm OS: Mac OS X Lion Desktop: CPU: AMD Phenom II x4 BE 955 3.2@3.6GHz 1.35@1.30V CPU Cooler: Gelid Tranquillo rev.2 MB: Gigabyte 880GM-UD2H RAM: 2x2 GB Kingston 1333MHz GPU: MSI HD 6850 Cyclone 1GB PSU: Seasonic S12II-620 620W HDD: Seagate Barracuda 7200.12 1TB Case: CoolerMaster Elite 333 LCD: 22" LG flatron W2261VP Keyboard: Microsoft Comfort Curve 2000 Mouse: Microsoft Wireless Mobile Mouse 4000 OS: Windows 8 Notebook: Macbook Pro 13" CPU: i5 2.4GHz RAM: 4 GB DDR3 1333MHz GPU: Intel HD Graphics 3000 384MB RAM HDD: 500GB 5400 rpm OS: Mac OS X Lion Tablet: iPad 2 64GB 3G Phone: HTC Desire S Phone: iPhone 8GB
Offline

Užívateľ
Užívateľ
saltovanie

Registrovaný: 01.10.07
Prihlásený: 03.02.14
Príspevky: 747
Témy: 152 | 152
Bydlisko: Bratislava
Napísal autor témyOffline : 22.07.2011 1:00 | saltovanie

ok, diky


 [ Príspevkov: 6 ] 


saltovanie




© 2005 - 2017 PCforum, edited by JanoF