Se ottengo un certificato SSL da un noto fornitore, che cosa prova del mio sito e in che modo?
Ecco cosa so:
- Supponiamo che Alice e Bob abbiano entrambe le chiavi pubbliche e private
- Se Alice crittografa qualcosa con la chiave pubblica di Bob, garantisce che solo Bob possa decodificarlo (utilizzando la sua chiave privata)
- Se Alice crittografa qualcosa con la sua chiave privata, chiunque può decrittografarla (usando la sua chiave pubblica), ma saprà che è stata crittografata da lei
- Pertanto, se Alice crittografa un messaggio prima con la propria chiave privata, quindi con la chiave pubblica di Bob, si assicurerà che solo Bob possa decrittografarlo e che Bob sappia che il messaggio è da lei.
Per quanto riguarda i certificati, ecco cosa penso che accada (aggiornato):
- Genero una richiesta per un certificato. In quella richiesta, ho messo la mia chiave pubblica e un po 'di informazioni su di me.
- L'emittente del certificato (in teoria) mi controlla per assicurarmi che sappia chi sono: mi parla di persona, vede la mia patente di guida, la scansione retina o qualsiasi altra cosa.
- Se sono soddisfatti, l'emittente del certificato quindi crittografa la mia richiesta con la sua chiave privata. Chiunque lo decifri con la propria chiave pubblica sa che garantisce per le informazioni che contiene: sono d'accordo che la chiave pubblica è mia e che le informazioni dichiarate sono vere su di me. Questo certificato crittografato è il certificato che mi hanno rilasciato.
- Quando ti connetti al mio sito tramite https, ti mando il certificato.
- Il tuo browser conosce già la chiave pubblica dell'emittente perché il tuo browser è stato installato con tali informazioni.
- Il browser utilizza la chiave pubblica dell'emittente per decrittografare ciò che ti ho inviato. Il fatto che la chiave pubblica dell'emittente funzioni per decrypt dimostra che la chiave privata dell'emittente è stata utilizzata per crittografare e, quindi, che l'emittente ha davvero creato questo certificato.
- All'interno delle informazioni decifrate è la mia chiave pubblica, che ora sai essere certificata. Lo usi per crittografare alcuni dati da inviarmi.
È giusto? In caso contrario, qualcuno potrebbe definire i passaggi in modo molto chiaro?