Migliore risposta
Utilizza una crittografia ibrida. La crittografia asimmetrica viene utilizzata per stabilire una chiave di sessione che a sua volta viene utilizzata come chiave per un cifrario simmetrico.
Questi cifrari simmetrici sono o cifrari a blocchi (più comunemente AES) o più rari (ma preferiti dal tuo vero) cifrari a flusso come Salsa20, noto anche come ChaCha.
Luso di cifrari a blocchi merita qualche spiegazione in più, poiché ha implicazioni significative riguardo alla riservatezza della comunicazione.
sono MOLTO buoni per crittografare blocchi di dimensioni fisse, da cui il loro nome. Il problema quando viene utilizzato come cifrario del payload per SSH è che i comandi di solito non arrivano in un blocco di dimensioni predeterminate, nel caso dellAES 128bit. Supponiamo ora di immettere il comando
$ ls
Non proprio a 128 bit. Quindi, per poter usare un cifrario a blocchi, qualcosa chiamato padding entrerebbe in azione: i 104 bit rimanenti verrebbero azzerati (semplificati).
Ciò impone un problema, tuttavia: supponendo che un singolo pacchetto inviato contenga riempimento almeno in una certa misura, avremmo un testo in chiaro parzialmente noto. Da questo, sarebbe possibile nel tempo (e molti pacchetti catturati) calcolare la chiave di sessione.
Per evitare che alcune modalità di cifratura siano state inventate. Per molto tempo è stato utilizzato il concatenamento di blocchi di cifratura:
Ciò che questo diagramma fondamentalmente ti dice è questo:
- Per crittografare il primo blocco, viene utilizzato un blocco pre-negoziato di dati casuali come cosiddetto vettore di inizializzazione.
- Il testo in chiaro e lIV sono soggetti a un Operazione esclusiva Or (XOR) : unoperazione piuttosto facile da annullare se si dispone della IV, ma molto, molto difficile se non ce lhai.
- Ora , la chiave viene utilizzata per crittografare il risultato delloperazione XOR.
- Il testo cifrato risultante viene quindi utilizzato come IV per il blocco successivo.
Poiché il testo in chiaro sarà ora pesantemente modificato prima di entrare nella crittografia, non è più noto alcun testo in chiaro. Bene, in teoria. Ebbene, nemmeno quello. CBC non è più considerato lo stato dellarte, principalmente perché un attacco riuscito è stato pubblicato da Serge Vaudenay . Oggigiorno, vengono utilizzate le modalità Counter o Galois Counter . Spiegarli è un po fuori dallo scopo di questa domanda, ma è sufficiente dire che soddisfano lo stesso scopo di CBC, ma sono considerati sicuri.
Quindi, sarebbe corretto dire che un ibrido viene utilizzata la crittografia, con cifrature asimmetriche utilizzate per lautenticazione del server e facoltativamente del client, nonché lo scambio di chiavi, con la chiave scambiata utilizzata per un cifrario a flusso simmetrico o un cifrario a blocchi in modalità CBC o (G) CTR.
Risposta
A2A Qual è la principale alternativa a SSH?
Francamente, non lo so Penso che ce ne sia uno. È come chiedere qual è lalternativa principale alla ruota. Il protocollo è così utile, sicuro e open source che non ha senso sviluppare nientaltro. Telnet sta a SSH come Travois sta alla ruota.
Sono daccordo con gran parte della risposta di Neil Richins in teoria, ma NFS non è unalternativa sicura a SSH / SCP (è un protocollo LAN, non un protocollo Internet pubblico) e Mosh utilizza SSH per il trasporto.
Se vengono rilevati problemi in SSH, vengono risolti. Nessuno abbandona lintera operazione. Ecco perché stiamo usando SSH 2 invece di SSH 1 e molti dei codici originali sono stati deprecati. Un po come SSL / TLS.
Pensavo che FTP fosse morto con Telnet, ucciso da HTTP (opzionalmente usando SSL), SCP, SFTP e Rsync (usando il trasporto SSH). Ma poi ho scoperto che si era rifiutato di morire e che le persone lo avevano ha creato una versione sicura FTPS. Quindi cè quella per i trasferimenti di file. Personalmente utilizzo SCP e Rsync. Unaltra alternativa per il trasferimento di file è HTTP con SSL / TLS. Per il download, HTTP GET funziona facilmente per ottenere qualsiasi file da un server web. Per il caricamento, HTTP POST funziona se scrivi un gestore e H TTP PUT funziona se è implementato ad es. WebDAV. Quindi, per mantenere uno spazio condiviso su un protocollo sicuro, WebDAV è unalternativa a Rsync / SSH. Il problema è che SCP / Rsync mantiene la proprietà dei file, mentre in WebDAV o POST qualsiasi cosa caricata appartiene al processo del server web. I sistemi CMS sono intrinsecamente insicuri in quanto se il server web viene violato, il processo del server web ha accesso in scrittura a tutto il contenuto – non cè separazione degli utenti.