Modalità ECB AES per la crittografia a blocco singolo / casuale dei dati

5

Ho bisogno di salvare chiavi a 16 byte casuali in un database. Per crittografare queste chiavi, attualmente utilizzo AES 128 con la modalità ECB (a causa di dati più piccoli da memorizzare, senza bisogno di IV), ma ora leggo molto sul fatto che la BCE non è sicura e non dovrebbe mai essere utilizzata.

Ho pensato che in questo caso (dati casuali, solo un blocco singolo) usando la BCE andrebbe bene, ma non sono esperto, quindi mi piacerebbe sapere se è giusto, o dovrei passare a CBC per fare è sicuro?

    
posta Ruu 23.08.2011 - 10:13
fonte

4 risposte

4

Se hai solo un blocco, l'uso di altre modalità come CBC non offre ulteriore sicurezza. Ricorda, l'unico segreto qui dovrebbe essere la chiave per la crittografia / decodifica. IV è solitamente un'entità conosciuta. Se speri di ottenere una sicurezza migliore rendendo segreto un IV, ti stai avvicinando da una direzione sbagliata.

Dicendo così, non consiglierei comunque la BCE;). Pensa a due utenti che hanno la stessa password. Le loro password crittografate sono uguali, a causa della natura del "libro di codice" della BCE.

Nel tuo caso, probabilmente userò la modalità CTR con il valore del contatore che è semplicemente l'ID dell'utente.

    
risposta data 23.08.2011 - 13:43
fonte
3

Se i tasti sono veramente casuali, la BCE dovrebbe andare bene. Tuttavia, in generale, non dovresti fare affidamento su questo. La corretta progettazione della sicurezza è quella di fare le ipotesi meno necessarie sui dati sottostanti, ma funziona semplicemente per tutti i possibili casi. Quindi secondo me dovresti farlo solo se i costi aggiuntivi per la flebo sono davvero pessimi.

Inoltre, vorrei sottolineare che non stai proteggendo le chiavi dalla manipolazione. Se alcuni bit vengono capovolti in quel campo di dati crittografati, non si saprà mai che è successo, fino a quando un livello più in alto scopre che la chiave fornita dal sistema non funziona. E poi ancora non sai se hai inserito la chiave giusta o se la memoria è cattiva / manipolata. AES-GCM o CCM ti diranno se i dati crittografati sono stati manomessi.

    
risposta data 23.08.2011 - 16:41
fonte
1

Nella tua situazione particolare, probabilmente non è necessario passare dalla modalità ECB alla modalità CBC. Questo è molto specifico per un insieme di ipotesi, quindi assicurati di documentare il motivo per cui ECB è OK e tutte le ipotesi che stai facendo, se decidi di usarlo. (Suppongo che non memorizzerai mai la stessa chiave più di una volta. Se lo fai, ECB rivelerà quali due codici cifrati corrispondono alla stessa chiave.)

Un problema separato nel tuo schema è che ti manca un codice di autenticazione del messaggio. In generale, devi utilizzare l'autenticazione dei messaggi in ogni contesto in cui viene applicata la crittografia.

    
risposta data 26.09.2011 - 04:12
fonte
-1

La BCE funziona bene nella tua situazione (crittografia di 16 byte di dati casuali con AES-128 in modalità ECB).

Tuttavia, a mio avviso, potrebbero verificarsi dei problemi se decidessi di crittografare chiavi più lunghe.

    
risposta data 23.08.2011 - 16:10
fonte

Leggi altre domande sui tag