Saltar al contenido
verificaOTP

Capítulo 1 de 5 · 11 min de lectura

Qué verifica un OTP

Un código de un solo uso no prueba identidad: prueba posesión de un canal en un momento dado.

Cuando un usuario escribe los seis dígitos que le llegaron por SMS, lo que realmente demostró es acotado: en este instante controla el canal asociado a ese número. No demostró que es la persona que abrió la cuenta, ni que nadie más ve sus mensajes, ni que el número sigue siendo suyo desde la última vez. Entender ese límite es el primer paso para diseñar verificación que no te engañe.

Posesión, no identidad

Los marcos de autenticación separan los factores en tres familias: algo que sabes (contraseña), algo que tienes (dispositivo, línea telefónica) y algo que eres (biometría). Un OTP enviado a un teléfono pertenece a la segunda familia. Su valor aparece cuando se combina con otro factor, o cuando el número ya fue vinculado a la persona por un proceso más fuerte, como una validación de RUT o un enrolamiento presencial.

La guía NIST SP 800-63B clasifica al OTP por red telefónica como autenticador restringido: aceptable, pero con riesgos conocidos —portabilidad fraudulenta, SIM swap, interceptación en la red de señalización— que obligan a ofrecer alternativas y a monitorear. En LATAM, donde el SMS sigue siendo el canal con mayor alcance, la respuesta no es abandonarlo, sino rodearlo de controles.

Un caso típico en Chile: un cliente porta su número de Movistar a WOM un viernes por la tarde. Si tu sistema sigue confiando en que ese número identifica al mismo titular sin revalidar nada, un atacante que ejecuta portabilidad fraudulenta hereda, además de la línea, todas las sesiones que dependían de ella. El OTP solo confirma quién tiene el chip hoy, no quién lo tuvo ayer.

Por eso conviene combinar el OTP con una segunda señal cuando la acción es sensible: un correo de confirmación adicional, una pregunta sobre el historial de la cuenta, o simplemente una ventana de espera de 24 horas antes de habilitar transferencias grandes tras un cambio de número. El código por sí solo es rápido y barato, pero su garantía es la de un candado de bicicleta: disuade, no detiene a quien se lo propone en serio.

Qué debe cumplir un buen código

  • Imprevisible: generado con un CSPRNG, nunca con Math.random() ni derivado del timestamp.
  • De un solo uso: se invalida al primer acierto, aunque no haya expirado.
  • Atado a un contexto: el código vale para ese teléfono, esa acción y esa sesión; no para otra.
  • De vida corta: entre 3 y 10 minutos según el canal y el riesgo de la acción.
  • Con intentos limitados: seis dígitos son un millón de combinaciones, no infinitas.

Dónde encaja en tu producto

Los usos más comunes son tres: confirmar un número en el registro, actuar como segundo factor en el login y aprobar una acción sensible (transferencia, cambio de correo, nueva dirección de despacho). Cada uno tolera fricción distinta. En el registro, el usuario espera el código; en un checkout de CyberDay con miles de compras por minuto, cada segundo extra cuesta conversión. Por eso en esta serie vas a ver el mismo mecanismo configurado de tres maneras.

Se marca completado al leer el 80%.

Comentarios (3)

Se guardan solo en tu navegador.

  • Catalina Rojas23 sept

    La frase «posesión, no identidad» me ordenó la cabeza. En mi equipo usábamos el OTP del registro como prueba de que el cliente era el titular de la tarjeta. Error caro.

    • Equipo verificaOTP23 sept

      Muy común, Catalina. En el capítulo de ceremonias de alto riesgo mostramos cómo escalar a un factor adicional justo en ese punto.

  • Matías Fuentes25 sept

    ¿Alguien tiene experiencia con la recomendación NIST aplicada a reguladores locales? La CMF no lo exige textualmente, pero los auditores lo citan.