La scadenza della chiave OpenPGP si aggiunge alla sicurezza?

48

Ho creato una nuova chiave OpenPGP per firmare un pacchetto software in un repository di origine con una data di scadenza fra tre anni. Sembra una buona misura di sicurezza, perché se la chiave viene compromessa o rubata il danno sarà limitato.

Ma poi ho pensato al giorno in cui avrò bisogno di firmare la mia nuova chiave. Firmare la nuova chiave con la vecchia chiave sembra equivalente a mantenere la vecchia chiave, e quindi non aggiunge nulla alla sicurezza.

L'impostazione di una data di scadenza migliora la sicurezza della chiave? In tal caso, qual è la migliore politica di sostituzione di scadenza / chiave?

    
posta Adam Matan 08.05.2012 - 13:25
fonte

3 risposte

54

tl; dr : la data di scadenza non è un meccanismo ragionevole per proteggere la chiave primaria, e dovresti avere a portata di mano un certificato di revoca.

La versione leggermente più lunga è che l'effetto della data di scadenza differisce tra la primaria e le sottochiavi e anche ciò che si mira a prevenire.

sottochiavi

Per le sottochiavi, l'effetto è piuttosto semplice: dopo un determinato intervallo di tempo, la sottochiave scadrà. Questa data di scadenza può essere modificata solo utilizzando la chiave primaria. Se un utente malintenzionato si impossessa della tua sottochiave (e solo di questa), verrà automaticamente disattivata dopo la data di scadenza.

La data di scadenza di una sottochiave è un ottimo strumento per annunciare che cambi le tue sottochiavi su base regolare e che è tempo che gli altri aggiornino la tua chiave dopo un determinato periodo.

Chiavi primarie

Per le chiavi primarie, la situazione è diversa. Se hai accesso alla chiave privata, puoi modificare la data di scadenza come desideri . Ciò significa che se un utente malintenzionato accede alla tua chiave privata, può estendere il periodo di validità arbitrariamente. Nel peggiore dei casi, si perde l'accesso alla chiave privata allo stesso tempo, quindi anche non è possibile revocare la chiave pubblica più (si dispone di un certificato di revoca memorizzato o altrimenti non in linea e archiviato in modo sicuro, vero?). Una data di scadenza potrebbe essere d'aiuto nel caso in cui perdessi il controllo della chiave (mentre nessun attaccante ha il controllo su di essa). La chiave scadrà automaticamente dopo un certo periodo di tempo, quindi non ci sarebbe una chiave inutilizzabile con il tuo nome su di essa per sempre sui server delle chiavi.

Ripristino di chiavi non preventivate deboli

Ancora peggio, le date di scadenza potrebbero fornire un falso senso di sicurezza. La chiave sui server delle chiavi è scaduta, quindi perché preoccuparsi di revocarla? C'è un gran numero di chiavi RSA a 512 bit ben collegate sulla rete di server chiavi e probabilmente un numero relativamente grande di chiavi DSA deboli (a causa dei problemi di RNG di Debian). Con processori più veloci e possibilmente nuove conoscenze sulle debolezze degli algoritmi, un utente malintenzionato potrebbe in futuro rompere la chiave scaduta, ma non revocata e usarla!

Mantenimento sicuro di un certificato di revoca

Se hai un certificato di revoca e sei sicuro di non poter mai perdere l'accesso sia alla tua chiave privata che al certificato di revoca allo stesso tempo (prendi in considerazione l'incendio, il furto (fisico), le istituzioni ufficiali che cercano la tua casa), c'è < em> assolutamente inutile nell'impostare una data di scadenza a parte la possibile confusione e altri lavori che la estendono.

    
risposta data 17.01.2015 - 13:42
fonte
5

Si noti che una data di scadenza sulla chiave principale non fa nulla per la sicurezza, in quanto chiunque la ha compromessa potrebbe sempre estenderla comunque. Vedi link .

(Le sottochiavi in scadenza, d'altra parte, possono essere utili e l'opzione alla creazione della chiave imposta la data su tutti i tasti.)

    
risposta data 28.01.2014 - 21:48
fonte
1

Does setting an expiration date improves key security?

Sì. Hai già detto perché, anche:

It seemed like a good security measure, because if the key is compromised or stolen - the damage will be limited.

Supponendo che tu sia compromesso e che la chiave sia rubata, chiaramente, la tua prima azione sarebbe quella di revocare la chiave e emetterne una nuova. Tuttavia, non tutti controlleranno le chiavi revocate; continueranno a utilizzarla ciecamente finché non diventerà non valido.

Allo stesso modo, se sei compromesso, qualcuno può fingere di essere te solo per una finestra fissa.

If so, what's the best expiration\key replacement policy?

Non ce n'è davvero una - la domanda è più "qual è il meglio che posso fare dati i vincoli X Y Z". Ad esempio, se si imposta Window troppo piccola, si creano problemi agli utenti; tuttavia, troppo alto e si apre il rischio se compromesso. Si tratta davvero di una sentenza: quanto è esattamente sensibile ciò che stai proteggendo e quanto spesso / inopportuno è sostituire frequentemente le chiavi?

    
risposta data 08.05.2012 - 14:03
fonte

Leggi altre domande sui tag