La lunghezza massima della password indica memoria non hash?

18

Quando un sistema richiede una password compresa tra 6 e 20 caratteri, vuol dire che la password è memorizzata senza usare una funzione di hashing e che il campo mysql (o simile) ha una lunghezza di 20 caratteri?

C'è qualche ragione per avere una lunghezza massima se viene usata una funzione di hashing?
Sto pensando forse a una vulnerabilità del DOS quando ho delle password enormi. Un limite di ~ 100 caratteri dovrebbe essere sufficiente per fermare questo, senza disturbare gli utenti. Forse anche tagliare la password a una lunghezza specifica prima di averla?

    
posta Filip Haglund 03.09.2013 - 10:50
fonte

1 risposta

23

Ci sono alcuni motivi per cui potrebbero essere stati imposti dei limiti:

  • Alcuni sviluppatori ritengono che limiti ragionevoli (ad esempio 120 caratteri) riducano il carico del server per l'hashing delle password di dimensioni ridicole. In realtà, i sovraccarichi di trasferimento sono probabilmente più intensi, in quanto i dati vengono ridotti a uno stato di lunghezza fissa nel primo round della maggior parte degli hash, quindi è un punto piuttosto discutibile.
  • Consulenza legacy. I vecchi sistemi avevano dei limiti tecnici che richiedevano che le password fossero brevi (ad esempio 14 caratteri o meno) e questo ha permeato i consigli dati ai nuovi sviluppatori. È irritante e arretrato, ma succede. Si lega anche all'atteggiamento "abbiamo sempre fatto così" che molti luoghi hanno.
  • Riduzione delle chiamate di supporto tecnico e ripristino del volume. Questa è di gran lunga la ragione più legittima, ma viene anche fornita con alcune avvertenze che la rendono in gran parte una cattiva idea. Ci si aspetta che gli utenti dimentichino le loro password ogni tanto, e le password complesse / lunghe sono viste per aumentare questo tasso. Tuttavia, se ti capita di avere una "struttura" per la tua password, che comporta una lunghezza fissa troppo grande per questo particolare servizio, allora porta a una maggiore probabilità di reimpostazioni.

Tutto sommato, ciò non significa che l'hashing non viene fatto. Significa solo che stanno seguendo un cattivo consiglio e stanno continuando con uno status quo di cattive pratiche.

Alcune domande correlate:

risposta data 03.09.2013 - 11:00
fonte

Leggi altre domande sui tag