differenza tra chiave pubblica e chiave host e sicurezza della chiave host

5

In SSH, qual è la differenza tra la chiave host e la chiave pubblica.

Chiave pubblica Credo che faccia parte della coppia di chiavi privata / pubblica, quindi qualsiasi cosa inviata dal server (crittografata usando private) può essere decifrata dal client usando la chiave pubblica e qualsiasi cosa inviata dopo la crittografia con la chiave pubblica può essere decifrata solo da chiave privata del server.

In SSH, il server invia una chiave Host e il client deve conoscere l'hash della chiave host prima della mano o memorizzarlo nella cache in un archivio locale dopo che il client ha ricevuto la chiave per la prima volta, cosa che garantisce l'autenticità dell'host.

La mia domanda è: la mia comprensione della differenza tra i due è corretta? Se sì, una volta, una macchina riceve una chiave host di un server al momento della connessione, non può copiare la chiave host e falsificare la sua identità come server di cui ha copiato la chiave host o c'è qualche relazione tra chiave privata e chiave host come è tra chiave pubblica e privata?

    
posta prasun 28.03.2015 - 16:58
fonte

1 risposta

3

L'host ha una coppia di chiavi , costituita da una chiave pubblica e una chiave privata. (Può avere più coppie di chiavi in diversi formati: all'inizio di una connessione, il client e il server si disconoscono per determinare un formato che entrambi supportano). C'è una chiave pubblica host e una chiave privata dell'host; ci sono anche altre coppie di chiavi (chiavi pubbliche e private) che non sono coppie di chiavi host (in SSH, gli utenti hanno anche coppie di chiavi, con la chiave privata che risiede sul client).

All'inizio di una connessione, le due parti stabiliscono un canale sicuro con uno scambio di chiavi Diffie-Hellman , che consente loro di stabilire una chiave segreta condivisa che gli intercettatori non possono scoprire. A questo punto, il client e il server hanno un canale sicuro (che non può essere manomesso da un man-in-the-middle senza essere rilevato), ma non sanno ancora chi si trova all'altro capo del canale.

Quindi il client invia un valore casuale al server, una sfida . Il server risponde inviando la sua chiave pubblica e una firma del valore della sfida. Calcolando la firma del valore della sfida, il server dimostra di conoscere la chiave privata corrispondente alla chiave pubblica che ha appena inviato. Se il client ha memorizzato la chiave pubblica dell'host in un file, sa da quel punto in poi che il server è lo stesso host con cui ha comunicato in precedenza.

Questo meccanismo, in cui tutti potenzialmente conoscono la chiave pubblica, una parte invia una sfida e l'altra parte risponde alla sfida in un modo che dimostra che conosce la chiave privata (chiamata prova di possesso ), è un uso comune della crittografia a chiave pubblica. Si basa interamente sul fatto che la crittografia a chiave pubblica è asimmetrica: conoscere la chiave pubblica non fornisce informazioni sufficienti per effettuare calcoli che coinvolgono la chiave privata.

    
risposta data 28.03.2015 - 17:49
fonte

Leggi altre domande sui tag