Qué es un código OTP (one time password o contraseña de un solo uso)
Un código OTP (las siglas de one time password, contraseña de un solo uso) es una clave temporal que solo sirve para una operación y durante unos minutos. La genera un sistema en el momento en que el usuario intenta hacer algo sensible (entrar en su cuenta, confirmar un pago, cambiar su número de teléfono) y se la envía por un canal que solo él controla, normalmente un SMS a su móvil. Al introducirla, demuestra que, además de conocer la contraseña, tiene en la mano el teléfono o el correo electrónico asociado a la cuenta. Ese segundo factor es la base de la verificación en dos pasos (2FA) y de la autenticación de dos factores.
A diferencia de una contraseña fija, un código OTP no se puede reutilizar: caduca a los pocos minutos, se invalida tras varios intentos fallidos y, aunque alguien lo capture después de usado, ya no sirve. Por eso los bancos, las administraciones y las tiendas online lo emplean para confirmar operaciones, y por eso el fraude por robo de contraseñas cae en picado cuando se activa.
Cómo funciona un código OTP
- El usuario inicia la operación en tu web o aplicación: un inicio de sesión, un pago, un cambio de datos.
- Tu aplicación pide el código a Mensatek con una llamada a la API. La plataforma lo genera (de 3 a 10 caracteres, numérico o alfanumérico), lo guarda cifrado con un hash y lo envía por el canal que indiques.
- El usuario recibe el mensaje en su dispositivo: «Su código de verificación es 481 920. Caduca en 5 minutos. No lo comparta con nadie».
- Lo introduce en tu pantalla y tu aplicación lo valida con una segunda llamada. Si coincide, no ha caducado y no se han agotado los intentos, la operación continúa y el código queda invalidado.
Tipos de OTP: códigos por mensaje, TOTP, HOTP y tokens
Según cómo se genera y cómo llega al usuario, una contraseña de un solo uso puede ser de varios tipos:
- OTP por mensaje: el servidor genera el código y lo envía a través de SMS, llamada de voz, correo electrónico, WhatsApp, RCS o notificación push. No exige instalar nada ni repartir dispositivos, y funciona con cualquier usuario desde el primer día. Es el que ofrece Mensatek.
- TOTP (time-based one time password): una aplicación de autenticación del propio dispositivo calcula el código a partir de una clave compartida y de la hora, y lo renueva en cada intervalo de tiempo, habitualmente de 30 segundos. El usuario tiene que instalar y configurar la aplicación, y recuperarla si cambia de teléfono.
- HOTP (HMAC-based one time password): como el anterior, pero el código avanza con un contador de usos en lugar de con la hora.
- Tokens físicos: pequeños dispositivos, como los llaveros con pantalla que muestran un número nuevo cada cierto tiempo. Dan un buen nivel de seguridad, pero hay que fabricar los tokens, repartirlos y sustituirlos cuando se pierden, por lo que se reservan para empleados y entornos corporativos.
Para clientes y público general, el OTP por mensaje es el método con más aceptación: no hay que repartir tokens ni pedir a nadie que instale una herramienta, y el usuario ya sabe cómo funciona. En los escenarios de más riesgo se combina con un tercer factor, como la biometría o la verificación documental de identidad.
Ejemplos de uso del código OTP
Los ejemplos más habituales son la confirmación de una transacción en la banca online, el inicio de sesión en redes sociales y aplicaciones desde un dispositivo nuevo, la recuperación de una cuenta, la verificación del teléfono en el alta de un servicio, la aceptación de un contrato a distancia y la autorización de un cambio de datos sensibles. En todos ellos el objetivo es el mismo: que un atacante que haya conseguido la contraseña no pueda completar la operación sin el teléfono de la persona.
Por qué canal enviar el código OTP
Con Mensatek defines una cascada ordenada de canales y la plataforma la recorre sola: si un canal informa de un fallo definitivo, el mismo código sale por el siguiente sin que tu aplicación haga nada.
- SMS: el canal por defecto; llega a cualquier teléfono móvil sin conexión a internet.
- Llamada de voz: una locución dicta el código; ideal para líneas fijas o cuando el SMS no se lee.
- Correo electrónico: para operaciones desde el ordenador o como respaldo del móvil.
- WhatsApp y RCS: con plantilla de autenticación y remitente verificado, más difícil de suplantar.
- Notificación push: a la app de Avisos o a tu propia aplicación, sin coste de operadora.
OTP por SMS: el código de verificación que llega a cualquier móvil
El OTP por SMS sigue siendo la forma más extendida de enviar códigos de verificación: no exige instalar nada, llega a cualquier teléfono móvil, tenga o no datos, y el usuario lo recibe en segundos. Con Mensatek eliges el formato del código (numérico de 4, 5 o 6 dígitos, o alfanumérico de hasta 10 caracteres), escribes el texto del mensaje con el código dentro y lo envías a móviles de España o de otros países, cada destino con su precio.
La autenticación en dos pasos por SMS combina algo que el usuario sabe, su contraseña, con algo que tiene, su móvil: aunque alguien consiga la contraseña, no puede entrar sin el código que llega al teléfono. Por eso bancos, tiendas online y administraciones la usan para el inicio de sesión y para confirmar operaciones, y por eso el SMS es el canal por defecto de la cascada: el resto de canales (voz, email, WhatsApp, RCS y push) lo complementan cuando hace falta.
Seguridad del OTP: caducidad, intentos y antifraude
La seguridad de una contraseña de un solo uso depende tanto del código como de las reglas que lo rodean. Estas son las que aplica la plataforma y las que puedes ajustar según tu política:
- Caducidad configurable, entre 1 minuto y 24 horas; lo recomendable para un acceso son 5 o 10 minutos.
- Límite de intentos de validación (hasta 10): al agotarlos, el código se invalida y hay que pedir otro.
- Límite de peticiones por destino: un mismo teléfono o correo admite como máximo 5 códigos cada 10 minutos, lo que frena el bombardeo de SMS y el fraude de tráfico artificial.
- Código almacenado con hash: ni siquiera nuestro personal puede leer un código en vigor.
- Antifraude opcional en el envío: la plataforma puntúa el teléfono o el correo (número virtual, dominio desechable, datos filtrados) y bloquea o avisa según el riesgo.
- Trazabilidad y webhook: cada petición, entrega, reenvío y validación queda registrada, y puedes recibir cada cambio de estado en tu servidor en tiempo real.
Buenas prácticas del lado de tu aplicación: indica en el mensaje para qué sirve el código y que nadie de tu empresa lo pedirá por teléfono; no incluyas datos sensibles junto al código; usa caducidades cortas; y, para operaciones de alto valor, combina el OTP con la verificación de identidad del usuario, que resiste los ataques de duplicado de SIM y de phishing en tiempo real. Te lo contamos en qué es el SIM swapping y cómo proteger los códigos OTP.
Implementación del OTP: cuándo pedirlo y con qué nivel de seguridad
La implementación técnica son dos llamadas a la API; la decisión importante es en qué momentos del proceso se pide el código y con qué reglas, porque no todos los escenarios exigen el mismo nivel de seguridad:
- Alta de una cuenta: comprobar que el teléfono o el correo son de verdad del usuario antes de activarla.
- Inicio de sesión: pedir el código siempre, o solo cuando cambia el contexto (un dispositivo nuevo, otro país, muchos días sin actividad). Es la autenticación adaptativa, que refuerza la seguridad sin molestar en cada acceso.
- Pagos: la directiva europea de servicios de pago (PSD2) exige autenticación reforzada del cliente en los pagos electrónicos, salvo exenciones como los importes bajos, y el código debe quedar vinculado al importe y al beneficiario, que el usuario tiene que ver en el mensaje.
- Cambios de datos sensibles: un teléfono, un correo o una cuenta bancaria nuevos se confirman con un código enviado al dato anterior, no al nuevo.
El aumento del robo de credenciales en todo el mundo ha convertido la autenticación de dos factores en una medida básica de ciberseguridad: la directiva NIS2 la incluye entre las medidas de gestión de riesgos de las entidades a las que se aplica, y los marcos de seguridad más extendidos la recomiendan para cualquier acceso a datos personales. Con Mensatek se integra con la misma API desde tu web, tu aplicación móvil o tus sistemas internos.
Cuánto cuesta enviar códigos OTP
El servicio de OTP no tiene cuota: cada código se cobra al precio del canal por el que sale. Por SMS, 1 crédito (entre 0,029 y 0,043 € según el bono); por WhatsApp, email o push, 0,3 créditos; por llamada de voz, por minuto según el destino. Si la cascada reenvía el código por un segundo canal, se cobra ese envío adicional. No hay permanencia, y el alta es gratuita: si te registras como empresa incluye créditos de prueba para comprobar el servicio con un código a tu propio teléfono. Consulta todos los precios y bonos.
Del código OTP a la firma electrónica
El mismo mecanismo sirve para firmar. En la contratación online y en el SMS Contrato, el firmante recibe un código OTP y, al introducirlo, la aceptación queda sellada con la identidad del teléfono, el documento aceptado y el momento exacto: una firma electrónica con evidencia, sin certificados que instalar.