Skip to main content

¿Qué es la firma de código?

  • Booth

Los piratas informáticos con frecuencia toman software, ya sea fuera de línea o en línea, reorganizan y cambian el código para hacerlo malicioso, y luego lo cargan en línea para que los usuarios descarguen el programa gratuito y el código malicioso que contiene. Para garantizar que los usuarios no se encuentren con este problema, se utiliza la firma de código. La firma de código es un método mediante el cual el programador original o la compañía que hizo el programa firma el programa y, cuando se instala el programa, se autentica para garantizar que no se haya agregado o modificado el código. Esto no requiere ningún software especial del lado del usuario, y el usuario puede verificar la identidad del programador. Si bien esto pretende ser una forma de seguridad, un pirata informático que crea un programa o encuentra una firma puede crear una confianza artificial y fuera de lugar.

Los programas se venden constantemente tanto en línea como fuera de línea. Cuando alguien compra un programa fuera de línea de un proveedor o minorista de confianza, el usuario tiene muy pocas razones para preocuparse por los piratas informáticos que inyectan código malicioso en el programa. Esto se debe a que, a menos que el desarrollador de software haya creado intencionalmente un programa peligroso, no hay forma de que alguien altere el software y lo haga malicioso. Cuando un usuario descarga un programa de Internet, no existe tal garantía.

Para proteger a los usuarios que compran o descargan programas en línea, se implementa la firma de código. La firma de código se divide en dos partes: el desarrollador y el usuario final. El desarrollador utiliza un hash criptográfico, una operación unidireccional que oculta el código del programa, y ​​luego combina su clave privada con el hash. Esto crea una firma que se implanta en el programa.

Cuando el usuario recibe el programa, se produce la segunda parte del proceso de firma de código. El programa examina el certificado y una clave pública que el programador colocó en el programa. Usando la clave pública, el programa puede ejecutar el mismo hash en la programación actual, y luego verifica el original con la versión actual que se está instalando. Si tanto el programa instalado como la sincronización original se sincronizan, esto le muestra al usuario que nada ha sido alterado. Este proceso se realiza automáticamente y los programas necesarios para esta autenticación deben estar preinstalados en el sistema operativo (SO) de la computadora.

Si bien la firma de código es un método poderoso para garantizar la seguridad, tiene fallas. Si el usuario está descargando un programa de un pirata informático, la autenticación mostrará que el programa original está intacto. Esto llevaría a un usuario a una falsa sensación de seguridad; el programa está hecho para ser malicioso, por lo que no se logra la seguridad en este sentido. Los hackers sofisticados también pueden sortear el hash para inyectar codificación, haciendo que la firma de código sea inútil.