Public Key Infrastructure: invio sicuro dei dati a CLIENT?

1

Ok, quindi ho cercato la crittografia a chiave pubblica e l'ho usata un po 'su alcune delle mie applicazioni web. Da alcuni test, capisco che il server contiene due chiavi e invia la chiave pubblica al client.

Con questo tipo di sistema, il client può inviare dati crittografati.

La mia domanda è, tuttavia, in che modo il SERVER invia i dati in modo sicuro al client?

Grazie ...

    
posta Joseph A. 25.11.2015 - 07:35
fonte

2 risposte

1

Il client genera una chiave simmetrica, la crittografa con la chiave pubblica del server e la invia al server. Il server decrittografa con la chiave privata e la usa come chiave di sessione di rete per parlare in modo sicuro con il client. Questo è fondamentalmente ciò che TLS_RSA fa.

    
risposta data 25.11.2015 - 08:24
fonte
2

1. Stretta di mano

Tutto inizia prima con una stretta di mano. Il client comunica al server quale versione di SSL supporta e quali suite di crittografia. Il server risponde con le informazioni su quale versione di SSL e quale suite di crittografia verranno utilizzate.

2. Cerfiticate

Il client ora deve controllare se il server è veramente chi sa di essere. Questo è fatto con il certificato. Il client verifica il nome del titolare, il dominio, la chiave pubblica, la firma e la data in cui scadrà. Il controllo di queste informazioni viene effettuato chiedendo alle autorità di certificazione se è valido o meno.

3. Scambio chiave

Ora che tutto è quasi impostato, il client genera una chiave simmetrica casuale che verrà utilizzata per crittografare i dati inviati avanti e indietro tra il client e il server. (nota: entrambi i modi sono criptati!) Il client quindi crittografa questa chiave simmetrica con la chiave pubblica asimmetrica del server e invia queste informazioni al server. Solo il server può leggere questi dati, perché può essere decifrato solo usando la sua chiave privata. Così ora entrambe le parti hanno la chiave simmetrica che verrà utilizzata per crittografare e decrittografare i dati della comunicazione.

Il motivo per cui esiste una chiave simmetrica dipende dalle prestazioni. Usare solo la chiave pubblica asimmetrica del server sarebbe molto più lento ed è anche vincolato alla limitazione della dimensione dei dati. E come hai sottolineato, altrimenti il server non può inviare dati crittografati al client.

Spero che questo ti fornisca una breve comprensione del funzionamento di SSL.

    
risposta data 25.11.2015 - 08:38
fonte