Qué es un código OTP (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.
Existen dos grandes tipos de contraseñas de un solo uso. Las que se envían por mensaje (SMS, llamada de voz, correo electrónico, WhatsApp, RCS o notificación push) no exigen instalar nada y valen para cualquier usuario. Las que genera una aplicación de autenticación en el propio dispositivo (TOTP, con algoritmos basados en la hora y una clave compartida, como los tokens de Google Authenticator; o HOTP, basadas en un contador) evitan la red pero obligan al usuario a instalar y configurar la app, y a recuperarla si cambia de teléfono. Para clientes y público general, el OTP por mensaje sigue siendo el método con más aceptación; en los entornos 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.
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.
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.