Definición: La firma de código es un proceso de firma digital de un programa, archivo, actualización de software o ejecutable, de modo que su autenticidad e integridad puedan ser verificadas tras su instalación y ejecución.
Explicación de la firma de código
Los certificados de firma de código son utilizados por desarrolladores y distribuidores de software para firmar digitalmente ejecutables y programas informáticos, de modo que los usuarios finales puedan verificar que el código que reciben no ha sido manipulado. El objetivo último es aliviar la preocupación del usuario final de que el software puede descargarse de una fuente de confianza.
Un certificado de firma de código es un certificado digital que muestra de forma destacada el nombre del editor y, si es necesario, una marca de tiempo, y es emitido por una Certificate Authority. El certificado digital vincula la identidad de una organización a una clave pública que está matemáticamente relacionada con un par de claves públicas y es rastreable hasta una Certificate Authority de confianza. El uso de sistemas de clave pública y privada se denomina Public Key Infrastructure ( PKI). El desarrollador firma el código con su clave privada y el usuario final utiliza la clave pública del desarrollador para verificar su identidad;
- Si el sistema confía en el certificado, se procederá a la descarga o ejecución
- Si no hay certificado, o si el sistema no confía en la raíz o los hashes no coinciden (es decir, si la firma ha sido manipulada), la descarga se interrumpe con una advertencia que informa al usuario de que el software puede no ser de confianza.
La integridad del sistema depende de que las claves estén a salvo de accesos no autorizados. La mejor práctica sería almacenar las claves en dispositivos de hardware criptográficos seguros y a prueba de manipulaciones, como los módulos de seguridad de hardware (HSM).