Mysql
 sql >> Database >  >> RDS >> Mysql

Nome utente, password, salting, crittografia, hash:come funziona tutto?

Se escludi i captcha, prova i limiti, i blocchi, eccetera... allora sì. Devi solo forzare la stringa di testo normale.

Tuttavia, ciò richiede tempo - come minimo, è limitato dalla velocità con cui il server risponderà alle richieste di accesso. Anche se lo sviluppatore non aggiunge alcuna misura per prevenire la forzatura bruta, il server stesso può eseguire il processo di crittografia + verifica solo così rapidamente e può gestire solo così tante richieste parallele.

Detto questo, ecco perché è importante

  • Come utente, usa una password forte, difficile da usare a forza bruta
  • Come sviluppatore, disponi di misure adeguate per prevenire la forzatura bruta del tuo processo di accesso

L'hashing e il salting delle password non servono a proteggere da persone che forzano il processo di accesso naturale (ci sono altre cose che proteggono da questo). Al contrario, servono a proteggere da potenziali compromissioni dell'archiviazione delle password stesse (ad es. qualcuno che scarica il contenuto del database).

Sia l'hashing che la salatura servono a diminuire la velocità in cui qualcuno con accesso alle password memorizzate può recuperare la stringa di testo normale di cui avrebbe bisogno per essere in grado di eseguire il processo di accesso naturale (del tuo sito o di altri siti , dato che le password sono comunemente condivise tra i siti) senza far scattare le misure di sicurezza anti-brute force.