¿Debo firmar las claves de lanzamiento del software con mi propia clave?

1

Una buena práctica es verificar el software con una clave de firma del equipo, para garantizar que el software no haya sido manipulado.

El problema

Cuando verifico una descarga, generalmente me tropiezo con el siguiente mensaje:

$ gpg --verify keepassxc-2.3.3-src.tar.xz.sig
gpg: assuming signed data in 'keepassxc-2.3.3-src.tar.xz'
gpg: Signature made Wed May  9 19:40:24 2018 CEST
gpg:                using RSA key C1E4CBA3AD78D3AFD894F9E0B7A66F03B59076A8
gpg: Good signature from "KeePassXC Release <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: BF5A 669F 2272 CF43 24C1  FDA8 CFB4 C216 6397 D0D2
     Subkey fingerprint: C1E4 CBA3 AD78 D3AF D894  F9E0 B7A6 6F03 B590 76A8

Realmente no me gusta esta parte:

  

gpg: ADVERTENCIA: ¡Esta clave no está certificada con una firma de confianza!

     

gpg: no hay ninguna indicación de que la firma pertenezca al propietario.

Cada vez que quiero instalar el software en un nuevo dispositivo, o cada vez que se lanza una nueva versión, necesito hacer el mismo trabajo tedioso : necesito encontrar la página oficial donde puede comparar la huella digital clave y cotejarla con otras fuentes para asegurarse de que el sitio web oficial no haya sido comprometido. No es un buen UX en absoluto.

Una posible solución

Una solución simple es certificar la clave de una vez por todas, por lo que la verificación (es decir, el " trabajo tedioso ", ¿recuerda?) se realiza solo una vez. Una vez que haya certificado la clave de lanzamiento, puedo verificar rápidamente la salida de gpg de mi archivo recién descargado: sin advertencia - > archivo OK. Simple.

Incluso Kleopatra sugiere certificar una clave comparando la huella digital del sitio web oficial:

La pregunta

He leído que no es una buena idea firmar una clave de alguien que no has conocido en la vida real. Pero, por lo general, las claves de lanzamiento no están en manos de una persona única, sino de un equipo, por lo que es un poco difícil conocer a la gente en la vida real.

¿Es esta una buena idea firmar una clave de liberación (después de haber verificado varias fuentes)?

    
pregunta Morgan Courbet 19.08.2018 - 17:47
fuente

3 respuestas

1

Sí, creo que tiene mucho sentido firmar la clave de liberación con su clave privada (aunque no soy un experto en PGP).

Creo que su pregunta realmente se reduce a ¿Está bien firmar una clave PGP sin una reunión de IRL? , pero es lo suficientemente diferente como para que no esté seguro de que deba cerrarse como un duplicado.

Estoy de acuerdo con la respuesta de Thomas Pornin, no hay una definición coherente real de "identidad" aquí, ya que señalar correctamente:

  

las claves de liberación no están en manos de una persona única, sino de un equipo, por lo que es un poco difícil conocer a la gente en la vida real

El punto de firmar una clave es decir que usted conoce la "identidad" a la que dice que pertenece la clave, y que ha verificado que la clave realmente pertenece a esa identidad. En el caso de una clave de lanzamiento de software, desea verificar que la clave pertenece al equipo de lanzamiento. Dado que el control del sitio web del software debe estar (en su mayoría) limitado a las personas que hacen el software, verificar la huella digital obtenida del sitio a través de HTTPS es probablemente una forma aceptable de verificación en la mayoría de los casos.

    
respondido por el AndrolGenhald 20.08.2018 - 20:15
fuente
1

La idea es la misma que una infraestructura de clave pública. La autoridad de certificación Root (autofirmada) firma la clave de firma. Raíz CA - > clave de firma

En el caso de que la clave de firma se vea comprometida, la CA raíz pueda revocarla, se puede emitir otra clave de firma firmada con la CA raíz. A continuación, puede asegurarse de que el proveedor emita la nueva clave de firma. Crea una cadena de confianza como la que usamos con HTTPS. No estoy diciendo que una PKI no tenga desventajas, el compromiso directo (CA raíz) es una, pero permite una automatización, una validación más sencilla y no expone directamente el certificado autofirmado.

ObservequelaCAraízestáfueradelínea,loquedeberíamitigarengranmedidaelriesgodecompromiso.

  

es:¿esunabuenaideafirmarunaclavedeliberación(despuésdehaberverificadovariasfuentes)?

Estaesunarespuestabastantedelicada.Comolaclavedefirma(lanzamiento)debevalidarse,delocontrario,podríamosestardescargandounmalwarepotencialycreemosquefueliberadoporelproveedorcuandosefirmaelpaquete.Miopiniónesque,cuantasmásfuentespodamosvalidarantesdeusarlaclavedefirmaparaelusoalargoplazo,mejor.

¿Qué sucede si mis subclaves de firma están comprometidas? debería dar una idea.

    
respondido por el safesploit 20.08.2018 - 00:45
fuente
1

Solo para complementar la respuesta de @safespoit.

El desafío del certificado autofirmado no es diferente a un CA / root de región / país que no es de confianza por defecto para ningún sistema operativo / navegador. En tal caso, el usuario debe ir al dominio "say" para descargar la CA raíz para validar el certificado firmado bajo dicha CA.

Si una organización administra el certificado autofirmado y la importación de la CA autoprotegida, esta es una solución segura y sólida.

Sin embargo, en el caso de la distribución de software al público, no se recomienda, ya que el estafador probablemente explota el mecanismo para engañar al público para que importe el phisher root-CA.

    
respondido por el mootmoot 20.08.2018 - 09:23
fuente

Lea otras preguntas en las etiquetas