Chiave SSH: Ed25519 vs RSA

28

Molte persone consigliano di usare Ed25519 invece di RSA chiavi per SSH.

La pagina di introduzione di Ed25519 ( link ) dice:
[..] breaking it has similar difficulty to breaking [..] RSA with ~3000-bit keys [..]

Così parlando solo di sicurezza (non velocità!), perché uno non preferisce RSA 4096 oltre Ed25519 ?
Se Ed25519 fornisce solo una forza della chiave di ~ 3000 bit, RSA con 4096 bit dovrebbe essere molto più sicuro?

    
posta Ben Richard 25.05.2015 - 23:59
fonte

1 risposta

43

I punti di forza e le loro equivalenze diventano insignificanti quando raggiungono la zona di "non può essere infranta con la tecnologia esistente e prevedibile", perché non esiste una cosa più sicura di quella. È un riflesso comune provare a pensare alle dimensioni delle chiavi come a fornire una sorta di margine di sicurezza, ma questo tipo di ragionamento fallisce oltre un certo punto.

In sostanza, gli algoritmi più noti per la rottura di RSA e per la rottura delle curve ellittiche erano già noti 25 anni fa. Da allora, l'efficienza di rottura è migliorata a causa di computer più veloci, ad un tasso che era correttamente previsto . È un tributo ai ricercatori che potrebbero, attraverso un sacco di messa a punto, tenere il passo con quella velocità, come mostrato in questo grafico:

(estrattoda questa risposta ).

La linea di fondo è che mentre una chiave più grande offre una resistenza prevedibile più lunga, questo tipo di previsione funziona solo finché i miglioramenti tecnologici possono essere, in realtà, previsti, e chiunque affermi di sapere quali computer saranno in grado di fare più di 50 anni da oggi è un profeta, un pazzo, un bugiardo o tutti questi insieme.

Tra 50 anni da oggi, la formula ottimistica data nella risposta citata sopra ((anno 2000) * 32 + 512) significa che al meglio , i record RSA potrebbero contemplare l'approssimarsi di 2592 bit.

La conclusione è che non esiste un modo significativo in cui le chiavi RSA a 3000 e 4000 bit possano essere confrontate tra loro, dal punto di vista della sicurezza. Entrambi sono "indistruttibili nel prossimo futuro". Una chiave non può essere meno rotta di quella non rotta.

Un altro punto importante è che le chiavi "permanenti" in SSH (le chiavi generate e archiviate nei file) vengono utilizzate solo per firme . La rottura di una chiave di questo tipo consentirebbe a un utente malintenzionato di impersonare il server o il client, ma non per decrittografare una sessione registrata passata (la chiave di crittografia effettiva deriva da uno scambio temporaneo Diffie-Hellman o un'ellittica variante della curva della stessa). Quindi, se la tua chiave potrebbe essere rotta o no, nel prossimo secolo non ha alcuna importanza. Per ottenere la sicurezza "definitiva" (almeno, nel contesto del mondo dei computer), tutto ciò di cui hai bisogno per la tua chiave SSH è una chiave che non può essere infranta ora , con la scienza e la tecnologia così come sono conosciute ora.

Un altro punto di vista sulla stessa cosa è che le connessioni possono essere solo sicure quanto i due endpoint. Niente costringe i tuoi nemici, siano essi malvagi criminali, spie o qualsiasi altra cosa, a cercare di sconfiggerti giocando "in modo giusto" e cercando di rompere la tua criptazione in anticipo. Assumere migliaia e migliaia di informatori per spiare tutti (e l'uno contro l'altro) è molto costoso, ma è stato , che è molto più di quanto si può dire per rompere una singola chiave RSA di 2048 bit.

    
risposta data 26.05.2015 - 02:21
fonte

Leggi altre domande sui tag