Il protocollo SSH 2 consente di utilizzare le chiavi DSA, ECDSA, ED25519 e RSA quando si stabilisce una connessione sicura a un server. (Tieni presente questa domanda che conosco solo la procedura e le funzionalità di RSA e non posso parlare con gli altri metodi)
Ciò che mi confonde, è secondo man sshd
, Diffie-Hellman è usato per lo scambio di chiavi:
For protocol 2, forward security is provided through a Diffie-Hellman key agreement. This key agreement results in a shared session key. The rest of the session is encrypted using a symmetric cipher...
Questo porta a due domande:
- Dove entra in gioco la chiave RSA se non viene utilizzata durante lo scambio di chiavi?
- Perché è richiesto un secondo protocollo (in questo caso, Diffie-Hellman)? Perché non utilizzare la chiave pubblica RSA del client per crittografare la chiave di sessione sul server e inviarla al client?