Un enfoque de no inicio de sesión para autenticar un dispositivo determinado, ¿la dirección MAC como contraseña?

0

He creado una API REST, y ahora estoy pensando en la autenticación. Quiero que el flujo de la aplicación móvil para el usuario sea muy simple: solo tendrá que ingresar un nombre de usuario y luego este nombre de usuario junto con 'alguna contraseña' se usará para autenticar al usuario en cada llamada a la API (usando campos de encabezado, sobre SSL).

¿Es esta una buena manera de autenticar al usuario con el menor problema posible para el usuario? Creo que Whatsapp utilizó un enfoque similar, utilizando la dirección MAC del dispositivo como contraseña, y permitió al usuario ingresar su número de teléfono como nombre de usuario. También una vez leí algunas críticas sobre este enfoque, pero si esto es tan malo, ¿cuál es la mejor manera de hacerlo?

Básicamente, lo que busco es una manera de autenticar con la menor cantidad de información posible del usuario (solo un nombre de usuario), con una cuenta por dispositivo como máximo, pero aún así es seguro para las llamadas a mi api . ¿Existe tal enfoque? Si es así, ¿cómo iría?

    
pregunta user717572 11.07.2014 - 12:39
fuente

1 respuesta

3

Una dirección MAC no es adecuada para esto por varias razones:

  1. El usuario puede cambiar libremente la dirección MAC en el software y cambiará si se reemplaza el hardware de la red.
  2. Un dispositivo inalámbrico transmite su dirección a todos los que la rodean, por lo que no es un secreto.
  3. Se supone que las direcciones MAC son únicas, pero en la práctica, no lo son.
  4. Un dispositivo con múltiples interfaces de red (por ejemplo, una tarjeta inalámbrica y un conector Ethernet) tendrá múltiples direcciones MAC.

Buscaría algo así como certificados de clientes, como lo mencionó Dmitry Yanushkevich, o almacenar un token único en el cliente como parte del proceso de creación de cuentas.

    
respondido por el Mark 11.07.2014 - 13:12
fuente

Lea otras preguntas en las etiquetas