You are on page 1of 41

AUTENTICACIN

Integrantes: Froiransi Camico Wilhge Alzualde Jess Ugueto

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.

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

Tcnicas de autenticacin comunes en aplicaciones web


Las tcnicas ms comunes para contrarrestar las amenazas son: Autenticacin. Autorizacin. Integridad de los datos. Auditora.

Seguridad en la Web | Semestre 1-2013

Tcnicas de autenticacin comunes en aplicaciones web


Autenticacin: Es el proceso de validacin que se realiza para identificar a los usuarios y determinar los derechos de acceso al servidor y a los distintos recursos. Para validar la informacin del usuario existen cuatro tcnicas de autenticacin: Autenticacin bsica. Autenticacin basada en formulario. Autenticacin implcita. Autenticacin del certificado del cliente.

Seguridad en la Web | Semestre 1-2013

Tcnicas de autenticacin comunes en aplicaciones web

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.

Seguridad en la Web | Semestre 1-2013

Tcnicas de autenticacin comunes en aplicaciones web

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

a las pginas protegidas de la aplicacin.

Seguridad en la Web | Semestre 1-2013

Tcnicas de autenticacin comunes en aplicaciones web

Autenticacin del certificado del cliente: Este mtodo utiliza un certificado de cliente para identificar y validar al usuario.

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

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

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

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

Seguridad en la Web | Semestre 1-2013

14

Controles de autenticacin del lado del cliente


Ejemplo: jQuery <form action="login.cfm" method="post"> <div data-role="fieldcontain"> <label for="username">Username:</label> <input type="text" name="username" id="username" /> </div> <div data-role="fieldcontain"> <label for="password">Password:</label> <input type="password" name="password" id="password" /> </div> <input type="submit" name="login" value="Login" /> </form>

Seguridad en la Web | Semestre 1-2013

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

Como crear una buena contrasea


Una contrasea buena o fuerte nos ayudan a evitar que personas malintencionadas accedan a la informacin. Son difciles de adivinar y fcil de recordar. Al crear una contrasea debemos tener en cuenta: Usar combinacin de letras maysculas y minsculas, nmeros y smbolos. No es elegir una palabra simple ms o menos larga y ms o menos complicada o incoherente No usar palabras como contrasea, secreta, palabras del diccionario o variaciones del teclado(querty, 12345).
Seguridad en la Web 18

Como crear una buena contrasea


Partimos de una frase o palabra al azar como: me gusta la noche Le aadimos smbolos, nmeros, letras maysculas y minsculas. m3_gust4_l4_n0ch3!

Seguridad en la Web

19

Recordar de contrasea en los navegadores


Actualmente los navegadores ofrecen a sus usuarios la posibilidad de guardar las contraseas de los sitios web que las requieren.

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

Recordar de contrasea en los navegadores


Aunque facilita los accesos a los sitios donde es solicitado un nmero de usuario y clave, es completamente desaconsejable cuando lo que se almacenan son las claves de sus bancos u otros servicios.
Con conocimientos bsicos en html o javascript se pueden obtener dicha informacin.

Seguridad en la Web

21

Recordar de contrasea en los navegadores


Con modificar el tipo de dato de campo del formulario de password a text logramos visualizar la contrasea que antes era un grupo de asteriscos.
<input id="pass" class="inputtext" type="password" tabindex="2" name="pass"></input> <input id="pass" class="inputtext" type=text" tabindex="2" name="pass"></input>

Otra forma es ejecutando cdigo javascript, esta forma depende del navegador.

Seguridad en la Web

22

Cuentas por defecto


Cuentas cuyo nombre de usuario y contrasea son establecidos por el sistema, siguiendo un algoritmo. Al conocer el algoritmo se conocen todas las cuentas.

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

Seleccin de nombre de cuentas


El usuario es el nico conocedor de su nombre de usuario para autenticarse, dicho nombre es creado por l. Esto puede ocasionar mayormente el olvido del nombre de usuario. Obtenemos mayor seguridad Cada nombre de usuario no sigue un patrn. Solo es conocido por el usuario.

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

Seguridad en la Web | Semestre 1-2013

26

Registro de usuarios

Son reales los 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)

Seguridad en la Web | Semestre 1-2013

27

CAPTCHA

Cmo trabaja?
Generar/ Validar Enviar cdigo

Enviar Datos Resultado validacin

Seguridad en la Web | Semestre 1-2013

28

CAPTCHA: Mala Idea


Tener acceso desde el cliente a la cadena vlida

Seguridad en la Web | Semestre 1-2013

29

Qu pasa con los datos?


Cmo transmitimos los datos? Como almacenamos los datos sensibles de los usuarios?

Seguridad en la Web | Semestre 1-2013

30

Transformar los Datos


Los usuarios de una aplicacin poseen datos pblicos, y datos que solo deberan conocer ellos, como lo son las claves de acceso. Incluso los administradores del sistema no deberan tener la posibilidad de conocer estos datos. Para esto suele utilizarse algoritmos que modifican los datos antes de ser enviados y/o almacenados.

Seguridad en la Web | Semestre 1-2013

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?

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

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

Seguridad en la Web | Semestre 1-2013

34

Ataques tipo Diccionario


Se conoce que los usuarios tienden a utilizar comnmente ciertas palabras como claves secretas. Se emplea cada una de las palabras en el diccionario como si fuera la clave secreta hasta dar con la correcta.

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

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.

Seguridad en la Web | Semestre 1-2013

37

Defenderse del Autoattack


Estos ataques pueden ser utilizados en lnea directamente contra la aplicacin. O fuera de lnea contra claves encriptadas obtenidas mediante otros ataques. Los mecanismos de defensa varan dependiendo de la modalidad, e incluso deberan aplicarse en conjunto.

Seguridad en la Web | Semestre 1-2013 38

Defensa contra ataques online


CAPTCHAs. Agregar un retardo a las solicitudes, este puede ser incremental. Registrar intentos de autenticacin. Bloquear el acceso a direcciones ip abusivas. Bloquear cuentas despus de un nmero fallido de intentos. Hacer simulaciones de ataque.

Seguridad en la Web | Semestre 1-2013 39

Defensa contra ataques offline


Ocultar el nombre de usuario Todo lo relacionado con complejidad de contraseas. No deben almacenarse en texto plano. Hashing, Sal y hashing, sal y hashing multiple (pbkdf) Cambiar la clave con cierta frecuencia.

Seguridad en la Web | Semestre 1-2013 40

Ejemplos, preguntas y conclusiones

Seguridad en la Web | Semestre 1-2013

41

You might also like