SSL Qual è la chiave di scrittura del client utilizzata nel livello applicazione?

0

Ho usato wireshark per osservare il traffico SSL3.0 sul server e decodificare i messaggi trasferiti tra client e amp; server.

E quello che ho appena trovato è molto strano:

AFAIK, la chiave di crittografia, l'algoritmo MAC e di crittografia utilizzati nel calcolo dei dati client-Finiti e delle applicazioni inviate dal client sono esattamente gli stessi.

Tuttavia, quando utilizzo la stessa chiave client-scrittura utilizzata per crittografare il client finito (derivato da MasterSecret) per crittografare i dati dell'applicazione, ottengo il risultato diverso da quello calcolato dal client (firefox).

Il comportamento strano si è verificato anche con il server: posso usare server-write-key (deriva da MasterSecret) per decrittografare correttamente il messaggio "server-finished", ma non è riuscito a decodificare nessun altro messaggio crittografato dal server.

Quindi, per favore, dimmi cosa è successo alla chiave di scrittura client & server-chiave di scrittura? Sia il client che il server hanno cambiato la chiave di scrittura dopo che il messaggio "finito" è stato inviato?

PS: ho forzato il client (Firefox) a utilizzare SSL V3.0, cipherSuite = TLS_RSA_WITH_RC4_128_MD5

    
posta vantrung -cuncon 07.12.2013 - 05:59
fonte

1 risposta

2

Ho scoperto la risposta da solo: la funzione RC4 che ho usato non ha salvato lo stato della cifratura, mentre la codifica del flusso SSL lo richiedeva. Ho usato una classe RC4 e ho risolto il problema!

    
risposta data 10.12.2013 - 10:11
fonte

Leggi altre domande sui tag