Sto cercando di capire il flusso completo degli scambi di chiavi per comunicazioni sicure.
Come premessa potenzialmente errata, ho l'impressione che RSA sia una buona tecnica asimmetrica per stabilire una connessione sicura attraverso la quale può avvenire un successivo scambio di chiavi simmetriche e che il blocco di crittografia AES sia un metodo migliore per gli scambi di messaggi ad alto volume perché è più veloce della crittografia RSA. Significato, RSA asimmetrico è buono per uno scambio di un piccolo messaggio come una chiave segreta [sessione] condivisa.
Detto ciò, capisco il flusso tra Alice e Bob come segue:
- Alice invia ClientHello a Bob (Server)
- Bob risponde con Riconoscimento
- Alice risponde con una chiave pubblica (la metà pubblica della RSA)
- E (potenzialmente?) un Message Digest che consiste in un hash unidirezionale (come sha ()) della chiave pubblica di Alice che è stata crittografata da Alice Chiave privata
- Bob riceve la chiave pubblica di Alice, la utilizza per decrittografarla in un modo hash, usa la stessa funzione di hashing (sha ()) per cancellare la chiave pubblica e poi confronta l'hash unidirezionale decifrato da Alice e il hash unidirezionale generato
- Se corrisponde, crede alla connessione e manda il suo pubblico chiave per Alice
- Insieme a quella chiave pubblica, invia un hash unidirezionale della sua chiave (forse concatenato con la chiave pubblica di Alice?) con cui Alice può farlo ripetere il processo di decodifica usando la chiave pubblica di Bob e poi confrontando l'hash unidirezionale della sua chiave (o forse della sua chiave combinata con la chiave pubblica di Alice?)
- Una volta che le due parti possono vedere che c'è una connessione sicura (poiché ognuno di essi ha una corrispondenza hash), possono a) archiviarli rispettive chiavi pubbliche eb) effettuare uno scambio di un simmetrico segreto tasto di sessione che quindi seguirà AES per un messaggio più alto di volume scambi
È corretto? È più comune semplicemente per lo scambio di chiavi RSA da fare? è questo il metodo corretto per lo scambio di chiavi? È una rappresentazione accurata di TLS1.2? Ho inventato qualche passaggio?
So che questo è un sacco di domande con potenzialmente più di un settore che ho frainteso i processi. Apprezzo il chiarimento e l'aiuto!