Ocejon Hardware Key Logon Manager, Personal Edition


News

  • 05/04/2006 - Kocejon v1.0 released. Graphical user interface to use ocejon-pe inside kde.
  • 04/04/2006 - v1.0 released. Some little bugs have been corrected.
  • 07/02/2006 - v0.9 released. Full functionality for first non-beta version included. See doc inside tarball.
  • 18/01/2006 - Personal Edition released, v0.2, ready but limited, only command line.

History

With the enforcement of the Spanish "Ley Orgánica de Protección de Datos (LOPD)" law in certain sectors, lots of enterprises have improved the access monitoring systems of personal information. Many enterprise networks have undergone a hardening in their security policies, hardening that, in general, IT departments have received with pleasure since this law partially helps in the application of the security policies that many system administrators and IT managers where willing to apply.

This hardening gave rise of a common situation in wich users must periodically renew their keys, causing ocasional locking of their access accounts. This situation makes necessary for the user to get in touch with the support department wich sould identify and then unlock the affected user.

User accounts locking caused by unsuccessful logon attempts is a common part of the security environments of computer networks. However, users forget their passwords, or even repeatedly wrong the typing causing the blocking of their accounts in a more frequently than desired way. This behaviour provokes telephone calls to support and security department, calls meaning time invested in tasks not related with the main enterprise business, including the resolution of the locking and the maintainance of a incidences registry wich will be inspected by security auditings.

As a proposal of a solution for this kind of situations the creation of a "hardware key" concept arised. This hardware key would emulate the behaviour of the classical keys used in car and door locks. This way the users don't need to remember their access credentials, being this task competence of the hardware device that, as a key in it's key ring, will end up with the access method in a similar way than users are used to in their home or car.

Although there are some other commercial solutions which work around this kind of situations, none of the examined ones was found to be mature enough. Moreover, they lacked the free software license requirement.

Ocejon idea was born on April, 7th 2004 in the IT department of Caja de Guadalajara. It was intended to manage the access control of the whole enterprise network, and hence it had it's clear goals. Taking advantage of the Ocejon development, the identities management of the network users was improved, as well as some single sign-on tools were provided. From that moment until nowadays (January 2006) many of the previous parts have been started and are prepared for publishing under GNU/GPL license. The first one, the most simple, is this "Personal Edition" which is designed to be used by individuals, for the equipments where they habitually work.

License

Ocejon Hardware Key Logon Manager Personal Edition is copyright by Andrés Seco Hernández, and licensed under GNU/GPL. No warranty can be assumed by developer if any problem occurs in your systems.

Objectives

  • USB key with the minimum contents to allow session logon and sesion closing when the USB key is extracted.
  • Security issues if the key is lost (through assimetric encoding - gnupg in the Personal Edition).
  • Avoid the existence of any confidential data in the key (although in the Personal Edition the credentials are hosted in the hardware key, conveniently encoded).
  • Security in communications (there are no communicatios outside the equipment in the Personal Edition).
  • Validation of the origin of the logon, only from the "asociated" equipments (this is not applied to Personal Edition).
  • Base infrastructure to implement Single Sign On and One Time Password services.

Project status

Version 1.0 has a Makefile to install automatically in systems that has udev installed. No packages for any distribution yet. Documentation is small, see the comments in the config file inside the tarball.

A KDE related application (kocejon) has been developed. Kocejon shall be used to maintain one user credentials in one USB key to be used in several equipments in an easy way.

Requirements

Software requirements consist in any v1 or v2 USB controller. USB hardware 'keys' can be achieved with any USB mass storage device. Any device managed through sda, sdb, etc, including digital cameras, mp3 players, etc, are suitable to work with Ocejon, although classical, small, simple USB sticks are clearly the best election in terms of convenience, as could be included in any key ring. By default, Ocejon HKLM PE uses /dev/sd?1 devices.

Actual version (v1.0) has been developed with Debian unstable (sid) in January 2006, using kernel version 2.6.15-1-686, udev 0.082-1 and kdm version 3.5.0-4.

Requirements have not been strictly stablished as Ocejon has not been extensively tested in different systems.

Tutorial

Quick quick installation tutorial:

  • Download ocejon-pe-1.0.tar.gz file and extract it's contents on a temporal directory.
  • Install running "make" (as root).
  • Initialize ocejon system with "ocejon-pe init" (as root).

Quick quick tutorial:

  • WARNING: Only tested with kdm and kde.
  • NOTE: Read /etc/ocejon/ocejon-pe.conf, it has useful comments on any config option.
  • Start session in the conventional way in kdm typing your user and password.
  • Open a x-terminal (i.e.: konsole) and become the superuser.
  • Start Ocejon HKLM PE in "keys administration" mode typing "ocejon-pe adminon".
  • Insert your USB stick and verify in /var/log/syslog that it's correctly detected.
  • Initialize key for this host using "ocejon-pe initkey /dev/sda1".
  • Save the desired user credentials (for that host) in the key (only one user per key and host, the same key can keep credentials for several hosts, but only one user per host) by typing "ocejon-pe set user password hostname lock". NOTE: if the password has any special character, enclose it with double quotation marks. hostname is the fully qualified hostname, hostname -f, for your computer.
  • Verify the key contents by using the command "ocejon-pe status".
  • Extract the USB stick.
  • Set Ocejon HKLM PE in normal operation mode typing "ocejon-pe adminoff".
  • Close current session.
  • Insert the USB stick. About 3 seconds after that, kdm screen should disappear and a new session should start if the user and password used are the correct ones.
  • When the session opening ends up, extract the USB stick and verify that session locks inmediatly. Insert it agais and about 4 seconds after that the session unlocks.

Downloads


Noticias

  • 05/04/2006 - Kocejon v1.0 publicada. Interfaz gráfico de usuario para usar ocejon-pe en kde.
  • 04/04/2006 - v1.0 publicada. Algunos pequeños errores han sido corregidos.
  • 07/02/2006 - v0.9 publicada. Incluye todas las funcionalidades de la primera versión no beta. Ver la documentación dentro del fichero de distribución.
  • 18/01/2006 - Edición Personal liberada, v0.2, operativa aunque limitada, solo linea de comando.

Historia

Con la implantación en España de la Ley Orgnánica de Protección de Datos (LOPD) en determinados sectores las empresas han mejorado los sistemas de seguimiento de acceso a dichos datos personales. Muchas redes empresariales han sufrido un endurecimiento en su política de seguridad que los departamentos de informática y sistemas han recibido en general con agrado, dado que dicha ley en parte ayuda a la aplicación de las políticas de seguridad que muchos administradores de sistemas y responsables de sistemas de información llevaban tiempo solicitando.

Con este endurecimiento se ha generalizado la situación en que un usuario debe renovar su clave con cierta periodicidad, provocando en ocasiones bloqueos de la cuenta de acceso y llamadas al departamento de soporte para realizar el procedimiento de identificación y desbloqueo del usuario afectado.

El bloqueo de cuentas de usuario por intentos de acceso fallidos forma parte de la vida de los entornos de seguridad de las redes de ordenadores, sin embargo, en muchas más ocasiones de las deseadas son los propios usuarios los que olvidan sus contraseñas o se equivocan reiteradamente bloqueando la cuenta de acceso, provocando llamadas de teléfono, tiempo dedicado por el personal del departamento de soporte y seguridad, tiempo de trabajo no dedicado a tareas del negocio en el usuario afectado y mantenimiento de registros de incidencias que serán revisados por auditorias de seguridad posteriormente.

Como una propuesta de solución para reducir la frecuencia de este tipo de incidencias nació la idea de crear una "llave hardware" ligera que emulara el funcionamiento de las "llaves clásicas" sobre las cerraduras de las puertas y los vehículos, evitando al usuario la necesidad de recordar sus credenciales de acceso, limitándose dicho control al dispositivo hardware que, como una llave en su llavero, continuara con el método de control de acceso que habitualmente utiliza el usuario en su coche y su casa.

Cierto es que existen soluciones comerciales que de una u otra forma tratan de solventar esta situación y mejorar el control de acceso simple que un par de usuario/contraseña proveen, pero ninguno de los revisados en su momento resultó encontrarse operativo de forma suficientemente madura con el requerimiento de realizarse mediante software libre.

Ocejon nació como idea el 7 de Abril de 2004 en el Departamento de Informática de Caja de Guadalajara para abarcar el control de acceso de toda una red con una serie de objetivos, pero de paso se aprovechó para mejorar la gestión de identidades y facilitar herramientas de inicio de sesión único (single sign-on) para los usuarios de la red. Desde entonces hasta hoy (Enero de 2006) muchas de las partes previas han sido implementadas y están siendo preparadas para su publicación bajo licencia GNU/GPL, y la primera de ellas y más ligera es esta "Edición Personal" que ve la luz para ser utilizada por individuales en los equipos en los que trabajan habitualmente.

Licencia

Ocejon Hardware Key Logon Manager Personal Edition es copyright de Andrés Seco Hernández, y está licenciado bajo la licencia GNU/GPL. El desarrollador no asume garantias si suceden problemas en tus sistemas.

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 (mediante cifrado asimétrico -gnupg- en la edición personal)
  • Ningún dato confidencial en la llave (en la edición personal si que las credenciales se alojan en la llave hardware, aunque cifradas convenientemente)
  • Seguridad en las comunicaciones (no existen comunicaciones fuera del equipo en la edición personal)
  • Verificación del origen del intento de acceso, solo desde equipos "asociados" (no aplicable en la edición personal)
  • Infraestructura básica para implementar servicios de inicio de sesión único (Single Sign On) y claves de un solo uso (One Time Password)

Estado del proyecto

La versión 1.0 dispone de un Makefile para instalarse automáticamente en sistemas en los que ya esté instalado udev. No hay paquetes para ninguna distribución todavía. La documentación es escasa, mira en los comentarios del fichero de configuración dentro del tarball.

Se ha desarrollado una aplicación kde (kocejon) para mantener las credenciales del usuario en el disco usb para distintas máquinas, de modo que una llave pueda ser utilizada sobre distintos equipos con comodidad.

Requerimientos

Como hardware tan solo es necesario cualquier tipo de controlador usb, v1 ó v2. Las "llaves" pueden ser implementadas con cualquier tipo de dispositivo usb de almacenamiento masivo (usb mass storage), cualquiera que sea reconocido como un dispositivo sda, sdb, etc., incluyendo cámaras de fotos digitales y reproductores mp3, aunque los sticks usb simples y muy pequeños son los más cómodos para llevar en el llavero. Por defecto Ocejon HKLM PE utiliza los dispositivos /dev/sd?1.

La versión actual (v1.0) ha sido desarrollada en Debian unstable (sid) en Enero de 2006, con nucleo linux 2.6.15-1-686, udev 0.082-1 y kdm versión 3.5.0-4.

Los requerimientos no han sido extrictamente establecidos, ya que no ha sido extensamente probado en distintos sistemas.

Tutorial

Instalación rápida rápida:

  • Decarga el fichero ocejon-pe-1.0.tar.gz y descomprimelo en un directorio temporal.
  • Instálalo ejecutando "make" (como root).
  • Inicializa el sistema ocejon con "ocejon-pe init" (como root).

Tutorial rápido rápido:

  • ADVERTENCIA: Solo está testeado con kdm y kde.
  • NOTA: Lee /etc/ocejon/ocejon-pe.conf, tiene comentarios útiles de cada opción de configuración.
  • Inicia la sesión de la forma habitual en kdm escribiendo tu usuario y clave.
  • Abre un terminal x (p.e.: konsole) y hazte superusuario.
  • Pon Ocejon HKLM PE en modo "administración de claves" ejecutando "ocejon-pe adminon".
  • Inserta tu disco USB y verifica en /var/log/syslog que ha sido correctamente detectado
  • Inicializa la llave para este equipo con "ocejon-pe initkey /dev/sda1".
  • Guarda las credenciales de usuario que desees (para este equipo) en la llave (solo un usuario por llave y equipo, la misma llave puede contener credenciales para muchos equipos, pero solo de un usuario por equipo) ejecutando "ocejon-pe set user password hostname lock". NOTA: si la clave tiene caracteres especiales, encierrala entre comillas dobles. hostname es el FQDN, hostname -f, de tu máquina.
  • Verifica el contenido de la llave con el comando "ocejon-pe status".
  • Extrae el disco USB.
  • Pon Ocejon HKLM PE en modo normal ejecutando "ocejon-pe adminoff".
  • Cierra la sesión actual.
  • Inserta el disco USB. Alrededor de 3 segundos despues, la pantalla de kdm debe desaparecer y una nueva sesión debe comenzar si el usuario y clave son correctos.
  • Cuando finalice la apertura de la sesión, saca el disco USB y comprueba que la sesión se bloquea inmediatamente. Insertala de nuevo y alrededor de 4 segundos despues la sesión se desbloqueará.

Descargas


(C) Andrés Seco Hernández, mailto:AndresSH@alamin.org, http://www.andressh.net
January-April 2006, Guadalajara, España.

Notes:

dcop kdesktop KScreensaverIface lock

http://gentoo-wiki.com/Talk:TIP_Bluetooth_Proximity_Monitor

KDE

Try this, if you are using kde:

START_CMD='true'

FAR_CMD='dcop kdesktop KScreensaverIface lock'

NEAR_CMD='dcop kdesktop KScreensaverIface quit'

FAR_CMD='/usr/bin/xscreensaver-command -lock'

NEAR_CMD='/bin/killall xscreensaver'

gnome-screensaver

FAR_CMD='/usr/bin/gnome-screensaver-command --lock'

NEAR_CMD='/usr/bin/gnome-screensaver-command --deactivate'