Usando hashing un nome utente aggiungi qualsiasi valore [duplicato]

0

Fai finta di avere un sito web in esecuzione che non mostra alcun nome utente su nessuna pagina. Pertanto, non sarebbe un problema per i nomi utente hash. Quando l'utente esegue il login, il nome utente unshid viene memorizzato in una sessione. Usando questo nome utente unshid, è possibile ottenere dati utente specifici dal database e il nome utente può anche essere visualizzato sulle pagine per gli utenti registrati.

Questo aggiungerebbe qualcosa per quanto riguarda la sicurezza dei dati? E forse mi manca qualche funzionalità che non funziona quando il nome utente è hash?

    
posta P.Yntema 31.10.2016 - 23:10
fonte

2 risposte

4

L'hashing sicuro del nome utente nel database protegge la riservatezza di tali informazioni nel caso in cui il tuo database cada nelle mani di un utente malintenzionato.

Ricorda però che se usi il nome utente non cancellato in altri modi nell'applicazione, le informazioni potrebbero comunque essere ottenute da un utente malintenzionato.

Ad esempio, hai detto:

When the user logs in, the unhashed username is stored in a session.

Se supponiamo che le informazioni sulla sessione siano inviate al client come parte della normale risposta http per un utente che ha effettuato l'accesso (ad esempio come cookie), il nome utente può essere ottenuto da un utente malintenzionato se ottiene l'accesso a quel token di sessione . OWASP sconsiglia di memorizzare informazioni specifiche dell'utente nelle sessioni inviate a un cliente.

Using this unhashed username, specific user data can be obtained from the database and the username can even be displayed on pages for logged in users.

In questo caso il fatto che sia possibile utilizzare un nome utente non cancellato per cercare informazioni sul database implica che nel database vi siano alcune informazioni utente non hash che minano l'hashing del nome utente in primo luogo. Inoltre, se le informazioni possono essere visualizzate nelle pagine, tieni presente che, a meno che la connessione tra client e server non sia protetta al livello di trasporto (TLS), tale nome utente potrebbe essere visibile a un utente malintenzionato.

    
risposta data 01.11.2016 - 04:05
fonte
-1

Personalmente, direi di si. TUTTAVIA, le tue ricerche si trasformano in corrispondenze esatte. Niente più fuzzy alla ricerca di John "qualcosa o altro", perché è appena diventato una ricerca hash.

Il motivo per cui lo dico è se qualcuno scarica il tuo database - hai appena distribuito un elenco di destinazione.

Ma le mie comunità non passano mai più di maniglie.

    
risposta data 01.11.2016 - 00:32
fonte

Leggi altre domande sui tag