Quale funzione viene utilizzata per generare client casuali in TLS

1

Sono stato apprendimento TLS. Durante il client-server Ciao i loro valori casuali sono condivisi. Il client genera un byte casuale di 28 byte e lo combina con 4 byte di epoca epoch per generare un token casuale a 32 byte. Come calcolano questi random?

Basta chiamare i generatori casuali di sistema come / dev / random o ci sono altre funzioni nel browser per fare ciò? Che dire del server casuale?

    
posta Anonymous Platypus 03.07.2018 - 14:22
fonte

1 risposta

5

L'origine non è specificata nello standard, rendendola dipendente dall'implementazione.

In base a RFC 5246 § 7.4.1.2 per TLS 1.2, la casualità è descritta solo come :

28 bytes generated by a secure random number generator.

Questo significa che sarà interamente dipendente dall'implementazione. È possibile utilizzare qualsiasi funzione che generi dati casuali sicuri. Per molti browser moderni, l'implementazione implica la richiesta di un seed casuale dal sistema operativo (ad esempio, utilizzando /dev/urandom su Linux), e quindi l'utilizzo di questo per alimentare un generatore di numeri casuali crittograficamente sicuro in-process.

Ciò che in realtà costituisce "numeri casuali sicuri" è specificato in BCP 106 , un documento che fornisce consigli per la generazione di numeri casuali , la fonte dei numeri casuali, come testare i numeri casuali, ecc. Si tratta semplicemente di una dichiarazione delle migliori pratiche e non è obbligatoria. Tuttavia, i sistemi operativi comuni tendono a seguire queste pratiche quando raccolgono numeri casuali che vengono esportati in applicazioni dello spazio utente, come i browser Web.

    
risposta data 04.07.2018 - 05:06
fonte

Leggi altre domande sui tag