Quali sono le caratteristiche di Dual EC DRBG che vengono perse quando si utilizza un codice diverso?

3

A causa di una potenziale backdoor della NSA, NIST raccomanda ora che implementor non usi più il DRBG ECG doppio basato su ECC basato su ECC.

( Come descritto in Wired.com ) questo PRNG ha alcune caratteristiche come ad esempio:

  • test continuo dell'output
  • resistenza alla predizione
  • ri-semina
  • ... possibilmente altri

Domanda

  1. Ora che verranno utilizzati altri PRNG, non tutti offriranno lo stesso set di funzionalità. Quali sono le caratteristiche che mancheremo o saremo "più deboli" in tutti i sensi?

  2. Che cosa significano queste caratteristiche? Perché sono utili? (test continui per esempio)

Per la mia domanda / modello di minaccia si può presumere che l'NSA non sia il mio avversario, tuttavia desidero impedire ad altri aggressori capaci di compromettere l'integrità o l'efficacia della mia crittografia.

    
posta random65537 23.09.2013 - 23:55
fonte

4 risposte

3

Un PRNG che manca di reseeding, resistenza alla predizione, o qualsiasi altra cosa intendano per "test continui", non è un PRNG. Non in termini crittografici.

Al contrario, un buon PRNG, come HMAC_DRBG, sarà buono come Dual_EC_DRBG, in realtà migliore poiché Dual_EC_DRBG presenta errori misurabili ed è terribilmente lento. L'unico buon punto di Dual_EC_DRBG è il potenziale per una prova di sicurezza che dimostrerebbe che l'output è casuale come un dato problema teorico del numero è difficile; ma nessuna prova del genere è ancora nota ...

Qui, per Dual_EC_DRBG, intendo un fisso Dual_EC_DRBG, con i due punti "casuali" sostituiti da due punti generati in modo casuale, non con la probabile backdoor dei due punti standard. Ma anche "risolto", sarebbe comunque lento e parziale.

L'articolo che cita riporta il chief technical officer di RSA Security, che elenca alcuni vantaggi di Dual_EC_DRBG rispetto ad "altri algoritmi". Senza indicare con quali algoritmi Dual_EC_DRBG viene confrontato, queste istruzioni sono vuote. Gli stessi NIST si sentirebbero piuttosto offesi dal suggerimento che Hash_DRBG e HMAC_DRBG non abbiano le stesse caratteristiche.

    
risposta data 24.09.2013 - 03:18
fonte
2

(Nota: non sono un crittografo, potrei essere completamente fuori base con questa risposta.: P)

Vorrei prendere qualsiasi cosa che Sam Curry abbia detto con un secchio di sale. Ha dimostrato di non sapere assolutamente nulla della criptopografia. Ecco la citazione completa.

The length of time that Dual_EC_DRBG takes can be seen as a virtue: it also slows down an attacker trying to guess the seed. Plenty of other crypto functions (PBKDF2, bcrypt, scrypt) will iterate a hash 1000 times specifically to make it slower. At the time, elliptic curves were in vogue and hash-based RNG was under scrutiny. The hope was that elliptic curve techniques—based as they are on number theory—would not suffer many of the same weaknesses as other techniques (like the FIPS 186 SHA-1 generator) that were seen as negative, and Dual_EC_DRBG was an accepted and publicly scrutinized standard. SP800-90 (which defines Dual EC DRBG) requires new features like continuous testing of the output, mandatory re-seeding, optional prediction resistance, and the ability to configure for different strengths.

test continui dell'output

Ecco una citazione da FIPS-140-2 .

Continuous random number generator test. If a cryptographic module employs Approved or nonApproved RNGs in an Approved mode of operation, the module shall perform the following continuous random number generator test on each RNG that tests for failure to a constant value.

  1. If each call to a RNG produces blocks of n bits (where n > 15), the first n-bit block generated after power-up, initialization, or reset shall not be used, but shall be saved for comparison with the next n-bit block to be generated. Each subsequent generation of an n-bit block shall be compared with the previously generated block. The test shall fail if any two compared n-bit blocks are equal.
  2. If each call to a RNG produces fewer than 16 bits, the first n bits generated after power-up, initialization, or reset (for some n > 15) shall not be used, but shall be saved for comparison with the next n generated bits. Each subsequent generation of n bits shall be compared with the previously generated n bits. The test fails if any two compared n-bit sequences are equal.

Non sono sicuro se questo è ciò a cui si stava riferendo, ma è l'unica applicazione di test in corso per quanto riguarda PRNG che posso pensare o trovare.

Come puoi vedere, questo è un test molto semplice che può passare qualsiasi PRNG decente.

resistenza di previsione

Suppongo che si stia riferendo a un utente malintenzionato che non è in grado di prevedere i successivi n bit di output di un PRNG dati i primi n-bit. Questa è l'unica cosa che ha senso per me. Non sono sicuro del perché consideri questo un vantaggio del Dual-EC-DRBG poiché qualsiasi CSPRNG deve possedere questa proprietà per essere utile.

ri-semina

Ancora una volta, non sono sicuro del motivo per cui considera questa proprietà speciale di Dual-EC-DRBG. Gli altri algoritmi definiti in SP800-90A definiscono tutti i metodi per eseguire il reseeding del PRNG.

Come molte persone hanno segnalato su Internet recentemente, i PRNG sono facilmente sostituibili. Non perderai nulla passando da Dual-EC-DRBG.

    
risposta data 24.09.2013 - 03:20
fonte
1

Quello che ti manca passando da Dual_EC_DBRG per un generatore di bit casuale deterministico è

  • Bias. L'output attuale è distorto, quindi c'è un ulteriore livello aggiunto per renderlo pubblico. (Bias è una brutta cosa)
  • L'inefficienza. Dual_EC_DBRG è lento rispetto alle alternative. Ci sono alcuni casi molto specifici in cui vuoi che qualcosa sia lento, ma un DBRG non è uno di questi. (L'analogia data a PBKDF2 come giustificazione per la lentezza è ridicola).
  • Complessità implementativa. L'implementazione di Dual_EC_DBRG è più complicata rispetto all'implementazione di una delle alternative offerte contemporaneamente. (Hai indovinato. Anche questa è una brutta cosa)

Quindi quelli sono tre grandi colpi contro Dual_EC_DBRG relativi alle alternative al momento. Questi erano conosciuti.

C'è una sola ragione per cui qualcuno avrebbe dovuto preferire Dual_EC_DRBG alle alternative con le quali è stato pubblicato: Le curve ellittiche sono fantastiche. In realtà sono solidale con questo motivo e ritengo legittimo avere altre cose uguali , ma dato che Dual_EC_DBRG era visibilmente inferiore agli altri DBRG disponibili al momento, non c'è alcun motivo per cui qualcuno possa scegliere esso.

Come promemoria, la possibilità di una porta di servizio è stata dimostrata nel 2007. Quindi qualsiasi decisione dopo quella presentazione del 2007 ha dovuto aggiungere quella possibilità di una porta sul retro per i motivi contrari.

Sam Curry, la cui peculiare "spiegazione" per la scelta è probabilmente ciò che sta dietro a questa domanda, non è stupida. Ma se gli è stato impedito di dire la verità, quindi fornire una risposta che dice "lo abbiamo scelto perché gli unicorni sono una bella sfumatura di blu" è informativo. Se sei costretto a giustificare l'ingiustificabile, c'è da aspettarselo senza senso.

    
risposta data 24.09.2013 - 06:54
fonte
1

Now that other PRNGs will be used...

Vale la pena notare che con l'eccezione di alcuni prodotti di nicchia , Dual EC DRBG non è stato precedentemente utilizzato da nessuno. All'inizio, i ricercatori indipendenti hanno sottolineato che si trattava di un algoritmo orribilmente inefficiente che produceva un output che poteva essere avvelenato da un attore malintenzionato. Ma per una strong insistenza da parte della NSA durante il processo di definizione degli standard, questo algoritmo sarebbe semplicemente passato alla storia come una cattiva idea da un designer fuorviato.

Quindi, ora che verranno utilizzati altri PRNG .... non cambierà nulla, perché altri PRNG hanno sempre stati in uso.

Inoltre, con la tecnologia moderna, se stai ancora utilizzando un semplice PRNG matematico, stai sbagliando. Gli algoritmi in grado di gestire raggruppano una vera entropia proveniente dall'esterno, in combinazione con semplici e efficaci fonti di casualità reale sono resistenti a tutti gli attacchi noti.

    
risposta data 24.09.2013 - 07:39
fonte

Leggi altre domande sui tag