24.2.1 Autenticazione

Il meccanismo di autenticazione tra client e server della suite di OpenSSH dipende dal protocollo utilizzato.

24.2.1.1 SSH1

Ogni macchina ha una coppia di chiavi (pubblica/privata) RSA (in genere di 1024 bit) che la identificano. Inoltre quando sshd viene avviato, viene generata automaticamenrte una chiave RSA (per default di 768 bit) che identifica il processo server.

Quando un client si connette da una macchina C, sshd risponde con la sua chiave pubblica RSA di sistema e la chiave RSA di server. Il client confronta la chiave pubblica della macchina S con quella presente sulla macchina C per vedere se la riconosce. Quindi il client genera un numero casuale di 256 bit, lo cifra con la chiave RSA pubblica della macchina S e con quella del server e lo invia a sshd. Entrambe le parti (client e server) utilizzeranno quindi tale valore numerico come chiave (simmetrica) di sessione, utilizzata per cifrare il resto della comunicazione con uno dei possibili algoritmi di cifratura (3DES o Blowfish - 3DES è il default). Il client utilizzerà l’algoritmo di cifratura fra quelli proposti dal server.

I metodi di autenticazione possibili sono quelli riportati di seguito

24.2.1.2 SSH2

Ogni macchina ha una coppia di chiavi (pubblica/privata) RSA o DSA (in genere di 1024 bit) che la identificano.

La comunicazione viene cifrata con uno dei possibili algoritmi a chiave simmetrica (AES a 128, 192 o 256 bit, Blowfish, 3DES, CAST128, Arcfour). Il client utilizzerà l’algoritmo di cifratura fra quelli proposti dal server. Inoltre l’integrità dell’informazione sarà garantita da un’impronta crittografica (hash MAC - Message Authentication Code) SHA-1 o MD5.

I metodi di autenticazione possibili sono quelli riportati di seguito