Contraseña de un solo uso

Un código de un solo uso enviado por SMS para comprobar quién controla un número de teléfono, con caducidad breve y límite de intentos.

Solo definiciones: un término explicado aquí no es un servicio que vendamos.

Una contraseña de un solo uso (OTP) es un código que sirve una sola vez y caduca en minutos. Demuestra el control del número en ese momento, no la identidad, así que la seguridad recae en los límites que la rodean.

La caducidad, el número de intentos, la política de reenvío y la validación del número importan más que el propio código.

Entrega y fallos

La aplicación genera un código aleatorio, lo hashea junto con una caducidad y envía el código en claro por SMS A2P a través de un centro de mensajes o un agregador. La seguridad procede de la lógica de la aplicación, no del transporte SMS. Un código puede llegar tarde, ir a un número equivocado o acabar en manos de otra persona tras un SIM swap; la página sobre entrega de OTP por SMS describe ese recorrido.

Por dónde viaja el código

  1. Aplicación
  2. Pasarela SMPP
  3. SMSC
  4. HLR / HSS
  5. MSC / MME
  6. Teléfono
  7. Acuse de entrega
La aplicación entrega el código a una pasarela SMPP que lo envía al SMSC; el recorrido pasa por el HLR/HSS y el MSC/MME hasta el teléfono, con acuse de entrega.
Descripción en texto

La aplicación entrega el mensaje a una pasarela SMPP, que lo pasa al SMSC. Después el recorrido pasa por el HLR/HSS y el MSC/MME hasta el teléfono, y el acuse de entrega es el nodo final.

Qué comprobar

Limite la velocidad por número, IP y dispositivo, acote los intentos y fije una caducidad corta. Decida el mecanismo alternativo antes del lanzamiento: una llamada de voz, una aplicación de autenticación o una revisión manual.

Preguntas frecuentes

¿Basta un OTP por SMS para estar seguro?

Depende del valor en juego. En cuentas de alto valor, combínelo con una aplicación de autenticación o con passkeys.

¿Se puede reutilizar un código?

No. Márquelo como usado en el primer acierto e invalídelo al caducar o al alcanzar el límite de intentos.

¿Por qué llegan tarde los códigos?

Las causas habituales son la congestión de la ruta, un teléfono sin conexión, un número equivocado y el filtrado en el destino.

Más información

Fuentes

  1. 3GPP TS 23.040: technical realization of the Short Message Service (realización técnica del Servicio de Mensajes Cortos)