Come funziona SSL? Spiegazione più semplice? [duplicare]

-2

Vorrei spiegare la mia comprensione prima di porre una domanda.

Questa domanda è intesa come una panoramica più semplice di altre domande ... e parla dell'implicazione e non processa tanto.

La mia comprensione è questa:

  • client si connette al server
  • server invia la sua chiave pubblica
  • controlla il cliente con terze parti per vedere se appartiene effettivamente al server
  • se controlla il client invia la sua chiave pubblica crittografata al server
  • Il server
  • decrittografa la chiave pubblica dei client e quindi cripta usandolo per rispondere

La mia domanda è come fa il server a sapere che non c'è una spia che sta inviando una chiave pubblica crittografata falsa. Siamo stati in grado di verificare pubblico del server, ma in che modo il server verifica che la chiave appartenga al client.

Sono abbastanza sicuro che mi mancano alcuni passaggi nella mia comprensione di SSL ..

Questo è uno scenario che non capisco:

  1. il mio browser effettua una richiesta al server
  2. server invia la sua chiave pubblica
  3. Il browser
  4. lo verifica
  5. invia la propria chiave crittografata utilizzando la chiave pubblica del server
  6. hacker intercetta la richiesta
  7. utilizza la chiave pubblica del server per crittografare la propria chiave e inviarla invece
  8. Il server
  9. utilizza quella chiave per rispondere di nuovo
  10. l'hacker riceve il messaggio, quindi lo ricodifica e lo trasmette a me
posta Muhammad Umer 02.08.2015 - 16:35
fonte

2 risposte

2

La tua comprensione è praticamente corretta, fatta eccezione per il fatto che un client normalmente non invia una chiave pubblica, ma ne genera uno in loco (leggermente semplificato).

Il motivo è che il server è normalmente come un server web e quindi "tutti" possono connettersi ad esso.

Se è necessario autenticare i client (ad esempio, si desidera escludere le spie), è possibile utilizzare una funzionalità denominata Autenticazione client. Qui, il server controllerà anche con una terza parte per verificare che la chiave appartenga effettivamente al client.

Lo scenario che descrivi non funziona per l'attaccante: al punto 8, riceverai un messaggio che non puoi leggere. Questo perché al punto 6, l'attaccante ha modificato un messaggio, e ora il server sta comunicando con l'attaccante e non con te. L'autore dell'attacco non può eseguire nuovamente la crittografia (passaggio 8), poiché non conosce la chiave privata del server. Pertanto, il messaggio che ricevi dall'attaccante non corrisponde alla chiave del passaggio 3.

Note: in practice, things are a little bit more complicated -- for one, the protocol includes some extra data in the messages to protect against replay attacks, where the attacker repeats previously sent messages. Also, the public and private keys are only used to establish a communication link, after which TLS switches to symmetric cryptography (using, for example, AES). However, your question concerns the phase where keys are exchanged, so in this answer I avoided discussing these parts.

    
risposta data 02.08.2015 - 16:40
fonte
1

Sei vicino, quando il client si connette, il server invia sul certificato che incorpora la sua chiave pubblica. Con questo certificato il browser controlla se è adatto all'URL corretto, se la data è valida e controlla se si fida di chiunque abbia firmato (la CA radice).

Se si verifica tutto ciò, il client genererà una chiave di sessione (simmetrica) utilizzata per crittografare e decrittografare il resto della comunicazione. Il client crittografa questa chiave di sessione con la chiave pubblica che ha ricevuto dal certificato e la invia al server. Ora solo il server con la chiave privata utilizzata per generare il certificato (o piuttosto il CSR per il certificato) può decodificare questa chiave di sessione. Ora sia il server che il client useranno la stessa chiave sia per la crittografia che per la decrittografia.

In questo modo puoi essere sicuro che ti stai connettendo al server che viene mostrato nella barra degli indirizzi (a patto che presti attenzione al lucchetto e assicurati che sia lì).

    
risposta data 02.08.2015 - 17:20
fonte

Leggi altre domande sui tag