Generazione di keypair SSH: RSA o DSA?


104

SSH supporta due algoritmi di firma per coppie di chiavi: RSA e DSA. Quale è preferito, se presente? Per RSA, qual è la lunghezza minima accettabile della chiave?

Risposte:


70

RSA è generalmente preferito (ora che il problema del brevetto è finito con) perché può arrivare a 4096 bit, dove DSA deve essere esattamente 1024 bit (secondo l'opinione ssh-keygen). 2048 bit è ssh-keygenla lunghezza predefinita per le chiavi RSA e non vedo alcun motivo particolare per utilizzare quelle più brevi. (Il minimo possibile è 768 bit; suppongo che sia "accettabile" sia situazionale).


Mi sono spesso chiesto perché le persone sentano il bisogno di proteggere le proprie connessioni ssh con chiave a 2048 bit, quando è improbabile che la tua banca, di cui ti fidi, superi i 256 bit, ed è più probabile che rimanga con 128 bit. Certamente non sto dicendo che c'è qualcosa di sbagliato nell'usare una chiave grande, sto solo ... dicendo.
msanford,

25
La connessione SSL bancaria è un tipo diverso di codice utilizzato e in particolare la chiave utilizzata per le parti principali della transazione viene generata e utilizzata esclusivamente per quella transazione e quindi scartata.
Ophidian,

Il motivo è in realtà a che fare con il ridimensionamento. la crittografia non è economica e maggiore è la forza della chiave, minore è il numero di connessioni SSL che puoi servire. Se hai una banca al dettaglio con tutti i consumatori che tentano di utilizzare SSL, dovrai scegliere una suite di chiavi compatibile ma che corrisponda anche al tuo hardware.
Spence

15
msanford: Come Ophidian ha detto che sono diversi tipi di crittografia. Le chiavi RSA a 256 bit sarebbero completamente inutili per praticamente qualsiasi scopo. I tasti simmetrici sono nell'intervallo 128-512 bit, mentre gli assimetrici partono da 768 bit e sono sicuri a circa 1500-2000 bit e oltre. Le chiavi pubbliche a 768 bit possono e sono state rotte. Il simmetrico a 128 bit non può (di per sé) praticamente essere rotto.
Thomas,

2
@xenoterracide, ssh usa le librerie openssl. Quando SSH viene avviato, utilizza le chiavi RSA / DSA per eseguire la verifica dell'host e impostare le chiavi simmetriche per la sessione. Questa è la stessa procedura seguita dai server SSL e dal client, quindi scoprirai che parliamo di SSH, che spesso faranno riferimento per consentire la ricerca e la documentazione fatte per SSL
Walter

5

Non si tratta di crittografia simmetrica o asimmetrica. Si tratta di algoritmi particolari (RSA e DSA) che richiedono un conteggio dei bit più elevato per raggiungere un livello di sicurezza accettabile. Ad esempio, ECC è anche una crittografia asimmetrica, ma offre una buona sicurezza a conteggi di bit molto inferiori rispetto a RSA o DSA.


5

Se hai una recente implementazione di SSH, puoi anche prendere in considerazione ECDSA!


3

I certificati a 256 bit che le banche utilizzano per le connessioni SSL sono cyphers simmetrici come 3DES o AES, quindi il conteggio dei bit inferiore. Quando vedi 1024 e 2048 (e persino 4096) si tratta di cifre asimmetriche.


1

Le chiavi DSA hanno firme molto più brevi rispetto alle chiavi RSA (per lo stesso "livello di sicurezza"), quindi un motivo per utilizzare DSA sarebbe in ambienti vincolati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.