Sto provando a profondamente a capire i passaggi durante un handshake TLS.
Ho letto questa risposta (che è abbastanza completa), ma ho ancora una domanda su l'utilizzo di MasterSecret
, nel frame di un handshake di ECDHE-RSA-AES-GCM-SHA
TLS.
Alla fine della stretta di mano, abbiamo usato SHA
come PRF per generare il Mastersecret (dalla pre-MS e i numeri casuali). Lo espandiamo per creare key
e MAC key
. La chiave viene utilizzata per cifrare i messaggi e il tasto MAC per calcolare l'hash (sul messaggio cifrato in modalità GCM). OK.
Ho 2 domande sull'espansione del MasterSecret:
-
Nella sezione 8: 3 , si dice che creiamo 2 tasti MAC e 2 chiavi. Non è abbastanza sicuro se il client e il server utilizzano la stessa chiave e il medesimo tasto MAC ? (dato che queste chiavi sono generate da nientemeno che da un MasterSecret). Penso che sia un po 'troppo protetto ...
-
Quando hai MasterSecret, come lo estendi per creare chiavi e chiavi MAC? Dubito che prendiamo solo i primi N byte per la chiave e il resto per il tasto MAC ...
Inoltre, la frase quando vengono generati i tasti e i tasti MAC, il master secret è usato come fonte di entropia. ( sezione 8: 3 ) mi disturba. È per questo che non sono in grado di capire come espandere le chiavi?