[ CONCEPTOS BÁSICOS ] - [
ADMINISTRACION ELEMENTAL ] - [ AUTENTIFICACION
DE USUARIOS ] - [ POLITICAS DE SEGURIDAD ] -
[
SEGURIDAD EN EL NUCLEO ] -
[ COPIAS DE SEGURIDAD ] - [
BIBLOGRAFIA ]
3.1 - INTRODUCCION Y CONCEPTOS BASICOS
3.2 - SISTEMAS BASADOS EN ALGO CONOCIDO:
CONTRASEÑAS
3.3 - SISTEMAS BASADOS EN ALGO POSEÍDO:
TARJETAS INTELIGENTES
3.4 - SISTEMAS DE AUTENTICACION BIOMÉTRICA
3.4.1 - VERIFICACION
DE VOZ
3.4.2 - VERIFICACION
DE ESCRITURA
3.4.3 - VERIFICACION
DE HUELLAS
3.4.4 - VERIFICACION
DE PATRONES OCULARES
3.4.5 - VERIFICACION
DE LA GEOMETRICA DE LA MANO
3.5 - AUTENTIFICACION DE USUARIOS EN UNIX
3.5.1 - AUTENTIFICACION
CLASICA
3.5.2 - MEJORA DE
LA SEGURIDAD
3.1 - ADMINISTRACION DE USUARIOS: CONCEPTOS BASICOS
Uno de los puntos fundamentales en la buena implementacion
de un sistema informatico seguro es la autentificacion de individuos. Es
decir que el sistema tenga bajo control quien pueda estar visionando o
manipulando cierta informacion del sistema. Distinguiremos los elementos
activos del sistema como los usuarios de los elementos pasivos del sistema
como por ejemplo una base de datos, un fichero, la utilizacion de un procesador
para potenciar un calculo, etc...
El proceso de identificacion puede ser algo tan "simple"
como una contraseña o tan complejo como un reconocedor de retinas.
El sistema debera estar preparado auntenticar la identidad de una persona,
es decir, capacidad para decidir si esa persona es quien dice ser. Por
ejemplo, cuando arrancamos linux y nos pide el login, nosotros le decimos
a la maquina que somos "Juan", la maquina toma nota y nos pregunta que
nos identifiquemos como que somos "Juan", por lo que nos pregunta una contraseña,
en caso de que realmente seamos quien nosotros decimos ser, sabremos la
clave, la maquina lo comprobara en su base de datos de usuarios y nos dara
acceso, en caso contrario, si la contraseña no autentifica el login
introduccido la maquina nos restringira el acceso.
Los sistemas empleados para la autenticacion de usuarios de dividen en tres ramas diferentes:
Es uno de los sistemas mas extendidos debido a su facil
implementacion y a su escaso coste. Se basa en que cada individuo asociado
a una maquina se le asigna un valor, un nombre, un login, etc...
Este atributo queda almacenado en la base de datos del
sistema informatico. Un determinado usuario introduce su nombre en la maquina,
y para autenticarse introduce una contraseña, el computador la comprueba
y en caso de que sea cierta se le permite el acceso, en caso negativo el
acceso le sera denegado. Este tipo de implementacion se utiliza en entornos
que no requieren una excesiva proteccion, entornos de seguridad medio-baja.
En algunos sistemas un poco mas sofisticados se aplican diversas tecnicas,
como la aplicacion del software de cifrado PGP o escaneres de seguridad
NESSUS. El "truco" de este sistema se basa en la posesion de una contraseña
secreta que solo un login sabe, su fragilidad de rotura viene dada cuando
un usuario no mantiene en secreto su contraseña y es sabida por
terceros, o esos terceros interceptan la contraseña de algun modo
o es sometida a un ataque de diccionario, en cuyo caso dejamos una puerta
abierta a ciertos recursos jugosos por terceros.
3.3 - SISTEMAS BASADOS EN ALGO POSEÍDO: TARJETAS INTELIGENTES
Desde un punto de vista formal, una tarjeta inteligente (o smartcard) es un dispositivo de seguridad del tamaño de una tarjeta de crédito, resistente a la adulteracion, que ofrece funciones para un almacenamiento seguro de informacion y tambien para el procesamiento de la misma en base a tecnologia 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 criptograficas, y ademas puede detectar activamente intentos no validos de acceso a la informacion almacenada; este chip inteligente es el que las diferencia de las simples tarjetas de credito, que solamente imporan una banda magnetica donde va almacenada cierta informacion del propietario de la tarjeta.
esquema de una tarjeta inteligente
El acceso a las areas de memoria solamente es posible
a traves de la unidad de E/S y de una CPU, lo que evidentemente aumenta
la seguridad del dispositivo. Existe tambien un sistema operativo empotrado
en la tarjeta - generalmente en ROM, aunque tambien se puede extender con
funciones en la EEPROM - cuya funcion es realizar tareas criptograficas,
tales como cifrados RSA, 3 DES, funciones resumen, etc...); el criptoprocesador
que incorpora ayuda a estas tareas ofreciendo operaciones RSA con claves
que varian desde 512 a 1024 bits. Cuando el usuario poseedor de una smartcard
desea autenticar necesita introducir la tarjeta en un hardware lector;
los dos dispositivos se identifican entre si con un protocolo a dos bandas
en el que es necesario que ambos conozcan la misma clave, lo que elimina
la posibilidad de utilizar tarjetas de terceros para autenticarse ante
el lector de una determinada compañia; adenas esta clave puede utilizarse
para asegurar la comunicacion entre la tarjeta y el dispositivo lector.
Tras identificarse las dos partes, se lee la identificacion personal de
la tarjeta (PID), y el usuario teclea su PIN; se inicia entonces un protocolo
de desafio-respuesta: se envia el PID a la maquina y esta desafia a la
tarjeta, que responde al desafio utilizando una clave personal del usuario
(PK). Si la respuesta es correcta, el host ha identificado la tarjeta y
el usuario obtiene acceso al recurso pretendido.
Las ventajas de utilizar tarjetas inteligente como medio
para autentificar usuarios son muchas frente a las desventajas; se trata
de un modelo ampliamente aceptado entre los usuarios, rapido, y que incorpora
hardware de alta seguridad tanto para almacenar datos como para realizar
funciones de cifrado. Ademas, su uso es factible tanto para controles de
acceso fisico como para controles de acceso logico a los hosts, y se integra
facilmente con otros mecanismos de autenticacion como las contraseñas;
y en caso de desear bloquear el acceso de un usuario, no tenemos mas que
retener su tarjeta cuando la introduzca en el lector o marcarla como invalida
en una base de datos. Como principal inconveniente de las smartcards podemos
citar el coste adicional que supone para una organizacion el comprar y
configurar la infraestructura de dispositivos lectores y las propias tarjetas;
aparte, que un usuario pierda su tarjeta es bastante facil, y durante el
tiempo que no disponga de ella o no puede acceder al sistema, o hemos de
establecer reglas especiales que pueden comprometer nuestra seguridad (y
por supuesto se ha de marcar como tarjeta invalida en una base de datos
central, para que un potencial atacante no pueda utilizarla). Tambien la
distancia logica entre la smartcard y su poseedor, simplemente nos podemos
fijar en que la tarjeta no tiene un interfaz para el usuario, puede ser
fuente de varios problemas de seguridad. Aparte de los problemas que puede
implicar el uso de smartcards en si, contra la logica de una tarjeta inteligente
existen diversos metodos de ataque, como realizar ingenieria inversa, destructiva,
contra el circuito de silicio (y los contenidos de la ROM), adulterar la
informacion guardada en la tarjeta o determinar por diferentes metodos
el contenido de la memoria EEPROM.
3.4 - SISTEMAS DE AUTENTICACION BIOMÉTRICA
Los sistemas de autentificacion de usuarios tradicionales
tienen los dias contados en un futuro no muy lejano. El nuevo modelo propuesto
se basa en un sistema mas amigable para el usuario, no hara falta que se
acuerda de una password o que siempre tenga que llevar una determinada
tarjeta encima. Los sistemas de autentificacion biometrica se basan en
el analisis de rasgos fisicos caracteristicos del usuario.
De momento estas tecnicas no estan al alcance de todas
las empresas debido a su alto precio y a su costosa implementacion y mantenimiento,
por lo que no es un sistema actualmente muy extendido.
La criptologia se limita aqui a un uso secundario, como
el cifrado de una base de datos de patrones retinales, o la transmision
de una huella dactilar entre un dispositivo analizador y una base de datos.
El fundamento es aplicar un dispositivo en algun sistema
de redes, Unix, etc... que basandose en las caracteristicas del sujeto
a identificar, le permita o deniege acceso a un determinado recurso.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
comparacion de metodos biometricos
Los pasos basicos en que se fundamentan los autentificadores
biometricos son cuatro: captura, extraccion, comparacion y decision.
El primer paso es la captura o lectura de ciertos datos
que un usuario presenta para validarse. Posteriormente se extraen determinadas
caracteristicas de los datos obtenidos. Estos datos son comparados con
una base de datos de patrones ya existente en el sistema. Finalmente es
la maquina quien decide si ese usuario es valido o no, es en esta fase
donde entra la fiabilidad del sistema biometrico.
Es en esta decision donde principalmente entran en juego
las dos caracteristicas basicas de la fiabilidad de todo sistema biometrico
(en general, de todo sistema de autenticacion): las tasas de falso rechazo
y de falsa aceptacion. Por tasa de falso rechazo (False Rejection Rate,
FRR) se entiende la probabilidad de que el sistema de autenticacion rechaze
a un usuario legitimo porque no es capaz de identificarlo correctamente,
y por tasa de falsa aceptacion (False Acceptance Rate, FAR) la probabilidad
de que el sistema autentique correctamente a un usuario ilegitimo; evidentemente,
una FRR alta provoca descontento entre los usuarios del sistema, pero una
FAR elevada genera un grave problema de seguridad: estamos proporcionando
acceso a un recurso a personal no autorizado
a acceder a el.
Es un sistema que se basa en que una computadoras debe de ser capaz de reconocer a un cierto individuo dados algunos sonidos caracteristicos. Para ello de seben dar unas ciertas condiciones de calidad, tales como la ausencia de sonidos, reverberaciones o ecos. Idealmente, estas condiciones deberian ser siempre igual para todos los reconocimientos.
Existen dos tipos de tecnicas de verificacion, la de texto
dependiente y la de texto independiente. La del texto dependiente la maquina
en su base de datos tiene almacenados un numero limitado de frases a las
que recurrira cuando el usuario las pronuncie. Por ejemplo el nombre de
esa persona, el usuario diria su nombre, ese nombre la maquina lo compararia
con su patron en la base de datos y le permitiria o le denegaria el acceso.
El metodo de texto independiente es mucho mas seguro que el de texto dependiente.
Este ultimo en realidad tambiend se basa en un modelo desafio-respuesta,
el computador "propone" al usuario que desea acceder la pronunciacion de
diversas palabras. Estas palabras son analizadas teniendo muy en cuenta
la entonacion, pronunciacion de diptongos, palabras con muchas vocales...;cuantas
mas informacion mejor, ya que el computador podras comparar sus patrones
con los que esta mostrando el usuario.
El primer modelo presenta el problema de un ataque "replay
attacks", donde una persona podria grabar lo que dice el usuario que desea
acceder y poder utilizar la grabacion posteriormente para conseguir el
acceso a determinados recursos. El segundo metodo por ello es mas seguro,
ya que se trata de un protocolo basado en desafio-respuesta la facilidad
para engañar al sistema disminuye a pasos agigantados, ya que deberiamos
tener una base de datos de sonidos enorme, ademas de una rapidez de busqueda
altisima. Es decir un elemento con una grabadora con un par de grabaciones
se le haria muy dificil acceder ya que, posiblemente lo que le preguntara
el sistema de seguridad no lo tuviera guardado y por que aunque lo tuviera
guardado hay un tiempo limitado de respuesta, fuera del cual el sistema
nos denega el acceso, y por lo tanto deberia tener un mecanismo de busqueda
muy potente.
3.4.2 - VERIFICACION DE ESCRITURA
De las misma forma que sucedia en la verificacion de la
voz, el objetivo aqui no es interpretar o entender lo que el usuario escribe
en el lector, sino autenticarlo basandose en ciertos rasgos tanto de la
firma como de su rubrica.
La verificacion en base a firmas en algo que todos utilizamos
y aceptamos dia a dia en documentos o cheques; no obstante, existe una
diferencia fundamental entre el uso de las firmas que hacemos en nuestra
vida cotidiana y los sistemas biometricos; mientras que habitualmente la
verificacion de la firma consiste en un simple analisis visual sobre una
impresion en papel, estatica, en los sistemas automaticos no es posible
autenticar usuarios en base a la representacion de los trazos de su firma.
En los modelos biometricos se utiliza ademas la forma
de firmar, las caracteristicas dinamicas (DSV - Dynamic Signature Verification),
es decir, el tiempo utilizado para rubricar, las veces que se separa el
boligrafo del papel, el angulo con que se realiza cada trazo, etc....
Para utilizar un sistema basado en firmas se solicita en primer lugar a los futuros usuarios un numero determinado de firmas ejemplo, de las cuales el sistema extrae y almacena ciertas caracteristicas; esta etapa se denomina de "aprendizaje", y el principal obstaculo a su correcta ejecucion son los usuarios que no suelen firmar uniformemente, con lo que para este problema normalmente se relajan las restricciones del sistema a la hora de "aprender" firmas, con lo que se decrementa la seguridad.
Una vez que el sistema conoce las firmas de sus usuarios, cuando estos desean acceder a el se les solicita tal firma, con un numero limitado de intentos. La firma introducida es capturada por un lapiz optico o por una lectora sensible, y el acceso al sistema se produce una vez que el usuario ha introducido una firma que el verificador es capaz de distinguir como autentica.
3.4.3 - VERIFICACION DE HUELLAS
Huella dactilar con minucias sacadas. http://www.idex.no
Este sistema de autenticacion se basa en el reconocimiento
de las huellas dactilares de un determinado individuo, guarda un parecido
muy cercano con los patrones que usa la policia con tinta, solo que aqui
se utilizan imagenes digitales.
Todo se basa en la teoria que nadie tiene las huellas
dactilares iguales, ni si quiera hermanos, gemelos, etc...
El usuario situa su dedo sobre un lector que toma la
imagen y selecciona ciertos puntos como remolinos, arcos, etc, los toma
como datos y los compara con el resto de huellas almecenadas en el sistema.
Por convenio se toma que nadie tiene mas de 8 puntos iguales, el sistema
toma de 30 a 40 y los analiza. Si la comparacion relativa de estas minucias
sobre la base de datos es correcta se le da acceso al usuario a determinados
recursos, obviamente si su huella dactilar no coincide con las almacenadas
en la base de datos se le denega el acceso.
De todos los metodos biometricos, este es de los mas baratos relativamente, ya que los lectores no son tan caros, y ademas tiene bastante aceptacion por parte del usuario. Por contra se podrian hacer lecturas erroneas si se produjeran heridas sobre la piel.
3.4.4 - VERIFICACION DE PATRONES OCULARES
Los modelos de autenticacion biometrica basados en patrones
oculares se dividen en dos tecnologias diferentes: o bien analizan patrones
retinales, o bien analizan el iris. Estos metodos se suelen considerar
los mas efectivos: para una poblacion de 200 millones de personas de potenciales
usuarios la probabilidad de coincidencia es casi 0.
La principal desventaja de los metodos basados en el
analisis de patrones oculares es su escasa aceptacion; el hecho de mirar
a traves de un binocular, necesario en ambos modelos, no es comodo para
los usuarios, ni aceptable para muchos de ellos: por un lado, los usuarios
no se fian de un haz de rayos analizando su ojo, y por otro examen de este
organo puede revelar enfermedades o caracteristicas medicas que a muchas
personas les puede interesar mantener en secreto, como el consumo de alcohol
o de ciertas drogas. Aunque los fabricantes de dispositivos lectores aseguran
que solo analiza el ojo para obtener patrones relacionados con la autenticacion,
y en ningun caso se viola la privacidad de los usuarios, mucha gente no
cree esta postura oficial. Su uso se limita generalmente a areas de alta
seguridad debido a su alto coste de implantacion.
iris humano con la extraccion de su iriscode
VIA IRIS
El iris humano es igual que la vasculatura retinal, una estructura unica por individuo que forma un sistema muy complejo, inalterable durante toda la vida de la persona. El uso por parte de un atacante de organos replicados o simulados para conseguir una falsa aceptacion es casi imposible con analisis infrarrojo, capaz de detectar con una alta probabilidad si el iris es natural o no.
El sistema se basa en capturar una imagen en blanco y negro en un entorno correctamente iluminado; la imagen se somete a deformaciones pupilares y de ella se extraen patrones, que a su vez son sometidos a transformaciones matematicas hasta obtener una cantidad de datos suficiente para los propositos de autenticacion. Esa muestra, denominada iriscode es comparada con otra tomada con anterioridad y almacenada en la base de datos del sistema, de forma que si ambas coinciden el usuario se considera autenticado con exito; la probabilidad de una falsa aceptacion es la menor de todos los modelos biometricos.
3.4.5 - VERIFICACION DE LA GEOMETRIA DE LA MANO
Estos modelos se diferencian sin duda de los anteriores
en su rapidez de respuesta con un error aceptable en la mayoria de ocasiones.
Para su uso el usuario situa su mano sobre un lector que posee unas guias,
el sistema entonces se encarga de tomar ciertas imagenes, una superior
y otra lateral, se extraen datos sobre las dimensiones de la mano, y mediante
transformaciones matematicas estas se contrastan con el resto almacenado
en la base de datos.
Son de los dispositivos mas extendidos y que mas aceptacion
aporta a los usuarios, el unico inconveniente importante es que su tasa
de error aunque es buena, no llega al nivel de los modelos anteriores.
Geometria de la mano con ciertos parametros extraidos
3.5 - AUTENTIFICACION DE USUARIOS EN UNIX
3.5.1 - AUTENTIFICACION CLASICA
Usualmente al metodo de autenticacion en Unix se basa
en la peticion de un usuario y una password, la informacion del usuario
se encuentran en el fichero /etc/passwd. En este fichero cada usuario ocupa
una sola linea, en la que se almacena informacion vital para su correcto
acceso. Por ejemplo podria ser esta: al052354:x:502:502:Javier
Gimeno:/home/al052354:/bin/bash
En primer lugar aparecen el login del usuario y su clave
cifrada; a continuacion tenemos dos numeros que seran el identificador
de usuario y el de grupo respectivamente. El quinto campo, denominado GECOS
es simplemente informacion administrativa sobre la identidad real del usuario,
como su nombre, telefono o numero de despacho. Finalmente, los dos ultimos
campos corresponden al directorio del usuario (su $HOME inicial) y al shell
que le ha sido asignado.
El sistema de ficheros de Unix sorprende porque no reconoce
a sus usuarios por su login, sino por su UID. Claro esta que el sistema
de logins esta pensado para que los usuarios no tengan que acordarse de
su UID, la cual es distinta en cada maquina que trabaje, sino que es mucho
mas facil acordarse de un nombre como "Javier" puesto como login. Otra
cosa a tener en cuenta es que si en el fichero /etc/passwd/ existen
dos usuarios con el mismo UID, el sistema operativo los tratara como un
mismo usuario aunque posean diferente login. El caso especial en que un
usuario posea en UID 0 posee privilegios de superusuario sin importar el
login que utilicen. Este parametro es un punto fundamental para cualquier
intruso en nuestro sistema, lo explotara a fondo para conseguir un dominio
total de la maquina.
Aparte de la administracion de usuarios el fichero /etc/passwd/
posee diversas entradas especiales que corresponden a ciertos programas
o algunas cuentas mantenidas por motivos de compatibilidad con otros sistemas.
Estas cuentas deberian permanecer bloqueadas y con un solo acceso para
el root (mediante la orden "su"). El caso es cuando estas cuentas
posee claves por defecto o no poseen claves, esto se asocia a dejar puertas
abiertas a determinados intrusos. Se recomienda revisar entradas como root,
guest, lp, demos, 4DGifts, tour, uucp, muucp, games y postmaster, cuentas
que deberian de estar TODAS bloqueadas.
Las claves de acceso empleadas por el usuario para acceder
a la maquina se encuentran encriptadas utilizando un criptosistema irreversible
basado en una de las funciones estandar de C, crypt.
Esta funcion toma como clave los ocho primeros caracteres
de la contraseña elegida por el usuario para cifrar un bloque de
texto en claro de 64 bits puestos a cero; para evitar que dos passwords
iguales resulten en un mismo texto cifrado, se realiza un permutacion durante
el proceso de cifrado elegida de forma automatica y aleatoria para cada
usuario, basada en un campo formado por un numero de 12 bits llamado "salt".
El cifrado resultante se vuelve a cifrar utilizando la contraseña
del usuario de nuevo como clave, y permutando con el mismo "salt", repitiendose
el proceso 25 veces. El bloque cifrado final, de 64 bits, se concatena
con dos bits a cero, obteniendo 66 bits que se hacen representables en
11 caracteres de 6 bits cada uno y que, junto con el "salt", pasan a constituir
el campo "password" del fichero de contraseñas. Entonces cuando
veamos el password de un usuario en el archivo /etc/passwd sabremos que
los dos primeros caracteres con el "salt" y los 11 restantes la contraseña
cifrada.
Lo curioso es como Unix sabe reconocer la contraseña
de un usuario si hemos dicho que el proceso de encriptacion es irreversible.
Unix recoge la contraseña y la cifra, una vez cifrada la puede comparar
con las entradas del archivo /etc/passwd dandole o denegandole el
acceso.
3.5.2 - MEJORA DE LA SEGURIDAD
|
|
Los periodos de expiracion de claves usualmente se defienen
al crear nuevos usuarios, aunque tambien podremos modificar dichos parametros
una vez creados los usuarios mediante herramientas como chage o
usermod.
Para poder ver las caracteristicas de envecimiento de
claves en unix, podremos observar los campos de cada usuario en el /etc/shadow.
Tras el login y el password de cada usuario se guardan los campos siguientes:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
utilidad oara configuracion de usuarios en Linux Mandrake 8.0
[ CONCEPTOS BÁSICOS ] - [
ADMINISTRACION ELEMENTAL ] - [ AUTENTIFICACION
DE USUARIOS ] - [ POLITICAS DE SEGURIDAD ] -
[
SEGURIDAD EN EL NUCLEO ] -
[ COPIAS DE SEGURIDAD ] - [
BIBLOGRAFIA ]