L'impronta digitale della chiave OpenPGP cambierà se il certificato è esteso?

3

L'impronta digitale di una rinnovata (estesa) chiave OpenPGP dovrebbe essere la stessa? C'è qualche documentazione su di esso (RFC)?

Citando RFC 4880 :

There are many ways possible for two keys to have the same key material, but different fingerprints (and thus Key IDs).

Specialmente la parte in grassetto, quindi suppongo che cambiare l'impronta digitale provocherebbe anche la modifica dell'ID della chiave, quindi rendere la chiave inutile, corretta?

    
posta adam86 31.10.2016 - 09:43
fonte

2 risposte

6

ID chiave OpenPGP

Gli ID delle chiavi OpenPGP (e le impronte digitali) vengono utilizzati per fare riferimento alle chiavi quando si eseguono diverse azioni come richiedere e inviare chiavi o quando si verifica la proprietà. Ad esempio, scambieresti l'impronta digitale con il proprietario della chiave su un canale separato e affidabile per assicurarti che la chiave appartenga veramente alla persona che afferma di possedere la chiave.

L'ID della chiave OpenPGP (v4) è un identificatore calcolato dalla timestamp della chiave pubblica e della creazione della chiave. Da quelli, viene calcolato un hashsum. La versione con codifica esadecimale è chiamata impronta della chiave. L'ultimo (ordine inferiore) 16 caratteri è chiamato ID tasto lungo , se si prendono solo gli ultimi otto caratteri, è l'ID della chiave breve . Un esempio per la mia chiave pubblica:

fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279
long id:                                    4E1F 799A A4FF 2279
short id:                                             A4FF 2279

L'ID della chiave pubblica primaria viene fatto riferimento nella riga pub dopo la dimensione della chiave, nel tuo caso l'ID della chiave breve è CB3AF6E6 :

pub   4096R/CB3AF6E6 2015-12-24 [expires: 2016-12-23]

Tieni presente che gli ID della chiave breve da otto byte non forniscono uno spazio di valore sufficientemente grande, ed è facilmente possibile generare duplicati chiavi tramite attacchi di collisione . Invece di ID chiave breve, utilizza almeno ID chiave lunghi e quando il software gestisce le chiavi, fai sempre riferimento all'intera impronta digitale .

Per maggiori dettagli su in che modo sono state derivate le somme hash, mi riferisco a RFC 4880 , OpenPGP, 12.2. ID chiave e impronte digitali che spiega anche le differenze per le chiavi obsolete OpenPGP v3.

Diverse impronte digitali / ID chiave per lo stesso materiale chiave

La RFC che stai citando si riferisce a "molti modi" per avere lo stesso "materiale chiave" con impronte digitali diverse (e quindi ID chiave). Prima di tutto, si dovrebbe discutere di ciò che "materiale chiave" include; Suggerirei che l'autore si riferisse solo ai numeri che formano la chiave, non alle meta-informazioni come il timestamp della creazione della chiave. Inoltre, non prenderei realmente in considerazione il numero di modi per ottenere impronte digitali diverse per lo stesso materiale chiave di "molti". Posso vedere solo due modi (senza pretendere che la lista sia completa, almeno non avrei dovuto perdere qualcosa di ovvio):

  • Come già discusso sopra, le chiavi v3 e v4 OpenPGP hanno diversi metodi di calcolo delle impronte digitali, quindi la stessa coppia di chiavi produrrà impronte digitali diverse. Questo è anche indicato nella RFC:

    Perhaps the most interesting is an RSA key that has been "upgraded" to V4 format, but since a V4 fingerprint is constructed by hashing the key creation time along with other things, two V4 keys created at different times, yet with the same key material will have different fingerprints.

  • Timestamp diversi per la creazione di chiavi generano impronte digitali diverse. Questo è ciò che è stato usato dall'attacco Evento di collisione con la chiave Evil32 per creare molte impronte apparentemente diverse usando pochi tasti (generazione della chiave è costoso, mentre solo l'iterazione dei timestamp e il calcolo delle somme di hash è economico).

La mia impronta digitale OpenPGP cambierà mai?

Should the fingerprint of a renewed (extended) OpenPGP Key be the same? Is there any documentation on it (RFC)?

[...] I guess that changing the fingerprint would also result in changing the key ID hence make the key useless, correct?

Se prolunghi il periodo di validità, l'impronta non cambierà affatto: non stai cambiando i numeri che formano il "materiale chiave", né stai modificando il timestamp della creazione della chiave.

Estendendo il periodo di validità, verrà emessa una firma autografa speciale che memorizza la data di scadenza. Questa firma ha il proprio timestamp incluso e sostituisce tutte le date di scadenza precedenti, in modo che qualsiasi altro utente di OpenPGP abbia la nuova data di scadenza unita alla vecchia chiave.

Sì, se l'impronta digitale cambia, la tua chiave sarebbe resa inutilizzabile (nel senso che sembra essere un'altra chiave), poiché l'impronta digitale è usata come riferimento per entrambe le certificazioni e altri usi delle chiavi. Ma questo è puramente teorico, dato che le impronte digitali non cambieranno nella pratica.

    
risposta data 31.10.2016 - 17:55
fonte
2

L'impronta digitale è un hash di una chiave pubblica, se la tua chiave pubblica cambia, anche le tue impronte digitali cambiano. Ora, non credo che l'estensione della chiave PGP cambi effettivamente qualsiasi cosa tranne la data di scadenza. Mentre l'impronta digitale di una chiave PGP include altri campi nell'hash, non credo che la data di scadenza sia parte dell'hash.

    
risposta data 31.10.2016 - 13:53
fonte

Leggi altre domande sui tag