Posso utilizzare la modalità CTR AES per crittografare i file con la stessa chiave e nonce?

2

Voglio crittografare i file memorizzati nella scheda SD e sto utilizzando la modalità CTR di AES per crittografarlo. La chiave e IV sono fissi. Quindi ogni volta che crittografo / decritto uso la stessa chiave e nonce. La maggior parte delle persone suggerisce di non usare più volte la stessa nonce. Nel mio caso, poiché non è la comunicazione tra due parti, penso che sia innocua. La mia ipotesi è corretta?

    
posta Rak 22.05.2015 - 11:55
fonte

2 risposte

4

Non devi farlo.

AES in modalità CTR lo trasforma in un codice di flusso, tale che AES viene trasformato in un generatore di numeri pseudocasuali crittografici (PRNG) che genera una sequenza di bit pseudocasuali da utilizzare come un keytream. Questo flusso di uscita è semplicemente xoed con il flusso di testo in chiaro per produrre testo cifrato. Usando la stessa chiave e IV si produce lo stesso keystream ogni volta, quindi riutilizzando la chiave e IV si sta essenzialmente utilizzando un pad a più riprese.

Quindi ottieni:

C1 = M1 ⊕ K

C2 = M2 ⊕ K

Dove C è ciphertext, M è il messaggio in chiaro, K è il keystream prodotto da AES-CTR e ⊕ denota un esclusivo -o (xor) operazione.

Calcolando l'xor di questi due testi cifrati, ottieni:

C1 ⊕ C2 = M1 ⊕ K ⊕ M2 ⊕ K

che, dopo aver cancellato i due valori K (poiché x ⊕ x ≡ 0) ci dà:

M1 ⊕ M2

Ciò consente a un utente malintenzionato di sapere quali bit di M 1 sono uguali a M 2 . Se conosci qualche bit di un messaggio (testo in chiaro noto), puoi recuperare i bit corrispondenti dall'altro messaggio. Puoi anche utilizzare tecniche come il trascinamento della cache per decrittografare completamente l'intero messaggio.

C'è un'ottima risposta su Crypto SE su come funziona esattamente questo attacco.

Dovresti sempre utilizzare un IV esclusivo per messaggio per evitare questo problema.

    
risposta data 22.05.2015 - 12:16
fonte
1

Con la stessa chiave e IV, producerai testo cifrato identico per testo in chiaro identico.

Scenario: invii messaggi al tuo broker tramite questo schema e non preoccuparti dei messaggi intercettati perché li hai crittografati. C1 legge:

Stock: Coca-Cola Ordine: Acquista Azioni: 1.000.000 Prezzo: > $ 20

Qualcuno ruba la tua scheda SD mentre non stai guardando, e copia il testo cifrato. Più tardi con altri mezzi, scopre che hai comprato 100 parti di coca-cola.

La coca continua a salire, quindi acquisti più azioni. C2 legge:

Stock: Coca-Cola Ordine: Acquista Azioni: 3.000.000 Prezzo: > $ 30

L'autore dell'attacco ha notato che la prima parte del messaggio non è cambiata. Più tardi, osserverai l'acquisto di 300 parti di coca-cola. Ora l'autore dell'attacco ha un'idea del formato dei tuoi messaggi.

La coca cola è alle stelle, quindi decidi di acquistare ancora più azioni di coca. C3 legge

Stock: Coca-Cola Ordine: Acquista Azioni: 5.000.000 Prezzo: > $ 40.

La prima parte del messaggio è ANCORA la stessa, quindi l'attaccante ha una dannata idea che comprerai azioni di Coca-Cola. Non sa quanti, ma basandosi sul passato acquistato può avere una buona idea.

Pertanto la crittografia è stata sventata. Ulteriori messaggi avanti e indietro interromperanno sempre più il testo cifrato. Questo è simile allo scenario usato dall'NSA contro l'unione sovietica quando i soviet riutilizzarono una volta nel progetto verona link

    
risposta data 22.05.2015 - 20:30
fonte

Leggi altre domande sui tag