Ci sono dei rischi nell'applicare la crittografia asimmetrica in simmetrico?

0

L'app Web che sto sviluppando dovrebbe essere crittografata end-to-end, ma per un'esperienza utente leggermente migliore, non voglio che l'utente inserisca le chiavi private nel client.

Invece sto pianificando di memorizzare la chiave privata crittografata sul server delle applicazioni. Quindi il client la decrittografa con una password fornita dall'utente. Ovviamente per scaricare la chiave privata crittografata, l'utente deve accedere all'applicazione. Si spera che con una password diversa come per la crittografia della chiave. (vedi sotto)

Un rischio sarebbe che l'utente usi la stessa password per la crittografia di login e di chiave privata, in modo che l'applicazione non sia più crittografata end-to-end.

Come pensi a questo? O ci sono problemi di sicurezza che non vedo?

(Per evitare questo rischio, dovrei pre-scalare la password di login sul lato client?)

Grazie in anticipo.

    
posta Hendrik 23.04.2016 - 22:40
fonte

1 risposta

2

La protezione tramite password di una chiave, simmetrica o asimmetrica, è una pratica comune. Vedi la domanda Crittografia con password - Crittografia di chiave contro dati per un esempio.

Un problema è che gli utenti possono scegliere password deboli. Questo può essere, come si nota, la stessa password che usano per autenticare il sito, oppure può essere solo una password genericamente debole. L'utilizzo dell'hash della password di autenticazione lato client per impedire al server di conoscere la password dell'utente può essere d'aiuto.

Il gestore di password LastPass sembra un caso di utilizzo simile a quello che stai impedendo. LastPass utilizza 5000 round di PBKDF2 con SHA-256 sul client per prevenire LastPass da conoscendo la tua password principale. Le prestazioni sono un problema con questa soluzione in quanto è necessario fare abbastanza giri di hashing per prevenire un attacco di forza bruta. Poiché le macchine client tendono ad essere molto più lente delle macchine server, ciò sarà doloroso. Questo non è un problema nel modello utente LastPass perché gli utenti desiderano essere pazienti per l'autenticazione su LP. Dovrai determinare se lo stesso vale per il tuo modello utente.

Un secondo problema con questa soluzione è che il recupero di una chiave di crittografia della password persa è impossibile. Sebbene si tratti di una funzionalità di sicurezza, potrebbe rivelarsi un problema per i tuoi utenti.

Un vantaggio di tale schema di crittografia è che se l'utente cambia la propria password di crittografia, è sufficiente decrittografare la chiave con la propria password originale e ricodificarla con quella nuova. Non c'è bisogno di decifrare e ricodificare tutti i dati.

    
risposta data 24.04.2016 - 01:52
fonte

Leggi altre domande sui tag