Ocejon Hardware Key Logon Manager
Noticias
-
10/01/2006 - La edición personal va a ser la primera liberada, ya está casi lista. Al final de esta página hay un mensaje con instrucciones rústicas, pendiente de formalizar, preparar herramienta gráfica de mantenimiento y empaquetar.
-
22/05/2005 - La cosa va despacio pero esta en marcha. He decidido utilizar el hyperactivediirectory had como base para el hardware key logon manager y ocejon como el nombre de producto para la suite que incluira las herramientas de gestion de usuarios grupos equipos y llaves usb. El hyperactivedirectory esta muy avanzado pero aun no tiene interfaz ldap. En cuanto tenga una instalacion de referencia estoy en ello publicare el codigo.
-
12/04/2004 - Caja Guadalajara aportará tiempo al desarrollo del proyecto. Detalles adicionales de seguridad del proyecto especificados.
-
11/04/2004 - creación de la página del proyecto (AndresSH). http://www.andressh.net/wiki/Ocejon temporalmente.
-
07/04/2004 - idea de la creación del servicio (Alvaro)
Objetivos
-
Llave USB con lo mínimo necesario para iniciar la sesión y cerrarla al extraerlo del conector
-
Seguridad ante pérdidas de la llave
-
Ningún dato confidencial en la llave
-
Seguridad en las comunicaciones
-
Verificación del origen del intento de acceso (solo desde equipos "asociados")
Términos
-
Hardware Key - Llave Hardware, disco USB con los datos necesarios para actuar de llave
-
Asociated - Asociado, equipo desde el que es posible iniciar una sesión autentificando la llave en un servidor llavero
-
Keyring server - servidor llavero, el que contiene la bd con los datos de las llaves y equipos asociados, asociación de nuermos
-
Key Serial Number - Número de serie de la llave, el número utilizaod para
-
Agent - Agente, el soft en el equipo que finalmente usa el usuario, donde se inserta la llave hardware.
Arquitectura y seguridad
-
Agente en los equipos asociados, genera par de claves, envia publica al Keyring server, para que este tras verificar manualmente la huella dactilar, acepte al equipo como Asociated.
-
Lista de equipos en los que se acepta logon
-
El par usuario/clave nunca viaja sin cifrar
-
Cifrado GnuPG (podría usarse tambien ssl)
-
"silent errors" - no se nota nada en el equipo asociado cuando la cosa va mal
BD
-
Sobre ldap o mysql, ventajas e inconvenientes para cada uno.
-
Dado que sobre ldap la bd sería común con la de inicio de sesión que usen los equipos (pam-ldap, aunque tambien hay pam-mysql) y se incorpora control de acceso por máquinas, es posible que finalmente se decida utilizar ldap, o dejar esto como opción en la instalación.
Posibles nombres de paquetes
-
Servidor
-
ocejon-server
-
ocejon-server-ldap
-
Agente
-
ocejon-agent-usb
-
ocejon-agent-kdm
-
Otros que pueden realizarse posteriormente
-
ocejon-server-mysql
-
ocejon-agent-cd
-
ocejon-agent-floppy
-
ocejon-agent-gdm
-
ocejon-agent-xdm
-
ocejon-agent-getty
Otras cosas
From: Andrés Seco Hernández
Sent: sábado 10 de abril de 2004 10:05
To: Salvador García García; Gestión de Red
Subject: RE: usb key logon - listo para hacerlo...
Todo controlado, la parte que no sabía como hacerla, ya la se.
Para abrir la sesión desde una aplicación, kdm (el gestor de arranque gráfico
para recibir usuario y clave) tiene un interface FIFO al que se puede escribir
desde linea de comando de root:
echo -e "login\t:0\tnow\tandres\tclave" > /var/run/xdmctl/xdmctl
y andres inicia la sesión como si hubiera tecleado sus datos.
dcop ksmserver MainApplication-Interface quit
y el tio cierra la sesión limpiamente, como si hubiera pulsado la opción con
el ratón.
Solo basta lanzar esos comandos desde un "agente" que tenemos que crear
que sea ejecutado cuando haya eventos sobre el bus usb (trivial desde los
script de ejecución de usbmgr) y crear una gestion de bd para las llaves usb,
usuarios, contraseñas y permisos de acceso en diferentes equipos, más alguna
utilidad para "grabar" y "borrar" una llave usb.
__
Andrés Seco Hernández.
Clave pública PGP en http://www.rediris.es/cert/servicios/keyserver/
tel. +34 629 867165, +34 949 888139, fax +34 949 888105.
Area Técnica. Informática.
Caja de Guadalajara.
http://CajaGuadalajara.biz
__
----------
From: Andres Seco Hernandez[SMTP:AndresSH@alamin.org]
Sent: jueves 8 de abril de 2004 16:29
To: andresseco@cajaguadalajara.biz
Subject: usb key logon
http://usbsec.sf.net - este es el objetivo, pero no ha generado aun nada
de codigo, aunque el proyecto nacio el 16-11-2004. Proyecto muerto, pero
teoricamente hace lo que queremos que haga.
http://freshmeat.net/projects/pam_usb/ - necesitas teclear usuario, la
clave la pone la llave usb con un certificado. Herramientas de gestion
de acceso aparentemente adecuadas.
http://pam-x509.sf.net - ya hay version 1.0.1, 11/2003, tiene buena
pinta y hace automontaje del dispositivo usb, pero delega en los
certificados x509 en la cuenta del usuario en la máquina para hacer
logon.
Me temo que ninguno se ajusta a lo que queremos. Tendremos que
desarrollarlo nosotros (por otra parte, parece poca cosa, tan solo veo
el desconocimiento que tenemos de enviar eventos a aplicaciones kde
desde una aplicación).
--
Andres Seco Hernandez
http://andressh.net
mailto:AndresSH@alamin.org
jabber:sslowly@jabber.guadawireless.org
---------------------------------------------------------------------------
http://guadawireless.net http://www.debian.org http://www.alamin.org
http://www.redlibre.net http://www.gulalcarria.org http://andressh.net
http://objetivosubjetivo.com
---------------------------------------------------------------------------
Por favor, NO utilice formatos de archivo propietarios para el intercambio
de documentos, como DOC y XLS, sino HTML, PDF, TXT, CSV o cualquier otro
que no obligue a utilizar un programa de un fabricante concreto.
Andres Seco Hernandez wrote:
La edición personal, v0.1, para correr sobre hotplug y udev, poco
parametrizada y un poco rústica, pero eficiente:
- poned el script de más abajo en /etc/hotplug.d/scsi, con el nombre
ocejon.hotplug, con permiso de ejecución
- dejad en vuestro disco usb un directorio ocejon con un fichero de
nombre "personal-XXXXX.xxxxx.yyy", donde XXXXX.xxxxx.yyy es el hostname
-f de vuestro equipo (lanzad desde linea de comando "hostname -f"), y
dentro poneis el usuario en la primera linea y vuestra clave en la
segunda (si, de momento en claro).
y a jugar ;-)
T0552P03:~# cat /etc/hotplug.d/scsi/ocejon.hotplug
#!/bin/sh
#
# ocejon.hotplug, v0.1, Tue, 10 Jan 2006 01:53:17 +0100
# (C) Andres Seco Hernandez, AndresSH@alamin.org
# Licensed under GNU/GPL
#
# This file is part of the OCEJON distribution.
# Hotplug USB hook for OCEJON
cd /etc/hotplug
. ./hotplug.functions
DEBUG=yes export DEBUG
debug_mesg "arguments ($*) env (`env`)"
if [ "$ACTION" == "add" ]; then
sleep 4
mount /dev/sda1 /mnt
PERSONALFILE=/mnt/ocejon/personal.`hostname -f`
if [ -f $PERSONALFILE ]; then
PERSONALUSER=`cat $PERSONALFILE | head -1`
PERSONALPASS=`cat $PERSONALFILE | head -2 | tail -1`
mesg "login as user '$PERSONALUSER'"
echo -e "login\t:0\tnow\t$PERSONALUSER\t$PERSONALPASS" >
/var/run/xdmctl/xdmctl
mkdir -p /var/cache/ocejon
touch /var/cache/ocejon/personal-`hostname -f`
chmod 600 /var/cache/ocejon/personal-`hostname -f`
{
date -R
hostname -f
echo $PERSONALUSER
# echo $PERSONALPASS
} > /var/cache/ocejon/personal-`hostname -f`
fi
umount /dev/sda1 /mnt
fi
if [ "$ACTION" == "remove" ]; then
CURRENTFILE=/var/cache/ocejon/personal-`hostname -f`
CURRENTUSER=`cat $CURRENTFILE | head -3 | tail -1`
dcop --user $CURRENTUSER ksmserver MainApplication-Interface quit
rm /var/cache/ocejon/personal-`hostname -f`
fi
exit 0