Qual è il modo più sicuro per aggirare la crittografia per abilitare il recupero della password?

8

Ho un'app web (che ho parlato prima qui ). Gli utenti possono usarlo per salvare i dettagli di contatto delle persone. Questi dati di contatto sono crittografati per garantire che siano difficili da ottenere se sono trapelati.

Anche il sistema di crittografia è progettato in modo che gli amministratori non possano accedere ai dati. La chiave di crittografia si basa sulla password dell'utente.

Sto esaminando i modi per abilitare il recupero della password. Il problema qui è che una password dimenticata, al momento, comporta anche una perdita totale dei dati - dal momento che la chiave è basata sulla password, se non si conosce la password, la chiave non può essere elaborata ei dati dell'utente non può essere decodificato. Non ideale.

Ho un paio di modi per risolvere questo problema:

  • Chiavi di decrittografia del negozio. Sembra un'idea terribile dal punto di vista della sicurezza, quindi preferirei non farlo se è assolutamente evitabile.
  • Hai due password. Uno per accedere all'account, uno da utilizzare per la chiave di crittografia. Questo ha un impatto sugli utenti: devono ricordare due password.

Potrebbero esserci anche altri metodi validi a cui non riesco a pensare. Nessuno di questi sembra molto sicuro - o sbaglio? Quali sono i modi sicuri per farlo?

    
posta ArtOfCode 30.03.2016 - 22:06
fonte

1 risposta

6

Per continuare @ il pensiero di Matthew, rendiamolo molto semplice: vuoi che i tuoi amministratori abbiano accesso ai dati degli utenti o no?

Non ho mai visto un sistema che impedisca completamente agli amministratori di accedere ai dati, e consente anche il recupero dei dati in caso di perdita della password ... questi due sembrano davvero contraddittori.

Tutti i servizi cloud a cui riesco a pensare con l'approccio "non possiamo nemmeno accedervi" hanno anche una cancellazione dei dati come parte del processo di recupero della password. Esempi:

  • Password / segnalibri di Google Chrome nella loro dashboard .

  • I primi 4 fornitori di cloud storage in questa lista tutti hanno una politica di "Hai dimenticato la password? Peccato, ciao dati!".

EDIT:

Quanto sopra presuppone che si desideri un processo di registrazione / recupero standard, leggero e flessibile. @Xander sottolinea che se sei disposto a mettere un po 'di peso in più sugli utenti, allora hai delle opzioni.

Come suggerisci nella tua domanda, puoi (per esempio) mettere una copia crittografata della chiave di decodifica sul server con i file - purché tu abbia crittografato questa chiave con qualcos'altro, come una chiave derivata da un seconda password o una chiave memorizzata in un file chiave che l'app genera come parte del processo di registrazione. (ma se l'utente lascia il file della chiave di ripristino sullo stesso dispositivo su cui è installata l'app, si annulla tutta la sicurezza).

Alla fine della giornata, se hanno dimenticato la loro password, chi può dire che sono affidabili anche con questa roba? Non sono sicuro che risolva effettivamente il problema principale di "rendere il tuo sistema a prova di idiota".

    
risposta data 30.03.2016 - 22:23
fonte

Leggi altre domande sui tag