La respuesta corta es que hay un método estándar, se llama firma de solicitud . La respuesta más larga es un poco más complicada.
Con respecto a la idea de hash MD5 de usted, hay al menos un complemento experimental de Firefox que calcula los hashes de los archivos descargados. A continuación, puede compararlos manualmente. Alternativamente, muchos sitios ofrecen descargas de archivos de texto con los hash precomputados para su software. A continuación, puede forzar un cheque usando md5sum -c < hash filename >
. El problema con todos estos métodos es que si un atacante pudo reemplazar el archivo que descargó, probablemente podría cambiar los hashes que figuran en el sitio web.
La firma de la aplicación es la solución oficial a este problema. Utiliza la criptografía de clave pública y las autoridades de certificación de una manera similar a la que se usa en el estándar de seguridad SSL para sitios web. Funciona obteniendo un certificado digital de una autoridad de certificación. Este certificado puede ser verificado por cualquier persona y garantizar que el titular es quien dice ser. También se puede utilizar para "firmar" un paquete, lo que garantiza que el paquete fue producido por el titular y no alterado de ninguna manera por nadie más que el titular.
Entonces, ¿por qué no vemos una mejor adopción de estos métodos? Bueno, ya están bastante bien adoptados, y en su mayoría son invisibles cuando funcionan. Los principales sistemas operativos y navegadores utilizan las firmas si están disponibles de forma predeterminada. Además, las principales distribuciones de Linux firman los paquetes de software y las actualizaciones que proporcionan utilizando estos métodos. Sin embargo, cuando se trata de los jugadores más pequeños, es muy poco probable que veamos una gran adopción.
El problema aquí es una mezcla de pobreza de hackers y orgullo de hackers. Para obtener uno de estos certificados, debe pagar una gran suma de dinero a una de las autoridades de certificación. Si no lo hacen, un programador aún puede firmar sus propios paquetes sin la aprobación de CA. Al hacer esto, el usuario que descarga el archivo puede estar seguro de que solo el titular del certificado tocó un paquete en particular, lo que cumple con el requisito de integridad de su pregunta.
Desafortunadamente, usando un certificado 'autofirmado' como este disminuye La confianza del público en su software, en lugar de aumentarla. Si se autofirma, el sistema operativo / navegador se queja ruidosamente cuando intentas abrir el paquete; más fuerte incluso que para un archivo totalmente sin firmar. Debido a que el navegador o sistema operativo no confía en el creador del software, piensa que usted tampoco debería confiar en ellos.
A partir de esto, la queja del pirata informático es ¿por qué alguien debería confiar en una autoridad de certificación multinacional sin rostro más que en otra persona? ¿Qué han hecho para demostrar que son más confiables que todos los demás?
Para muchas personas, la emisión del certificado se reduce a la extorsión: "Páganos $ $ $ para certificarlo, o sus descargas serán ciudadanos de segunda categoría". Es por eso que la firma de la aplicación no ha sido adoptada por nadie, excepto los jugadores más grandes.