Perché utilizzare una chiave SSH è più sicura rispetto all'utilizzo delle password? [duplicare]

67

Se le persone usano una password per accedere a un server UNIX, allora potrebbe essere costretta a scadere la password, quindi la cambiano.

Se le persone usano una chiave SSH e non hanno password, nessuna scadenza della password, quindi nulla le costringe a cambiare regolarmente la chiave SSH.

Domanda: quale soluzione è più sicura? Perché il "howto" per indurire un server consiglia sempre di usare una chiave ssh, non le password?

UPDATE : senza contare la debolezza della forza bruta - per quanto riguarda le password, dal momento che potrebbero essere indovinate se non esiste una soluzione simile a Fail2ban.

    
posta thequestionthequestion 10.10.2014 - 20:39
fonte

3 risposte

54

Entrambe le chiavi e le password hanno i loro pro e contro. La ragione per cui "howtos" e simili consigliano di usare la chiave SSH è che trovano i loro svantaggi meno preoccupanti delle consp di password.

Le chiavi SSH sono lunghe e complesse, molto più di qualsiasi altra password. Ma come dichiari, non hanno scadenza, e si siedono su un disco da dove possono essere rubati. D'altra parte, non vengono trasmessi al sistema remoto (tranne l'inoltro di chiavi, natch) che devono essere le password.

Le password sono generalmente, prevedibilmente, inevitabilmente deboli. Sebbene sia possibile avere password complesse, è stato più volte dimostrato che le persone utilizzano password deboli e hanno pratiche password scadenti ... modelli brevi, semplici, basati su parole e semplici ("p @ ssw0rd!"), Scrivere li abbassa, li usa su più siti, li basa sul loro numero di telefono, la data di nascita dei loro figli, il loro nome. Fai notare che le chiavi non scadono, ma perché scadono le password? Per garantire che un attacco a forza bruta abbia meno probabilità di decifrare una password prima che sia stata sostituita. Non è un problema che influisce sulle chiavi.

E, a parte le cattive password, anche le password "buone" sono vulnerabili alla forza bruta (online o offline) nelle giuste condizioni. Devono essere trasmessi all'altro sistema o in qualsiasi altro posto in cui l'utente possa essere ingannato per inviarli per errore.

Il bilanciamento delle prove suggerisce strongmente che le password sono più deboli e le chiavi sono più forti.

    
risposta data 10.10.2014 - 21:03
fonte
32

Con le password, la password viene inviata al server, quindi la sicurezza della password è relativa al modo in cui il server protegge qualsiasi cosa utilizzi per verificare le password (ad esempio il file /etc/shadow ). Quando si utilizza una chiave SSH, la propria chiave privata rimane sul lato client e nessun valore segreto viene mai inviato al server. Anche se il server è sotto controllo ostile, o sei in qualche modo indotto a connettersi a un server falso, la tua chiave SSH rimane al sicuro. Un server falso non acquisisce abbastanza informazioni sulla chiave per recuperarlo o eseguire alcuni MitM. In questo senso, le chiavi SSH sono più robuste delle password contro i compromessi sul lato server.

D'altra parte, una chiave SSH deve essere memorizzata da qualche parte, su un computer, e questa può essere una vulnerabilità. Devi proteggere la tua chiave privata con una passphrase; in caso contrario, un laptop rubato si trasforma in un compromesso dell'account. Viceversa, una password può essere memorizzata nel tuo cervello solo , che (presumibilmente) rende meno probabile la perdita.

Quindi, si può sostenere che le chiavi SSH sono "più sicure" delle password, ma si può anche sostenere il contrario. Dipende dal contesto. La maggior parte degli HowTos assumerà la posizione secondo cui le chiavi sono migliori perché, in media, gli utenti umani hanno una terribile esperienza di password. Gli utenti scelgono password deboli e riutilizzarle (il riutilizzo della password è molto pessimo).

    
risposta data 10.10.2014 - 21:32
fonte
4

Se quello che sto capendo nel tuo aggiornamento, se è in grado di fornire la stessa entropia nelle tue password vs le chiavi, che per quanto riguarda la sua sicurezza è discutibile. Potresti verificare che le chiavi siano migliori perché fornirebbero una migliore "esperienza utente" perché non digiti tutte le password ogni volta.

Penso di più al tuo punto originale, stiamo discutendo della gestibilità delle password SSH rispetto alle chiavi SSH. Si possono assegnare le password alle policy, che consentono misure di sicurezza di base (scadenza password IE, cronologia password, lunghezza password mix-max, ecc.) Ma questo non cambia le abitudini umane e non fa piacere agli utenti in cui la sicurezza diventa ingombrante produzione (un bilancio a livello organizzativo).

I tasti forniscono il metodo per mantenere un grado di entropia e gestibilità fornendo anche un metodo di accesso che non ingombrante un utente (una volta che la coppia di chiavi è impostata puoi autenticarti senza richiesta di password finché non viene revocata.)

Oltre a ciò, sappi che le chiavi possono essere protette da password e fornire un altro livello.

    
risposta data 10.10.2014 - 22:28
fonte

Leggi altre domande sui tag