Risposta originale
Questa è una cattiva, cattiva politica. Ci sono solo 10 6 o un milione di numeri diversi a 6 cifre. È così poco.
È quasi impossibile prevenire un attacco di forza bruta offline, indipendentemente dalla lentezza di un algoritmo di hashing che utilizzi. Se un tentativo richiede 1 secondo, creerai una password in 11 giorni. Potrebbe anche essere troppo poco per fermare completamente un intelligente attacco di forza bruta online, se l'attaccante può utilizzare più IP (ad esempio, dal controllo di una botnet) e ha molti numeri di carta diversi su cui provare.
Questo è aggravato dal fatto che, proprio come con le password ordinarie, la maggior parte delle persone non le sceglie a caso. 123456
è destinato a comparire molto, così come i numeri che rappresentano le date. In pratica, la maggior parte delle password avrà molto meno di 6 × log 2 (10) ≈ 20 bit di entropia.
Non vedo ragioni per cui non dovresti essere autorizzato a scegliere una password più complessa. Questa pratica invia il segnale che semplicemente non si preoccupano della sicurezza. Mi fa anche sospettare che da qualche parte nel loro database ci sia un NUMBER (6)
invece di un hash memorizzato.
Che i pagamenti non possono essere eseguiti senza un altro fattore di autenticazione è un po 'confortante, ma non molto. Un utente malintenzionato potrebbe ancora vedere la cronologia del tuo account, qualcosa che potrebbe contenere informazioni molto sensibili e anche essere utilizzato per il phishing.
Anche se probabilmente non verrà mai utilizzato contro di te, se fossi in te, prenderei in considerazione la possibilità di cambiare a una nuova banca. Preferibilmente uno che richiede l'autenticazione a due fattori all'accesso.
Ulteriori commenti
Ci sono state alcune discussioni nei commenti e sono spuntate alcune buone risposte con un'altra vista, quindi vorrei elaborare e rispondere ad alcune critiche.
Ma i nomi utente sono segreti!
Secondo la domanda, i numeri di carta d'identità (da non confondere con i numeri di carta di credito) sono "quasi pubblici", e OP ha chiarito nei commenti di averne visti elenchi come "risultati per i servizi del settore pubblico". In altre parole, i nomi utente non sono segreti . E non dovrebbero esserlo: se la sicurezza del tuo sistema si basa sul fatto che i nomi utente sono segreti, stai sbagliando.
Il limite di velocità per account e / o numero IP prenditi cura di questo.
Un attacco di forza bruta distribuito, ad esempio, utilizzando una botnet, avrebbe una buona possibilità di rompere alcuni account. Supponiamo che tu abbia 10.000 computer e che ogni computer collauda 3 password al giorno durante un mese su account diversi. Si tratta di circa 10 6 tentativi. Questo ti darà in media un account se le password sono veramente casuali. Nel mondo reale, otterrai molto, molto di più.
Certo, la banca potrebbe teoricamente avere un sistema sofisticato per rilevare e difendersi da attacchi come questo. Forse sì forse no. In qualità di cliente, non ho modo di saperlo e di certo non mi fido di un'organizzazione che non è nemmeno in grado di ottenere la politica delle password giusta per fare qualcosa di più avanzato.
Un attacco offline è irrilevante . Se le password sono fuori uso, lo sono anche i dati sensibili che stanno proteggendo.
Forse, forse no. Ci sono molti dump di dati che fluttuano su Internet con dati incompleti. Affermare che le password saranno incollate per sempre alla cronologia del tuo account fa alcune ipotesi molto forti su come si è verificata la violazione e su come i dati sono stati gestiti in seguito.
Il PIN della tua carta di credito è di sole quattro cifre, quindi che importanza ha?
Il PIN della carta di credito è un fattore debole nell'autenticazione a due fattori. L'altro fattore, il possesso della carta, rende il sistema più forte.
Questa password è un fattore debole ed è anche l'unico fattore che protegge le tue informazioni finanziarie.
Conclusione
Per essere chiari, non sto dicendo che sarebbe impossibile per una banca rendere sicuro questo sistema con altri mezzi. Non sto dicendo che un attacco riuscito all'account di qualcuno sia probabile, ancor meno al tuo in particolare. Quello che sto dicendo è che questo non è "abbastanza sicuro" per una banca.
La banca ha già affrontato il problema di impostare l'autenticazione a due fattori per i trasferimenti finanziari. Perché non usarlo solo per i login?
La banca (si spera) ha già affrontato il problema di hashing una password e di memorizzarla in un database. Perché non rimuovere semplicemente la parte del codice che limita la password a sei cifre?