segreti della cache SSH

2

Perché SSH utilizza la crittografia a chiave pubblica ogni volta che ci si connette al server? RSA / DSA sono computazionalmente costosi, quindi perché non possono essere usati solo la prima volta per condividere un segreto, e in futuro il segreto condiviso può essere utilizzato sia per l'autenticazione con MAC che per l'encrpizione con AES?

    
posta Elliot Gorokhovsky 30.08.2015 - 20:14
fonte

2 risposte

4

Se tale calcolo è un problema per te (ad esempio se hai molte connessioni successive), a seconda dell'utilizzo potresti essere interessato alla funzione SSH ControlMaster Session. Permette a SSH di multiplexare più sessioni all'interno di una connessione TCP, quindi l'handshake viene realizzato solo una volta, quindi ogni nuova sessione può semplicemente riutilizzare il canale già stabilito senza ricorrere nuovamente a un'autenticazione completa.

Naturalmente, non appena termina la sessione di ControlMaster, l'autenticazione sarà nuovamente richiesta.

SSL implementa un'idea come la tua, in cui il server può mantenere una cache di sessioni SSL precedentemente stabilite e un client può richiamare tale sessione per evitare l'overhead di autenticazione. Ma SSL è progettato per garantire la sicurezza dei protocolli che possono produrre un numero relativamente grande di connessioni TCP consecutive e molto brevi (si pensi a tutti i diversi file recuperati per costruire una pagina Web: codice HTML, fogli di stile, immagini, script, ecc. , anche se HTTP 1.1 ha portato anche la sua soluzione a tali problemi).

I casi d'uso usuali del protocollo SSH non presentano lo stesso comportamento. Le sessioni SSH sono in genere poche e lunghe, quindi l'overhead di autenticazione è accettato come se presentasse un impatto relativamente basso rispetto all'intera attività della sessione, oppure potrebbe essere stabilita una sessione master che copre tutte le richieste sottostanti.

    
risposta data 30.08.2015 - 20:52
fonte
2

Il calcolo non è così pesante per quanto riguarda i vantaggi di sicurezza, perché se il server è falsificato o compromesso, l'utente malintenzionato non può ottenere la chiave privata (e pwd); al massimo può firmare la firma che non può essere molto interessante per lui perché una firma non può essere riutilizzata: è per questo che vale la pena eseguire alcuni calcoli per motivi di sicurezza.

Aggiungete a questo, il fatto che non si acceda più tanto al suo server (come quando si tratta di usare un account Facebook, ad esempio), aspettando un po 'che il calcolo sia eseguito non è poi così drammatico.

    
risposta data 30.08.2015 - 20:52
fonte

Leggi altre domande sui tag