Qual è la differenza tra le chiavi RSA, DSA e ECDSA utilizzate da ssh?

12

Nella mia directory /etc/ssh/ , posso vedere tre che ho tre diversi tipi di chiavi ssh:

-rw------- 1 root root    607 Oct  4 22:43 ssh_host_dsa_key
-rw-r--r-- 1 root root    623 Oct  4 22:43 ssh_host_dsa_key.pub
-rw------- 1 root root    241 Oct  4 22:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    194 Oct  4 22:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root   1602 Oct  4 22:43 ssh_host_rsa_key
-rw-r--r-- 1 root root    378 Oct  4 22:43 ssh_host_rsa_key.pub

Quali sono le differenze tra le chiavi RSA, DSA e ECDSA di ssh e ho bisogno di tutte e tre?

    
posta fouric 21.10.2013 - 19:19
fonte

2 risposte

8

Sono chiavi generate utilizzando diversi algoritmi di crittografia. È possibile scegliere di utilizzare diverse forme di crittografia quando si utilizza SSH, in qualche modo simile alla possibilità di scegliere diversi metodi di crittografia per WiFi (WPA2, WPA, WEP, ecc.).

SSH utilizza la crittografia a chiave pubblica, ovvero quando ci si connette a un server SSH trasmette una chiave pubblica che è possibile utilizzare per crittografare ulteriore traffico da inviare a quel server. Se il server è configurato per utilizzare RSA, sarà una chiave generata dall'algoritmo RSA.

Il tuo computer invia la sua chiave RSA pubblica dal file chiave che hai elencato nella tua domanda. Il server ha bisogno di questa chiave per riconnettersi e rispondere.

Tutte e tre le chiavi esistono sul tuo computer perché qualsiasi server SSH a cui ti colleghi potrebbe essere configurato per utilizzare uno di questi algoritmi. Il tuo computer invierà una chiave univoca corrispondente al tipo utilizzato dal server, la tua chiave è stata generata sul tuo computer dallo stesso algoritmo.

Ecco alcune ulteriori risorse:

link

link

link

link

link

    
risposta data Zoasterboy 21.10.2013 - 19:38
fonte
2

Hai bisogno di tutti loro?
No, il tuo server ssh ne ha bisogno solo uno e il client deve supportare solo quel tipo di chiave per le connessioni ssh.

RSA, DSA, ECDSA, EdDSA e amp; Ed25519 sono tutti utilizzati per la firma digitale, ma solo la RSA può essere utilizzata anche per la crittografia.

RSA ( Rivest-Shamir-Adleman ) è uno dei primi crittosistemi a chiave pubblica ed è ampiamente utilizzato per la trasmissione sicura dei dati. La sicurezza si basa sulla scomposizione in fattori interi , quindi un RNG sicuro non è mai necessario. Rispetto a DSA, RSA è più veloce per la convalida della firma ma più lento per la generazione.

DSA ( Algoritmo di firma digitale ) è uno standard di elaborazione delle informazioni federali per le firme digitali. La sicurezza si basa su un problema discreto logaritmico . Rispetto a RSA, DSA è più veloce per la generazione di firme ma più lento per la convalida. La sicurezza può essere violata se vengono utilizzati generatori di numeri errati .

ECDSA ( Algoritmo di firma digitale a curva ellittica ) è un'implementazione curva ellittica di DSA ( Algoritmo di firma digitale). La crittografia a curva ellittica è in grado di fornire lo stesso livello di sicurezza di RSA con una chiave più piccola. Inoltre, condivide lo svantaggio di DSA di essere sensibile a RNG non validi.

EdDSA ( Algoritmo di firma digitale a curva di Edwards ) è uno schema di firma digitale che utilizza un variante di firma Schnorr basata su Curve di Edwards ritorte . La creazione di signature è deterministica in EdDSA e la sua sicurezza si basa sull'intrattabilità di alcuni problemi di logaritmo discreti, quindi è più sicuro di DSA & amp; ECDSA che richiede casualità di alta qualità per ogni firma.

Ed25519 , è lo schema di firma EdDSA, ma utilizza SHA-512/256 e Curve25519 ; è una curva ellittica sicura che offre una sicurezza migliore rispetto a DSA, ECDSA e amp; EdDSA, oltre a prestazioni migliori (non umanamente apprezzabili).

Altre note
Le chiavi RSA sono le più utilizzate e sembrano essere le più supportate.

ECDSA, (introdotto in OpenSSH v5.7 ), è computazionalmente più leggero di DSA, ma la differenza non è Notabile a meno che tu non abbia una macchina con una potenza di elaborazione molto bassa.

A partire da OpenSSH 7.0 , SSH non supporta più le chiavi DSA (ssh-dss) per impostazione predefinita. Una chiave DSA utilizzata per funzionare ovunque, come per lo standard SSH (RFC 4251 e successivi).

Ed25519 è stato introdotto in oepnSSH 6.5 .

    
risposta data Enkouyami 29.01.2018 - 10:35
fonte

Leggi altre domande sui tag