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.