it-swarm.dev

Qual è il significato esatto di questo output gpg per quanto riguarda la fiducia?

Quando importi firme o ricevo una chiave con gpg, genera alcune linee criptiche come:

gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:  16  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:  16  signed: 115  trust: 1-, 1q, 1n, 1m, 12f, 0u
gpg: depth: 2  valid: 105  signed: 189  trust: 81-, 11q, 0n, 4m, 9f, 0u
gpg: depth: 3  valid:  29  signed: 120  trust: 19-, 9q, 0n, 0m, 1f, 0u

Comprendo la crittografia asimmetrica e la rete di fiducia. Ma non so cosa significano esattamente "marginali", "validi", "firmati" e tutte le lettere dietro fiducia.

29
Thomas Koch

La documentazione ufficiale di GnuPG relativa a questo output è piuttosto imbarazzante.

Il modello di trust OpenPGP

gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model

Per impostazione predefinita, GnuPG utilizza il modello di trust OpenPGP. In questo, puoi affidarti a una chiave, che consente di convalidare altre chiavi.

Chiavi affidabili

Le chiavi possono essere attendibili. La fiducia consente alle chiavi di convalidare altre chiavi. Sebbene la fiducia sia una sorta di firma su altre chiavi, non viene distribuita quando si caricano le chiavi sui server delle chiavi.

Esistono diversi livelli di fiducia:

  • - Nessuna proprietà assegnata/non ancora calcolata
  • e Il calcolo del trust non è riuscito; probabilmente a causa di una chiave scaduta
  • q Informazioni insufficienti per il calcolo
  • n Non fidarti mai di questa chiave
  • m Marginalmente attendibile
  • f Completamente affidabile
  • u In definitiva fidato

(tratto dal manuale di GnuPG, gestione chiavi capitolo )

Principalmente importanti sono le ultime tre categorie: le tue chiavi sono in definitiva affidabili; le firme delle chiavi pienamente attendibili sono considerate ugualmente degne delle tue; mentre le chiavi attendibili marginali richiedono più percorsi di firma per rendere valida una chiave.

Chiavi valide

Nel modello di trust OpenPGP predefinito, una chiave è completamente valida se:

  1. è firmato da abbastanza valido chiavi, che significa
    • l'hai firmato personalmente,
    • è stato firmato da una chiave completamente attendibile, oppure
    • è stato firmato da tre chiavi marginalmente attendibili; e
  2. il percorso delle chiavi firmate che porta da K alla tua chiave è di cinque passi o più breve.

(tratto dal manuale di GnuPG, capitolo "Convalida di altre chiavi sul tuo portachiavi pubblico" )

Altre chiavi sono marginalmente valide ; mostrando che c'è un percorso di fiducia, ma non è abbastanza forte. Ho evidenziato la parola "valido" nella citazione sopra: solo la fiducia delle chiavi pienamente valida viene presa in considerazione per il calcolo della validità! In GnuPG, è possibile configurare il modello di attendibilità predefinito.

La pagina di manuale collegata direttamente sopra contiene anche alcuni esempi per il calcolo della fiducia, ma fai attenzione al modello di fiducia non predefinito applicato per semplicità!

Informazioni su Trust DB di GnuPG

Queste informazioni vengono stampate ogni volta che il database di fiducia viene aggiornato, ad esempio dopo averle ricevute da un server delle chiavi.

gpg: depth: 0  valid:   1  signed:  16  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:  16  signed: 115  trust: 1-, 1q, 1n, 1m, 12f, 0u
gpg: depth: 2  valid: 105  signed: 189  trust: 81-, 11q, 0n, 4m, 9f, 0u
gpg: depth: 3  valid:  29  signed: 120  trust: 19-, 9q, 0n, 0m, 1f, 0u

Questo output descrive la tua rete di fiducia. Le lettere rappresentano i livelli di fiducia sopra elencati. Al livello livello 0 , troverai le tue chiavi (in definitiva fidate). Non ci dovrebbe essere nessun altro tipo di fiducia a questo livello. Questa chiave è valida (ovviamente).

L'ulteriore output rappresenta la mia interpretazione che non si basa sulla lettura della documentazione (mancante) né sul codice sorgente: hai firmato 16 chiavi, rendendole tutte completamente valide al livello di livello 1 . Per 12 di loro hai emesso piena fiducia, uno dei quali solo marginale. Questi portano di nuovo ad altre 105 chiavi valide di cui ti fidi a livello 2 . Alcuni di loro sono di nuovo fidati, portando ad altre 29 chiavi valide in livello 3 .

Confrontando questo output con ciò che keyervers dicono , dovresti probabilmente aggiornare il tuo portachiavi. ;)

Chiavi più affidabili in livelli più profondi potrebbero creare i livelli 0-5 se non si modifica la lunghezza massima del percorso di cinque proposta dal modello di attendibilità di OpenPGP.


Werner Koch, l'autore principale di GnuPG, una volta dichiarato sulla mailing list GnuPG :

Dovresti guardare la fonte. Tuttavia, se conosci bene il WoT, dovresti essere in grado di capire di cosa si tratta. [...] Dovresti considerare questo un output di debug.

26
Jens Erat