Recentemente ho letto di come funziona HTTPS e ho alcune domande da chiarire. Perdonami se questo sembra sciocco, ma ho solo bisogno di chiarirlo. Correggimi se sbaglio.
Devo sapere che come parte dell'inizio dell'handshake TLS esiste una crittografia asimmetrica in cui viene utilizzata la chiave pubblica del certificato per crittografare la chiave generata dal client prima che venga inviata al server e solo il server può decrittografarla utilizzando il suo chiave privata.
Tuttavia i messaggi successivi (richieste HTTP) utilizzano la crittografia simmetrica con la chiave generata dal client e sia il client che il server utilizzano questa chiave per crittografare e decrittografare i dati dell'applicazione.
C'è una famosa teoria in crittografia che dice "La ripetizione non è buona", dove se un singolo messaggio viene ripetuto in un messaggio crittografato è facile decifrarlo. Se questo è vero, tutti i messaggi crittografati utilizzando la chiave generata dal client avranno HTTP/1.x
in esso poiché fa parte sia della richiesta HTTP sia della risposta.
Quindi in teoria un Uomo in mezzo con questa conoscenza può trovare schemi in richieste e risposte HTTP criptate e scoprire HTTP/1.x
string in quelli e forza bruta per generare la chiave del client che è stata usata per crittografare questi messaggi.
Sono corretto o è assolutamente privo di senso, qualsiasi risposta o guida sarebbe molto apprezzata.