Sto lavorando a una nuova applicazione software che avrà accesso a milioni di cartelle cliniche dei pazienti. Voglio che questo sia sicuro.
Il processo di pensiero iniziale consisteva semplicemente nel utilizzare uno schema di nome utente e password standard. Il problema che vedo con questo è che tutti i nostri utenti useranno semplicemente la stessa combinazione di username / password che usano su ogni altro sito. Questo sembra un grosso rischio per la sicurezza.
Questo mi ha portato a iniziare a pensare a alternative a nome utente / password che soddisfano i seguenti criteri:
- Veloce da inserire
- Altamente sicuro
- Facile da ricordare
- Difficile da surfare a spallamento.
- Non richiede alcun hardware aggiuntivo (dati biometrici, schede, ecc.)
- È relativamente facile da implementare
Quello su cui sto lavorando attualmente è questo:
L'utente deve inserire un pin di 4 cifre, seguito da un modello preselezionato di 4 icone.
Ogni volta, vengono presentati con una griglia di 36 icone che vengono mescolate casualmente ogni volta che vedono la griglia. Le icone sono sempre le stesse, ma si trovano in luoghi diversi.
L'utente deve scegliere la propria serie di 4 icone, in ordine, dalla griglia.
Con un pin a 4 cifre, si tratta di 10.000 combinazioni possibili. Aggiunto a una serie di 4 icone specifiche da un set di 36, otteniamo:
10.000 * (36 * 35 * 34 * 33) = 14.137.200.000 risultati possibili.
Questa sembra una soluzione ragionevole per proteggere un'applicazione? Quali sono i difetti in questo piano?