PDA

Pogčedajte punu verziju : Da li moze neko da mi objasni zastitu


Markok
27. 02. 2009., 15:09
Nadam se da sam postavio pitanje u pravu rubriku.
Probacu da budem kratak

Da li je moguce napraviti zastitu nekih podataka u bazi koji se ne bi mogli procitati u slucaju da neki haker ili bilo ko dodje u posed baze.

Kao na primer zastita passworda, cuo sam za pojam hashovanje ali ne znam nista o tome.

Koliko je to sigurno i kako funkcionise? Da li postoje neki algoritmi i koliko su sigurni?



Hvala. :)

McKracken
27. 02. 2009., 15:14
Ok, probao si da budes kratak, sad pokusaj da budes jasan :)

Postoje algoritmi, sigurni su od nikako do vrlo. Neke stvari je moguce zastititi a neke nije i sve vrlo zavisi od toga sta zelis da postignes.

cvele
27. 02. 2009., 15:26
mozda ti na prvi pogled to izgleda komplikovano ali je u sustini uzasno prosto... procitaj recimo
http://en.wikipedia.org/wiki/Cryptographic_hash_function kao uvod
i one way hashblowfishmd5sha-1

LiquidBrain
27. 02. 2009., 16:33
@cvele,
verujem da mu one way enkripcija ne znaci puno...

Zasti tu baziraj tako da ne mogu da ti ukradu bazu, a ne da kriptujesh podatke... Pogresan ti je pristup...

salebab
27. 02. 2009., 20:46
http://phpsec.org/articles/2005/password-hashing.html

ivanhoe
27. 02. 2009., 21:00
one-way hashevi su jedina dobra zastita, ali onda ne mozes te podatke da dekriptujes nazad... svaki vid 2-way enkripcije je los, jer kljuc za dekripciju moras da drzis negde na serveru, pa samim tim onaj ko ti uhakuje server, uzece ti i kljuc vrlo lako..

degojs
28. 02. 2009., 00:16
..svaki vid 2-way enkripcije je los, jer kljuc za dekripciju moras da drzis negde na serveru, pa samim tim onaj ko ti uhakuje server, uzece ti i kljuc vrlo lako..

Zato kod iole ozbiljnijeg sistema nema uopšte govora o tome da baza ili kod (poslovna logika) stoje na front-end serveru. E kad se sistem tako izdeli da je na internetu samo front-end, a sve ostalo (app server, baza) na intranetu, hakovanje je mnogo malo teže.

U većini slučajeva gde je iole važnija sigurnost uopšte ne možeš ni da dobiješ zeleno svetlo da praviš sistem gde će sve biti natrpano na jedan server, nema govora ni pod razno.

ivanhoe
28. 02. 2009., 01:44
znam, ali vecina nas nema klijente tog kalibra.. bar za sada, to jest.. :)

cvele
28. 02. 2009., 10:16
@cvele,
verujem da mu one way enkripcija ne znaci puno...

Zasti tu baziraj tako da ne mogu da ti ukradu bazu, a ne da kriptujesh podatke... Pogresan ti je pristup...

kolko sam ja video u njegovom postu on je zeleo da samo neke podatke kriptuje, kako je naveo "na primer zastita passworda".

artur_dent
28. 02. 2009., 12:02
Hash zastita funkcionise lepo, tako sto postoji jednosmerna funkcija koja pravi od tvoje lozinke kriptovanu lozinku. Tako da se u bazi cuvaju samo kriptovani parnjaci. Sa akcentom na ono jednosmerna, dakle nije moguce izvuci lozinku nazad iz hash-a.
Tako da sledeci put kad se logujes ti opet trazis hash od onoga sto korisnik upise kao lozinku i uporedjujes ga sa hashom koji se cuva u bazi.
Stoga, da ako neko i dodje do tih podataka, nije u mogucnosti da vidi samu lozinku vec samo njenu hash vrednost.
Doduse, postoje razne varijante jednosmernih funkcija - za neke postoje i nacini za razbijanje - ali nisu ni brzi ni jednostavni.

Dragi Tata
28. 02. 2009., 16:03
Hash zastita funkcionise lepo, tako sto postoji jednosmerna funkcija koja pravi od tvoje lozinke kriptovanu lozinku. Tako da se u bazi cuvaju samo kriptovani parnjaci. Sa akcentom na ono jednosmerna, dakle nije moguce izvuci lozinku nazad iz hash-a.

U stvari mene iznenađuje (blago rečeno) broj sajtova koji ne rade to što si opisao, tj. čuvaju lozinku u bazi. Još lepše, ako im pošalješ zahtev za reset lozinke, oni ti lepo pošalju lozinku u e-mailu :D

salebab
28. 02. 2009., 18:42
^ Još lepše je kada admin jednog dobro posećenog phpBB foruma ubaci još jednu kolonu u tabelu za plaintext passworde. Verovatno mu trebaju da bi špijunirao korisnike, jer se zna da mnogo njih koristi isti password za mail, forume, facebook, itd...

kodi
01. 03. 2009., 12:18
kreditne kartice...

Dragi Tata
01. 03. 2009., 16:48
Slučajno naleteh na ovaj taze blog administratora sajta CodeProject.com:

http://www.codeproject.com/script/Membership/Profiles.aspx?mid=1&msg=2939706#xx2939706xx

There's always debate[^], complaints[^] and personal preferences as to whether passwords should be encrypted in a database and sent back to a user when it's requested, or whether it should be one-way hashed and 'reset link' (or similar) provided to those users who forget their password.

Over the years we've asked members what they wanted and the preference has changed from "Please send me my original password" to "Please don't send me my password". I, personally, prefer that I get my original password when I ask for it because

a) I hate having to write down or remember Yet Another Password.
b) I don't use the same password for CodeProject as I do for, say, my bank
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle.

This reasoning doesn't apply for all, and above and beyond these personal reasons of mine there is the simple fact that if you are going to look after personal information of your members you should do it properly.

So, as of today we no longer encrypt passwords, but instead we store them as a one-way hash. This means we can no longer send you your password when you ask for it.

However, I figured we needed to

a) Allow people to maintain their current password if at all possible, and
b) Protect the system from abuse

So when you request a new password, we send you a temporary password and still allow you to sign in with your old password. If you sign in with the temp password then your password becomes the temporary password, permanently. If you suddenly remember your old password and sign in with it, then the temporary password is removed.

Hopefully the best of both worlds with the added security that no one, not us, not you, not your nosy coworkers, will ever know your password.

ivanhoe
01. 03. 2009., 22:18
Mislim da je ovo prekomplikovano za usera. Zadnjih par projekata sam koristio foru za koju ja licno mislim da je the best practice:

Passwordi se cuvaju kao hash. Kad se klikne na Forgoten password, moras da uneses mail kojim si se registrovao i onda se na tu adresu salje mail sa 'reset password' linkom. Tako nema mogucnosti da ti neko drugi resetuje password. Kad kliknes na link dobijes formu da uneses novi password, tako da mozes da stavis nesto sto ti se svidja, autogenerisani passwordi su smaranje.

Dragi Tata
02. 03. 2009., 01:56
U principu se slažem. Jedino što ne volim da klikćem na link koji mi stigne mejlom, mada ako mejl stigne kao odgovor na moju akciju to svakako pomaže :)

LiquidBrain
02. 03. 2009., 10:15
Slučajno naleteh na ovaj taze blog administratora sajta CodeProject.com:

http://www.codeproject.com/script/Membership/Profiles.aspx?mid=1&msg=2939706#xx2939706xx

There's always debate[^], complaints[^] and personal preferences as to whether passwords should be encrypted in a database and sent back to a user when it's requested, or whether it should be one-way hashed and 'reset link' (or similar) provided to those users who forget their password.

Over the years we've asked members what they wanted and the preference has changed from "Please send me my original password" to "Please don't send me my password". I, personally, prefer that I get my original password when I ask for it because

a) I hate having to write down or remember Yet Another Password.
b) I don't use the same password for CodeProject as I do for, say, my bank
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle.

This reasoning doesn't apply for all, and above and beyond these personal reasons of mine there is the simple fact that if you are going to look after personal information of your members you should do it properly.

So, as of today we no longer encrypt passwords, but instead we store them as a one-way hash. This means we can no longer send you your password when you ask for it.

However, I figured we needed to

a) Allow people to maintain their current password if at all possible, and
b) Protect the system from abuse

So when you request a new password, we send you a temporary password and still allow you to sign in with your old password. If you sign in with the temp password then your password becomes the temporary password, permanently. If you suddenly remember your old password and sign in with it, then the temporary password is removed.

Hopefully the best of both worlds with the added security that no one, not us, not you, not your nosy coworkers, will ever know your password.


Administrator sa ovakvim stavom i ovakvim principima treba odmah da dobije otkaz...

misk0
02. 03. 2009., 10:42
U principu se slažem. Jedino što ne volim da klikćem na link koji mi stigne mejlom, mada ako mejl stigne kao odgovor na moju akciju to svakako pomaže :)

Iz kog razloga? sta je problematicno u tom linku i 1nom kliku?

cvele
02. 03. 2009., 11:12
Administrator sa ovakvim stavom i ovakvim principima treba odmah da dobije otkaz...

molim te elaboriraj

Markok
02. 03. 2009., 11:21
Hvala na odgovorima. Mislima da je one-way enkripcija ono sto mi odgovara, moracu jos malo da razmislim.

bluesman
02. 03. 2009., 11:40
molim te elaboriraj

Ni ja baš nisam shvatio šta je toliko problematično sa tim stavom da bi dobio otkaz.

LiquidBrain
02. 03. 2009., 14:02
molim te elaboriraj

a) I hate having to write down or remember Yet Another Password.
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle.

Ono boldovano je interesantno, zapisati pasword? Kakav je to admin koji zapisuje passworde?

Ne moze da bude 100% siguran da on controlise svoj email... Sta je sa snifovanjem saobracaja? Pa onda posalji password u mail-u. Ako se posalje link to nije toliki problem jer onda napadac moze samo da peuzme taj nalog, ne josh neki drugi koji ima isti password.

A sto se tice poslednjeg dela problem je sa samim sajtovima a ponajvise sa tim sto on takve sajtove posecuje!!! Ako neki sajt nije siguran sam po sebi ne treba ga ni koristiti!!!

Mozda neki od razloga zvuce glupo i preterano, ali u zavisnosti od odgovornosti koje posao nosi , takva predostroznost je neophodna.

Milos Vukotic
02. 03. 2009., 14:19
Kakav je to admin koji zapisuje passworde?
Iskusan, prekaljen, naučen poslu... :1059:

nixa
02. 03. 2009., 14:23
I iste passworde u sef :)

Vrla prosta stvar, zamisli tebi kao admin-u nekog sistema se nesto desi, ili odlucis da nestanes ili sta god. Sta se desava sa root siframa i slicno.

Svako kome je stalo do kontrole svog biznisa nece da dozvoli da administrator bude osoba sa neogranicenom kontrolom ( sto administratori generalno vole ) .

cvele
02. 03. 2009., 14:24
a) I hate having to write down or remember Yet Another Password.
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle. ukazivanje na probleme kod drugih... i lose prakse...

boldovane stvari su interesantne, italic su komentari

Dragi Tata
02. 03. 2009., 15:52
Iz kog razloga? sta je problematicno u tom linku i 1nom kliku?

Ako dobiješ e-mail od banke sa sadržajem tipa "stigao je novi mesečni izveštaj, kliknite na link da se ulogujete na svoj nalog", ti klikneš? Ja odem direktno na web sajt i onde se ulogujem.

Mali milion puta sam dobio poruku od "PayPal-a" da treba da se ulogujem da mi ne bi suspendovali nalog - uvek sa linkom. A ja i nemam Paypal nalog :D

bluesman
02. 03. 2009., 15:59
Ono boldovano je interesantno, zapisati pasword? Kakav je to admin koji zapisuje passworde?

Kakav god da je ... mnogo je bolji od onoga koji koristi isti password za sve :)

Kakav ti moraš da budeš genije da zapamtiš stotinjak passworda na 200 servera (tu uključujem sve one lične naloge tipa gmail, fb, flickr... kao i one poslovne + ftp + shell + mail + ko zna šta...).

Dragi Tata
02. 03. 2009., 16:34
Zapisivanje lozinki je u stvari dobra stvar: http://news.cnet.com/Microsoft-security-guru-Jot-down-your-passwords/2100-7355_3-5716590.html?tag=txt

Ako pamtiš lozinke, mnogo je veća verovatnoća da su jednostavne i da ih retko menjaš.

misk0
02. 03. 2009., 19:40
Ako dobiješ e-mail od banke sa sadržajem tipa "stigao je novi mesečni izveštaj, kliknite na link da se ulogujete na svoj nalog", ti klikneš? Ja odem direktno na web sajt i onde se ulogujem.


Imam nekoliko e-banking naloga i sve vazne obavjesti dobijam postom (papirnom). Manji je rizik da ce obavjest zavrisiti u spam filteru (ili ja seljak nisam podesio na accountu da mi salju e-mailom).


Mali milion puta sam dobio poruku od "PayPal-a" da treba da se ulogujem da mi ne bi suspendovali nalog - uvek sa linkom. A ja i nemam Paypal nalog :D

I ja sam dobijao, ali taj link obicno trazi da se ulogujes i slicno. A valjda prije nego kliknes ili se ulogujes bilo gdje pogledas URL.
Htio sam skrenuti paznju da su podaci za logovanje na e-banking ili paypal (tamo gdje su pare) poprilicno drugaciji od kakvih member entrance na forume i slicne sajtove.

misk0
02. 03. 2009., 19:44
Kakav ti moraš da budeš genije da zapamtiš stotinjak passworda na 200 servera (tu uključujem sve one lične naloge tipa gmail, fb, flickr... kao i one poslovne + ftp + shell + mail + ko zna šta...).

Ja nemam 200 servera, ali sigurno imam 100-150 passworda od razlicitih accounta, bilo od clanarina, software-a za backup, switche-va, UPS-va i slicno. Jos jedan glas za 'zapisivanje'.

btw. neko je nekad spominjao da postoji 'mobilni sef' tj programcic u koji trpas sve svoje sifre, zastitis ga drugom sifrom i pokreces sa USB sticka bez instalacije i slicno... Sjeca se neko imena toga?

MorenoArdohain
02. 03. 2009., 19:56
@misk0: KeePass http://keepass.info/

ivanhoe
02. 03. 2009., 20:23
Ako dobiješ e-mail od banke sa sadržajem tipa "stigao je novi mesečni izveštaj, kliknite na link da se ulogujete na svoj nalog", ti klikneš? Ja odem direktno na web sajt i onde se ulogujem.


pa sem sto se ovde radi o tome da ti ne mozes da se ulogujes na sajt jer si zaboravio pass, i da si ti licno trazio da ti se posalje link. Ako nisi trazio, samo ne kliknes na link i nista se ne desi, znaci no harm done. Cak i ako kliknes nista se ne resetuje automatski, nego dobijes stranu gde se trazi da stavis novi password, znaci i dalje ne moras nista da uradis. Mislim nije idealno, ali koja je moguca alternativa bolja?

Dragi Tata
02. 03. 2009., 20:34
pa sem sto se ovde radi o tome da ti ne mozes da se ulogujes na sajt jer si zaboravio pass, i da si ti licno trazio da ti se posalje link.

Upravo to sam i rekao - u ovom slučaju ti iniciraš taj e-mail i onda to rešenje pije vodu. Samo sam hteo da kažem da je generalno loša navika kliktati na linkove koje ti stignu e-mailom.

Milos Vukotic
02. 03. 2009., 21:02
@Misko: Mozes probati i PasswordSafe (http://passwordsafe.sourceforge.net/) :)
Nisam siguran radi li sa USB-a, nisam nikad probao, ali ovako je sasvim ok...