L'autenticazione del certificato client richiede più entropia lato server?

2

Abbiamo un servizio Web sicuro che esegue Apache che richiede i certificati client per l'accesso. Questo servizio ha un problema con l'esaurimento dell'entropia. Abbiamo diversi altri siti che utilizzano TLS che ottengono quantità di traffico simili ma non hanno mai avuto problemi con la mancanza di entropia.

Mi chiedo se richiedere un certificato cliente richieda più entropia. Osservando la specifica TLS, non vedo dove il client che fornisce un certificato ponga più richiesta sull'origine entropia lato server. Forse il nostro problema non ha nulla a che fare con i certificati client, ma vorrei eliminarlo come fonte di problemi.

    
posta rlandster 06.02.2012 - 19:24
fonte

1 risposta

4

Se "esaurisci l'entropia", allora stai usando /dev/random , e non dovresti. Dovresti usare /dev/urandom . L'intero concetto di "esaurimento dell'entropia" si basa su una metafora imperfetta in cui la casualità è vista come una sorta di benzina. Questo è solo sbagliato. versioni recenti della pagina man di /dev/random (su Linux) sono meno terribili di quello che erano, e ora raccomandano la cosa giusta, che è usare /dev/urandom .

(Quando dico "tu" potrebbe essere "il software che usi". Indipendentemente, qualcuno sta facendo una cosa stupida, e quella cosa stupida probabilmente coinvolge /dev/random .)

In ogni caso, la convalida del certificato implica verificare le firme digitali e non è necessario alcun tipo di casualità (almeno con algoritmi di firma "normali" come RSA, DSA o ECDSA).

Modifica: in realtà, mentre la convalida del certificato di base non utilizza alcuna casualità, i controlli per lo stato di revoca comportano il contatto con server esterni per scaricare le risposte CRL o OCSP, quindi il traffico di rete potrebbe bloccarsi e quindi visualizza sintomi simili a una lettura bloccata su /dev/random . E il protocollo per ottenere una risposta OCSP può includere un nonce casuale incluso dal richiedente (qui, il server), quindi è concepibile che una lettura su /dev/random si annidi ancora in quel codice. È un po 'esagerato.

    
risposta data 06.02.2012 - 19:33
fonte

Leggi altre domande sui tag