¿Una firma PGP proporciona verificación de integridad?

4

Muchos sitios web, incluido el sitio OpenSSL , ofrecen descargas junto con las sumas de comprobación MD5 / SHA1 a veces, además de las firmas PGP para los archivos.

En pocas palabras, ¿las firmas PGP proporcionan verificación de integridad de archivos además de la verificación de identidad de archivos? Asumiría que sí. Si he verificado la firma PGP de un archivo, ¿son las sumas del archivo MD5 y SHA1 más o menos irrelevantes, ya que ya he verificado la integridad?

Si esto es cierto, ¿las firmas PGP proporcionan una mejor verificación de la integridad del archivo que otros métodos hash?

    
pregunta Naftuli Kay 25.04.2014 - 02:11
fuente

4 respuestas

5

Firmas y huellas digitales

  

En pocas palabras, ¿las firmas de PGP proporcionan verificación de integridad de archivos además de la verificación de identidad de archivos?

Sí, lo hacen: pero sin más investigación, solo verifican si una clave dada se usó para firmar; no a quién pertenece (lea más abajo)!

  

Si he verificado la firma PGP de un archivo, ¿las sumas MD5 y SHA1 del archivo son más o menos irrelevantes, ya que ya verifiqué la integridad?

Sí, a menos que no haya podido verificar la propiedad de la clave, pero la otra persona le proporcionó las huellas digitales correctas en un canal seguro (por reunión, llamada (video), ...).

  

Si he verificado la firma PGP de un archivo, ¿las sumas MD5 y SHA1 del archivo son más o menos irrelevantes, ya que ya verifiqué la integridad?

De hecho, OpenPGP también utiliza algoritmos de hashing como estos (aunque, con suerte, ya no debería usar MD5, que se considera demasiado débil en nuestros días). Pero la firma digital agrega información sobre quién firmó el software (si se verifica correctamente).

Verificación de la propiedad de la clave

A menos que haya firmado directamente la clave del emisor del software, todo lo que sabe es que alguien firmó el software. No hay una autoridad de certificación primaria en OpenPGP, todos pueden agregar una clave con nombres arbitrarios, usted decide en qué confiar. Esto generalmente se hace reuniendo e intercambiando las huellas digitales de la clave, pero dependiendo de su nivel de paranoia es posible que no esté de acuerdo con la verificación de la huella dactilar de la clave en comparación con la información que colocan en su sitio web (que luego debe transmitirse mediante cifrado SSL junto con un certificado razonable).

Luego, está el concepto de web of trust , que permite crear caminos de confianza desde usted hasta el emisor sin reunirse con él directamente, al confiar en otros intermedios que juntos forman una cadena de Certificaciones (esto puede compararse con las autoridades de certificación intermedias de X.509). Una respuesta muy breve se puede encontrar en esta respuesta: ¿Cuál es el significado exacto de esta salida de gpg con respecto a la confianza? .

    
respondido por el Jens Erat 25.04.2014 - 09:42
fuente
2

Por definición , firmas proporcionan integridad. De hecho, imagine un sistema con una firma tal que obtenga alguna "verificación de identidad" pero no integridad: esto significaría que cuando reciba un correo electrónico firmado de Bob, está seguro de que Bob estuvo involucrado, pero no que lo que recibió es realmente lo que Bob envió; tal sistema solo garantizaría que Bob existe , pero no diría nada sobre el correo electrónico que recibió realmente. Tal sistema sería bastante inútil, y no sería digno de ser llamado una "firma".

    
respondido por el Thomas Pornin 25.04.2014 - 15:52
fuente
1

Sí, una firma digital verifica que los datos son los mismos; La función de signo siempre combina la clave privada del firmante y el contenido del archivo (o casi siempre su hash, para mantener la firma pequeña).

(Imagine por un momento que no lo hizo. Eso significaría que podría tomar una firma del archivo A de alguien y pegarla en su propio archivo B. ¿Qué significaría exactamente la firma, entonces? Si aún quedara válido independientemente de los datos que estaba firmando ... ¿para qué serviría la firma? )

    
respondido por el grawity 25.04.2014 - 07:06
fuente
0

El principal compromiso es el tiempo para calcular y las aplicaciones / bibliotecas.

Un algoritmo de hashing debería devolver la misma salida para cualquier entrada dada. Un algoritmo de hash es una función de una sola vía, y SHA1 / MD5 son "hashes rápidos" que se usan comúnmente para calcular la integridad de los archivos.

Si usa una función de cifrado, la misma salida debería ser la misma para cualquier entrada dada. Una función de cifrado puede ser más lenta porque es más costoso de calcular. La firma digital es un uso del cifrado para proporcionar integridad y autenticidad.

Al considerar uno frente al otro, debe considerar la velocidad y la disponibilidad de la herramienta que necesitará el usuario (¿por qué no proporcionar ambos)? También debe considerar la posibilidad de colisiones para datos similares. Obtener la autenticidad y la integridad de una sola vez puede compararse con la velocidad y la disponibilidad más amplia.

En el sitio web de GnuPG proporciona orientación para verificar su descarga de GnuPG con SHA1 y GnuPG

    
respondido por el Eric G 25.04.2014 - 03:41
fuente

Lea otras preguntas en las etiquetas