Uno è più sicuro dell'altro?
Risposte:
id_rsa.pub
e id_dsa.pub
sono le chiavi pubbliche per id_rsa
e id_dsa
.
Se lo stai chiedendo in relazione a SSH
, id_rsa
è una chiave RSA e può essere utilizzata con il protocollo SSH 1 o 2, mentre id_dsa
è una chiave DSA e può essere utilizzata solo con il protocollo SSH 2. Entrambi sono molto sicuri, ma sembra che DSA lo sia lo standard in questi giorni (supponendo che tutti i client / server supportino SSH 2).
Aggiornamento: da quando è stato scritto, i DSA si sono dimostrati insicuri. Maggiori informazioni disponibili nella risposta di seguito.
SSH utilizza coppie di chiavi pubbliche / private , così
id_rsa
come la tua chiave privata RSA (basata su numeri primi), che è più sicura della tua chiave privata id_dsa
DSA (basata su esponenti). Tenere le chiavi private di sicurezza e condividere la vostra id_rsa.pub
e id_dsa.pub
le chiavi pubbliche in senso lato.
DSA ha un parametro indovinabile se il generatore di numeri casuali del tuo computer è scadente, che rivelerà la tua chiave segreta. ECDSA (aggiornamento della curva ellittica di DSA) è altrettanto vulnerabile . Anche con buoni numeri casuali, DSA ha altri problemi di forza (questi si trovano anche in Diffie-Hellman ).
OpenSSH crea chiavi a 1024 bit non sicure ( soluzione alternativa ) e ora disabilita DSA per impostazione predefinita .
La crittografia a curva ellittica offre una maggiore complessità con chiavi di dimensioni inferiori. Ed25519 (basato sulla complessità delle curve ellittiche modellate dal piano ) è l'implementazione preferita a causa della sua presunta mancanza di ingerenza (documenti trapelati mostrano che la NSA statunitense indebolisce gli standard crittografici ).
Sfortunatamente, Ed25519 è ancora piuttosto nuovo e richiede OpenSSH 6.5 o GnuPG 2.1 (vedi l' elenco completo ).
Le dimensioni della chiave RSA di 4096 bit dovrebbero avere una complessità paragonabile a Ed25519.
Ed25519 è ancora preferito a RSA a causa della preoccupazione che RSA possa essere vulnerabile alle stesse preoccupazioni di forza di DSA, sebbene l'applicazione di tale exploit a RSA dovrebbe essere considerevolmente più difficile.
Sì, rsa è considerato più sicuro.
Nell'ottobre 2014, OpenSSH 7 (l'impostazione predefinita con Ubuntu 16.04LTS) ha disabilitato il supporto predefinito per DSA. Prendi questo come un segno forte che DSA non è più un metodo consigliato.
https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html
rsa è considerato più sicuro.
Non più (maggio 2020, dieci anni dopo), con OpenSSH 8.2 , come riportato da Julio
Avviso di ritiro futuro
È ora possibile 1 eseguire attacchi con prefisso scelto contro l'algoritmo hash SHA-1 per meno di $ 50.000 USD.
Per questo motivo, disattiveremo l'algoritmo di firma della chiave pubblica "ssh-rsa" che dipende da SHA-1 per impostazione predefinita in una versione del prossimo futuro .
(Vedi " SHA-1 is a Shambles: First Chosen-Prefix Collision su SHA-1 e Application to the PGP Web of Trust " Leurent, G e Peyrin, T (2020))
Questo algoritmo è purtroppo ancora ampiamente utilizzato nonostante l'esistenza di alternative migliori, essendo l'unico algoritmo di firma della chiave pubblica rimanente specificato dalle RFC SSH originali.
Le alternative migliori includono:
Gli algoritmi di firma RFC8332 RSA SHA-2 rsa-sha2-256 / 512.
Questi algoritmi hanno il vantaggio di utilizzare lo stesso tipo di chiave di "ssh-rsa
", ma utilizzano algoritmi hash SHA-2 sicuri.
Questi sono stati supportati da OpenSSH 7.2 e sono già usati per impostazione predefinita se il client e il server li supportano.L'algoritmo di firma ssh-ed25519.
È stato supportato in OpenSSH dalla versione 6.5.Gli algoritmi ECDSA RFC5656: ecdsa-sha2-nistp256 / 384/521.
Questi sono stati supportati da OpenSSH dalla versione 5.7.Per verificare se un server utilizza l'algoritmo di chiave pubblica ssh-rsa debole per l'autenticazione dell'host, prova a connetterti ad esso dopo aver rimosso l'
ssh-rsa
algoritmo dall'elenco consentito di ssh (1):ssh -oHostKeyAlgorithms=-ssh-rsa user@host
Se la verifica della chiave host non riesce e non sono disponibili altri tipi di chiave host supportati, è necessario aggiornare il software del server su quell'host.
Una versione futura di OpenSSH consentirà
UpdateHostKeys
per impostazione predefinita al client di migrare automaticamente verso algoritmi migliori.
Gli utenti possono considerare l'abilitazione manuale di questa opzione .