2010-06-24 22 views
5

Sono nuovo nello sviluppo web. Sono autorizzato a memorizzare le password originali degli utenti? So che la buona pratica è quella di memorizzare la password hash con un salt, ma perché non memorizziamo la password originale?Perché le password originali non sono memorizzate?

È perché il database è facilmente violato, quindi l'hashing protegge le password? Ci sono altri motivi? In caso contrario, vorrei memorizzare la password originale se è legale farlo.

+16

non sarò mai registrare un account al vostro sito web ^^ thnx per menzionare – Bas

+0

sì, penso che è tutto per questa domanda :) –

+4

Per quale sito si sarà in attuazione di questa pratica? Possiamo stare lontani :-) vedi !!! – Samiksha

risposta

17

La legalità dipende dal paese in cui vivi. Ma ci sono anche le migliori pratiche. E una best practice è crittografare le password dell'utente. In questo modo, se qualcuno irrompe nel tuo database, non sarà in grado di ottenere la lunga lista di password, e provare ognuna di esse in ebay, yahoo mail e gmail. Gli utenti generalmente usano la stessa coppia di username e password per molti siti.

Come Jon indica nel commento, ovviamente c'è differenza tra hashing e crittografia. L'hash è un processo unidirezionale e distruttivo dei dati, che accetta una stringa di lunghezza arbitraria come input e emette una stringa di lunghezza fissa. Questa stringa è definita in modo tale che, cambiando ogni singolo bit nell'input originale, l'hash sarà diverso. Se si dispone di un hash, quindi, non è possibile ricostruire il testo originale (cioè non è possibile recuperare la password).

D'altra parte, la crittografia corretta è una tecnica in cui è possibile recuperare la password originale, sapendo chiavi segrete, password, ecc

Di solito, si vuole hash delle password, non li cifrare: non è necessario, ed è più complesso da configurare. Non dovresti recuperare la password: li rigenererai semplicemente.

+5

Votare questo e cancellare il mio. A tutti quelli che affermano che è legale, sarei molto interessato a sapere su quale base affermi questo. Devi essere bravo avvocati a conoscere ogni legge su scala planetaria. – paxdiablo

+4

Penso che varrebbe la pena enumerare la differenza tra crittografia e hashing e quando utilizzarli. Se è necessario essere in grado di recuperare la password di un utente, si utilizzerà la crittografia. In caso contrario, l'hashing sarebbe una scelta migliore. –

+0

@Jon: Sì, è vero. L'ho modificato ed elaborato un po '. – Palantir

0

Sì, è perfettamente legale, anche se assolutamente non consigliato memorizzare le password in testo semplice. E non è che il tuo vero database live possa essere compromesso: anche una copia di backup può essere rubata (senza che tu te ne accorga mai).

Quando le password vengono rubate, questo è molto male per i vostri utenti effettivi, dal momento che pochissimi di loro effettivamente usano password diverse per siti diversi.

+2

Sotto quale giurisdizione affermi esattamente che questo è legale? Sei un avvocato internazionale (o un avvocato di qualsiasi tipo)? – paxdiablo

0

È legale secondo la legge. Alcune aziende memorizzano la password in testo semplice, in modo che sia recuperabile.

Tuttavia, per motivi di sicurezza questa è una cattiva idea. Una volta ogni tanto, alcune aziende vengono violate e si accede al loro database. In alcuni casi, questo espone le password di migliaia di utenti. Ciò danneggerà gravemente l'immagine della tua azienda, ed è ancora più un rischio per la sicurezza quando la password non è hash.

Se si desidera che la password sia recuperabile, crittografarla almeno in modo che non sia facilmente visualizzabile accedendo al database.

+1

Sotto quale giurisdizione affermi esattamente che questo è legale? Sei un avvocato internazionale (o un avvocato di qualsiasi tipo)? – paxdiablo

+0

"Alcune aziende lo fanno" non implica "e quindi deve essere legale". Potrebbe anche significare "alcune società stanno infrangendo la legge". – Piskvor

1

Immagina se Facebook sia stato violato, non ha crittografato nessuna delle password dell'utente. Facebook ha circa 200 milioni (?) Utenti

E se tutte le 200 milioni di password fossero trapelate a qualche organizzazione malvagia? Molti utenti usano la stessa password delle loro e-mail o altri servizi online sensibili come la contabilità bancaria.

Facebook non sarebbe al sicuro una volta sola. Vuoi registrare un account lì?

+1

(1) Le persone che utilizzano la stessa password in più siti sono idioti. (2) Non registrerei comunque un account su Facebook. Non perché è insicuro, proprio perché considero i miei amici ad essere quelli che mi piace passare il tempo con, non un pagliaccio all'altra estremità di un cavo CAT5 :-) – paxdiablo

+0

@paxdiablo: (1) Hai ragione, ma purtroppo esistono e dovrebbe essere preso in considerazione se si desidera memorizzarli. (2) Sono d'accordo qui due, ma posso anche capire le persone che vogliono usare Facebook. Ma non c'è ancora ragione per cui due salvano una password non cifrata. – jigfox

+0

No, sono d'accordo con te @Wai e, dal momento che non sei uno della folla che ha dichiarato che era legale (con nessuna autorità supporto), un upvote per voi pure. – paxdiablo

1

Non so se è legale, ma comunque vorrei consigliare contro di essa per almeno tre ragioni:

  1. Questo non è solo di hacker che ottengono l'accesso alle tue password. Gli utenti spesso hanno la stessa password per più account (anch'essi non dovrebbero avere). Quindi chi dice che possiamo fidarci di te o di altre persone che hanno accesso legale a questi dati?
  2. Non importa quanto sicuro pensate che il vostro server è. Non esiste una sicurezza assoluta per un server. Dovresti considerare che potrebbe essere hackerato alla fine. E non credere che non accadrà mai. Spero per il meglio, ma pianifica sempre il peggio!
  3. userei ogni facile ed economico di sicurezza posso arrivare a garantire non solo i miei dati, ma anche i dati degli utenti. E il metodo di usare un sale + hash è economico. Ti costerà 2 linee di codice. Si
Problemi correlati