BroadNet
Verificación Intermedio

OTP y verificación de números

Cómo funcionan las contraseñas de un solo uso y la verificación de números — TOTP/HOTP, canales de entrega y respaldo, convenciones de autocompletado, y defensa contra el AIT.

5 lecciones5 min de lecturaBasado en estándares · a su propio ritmo
DiagramaEl recorrido de un OTP, con canal de respaldo
  1. El usuario solicita un códigoInicio de sesión, pago o registro
  2. Su app llama a la API de verificaciónUna solicitud por código
  3. BroadNet entrega el códigoA través del mejor canal disponibleRuta de respaldo si no se entregaSMSWhatsAppVoz
  4. El usuario introduce el códigoSe coteja con el código emitido
  5. VerificadoAcceso concedido
Lección 01

Qué es un OTP

Una contraseña de un solo uso (OTP) es un código válido para un único inicio de sesión o transacción. Es el segundo factor en la autenticación de dos factores: algo que el usuario recibe, demostrando el control de un número de teléfono o de un autenticador, además de una contraseña que conoce.

Los OTP son los mensajes de mayor riesgo que envía la mayoría de las empresas. Un código tardío o ausente es un inicio de sesión fallido, un registro abandonado o una venta perdida, así que el tráfico de OTP se trata como una clase distinta con presupuestos de latencia estrictos y ventanas de validez cortas.

La verificación de números es la tarea relacionada de demostrar que un usuario realmente controla un número de teléfono determinado — la base de la seguridad de cuentas, la reducción del fraude y unos datos de contacto limpios.

Lección 02

Cómo se generan los códigos: HOTP y TOTP

HOTP (RFC 4226) genera un código a partir de un secreto compartido y un contador usando HMAC. Cada uso incrementa el contador, de modo que los códigos no se repiten. Es la base de los tokens basados en eventos.

TOTP (RFC 6238) sustituye el contador por el tiempo actual dividido en pasos fijos (habitualmente 30 segundos), de modo que ambos lados derivan el mismo código a partir del mismo secreto y reloj. Esto es lo que usan las aplicaciones autenticadoras, y funciona sin conexión porque no es necesario entregar ningún mensaje.

Para los OTP entregados por SMS, el código suele ser un valor numérico aleatorio corto generado en el servidor, vinculado a la sesión o al dispositivo, y que expira tras el primer uso o un tiempo límite. Seis dígitos es el valor por defecto habitual, que equilibra la usabilidad frente a la resistencia a ser adivinado.

Lección 03

Canales de entrega y respaldo

El SMS es el canal por defecto para los OTP por su alcance universal, pero no es el único. El OTP por voz lee el código en voz alta y ayuda en mercados con mala capacidad de entrega de SMS o por accesibilidad. WhatsApp y RCS pueden entregar códigos de forma más rica donde el usuario es alcanzable allí.

La verificación por llamada flash es una alternativa eficiente en coste: la plataforma realiza una llamada que la aplicación detecta y descarta automáticamente, verificando el número a partir de los últimos dígitos del número que llama, sin que el usuario responda. Elimina por completo el coste del SMS y la introducción manual del código.

Una cascada de canales combina todo esto: se prueba el primer canal y, si la entrega no se confirma en unos pocos segundos, se escala al siguiente. La cascada debe estar acotada en el tiempo y debe evitar enviar el mismo código por dos canales a la vez, lo que duplica el coste y la exposición al fraude.

Lección 04

Autocompletado, diseño de mensajes y latencia

Los mensajes de OTP bien diseñados convierten mejor. Mantenga el cuerpo mínimo, coherente con la marca y consistente para que pase los filtros de contenido, y admita las convenciones de autocompletado de la plataforma — como el formato de código de un solo uso vinculado al origen en la última línea — para que el código se introduzca automáticamente.

Nunca coloque el código dentro de un enlace pulsable que pudiera ser objeto de phishing; manténgalo solo para copiar o teclear. Localice el texto que lo rodea manteniendo estables el código y el token de marca para que el autocompletado y el reconocimiento del usuario sigan funcionando.

Mida la latencia de extremo a extremo hasta el teléfono (del envío al DLR), no solo el tiempo de aceptación del envío, y establezca un periodo de validez corto para que un código retrasado expire en lugar de llegar obsoleto. Active el respaldo ante la ausencia de un DLR dentro de su presupuesto de latencia, no solo ante un fallo explícito.

Lección 05

Defensa contra el AIT / SMS pumping

El tráfico inflado artificialmente (AIT), también llamado SMS pumping, es un fraude en el que los atacantes provocan envíos de OTP de aspecto legítimo a números que controlan, inflando su factura sin que haya un usuario real detrás. Es el área de mayor retorno de la inversión para la mayoría de los remitentes.

Los controles principales son los límites de tasa — por número de teléfono, por IP, por huella de dispositivo, por cuenta — más un tope de reenvíos por sesión y fricción añadida (un desafío o CAPTCHA) cuando la velocidad se dispara desde una sola fuente.

Observe la conversión por destino: el tráfico inflado muestra una avalancha de solicitudes con una introducción de código casi nula, y un aumento repentino hacia un rango de país inusual es la firma clásica. Validar los números con una consulta HLR / de inteligencia de números antes de enviar rechaza de entrada los números inválidos y de alto riesgo.

Conclusiones clave
  • Los OTP son una clase de tráfico distinta y sensible a la latencia; el HOTP se basa en contador y el TOTP (RFC 6238) se basa en el tiempo.
  • Los canales incluyen SMS, voz, WhatsApp/RCS y llamada flash; combínelos en una cascada de respaldo acotada en el tiempo.
  • Admita el autocompletado, mantenga los códigos fuera de los enlaces, use validez corta y mida la latencia de entrega de extremo a extremo.
  • El AIT / SMS pumping se defiende con límites de tasa, topes de reenvío, monitorización de conversión y comprobaciones de número previas al envío.
Ponlo en práctica

Construye con lo que acabas de aprender.

Habla con un ingeniero profesional sobre tu caso de uso, o abre la documentación para desarrolladores y envía un mensaje a través de las rutas que se describen en este curso.

¿Por qué aprender de BroadNet
  • Desde2003
  • Países200+
  • Enlaces del operador1,000+