¿Cómo puedo validar las claves importadas con GPG?

2

Recientemente, descargué varias claves públicas con gpg, para arreglar el sistema de paquetes Debian después de actualizar a Stretch. Los comandos fueron:

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

Esas claves se importaron correctamente en mi llavero de GPG. Sin embargo, me gustaría comprobar si no han sido manipulados en el proceso. Si selecciono una de estas teclas con este comando

# gpg --check-sigs 8B48AD6246925553

Podría indicar que contiene una firma válida, según el resultado del proceso:

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]>

La firma literal! 3 indica que la firma es buena, pero confiando marginalmente El listado de firmas relacionadas con esta clave me da este resultado:

# 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)

Mi pregunta es: ¿GPG verifica la nueva clave descargada y sus firmas contra una clave más antigua (y que ya existía) en mi sistema? ¿Hay alguna forma de validar esa firma con el ID 715ED6A07E7B8AC9 si es válida? (Podría calcular un hash en cualquier archivo y compararlo con una instalación nueva de Debian en otra computadora)

    
pregunta JoseMiguel 19.10.2017 - 00:30
fuente

1 respuesta

1

Esto es lo que podría adivinar, ya que he estado revisando dos aspectos:

  1. Código fuente de GPG (versión 2.1.18, archivo g10 / sig-check.c)

    • La función que valida las firmas verificará lo siguiente:

      • Busque la clave pública que creó la firma.
      • la firma no se creó antes de la clave.
      • la clave pública se creó en el pasado.
      • no hay funciones no compatibles.
      • hash contra digerido.
    • Dado que importé tres claves en un anillo de llaves vacío, nada se ve mal (fecha, hash, etc.) excepto el hecho de que no hay otra clave para verificar la firma. Por lo tanto, la firma parece autofirmada (no se encuentran otras ID de clave) con el resultado sig! 3 (confiando marginalmente) y el proceso de importación me advirtió con "no se encontraron claves confiables"

  2. Una nueva instalación de Debian en una máquina virtual.

    Exporté una de las claves públicas con este comando:

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

    No solo volcará la parte clave, sino también los paquetes de firma. Podría comparar mi clave GPG contenida en el conjunto de claves GPG, contra la misma KEYID en otra computadora, contenida en el conjunto de claves APT. Las secuencias de bytes completas eran idénticas.

Algo similar se describe en Debian Manual / Securing Debian (sección 7.5.3.8 , Verificando la integridad de la clave)

    
respondido por el JoseMiguel 12.12.2017 - 22:39
fuente

Lea otras preguntas en las etiquetas