Come posso convalidare le chiavi importate con GPG?

2

Recentemente, ho scaricato diverse chiavi pubbliche con gpg, al fine di correggere il sistema di pacchetti Debian dopo l'aggiornamento a Stretch. I comandi erano:

# gpg --recv-keys EF0F382A1A7B6500
# gpg --recv-keys 8B48AD6246925553
# gpg --recv-keys 7638D0442B90D010

Quelle chiavi sono state importate correttamente nel mio mazzo di chiavi GPG. Tuttavia, vorrei verificare se non sono stati manomessi all'interno del processo. Se controllo una di queste chiavi con questo comando

# gpg --check-sigs 8B48AD6246925553

Potrei dichiarare che contiene una firma valida, in base all'output del processo:

gpg: 1 good signature
gpg: 25 signatures not checked due to missing keys
pub   rsa4096 2012-04-27 [SC] [caduca: 2020-04-25]
  A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553
uid           [desconocida] Debian Archive Automatic Signing Key (7.0/wheezy) <[email protected]>
sig!3        8B48AD6246925553 2012-04-27  Debian Archive Automatic Signing Key (7.0/wheezy) <[email protected]>

Il letterale sig! 3 indica che la firma è buona, ma fidarsi marginalmente delle firme relative a questa chiave mi dà questo risultato:

# gpg --list-sigs 8B48AD6246925553
pub   rsa4096 2012-04-27 [SC] [caduca: 2020-04-25]
  A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553
uid           [desconocida] Debian Archive Automatic Signing Key (7.0/wheezy) <[email protected]>
sig 3        715ED6A07E7B8AC9 2012-04-27  [ID de usuario no encontrado]
sig          040BA4EB3B7F81DA 2016-02-16  [ID de usuario no encontrado]
...
(up to 25 signatures not checked)

La mia domanda è: GPG controlla la nuova chiave scaricata e le sue firme su una chiave più vecchia (e già esistente) sul mio sistema? C'è un modo per convalidare che la firma con ID 715ED6A07E7B8AC9 sia valida? (Potrei calcolare un hash su qualsiasi file e confrontarlo con una nuova installazione di Debian su un altro computer)

    
posta JoseMiguel 19.10.2017 - 00:30
fonte

1 risposta

1

Questo è quello che immagino, dal momento che ho controllato due aspetti:

  1. Il codice sorgente di GPG (versione 2.1.18, file g10 / sig-check.c)

    • La funzione che convalida le firme controllerà quanto segue:

      • Cerca la chiave pubblica che ha creato la firma.
      • la firma non è stata creata prima della chiave.
      • la chiave pubblica è stata creata in passato.
      • nessuna funzionalità non supportata.
      • hash contro digest.
    • Dal momento che ho importato tre chiavi in un portachiavi vuoto, nulla sembra sbagliato (data, hash, ecc.) tranne il fatto che non c'è altra chiave per controllare la firma contro di essa. Pertanto, la firma sembra autofirmata (non sono stati trovati altri ID chiave) con il risultato sig! 3 (confidando marginalmente) e il processo di importazione mi ha avvisato che "non sono state trovate chiavi definitive attendibili"

  2. Una nuova installazione di Debian in una macchina virtuale.

    Ho esportato una delle chiavi pubbliche con questo comando:

    gpg --armor --export EF0F382A1A7B6500 | gpg --list-packets --verbose --debug 0x02

    Non solo scaricherà la parte chiave, ma anche i pacchetti di firma. Potrei confrontare la mia chiave GPG contenuta nel portachiavi GPG, con lo stesso KEYID in un altro computer, contenuto nel portachiavi APT. L'intera sequenza di byte era identica.

Qualcosa di simile è descritto in Debian Manual / Securing Debian (sezione 7.5.3.8 , Verifica dell'integrità della chiave)

    
risposta data 12.12.2017 - 22:39
fonte

Leggi altre domande sui tag