Caso práctico
Para garantizar la autenticidad de la aplicación de Gestión Hotelera, Ada propone que los ficheros de instalación, ya sean paquetes JAR o instalables exe, vayan firmados digitalmente.
Para garantizar la autenticidad de la aplicación de Gestión Hotelera, Ada propone que los ficheros de instalación, ya sean paquetes JAR o instalables exe, vayan firmados digitalmente.
En el caso de la distribución de software, sobre todo a través de descargas de Internet, nos garantiza la autenticidad del fichero, el autor y que durante la descarga no ha sufrido ningún tipo de alteración.
La plataforma Java nos permita firmar digitalmente ficheros Jar. Cuando se firma un fichero Jar, los que se está asegurando a los usuarios que ejecuten la aplicación es la autoría de ese software. Cuando digitalizamos el fichero, cualquiera puede reconocer la firma digital del autor. El proceso de reconocimiento de la firma digital se denomina verificación.
La firma y verificación de ficheros es una parte importante de la arquitectura de seguridad de la plataforma Java. Podemos configurar la política de seguridad para permitir a un applet (Componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo, un navegador) y a una aplicación puedan realizar operaciones normalmente prohibidas como pueden ser la lectura y escritura de ficheros locales, ejecución programas, etc.
La plataforma Java permite firmar y verificar usando números especiales denominados claves públicas y privadas. Las claves públicas y privadas vienen en parejas, y tienen roles complementarios. La clave privada es el "lápiz" electrónico que nos permite firmar un fichero. La clave privada sólo es conocida por el autor de la firma. Un fichero firmado con llave privada, solo puede ser verificado con su correspondiente llave pública. Existe un elemento adicional necesario para la firma y verificación. Este elemento es el certificado que el firmador incluye en un fichero JAR firmado. El certificado es una declaración digital firmada reconocida por una autoridad de certificación que indica quién es el dueño de una clave pública determinada. Resumiendo, la firma digital: