Esistono tasti AES-CBC o combinazioni di chiavi IV intrinsecamente insicuri noti per valori casuali generati correttamente?

7

Questa è principalmente una domanda teorica.

Uso CBC AES128 per crittografare file di piccole dimensioni. Sia le mie chiavi che i miei IV sono generati casualmente per file utilizzando la generazione sicura di valori casuali di iOS (SecRandomCopyBytes).

1) In teoria, devo verificare eventuali combinazioni di tasti Keys, IV o Key-IV (anche se completamente improbabili, se Key e IV finiscono per essere tutti zeri, è altrettanto sicuro? presumere che un attaccante non lo sappia)?

2) Posso contare su generatore di valori casuali di mele per questo?

    
posta Water Not Words 03.03.2016 - 04:31
fonte

2 risposte

1

Si prevede che un CSPRNG restituisca ogni possibile valore dello spazio immagine con una probabilità indistinguibile da una distribuzione casuale.

Lasciare fuori determinati risultati farebbe un cattivo design. Pensa ai dadi. Se lanci 1-1-1, non penseresti che questo non sia abbastanza casuale e lo risolvi - Hai appena generato quell'entropia con certezza che è reale.

Farlo con un PRNG comprometterebbe la sua sicurezza, quindi no, non c'è nulla di filtrato , si spera.

Nota a margine qui: anche se la probabilità è molto piccola (così piccola da essere trascurabile): non si dovrebbe riutilizzare lo stesso IV sulla stessa chiave con AES-CBC, in modo da non trapelare nulla se i file condividono informazioni strutturali

Oltre a questo, dovresti essere d'accordo con il tuo approccio. Ogni chiamata a SecRandomCopyBytes puoi prendere in considerazione un lancio di dadi, per quello a cui tieni, dato che è la migliore entropia che otterrai.

Se il tuo obiettivo non è solo la riservatezza ma anche l'integrità dei dati, sarebbe meglio usare un'altra modalità di funzionamento, come indicato nei commenti. Lo so, iOS non è molto generoso nel dare molta scelta lì, però.

    
risposta data 02.04.2016 - 12:57
fonte
0

I am using AES128 CBC to encrypt small files. Both my keys and my IVs are randomly generated per file using iOS's secure random value generation (SecRandomCopyBytes).Do I need to check for any inherently insecure Keys, IVs, or key-IV combos (ex. all zeros, etc)?

Finora, non penso che tu possa fare nulla al riguardo.

In primo luogo, la generazione sicura di valori casuali di iOS non dovrebbe essere così spezzata da generare tutti gli zeri di cui sei preoccupato. Anche se un generatore di numeri casuali è reso prevedibile, il suo output può sembrare ancora piuttosto casuale, a meno che tu non conosca il trucco.

In secondo luogo, non ho sentito alcun tasto debole su AES. E se non ci sono tasti deboli noti (o combinazioni di chiavi IV), non ci sono modi per controllarli.

Can I rely on Apples random value generator for this?

Penso che sarebbe OK dato che AES usa una chiave a 128 bit. Ma se i tuoi file sono veramente importanti, puoi usare più RNG indipendenti e Xo i loro output come Keys e Ivs.
Vedi wikipedia :
"Le uscite di più RNG indipendenti possono essere combinate (ad esempio, usando un funzionamento XOR bit-saggio) per fornire un RNG combinato almeno equivalente al miglior RNG utilizzato. "

    
risposta data 03.03.2016 - 10:35
fonte

Leggi altre domande sui tag