¿Cómo verificar una firma contra un anillo de claves de terceros sin un ancla de confianza?

2

Supongamos que hay un programa y una firma OpenPGP en un sitio web. Un usuario descarga tanto la firma como el programa y necesita verificar si es el mismo programa que el autor quería publicar, no modificado por nadie más. Consideramos que el entorno de compilación, la computadora del desarrollador y el propio desarrollador son de confianza.

Un usuario también descarga la clave de un servidor de claves y un anillo de claves externo (probablemente a través de un canal no confiable), que supone que tiene las claves de las personas utilizadas para firmar la clave del desarrollador, s.a. llavero debian. El usuario no conoce a nadie en quien pueda confiar, por lo que no está conectado a la red de confianza.

¿Cómo confiar en todo el llavero instalado como una red de personas que se verifican entre sí pero no confiar en ningún grupo menor de personas en la red? ¿Ayudará a ejecutar PageRank al tratar una firma válida como un voto para una clave y confiar en las claves que tienen el mayor PageRank?

    
pregunta KOLANICH 06.09.2016 - 18:35
fuente

1 respuesta

1

Si no hay un ancla de confianza en el llavero de Debian (o en cualquier otro grupo, pero mantengámonos en el ejemplo de Debian aquí), no tiene ninguna posibilidad de verificar nada.

Fingiendo redes completas / Llaveros

Es fácilmente posible replicar el conjunto completo de claves de Debian con todos los ID de usuario y las firmas emitidas, se verá totalmente legítimo y estará completamente integrado. Pagerank devolverá los exactamente los mismos resultados para ambas redes. Al final, esto es más o menos malvado. En general, el componente fuertemente conectado de OpenPGP para mostrar los ataques de colisión de clave corta.

Certificados de raíz de la autoridad del certificado

Este es un problema general de los sistemas de certificación, siempre se necesita un ancla de confianza. Para X.509 (como se usa para TLS y S / MIME), se usan las autoridades de certificado cuyos certificados se declaran confiables en los navegadores y sistemas operativos. Para OpenPGP, tendrás que salir y encontrar un ancla de confianza por tu cuenta. Para el anillo de claves de Debian, ir a una reunión de usuarios de Debian o a una conferencia de Software Libre es un buen comienzo, te encontrarás con un montón de personas en el anillo de llaves allí.

Confiar en el primer uso

Para el caso general y cuando las claves ya se han utilizado para firmar cosas que ya está utilizando durante bastante tiempo, también podría aplicar "TOFU" (confianza en el primer uso): es poco probable que alguien haya podido falsifique el llavero de Debian (o incluso solo algunas de sus llaves) en muchas fuentes diferentes. Eche un vistazo a la instalación de Linux que tiene: hay un conjunto de claves en su interior (prácticamente todas las distribuciones de Linux utilizan GnuPG y OpenPGP para verificar el software en su administrador de paquetes). Toma algunas copias o revistas de computadora con distribuciones de Linux dentro de diferentes tiendas. Use diferentes conexiones de internet en diferentes lugares para obtener el llavero. Si siempre encuentra algunas de las claves, muy probablemente realmente pertenecen al anillo de claves de Debian (o llaveros similares). Esto no verifica a los individuos, pero al menos verifica la membresía de esa clave en el anillo de claves en un grado determinado.

    
respondido por el Jens Erat 06.09.2016 - 21:48
fuente

Lea otras preguntas en las etiquetas