Está en la página 1de 20

03 Autentificación y control de

acceso
.................................................................................................

En este tema aprenderemos qué es la autenticación, qué tipos de siste-


mas de autenticación existen y cómo controlan el acceso a los ficheros.

45
46
3.1
Conceptos generales sobre
la autentificación
.....................................................................................................

La autenticación o autentificación es el acto de establecimiento o


confirmación de algo (o alguien) como auténtico.

En términos de seguridad de redes de datos, se puede considerar la


autenticación como uno de los tres pasos fundamentales: autenticación,
autorización y auditoría.

Los métodos de autenticación están en función de lo que utilizan para la


verificación, y se dividen en tres categorías:

− Sistemas basados en algo conocido, como un password en Unix o


passphrase en PGP.
− Sistemas basados en alguna posesión, como una tarjeta de
identidad, una tarjeta inteligente (smartcard), dispositivo token, etc.
− Sistemas basados en una característica física del usuario o acto
involuntario del mismo, como la verificación de voz, de escritura, de
huellas, de patrones oculares, etc.

Cualquier sistema de identificación ha de poseer unas determinadas


características para ser viable:
− Ha de ser fiable con una probabilidad muy elevada.
− Económicamente factible para la organización.
− Soportar con éxito los tipos de ataques más comunes.
− Ser aceptable para los usuarios.

47
3.2
Passwords

...................................................................................................

En este apartado veremos qué tipo de modelo es el password y cómo


funciona.

El modelo de autenticación más básico consiste en decidir si un usuario es


quien dice ser simplemente basándonos en una prueba de conocimiento
que, a priori, sólo ese usuario pueda superar, como las contraseñas.

Esta aproximación es la más vulnerable a todo tipo de ataques, pero


también la más barata, por lo que se convierte en la técnica más utilizada
en entornos que no precisan de una alta seguridad, como los sistemas Unix
en redes normales.

Otros entornos en los que se suele aplicar este modelo de autenticación


son las aplicaciones que requieren de alguna identificación de usuarios,
como el software de cifrado PGP o el escáner de seguridad NESSUS.

También se utiliza como complemento a otros mecanismos de


autenticación, por ejemplo en el caso del número de identificación personal
(PIN) a la hora de utilizar cajeros automáticos.

En todos los esquemas de autenticación basados en contraseñas se


cumple que las entidades que participan en la autenticación acuerdan una
clave, que han de mantener en secreto si desean que la autenticación sea
fiable.

48
Cuando una de las partes desea autenticarse ante otra, se limita a
mostrarle su conocimiento de esa clave común, y si ésta es correcta se
otorga el acceso a un recurso.

Esquema de autenticación
basado en contraseñas

Como ya hemos dicho, este esquema es muy frágil: basta con que una
de las partes no mantenga la contraseña en secreto para que toda la
seguridad del modelo se pierda.

Por ejemplo, si el usuario de una máquina Unix comparte su clave con un


tercero, o si ese tercero consigue leerla y rompe su cifrado con ataques
de diccionario, automáticamente esa persona puede autenticarse ante el
sistema con éxito con la identidad de un usuario que no le corresponde.

3.3
Token
.................................................................................................

En este apartado veremos qué es un token y qué tipos de tokens existen.

Un token de seguridad (también llamado de autenticación o criptográfico)


es un dispositivo electrónico que se le da a un usuario autorizado de un
servicio computerizado para facilitar el proceso de autenticación.

49
Los tokens electrónicos tienen un tamaño pequeño que permiten ser
cómodamente llevados en el bolsillo o la cartera.

Se usan para almacenar claves criptográficas, como firmas digitales o


datos biométricos como las huellas digitales.

Algunos diseños se hacen a prueba de alteraciones, otros pueden incluir


teclados para la entrada de un PIN.

Existen más de una clase de token de autenticación, como los generadores


de contraseñas dinámicas OTP y los comúnmente denominados tokens
USB, que además de almacenar passwords y certificados, también
permiten llevar la identidad digital de una persona.

Generadores de contraseñas dinámicas (OTP) Tokens USB

Otra clase de token son las tarjetas inteligentes, o smartcards.

Una smartcard es un dispositivo de seguridad del tamaño de una tarjeta de


crédito, resistente a la adulteración, que ofrece funciones para un
almacenamiento seguro de información y también para el procesamiento
de la misma en base a tecnología VLSI.

En la práctica, las tarjetas inteligentes poseen un chip empotrado en la


propia tarjeta que puede implementar un sistema de ficheros cifrado y
funciones criptográficas.

Además, puede detectar activamente intentos no válidos de acceso a la


información almacenada.

Este chip inteligente es el que las diferencia de las simples tarjetas de


crédito, que solamente incorporan una banda magnética donde va
almacenada cierta información del propietario de la tarjeta.

50
Diferencia entre una tarjeta
Smartcard y una tarjeta de
crédito

3.4
Biométrica

............................................................................................

En este apartado veremos qué es un sistema biométrico y los diferentes


tipos de modelos que existen.

A pesar de la importancia de la criptología en cualquiera de los sistemas


de identificación, existen otra clase de sistemas en los que no es
necesaria.

Estos sistemas son los denominados biométricos, basados en


características físicas del usuario a identificar.

El reconocimiento de formas, la inteligencia artificial y el aprendizaje son


las ramas de la informática que desempeñan el papel más importante en
los sistemas de identificación biométricos.

51
Tradicionalmente, la autenticación de usuarios mediante métodos
biométricos ha estado basada en cinco grandes grupos: verificación de
voz, de escritura, de huellas, de patrones oculares y de geometría de la
mano.

Sistemas biométricos

En los sistemas de reconocimiento de voz se intenta identificar una


serie de sonidos y sus características para decidir si el usuario es quien
dice ser.

Cuando un usuario desea acceder al sistema, tiene que pronunciar unas


frases en las que reside gran parte de la seguridad del protocolo.

En algunos modelos, los denominados de texto independiente, el sistema


tiene almacenadas un conjunto de frases que es capaz de reconocer.

El principal problema del reconocimiento de voz es la inmunidad frente a


los ataques replay, un modelo de ataques de simulación en los que un
atacante reproduce las frases o palabras que el usuario legítimo
pronuncia para acceder al sistema.

Este problema es especialmente grave en los sistemas que se basan en


textos preestablecidos.

Por el contrario, en modelos de texto independiente, este ataque no es


tan sencillo porque la autenticación se produce realmente por una
prueba-respuesta entre el usuario y la máquina.

52
Esto hace que sea más difícil la usurpación de la identidad, ya que la
cantidad de texto grabado tiene que ser mayor y la velocidad para localizar
la parte del texto que el sistema propone tiene que ser elevada.

La verificación de escritura tiene como objetivo autenticar al usuario


basándose en ciertos rasgos tanto de la firma como de su diseño.

En los modelos biométricos, se analiza además de la forma de firmar, las


características dinámicas: el tiempo utilizado para firmar, las veces que se
separa el bolígrafo del papel, el ángulo con que se realiza cada trazo, etc.

Para utilizar este sistema se solicita en primer lugar a los futuros usuarios
un número determinado de firmas ejemplo, de las cuales el sistema extrae
y almacena ciertas características.

Esta etapa se denomina aprendizaje, y el principal obstáculo a su correcta


ejecución son los usuarios que no suelen firmas uniformemente.

Contra este problema la única solución es relajar las restricciones del


sistema a la hora de aprender firmas, con lo que se decrementa su
seguridad.

Otro de los sistemas biométricos más utilizados es el de la verificación de


huellas.

Típicamente la huella dactilar de un individuo ha sido un patrón bastante


bueno para determinar su identidad de forma inequívoca, ya que está
aceptado que dos dedos nunca poseen huellas similares.

Cuando un usuario desea autenticarse ante el sistema sitúa su dedo en un


área determinada.

53
De la imagen tomada el sistema es capaz de analizar ciertos rasgos de la
huella, y la posición relativa de cada uno de ellos.

Si la comparación de las posiciones relativas de los rasgos leídos con los


almacenados en la base de datos es correcta, se permite el acceso al
usuario.

Los modelos de autenticación biométrica basados en patrones oculares


se dividen en dos tecnologías diferentes: o bien analizan patrones retinales,
o bien analizan el iris.

Estos métodos se suelen considerar los más efectivos: para una población
de 200 millones de potenciales usuarios la probabilidad de coincidencia es
casi 0.

Además, una vez muerto el individuo los tejidos oculares degeneran


rápidamente, lo que dificulta la falsa aceptación de atacantes que puedan
robar este órgano de un cadáver.

La principal desventaja de estos métodos es su escasa aceptación; el


hecho de mirar a través de un binocular no es cómodo para los usuarios, ni
aceptable para muchos de ellos.

Los sistemas de autenticación basados en el análisis de la geometría de


la mano son sin duda los más rápidos dentro de los biométricos: con una
probabilidad de error aceptable en la mayoría de ocasiones.

Cuando un usuario necesita ser autenticado sitúa su mano sobre un


dispositivo lector con unas guías que marcan la posición correcta para la
lectura.

Dispositivo lector de mano


con guías

54
Una vez la mano está correctamente situada, unas cámaras toman una
imagen superior y otra lateral, de las que se extraen ciertos rasgos en un
formato de tres dimensiones.

Transformando estos datos en un modelo matemático que se contrasta


contra una base de patrones, el sistema es capaz de permitir o denegar
acceso a cada usuario.

3.5
Autentificación de red
...................................................................................................

En este apartado veremos cómo funcionan los sistemas de detecciones de


ataques y algunos protocolos de seguridad de red.

Los sistemas de detección de intrusiones basados en red utilizan paquetes


de red sin modificar como fuente de datos.

Este sistema normalmente utiliza un adaptador de red funcionando para


monitorizar y analizar todo el tráfico en tiempo real mientras viaja por la red.

Su módulo de reconocimiento de ataques utiliza cuatro técnicas comunes


para reconocer un ataque:

− Un patrón, expresión o bytecode coincidente con ataques conocidos.


− Frecuencia o cruce de umbrales.
− Correlación de eventos menores.
− Detección de anomalía estadística.

55
Una vez se ha detectado un ataque, el módulo de respuesta del sistema de
detección ofrece una serie de opciones para notificar, alertar y tomar
acciones en respuesta al ataque.

Estas respuestas pueden variar dependiendo del modelo, pero


normalmente incluyen:
− notificación al administrador
− finalización de la conexión
− grabación de la sesión para su posterior análisis y recolecta de
evidencias.

Los sistemas de identificación de intrusiones basados en host son unas


poderosas herramientas para entender ataques previos y determinar los
métodos adecuados para detenerlos en un futuro.

Estos sistemas aún utilizan registros de audiciones, pero son mucho más
automatizados, y sus técnicas de detección se han sofisticado.

Normalmente monitorizan los sistemas, eventos, y los registros de


seguridad de los sistemas operativos.

Cuando alguno de estos archivos cambia, el sistema de identificación


compara el nuevo registro con las firmas de ataques para ver si coinciden.

Si lo hacen, el sistema responde enviando alertas al administrador y


tomando otras acciones.

Este sistema pretende también incluir otras tecnologías.

Un popular método para detectar intrusiones comprueba los archivos de


claves del sistema y los ejecutables vía checksums en intervalos regulares
para comprobar si hay cambios inesperados.

Método para detectar


intrusiones incluyendo
otras tecnologías

56
La puntualidad de la respuesta está relacionada directamente con el
intervalo de escaneos.

Finalmente, algunos productos escuchan la actividad de los puertos y


alertan a los administradores cuando algún puerto específico es utilizado.

Este tipo de detecciones añade un nivel elemental de detección de


intrusiones basados en red a los entornos basados en host.

Existen varios protocolos de red, como el PAP o el CHAP.

El Protocolo de Autenticación de Passwords (PAP), es un protocolo simple


que se usa para autenticar un usuario en un servidor de acceso a la red.

Este protocolo lo utilizan, por ejemplo, los proveedores de Internet.

PAP utiliza el protocolo Punto a Punto (PPP).

Con esto se consigue validar a un usuario antes de dejarlo acceder a los


recursos del servidor.
Casi todos los servidores que operan con redes soportan PAP.

El protocolo PAP transmite contraseñas ASCII sin por toda la red, por lo
que se le considera inseguro.

Se usa como último recurso cuando el servidor remoto no soporta un


protocolo de autenticación más fuerte, como CHAP.

El protocolo PAP funciona en dos pasos:

− El cliente envía el nombre de usuario y su contraseña.


− El servidor envía autenticación-ack si las credenciales son correctas,
o autenticación-nak si no lo son.

57
CHAP es un protocolo de autenticación por desafío mutuo (en inglés,
Challenge Handshake Authentication Protocol).

Este protocolo, al igual que PAP, también sirve para autenticar a un usuario
en una red o en una entidad de autenticación.

CHAP también usa PPP, y verifica periódicamente la identidad del cliente


usando una negociación a tres bandas.

Esto ocurre en el momento de establecer la conexión inicial, y puede ocurrir


más tarde en cualquier momento.

La verificación está basada en un secreto compartido (como puede ser una


contraseña):
− Una vez hecha la conexión, el sistema autenticador envía un
mensaje “prueba” al cliente.
− El cliente responde con un valor calculado a través de una función
hash de solo ida, como por ejemplo MD5.
− El sistema autenticador compara la respuesta con sus propios
cálculos.

− Si los valores coinciden, el sistema autenticador aprueba la


autenticación; si no, termina la conexión.

A intervalos aleatorios, el sistema autenticador envía una nueva prueba al


cliente y se vuelven a repetir los tres pasos.

58
El protocolo CHAP también previene de los ataques playback y requiere
que tanto el cliente como el servidor sepan el secreto, aunque nunca se
envía a través de la red.

Single sign-on (SSO) es un procedimiento de autenticación que habilita al


usuario para acceder a varios sistemas con una sola instancia de
identificación.

Hay cinco tipos principales de SSO, también llamados sistemas de


autenticación reducida:
− Enterprise single sign-on (E-SSO): Funciona para una atenticación
primaria, interceptando los requerimientos de login presentados por las
aplicaciones secundarias para completar los mismos con el usuario y
contraseña.

Los sistemas E-SSO permiten interactuar con sistemas que pueden


deshabilitar la presentación de la pantalla de login.

− Web single sign-on (Web-SSO): Trabaja sólo con aplicaciones y


recursos accedidos vía web.

Los accesos son interceptados con la ayuda de un servidor Proxy o de


un componente instalado en el servidor web destino.

Los usuarios no autenticados que tratan de acceder son redirigidos a un


servidor de autenticación y regresan solo después de haber logrado un
acceso exitoso.

− Kerberos: Es un método popular de externalizar la autenticación de los


usuarios. Este método de forma más profunda lo veremos a
continuación.

− Federation: También para aplicaciones web, utiliza protocolos basados


en estándares para permitir que las aplicaciones puedan identificar los
clientes sin necesidad de autenticación redundante.

− OpenID: Es un proceso de SSO distribuido y descentralizado donde la


identidad se compila en una URL que cualquier aplicación o servidor
puede verificar.

59
Kerberos es un protocolo de autenticación de redes de ordenador que
permite a dos computadores en una red insegura demostrar su identidad
mutuamente de manera segura.

Sus diseñadores se concentraron primeramente en un modelo de cliente-


servidor, y brida autenticación mutua, por lo que tanto el cliente como el
servidor verifican la identidad uno del otro.

Los mensajes de autenticación están protegidos para evitar escuchas y


ataques de Replay.

Kerberos se basa en criptografía de clave simétrica y requiere un tercero


de confianza.

Además, existen extensiones del protocolo para poder utilizar criptografía


de clave asimétrica.

El funcionamiento de Kerberos es el siguiente:

El cliente se autentica a sí mismo contra el servidor de autenticación, así


demuestra al servidor que garantiza los tickets que está autorizado para
recibir un ticket de servicio.

El servidor le envía el ticket al cliente y éste ya puede demostrar al servidor


de servicios que ha sido aprobado para hacer uso del servicio kerberizado.

Funcionamiento de
Kerberos

60
3.6
Control de acceso
...................................................................................................

En este apartado veremos qué tipo de control de acceso tienen los


principales SO y cómo manejan los privilegios de los archivos.

La mayoría de los sistemas de archivo modernos permiten asignar


permisos o derechos de acceso a los archivos para determinados usuarios
y grupos de usuario.

De esta manera, se puede restringir o permitir el acceso de un determinado


usuario a un archivo para su visualización de contenidos, modificación y/o
ejecución.

Los sistemas UNIX, incluyendo sistemas basados en Linux y Mac OS X,


poseen un sistema simple para el manejo de permisos sobre archivos
individuales.

Las variantes de DOS (incluyendo los productos de Microsoft MS-DOS,


Windows 95, Windows 98 y Windows Me) no implementan ningún sistema
de permisos.

Microsoft Windows NT y sus derivados (incluyendo Windows 2000 y


Windows XP), así como VMS y OpenVMS, usan listas de control de acceso
para administrar un conjunto más complejo y variado de permisos.

Como ya hemos dicho, Microsoft Windows NT y sus derivados usan listas


de control de acceso.

61
Una Lista de Control de Acceso (ACL) es un concepto de seguridad
informática usado para fomentar la separación de privilegios.

Es una forma de determinar los permisos de acceso apropiados a un


determinado objeto, dependiendo de ciertos aspectos del proceso que
hace el pedido.

Estas listas permiten controlar el flujo del tráfico en equipos de redes, tales
como routers y switches.

Flujo del tráfico en equipo


de redes

Su principal objetivo es filtrar tráfico, permitiendo o denegando el tráfico de


red de acuerdo a alguna condición.

Sin embargo, también tienen usos adicionales, como por ejemplo, distinguir
“tráfico interesante” (tráfico suficientemente importante como para activar o
mantener una conexión” en ISDN.

La seguridad basada en capacidades es un concepto en el diseño de los


sistemas de seguridad informática.

Una capacidad (conocida algunas veces como llave) es un certificado


infalsificable de autoridad.

Estas capacidades tienen como objetivo mejorar un sistema de seguridad


siendo utilizadas en lugar de referencias falsificables.

Una referencia falsificable identifica un objeto, pero no especifica qué


derechos de acceso son apropiados para ese objeto y el programa a la que
pertenece esa referencia.

Así, un sistema basado en capacidades utilizará una lista de capacidades


para no tener la necesidad de ninguna lista de control de acceso ni
mecanismos similares. En sistemas UNIX, cada clase de privilegios se
representa por tres caracteres.

62
El primer conjunto de caracteres representa la clase de usuario, el
segundo representa la clase de grupo y el tercero representa la clase del
resto.

Cada uno de los tres caracteres representa los permisos de lectura,


escritura y ejecución:
− ‘r’ si el bit de lectura está asignado, ‘-‘ en caso contrario.
− ‘w’ si el bit de escritura está asignado, ‘-‘ en caso contrario.
− ‘x’ si el bit de ejecución está asignado, ‘-‘ en caso contrario.

Así, por ejemplo, la notación “rwx r-x r-x” para un archivo regular tendría
todos los permisos asignados para su propietario y solo permisos de
lectura y ejecución para el grupo de usuarios y el resto.

Ningún usuario, salvo el propietario, podría modificar los contenidos del


archivo.

Para modificar los privilegios de acceso de un archivo o directorio, se utiliza


generalmente el comando chmod (change mode, cambiar modo en inglés).

La forma más común para asignar nuevos privilegios de acceso a los


archivos es a través del modo octal.
Como resultado de la combinación de los tres tipos de privilegios con las
tres clases de usuarios se obtiene 23 = 8 privilegios en total que pueden ser
asignados o denegados de forma independiente.

El primer dígito modifica el tipo de privilegio deseado al dueño, el segundo


al grupo y el tercero al resto de los usuarios.

Modo Octal

Por ejemplo, “chmod 766 archivo.txt” brinda acceso total al duelo y lectura y
escritura a los demás, y “chmod 635 archivo.txt” brinda lectura y escritura al
dueño, escritura y ejecución al grupo y lectura y ejecución al resto.

63
Los sistemas de gestión de base de datos (en inglés Database
Management system, DBMS) son un tipo de software muy específico,
dedicado a servir de interfaz entre la base de datos, el usuario y las
aplicaciones que la utilizan.

Existe un tipo de DBMS llamado Sistema de gestión relacional, y es el


sistema en el que se basan las bases de datos más populares
actualmente.

Este tipo de sistemas gestionan los datos y su relación con otros datos en
forma de tablas.

Estos sistemas gestionan el control de acceso mediante algunas


características de seguridad integradas, que protegen la información tanto
contra el acceso no autorizado como contra daños mal intencionados o
accidentales.

Esta seguridad se proporciona otorgando o retirando privilegios a los


usuarios y actúa independientemente de cualquier otro sistema de
seguridad presente en el sistema.

Dependiendo del rol al que asignemos los usuarios que creamos, éstos
tendrán unos privilegios u otros en nuestra base de datos.

64

También podría gustarte