Una firma OpenPGP fatta prima della revoca di una chiave è considerata valida?

4

Se una firma è stata effettuata prima che la chiave fosse revocata, sarà considerata valida dopo la revoca? Supponendo che la chiave sia stata revocata come sostituita, la risposta è ovvia se la chiave è stata compromessa.

In particolare sono interessato alla risposta a questa domanda in relazione a una migrazione della chiave OpenPGP e alla firma della nuova chiave con quella precedente. Ha senso aspettare prima di revocare la vecchia chiave dopo che la nuova (e la firma) è stata pubblicata?

Ho trovato questa domanda che è simile al mio ma non riguarda GPG e web of trust in particolare ma le firme digitali in generale.

    
posta raindev 27.10.2017 - 19:31
fonte

1 risposta

3

La versione breve: non c'è modo di distinguere tra le firme rilasciate prima e dopo la revoca di una chiave. Tempi di sistema ridotti e il modo in cui gli aggressori potrebbero sfruttarli forniscono una spiegazione piuttosto ovvia per questo.

La versione leggermente più lunga con esplorazione interattiva: RFC 4880, OpenPGP non specifica alcuna regola su come gestire le firme emesse per chiavi revocate - a parte la frase "A la chiave revocata non deve essere utilizzata ". Il comportamento in questo caso dipende dall'implementazione. L'implementazione più comune è probabilmente GnuPG, quindi proviamo come agisce GnuPG. Prendi in considerazione la seguente situazione:

  • creato keypair A nella directory home A
  • ha firmato un documento di prova con questo tasto
  • chiave pubblica esportata A
  • chiave pubblica importata A nella directory home B
  • creato keypair B nella directory home B
  • ha firmato la chiave pubblica A con la chiave privata B

Ora abbiamo una chiave non revocata A, un documento firmato da questa chiave, e questa chiave A è certificata da un'altra parte B (e quindi la chiave e le sue firme si convalidano correttamente).

Ora, cosa succede se revochiamo la chiave A (dopo aver firmato il documento)?

gpg: Signature made Wed Nov  1 15:39:35 2017 CET
gpg:                using RSA key 658787F11DEFDEE1DA206171C2F6C4CC6B298CA6
gpg: Good signature from "A" [full]
gpg: WARNING: This key has been revoked by its owner!
gpg:          This could mean that the signature is forged.
gpg: reason for revocation: Key is superseded

Cosa succede se crei un'altra firma dopo aver revocato A (Ho preso una copia della directory home di GnuPG A prima di revocare la chiave), quindi B prova a verificare una firma emessa da una chiave già revocata?

gpg: Signature made Wed Nov  3 15:42:31 2017 CET
gpg:                using RSA key 658787F11DEFDEE1DA206171C2F6C4CC6B298CA6
gpg: Good signature from "A" [full]
gpg: WARNING: This key has been revoked by its owner!
gpg:          This could mean that the signature is forged.
gpg: reason for revocation: Key is superseded

Con altre parole: non è possibile discriminare tra una firma emessa prima la revoca e una emessa dopo. E questa è una soluzione ragionevole: dato che nessun timestamp di terze parti è stato coinvolto, dopotutto non si può essere sicuri del timestamp della firma. In effetti, ho anche falsificato l'ora del sistema quando ho emesso la seconda firma. "La scadenza della chiave OpenPGP viene aggiunta alla sicurezza?" fornisce una discussione simile.

In attesa di un po 'di tempo potrebbe essere comunque utile: ad esempio se fornisci una istruzione di transizione chiave , in attesa di un po 'di tempo dopo l'emissione di questo (e la notifica ai tuoi pari a riguardo) prima di revocare la vecchia chiave potrebbe essere ragionevole. In questo modo, le persone vedono ancora la vecchia chiave non revocata e possono firmare la nuova chiave, se la loro norma di firma lo consente.

    
risposta data 01.11.2017 - 16:12
fonte

Leggi altre domande sui tag