¿Cómo puede GnuPG confiar en keyserver.ubuntu.com?

¿Cómo puede GnuPG confiar en keyserver.ubuntu.com?

Entiendo que la validez de cualquier certificado OpenPGP se basa en que ese certificado sea verificado por una parte confiable dentro de una red de confianza.

Sin embargo, para la mayoría de las personas que no usan GnuPG todos los días, simplemente obtendrán sus claves keyserver.ubuntu.comuna vez y confiarán en que son precisas. Por ejemplo, al seguirla guía "cómo verificar"en Ubuntu.com:

gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys "8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092" "C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451"

Aunque esta comunicación sucederásobre HTTP simple sin cifrar, Creo que el certificado que obtenemos del servidor de claves estará firmado por el propio servidor de claves, por lo que, siempre que conozcamos un certificado confiable para el servidor de claves, podremos confiar en la respuesta.

Pero, ¿cómo, basándonos en ejecutar este comando solo una vez, podemos confiar en el servidor de claves, ya que no creo que GnuPG haya creado un trustdbarchivo todavía? ¿GnuPG tiene una lista incorporada de certificados en los que confía, que incluye el de keyserver.ubuntu.com? Si es así, ¿cómo puedo encontrar esta lista para comprobar que este es el caso?

En ausencia de esta lista de confianza, ¿no sería posible que todas mis comunicaciones fueran interceptadas por el mismo intermediario (MITM), que luego podría estar enviándome un certificado falso al keyserver.ubuntu.commismo tiempo que ¿Me proporciona un paquete firmado falsificado (por ejemplo, el propio sistema operativo ISO)?

Respuesta1

El parámetro para recibir claves es la huella digital completa de dos claves:

  • 8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
  • C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451

La huella digital se calcula a partir de la clave pública (Idiscutimos las ID de claves OpenPGP en Superusuario, si quieres más referencia). GnuPG se dará cuenta de que se devolvió la clave incorrecta si la huella digital calculada de la clave recibida no coincide con la huella digital solicitada. En otras palabras: no puedes confiar en los servidores de claves (son operados por individuos aleatorios, que bien podrían tener objetivos maliciosos), pero no es necesario, toda la información recibida de los servidores de claves debe validarse de todos modos. La gama de posibles huellas dactilares es muy, muy amplia: no es factible encontrar una colisión (la misma huella dactilar para otra clave), incluso si se dispone de grandes capacidades informáticas como las de agencias como, por ejemplo, la NSA.Sin embargo, no confíe en las identificaciones de claves cortas.

Por la misma razón, es posible que no confíe en los resultados de un servidor de claves cuando busque direcciones de correo o ID de usuario. Los operadores de servidores de claves no sólo podrían devolver información maliciosa, sino que los servidores de claves tampoco verifican nada en absoluto (cualquiera podría cargar claves para direcciones de correo arbitrarias).Siempre tienes que validar las claves por tu cuenta.No hay nada como las claves confiables por defecto en GnuPG, ni siquiera las claves del mantenedor de GnuPG. Si confía en la fuente que enumera las huellas digitales de la clave de Ubuntu, puede firmarlas para que GnuPG sepa que verificó esas claves.

También existe HKPS (HKP sobre HTTP), pero esto no cambia nada considerando la falta de verificación de la información clave del servidor; HKPS solo se introdujo para que un intermediario no pueda registrar qué claves recupera de los servidores de claves.

información relacionada