Un ordenador personal público o compartido es un medio hostil, en tanto que no podemos conocer con total seguridad si la información que manejamos con él se encuentra segura. No es deseable, en estos casos, que se almacenen claves de acceso a webs protegidas, certificados digitales personales, ni siquiera el historial de páginas web visitadas.
Otro de los problemas habituales con el uso de ordenadores públicos es el tema de los plugins. Normalmente no se permite instalar ninguna aplicación extra en estos equipos, y es posible, por tanto, que no dispongamos de la versión necesaria de la máquina virtual de java, o de otros plugins necesarios.
Para solucionar este problema se propone un navegador:
La solución que proponemos se basa en la modificación de un navegador Mozilla Firefox para que cumpla con las premisas anteriores.
El navegador modificado, junto con la máquina virtual java de Sun y los plugins mas solicitados se suministrarán en un dispositivo extraíble (tipo USB), y contará con un lanzador facilitando así su ejecución.
Se van a usar las últimas versiones de las aplicaciones comentadas.
Partimos de un dispositivo USB formateado en ext3 y con etiqueta portable. Usamos para ello gparted (hemos creado una particion ext3) y e2label.
En la raiz del directorio correspondiente al dispositivo extraíble se copiarán los directorios necesarios (firefox, máquina virtual de java) descomprimidos de sus respectivos instaladores descargados.
Instalamos los plugins que disponemos en nuestra máquina de una instalación estándar de Guadalinex.
cp /usr/lib/firefox/plugins/* firefox/plugins
Instalamos el plugin de java: dentro de firefox/plugins
cd firefox/plugins rm libjavaplugin_oji.so # si existe uno previo lo borramos ln -s ../../jre1.6.0_05/plugin/i386/ns7/libjavaplugin_oji.so
(nótese que la ruta es relativa)
En el directorio raiz del dispositivo se incluirá el lanzador. Este lanzador modifica al navegador, en tanto que cambiamos la variable que marca el directorio Home del usuario que lo ha lanzado por la raiz del dispositivo. De esta forma el directorio de configuración de firefox se almacenará en la raiz de dicho dispositivo. Todas las claves, el historial, los certificados instalados residirán en este directorio.
Copiamos las librerías jss33.jar y libjss33.so suministradas por Telvent a sus respectivos emplazamientos
cp jss33.jar jre1.6.0_05/lib/ext cp libjss33.so jre1.6.0_05/lib/i386/client
Copiamos el cliente de firma en la raiz del navegador
cp .clienteFirmaArrobaFirma5 NavegadorPortable/
Creamos el ejecutable que permitirá lanzar el firefox (archivo firefox-wrapper) en el entorno adecuado. Es el lanzador
Según el desarrollo técnico previo, disponemos de un navegador totalmente independiente del que se encuentra instalado en la máquina que lo ejecuta, que usa un plugin de java distinto al ya instalado y con directorio propio donde almacenar los certificados, webs visitadas, favoritos, preferencias y caché.
El problema surge cuando copiamos la estructura de directorios y archivos que definen al firefox portable en dispositivo extraíble USB. El montaje de estos dispositivos se realiza de tal forma que todos los archivos contenidos en él pierden su carácter ejecutable,y sólo se pueden leer o escribir. Este comportamiento incide directamente en que no podamos abrir, por defecto y desde un dispositivo extraíble, el navegador que hemos preparado para ser portable.
El problema sólo reside en el montaje de la unidad, que se realiza con la opción noexec por razones de seguridad, y por tanto no permite ejecutar ningún archivo que se encuentren bajo ese punto de montaje.
Se proponen varias soluciones.
a) Añadir un script que monte de nuevo la unidad con permisos de ejecución de tal forma que al hacer click en el icono del navegador se abra éste. Al encontrarse este script en el dispositivo USB para poder ejecutarlo debemos moverlo a otra ubicación, por ejemplo, el escritorio.
b) Modificar la aplicación Hermes para que reconozca un dispositivo USB con una etiqueta concreta, por ejemplo portable, y lo monte con permiso de ejecución.
c) Modificar la aplicación Mount Systray y añadir una opción que permita decidir si se montan los dispositivos como ejecutables o no.
En principio y debido a la urgencia del desarrollo se ha elegido la primera opción.
El entregable del navegador portable consiste en: