SSH usa una coppia di chiavi per la crittografia o due coppie di chiavi?

1

Quando il client SSH (OpenSSH) si connette al server SSH, il server SSH fornisce la sua chiave di crittografia pubblica (ad esempio /etc/ssh/ssh_host_rsa_key.pub ) al client SSH in modo che il client SSH possa crittografare i dati inviati al server SSH e il server SSH può decrittografarlo con la sua chiave privata corrispondente (ad esempio /etc/ssh/ssh_host_rsa_key ). Ora, quando il server SSH invia i dati al client SSH, crittografa i dati con la sua chiave privata e il client SSH deve decrittografarlo con la chiave pubblica corrispondente che ha ricevuto all'inizio della connessione SSH? Oppure il client SSH ha fornito la sua chiave pubblica al server SSH e il server SSH lo utilizza per crittografare i dati e il client SSH utilizzerà la sua chiave privata corrispondente per decrittografare questi dati?

    
posta Martin 22.10.2015 - 13:03
fonte

1 risposta

1

No. Il protocollo è più complicato di questo e puoi leggere l'intera descrizione in RFC 4253 e simili. La chiave host non viene utilizzata come chiave di crittografia. La chiave host verifica solo l'autenticità dell'host e impedisce l'attacco Man In the Middle. Simile è la chiave di identità usata, che viene utilizzata solo per l'autenticazione.

Le chiavi di crittografia vengono create in base allo scambio di chiavi (in genere diffie-hellman) e ne esistono 6 derivate dal materiale chiave fornito dallo scambio di chiavi. Si dispone di chiave di crittografia separata, IV (vettore di inizializzazione) e chiave MAC per garantire l'integrità di ciascun messaggio. Inoltre hai una chiave separata per entrambe le direzioni (server- > client, client- > server).

    
risposta data 22.10.2015 - 13:13
fonte

Leggi altre domande sui tag