Tradicionalmente el software se adquiría en las tiendas, en un soporte físico guardado en una caja y con un precinto que aseguraba al comprador que se trataba de un programa original y con un autor identificado, es decir, se garantizaba de alguna forma la integridad de la información y la autenticación de su autor.

En la actualidad la provisión de software se realiza prioritariamente por Internet por lo que se tienen que utilizar procedimientos que garanticen igualmente que el código que se adquiere es el que ha generado su autor, verificándose su autoría e integridad por una autoridad de certificación, reconocida y de reputación, mediante certificación electrónica.

Que se trate de una autoridad de certificación recocida resulta de gran importancia para la confianza del usuario. Los navegadores suelen reconocer inmediatamente a los certificados raíz, la posibilidad de que aparezcan advertencias de seguridad y avisos al utilizar otras autoridades de certificación pueden generar tales dudas e incertidumbres en el usuario que opte por abandonar el proceso de descarga.

La firma de código genera confianza en el usuario. A pesar de que todavía se siguen manteniendo por los usuarios hábitos no aconsejables en la descargas (no leer las indicaciones, aceptar por defecto, etc.), también es cierto que se desconfía más de las aplicaciones no firmadas.

Así mismo la firma de código permite que plataformas, operadoras y fabricantes de dispositivos admitan las aplicaciones en sus entornos de desarrollo, para muchas de ellas es condición indispensable. Así en el caso de las operadoras aplicaciones maliciosas o con errores pueden llegar a provocar interrupciones del servicio, robo de identidades, difusión de malware y hasta destrucción de los dispositivos con consecuencias económicas multimillonarias. Se prevé que todos los sistemas operativos, plataformas de desarrollo y dispositivos móviles aceptarán exclusivamente las aplicaciones desarrolladas bajo código firmado.

También proporciona protección sobre la reputación del fabricante y su propiedad intelectual. Impide la falsificación o modificación del programa, si éste sufre alguna alteración la firma se invalida, por tanto se impide su verificación. Por la misma razón proporciona protección legal en caso de suplantación con versiones alteradas o modificadas con efectos perjudiciales no deseados.

Symantec ha publicado un documento en el que recoge una serie de prácticas recomendadas para mejorar la firma de código que a continuación se indican:

Cada desarrollador debe de poseer su propio certificado y evitar que los desarrolladores compartan el certificado de la empresa, así se permite controlar los cambios que realiza cada uno de ellos.

Firmar el código con frecuencia, firmar cada vez que se compila; algunas empresas lo hacen, incluso, varias veces al día.

Usar certificados con marca de fecha, permiten comprobar la validez del certificado cuando se firmó el código aunque haya caducado ya.

Automatizar el proceso con la API de Publisher en el caso de compilaciones diarias o muy frecuentes, se asegura siempre el mismo certificado de forma que la  versión de prueba sea idéntica a la que llega al usuario.

Los certificados como control de cambios y aseguramiento de la calidad. En el caso de que la compilación no se realice muy frecuentemente se designa un certificado para producción y se proporcionan certificados autofirmados para los desarrolladores, solamente válidos en sus estaciones de trabajo y el supervisor firma el código final con el certificado de producción, previamente a su instalación en el entorno de producción, evitando así la instalación de código no comprobado.

Firmar todas las aplicaciones de modo kernel o dirigidas a plataformas inalámbricas y entornos .NET para asegurar su distribución.

Utilizar certificados de autoridades de certificación reconocidas con certificados raíz en el mayor número posible de dispositivos y reconocidos por cuantas más aplicaciones sea posible.

Valore este artículo si lo desea
[Total: 0 Average: 0]