Qual è la differenza tra RSA1 e RSA in relazione a SSH? Inoltre, quando viene utilizzata l'impronta digitale e l'arte casuale?

6

Ho cercato questo sito per RSA1 senza risultati. Da più ricerche su google ho capito che RSA1 era usato in SSH1 (che non è raccomandato). Tuttavia se è un singolo algoritmo perché ci sono due diversi?

Un po 'di background sul mio setup / comprensione:

  • Recentemente ho implementato OpenSSH su Ubuntu per inviare script di file (via scp) a un server clienti
  • Come ho capito SSH (come penso che potrebbe mancare qualcosa):
    1. client si connette al server
    2. server offre la chiave dell'host pubblico
    3. client accetta
    4. l'autenticazione crittografata avviene (tramite password o chiave pubblica del cliente)
    5. server accetta
    6. shell avviata (tutti i contenuti futuri vengono crittografati con la chiave pubblica del client, quindi decrittografati dalla chiave privata del client)
posta greggmcfg 27.02.2013 - 17:15
fonte

1 risposta

9

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é.

    
risposta data 27.02.2013 - 17:28
fonte

Leggi altre domande sui tag