Esiste il rischio di utilizzare algoritmi di crittografia AEAD quando la chiave viene generata da una password?

3

Ho bisogno di crittografare qualcosa su uno smartphone. I dati sono relativamente piccoli e verranno memorizzati crittografati al telefono.

Stavo pensando AES-GCM con una chiave generata da una password (scelta dall'utente della app), ma mi chiedo se c'è un rischio, con la crittografia autenticata, che un utente malintenzionato possa utilizzare il MAC come oracolo per brute-force la password da cui è derivata la chiave.

Qual è la tua opinione al riguardo? Devo stare lontano dalla crittografia autenticata quando si utilizzano chiavi derivate basate su password?

Grazie per il tuo feedback.

    
posta NGU 14.10.2016 - 11:15
fonte

2 risposte

2

Una delle proprietà di sicurezza di un PBKDF è che non dovrebbe essere reversibile. Non si dovrebbe essere in grado di ottenere la password, anche se si conosce la chiave, senza testare in modo esauriente le password candidate eseguendole attraverso il KDF fino a quando non si trova l'output corrispondente.

Quindi, no, non penso che l'attacco che stai considerando sia in realtà una minaccia. dovresti utilizzare una funzione PBKDF appropriata con un fattore di lavoro tanto elevato quanto ragionevole per proteggere la password dagli attacchi del dizionario nella misura del possibile, ma la password non sarà recuperabile dalla chiave e molto meno dal MAC stesso.

    
risposta data 26.10.2016 - 15:57
fonte
2

Se usi un buon PBKDF (come Argon2 ) la forzatura bruta delle password viene rallentata dal primo passaggio che sta trasformando la password nella chiave. Quindi la tua sorgente a bassa entropia (la password) è protetta rallentando questo processo.

Nei passaggi successivi la chiave dovrebbe apparire come se fosse stata campionata casualmente da uno spazio più grande e l'attaccante non trarrà vantaggio dal sapere che proviene da una password.

In breve: un PBKDF fa cose

to produce a derived key, which can then be used as a cryptographic key in subsequent operations.

(da Wikipedia )

Che è esattamente quello che vuoi.

    
risposta data 26.10.2016 - 16:20
fonte

Leggi altre domande sui tag