Mostra Sommario / Indice / Ricerca

Autenticazione del server con chiavi pubbliche

Reflection supporta due tipi di autenticazione del server: mediante chiave pubblica e mediante certificato (particolare forma di autenticazione con chiave pubblica).

Quando viene utilizzata l'autenticazione con chiave pubblica per l'autenticazione dell'host, viene avviata questa sequenza di eventi.

  1. Il client Secure Shell stabilisce una connessione.
  2. Il server invia la propria chiave pubblica al client.
  3. Il client cerca questa chiave nel proprio archivio di chiavi degli host attendibili.

    Condizione

    Risultato

    Il client trova la chiave dell'host e la copia del client corrisponde alla chiave inviata dal server

    L'autenticazione passa alla fase successiva.

    Il client non trova la chiave dell'host

    Il client visualizza un messaggio in cui si segnala che l'host è sconosciuto e fornisce un'impronta digitale della chiave dell'host. Se la configurazione del client consente all'utente di accettare chiavi sconosciute (valore predefinito), l'utente può accettare la chiave e l'autenticazione passa alla fase successiva.

    Se viene applicato un controllo rigoroso delle chiavi dell'host, il client termina la connessione.

    Il client trova una chiave dell'host e la copia del client non corrisponde alla chiave inviata dal server.

    Il client visualizza un avviso in cui si segnala che la chiave non corrisponde a quella esistente e visualizza l'impronta digitale della chiave inviata dal server. Se la configurazione del client consente all'utente di accettare chiavi sconosciute (valore predefinito), l'utente può accettare la nuova chiave.

    Se viene applicato un controllo rigoroso delle chiavi dell'host, il client termina la connessione.

  4. Per accertarsi che il server disponga effettivamente della chiave privata corrispondente alla chiave pubblica ricevuta, il client invia una richiesta di verifica (messaggio arbitrario) al server e calcola un valore hash basato sul testo di questo messaggio.
  5. Il server crea una firma digitale basata sul messaggio di richiesta di verifica. A tal fine, il server esegue separatamente il calcolo del valore hash del messaggio, quindi effettua la crittografia del valore calcolato utilizzando la propria chiave privata. Il server allega questa firma digitale alla richiesta di verifica originale e restituisce il messaggio firmato al client.
  6. Il client esegue la decrittografia della firma con la chiave pubblica e confronta il valore hash con il proprio valore hash calcolato. Se i valori corrispondono, l'autenticazione dell'host viene superata.