TLS replay attack - requisiti del server Ciao nonce

11

Come tutti sapete, il protocollo SSL / TLS richiede sia a client che a server di scambiare (in chiaro) un numero casuale o nonce. Questo è presumibilmente usato per prevenire attacchi di riproduzione.

Non mi è chiaro quale sia il requisito del nonce sul lato server. Deve semplicemente essere unique ? O deve anche essere imprevedibile? Quali sarebbero le implicazioni se un utente malintenzionato potrebbe prevedere i nonces generati sul lato server , se presenti?

Accolgo con favore qualsiasi fonte di lavoro serio sugli attacchi di riproduzione che potrebbero aiutare a capire meglio i requisiti di nonce lato server.

Grazie.

Louis

    
posta Louis 04.03.2011 - 17:48
fonte

1 risposta

11

All'interno di SSL / TLS, i nonces vengono utilizzati per generare chiavi simmetriche e come parte delle firme e dei controlli durante l'handshake. Per tutti questi usi, i nonces sono semplicemente concatenati (con alcuni altri dati) e hash. Supponendo che le funzioni di hash si comportino come "oracoli casuali" (la mitica funzione di hash perfetta), allora sono sufficienti nonces univoci.

Tuttavia, SSL / TLS fino a (e incluso) TLS 1.1 utilizza MD5 e SHA-1 come funzione hash, per i quali sono state dimostrate le debolezze. Non sono oracoli casuali. Non sono a conoscenza di alcun risultato nel trasformare questi punti deboli in attacchi su SSL / TLS stesso; tuttavia, è meglio prevenire che curare: utilizzare nonces imprevedibili. Ciò non danneggerà, e sia il client che i server devono già avere accesso a una fonte di alea crittograficamente sicura, quindi i nonces imprevedibili non dovrebbero essere un requisito troppo pesante.

    
risposta data 04.03.2011 - 18:10
fonte

Leggi altre domande sui tag