Mostrando entradas con la etiqueta autenticación. Mostrar todas las entradas
Mostrando entradas con la etiqueta autenticación. Mostrar todas las entradas

miércoles, 6 de septiembre de 2017

Tres protocolos de autenticación y tres tragedias de Shakespeare



Hoy toma voz en este blog un invitado especial para presentar una publicación autoeditada, a medio camino entre el manual técnico, la presentación descriptiva y la tragedia de Shakespeare. Así, como suena. Mejor ver que intentar describirlo.

La noche que se me ocurrió contar el funcionamiento y operación de los tres protocolos de autenticación y autorización más utilizados entre diferentes proveedores y APIs pensé que se me había ido ya la cabeza del todo, y que iba siendo hora de irme de vacaciones, por salud mental sobre todo. Sin embargo me envolvió esa dulce embriaguez de pensar que estoy haciendo algo completamente original, potencialmente útil y que unía de un modo ciertamente inverosímil dos de mis aficiones; Seguridad y Shakespeare. 

Suena tremendamente pedante. Lo sé, pero sal del prejuicio e intenta conocer la publicación primero, ya que espoco probable que a través de este medio llegues a conocer al autor. 

Lo que nació como una charla informal a unos compañeros de oficina que querían unas nociones del funcionamiento de SAML, OAuth y OpenIDConnect se convirtió en dos sesiones de formación de varias horas cada una, donde, por el simple hecho de mezclar pasajes de las tragedias de Shakespeare con comportamientos técnicos de los flujos de comunicaciones, quedaron grabados a fuego los casos de uso de los protocolos. Porque las brujas van al encuentro de MacBeth o MacBeth es quien va a buscarlas sabemos que el protocolo SAML puede iniciarse desde el service provider o desde el Identity provider. De Yago manipulando a Otelo para que haga su voluntad ante un tercero sin exponer sus credenciales entendemos el protocolo OAuth 3-legged. El ejemplo con OpenIDConnect tendrás que descubrirlo en el documento, espero que me disculpes, no descubro toda mi magia en el primer encuentro. 

Tiempo después de contar todas estas eclécticas tecnicidades de ciberseguridad con parafernalia Shakespeariana decidí ponerle texto a la presentación. Nunca quise abandonar ese formato por la fuerte capacidad de transmisión de las imágenes a la hora de representar un flujo de comunicaciones. Un poco después me vi forzado a cambiar de trabajo, pero eso es otra historia, mi historia, y hoy no soy yo el personaje principal de una obra por más tiempo. Damas y caballeros, con todos ustedes y con mi máximo amor y dedicación: Three Auth Protocols and Three Shakespeare Tragedies. No dudes en enviarme los comentarios u opiniones que pululen por tu materia gris. 

Y claro... todo ello en el maravilloso idioma del bardo.

Created by
kourcul@protonmail.com
September 2016
1
Three Auth Protocols and Three Shakespeare Tragedies

viernes, 18 de agosto de 2017

Autenticación y biometría: Retos y posible solución



Hace tiempo que muchas grandes empresas buscan alternativas para la autenticación de sus clientes/usuarios. Algunos de los sistemas que usan para poder realizar autenticación son:
  • Contraseñas, las cuales se consideran por defecto como vulneradas o fáciles de obtener vía phising, compradas en el mercado negro o cualquier otro imaginativo método.
  • SMS: En muchos países es muy sencillo poder hacer un duplicado de SIM por lo que el SMS no es suficiente para ayudar en un proceso.
  • Authenticator: Esos códigos numéricos que duran solo un breve lapso de tiempo, en mi opinión bastante útiles pero si es cierto que si te han vulnerado el correo o la cuenta con la que pidas esos códigos estamos igual.
  • Tarjetas de coordenadas: Los grupos organizados hacen campañas de phising pidiendo tarjetas completas las cuales los usuarios, pacientemente, meten. No quiere decir que tengan todas vulneradas, pero sí que es una medida temporal y que si se proponen pronto tendrán todo el parque de tarjetas en su conocimiento.
  • Correo electrónico: Las cuentas de correo se consideran como vulneradas, los usuarios suelen usar contraseñas sencillas, predecibles o siempre las mismas por lo que en alguna BBDD de contraseñas robadas puede estar la del usuario.
La situación es bastante crítica para las grandes empresas por lo que pensando una posible solución se llegó a que era el momento de invertir en biometría. El futuro estaba en pasar del “lo que tengo” o “lo que sé” al “lo que soy”.
Referencia de la imagen

No voy a explayarme contando como funciona, en YouTube hay muchos vídeos sobre biometría (facial, táctil, voz, iris,...) pero éstos planteaban nuevos problemas.
Las principales biometrías estudiadas son:
  • Facial: Se dispone del Hardware necesario ya que todos (o la inmensa mayoría) los móviles tienen cámara las cuales no se necesita que sean muy potentes, por lo que la convierte en el candidato perfecto.
  • Táctil: La famosa huella dactilar. Este sistema tiene dos problemas principales. El primero es que no se controla el hardware ni el proceso de obtención en ningún momento, hay que confiar en el dispositivo móvil y éstos por definición no son confiables. En segundo lugar huellas solo tenemos 10, si el crimen organizado decide invertir recursos en ésto y se dispone a robar huellas cuando tenga tus 10 estarás vulnerado (y no creo que quieras poner las de tus pies).
  • Voz: Demostrado que es la biometría más sensible y difícil de emular, el problema es que necesita un micrófono muy potente para poder grabar todos los indicadores que te van a diferenciar.
  • Iris: Descartado por defecto, necesita una cámara muy potente de la cuales el grueso de los usuarios no dispone.
  • Reconocimiento de firma escrita: Ya se ha hablado hace tiempo sobre cómo poder vulnerar este sistema. Referencia 1 || Referencia 2
Bien pues visto el panorama las empresas decidieron invertir en biometría facial, el problema es que éste sistema va a nacer marcado de muerte. Ya se han realizado pruebas por las cuales el crimen organizado puede industrializar el hacerse pasar por otra persona, con movimientos incluidos (os adjunto el vídeo porque es sorprendente), por lo que nos plantamos ante un nuevo reto ¿como podemos autenticar de forma segura a nuestros usuarios?
Dado este planteamiento muchos apostaran por el “lo que soy” + “lo que sé” ó “lo que soy” + “lo que tengo” pero de una forma poco acertada combinando los sistemas que hemos visto anteriormente:
  • Biometría + usuario/contraseña → Vulnerado
  • Biometría + SMS → Vulnerado
  • Biometría + Authenticator → Menor riesgo pero vulnerado
Resultado de imagen de facial biometric authentication
Referencia de la imagen
Creo que con esto entendemos el problema ante el que están las grandes empresas ¿solución?
Hace poco cayó en mis manos un paper curioso: “SMAUG: Secure Mobile Authentication Using Gesturesen este estudio proponen un sistema para autenticación segura de usuarios combinando el sensor de huellas con el giroscopio y el acelerómetro de forma que puedas hacer una combinación con tus huellas+movimiento del móvil y así crear un patrón que te identifique. El documento no tiene desperdicio, es un estudio muy completo pero nace con problemas de base:
  • No tenemos control sobre el lector de huellas y el proceso de lectura de las mismas en los dispositivo móviles. Ésto es 100% realizado por el SO y solo nos devuelve un true/false, pensemos en dispositivos móviles rooteados ¿Seguís tranquilos con la idea?
  • No tenemos control sobre cómo realiza el alta de ese patrón. Si no somos capaces de identificar al usuario durante el alta puede estar haciéndolo otra persona en su lugar generando un patrón desconocido para nuestro cliente.
  • ¿Que podemos guardar nosotros? Al no tener control sobre el táctil no podremos controlar fácilmente el patrón
Pero la idea es buena, es muy buena. ¿Que tal si fuéramos un paso más allá?
Dado que las grandes empresas tienen (o están trabajando) sobre un sistema de biometría facial ¿porque no combinar patrones con dicho sistema?
Pero cuando digo patrones no me refiero solo a gestos con la cara (eso ya está muy visto) sino que puedas hacer un gesto con la cara, luego girar la cámara y hacer otro gesto con tu mano o un movimiento con el dispositivo que lo pueda captar el giroscopio…
Combina biometría facial, con giroscopio y acelerómetro puede dar lugar a una combinación muy atractiva de patrones muy diversos que logren hacer un nuevo concepto de “lo que soy” + “lo que sé” ya que la biometría capta lo que soy y el patrón capta lo que sabes.

De ese modo si nos roban nuestra cara y puede emular los gestos nos va a dar igual, tienen que conocer también nuestros movimiento y la velocidad con que lo hacemos. El más difícil todavía para que nos vulneren la autenticación.