Nella versione 1 del protocollo SSH, il server ha una chiave RSA (sempre) e il client crittografa asimmetricamente un blob casuale con la chiave pubblica del server. Il blob casuale viene quindi utilizzato come base per la chiave di sessione che verrà utilizzata per crittografare i dati.
Nella versione 2 del protocollo SSH, client e server utilizzano Diffie-Hellman (o una sua variante ellittica) per stabilire una chiave di sessione condivisa. Il server firma la sua metà del protocollo con la sua chiave, che potrebbe essere RSA o DSA.
Mentre Crittografia RSA e Firma RSA possono entrambi utilizzare lo stesso tipo di oggetto matematico (una "chiave RSA"), sono comunque algoritmi distinti. Il modo SSHv2 offre inoltre Perfect Forward Secrecy , che è buono (se qualcuno ruba la chiave del server, può decrittare le precedenti connessioni SSHv1 che ha registrato, ma non così con le connessioni SSHv2).
Nel modello SSH, il client si assicura che parli al server giusto ricordando la chiave pubblica di ciascun server (che è il file .ssh/known_hosts
). Quando incontra una nuova chiave (un server a cui il client non è mai connesso), vuole mostrare qualcosa che l'utente umano può usare per confermare che la chiave pubblica del server sia autentica. L'impronta è un valore hash; l'utente deve quindi telefonare al sysadmin del server previsto, dettare l'impronta digitale e ottenere la conferma che è quella giusta.
La "arte casuale" è una visualizzazione dell'impronta digitale in un modo che dovrebbe essere facilmente ricordato da un occhio umano & cervello. L'idea è che l'utente prima memorizzi la "arte" associata al server, e successivamente controlli visivamente che la "arte" ricalcata sia la stessa. (Scenario previsto: essere in grado di utilizzare macchine client casuali durante il viaggio.)
Personalmente preferisco imparare a memoria l'impronta digitale; almeno posso calcolare la probabilità di successo dell'attaccante. Meglio ancora, viaggio con il mio dispositivo, che almeno dovrebbe essere meno pericoloso di una macchina casuale da un Internet café.