Problemi di sicurezza relativi a chiavi pubbliche e SSH

6

Devo preoccuparmi di qualcosa di specifico quando uso le chiavi pubbliche e SSH? Beh, certo, devo mantenere la mia chiave privata segreta (e quindi dovrei scegliere una passphrase strong). Ma c'è qualcos'altro? Quando si esegue ssh-keygen è una buona idea usare le opzioni di default? I 2048 bit sono una buona scelta? Ho letto da qualche parte che 4096 sarebbe raccomandabile al giorno d'oggi. Posso usare un generatore casuale migliore (ad esempio, input dell'utente)? Devo rinnovare regolarmente la mia coppia di chiavi solo per il caso in cui qualcun altro l'ha rubato senza che io sappia? In quali casi deve essere usato un intervallo di validità?

Queste sono molte domande, ma credo che sarebbe utile dividerle in diverse domande. Sono interessato alla domanda su cosa cercare, quando si tratta di chiavi SSH / pubbliche (anche se ci sono aspetti che non ho ancora menzionato).

Domande correlate:

posta lumbric 11.01.2012 - 11:54
fonte

1 risposta

6

Devi fidarti delle opzioni predefinite di ssh-keygen e non provare a giocherellare con fonti casuali e così via. Queste sono cose delicate. Puoi fare affidamento sugli sviluppatori OpenSSH per aver fatto le cose correttamente - puoi poter fare affidamento perché tu già fai affidamento su di loro per aver eseguito un'implementazione corretta e senza perdite di OpenSSH protocollo, qualcosa che è tutt'altro che facile.

Per RSA, DSA, ElGamal, Diffie-Hellman e algoritmi simili, bastano le chiavi da 2048 bit. Stimare la forza di tali algoritmi in modo significativo non è facile, perché gli algoritmi di attacco più noti si basano su un sacco di potenza della CPU grezza ma anche su memoria, archiviazione, larghezza di banda dei dati e applicabilità del calcolo parallelo di algebra lineare su enormi matrici di ricambio. Quindi, tali stime devono indovinare in che modo le future architetture di calcolo e i circuiti specializzati previsti andranno incontro a un numero di scale ortogonali più o meno, e l'intera cosa riguarda più la divinazione che la previsione scientifica. Tuttavia, alcuni hanno provato a stabilire delle linee guida, vedere questo sito per un compendio dei set di regole esistenti che sono stati pubblicati. Ad esempio, NIST afferma che le chiavi RSA o DSA a 2048 bit vanno bene fino almeno all'anno 2030; si noti che lo stesso NIST dice che le chiavi RSA a 1024 bit non dovrebbero essere utilizzate oltre il 2010, eppure siamo nel 2012 e nessuno ancora sa come crackare effettivamente una chiave RSA a 1024 bit (il record corrente è per un RSA a 768 bit chiave).

Hai ragione nel proteggere la tua archiviazione di chiavi private. Questo non richiede necessariamente una passphrase, tuttavia: in alcuni contesti, la chiave privata può risiedere in un sistema desktop che è protetto fisicamente e che potrebbe essere ritenuto abbastanza sicuro. Tuttavia, le passphrase forti sono un buon riflesso da avere e posso solo incoraggiarle.

Per quanto riguarda il rinnovo delle chiavi, preferirei sconsigliarlo. Il rinnovo delle chiavi è un'operazione relativamente complessa perché devi trasportare le chiavi pubbliche in tutti i luoghi pertinenti (il .ssh/authorized_keys sui server a cui desideri connetterti); se ne dimentichi uno, in seguito dovrai eseguire una procedura di ripristino e le procedure di ripristino sono, per definizione, violazioni della sicurezza. Violazioni controllate, ma comunque infrazioni. Quindi dovresti rinnovare la tua chiave solo nella misura in cui ti aiuta a dormire la notte, ma è probabile che il rinnovo della chiave sia esagerato. Ricorda che se un utente malintenzionato può ottenere la tua chiave privata una volta , allora può piantare la propria chiave pubblica in tutti i server: cambiare la tua chiave non lo fermerà. Quindi il rinnovo delle chiavi ha comunque un impatto relativamente piccolo sulla sicurezza.

    
risposta data 11.01.2012 - 15:03
fonte

Leggi altre domande sui tag