Presentación.
Esta es la página de los desarrolladores del software del proyecto
clauer.
Su objetivo es presentar una visión global del proyecto, no sólo lo que se emplea en la UJI.
Algunas de las funcionalidades aquí explicadas puede que no estén implementadas actualmente, consultar el
RSS.
Versión imprimible.
Introducción.
El proyecto
clauer surge como una vía para implantar el uso de la firma electrónica en el ámbito de la
Universitat Jaume I. La universidad ha repartido, a fecha de hoy, más de 14 mil dispositivos USB con los certificados de la CA de la
GVA, a los miembros de la comunidad universitaria, y la
Agència Catalana de Certificació repartirá 160 mil dispositivos
en 2007. El proyecto ha sido galardonado con el premio a la excelemcia de
Eunis en 2006 al mejor proyecto de uso de los sistemas de información en las universidades europeas.
El
clauer no es un dispositivo seguro de creación de firma tal como lo define la Ley de Firma Electrónica (las claves
no se generan internamente), pero sí es un dispositivo que permite la utilización de una firma electrónica avanzada
con seguridad y en diversos equipos, lo que posibilita la generalización de su utilización.
Además, como instrumento de autenticación, incrementa considerablemente la seguridad, dado que se apoya en algo que el
usuario conoce (la contraseña del certificado) y también en algo que el usuario tiene: un dispositivo de memoria USB o
un disco CDROM, como se explica a
continuación.
Si quiere empezar ya a usarlo, pase directamente al
tutorial.
¿Qué es exactamente?.
Realmente es un
software que, una vez instalado, permite convertir un disco USB (disco de memoria flash o mecánico) o un CDROM,
en una vía para la autenticación y/o firma electrónica. Así, el dispositivo se convierte en una herramienta para el fácil
almacenamiento, transporte y uso de certificados digitales y sus llaves privadas asociadas, y de credenciales para
autenticación. Es decir que el usuario puede realizar la firma digital (firma electrónica) sin más que insertar su
dispositivo USB, o colocar su CDROM en el lector de su ordenador. Igualmente puede autenticarse en aquellos sistemas que emplean el
software del
clauer utilizando la cartera de credenciales
que puede transportar con su dispositivo. Así, según la necesidad, puede elegirse el nivel de
autenticación requerido, desde el simple identificador del dispositivo al uso del certificado, como explicamos más
adelante.
¿Para quién está concebido?.
Está concebido para ser empleado por cualquier persona que desee mejorar la seguridad en el empleo de la firma electrónica:
frente a la instalación de sus certificados en su disco duro, los certificados y sus llaves asociadas
pueden ser transportados en un dispositivo de bajo coste.
Por otra parte, ofrece a las entidades (empresas, etc.) múltiples formas de
autenticación según la
seguridad requerida.
Nivel de seguridad.
Ante todo aclarar que no se trata de un dispositivo con capacidad (autonomía) criptográfica para generar y utilizar
internamente las llaves. Tanto el disco USB como el CD son
dispositivos de almacenamiento que carecen de funciones criptográficas. Por tanto la información que contienen, para ser usada, debe
extraerse del dispositivo y ser procesada por el ordenador donde se inserta, exigiendo por ello, máxima confianza en la buena
administración del equipo. Esta realidad supone ventajas e inconvenientes:
Inconvenientes.
Menor seguridad: en un equipo inseguro las credenciales y las llaves podrían ser copiadas. Con una tarjeta
criptográfica no podrían ser copiados, aunque sí utilizados ilícitamente.
Posibilidad de duplicación: se pierde seguridad y unicidad de
documento identificativo.
Ventajas.
Capacidad: pueden almacenarse cientos o miles de certificados y contraseñas en el más pequeño de los
dispositivos.
Precio: el coste de un CDROM es del orden de céntimos de euro y en el caso de elegir un disco USB, éste puede seguir
usándose como disco duro, lo que además reduce el número de dispositivos que el usuario debe llevar encima.
Duplicación: el poderlo
duplicar puede ser una ventaja para no tener que llevarlo necesariamente encima.
Disponibilidad de parque informático: prácticamente todos los equipos disponen de lector de CDROM o de
puerto USB, pero no todos disponen de lectores de tarjetas criptográficas.
Conviene tener presente que salvo en excepciones que afectan a determinados funcionarios públicos, la firma
electrónica utilizada comunmente es la firma electrónica avanzada basada en un certificado reconocido pero que no se genera con
un dispositivo seguro. Es decir, la misma que aquella con la que opera el dispositivo
clauer.
Además, la combinación de la ventaja del precio con la ventaja de la adaptación de parque informático hace que
cualquier empresa que esté operando en internet con usuarios, con los riesgos que ello comporta, por ejemplo de
phishing,
pueda generalizar una autenticación fuerte basada en dos factores, así como generalizar la firma
electrónica entre sus clientes, con lo que se introduce mayor seguridad, al quedar acreditada la integridad de la
comunicación y el no repudio.
Los formatos. ^
Actualmente son dos los formatos disponibles:
Disco clauer.
El disco USB es un dispositivo de lectura/escritura. Para evitar que el usuario
destruya accidentalmente la información sensible, el disco se particiona de modo que la mayor parte se dedica a una
partición de datos (vfat) y una pequeña parte se reserva para ser gestionada por el
software del
clauer. En este soporte el usuario puede añadir/eliminar certificados o cualquier otra
información mediante las herramientas apropiadas.
Fichero clauer.
Se trata de crear uno o varios archivos
de nombre
CRYF_000.cla, CRYF_001.cla, etc. y grabarlos en un floppy (poco recomendable), disco USB o CD.
Estos ficheros internamente tienen la misma estructura que se se almacena en la
partición reservada del disco USB. Con un CD, al tratarse de un dispositivo de sólo lectura (si es regrabable, se debe grabar
entero), no existe el riesgo de borrado accidental por el usuario. Su ventaja es el precio y la facilidad de
transporte, el inconveniente es no poder modificarlo, incluida la contraseña(s), que en caso de necesitar
cambiarse (por exposición, por ejemplo), implica la destrucción del dispositivo y la grabación de otro CD.
No es recomendable usar este formato con un disco USB por el riesgo de borrado accidental y por su poca transparencia.
Arquitectura. ^
En los siguientes apartados describiremos detalles técnicos del sistema.
El lector no interesado puede pasar
aquí.
Formato.
El dispositivo USB se formatea con una tabla de particiones, tal que la cuarta partición es de tipo 105.
Se trata de un tipo propio que indica que se trata de una partición con un sistema de archivos con "formato
clauer". En el caso del CD, contiene archivos de nombre CRYF_
XXX.cla
cada uno de ellos con el mismo formato
clauer.
Este formato consiste en una colección de bloques de 10240 bytes. El primero de ellos es un bloque identificativo
que desempeña también el papel de directorio (muy simplificado). Después hay una zona, de tamaño determinado al formatear,
reservada para uso propio de las aplicaciones. El resto es una colección de bloques, cada uno de ellos marcado con un tipo.
Los bloques pueden estar en claro o cifrados. Los bloques cifrados lo están con una contraseña global.
Sistema operativo.
Las aplicaciones no pueden/deben acceder directamente al dispositivo/archivo, sino que deben hacerlo a través de
un sistema operativo que corre con privilegios de administrador. El s.o. maneja el sistema de archivos y provee de
funciones de entrada/salida. Las aplicaciones incian sesión contra el s.o. para realizar tres tipos de operaciones
básicas:
- Lectura de bloques en claro.
- Lectura de bloques cifrados: el inicio de sesión requiere la contraseña global.
- Escritura: requiere la contraseña global.
El s.o. se encarga del cifrado/descifrado con la contraseña global de los bloques que lo requieran, de modo que las
aplicaciones puden manejar bloques cifrados sin hacer uso explícito de criptografía. Obviamente la información que se
escribe puede ir a su vez cifrada por la aplicación, permitiendo el uso de doble contraseña.
Además el S.O. realiza funciones adminsitrativas:
- Creación del dispositivo (formateo específico).
- Destrucción del dispositivo (reformateo genérico).
- Obtención de parámetros del disco.
- Formateado de la zona criptográfica.
Estas funciones están disponibles sólo para el administrador del sistema o para cualquier usuario si así se decide
en el momento de la instalación.
El S.O. se accede a través del puerto tcp 3c9 sobre la ip 127.0.0.1 .
Librería de acceso librt.
Provee funciones para C / C++ que facilitan el acceso al S.O. Las aplicaciones, módulos criptográficos, controles
web, etc., la emplean para las operaciones de entrada/salida sobre el dispositivo.
La firma electrónica. ^
Los certificados y sus llaves se almacenan en el sistema de archivos con el correspondiente tipo y buscando la máxima
compatibilidad. Las forma habitual de protección de la la llave privada es mediante la contraseña global del
dispositivo, aunque existen diversas
combinaciones.
El empleo de llaves y certificados se realiza a través del
CryptoAPI de
Windows o de
PKCS#11 de modo
que es totalmente transparente para el usuario. En el caso del
CryptoAPI, el manejo de llaves y certificados queda
totalmente integrado en el sistema, gracias a la instalación de un
Cryptographic Service Provider (CSP) y de un
Certificate Store Provider, que permiten hacer uso de la firma electrónica con el
clauer
a todas las aplicaciones que emplean
CryptoAPI.
La cartera de credenciales. ^
Se trata de una colección de credenciales para acceso condicional. Cada credencial se define mediante
un nombre, una condición (expresión regular) y un valor, preferentemente 100% aleatorio.
La cartera puede guardarse en claro o cifrada con la contraseña maestra del dispositivo. Cada valor de credencial puede
a su vez ir cifrado, lo cual si es aleatorio, es sólo una interpretación, que permite cambiar la contraseña incluso en dispositivos
de sólo lectura, cambiando, en vez del valor, el resultado del cifrado en los servidores donde se autentique.
El
control ActiveX permite acceder sólo a las credenciales cuyo nombre se conozca previamente
no permite listar la cartera) y
contrastará la condición de la credencial contra la
URL de la página que usa el control. De este modo, incluso en
autenticación ante una página web con credencial
sin contraseña,
la credencial está protegida contra servidores hostiles.
Niveles de autenticación. ^
Exponemos aquí los distintos niveles de autenticación alcanzables con el
clauer.
Posesión del dispositivo.
El usuario se autentica con la simple posesión del dispositivo.
Este método es apto sólo para situaciones muy específicas, como la que representa el sistema ClaBlock.
Token sin contraseña.
Similar al anterior, éste método permite poner condiciones, como ser accedido desde una página web con una determinada URL.
Esto lo hace apto para autenticación muy básica en páginas web.
Token con reto.
Aplicable para autenticación remota sin cifrar (p. e. páginas web no seguras), la credencial no se envía,
se usa para cifrar el reto entregado por el servidor.
Token con contraseña.
La credencial va cifrado con una contraseña. Si la credencial es de naturaleza aleatoria (recomendado) la contraseña es prácticamente inviolable,
protegiendo contra el robo o extravío del dispositivo.
Token con reto y contraseña.
Combinación de los anteriores.
Token protegido con contraseña general (4 niveles).
Se trata de los 4 modos anteriores, pero previamente se solicita la contraseña maestra (general) del dispositivo.
Certificado sin contraseña.
Método poco recomendable. Sólo tendría sentido en caso de utilizar certificados no genéricos, es decir, emitidos
para el propósito de ser usados en este contexto.
Certificado con contraseña.
Método robusto y de uso universal. Permite al usuario que dispone de un certificado genérico autenticarse en múltiples servidores.
El certificado se protege con la contraseña del dispositivo (lo más normal) o con una propia.
Certificado con doble contraseña.
Utilizable para certificados que den acceso a servicios de gran valor.
El certificado se protege con la contraseña del dispositivo y con una propia.
Software disponible. ^
Se dispone de
software para
Windows y
Linux.
Windows 2000/XP/Vista.
La mayor parte del
software se desarolla para
Windows dado su mayor impacto en el colectivo de
usuarios.
Software base.
Contiene el sistema operativo que se ejecuta como un servicio de
Windows,
el
Cryptographic Service Provider (CSP) firmado por Microsoft, el
Certificate Store Provider y el
control
ActiveX criptoClauer. También contiene un PKCS#11 para los usuarios de la
familia Mozilla.
Además incorpora un
actualizador, con diversos modos de interacción con el usuario, que permite
mantener el software siempre actualizado.
Debe instalarse siempre que se desee operar con el
clauer.
Gestor para dispositivos USB.
Permite formatear un disco duro USB, creando una partición de datos (nº 1) y una partición con formato
clauer (nº 4), todo a través del S.O. , de modo que, si así se indica
al instalar, un usuario no administrador puede crear dispositivos.
A través de este gestor pueden transferirse certificados y sus llaves correspondientes al dispositivo,
a partir de ficheros con formato PKCS#12 (ficheros con extensión .
p12 o .
pfx) y viceversa.
Igualmente permite trasvasar certificados (con sus llaves) del dispositivo al CAPI.
También es el encargado de manejar la contraseña global del dispositivo.
Este gestor se distribuye junto con el
software base.
Gestor para CD.
Realiza funciones similares con los archivos que serán grabados en el CD. Permite guardarlos o grabarlos
en un CD.
Gestor de la cartera de credenciales.
Programa que permite generar, eliminar, copiar credenciales de autenticación.
Clablock.
Sistema de control de acceso al ordenador basado en el
clauer. Funciona
a nivel de usuario, por lo que las modificaciones sobre el sistema son mínimas. La autenticación se
realiza contra
webservices. Más información disponible
aquí.
Herramientas en línea de comando.
Estas herramientas permiten gestionar el dispositivo desde línea de comando, siemdo más potentes
que el propio gestor. Están concebidas para usuarios cualificados.
Soft específico de CA
Las Autoridades Certificadoras que optan por entregar los certificados con el
clauer-USB pueden emplear
software específico para simplificar al mínimo el procedimiento. Dado que existen diversos modelos de CA,
existen diversos componentes que realizan funciones a nivel de la web de la CA, normalmente en forma
de ActiveX específicos. Por ejempo, las CA que actualmente entregan un pkcs12 (modelo GVA) al subscriptor (generan las
llaves por él), sólo tienen que llamar a una función javascript desde la web del operador del punto de registro
para generar el
clauer-USB e introducir todo el material en él. Del mismo modo, las CA que optan por que
el subscriptor genera las llaves en casa antes de acudir al punto de registro (modelo FNMT), pueden
modificar la web donde se descarga el certificado y con una llamda a un procedimeinto en javscript, el
certificado y la llave asociada (inicialmente en el disco duro, es decir en el CSP por defecto) pasan directamente
al
clauer-USB, cambiándose la contraseña que lo proteje en ese mismo
momento. Son muchas las combinaciones previstas.
Linux.
Actualmente está disponible el sistema operativo
clos, un formateador, un gestor en modo texto
y la colección de herramientas básicas en línea de comandos para usuarios cualificados. Se dispone
además de un PKCS#11 para Firefox, Thunderbird y Mozilla, adaptable a los navegadores que soporten este modelo.
La información se mantiene en
ésta página.
Está previsto desarrollar librerías de autenticación similares a las de Windows durante 2007.
Uso y redistribución. ^
Este
software es totalmente gratuito para cualquier uso y puede descargarse en cualquier momento de nuestra
web de descargas.
La Universitat Jaume I también licencia gratuitamente la distribución comercial del software siempre que esta
distribución sea a su vez gratuita y se suscriba el correspondiente convenio para la cesión de la licencia.
También se permite la personalización, añadiendo los logotipos de la entidad distribuidora.
El código fuente del software se pondrá a disposición del público tras un periodo de carencia aunque para la
redistribución del software, en forma binaria o de código fuente, original o modificado, debe suscribirse el oportuno
convenio de licencia.
Demostración para IExplorer (Windows).
Si dispone de una grabadora de CD puede descargar una imagen ISO 9660 para contruir un CD. Con privilegios de
administrador puede instalar el software y probarlo. Para ello, pulse
aquí.
Equipo humano. ^
El desarrollo del proyecto lo han llevado a cabo varios programadores dirigidos por el autor de esta página:
- Mauro Esteve (Ene 2005 - Junio 2007): Gestor del USB, gestor del CD, gestor de la cartera, ClaBlock.
- Rafa Forcada (Dic 2003 - Sep 2005) Sist Operativo y formateador USB v1 para Windows.
- Paul Santapau (Oct 2005 - Junio 2007) S.O. Linux y Windows v2, formateador USB Windows y Linux, PKCS11 para Mozilla.
- Juan Segarra (Dic 2003 - Junio 2007) S.O. Linux y Windows v2, LibRT, CSP, Store y actualizador para Windows.
El autor de esta página ha ideado el dispositvo
clauer, definido la aquitectura del sistema
y coordinado las labores de desarrollo.
A partir de Junio de 2007, las labores de mantenimiento del
software se encargan a una empresa externa, pues
los desarrolladores han comenzado nuevos proyectos.
Tutorial. ^
Primero instale el software si no lo tiene, a partir de nuestra zona de
descargas.
Ahora debe decidir cual es el soporte y formato que desea usar. Si va a emplear un floppy (poco recomendado) o un CD
debe elegir el formato "fichero
clauer". Si va usar un disco USB, se lo recomiendo,
puede usar cualquiera de ellos.
La ventaja del formato "disco
clauer" es la mayor integridad de sus certificados,
pues serán resistentes a formateos accidentales del disco,
el inconveniente es reservar una cantidad fija de espacio en el disco, que puede ser muy pequeña (1% o incluso menor).
La forma de crearlo varía de Windows a Linux y lo exponemos a continuación.
Windows.
-
Si ha elegido el formato "disco clauer", prepare su disco USB y salve antes todo lo que tenga grabado,
pues va a ser reformateado completamente.
Abra el "Gestor del clauer" y siga los pasos propuestos. Piense en una buena contraseña, pero que
esté seguro que no va a olvidar (nadie le obligará a cambiarla, no tendrá que enviarla ni revelarla jamás a nadie).
Proceda a formatearlo y luego elija "gestionar certificados" e "importar
desde una ubicación". Seleccione los ficheros PKCS12 (.pfx o .p12) que desea incorporar al dispositivo, le solicitará
la constraseña para su importación. Si ya tiene los certificados instalados en el Windows, puede traspasarlos
directamente.
- Si ha elegido el formato "fichero clauer", abra el "Gestor del clauer CD",
y elija una contraseña difícil de adivinar pero que no vaya a olvidar. Importe los certificados que desee a partir de ficheros
PKCS12 (.pfx o .p12) y después decida si guardar un fichero o grabar directamente un CD. Si lo guarda en un fichero, luego copie este fichero
a un floppy, disco USB, etc., para poder usarlo.
Ahora abra
Internet Explorer y compruebe desde "Herramientas/Opciones de Internet/Contenido/Certificados" que aparecen los certificados
del
clauer si está insertado y si lo retira no aparecen. Después pruebe a acceder a una página que requiera
certificados, como la
Agencia Tributaria.
Linux.
Proceda a la instalación del software como se indica en
esta página. No olvide inicial el S.O. del
clauer mediante
/etc/init.d/clos start.
A continuación proceda a crear su dispositivo.
- Si desea un "disco clauer" puede emplear, como usuario
root la utilidad fclauer, haga una copia de seguridad de todolo que lleva su disco USB antes.
- Si desea crear un "fichero clauer", ejecute clmakefs -s 1000000 CRYF_000.cla contraseña
para crear un sistema de archivos de 1Mbyte en el fichero CRYF_000.cla, protegido con la contraseña especificada.
A continuación importe los certificados,
ejecutando
climport fichero.p12 para cada uno de los ficheros PKCS12 que quiera incorporar al archivo.
Abra ahora
firefox y pruebe a acceder a alguna página que requiera
certificados, como la
Agencia Tributaria.
Casos de uso. ^
Este sección pretende exponer casos reales de uso.
Autenticación mediante credencial con contraseña.
Una empresa dispone de una página web, a la que sus clientes acceden con usuario y contraseña.
La página ha sufrido diversos ataques de
phishing y decide migrar a autenticación
mediante la posesión de un CD y contraseña, pero manteniendo también el sistema actual.
Los pasos son los siguientes:
- Adaptación de la página web: la página detecta si está presente el CD a través de Javascript o VBS.
Si no lo está, solicita usuario y contraseña como antes.
Si el CD esta insertado, solicita al usuario sólo la contraseña para descifrar la credencial.
Si no es una página web segura, usa además un reto. Dado el tamaño de la credencial y su naturaleza, sirve de
identificador de usuario.
- Distribución del CD.
- Cuando el usuario entra con el método clásico, la página le muestra la opción de solicitar el CD,
y el usuario lo hace.
- La empresa genera una vez al día un listado de los CD que debe grabar.
- Los CD se graban mediante un proceso semiautomático. Cada CD es diferente, conteniendo una cartera
con una sola credencial binaria, totalmente aleatoria y única (24 bytes). La credencial va protegida con
la misma contraseña que el usuario ha venido usando hasta ahora.
- Cada CD se envía por correo postal al domicilio del usuario.
- Modo alternativo de distribución.
Cuando el usuario entra con el método clásico, puede descargarse su archivo CRYF_000.cla y lo
graba en un CD.
Si el CD se pierde, basta con notificarlo vía la página web y se graba otro.
Si el CD es obtenido por otra persona antes de llegar al usuario, no le sirve para nada. Al ser una credencial
aleatoria, no puede realizarse un ataque para obtenerla, hasta la contraseña más simple lo protege.
Autenticación mediante credencial sin contraseña. ^
Una empresa dispone de una página web en la que almacena cierta información de escasa confidencialidad
a la que se accede mediante usuario y contraseña, con mucha frecuencia. Los usuarios de la misma preferirían
acceder a ella de forma rápida.
La solución es idéntica a la del caso anterior, sólo que la credencial identificativa no requiere contraseña.
En caso de pérdida (o robo) del CD, se requiere un servicio de atención telefónica para la baja inmediata de la
credencial, baja que también puede realizarse con el acceso mediante usuario y contraseña.
Autenticación por la posesión del dispositivo.
La biblioteca de la UJI dispone de una sala con más de cien ordenadores de acceso libre para sus usuarios.
El programa
ClaBlock permite la identificación del usuario
por la simple inserción del dispositivo. Dado que el usuario suele insertar el disco USB por llevar en él
documentos de trabajo o para descargar en él información de Internet, la autenticación es un proceso
transparente. En caso de pérdida del dispositivo o re-formateado del mismo, la baja del dispositivo
antiguo y el alta del nuevo son procedimientos automáticos que se realizan mediante el uso del certificado
almacenado en el USB.
Generalización del uso de la firma electrónica en la UJI. ^
Este proyecto surge cuando la UJI se plantea, en su proceso de continua modernización, implantar la firma electrónica
como una herramienta de uso común. Para ello, la primera fase es dotar a cada miembro de la comunidad universitaria de
un certificado.
Tras elegir la CA de la GVA por la calidad de los servicios y el valor añadido al certificado (permite la
interacción con la administración), el soporte físico era el problema principal. La opción de no usar ningún soporte
quedó descartada de inmediato por impedir totalmente la movilidad: la instalación y desinstalación de certificados en el
navegador no es una solución por muchas razones (una de ellas, poco conocida, puede verse
aquí).
Las tarjetas criptográficas sólo admiten uno o dos certificados y necesitan un lector que el usuario no dispone en su casa.
Los
token USB son más compatibles, pero hay que llevarlos encima sólo para el uso de los certificados, y son caros.
Se trataba de encontrar un dispositivo que el usuario encontrara atractivo y fuera a recogerlo masivamente. Optamos entonces
por construir el
software del
clauer y repartir un dispositivo que tiene interés por sí mismo
para el usuario: un pequeño disco USB de 128 Mbytes, en el que el usuario recibe los certificados de la GVA ocupando una
parte inapreciable del disco; aún así caben cientos de certificados. El resulado: doce mil dispositivos con sus correspondientes
certificados repartidos en unos meses, con largas colas en los turnos libres de recogida.
En los últimos repartos, el dispositivo lleva un "
autorun" que instala el
software (
windows) de
forma transparente y fuerza a cambiar la contraseña, pues la original es demasiado débil.
Certificados para ciudadanos en Cataluña
CATCert, la
Agència Catalana de Certificació, expide certificados de ciudadano
en Cataluña. En 2007 distribuye 160.000 dispositivos con nuestro software personalizado, bajo la denominación de
Clauer idCAT. El dispositivo se distribuye pre-formateado,
con una contraseña fija, en principio no-pública, aunque esto es irrelevante. El programa
gestor del clauer detecta
esta contraseña (prueba) y propone al usuario directamente la modificación de la contraseña antes de comenzar a operar.