Análisis del Sistema
3. Servidor de Autenticación
De acuerdo con el concepto descrito en el estándar 802.1x implementaremos un Servidor de Autenticación que sea quien verifique la autenticidad del usuario utilizando los datos capturados en la transmisión HTTP.
La primera petición HTTP del nuevo usuario se redirige a una página HTML donde se le informa que es necesario realizar una autenticación previa, antes de tener acceso a los servicios de la red. Para pedir los datos del usuario se establece una comunicación segura, en la que se presenta al usuario un formulario donde debe introducir los datos necesarios para su autenticación.
En este subsistema del Servidor de Autenticación se puede utilizar el servidor RADIUS para proporcionar un mecanismo centralizado de toma de decisiones de autenticación. Como el sistema de acceso seguro a recursos de información permite la autenticación a cualquier cliente que desee conectarse a la red inalámbrica, se realizará una validación de cualquier dato introducido en el formulario de autenticación, contra los datos del servidor RADIUS.
Aunque en la especificación 802.1x se habla de los servidores de autenticación en términos genéricos [3], en la práctica se trata de elementos diseñados según los criterios del marco Autenticación, Autorización y Contabilidad (Authentication Authorization and Accounting - AAA). Este marco define los elementos básicos necesarios para autenticar usuarios, manejar peticiones de autorización y realizar la contabilidad del sistema.
Un servidor AAA debe ser capaz de recibir peticiones, examinar el contenido de dichas peticiones, determinar qué autorización se está pidiendo, recuperar las políticas que necesite de un repositorio, evaluar la petición y obtener la respuesta a la petición, o bien, reenviar la petición a otro servidor AAA.
RADIUS es un protocolo encuadrado dentro del marco AAA y utilizado principalmente en entornos donde los usuarios envían información a un punto de acceso a la red. Este punto de acceso mandan al servidor la información que un nuevo usuario intenta conectarse, tras lo cual el servidor realiza el proceso de autenticación del usuario y devuelve al punto de acceso la información de configuración necesaria para que éste trate al usuario de la manera adecuada. Toda la comunicación entre el punto de acceso
y el servidor RADIUS se encuentra cifrada mediante claves compartidas que nunca se transmiten por la red.
En la figura 2.3 se muestra el diagrama de flujo del Servidor de Autenticación.
Figura 2.3 Flujo del Servidor de Autenticación
El propósito del Servidor de Autenticación es proveer al usuario un solo punto de autenticación y después, proveer de forma transparente todas las claves temporales que permitirán el acceso a los servicios autorizados. La estructura del Servidor de Autenticación se muestra en la figura 2.4 y está compuesta por los siguientes módulos:
• El Módulo de Autenticación implementa los mecanismos de autenticación que pueden ser configurados por los administradores del sistema.
• El Módulo Base de Datos genera una lista de las páginas HTML con información restringida que cada usuario puede acceder, utilizando la información acerca del usuario y reglas administrativas de acceso al sistema.
Fin de sesión ¿Usuario válido? Página HTML con información restringida no sí Página HTML pública en Internet Página HTML por defecto Usuario Contraseña ¿Usuario miembro? sí / no sí
• La Interfase del Servidor de Autenticación presenta el formulario de autenticación que el usuario debe llenar y enviar al Módulo de Autenticación para ser identificado.
Una vez identificado el usuario, se extrae de la base de datos la lista de las direcciones URLs a las que el usuario puede acceder. Cada elemento de esta lista es encriptado usando una clave privada que representa al Servidor de Autenticación, como si fuera una firma digital [4]. Finalmente, se envía al navegador del usuario la información en forma de una lista de URLs para conectarse, en una página HTLM con el resultado de la autenticación. En el caso que un usuario no fue autenticado por el Servidor de Autenticación se envía un mensaje de error.
Figura 2.4 Subsistema Servidor de Autenticación
La fase de autenticación se muestra en la figura 2.4 y está compuesta por los siguientes pasos:
1. El usuario envía el formulario de autenticación al Servidor de Autenticación, el cual identifica al usuario utilizando los datos recibidos y los métodos establecidos en el sistema.
2. Si la autenticación es válida y dependiendo de las autorizaciones que posea el usuario, se genera la lista de URLs correspondiente a los puntos de acceso donde el usuario enviará su petición, para acceder a la página con información restringida. El formato de cada URL será:
Módulo Base de Datos Interfase del Servidor Base de Datos Servidor Web Lista de URLs OK / Error Lista de sitios autorizados Datos de autenticación Módulo de Autenticación Datos de autenticación Datos de autenticación 2 1 3 4 5 6 7
• La dirección del generador de claves temporales.
• El nombre del Servidor de Autenticación que verificó al usuario.
• La lista de parámetros encriptados con la clave privada del Servidor de Autenticación, que son:
o El código identificador del usuario.
o El tiempo de expiración de la clave temporal que será generada. o Un sello de tiempo de la URL, para que la petición no sea reutilizada.
3. El navegador del usuario recibirá la lista de URLs y accederá a un Punto de Acceso de la lista, todo de forma transparente para el usuario.