Una breve panoramica degli algoritmi hash deboli vs. bcrypt
Con gli algoritmi di hashing delle password deboli, ciò che gli hacker faranno è provare milioni o miliardi di combinazioni diverse - alla velocità consentita dall'hardware - e molte password facili cadranno rapidamente nelle tabelle / password arcobaleno cracker / attacchi basati su dizionario.
Gli aggressori cercheranno di confrontare una grande quantità di stringhe con il tuo hash e quella che convalida è molto probabilmente la tua password. Anche se non lo è, puoi ancora accedere con esso perché hai trovato una collisione.
Tuttavia, bcrypt è diverso. È computazionalmente lento, quindi questo cracking verrà rallentato immensamente . Bcrypt può aiutare a rallentare il cracking fino al punto in cui puoi fare solo alcuni test al secondo, se quello. Ciò è dovuto al fattore costo computazionale. Devi leggere questa risposta di Thomas Pornin per una spiegazione migliore:
If the iteration count is such that one bcrypt invocation is as expensive as 10 millions of computations of MD5, then brute-forcing the password will be 10 million times more expensive with bcrypt than with MD5.
That's the point of having configurable slowness: you can make the function as slow as you wish. Or, more accurately, as slow as you can tolerate: indeed, a slow function is slow for everybody, attacker and defender alike.
Quindi dipende molto dal costo computazionale aggiunto. Alcune soluzioni hardware personalizzate sono in grado di crackare hash bcrypt a partire da 52k hash al secondo. Con un attacco standard e una password scadente, non hai molte speranze di resistere a lungo. Di nuovo, questo dipende dal costo computazionale: anche questa soluzione hardware personalizzata può essere forzata a 2-5 hash al secondo o anche più lentamente.
Non riutilizzare le password se ti interessano gli account.
Ho già trovato le tue credenziali e "incrinato" il tuo hash bcrypt
Ma non ti hackerò, non ti preoccupare. Questo è solo per dimostrare perché è necessario aggiornare le credenziali e interrompere la riutilizzazione della password. Volevi una risposta, quindi cosa c'è di meglio di una dimostrazione dal vivo?
Sei del Regno Unito, corretto? Il tuo hash di bcrypt è anche $2a$10$omP392PbcC8wXs/lSsKZ5Ojv9.wFQ7opUn7u3YUBNu0kkbff0rB.m
, corretto? Ho già "crackato" la tua password e conosco i tuoi account. Ti vedo, un ladro sul tetto. Il mio nuovo collegamento satellitare ha sia l'infrarosso che lo spettro dei raggi X. Vedo il tuo cuore battere; Vedo che hai paura.
Questo dovrebbe essere ovvio: dovresti sicuramente cambiare la tua password. Inizia a cambiare le tue credenziali ora ... prima che sia troppo tardi. dovresti essere preoccupato e dovresti cambiare le tue password. Ora.
Sì, bcrypt può essere estremamente lento, ma ...
In realtà ho trovato un modo per affrontare completamente il processo di brute-forzatura con una semplice aggregazione e correlazione dei dati. Ho scritto un piccolo programma che lega insieme alcune informazioni e le confronta. Non una password cracker o qualcosa del genere, ma alla fine della giornata, ha ottenuto lo stesso lavoro.
Per la tua privacy - e secondo la tua richiesta - non condividerò come ho fatto questo qui, ma dovresti sapere che non sono l'unico chi può farlo. Se posso farlo, anche gli altri.
Tuttavia ... devi smettere di riutilizzare le password!
Davvero, davvero non vuoi farlo. Se un sito è compromesso, avere password diverse su altri account protegge anche gli altri dalle violazioni.
Aggiorna tutti i tuoi account, anche quelli che non hai utilizzato da un po ', e interrompi il riutilizzo delle password a meno che non ti interessi. Puoi prendere in considerazione qualcosa come KeePass .