Scopri la chiave generata da AES del browser su SSL / TLS [duplicato]

0

Quando si tratta di strette di mano TLS. prima di tutto mi chiedo come vengono generate le chiavi AES responsabili della crittografia dei dati? è generato casualmente sul browser ed è inviato in modo sicuro al server HTTPS o il server è responsabile della generazione di quelle chiavi? In secondo luogo, c'è un modo per scoprire effettivamente quei tasti AES che browser (ad esempio Chrome) utilizza per crittografare i dati (dopo aver gestito con successo l'autenticazione SSL / TLS)?

    
posta Michaelzgonnalearn 05.02.2018 - 10:38
fonte

2 risposte

0

0ms

TLSrunsoverareliabletransport(TCP),whichmeansthatwemustfirstcompletetheTCPthree-wayhandshake,whichtakesonefullroundtrip.

56ms

WiththeTCPconnectioninplace,theclientsendsanumberofspecificationsinplaintext,suchastheversionoftheTLSprotocolitisrunning,thelistofsupportedciphersuites,andotherTLSoptionsitmaywanttouse.

84ms

TheserverpickstheTLSprotocolversionforfurthercommunication,decidesonaciphersuitefromthelistprovidedbytheclient,attachesitscertificate,andsendstheresponsebacktotheclient.Optionally,theservercanalsosendarequestfortheclient’scertificateandparametersforotherTLSextensions.

112ms

Assumingbothsidesareabletonegotiateacommonversionandcipher,andtheclientishappywiththecertificateprovidedbytheserver,theclientinitiateseithertheRSAortheDiffie-Hellmankeyexchange,whichisusedtoestablishthesymmetrickeyfortheensuingsession.

140ms

Theserverprocessesthekeyexchangeparameterssentbytheclient,checksmessageintegritybyverifyingtheMAC,andreturnsanencryptedFinishedmessagebacktotheclient.

168ms

Theclientdecryptsthemessagewiththenegotiatedsymmetrickey,verifiestheMAC,andifalliswell,thenthetunnelisestablishedandapplicationdatacannowbesent.

riferimento

In teoria dovrebbe essere possibile ottenere la chiave di sessione sul lato mittente o destinatario della comunicazione ... tuttavia questa chiave (dovrebbe) durerà solo la durata della sessione (se non è più breve a causa della rinegoziazione di una chiave) . La maggior parte delle applicazioni protegge la memorizzazione di questa chiave di sessione in modo che non possa essere facilmente ottenuta.

Va notato che la chiave di sessione potrebbe anche essere usata per un cifrario diverso da AES ... vedi qui

    
risposta data 05.02.2018 - 10:53
fonte
0

Dipende dall'algoritmo di scambio delle chiavi usato.

Quando viene utilizzato lo scambio di chiavi RSA, la chiave viene generata in modo casuale dal client e quindi crittografata utilizzando il certificato del server. Quando si usa lo scambio di chiavi RSA, il server ha molto poco da dire sulla chiave di sessione.

La moderna configurazione TLS di solito consiglia Diffie Hellman , che è più appropriatamente chiamata accordo chiave protocollo perché la chiave di sessione viene calcolata utilizzando input casuali sia dal client che dal server.

Entrambi Firefox e Chrome ha una funzione per scaricare la chiave di sessione in un file, impostando la variabile di ambiente SSLKEYLOGFILE.

    
risposta data 05.02.2018 - 11:28
fonte

Leggi altre domande sui tag