Stai essenzialmente sostituendo i caratteri per le immagini. Quindi la complessità e la sicurezza aumentano in quanto richiedono più immagini e ci sono più immagini tra cui scegliere. L'entropia aumenta se le immagini non sono simili e hanno la stessa probabilità di essere scelte. Se richiedi anche un ordine specifico, ci sono più possibilità (combinazioni vs permutazioni).
Mi avvicinerei a questo come alle password - hai bisogno di più sicurezza, dovresti rendere la sfida più difficile. Tuttavia, poiché questo è per il reset self-service, è necessario bilanciare con facilità le sue esigenze. Questo è un metodo interessante perché ora stai usando qualcosa che l'utente conosce (un segreto) ma non informazioni che possono essere consultate (ad esempio, mascotte delle scuole superiori).
Cose da considerare (specifiche per il reset dell'immagine, dovremmo far girare un'altra domanda per il reset generale del self-service).
- Se hai 20 foto, c'è una probabilità uguale che l'utente comune selezionerebbe qualcuna di esse? Se è più probabile che alcune immagini vengano scelte, un attacco di forza bruta può essere meglio focalizzato. Gli esperimenti con schemi di password in cui il clic dell'utente su parti di una foto sono stati mostrati come scadenti poiché molti utenti tendono a fare clic sulle stesse aree di interesse all'interno di un'immagine.
- Le foto sono generiche, o se sai qualcosa su un individuo, potresti indovinare cosa sceglierà un individuo
- L'utente deve solo ricordare le immagini che scelgono, quindi penso che avere una libreria con un gran numero di opzioni aiuti solo - questo è usare il riconoscimento, se l'utente non riconosce un'immagine in seguito, allora è improbabile che lo abbiano scelto
- Pensando a quanto sopra, potresti essere in grado di offrire un piccolo sottoinsieme di immagini all'utente durante il processo di selezione, ma durante il processo di ripristino puoi offrire un super set. Sarebbe come richiedere solo la richiesta di caratteri minuscoli in una password, ma convincendo l'attaccante che ha bisogno di impostare il suo forcer bruto per controllare i numeri superiore, inferiore, e speciale. Inoltre, se viene scelto un numero elevato di immagini che non erano nel set disponibile per l'impostazione della password iniziale, ciò potrebbe aiutare a identificare un utente malintenzionato [Se questa non è già una funzione, aggiungila]
Per il numero effettivo, dovrebbe essere direttamente proporzionale al rischio. Un sistema o un'applicazione chiave dovrebbe richiedere più complessità e opzioni per aumentare il numero di possibilità. Questo deve anche essere bilanciato con gli utenti. Potrebbe essere necessario eseguire test per organizzazione per vedere dove sono i mezzi min, max e happy. Forse ti stratifichi in base al rischio che un determinato account venga compromesso o che il valore degli account.