Gå til innhold

Anbefalte innlegg

Driver å flikker litt på en web-app og lurer på når jeg bør gjøre passord-hashinga...

1. Med javascript før formen postes

2. Med <sett_inn_språk_her> før sjekk mot databasen kjøres

3. Med en stored procedure i databasen

 

Er det noen gylden regel på dette?

 

*tenkepause* Oi. Ser jo at hjernen ikke er helt i drift mtp alternativ 1. Vil jo bare være å snappe opp hashen da... Så da er det 2 eller 3 som er igjen.

 

-C-

Lenke til kommentar
Videoannonse
Annonse
  • 4 uker senere...

Det vanlige er å hashe passordet etter at formen er postet, men før det sjekkes/settes inn i databasen :)

 

Edit: For å ta det litt grundigere. Når jeg skriver logg inn- og registrerings funksjoner i php, så hasher jeg passordet når jeg henter verdiene fra $_POST-variablene. For eksempel:

 

$passord = md5($_POST['passord']);

Endret av Bakke
Lenke til kommentar

Jeg har egentlig aldri sett poenget med å hashe passord. En kan uansett klare å enten snappe opp passordet, eller hashen, og begge kan fint brukes til å bryte seg inn på en webside.

Så lenge kommunikasjonen mellom server og klient ikke er kryptert, er hashing av passord egentlig rivende likegyldig. Om passordet, enten det være seg en hash eller rentekst, har kommet frem til serveren er det egentlig for sent å vurdere sikkerhet allikevel.

 

Webtrafikk burde egentlig vært enklere for utviklere å sikre.

Lenke til kommentar
Hashing av passord er vel for å beskytte brukerne -- ikke tilgangen til kontoene. Slik at hvis jeg får tilgang til databasen på et eller annet vis, så kan jeg ikke høste passord fritt.

 

Men hva skal du med passordene når du likevel har tilgang til databasen?

Det er litt som å bryte seg inn i et hus for å stjele nøkkelen.

Lenke til kommentar

Har en cracker fått tilgang til databasen din, så er jo egentlig spillet tapt, for å si det slik. Men du kan jo likevel gjøre brukerne en tjeneste og beskytte litt av informasjonen deres. Si at flere av brukerne er medlem av andre sider og bruker samme brukernavn - da er det heller ikke uvanlig at de bruker samme passord. Ergo, kan crackeren se alle passordene, så kan han lett google brukernavn og få tilgang til kontoene deres på andre nettsider.

 

Edit: Om noen klarer å hente ut informasjon fra databasen, så er det jo heller ikke sikkert at de har full tilgang. Klarer noen å hente ut informasjon fra databasen, som de ikke skal ha tilgang til, ved hjelp av en bug, så trenger vi jo ikke servere dem passordene på sølvfat.

Endret av Bakke
Lenke til kommentar
Ja, det er det jeg innbiller meg også. Man er jo uansett fucked hvis en cracker får tilgang til databasen, men det er jo som Bakke nevner veldig vanlig å ha samme passord overalt.

 

Det er jo sant, jeg bruker selv to forskjellige passord overalt.

 

Men passordhashing i seg selv kan ikke hindre innbrudd i en database.

 

Innimellom skulle jeg ønske selv at jeg ikke hashet passord, grunnen er at brukerne ofte glemmer passordet selv, og da må jeg selv gå inn i databasen og resette det, jeg har ingen mekanisme som kan sende dem passordet deres på email eller noe, siden jeg ikke tar vare på passordet, og det er ikke en webside, så jeg kan ikke lage en webside for å resette det.

Lenke til kommentar
Innimellom skulle jeg ønske selv at jeg ikke hashet passord, grunnen er at brukerne ofte glemmer passordet selv, og da må jeg selv gå inn i databasen og resette det, jeg har ingen mekanisme som kan sende dem passordet deres på email eller noe, siden jeg ikke tar vare på passordet, og det er ikke en webside, så jeg kan ikke lage en webside for å resette det.

 

Passord per e-post? Hvor lurt er *det* egentlig?

 

Det til side, hvorfor er det problematisk å sette et nytt passord og distribuere det på den samme måten som det opprinnelige (glemte) passordet ble distribuert på?

Lenke til kommentar
Innimellom skulle jeg ønske selv at jeg ikke hashet passord, grunnen er at brukerne ofte glemmer passordet selv, og da må jeg selv gå inn i databasen og resette det, jeg har ingen mekanisme som kan sende dem passordet deres på email eller noe, siden jeg ikke tar vare på passordet, og det er ikke en webside, så jeg kan ikke lage en webside for å resette det.

 

Passord per e-post? Hvor lurt er *det* egentlig?

 

Det til side, hvorfor er det problematisk å sette et nytt passord og distribuere det på den samme måten som det opprinnelige (glemte) passordet ble distribuert på?

Hvorfor skulle det være et problem? Det er vel gjerne et slags midlertidig passord for å sette et nytt passord. Klart, hvis mailen er ukryptert og noen snapper det opp før brukeren og rekker å resette det, så er jo det et problem, menneh... det skjer jo ikke da.

Lenke til kommentar
Hvorfor skulle det være et problem? Det er vel gjerne et slags midlertidig passord for å sette et nytt passord. Klart, hvis mailen er ukryptert og noen snapper det opp før brukeren og rekker å resette det, så er jo det et problem, menneh... det skjer jo ikke da.

 

Neida, *det* skjer selvsagt aldri... *shrug*.

Lenke til kommentar

*Tror* du seriøst at *det* er noe som *pleier* å *skje*? Kommunikasjon er *sjeldent* hundre prosent *trygt*, men *ofte* kan man *nøye* seg med at noe er trygt *nok* for *sitt* bruk.

 

Kan de som har opplevd at de har:

1) glemt passordet sitt på en nettside

2) fått tilsendt nytt passord på email som har blitt snappet opp

3) ikke rukket å skifte passord før han som sniffa emailen gjorde det

 

... si ifra? Bare sånn at vi får en viss *indikasjon* på hvor *vanlig* dette *problemet* er. :)

 

Dette forutsetter jo gjerne at nettverket til enten server eller klient er kompromittert slik at trafikken lar seg sniffe, men det har vel sikkert zotbar1234 tatt med i sin sikkerhetsanalyse.

Lenke til kommentar
*Tror* du seriøst at *det* er noe som *pleier* å *skje*?

 

Jeg er seriøst overbevist om at dette faktisk skjer."Stealing the network"-trilogien er en interessant lesing i så måte.

 

Dette forutsetter jo gjerne at nettverket til enten server eller klient er kompromittert slik at trafikken lar seg sniffe, men det har vel sikkert zotbar1234 tatt med i sin sikkerhetsanalyse.

 

For en viss definisjon av "kompromittert".

Lenke til kommentar
*Tror* du seriøst at *det* er noe som *pleier* å *skje*?

 

Jeg er seriøst overbevist om at dette faktisk skjer."Stealing the network"-trilogien er en interessant lesing i så måte.

Det er ingen som har nektet for at det skjer. Men det skjer ikke veldig ofte, og å unngå å sende ut midlertidige passord via email pga. den risikoen er i mine øyne latterlig. Det vil alltid være et lite kompromiss mellom sikkerhet og brukervennlighet.

 

Dette forutsetter jo gjerne at nettverket til enten server eller klient er kompromittert slik at trafikken lar seg sniffe, men det har vel sikkert zotbar1234 tatt med i sin sikkerhetsanalyse.

 

For en viss definisjon av "kompromittert".

Jaha. Jeg gav aldri noen definisjon av "kompromittert" der. Jeg ser ikke helt hva du vil frem til...

Lenke til kommentar

Om du ikke vil sende nytt passord over mail, så må du jo nesten ty til hemmelige spørsmål. Brukeren skriver inn et hemmelig spørsmål og et svar når han/hun registrerer seg. Om personen glemmer passordet, så kan vedkomne svare på spørsmålet og da få muligheten til å endre passordet. Men dette blir også et svakt punkt i sikkerheten, ettersom det ofte er mer enn en person som kan svare på disse spørsmålene.

Lenke til kommentar

Foreløpig er jeg fornøyd med å bare sette passordfeltet til null i databasen når en kunde ringer eller sender mail :) Det er ikke så mange brukere allikevel. Det som er mer irriterende er egentlig at de antyder at det er min feil at de har glemt passordet, så sier de "det funker ikke å logge inn" - Passordet på min administratorkonto der har aldri "sluttet å fungere"

 

En kan bli litt frustrert over hvor utakknemlig denne jobben egentlig kan være.

Lenke til kommentar
Så lenge kommunikasjonen mellom server og klient ikke er kryptert, er hashing av passord egentlig rivende likegyldig. Om passordet, enten det være seg en hash eller rentekst, har kommet frem til serveren er det egentlig for sent å vurdere sikkerhet allikevel.

 

Webtrafikk burde egentlig vært enklere for utviklere å sikre.

 

Det finnes en enkel løsning; TLS.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...