Ir al contenido principal

Autenticacion, Autorizacion y Registro de Usuarios

Bueno este tema sera algo extenso, espero alguien se tome la molestia de leerlo completo asi como yo me tome la molestia de escribirlo :-P este tema lo aprendi de un libro, el cual es Enciclopedia de la Seguridad Informatica del Autor Alvaro Gomez Vieites, lo pondre a mis palabras y a mi entendimiento, si alguien desea consultar el libro a las palabras del autor ahi lo tienen :-)

Espero les guste el tema y no se cansen de leerlo que como ya mencione es extenso, aqui vamos :

Definiremos varios tipos de autentificacion de usuarios frente a un sistema informatico (cliente-servidor)

Modelo de Seguridad AAA (Authentication, Autorization & Accounting)

Se podria traducir de la siguiente forma: autenticacion, Autorizacion y Registro, este se utiliza para poder idenificar a usuarios y controlar el acceso de los mismos a diferentes recursos en un sistema informatico, y a la vez registrando como se utiliza cada recurso.

Basamos el modelo en tres elementos principales los cuales son:

Identificacion y Autorizacion:

Identificacion: Se presenta determinada identidad para identificar al usuario
Autorizacion: Valida la autenticidad del usuario

Control de acceso: Determina que provilegios tiene un usuario dentro del sistema informatico y a que recursos tendra acceso dentro del mismo.

Registro del uso de los recursos: Logs que seran guardados para monitorear la actividad del usuario dentro del sistema informatico.

Control de acceso (Seguridad Logica)

En estos distinguimos dos tipos de control de acceso:

Control de acceso obligatorio (MAC Mandatory Access Control): Los permisos son definidos por el sistema

Control de acceso direccional (DAC Directional Access Control): Aqui los permisos los controla el propietario de cada objeto

de ahi para definir los sujetos que pueden accesar a cada objeto se utilizan las listas de control de acceso (ACL Access Control List) y de este modo se puede regular no solo la autentificacion del sujeto si no tambien una hora y/ hubicacion de acceso.

Identificacion de Usuarios

La identidad la determinamos con puntos como el conjunto de cualidades únicas e irrepetibles que lo hacen distinto a los demas.

Los identificadores los podemos definir entre dos tipos:

Intrísecos y Extrínsecos:

Intrísecos

Dentro de estos podriamos mencionar algunos como el ADN de la persona, fondo del ojo, iris, huellas dactilares, fisionomia de las manos, rasgos faciales, timbre de voz, cinematica de la firma manuscrita, etc etc...

Extrínsecos

Dentro de este tipo estarian algunos como estos: PIN, contrasña, firma manuscrita, numero de cuenta bancaria, terminal desde que se conecta el usuario, etc etc...

esto termina definiendose de esta manera:

lo que se sabe: password, PIN

lo que se tiene: token, USB Key, tarjeta de credito.....

lo que se es: caracteristicas bimetricas de la persona (mencionadas arriba)

lo que se sabe hacer: firma manuscrita...

y por ultimo donde se encuentra el usuario: ip previamente asignada, podria ser dentor de redes fisicas protegidas y controladas...

Verificacion de Contraseñas

Este es el que se usa con mayor frecuencia dentro de todos los sistemas informaticos, que consta de un login y un password (usuario y contraseña) a cada usuario se le define un usuario y una contrasña, unica e irrepetible, hay algunos minimos requisitos para la seguridad de las contraseñas, ya sean como:

-Longitud minima de las contraseñas (es recomendable una longitud de 6 digitos, por ahora)
-Caducidad de la contraseña, en este se define cuanto tiempo sera valida una contraseña
-Logs de historial de contraseñas, una vez que caduque la contraseña, no permitir al usuario repetirla
-Control de composicion de una contraseña, especificar que una contraseña debera de contener minimo un numero y un signo especial (!"#$%&/ etc etc...) y no contenga ninguno de sus datos de DNI, matricula, fecha de nacimiento etc etc...

Protocolos de Desafio/Respuesta

En este se basa en que el usuario se autentifique de manera que demuestre saber y compartir un secreto con el sistema de autentificacion (en si compartir un secreto :-P) en estos se podria poner una contraseña asociada a una cuenta del usuario, la llave de un sistema criptografico simetrico, etc...

de esta manera no se propodciona ninguna informacion del secreto compartido, uya que simplemente el usuario debera de demostrar ante el autentificador que comparte dicho secreto, por lo tanto se evita el problema de que una contraseña se envie por red y por lo tanto evitando un arp spoof (la intercepcion de las redes en area local)

Lista de Contraseñas (OTP One Time Password)

Como el nombre lo indica, son passwords que funcionaran dentro del sistema una sola vez, por lo tanto evitando que si algun usuario malicioso captura la contraseña, pueda loguearse de nuevo con esa misma

Contraseña Variable

En este tipo de autentificacion, el usuario posee una contraseña de x longitud de caracteres, el sistema valida pidiendo caracteres en forma "random" al usuario para poder identificarse, el ejemplo seria este:

esteesmipass

el sistema podria pedir esto:

Ingresa el caracter numero 4, 1, 5, y 1

eeee

esa seria la contraseña valida al momento, y al otro intento de secion pedira diferentes caracteres, por lo que es un sistema seguro de logueo, este sistema actualmente se usa en bancos (por ejemplo HSBC)

Tarjetas de Autenticacion

Este sistema se basa en dos tipos de autentificacion, el primero sera el conocimiento del PIN y el segundo la posecion del token, por lo que se necesita medio fisico (lo que se tiene) y lo que se sabe ( ya mecionados antes)

Bueno esta es parte de autentificaciones, conforme tenga mas tiempo les pondre otros tipos de sistemas de autentificacion (faltan como 6 nada mas :-P pero ya me canse de escribir xD) hice referencias a algunas partes del libro ya que todo de memoria como es no lo se, si no hice eso que para dar una mejor explicacion hacia uds, bueno espero si se hayan molestado en leerlo :-P

Saludos

Komtec1

Comentarios

chiosito ha dicho que…
HOLA EXCELENTE APORTE NO SI ME PUEDES PASAR EL LINK DEL LIBRO ENCICLOPEDIA DE LA SEGURIDAD INFORMATICA
Komtec1 ha dicho que…
Hola!

No lo tengo en digital, compré el libro, por si lo quieres es este:

http://www.alfaomega.com.mx/interiorProducto.php?seccion_product_id=5432

Saludos y gracias por leer el blog

Entradas populares de este blog

Integrar API de Google Maps, archivos kml, kmz y otras fumarolas :D

Ya que andamos en eso de la posteada ahora les voy a dejar un pequeño manual sobre como integrar la API de maps (google) dentro de nuestro código, hay varia documentación en la página developers de google, pero realmente lo que uno busca cuando pone en google: "integrar api de maps" es ver un ejemplo claro y directo para que se pueda entender de mejor forma. Así que pues ya comentada la información de arriba les paso a dejar un ejemplo. Lo primero que tenemos que poner en nuestro código es la llamada a la API de maps: < script type = " text/javascript " src = " http://maps.googleapis.com/maps/api/js?sensor=false&language=es " > < / script > En este caso la variable sensor está en false, esto nos indica que no hay un dispositivo gps que pueda tomar la ubicación (se pone generalmente en true cuando es para aplicación movil, llámese celular o tableta) El lenguaje declaramos español, esto es para los menús que se van a most

[Anotaciones] Importar DB MySQL con archivos frm/ibd

Primero, vamos a extraer las consultas para crear las tablas, lo podemos hacer con el siguiente comando> mysqlfrm --server=user:pass@localhost --port 3307 --diagnostic /ruta/de/los/archivos/data/nombredebase/*.frm Esto nos regresa todos los CREATE que tengamos para las tablas, guardar todo el resultado. Creamos la base de datos, con el mismo nombre que se tenía anteriormente. Ejecutamos la consulta que nos regresó el comando mysqlfrm, si nuestra versión de mysql es mayor a 5.6, es importante hacer este cambio:  ENGINE=InnoDB DEFAULT CHARSET=utf8; por  ENGINE=InnoDB ROW_FORMAT=compact CHARSET=utf8; Es decir, se remplaza DEFAULT por ROW_FORMAT=compact, realmente no se por qué, pero me llevó como una hora dar con el error, espero quien lea esto le sea más facil. Una vez que tengamos las tablas creadas, ejecutamos lo siguiente: ALTER TABLE nombredetabla1 DISCARD TABLESPACE; ALTER TABLE nombredetabla2 DISCARD TABLESPACE; ALTER TABLE nombredetabla3 DISCARD TABLESPAC

Solución [fix] a hamachi Logging in .. failed, busy

Hola! Aquí con una pequeña entrada, pero que a más de uno le será útil. Tengo hamachi instalado en varias máquinas, pero en una precisamente al reiniciar, algunas veces me da este problema: usuarioserver@server:~$ sudo hamachi login [sudo] password for usuarioserver: Logging in .. failed, busy Lo busqué en internet y la "solución" que dan, es reinstalar hamachi, y para los que han instalado hamachi en ubuntu, saben que no es una opción, pues se tendrían que hacer estos pasos:  sudo apt-get remove logmein-hamachi sudo dpkg -i logmein-hamachixxx.deb sudo apt-get install -f Para lo cual (siempre) es molesto hacer esos pasos, y algunas veces la configuración se llega a perder.  Para solucionar ese problema, basta con hacer un:  sudo /etc/init.d/logmein-hamachi force-reload Esto forzará el reinicio de hamachi, y así después hacen:  sudo hamachi login Y listo, el problema de failed busy desaparece y los deja loguear bien en la red de hama