Devo client user hash e password, HTTPS to password_hash su PHP / MySQL server?

2

In seguito alla mia precedente domanda Ottimizzo la sicurezza aggiungendo tutte le password con una stringa lunga fissa? Credo di poter utilizzare la funzione PHP password_hash con bcrypt sul mio server.

Due domande ...

Ho cancellato l'utente in modo da poter cercare l'utente con una stringa fissa nel database, quindi confrontare il valore memorizzato password_hash () con password_verify () e pass client hash?

Ho qualche vantaggio nell'annullare la password o semplicemente la invii inalterata sul filo HTTPS? Ho letto altrove che va bene, ma mi lascia in sospeso.

    
posta fiprojects 18.09.2016 - 21:10
fonte

1 risposta

1

Ho risolto - questo è il processo che sto seguendo nel caso in cui qualcuno sia interessato.

Durante la registrazione iniziale, l'utente inserisce login e password. Entrambi sono sottoposti a hash, inviati tramite HTTPS al server.

Server DB salva l'hash di accesso del client e l'output in password_hash ($ pass, PASSWORD_BCRYPT, ["cost" = > 12]) nel db.

Successivamente, durante il processo di accesso, l'utente inserisce login e password. Entrambi sono sottoposti a hash, inviati tramite HTTPS al server.

Il client richiede al server di cercare il DB per il loginhash, recupera l'output password_hash.

se password_verify ($ clientpass, $ dbpass) restituisce true, quindi la password è valida, altrimenti false / password non valida.

Questo funziona per me.

Perché faccio hash l'utente e la password sul client anche se passano sul filo come https? Perché le lunghezze fisse sono più veloci da cercare nel DB (io mysql prepara tutte le mie query per assicurarmi di non dipendere da dati client sporchi). Anche perché, anche se i dati vengono crittografati, preferisco una lunga sequenza di caratteri sul filo rispetto a una breve sequenza che potrebbe contenere un nome utente / password: nel mio mondo, mi sembra migliore anche se credo da quello che ho letto ottenere qualcosa in più per lo sforzo.

    
risposta data 18.09.2016 - 23:03
fonte

Leggi altre domande sui tag