Che cos'è un ID chiave OpenPGP / GnuPG?


25

Comprendo l'utilità del blocco tasti stesso e di un hash della chiave, ma non so perché sarebbero necessarie ulteriori informazioni, quindi non posso iniziare a indovinare l'utilità di un ulteriore bit di informazioni.

In particolare,

  • Cosa significa
  • dove viene utilizzato e
  • (come) può essere determinato dato il blocco di chiave pubblica?

Tende a essere menzionato tangenzialmente e di passaggio, il che porta alla confusione poiché chiaramente spacewalk riconosce una differenza tra impronta digitale e ID , mentre alcuni documenti GPG pubblicati da Fedora includono la frase

Per KEYNAME, sostituisci l'ID chiave o l'impronta digitale della tua coppia di chiavi principale,

il che fa sembrare che i due condividano lo stesso scopo; ma questo non ha senso perché se fosse così, perché dovresti iniziare con entrambi?


L'utilità gpg ti consente di specificare sia come comodità per te. Se specifichi un'impronta digitale, cercherà l'impronta digitale e se specifichi l'ID cercherà un ID uguale o contenente la stringa specificata. L'ID è spesso un identificatore leggibile dall'uomo per la chiave. L'impronta digitale in generale è descritta su en.wikipedia.org/wiki/Public_key_fingerprint . Qual è il problema che stai effettivamente riscontrando?
Jason C,

@JasonC Spacewalk vuole un ID, un'impronta digitale e un URL per il blocco tasti, ma i repository (ad es. EPEL ) forniscono solo il blocco tasti. Ora, so di poter ottenere l'impronta digitale semplicemente prendendo un hash del blocco tasti, ma non so se dovrei ottenere l'ID da qualche altra parte, decidere su uno e caricarlo in un database prima di dire spacewalk a riguardo, o semplicemente inventarne uno per spacewalk. Fondamentalmente, è un problema di passeggiata nello spazio che diventa molto più semplice quando so di più su come vengono utilizzati gli ID GPG.
Parthian Shot,

@JasonC Più conciso: scaricherò RPM firmati e tutto ciò che ho è il blocco tasti, quindi devo sapere se decido su un ID o l'emittente decide su un ID.
Parthian Shot,

Hai seguito le istruzioni di installazione di EPEL / Spacewalk da fedorahosted.org/spacewalk/wiki/HowToInstall#EPELrepository o wiki.centos.org/HowTos/PackageManagement/… e Spacewalk non riesce a gestire i pacchetti da EPEL? Access.redhat.com/site/solutions/308983 è pertinente?
Jason C,

1
Se funziona senza che tu lo compili, allora sa come gestirlo senza che tu lo specifichi e compilarlo non è utile. Tuttavia, controlla web.archive.org/web/20130821232554/http://centosforge.com/node/… che ti spiega come ottenere un'impronta digitale e un ID per Spacewalk. Istruzioni simili su darkoperator.com/blog/2011/12/16/… . Maggiori informazioni su google.com/search?q=spacewalk%20package%20key%20id
Jason C

Risposte:


29

Da RFC 4880 :

Un'impronta digitale V4 è l'hash SHA-1 a 160 bit dell'ottetto 0x99, seguito dalla lunghezza del pacchetto a due ottetti, seguito dall'intero pacchetto a chiave pubblica che inizia con il campo della versione. L'ID chiave corrisponde ai 64 bit di ordine inferiore dell'impronta digitale.

Per le chiavi V3, il calcolo è simile, ma la lunghezza della chiave viene omessa.

In altre parole, l'impronta digitale viene calcolata da una costante, la lunghezza del pacchetto e infine una parte del pacchetto di chiave pubblica. Ulteriori spiegazioni su cosa è incluso (e quindi su come calcolarlo) nella RFC collegata.

L'ID chiave (lungo) è rappresentato dai 64 bit più bassi e viene utilizzato poiché l'impronta digitale completa è un valore invariato e lungo. Ancora più spesso, viene utilizzato l'ID chiave breve formato dai 32 bit di ordine più basso. Questi ID chiave brevi sono spesso considerati con una probabilità troppo elevata di collisioni e utilizzo di almeno l'ID lungo, se non si consiglia nemmeno l'impronta digitale completa.

Ricapitolato in poche parole:

L'impronta digitale è il valore hash calcolato dal pacchetto di chiavi pubbliche. Gli ID chiave fanno parte dell'impronta digitale:

Fingerprint: 0D69 E11F 12BD BA07 7B37  26AB 4E1F 799A A4FF 2279
Long key ID:                                4E1F 799A A4FF 2279
Short key ID:                                         A4FF 2279

A volte, gli ID sono preceduti da 0xvalori esadecimali.


1
Link molto utile alle informazioni sulle collisioni, grazie. Potresti voler cambiare la risposta per dire che anche i tasti lunghi sono dimenticabili e quindi non raccomandati.
zkilnbqi,

Mentre gli ID chiave breve vengono forgiati molto facilmente, gli ID chiave lunga sono 2 ^ 32 volte più difficili da scontrarsi e ancora considerati appropriati. Anche le impronte digitali possono essere forgiate, sono ancora più difficili da falsificare (a causa del vasto numero di possibili impronte digitali).
Jens Erat,

1
Sono stato convinto dal link che hai incluso nella tua risposta. Ora la mia firma dice "harold@foo.com ID pgp.mit.edu al 22-03-2015" Ha molto più senso. Se qualcuno vuole inviarti un messaggio crittografato o verificare di averne firmato uno, dovrà comunque trovare la tua chiave pubblica sul server delle chiavi, quindi non c'è alcun vantaggio nell'utilizzare l'ID chiave.
zkilnbqi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.