Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
Conceptos Bsicos. Tcnicas comunes de autenticacin en aplicaciones web. Contrasea. Como crear una buena contrasea. Recordar de contrasea en los navegadores. Cuentas por defecto. Seleccin de nombre de cuentas. Control de contraseas.
Introduccin
La seguridad es uno de los temas ms importantes de cualquier aplicacin web, por esta razn el desarrollador debe garantizar la seguridad de estos recursos con el fin de anticiparse a las amenazas que una aplicacin web puede enfrentarse.
Autenticacin Bsica: para acceder a las pginas protegidas de un sistema es necesario que el usuario sea autenticado por el servidor. A travs de un cuadro de dilogo, el usuario proporciona los datos al servidor.
Autenticacin basada en formulario: Se crea una pgina de inicio de sesin para la aplicacin web, donde los usuarios proporcionan su nombre de usuario y contrasea en el formulario para acceder
Autenticacin del certificado del cliente: Este mtodo utiliza un certificado de cliente para identificar y validar al usuario.
Autenticacin Robusta
Son un conjunto de soluciones viables en el ambiente web para mejorar las tcnicas comunes de autenticacin. Autenticacin basada en conocimiento. OTP generado por el servidor. OTP generado por el cliente.
Autenticacin Robusta
Autenticacin basada en conocimiento: incluye informacin histrica, patrones, imgenes, etc. Principalmente se enfoca en el paradigma de pregunta-respuesta que permite comprobar la identidad del usuario y para el proceso de restablecimiento de contraseas
10
Autenticacin Robusta
OTP generado por el servidor: comnmente se implementan como cadenas de contraseas aleatorias que se generan en tiempo real, despus de verificar las credenciales simples.
11
Autenticacin Robusta
OTP generada por el usuario: similar al OTP generado por el servidor. En este caso los componente de software criptogrficos se pueden instalar en los dispositivos mviles para generar OTP basadas en el tiempo o basado en eventos.
12
Autenticacin Federada
La autenticacin federada consiste en asociar la identidad electrnica de un usuario y sus atributos a distintas aplicaciones web. Es decir, El usuario posee una nica credencial (usuario/contrasea) en un sistema (SSO) que utiliza para manejar mltiples aplicaciones web relacionadas.
13
Autenticacin Federada
Ejemplo: Autenticacin federada para usuarios de cuentas en Google utilizando OpenID.
3. Solicita al usuario iniciar sesin 1. informacin 2. Selecciona sobre inicio deinicio de sesin con una cuenta Googlecon sesin Google. 6. 8. Google Redirecciona a devuelve al 4. Responde la pgina usuario con un a la principal de URL documento Autenticacin inicio de sesin especificada. XRDS del usuario de Google 7. Inicia sesin 5. Enva una y vincula la solicitud de cuenta del inicio de sesin usuario a la a Google aplicacin 9. Permite al usuario acceder a las pginas protegidas
Aplicaci n Web
Usuario
14
15
Contraseas
Una contrasea o clave (en ingls password) es una forma de autentificacin que utiliza informacin secreta para controlar el acceso hacia algn recurso. Las usamos a menudo, y hoy en da cualquier usuario normal dispone de muchas.
Seguridad en la Web
16
Contraseas
Consideraciones sobre las contraseas: Que sea larga no indica que sea segura. Contraseas cortas son mas fciles de descifrar aunque sean fciles de recordar. Toda contrasea es hackeable sin importar su complejidad, todo es cuestin de tiempo.
Seguridad en la Web
17
Seguridad en la Web
19
Esta posibilidad es especialmente delicada si el acceso a ese equipo es compartido por varias personas, es aconsejable solo usar en computadores de uso estrictamente personal.
Seguridad en la Web
20
Seguridad en la Web
21
Otra forma es ejecutando cdigo javascript, esta forma depende del navegador.
Seguridad en la Web
22
Por lo general son usadas en sistemas con cantidad de usuarios pequeas, tambin son usadas en intranet. Estos sistemas tienden a brindar la funcionalidad de cambio de contrasea para aumentar la seguridad y capchat al momento de autenticarse un usuario.
Seguridad en la Web 23
Seguridad en la Web
24
Control de contraseas
Dbil: Usuarios pocos inteligentes ingresaran contraseas muy cortas. Se desconocera el grado de dificultad de la contrasea.
Fuerte: Solicita nmero o caracteres especiales como requisito. Longitud mayor a igual 8 caracteres. Brindara alternativas adicionales para el acceso como:
Contraseas de un solo uso. Smbolos de seguridad. Mtodos biomtricos. Verificacin de dos pasos. Vencimiento de contrasea.
Seguridad en la Web 25
Registro de Usuarios
El principio de todo es el registro de usuarios. Quin es el usuario? Qu acciones pueden ejecutar? Qu datos puede manipular? Niveles de acceso
26
Registro de usuarios
Los usuarios son guardados en la base de datos, lo que se traduce en espacio de almacenamiento, es importante que este espacio sea empleado solo en datos validos. Se debe entonces aplicar algn mecanismo de validacin. Complete Automated Public Turing test to tell Computers and Humans Apart (CAPTCHA)
27
CAPTCHA
Cmo trabaja?
Generar/ Validar Enviar cdigo
28
29
30
31
Encriptar != Hashing
La encriptaciin utiliza una llava (key) predefinida para procesar los datos. Si se tiene la llave se puede desenciptar los datos (SSL, TSL). Hashing utiliza funciones sobre los datos de entrada, para generar una salida de tamao epecfico, irreversible. (md5, sha-1, sha-256, sha512). Adems los datos de entrada no deben generar colisiones en los datos de salida. Cundo encriptar y cuando usar hashing?
32
Ahora qu?
Un usuario se registro. Su contrasea cumple con los requisitos mnimos. Paso la prueba del captcha (asumimos que es humano). Sus datos son transmitidos via SSL o TSL. Adems son almacenados de forma segura en nuestra base de datos. Inicia sesin con datos validos. Todo est bien.
33
Auto-Attack
El objetivo principal de los atacantes es tener acceso a las aplicaciones. Para ello necesitan usuarios y claves vlidas. Cmo las obtienen? Ataques de tipo Diccionario Fuerza Bruta Diccionario precompilado
34
35
Fuerza Bruta
Las claves no son infinitas Dado el nmero de caracteres y longitud mxima permitido se procede a generar cada una de las posibles permutaciones.
36
Diccionarios precompilados
En los casos anteriores se tomaba cada clave candidata, se pasaba por una funcin hash y luego se comparaba el resultado. Ahora se precompilan los diccionarios y se compara directamente con la cadena encriptada.
37
41