Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Presenta:
Ing. Jose Luis Mejia Nogales
Director de Tesis:
M. en C. Sergio Vidal Beltrán
México D. F. 2006
Maestría en Ciencias en Ingeniería de Telecomunicaciones
-i-
Maestría en Ciencias en Ingeniería de Telecomunicaciones
En la Ciudad de México, D. F., el día 13 del mes de marzo del año 2006
el que sus MEJIA NOGALES JOSE LUIS alumno del Programa de
MAESTRÍA EN CIENCIAS EN INGENIERÍA DE TELECOMUNICACIONES
con número de registro A030630 adscrito a la Sección de Estudios de Posgrado e
Investigación de la E.S.I.M.E. Unidad Zacatenco, manifiesta que es autor intelectual del
presente Trabajo de Tesis bajo la dirección del M. EN C. SERGIO VIDAL BELTRÁN
y cede los derechos del trabajo intitulado:
"SISTEMA DE ACCESO SEGURO A RECURSOS DE INFORMACIÓN
PARA REDES INALÁMBRICAS 802.11”,
al Instituto Politécnico Nacional para su difusión, con fines Académicos y de Investigación.
Los usuarios de la información no deben reproducir el contenido textual, gráficas o datos del
trabajo sin el permiso expreso del autor y/o director del trabajo. Este puede ser obtenido
escribiendo a la siguiente dirección: mejianogales@yahoo.com
- ii -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Albert Einstein
- iii -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Agradezco:
- iv -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Contenido
Relación de Figuras y Tablas vi
Resumen vii
Abstract viii
Antecedentes ix
Justificaciones x
Objetivo General xi
Objetivos Específicos xi
Introducción 1
Capítulo 1 Seguridad Inalámbrica
1. Introducción 3
2. Redes Inalámbricas 802.11 3
3. Riesgos de las Redes Inalámbricas 5
4. Algoritmo WEP 7
5. Algoritmo WPA 10
6. Estándar 802.11i 12
6.1 Estándar 802.1x 12
6.2 Protocolo Modo Contador con CBC-MAC 15
7. Punto de Acceso para Proveedores de Información 16
7.1. Componentes de PAPI 16
7.2. Fase de Autenticación 18
7.3. Claves Temporales 20
7.4. Fase de Control de Acceso 21
7.5. Distribución PAPI 22
8. Referencias 22
Capítulo 2 Análisis del Sistema
1. Introducción 24
2. Portal Cautivo 25
3. Servidor de Autenticación 27
4. Punto de Acceso 30
5. Referencias 33
Capítulo 3 Diseño del Sistema
1. Introducción 34
2. Escenario Principal 34
3. Definición de Estados 36
4. Descripción de Funciones 39
Capítulo 4 Implementación
1. Introducción 45
2. Esquema de Implementación 45
3. Resultados 54
Conclusiones 58
Recomendaciones 60
Sugerencias para Trabajos Futuros 61
Bibliografía 62
Apéndice A Estándar de Encriptación Avanzado 64
Apéndice B Software Libre 67
Glosario 71
-v-
Maestría en Ciencias en Ingeniería de Telecomunicaciones
- vi -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Resumen
La seguridad siempre ha sido uno de los factores más delicados al momento de diseñar
un sistema de comunicaciones y más aún cuando se transmite información confidencial
a través de él. Las redes inalámbricas son un caso muy particular porque los datos
viajan a través de un medio totalmente inseguro, lo que da origen a la necesidad de
crear un sistema de seguridad específico para este tipo de tecnología.
El Portal Cautivo es un firewall que solamente acepta tráfico HTTP y consultas al DNS,
pero su principal objetivo es redireccionar todas las peticiones de nuevos usuarios hacia
el Servidor de Autenticación. Todo usuario que pretenda ingresar a la información
confidencial deberá pasar previamente por el Servidor de Autenticación central, el cual
lanza un reto al usuario nuevo para autenticarlo.
Una vez autenticado, el usuario recibe de manera codificada datos que deberá
presentarlos al Punto de Acceso que actúa como guardián de la información. El Punto
de Acceso verifica los datos presentados por el usuario, si son válidos entrega al
navegador web del usuario claves codificadas como cookies. El navegador almacena
estas cookies que serán la forma de identificar al usuario en peticiones posteriores. La
característica principal del sistema propuesto es que el usuario no necesita de
componentes adicionales para acceder a la información, solo utiliza su navegador web.
Además, todo el procedimiento de seguridad es transparente para los usuarios.
- vii -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Abstract
The security always has been one of the most delicate factors to the moment to design
a communications system and even more when confidential information is transmitted
across it. The wireless networks are a very particular case because the information
travels across a totally insecure way, that’s why a specific security system creation is
needed for this kind of technology.
The proposed system provides to the users a sure access to confidential information
resources across wireless networks 802.11. The security of the system is distributed in
three processes: a Captive Portal, an Authentication Server and an Access Point.
The Captive Portal is a firewall that only accepts HTTP traffic and consults to the DNS,
but the principal objective is forward all the requests of new users to the Authentication
Server. Every user who tries to access to the confidential information will have to pass
before for the Authentication Server, that throws a challenge to authenticate a new user.
Once authenticated, the user receives codified information that will have to provide to
the Access Point as protector of the information. The Access Point verifies the
information presented by the user; if they are valid the user’s web browser receives a
key codified like a cookie. The web browser stores this cookie as an identification of the
user in posterior requests. The principal characteristic of the proposed system is that the
user does not need additional components to access to the information, only a web
browser. Besides, the whole procedure of security is transparent for the users.
- viii -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Antecedentes
Una de las tecnologías que más ha evolucionado en los últimos años son las Redes de
Área Local Inalámbricas (Wireless Local Area Networks - WLAN), que ofrecen a sus
usuarios conexión a una red de computadoras local o a Internet sin la necesidad de
enlazarse físicamente. No obstante, uno de los grandes obstáculos al que sea ha
enfrentado el crecimiento en las redes inalámbricas ha sido la seguridad. Las redes
inalámbricas son más difíciles de proteger que las redes convencionales, debido a que
utilizan el espacio libre como medio de transmisión.
Otro servicio que ha crecido son los hotspots o lugares públicos de acceso a Internet a
través de tecnología inalámbrica, la mayor cantidad de hotspots implementados se
ubica principalmente en hoteles, restaurantes, cafés, centros comerciales, aeropuertos,
comunidades de negocios y universidades. Estimaciones sugieren que para el próximo
año los hotspots tendrán unos 44 millones de usuarios en el mundo.
Todo esto refleja la tendencia que ha experimentado el mercado en los últimos tiempos.
Se calcula que el segmento de las computadoras de escritorio está creciendo entre
el cinco y el siete por ciento al año, mientras que el de portátiles lo hace al 20 por
ciento. Esto se debe a que la tecnología inalámbrica cumple mejor con las expectativas
de los consumidores, que están asociadas con la movilidad, necesidades de
comunicación, información y entretenimiento.
- ix -
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Justificaciones
El funcionamiento de las redes inalámbricas se basa en la emisión y recepción de datos
a través de frecuencias de radio. Una de las principales razones para instalarlas es
poder compartir servicios y recursos entre los dispositivos móviles, sin embargo, la
conexión a Internet es la funcionalidad que resulta más apreciada por los usuarios.
Las principales ventajas que presentan las redes de este tipo son su libertad de
movimiento, la sencillez en la reubicación de equipos y la rapidez de instalación. Pero el
punto más débil de este tipo de redes está asociado a la seguridad que ofrecen.
Solamente se necesita colocar un receptor dentro del área de cobertura de una red
inalámbrica para detectarla, una vez detectada es susceptible a sufrir ataques, por
ejemplo, la intercepción de la señal transmitida con el propósito de recopilar información
confidencial, como contraseñas, datos de autenticación o cualquier dato sensible.
Existe una gran variedad de técnicas de ataques a las redes inalámbricas, los cuales
son cada vez más populares debido a su rápida difusión.
-x-
Maestría en Ciencias en Ingeniería de Telecomunicaciones
Objetivo General
Diseñar un sistema seguro que permita a un usuario móvil ingresar a contenidos de
información a través de un punto de acceso de una red inalámbrica, sin hacer pública
su información personal de acceso.
Objetivos Específicos
• Evaluar la evolución de la seguridad en redes inalámbricas 802.11 para diseñar
un sistema de seguridad estandarizado.
- xi -
Introducción
Introducción
El impacto del problema de seguridad depende en gran medida del tipo de red
inalámbrica que se esté utilizando. Una red inalámbrica de tipo público no requiere una
seguridad de acceso para sus usuarios, por otro lado, la red interna de una empresa
privada necesita una fuerte autenticación de usuarios debido a la información
confidencial que maneja.
-1-
Introducción
Al final del presente trabajo se muestran las conclusiones, las recomendaciones y los
posibles trabajos futuros que complementarían al sistema de acceso seguro a recursos
de información para redes inalámbricas 802.11.
-2-
Seguridad Inalámbrica
Capítulo 1
Seguridad Inalámbrica
1. Introducción
Existen diferentes tipos de estándares y productos para las Redes Inalámbricas de Área
Local. Los estándares determinan los detalles físicos de transmisión y recepción, como
la velocidad de los datos, la banda de radio donde operan y las potencias máximas de
transmisión.
-3-
Seguridad Inalámbrica
• 802.11g: Surgió en 2003, como una evolución del estándar 802.11b, por lo que
son compatibles. Esta norma ofrece velocidades hasta de 54 Mbps en la banda
de 2.4 GHz.
Máxima Velocidad
Estándar Frecuencia
de Transmisión
802.11 2 Mb/s 2.4 GHz
802.11b 11 Mb/s 2.4 GHz
802.11g 22 Mb/s 2.4 GHz
802.11a 54 Mb/s 5 GHz
Tabla 1.1 Familia 802.11
La topología de las redes inalámbricas consta de dos elementos clave: las estaciones y
los puntos de acceso, la comunicación puede realizarse entre estaciones o a través de
puntos de acceso. Un punto de acceso transmite señales de gestión periódicamente,
una estación después de recibir esta señal inicia la autenticación mediante el envío de
una trama [2]. Una vez realizada la autenticación se produce la asociación entre los dos
equipos.
Petición de Conexión
Conexión Concedida
Ins piron
7000
000
LAN ADSL
Power Test
LINK ACT LINK ACT
Punto de
Dispositivo Acceso
Móvil
-4-
Seguridad Inalámbrica
Petición de Conexión
Trama a Codificar
Ins piron
7000
Trama Codificada Power
000
LINK
LAN
ACT LINK
ADSL
ACT
Test
Conexión Concedida
Punto de
Dispositivo Acceso
Móvil
La utilización del espacio libre como medio de transmisión es un factor que pone en
riesgo la información confidencial [4]. A los ataques dirigidos a la seguridad de una red
inalámbrica se los puede dividir en dos tipos:
-5-
Seguridad Inalámbrica
Clave Símbolo
ssid
Nodo
Abierto
ancho de banda
ssid
Nodo
Cerrado
ancho de banda
ssid
Nodo
WEP W
ancho de banda
-6-
Seguridad Inalámbrica
atacante por una dirección válida dentro del sistema atacado. También, el
atacante puede utilizar la técnica de Hijacking o secuestro, en la que se intenta
asociar una dirección IP válida del sistema atacado, con la dirección física de la
tarjeta WLAN del intruso.
4. Algoritmo WEP
En la figura 1.3 se describe el proceso de cifrado del algoritmo WEP, el cual se realiza
de la siguiente manera:
− Para evitar que las tramas cifradas sean similares, la clave secreta se concatena
con un número aleatorio llamado Vector de Inicialización (Initialization Vector -
IV) de 24 bits, esta concatenación se conoce como semilla. El vector de
inicialización al ser aleatorio es distinto para cada trama.
− Se ejecuta una operación XOR bit por bit con la trama y la secuencia llave,
obteniéndose como resultado la trama cifrada.
-7-
Seguridad Inalámbrica
Vector de
Inicialización װ Mensaje
Semilla Generador Secuencia
Clave
Secreta
װ RC4 Llave
⊕ Trama
Cifrada
װ
Trama
Algoritmo
CRC-32
Código de
Integridad
Trama
װ
Trama
Algoritmo ICV’
CRC-32
ICV’ = ICV
Código de Integridad - ICV
-8-
Seguridad Inalámbrica
− Se ejecuta la operación XOR bit por bit entre la secuencia de clave y la trama
cifrada, para obtener la trama original y el código de integridad.
Encriptado
Vector de (1 Octeto)
Inicialización
Relleno ID Clave
(3 octetos)
(6 bits) (2 bits)
ICV es una secuencia de verificación de grupo sobre la trama cifrada, calculada con el
algoritmo CRC-32. El vector de inicialización tiene una longitud de tres octetos, más
seis bits de relleno y dos bits que indican la llave compartida que se utilizó en el cifrado.
-9-
Seguridad Inalámbrica
5. Algoritmo WPA
El algoritmo de Acceso Protegido Wifi (Wifi Protected Access - WPA) se desarrolló para
mejorar el nivel de seguridad existente en WEP, fue propuesto por los miembros de la
Wi-Fi Alliance en colaboración con el grupo de trabajo 802.11i de la IEEE [9].
- 10 -
Seguridad Inalámbrica
Encriptado
Dirección
Origen Clave Secreta WEP
Clave
װ
Temporal Vector de Inicialización
WEP
WEP Trama
Cifrada
TSC
Direcciones
Origen y
Destino Trama
MIC
MIC +TSC
Trama
Clave MIC
- 11 -
Seguridad Inalámbrica
Sin embargo, cuando las claves compartidas utilizadas son de una longitud corta, WPA
se vuelve inseguro, porque un intruso sólo necesita interceptar el tráfico inicial de
intercambio de claves y con un ataque de diccionario se puede obtener la clave
compartida [12].
6. Estándar 802.11i
El estándar de seguridad 802.11i propuesto por la IEEE fue ratificado en junio de 2004.
Este nuevo estándar incorporará una capa de seguridad específica para redes
inalámbricas, la cual se divide en tres categorías:
- 12 -
Seguridad Inalámbrica
PO WER
BU SY
ATTEN
E NT ESC
EAP 2
Ins piron
7000
6
000
LAN ADSL
Power Test
LINK ACT LINK ACT
Suplicante Autenticador
Infortrend
Servidor de
Autenticación
802.1x fue diseñado para emplear servidores RADIUS, cuya especificación se puede
consultar en la RFC 2058. Estos servidores fueron creados inicialmente para autenticar
el acceso de usuarios remotos por conexión vía telefónica.
- 13 -
Seguridad Inalámbrica
correctamente por el usuario para lograr el acceso. Dicho desafío puede ser una
contraseña o involucrar una función criptográfica más elaborada. El autenticador
reenvía el desafío al usuario en un mensaje EAP-Request.
Petición de Acceso
Desafío
Ins piron
7000
Respuesta a Desafío Power
000
LINK
LAN
ACT LINK
ADSL
ACT
Test
Acceso Aceptado o
Punto de
Dispositivo Rechazado
Acceso
Móvil
- 14 -
Seguridad Inalámbrica
El Protocolo Modo Contador con CBC-MAC (Counter Mode with CBC-MAC Protocol -
CCMP) utiliza el estándar de encriptación AES con el algoritmo CBC-MAC. AES es un
cifrado de bloque iterativo simétrico, encripta en bloques de 128 bits de longitud y utiliza
la misma clave al encriptar y al desencriptar [3]. La estructura de encriptación del
protocolo CCMP se muestra en la figura 1.10.
Encriptado
VI
Contador
AES AES AES
Encriptación
Trama
Encriptada Encabezado PN Datos MIC
- 15 -
Seguridad Inalámbrica
El sistema PAPI también es compatible con otros sistemas de control, dado que no
impone requisitos a ningún procedimiento adicional, que se deseara emplear para este
propósito. Por tanto, se puede considerar al control de acceso PAPI completamente
ortogonal a otros mecanismos, como la protección por medio de contraseñas, filtros
basados en direcciones IP o control de acceso por medio de certificados.
- 16 -
Seguridad Inalámbrica
Servidor de
Autenticación BD de
Claves
Datos de Aserciones
Autenticación de Identidad
Petición Claves
HTTP Temporales
Navegador Punto de
Acceso
Página Claves
WEB Nuevas
Petición Página
HTTP WEB
Servidor
WEB
Un Punto de Acceso PAPI puede ser adaptado a cualquier servidor web, con
independencia de la plataforma sobre la que esté implementado. Las características del
sistema PAPI permiten a un servidor web contener más de un Punto de Acceso o a un
Punto de Acceso controlar más de un servidor web.
- 17 -
Seguridad Inalámbrica
Una vez que el Punto de Acceso acepta el mensaje proveniente del Servidor de
Autenticación se generan dos claves temporales, que se almacenan por medio de
cookies HTTP (Hypertext Transport Protocol – Protocolo de Transporte de Hipertexto)
en el navegador del usuario. Los sucesivos accesos al recurso que el Punto de Acceso
protege serán aceptados o denegados por medio de estas claves temporales. El
protocolo empleado por PAPI puede dividirse en dos fases: la Autenticación y el Control
de Acceso.
• Cuando las claves temporales son eliminadas del navegador. Esto puede
ocurrir si las cookies son borradas explícitamente o si el archivo de cookies es
dañado.
• Cuando las claves temporales se copian a otro navegador y son empleadas por
otro usuario.
- 18 -
Seguridad Inalámbrica
Cada una de los URLs incluyen una referencia al procedimiento que el Punto de Acceso
correspondiente emplea para generar las claves temporales, junto con tres parámetros
que se envían empleando el método GET de HTTP: el identificador del Servidor de
Autenticación, un código de petición y un mensaje encriptado acerca del usuario.
• Una descripción típica del usuario, que incluye referencias al usuario y a los
grupos a los que pertenezca.
• Una marca de tiempo, para evitar ataques por medio de repeticiones de los
datos.
Si todos los datos son correctos, se generan dos claves temporales: la clave temporal
principal Hcook y la clave temporal secundaria Lcook.
La clave temporal principal, junto con una cadena generada de manera aleatoria, se
almacenan en un registro de claves temporales administrado por el Punto de Acceso.
Ambas claves temporales se envían al navegador del usuario, codificadas como
cookies HTTP.
Redirección
+ Claves del GPoA Punto de
Servidor de Acceso de
Autenticación Grupo
- 19 -
Seguridad Inalámbrica
Hcook es la clave temporal primaria, criptográficamente más fuerte y que contiene más
datos. Contiene un conjunto de campos con información de control de acceso,
codificados con una clave simétrica que es exclusiva del Punto de Acceso.
- 20 -
Seguridad Inalámbrica
El tiempo de vida típico de una clave secundaria es de unos pocos segundos, mientras
que las claves primarias son recalculadas en intervalos del orden de varios minutos.
La clave temporal primaria puede considerarse como una clave de página HTML,
mientras que el uso de la clave temporal secundaria pretende evitar retardos
adicionales cuando se cargan los elementos que componen la página HTML.
Dado que las claves están almacenadas como cookies HTTP, cada vez que se intenta
acceder a una localización controlada, el navegador las envía automáticamente sin
necesidad de ninguna intervención por parte del usuario.
- 21 -
Seguridad Inalámbrica
La arquitectura y los protocolos en los que se basa el sistema están diseñados para
garantizar la independencia de los actores y preservar la privacidad de los usuarios.
Todos los procedimientos son transparentes para el usuario, de manera que no se
requiere formación adicional, por lo que el sistema puede ser fácilmente incorporado en
cualquier organización.
8. Referencias
[1] Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer
(PHY) SpecificationsANSI/IEEE Std 802.11, 1999 Edition, The Institute of
Electrical and Electronics Engineers, 20 August 1999,
http://standards.ieee.org/getieee802/download/802.11-1999.pdf
[3] Real 802.11 Security: Wi-Fi Protected Access and 802.11i, Jon Edney,
William A. Arbaugh, 451 p. Editorial Addison-Wesley, August 2003.
[4] 802.11 Wireless Networks: The Definitive Guide, Matthew Gast, 192 p.
Editorial O'Reilly & Associates, 2001.
[7] The Evolution of Wireless Security in 802.11 Networks: WEP, WPA and
802.11 Standards, Stanley Wong, GSEC Practical v1.4b, May 20, 2003,
http://www.sans.org/rr/papers/68/1109.pdf
- 22 -
Seguridad Inalámbrica
[8] 802.11 Security, Bruce Potter, Bob Fleck, 192 p. Editorial O'Reilly &
Associates, December 2002.
[10] Enterprise Solutions for Wireless LAN Security, Wi-Fi Alliance, February
6, 2003, http://www.wi-fi.org/OpenSection/pdf/Whitepaper_Wi-Fi_Enterprise2-
6-03.pdf
[14] EAP Methods for 802.11 Wireless LAN Security, Web ProForum Tutorials,
The International Engineering Consortium,
http://www.iec.org/online/tutorials/acrobat/eap_methods.pdf
[15] A Detailed Description of the PAPI Protocol, The PAPI Development Team,
RedIRIS, http://papi.rediris.es/doc/PAPI_Protocol_Detailed.pdf
[17] PAPI - Guide for Beginners, Rodrigo Castro-Rojo, Diego R. López, 2003,
RedIRIS, http://papi.rediris.es/dist/pod/PAPI-gb.html
- 23 -
Análisis del Sistema
Capítulo 2
1. Introducción
Los WISP son empresas dedicadas a ofrecer conectividad inalámbrica a sus clientes,
instalando Hotspots en lugares como hoteles, restaurantes, cafeterías, parques,
bibliotecas y aeropuertos, donde gente equipada con dispositivos móviles son capaces
de conectarse a Internet.
- 24 -
Análisis del Sistema
privada y al mismo tiempo acceder a la red pública o Internet, dependiendo del tipo de
permiso que posean. Además, el sistema garantizará a los usuarios una comunicación
segura.
1. Portal Cautivo
2. Servidor de Autenticación
3. Punto de Acceso
Usuario
Servidor de
Portal Cautivo Autenticación
Punto de
Base de
Acceso
Datos
Red
Pública
En atención a los requerimientos de seguridad se deben definir una serie de fases que
son necesarias cumplir:
• Autenticar usuario: una vez que un usuario ha sido capturado, para que pueda
tener acceso a los recursos de la red es necesario que se autentique.
2. Portal Cautivo
- 25 -
Análisis del Sistema
La arquitectura del sistema de Portal Cautivo es un gateway que redirige las conexiones
[1]. Cada vez que un nuevo usuario entra en la red inalámbrica es necesario capturarle
para que solo pueda acceder a los servicios de la red una vez se haya autenticado a
través del Servidor de Autenticación. Puesto que lo que queremos es dar acceso a una
red inalámbrica, el punto de acceso actuará como el gateway.
Cuando el usuario situado detrás del portal intente acceder a una página HTML, es
capturado, esto significa que el usuario es redirigido a una página HTML con
información acerca de la red WLAN a la que está conectado, además se le suministra
un formulario de acceso. El diagrama de flujo del Portal Cautivo se muestra en la figura
2.2.
Usuario abre el
navegador
sí
Usuario
Contraseña
Se utilizará un Portal Cautivo para controlar los accesos a la red inalámbrica, hasta que
el usuario no sea autenticado no se le permitirá ningún tipo de tráfico a través del punto
de acceso de la red inalámbrica.
La filosofía del subsistema del Portal Cautivo para una red inalámbrica, se puede
resumir en dos pasos:
- 26 -
Análisis del Sistema
Cuando un nuevo usuario accede a la red interna recibe una dirección IP, para ello es
necesario que el usuario sea reconocido como un cliente DHCP (Dynamic Host
Configuration Protocol - Protocolo de Configuración Dinámica de Servidor), es decir,
que tenga la interfaz WLAN configurada para que haga uso del protocolo DHCP.
Una vez que el usuario ha sido configurado a través del protocolo DHCP puede
comenzar a navegar por la red. Es precisamente cuando el usuario intenta cargar la
primera página HTML en su navegador, que es capturado.
3. Servidor de Autenticación
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.
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.
- 27 -
Análisis del Sistema
Usuario
Contraseña
¿Usuario no
válido?
sí
¿Usuario
miembro?
sí sí / no
Fin de sesión
• 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.
- 28 -
Análisis del Sistema
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.
5
Módulo Base Base de
de Datos Datos
4 6
Datos de Lista de sitios
autenticación autorizados
3
OK / Error
Módulo de Interfase del
Autenticación Servidor
2
Datos de
autenticación
1 7
Datos de Lista de
autenticación URLs
Servidor
Web
La fase de autenticación se muestra en la figura 2.4 y está compuesta por los siguientes
pasos:
- 29 -
Análisis del Sistema
4. Punto de Acceso
Módulo de
Generación de
Claves Servidor
Web
1 2
Lista de sitios Claves
autorizados temporales
4
3
Navegador
Petición HTTP
Web Clave temporales
Módulo de
Control de
Página Web Acceso
Clave Temporal Nuevas Claves
Clave Temporal 5 3’
Hcook Base
de Datos
- 30 -
Análisis del Sistema
o El código de usuario.
o La dirección que esta clave da acceso.
o El tiempo de expiración.
o Un bloque aleatorio.
o El código de usuario.
o La dirección que esta clave da acceso.
o El tiempo de expiración.
o Un bloque aleatorio actual para esta clave.
o Un sello de tiempo para la última modificación
- 31 -
Análisis del Sistema
- 32 -
Análisis del Sistema
5. Referencias
[2] 802.11 Wireless Networks: The Definitive Guide, Matthew Gast, 192 p.
Editorial O'Reilly & Associates, 2001.
[5] A Detailed Description of the PAPI Protocol, The PAPI Development Team,
RedIRIS, http://papi.rediris.es/doc/PAPI_Protocol_Detailed.pdf
[7] PAPI - Guide for Beginners, Rodrigo Castro-Rojo, Diego R. López, 2003,
RedIRIS, http://papi.rediris.es/dist/pod/PAPI-gb.html
- 33 -
Diseño del Sistema
Capítulo 3
1. Introducción
2. Escenario Principal
Para cumplir con las características deseadas del sistema de acceso seguro a recursos
de información para redes inalámbricas, dividiremos el sistema completo en tres casos
de uso, basados en los subsistemas definidos en el capítulo anterior, como se muestra
en la figura 3.1. El usuario interactuará directamente con cada uno de los casos de uso
en forma independiente.
Inicialmente el usuario debe acceder a la red inalámbrica de forma controlada, por tal
razón debe pasar un reto antes de utilizar los servicios que ofrece la red local, esta
primera etapa hace referencia al subsistema Portal Cautivo, descrito en el análisis del
sistema. A partir de las características de este subsistema se construirá el primer caso
de uso Capturar Primer Pedido, que se encargará de que ningún usuario tenga acceso
a los servicios de la red inalámbrica sin antes pasar por un proceso de autenticación.
- 34 -
Diseño del Sistema
En el primer caso de uso Capturar Primer Pedido, sólo se aceptarán peticiones HTTP y
todas las peticiones las redireccionará al URL de presentación del Servidor de
Autenticación donde se pide al usuario una contraseña.
En la construcción del prototipo del sistema se utilizará como reto el método básico de
autenticación basado en el nombre de usuario asociado a una contraseña de texto
plano. El Servidor de Autenticación, además de las URLs, envía al usuario una clave
temporal con su identificador para que el Punto de Acceso a los contenidos de
información sepa quién autorizó el acceso.
1.
Capturar
Primer Pedido
Datos del
Usuario
2.
Autenticar
Usuario
Usuario
Información
Confidencial
3.
Controlar
Acceso
Internet
El último caso de uso Controlar Acceso tiene como objetivo que solamente los usuarios
autorizados accedan a los contenidos de información, este caso de uso hace referencia
al subsistema Punto de Acceso.
- 35 -
Diseño del Sistema
3. Definición de Estados
Escuchar nuevo
Detectar usuario
usuario
Redireccionar
Esperar petición Asignar IP
petición
Figura 3.2 Diagrama de Estados del Caso de Uso: Capturar Primer Pedido
- 36 -
Diseño del Sistema
Esperar ingreso de
contraseña Autenticar usuario
- 37 -
Diseño del Sistema
Mostrar URLs Finalmente, se envía al usuario una página web con varios
autorizadas enlaces, cada enlace corresponde a un contenido de
información donde el usuario tiene permitido el acceso. A esta
información se le adiciona los datos del usuario en forma
codificada, más el identificador del Servidor de Autenticación.
Tabla 3.2 Estados del Caso de Uso: Autenticar Usuario
- 38 -
Diseño del Sistema
4. Descripción de Funciones
Una vez identificados los estados de los tres casos de uso, que conforman el sistema
de acceso seguro a recursos de información para redes inalámbricas, se describirán los
roles o participantes involucrados en el funcionamiento del sistema.
Componente Descripción
Usuario Persona con equipo móvil que desea utilizar alguno de los
servicios de la red inalámbrica local.
Punto de Acceso Equipo de hardware que permite la comunicación entre la red local
de la red y los equipos inalámbricos.
Servidor DHCP Servidor encargado de enviar la configuración de red al cliente,
incluida: una dirección IP que utilizará el equipo móvil del usuario,
la dirección del Gateway y las direcciones de los DNSs.
Firewall Dispositivo lógico que controla el acceso entre el punto de acceso
de la red inalámbrica y la red local. El Firewall realiza un filtrado de
paquetes según las políticas de seguridad de la red local.
Servidor de Servidor que ofrece a los usuarios un punto único de autenticación.
Autenticación Además permite la obtención de las claves temporales de manera
totalmente transparente, las cuales permitirán al usuario acceder a
los recursos de información, para los que estén autorizados.
Base de Datos Repositorio de los datos confidenciales de los usuarios que incluye
Usuario el nombre de usuario y la contraseña. El Servidor de Autenticación
utiliza estos datos para cumplir su función.
Base de Datos Repositorio de los datos de los diferentes contenidos de
URLs información confidencial, dentro de esta información se encuentra
sus localizaciones dentro del servidor HTTP.
Punto de Acceso Programa que realiza el control de acceso efectivo para un
conjunto de localizaciones web dentro del servidor HTTP. Este
software utiliza las claves temporales codificadas como cookies
para determinar a los usuarios con acceso autorizado.
Base de Datos Repositorio de datos donde se almacenan el cuerpo de las claves
Claves temporales que crea el Punto de Acceso para cada usuario
autenticado. Cada registro de este repositorio está asociado a un
contenido de información donde el usuario tiene autorizado el
acceso.
- 39 -
Diseño del Sistema
La relación entre los componentes del sistema está definida por el flujo de información,
por lo que se hace necesario describir qué datos son enviados y recibidos por cada
componente en los diferentes estados del sistema. A continuación se describirán los
flujos de información para los tres casos de uso del sistema de acceso seguro a
recursos de información para redes inalámbricas.
Servidor de
Usuario Punto de Acceso Servidor DHCP Autenticación
1. SSID
2. Petición de acceso
3. Petición de IP
4. Dirección IP
5. Petición HTTP
6. Redireccionamiento
7. Petición de contraseña
Figura 3.5 Diagrama de Secuencias del Caso de Uso: Capturar Primer Pedido
- 40 -
Diseño del Sistema
Tabla 3.5 Flujo de Datos del Caso de Uso: Capturar Primer Pedido
Servidor de
Datos Usuario URLs
Usuario Autenticación
1. Contraseña de usuario
3. Contraseña incorrecta
4. Permisos
5. Lista de enlaces
- 41 -
Diseño del Sistema
Punto de
Usuario Acceso Servidor HTTP Claves
1. Firma del S A
3. Claves temporales
4. Petición HTTP
6. Petición HTTP
8. Página web
- 42 -
Diseño del Sistema
- 43 -
Diseño del Sistema
- 44 -
Implementación
Capítulo 4
Implementación
1. Introducción
En este capítulo se describe los pasos que se siguieron para instalar y configurar los
diferentes componentes del sistema de acceso seguro a recursos de información para
redes inalámbricas. El objetivo de esta implementación es construir un prototipo que
cumpla las características propuestas en el análisis y el diseño del sistema.
2. Esquema de Implementación
Se tomó como punto de partida del sistema al usuario móvil con necesidad de conexión
a la red local, por consiguiente el primer componente con el que interactúa este usuario
es el punto de acceso de la red inalámbrica, en la implementación del prototipo se
utilizó un equipo de la marca 3Com con las características descritas en la tabla 4.1.
- 45 -
Implementación
- 46 -
Implementación
• Firewall
• Servidor de Autenticación
• Base de Datos del Usuario
• Base de Datos URLs
• Punto de Acceso a contenidos de información
• Base de Datos de Claves
• Servidor HTTP
En la figura 4.1 se muestran todos los componentes del sistema. El primer componente
es un Firewall que se encarga de filtrar la información no deseada; antes que cualquier
otro componente procese la información enviada a la red local a través de la red
inalámbrica, los datos pasarán por el Firewall. Para lograr un filtrado óptimo se utilizó el
sistema de firewall IPtables vinculado al sistema operativo Linux, el cual fue extendido a
partir de la versión 2.4 del kernel.
- 47 -
Implementación
# Se niega cualquier tráfico de otras redes que pase por el punto de acceso de
la red inalámbrica.
iptables -A FORWARD -i eth1 -j DROP
iptables -A FORWARD -o eth1 -j DROP
Con la implementación de estas reglas se logra que todos los paquetes desde y hacia
el punto de acceso de la red inalámbrica sean administrados por el Portal Cautivo, es
- 48 -
Implementación
decir, que todo el tráfico HTTP nuevo sea redireccionado hacia el Servidor de
Autenticación.
- 49 -
Implementación
# Se definen los documentos con formato HTML que se mostrarán al usuario, los
cuales están localizadas en el directorio de trabajo del servidor de autenticación.
$$cfg{loginTemplate} = fromFile("login.html");
$$cfg{acceptTemplate} = fromFile("accept.html");
$$cfg{testTemplate} = fromFile("test.html");
$$cfg{logoutTemplate} = fromFile("logout.html");
$$cfg{rejectTemplate} = fromFile("reject.html");
- 50 -
Implementación
Para obtener la clave privada y la clave pública del Servidor de Autentificación se puede
utilizar los siguientes comandos:
#Usuarios
#usuario::ID::contraseña::ID alternativo::grupo::lista de URLs
user::user1::papAq5PwY/QQM::Prueba1::group1::localmit,extramit
user::user2::papAq5PwY/QQM::Prueba2::group1::localmit
#Grupos
#grupo::ID:: lista de URLs
group::group1::group01::localmit
#Sitios
#sitio::ID::descripción::URL::punto de acceso::TTL::servicio::localización
site::localmit::LOCALMIT::http://148.204.31.129/local::/papi/cookie.cgi::1800::
mitpoa::/::index.html
site::extramit::EXTRASMIT::http://148.204.31.129/extra::/papi/cookie.cgi::1800:
:defaul::/::index.html
- 51 -
Implementación
# Se crea un alias para el directorio que contiene los datos confidenciales dentro
del Servidor HTTP y se habilita este directorio para responder a peticiones de
información.
Alias /local/ "/papi/prueba1/"
<Directory "/papi/prueba1">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
- 52 -
Implementación
</Directory>
</PAPI_Local>
</Location>
<Directory "/papi/prueba2">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Location /extra>
PerlSendHeader On
PerlAccessHandler PAPI::Main
<PAPI_Local>
Service_ID defaul
</PAPI_Local>
</Location>
- 53 -
Implementación
3. Resultados
Una vez que el usuario intente conectase al punto de acceso de la red inalámbrica,
comienza el intercambio de información entre los componentes del sistema de acceso
seguro a recursos de información para redes inalámbricas. El usuario no advierte en su
totalidad este flujo de información, es decir, que no percibe el envió de datos
codificados entre el sistema y su navegador HTTP de su equipo móvil.
- 54 -
Implementación
- 55 -
Implementación
Al elegir la opción salir se borra todas las cookies almacenadas por el navegador del
usuario. En la figura 4.7 se muestra la ventana que se envía como resultado de esta
opción.
Es importante reiterar que el usuario solamente utiliza su navegador web para ingresar
a la información confidencial, todos los procesos que realiza el sistema de acceso
seguro a recursos de información para redes inalámbricas son transparentes para él.
Desde el ingreso de su contraseña hasta que le aparece la información deseada, el
- 56 -
Implementación
- 57 -
Conclusiones
Conclusiones
Las redes inalámbricas comenzaron como una ventaja competitiva en el ámbito
empresarial, actualmente están cada vez más presentes en nuestra vida diaria, ya sea
en empresas, domicilios particulares, bibliotecas, restaurantes o aeropuertos. A pesar
de su rápido desarrollo, las redes inalámbricas actualmente no son totalmente seguras,
por tanto no conviene tratarlas como tales y más aún cuando hay información
confidencial involucrada.
• Se utilizó los diagramas UML para desarrollar el diseño del sistema, estos
diagramas proporcionan una sencilla interpretación del funcionamiento del
sistema propuesto.
- 58 -
Conclusiones
- 59 -
Conclusiones
Recomendaciones
Por definición, las redes inalámbricas tienen un problema de seguridad inherente
porque su medio físico es común, es decir, que todos los datos transmitidos son
accesibles para todo el mundo, por tanto siempre existe la posibilidad de sufrir ataques
que técnicamente son sencillos de realizar.
- 60 -
Conclusiones
- 61 -
Bibliografía
Bibliografía
802.11 Security, Bruce Potter, Bob Fleck, 192 p. Editorial O'Reilly & Associates,
December 2002.
802.11 Wireless Networks: The Definitive Guide, Matthew Gast, 192 p. Editorial
O'Reilly & Associates, 2001.
EAP Methods for 802.11 Wireless LAN Security, Web ProForum Tutorials, The
International Engineering Consortium,
http://www.iec.org/online/tutorials/acrobat/eap_methods.pdf
PAPI - Guide for Beginners, Rodrigo Castro-Rojo, Diego R. López, 2003, RedIRIS,
http://papi.rediris.es/dist/pod/PAPI-gb.html
- 62 -
Bibliografía
Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer
(PHY) SpecificationsANSI/IEEE Std 802.11, 1999 Edition, The Institute of Electrical
and Electronics Engineers, 20 August 1999,
http://standards.ieee.org/getieee802/download/802.11-1999.pdf
Real 802.11 Security: Wi-Fi Protected Access and 802.11i, Jon Edney, William A.
Arbaugh, 451 p. Editorial Addison-Wesley, August 2003.
The Evolution of Wireless Security in 802.11 Networks: WEP, WPA and 802.11
Standards, Stanley Wong, GSEC Practical v1.4b, May 20, 2003,
http://www.sans.org/rr/papers/68/1109.pdf
- 63 -
Apéndice A
Apéndice A
El nuevo algoritmo AES cifra bloques de 128, 192, o 256 bits y usa claves simétricas
también de 128, 192 o 256 bits. La versión de AES con una clave de 128 bits puede ser
implementada en el estándar 802.11i, porque su longitud es suficiente para
proporcionar seguridad y requiere menos tiempo de procesamiento que una clave más
larga. El algoritmo consiste en iteraciones que se componen de 4 transformaciones que
se denominan:
- 64 -
Apéndice A
En la versión de AES con una clave de 128 bits, la entrada del algoritmo también es un
bloque de 128 bits o 16 bytes, con este bloque se forma una matriz cuadrada B[ji]
llamada state array de la siguiente forma:
B[00]B[10]B[20]B[30]B[01]B[11]B[21]B[31]B[02]B[12]B[22]B[32]B[03]B[13]B[23]B[33]
Antes de iniciar el cifrado se debe realizar la derivación de las subclaves K[r], que se
obtiene de un proceso de extensión de la clave original K. Como una forma de
almacenamiento se utilizan los arreglos W[m] que tienen una longitud que depende
tanto de la longitud del bloque de entrada y del número de rondas, concretamente la
longitud de W[m] es [Nb*(Nr+1)], donde Nb es el número de columnas de B[i,j] y Nr el
número de rondas.
Para la versión de AES con una clave de 128 bits, se tiene Nb = 4, Nr = 10, es decir,
que la longitud de W será [4*(10+1)] = 44 palabras de 32 bits cada una, donde cada
bloque de 4 palabras constituye una subclave. La primera subclave se denota como
K[0] y es la copia de la clave original, quedando así llenos W[0],W[1],W[2] y W[3].
- 65 -
Apéndice A
Donde:
temp = ByteSub [S(1)(W[i-1])] xor rcon[r]
ByteSub se aplica a W[i-1] con un byte recorrido y rcon[i] está definido como
rcon[i]=(RC[i], 00, 00, 00), con RC[1] = 1 y RC[i] = X*RC[i-1] = X^(i-1), visto como un
elemento de GF(2^8).
Una vez calculadas las subclaves K[r] se inicia el proceso de cifrado con la
transformación AddRoundKey o suma de subclave:
Esta transformación solo implica un XOR entrada por entrada de las matrices B[j,i] y la
subclave K[0][j,i], que es copia de la clave original. El resultado se almacena en la
misma matriz B[j,i].
Para concluir el cifrado se deben realizar las 10 rondas estipuladas con sus respectivas
transformaciones. En el proceso de descifrado se aplican las transformaciones inversas
que en general no tienen grandes cambios.
- 66 -
Apéndice B
Apéndice B
Software Libre
Los programadores de aquella época podían examinar los programas y modificarlos, sin
restricciones, debido a que el código fuente se encontraba disponible junto con el
programa. Además, en aquél entonces no existían las leyes de copyright que
controlaran y penaran por modificar un programa.
Las empresas tenían la política de donar sus máquinas y programas de software a los
laboratorios y universidades. También publicaban el código fuente en archivos legibles
para que cualquier programador pudiera leer y mejorar los programas. Luego las
empresas pedían prestadas esas modificaciones para incorporarlas en versiones
actualizadas para el mercado comercial.
- 67 -
Apéndice B
Un programa es Software Libre sólo si permite todas estas libertades. Los usuarios
tienen la posibilidad y la libertad de distribuir copias, con o sin modificaciones, de forma
gratuita o cobrando una cantidad de dinero por la distribución, a cualquiera y en
cualquier lugar. El ser libre de hacer esto significa que no es necesario pedir o pagar
permisos por las acciones antes detalladas.
El usuario al poseer el código fuente podrá modificar los programas adquiridos, este
hecho permite a los profesionales de la informática y a los desarrolladores de sistemas
un libre intercambio de información e investigación sobre cómo funcionan los
programas. Se puede compartir conocimiento y experiencias con este tipo de software,
también se puede trabajar en proyectos remotamente, permitiendo que un mismo
software sea desarrollado en distintas partes del mundo.
De acuerdo a la licencia que poseen y según la Fundación del Software Libre, los tipos
de software libre se clasifican en:
- 68 -
Apéndice B
El Software Libre no protegido por copyleft tiene la autorización para que cualquier
persona lo pueda redistribuir y modificar así como añadirle restricciones adicionales, es
decir, una empresa de software puede compilar el programa, con o sin modificaciones,
y vender el archivo ejecutable. El software de dominio público es un tipo especial de
Software Libre no protegido con copyleft, es decir, algunas copias o versiones
modificadas pueden no ser totalmente libres.
El software con licencia Open Source podría traducirse como código fuente abierto. Es
un tipo particular de software que ofrece al usuario la posibilidad de entrar en su interior
para poder estudiarlo o modificarlo. Pero no sólo hace referencia al libre acceso al
código fuente. El propósito de establecer una definición oficial de Open Source es
establecer la esencia de lo que los programadores quieren que signifique: que aseguren
que los programas distribuidos con licencia Open Source estarán disponibles para su
continua revisión y mejora para que alcancen niveles de fiabilidad que no pueda
conseguir ningún programa comercial cerrado, sin discriminar a personas ni a grupos
de personas que quiera utilizarlo.
A la idea esencial del Open Source, ofrecer programas con acceso al código fuente,
van unidas los siguientes conceptos:
- 69 -
Apéndice B
Es necesario aclarar que Open Source y Software Libre son esencialmente lo mismo, la
diferencia radica en que los defensores del Software Libre no están ciento por ciento de
acuerdo con que las empresas usen y distribuyan Software Libre ya que, según ellos, el
mercado corporativo antepone la utilidad a la libertad, a la comunidad y a los principios
y por ende no va de la mano con la filosofía original detrás del Software Libre.
Para la Fundación del Software Libre el software Open Source posee inaceptables
restricciones. El argumento principal de emplear el término Software de Código Fuente
Abierto en lugar de Software Libre se debe a que éste último concepto no es fácil de
entender para ciertas personas. Debido a que Software Libre implica hablar sobre
libertad, sobre tópicos éticos, sobre responsabilidades, así como también sobre
conveniencia. Cuestiones que puede producir malestar y conducir a que algunas
personas rechacen la idea por esos motivos.
Mientras que el movimiento del Código Abierto permite tomar una aplicación de código
abierto, modificarla y no exige publicar el código fuente de estas modificaciones, el
movimiento de Software Libre exige explícitamente que cualquier mejora que se realice
y se publique debe ir acompañada de su correspondiente código fuente.
Esta diferencia, que puede parecer pequeña, tiene grandes connotaciones. El Software
Libre, al obligar a publicar el código fuente de los trabajos derivados, no permite a
terceros tomar un programa, aplicarle modificaciones y apropiarse de la versión
modificada. De este modo, se garantiza que cualquier trabajo derivado de un proyecto
de Software Libre continuará siendo libre.
- 70 -
Glosario
Glosario
- 71 -
Glosario
- 72 -
Glosario
- 73 -
Glosario
Web o WWW World Wide Web es un sistema de hipertexto que funciona sobre
Internet. Para ver la información se utiliza una aplicación llamada
navegador web para extraer elementos de información, llamados
páginas web, de los servidores web y mostrarlos en la pantalla del
usuario. El usuario puede entonces seguir hiperenlaces que hay
en la página a otros documentos o incluso enviar información al
servidor para interactuar con él. A la acción de seguir hiperenlaces
se le suele llamar navegar por la Web.
- 74 -
Glosario
- 75 -