Un aspetto della sicurezza mi ha infastidito per molto tempo: perché c'è una certezza positiva sull'importanza degli algoritmi e dei sali di hashing, ma la forza della password non viene mai menzionata o considerata una questione piuttosto "filosofica"?
Per me, ci sono tre componenti di un'implementazione hash corretta:
- Algoritmo lento e senza collisioni.
- Buona quantità di sale casuale
- strong, password a prova di dizionario.
Un errore in qualsiasi componente renderà inutile l'intera cosa dell'hashish. Quindi, per me, non ha senso fare una scena sull'uso di MD5, ma poi permettere loro di usare 12345 come password . Per me, la forza della password è inseparabile e strettamente tecnica, non meno importante degli altri due aspetti.
Tuttavia, quando si tratta della semplice domanda specifica, non esiste una risposta particolare!
Vuoi un suggerimento sull'algoritmo? Al vostro servizio!
Vuoi sapere come ottenere un buon sale? Ci sono mille modi!
Vuoi sapere quale dovrebbe essere la forza minima della password accettabile? Err ... sai, c'è un trade-off e alcuni affari politici del genere, quindi "usa il meglio che puoi".
Ma esiste una definizione tecnica e pratica per la tecnologia "usa il meglio che puoi"? Proprio come uno sugli algoritmi di hashing?
O, in altre parole, perché c'è sempre un consiglio per l'algoritmo di hashing e un certo ("usa questo"), ma non c'è mai un consiglio per la forza della password (" consentire almeno tale forza o comprendere il rischio ")? O sempre un'enorme enfasi sull'algoritmo che dovrebbe essere usato e nessuna preoccupazione per la forza della password. Non è possibile lasciare l'impressione che l'algoritmo di hash da solo sia sufficiente, lasciando al povero programmatore una falsa sensazione di sicurezza?