miércoles, 21 de octubre de 2015

Cuestión de confianza II: Factores de autentificación.


La autentificación es una de las partes más delicadas de implementar en un sistema, básicamente consiste en asegúranos que la persona que se contacta a nuestro sistema es quien dice ser, pero no solo eso sino que los usuarios puedan garantizar que se están conectando a nuestro sistemas y no a ningún otro que se haga pasar por este.

Acerca de los factores de autentificación


Los factores de autentificación son maneras de clasificar los métodos posibles en los que basar la autentificación a nuestros sistemas.

  • Factor 0: Algo la empresa que ofrece el servicio conoce y el usuario debiera conocer. Se aplica, por ejemplo, haciendo preguntas por teléfono, en el que el operador telefónico conoce las preguntas (mediante un script), pero no las repuestas (o por lo menos no todas, porque su veracidad debe ser resulta por el  sistema informático). Es importante que el usuario sea el que inicie la comunicación telefónica siempre y en ningún caso contestar preguntas cuando es el usuario el que recibe la llamada del teléfono, puesto que no sabemos quién nos está llamando realmente, lo cual podría ser un fraude para conseguir nuestros datos personales. En lo general conviene evitar este tipo de autentificación, aunque generalmente no es posible porque necesitamos una atención personalidad.
  • Factor 1: Algo que el usuario conoce y que proporciona para acceder a su servicios, es esta categoría entran los password y los NIP, que deben estas compuestos con una fortaleza mínima, y que idealmente no conoce la institución, pero conoce los medios posibles de validarlo (por ejemplo con password encriptados no reversible, como SHA512).
  • Factor 2: Contraseñas dinámicas generadas por medios electrónicos, aquí entra el papel de los Token,  los cuales son dispositivos hardware (o aplicaciones moviles) que en base al tiempo, generan  un número (exclusivo para el usuario) que sirve para que autorice una operación en el sistema (y solo una), una vez que la ha autorizado, necesitara un nuevo número de token, para nuevas operaciones. Esto es "Algo que tiene el usuario", en este caso el dispositivo físico
  • Factor 3: Medios biométricos (“Algo que el usuario es”), Alguna característica física propia del cliente en si, como su huella dactilar, o patrones en la retina, etc.

Lo recomendable es usar un doble factor de autentificación. Combinamos un factor de seguridad, junto con otro, lo más común es combinar el factor 1 (contraseña), con el factor 2 (token).

De esta forma aunque alguien se adueñe de nuestras contraseñas, será incapaz de realizar ninguna operación en nuestro sistema por no poseer el número de token que le da acceso.

Todo esto en la práctica: Ejemplo con Gmail



Google ofrece un sistema de autentificación en dos pasos, que consiste de un sistema en el uso de la contraseña del usuario de una cuenta de Google, y adicionalmente un Token, que puede ser un token  basado en el tiempo o basado o un Token SMS.

Se activa desde la configuración de GMAIL



Se activa mediante un Token SMS que llega al celular registrado


Una vez autentificados nos pedirá que indiquemos la pantalla


Y mediante la lectura de un QR, queda instalada la clave simétrica en un celular



Desde este momento podremos usar la autentificación en dos pasos:



Ventajas de este token:

  • Es gratis
  • Se basa en estándares y algoritmos públicos

Desventajas:

  • Está pensado para los productos de Google, o aquellos que usan sus servicios.

No hay comentarios:

Publicar un comentario