Ci sono due modi principali con cui un utente malintenzionato può ottenere il file della chiave privata:
- Compromettendo la macchina client, nel qual caso l'utente malintenzionato di solito può ottenere anche la password.
- Compromettendo un backup del computer client o rubando quella macchina.
Se stai confrontando l'autenticazione della chiave privata con l'autenticazione della password, solo il secondo caso è rilevante. Nel secondo caso è necessaria una password complessa per il file della chiave privata.
È possibile ridurre il rischio escludendo il file della chiave privata dai backup, ma sembra che si abbia un controllo limitato sulle macchine client e il furto è sempre una possibilità. È inoltre possibile ridurre il rischio avendo un modo per disattivare rapidamente una chiave. Se una penetrazione nella rete richiede una connessione VPN oltre alla chiave SSH, aumenta la finestra temporale per la disattivazione della chiave prima che si possa fare del male.
Si noti che una password non è una panacea neanche. I client SSH tendono a rendere l'autenticazione della password difficile da automatizzare, ma gli utenti sufficientemente infastiditi scriveranno comunque la password in un file di testo normale e potrebbero persino esporlo in uno script o in un file di configurazione da qualche parte. L'uso di un file di chiave privata ha il vantaggio che le informazioni riservate sono concentrate in un file che gli utenti non tendono a copiare.
Un'altra considerazione che è a vantaggio delle chiavi private è che tendono ad essere più facili da revocare, da un punto di vista sociale. Dire a un utente che devono cambiare la propria password non è mai apprezzato e non si ha modo di assicurarsi che non cambieranno da Password123
a Password456
. (A meno che non imposti le password, nel qual caso sai che l'hanno scritto da qualche parte.)
Inoltre, se la VPN ha la stessa password di SSH, per la maggior parte degli intenti SSH non esegue alcuna autenticazione aggiuntiva. Pertanto SSH con autenticazione chiave rappresenta un ulteriore livello di sicurezza in questo scenario (indipendentemente dal fatto che la chiave sia ben protetta), mentre SSH con la stessa password no. Se l'alternativa è avere la password per farti passare attraverso la porta posteriore e la porta d'ingresso, avere la backdoor protetta da un meccanismo diverso è un vantaggio.