Come posso estrarre tutti i dati richiesti per crittografare nuovamente le richieste decifrate dal browser in modo identico?

1

Voglio essere in grado di ricodificare le risposte web che Chrome o Firefox ricevono da un server HTTPS, in modo che siano identiche all'originale inviato dal server. È possibile? Cosa avrei bisogno di essere in grado di farlo?

EDIT: Per chiarire, penso che la prima cosa che sarebbe richiesta sia la chiave pubblica del cliente. Ma dato che il TLS moderno usa il forward-secretage e le chiavi sono scambiate in un processo alquanto complesso, c'è qualcos'altro richiesto?

    
posta alvatar 30.10.2016 - 21:53
fonte

1 risposta

1

Se si desidera replicare solo i messaggi crittografati rispetto a quelli necessari per le chiavi simmetriche utilizzate per la crittografia e anche i vettori di inizializzazione casuali utilizzati insieme a queste chiavi. Inoltre, avresti bisogno di sapere quanti dati sono stati crittografati in ogni record SSL in modo da poterli replicare esattamente.

Se si desidera replicare l'handshake SSL, è necessario conoscere anche i valori casuali del client e del server utilizzati nell'handshake, il certificato dei server inclusa la sua chiave privata e se i certificati client sono utilizzati allo stesso modo per il certificato dei client. Inoltre, è necessario sapere quali estensioni sono state utilizzate e in quale ordine, i codici offerti dal client (e il loro ordine), le versioni dei protocolli utilizzate ecc. Se lo scambio di chiavi DH o ECDH è stato fatto diventa ancora più complesso.

E sono abbastanza sicuro di aver perso qualcosa di cui hai bisogno. Ma anche ottenere tutti i valori che ho menzionato è quasi impossibile a meno che tu non abbia un controllo molto profondo del client e del server, cioè più profondo dell'API delle solite offerte di stack TLS.

    
risposta data 30.10.2016 - 22:22
fonte

Leggi altre domande sui tag