SMSAuth
De Open movilforum wiki
Tabla de contenidos |
[editar] Introducción
Se trata de utilizar mensajes cortos para autenticar sesiones HTTP, de manera que podamos afirmar con buen nivel de certeza que la persona que tiene una sesión HTTP es el poseedor de un número de móvil determinado.
[editar] Mecanismos
La autenticación usando SMS se realiza en dos fases, y pueden usarse dos procesos diferentes
Proceso1 (El servidor envía):
- el sitio web pide, como parte del proceso de registro-alta de usuario, un número de teléfono móvil
- le envía al usuario un "secreto compartido" por mensaje corto Problema DoS y gasto
- El usuario deberá utilizar este secreto para demostrar que es el dueño del teléfono móvil (bien usarlo como contraseña o como algún tipo de "capcha" de un sólo uso)
- si es contraseña la caducidad será la de la aplicación
- si es un token/nonce/captch de uso único, su plazo de validez será decidido por la aplicación
Proceso2 (El usuario envía):
- el sitio web pide, como parte del proceso de registro-alta de usuario, un número de teléfono móvil
- el sitio web quiere estar seguro de que el usuario que dio el móvil es su dueño. Le envía (en la página o por SMS) instrucciones para enviar un SMS, que contenga el shared secret, a un número dado. Podría usarse para pagos "premium", aparte de autenticación
[editar] Documentación
la XMPP Extension Proposal nº 70 (XEP-0070) discute el uso de XMPP para la autenticación HTTP, mediante un mecanismo Out of Band parecido al que queremos usar. Existe un servidor OpenID que autentica XMPP JIDs, un poco como nosotros vamos a hacer con números de teléfono.
[editar] Código del Proyecto
El proyecto cell-auth desarrolla un servidor OpenID, basado en el servidor de ejemplo para django de jainrain, que utiliza un back-channel basado en la API de recepción de SMS de Movistar para autenticación _fuerte_
