idquantique .vs. rdrand

2

Attualmente stiamo utilizzando il idquantique dispositivo generatore di numeri casuali per fornire numeri casuali. Ci sono alcuni problemi però. Utilizzeremmo un solo dispositivo e avremmo almeno 5 server che avrebbero bisogno di usarlo e questo numero probabilmente aumenterà in futuro. Ciò implica che i blocchi di numeri casuali dovrebbero essere inviati ai server in qualche modo. Tutti i server eseguono Linux.

Tutti i nostri server sono basati su Intel e dispongono dell'istruzione RDR e del numero casuale disponibile. Sarebbe più semplice utilizzare RDRand poiché non è necessario effettuare chiamate di rete e RDRand sembra anche essere significativamente più veloce.

Ma la domanda a cui vorrei rispondere è - esiste una differenza tra la qualità dei numeri casuali generati da RDRand e quelli generati da idquantique? Qualcuno ha mai misurato o provato a misurare quanto bene questi due dispositivi a numero casuale si esibiscono uno contro l'altro?

    
posta Bob Bryan 21.02.2013 - 18:46
fonte

4 risposte

1

L'unico modo per rispondere è chiedere a chi ti fidi di più. IDQ fa le seguenti dichiarazioni.

da qui .

Existing randomness sources can be grouped in two classes: software solutions, which can only generate pseudo-random bit streams, and physical sources. In the latter, most random generators rely on classical physics to produce what looks like a random stream of bits.

In reality, determinism is hidden behind complexity. Contrary to classical physics, quantum physics is fundamentally random. It is the only theory within the fabric of modern physics that integrates randomness.

Se ti fidi delle dichiarazioni di IDQ, la soluzione RdRand di Intel, basata sul software che utilizza l'entropia dell'hardware, è sotto la pari. Tuttavia, anche quello potrebbe essere abbastanza buono a seconda del tuo particolare utilizzo.

Successivamente, non sono del tutto sicuro del motivo per cui utilizzeresti 1 dispositivo solo per generare numeri per più server. Le carte quantiche non sono terribilmente costose. Inoltre, se quello che stai facendo richiede quel tipo di casualità, allora è ovvio che il denaro speso per le carte per ogni server sarebbe banale per quello che stai facendo.

Tuttavia, in caso contrario, si potrebbe semplicemente puntare sull'uso di quantis e utilizzare la soluzione Intel integrata.

    
risposta data 21.02.2013 - 19:18
fonte
3

Non c'è software nel generatore di numeri casuali Intel. Il punto di un TRNG hardware su chip a cui si accede attraverso il set di istruzioni è una riduzione della superficie di attacco e delle prestazioni. L'invio di numeri casuali sulla rete per motivi di sicurezza è francamente sbagliato.

    
risposta data 10.05.2013 - 23:59
fonte
3

Certamente andrei con Intel su IDQ.

Intel offre due diverse istruzioni:

  • RdSeed - Ogni output contiene una nuova entropia hardware della dimensione richiesta. Utilizza la post-elaborazione basata su AES. Simile a /dev/random
  • RdRand - Riutilizza l'uscita dall'entropia dell'hardware di tanto in tanto mixandone una nuova. Utilizza un processo basato su AES per generare output di dimensioni arbitrarie dal pool corrente. Simile a /dev/urandom tranne per il fatto che è possibile accedere a /dev/urandom prima che sia stato seminato correttamente. Questo non può accadere con RdRand.

Personalmente avrei seminato un PRNG software con entropia ottenuta da RdSeed. Ma se ti fidi di Intel puoi usare direttamente RdRand.

Ottenere la casualità in modo sicuro su una rete è complesso e potrebbe andare male in modi impercettibili. Se si utilizza IDQ, utilizzare un dispositivo separato per ciascun server.

Ci sono anche molti miti che circondano numeri casuali, come "entropia estenuante". In pratica seminare un cripto PRNG una volta è sufficiente. Quando li semini con sufficiente entropia (almeno 128 bit allo stesso tempo) produrranno quantità praticamente illimitate di dati pseudo casuali. Finché la primitiva crittografica dietro di loro rimane intatta, quei dati pseudo casuali sono indistinguibili da dati casuali reali da parte di un utente malintenzionato con limiti computazionali ragionevoli.

Ci sono state storie su /dev/urandom che produce numeri errati, ma tutte erano correlate alla trasmissione dei dati prima il PRNG è stato seminato con sufficiente entropia.

    
risposta data 11.05.2013 - 19:51
fonte
1

In sostanza, sì. I generatori di numeri pseudo casuali basati sul software saranno sempre inferiori ai veri generatori di numeri casuali basati sull'osservazione di eventi casualmente casuali. Penso che la vera domanda, però, è che hai bisogno di casualità assoluta, o RdRand è "abbastanza buono"? Se stai solo generando chiavi casuali per garantire una distribuzione uniforme su una tabella hash o qualcosa di simile, probabilmente non hai bisogno di casualità assoluta.

    
risposta data 21.02.2013 - 19:33
fonte

Leggi altre domande sui tag