Una contraseña de un solo uso ( contraseña de un solo uso en inglés , OTP ) es una contraseña válida para una sola sesión de autenticación . La validez de una contraseña de un solo uso también se puede limitar a un cierto período de tiempo.
La ventaja de una contraseña de un solo uso sobre una estática es que la contraseña no se puede reutilizar. Por lo tanto, un atacante que haya interceptado datos de una sesión de autenticación exitosa no puede usar la contraseña copiada para obtener acceso al sistema de información protegido. El uso de contraseñas de un solo uso no protege en sí mismo contra ataques basados en la interferencia activa con el canal de comunicación utilizado para la autenticación (por ejemplo, contra ataques de intermediario ).
Una persona no puede recordar contraseñas de un solo uso. Por lo tanto, se requieren tecnologías adicionales para su correcto funcionamiento.
Los algoritmos de generación de OTP suelen utilizar números aleatorios. Esto es necesario porque, de lo contrario, sería fácil predecir las contraseñas posteriores basándose en el conocimiento de las anteriores. Los algoritmos específicos de OTP varían mucho en detalle. A continuación se enumeran varios enfoques para crear contraseñas de un solo uso.
También hay varias formas de decirle al usuario la siguiente contraseña. Algunos sistemas utilizan fichas electrónicas especiales que el usuario lleva consigo, que crean contraseñas de un solo uso y luego las muestran en una pequeña pantalla. Otros sistemas consisten en programas que el usuario ejecuta desde un teléfono móvil. Aún otros sistemas generan contraseñas de un solo uso en el servidor y luego las envían al usuario utilizando canales extraños, como mensajes SMS . Finalmente, algunos sistemas tienen contraseñas de un solo uso impresas en una hoja de papel o en una tarjeta para rascar , que el usuario debe llevar consigo.
Un enfoque, desarrollado por Leslie Lamport , utiliza una función unidireccional (llamémosla f ). El sistema de contraseñas de un solo uso comienza con una semilla s , luego genera contraseñas
f ( s ), f ( f ( s )), f ( f ( f ( s ))), …tantas veces como sea necesario. Si se busca una serie infinita de contraseñas, se puede elegir una nueva semilla después de agotar la serie de s . Cada contraseña se distribuye en orden inverso, comenzando con f ( f (… f ( s ))…), terminando con f ( s ).
Si un atacante logra obtener una contraseña de un solo uso, solo puede obtener acceso por un período de tiempo o una conexión, pero esto se vuelve inútil cuando finaliza este período. Para obtener la siguiente contraseña en la cadena de las anteriores, debe encontrar una manera de calcular la función inversa f −1 . Dado que f se eligió para ser unilateral, esto no se puede hacer. Si f es una función hash criptográfica que se usa comúnmente, hasta donde se sabe, esta sería una tarea computacionalmente inviable.
Las contraseñas de un solo uso sincronizadas en el tiempo generalmente se asocian con tokens de hardware físico (por ejemplo, cada usuario recibe un token personal que genera una contraseña de un solo uso). Un reloj preciso está incrustado dentro del token, que está sincronizado con el reloj del servidor. En estos sistemas OTP, el tiempo es una parte importante del algoritmo de generación de contraseñas, ya que la generación de una nueva contraseña se basa en la hora actual y no en la contraseña o clave secreta anterior.
Recientemente, se ha hecho posible incorporar componentes electrónicos asociados con tokens de vigilancia permanente, como los de ActivIdentity , InCard , RSA , SafeNet , Vasco , VeriSign y Protectimus , en un factor de forma de tarjeta de crédito . Sin embargo, dado que el grosor de la tarjeta (de 0,79 mm a 0,84 mm) no permite el uso de celdas de batería tradicionales, es necesario utilizar baterías especiales a base de polímeros, que tienen una vida mucho más larga que las mini-baterías ordinarias. Además, se deben usar componentes semiconductores de potencia extremadamente baja para conservar energía durante el modo de espera y/o el uso del producto. Dos empresas están liderando el camino en dispositivos OTP delgados: Identita y NagraID .
Los teléfonos móviles y las PDA también se pueden utilizar para generar contraseñas de un solo uso sincronizadas en el tiempo. Este enfoque puede ser una alternativa más económica, ya que la mayoría de los usuarios de Internet ya tienen teléfonos móviles. Además, puede ser más conveniente porque el usuario no necesitará llevar un token separado para cada conexión segura cuando necesite acceso.
El uso de contraseñas de un solo uso con desafío requiere que el usuario proporcione indicaciones sincronizadas en el tiempo para que se lleve a cabo la autenticación. Esto se puede hacer inyectando un valor en el propio token. Para evitar duplicados, generalmente se incluye un contador adicional, de modo que si se reciben dos solicitudes idénticas, aún dará como resultado diferentes contraseñas de un solo uso. Sin embargo, los cálculos generalmente no incluyen la contraseña de un solo uso anterior, ya que esto hará que las tareas se sincronicen. Los EMV están comenzando a utilizar tales sistemas (el llamado "Programa de autenticación de chip") para tarjetas de crédito en Europa.
Una tecnología común utilizada para entregar contraseñas de un solo uso es SMS . Dado que el SMS es un canal de comunicación ubicuo que se encuentra en todos los teléfonos y es utilizado por una gran cantidad de clientes, los mensajes SMS tienen el mayor potencial para todos los consumidores con un bajo costo.
Los tokens, las tarjetas inteligentes y otros métodos de autenticación tradicionales son mucho más costosos de implementar y usar y, a menudo, encuentran resistencia por parte de los consumidores. También son mucho más vulnerables a los ataques man-in-the-middle , en los que los phishers roban contraseñas de un solo uso con engaños o incluso porque las contraseñas de un solo uso se muestran en la pantalla del token. Además, los tokens se pueden perder y la integración de contraseñas de un solo uso en los teléfonos móviles puede ser más segura y sencilla porque los usuarios no tienen que llevar consigo dispositivos portátiles adicionales.
Al mismo tiempo, las contraseñas de un solo uso a través de SMS pueden ser menos seguras a medida que los operadores celulares se vuelven parte de la cadena de confianza. En el caso de una función de roaming permitida, se debe confiar en más de un operador móvil (en algunos casos, todas las organizaciones que tienen acceso al sistema de señalización SS7 ).
De acuerdo con las recomendaciones de NIST 2016, los SMS no deben usarse en los nuevos sistemas de autenticación debido al riesgo de que sean interceptados y redirigidos [1] [2] .
En comparación con una implementación de hardware de un token que requiere que el usuario lleve un dispositivo de token, un token en un teléfono móvil reduce significativamente los costos y ofrece un nivel de comodidad sin precedentes. Esta solución también reduce los requisitos logísticos, ya que no es necesario entregar un dispositivo por separado a cada usuario. Los tokens móviles como FiveBarGate, FireID o PROTECTIMUS SMART también admiten una cantidad de tokens durante la instalación de una sola aplicación, lo que permite al usuario autenticarse en múltiples recursos desde un solo dispositivo. Esta opción también proporciona aplicaciones específicas para diferentes modelos de teléfono del usuario. Los tokens en los teléfonos móviles también son significativamente más seguros que los SMS OTP, ya que los mensajes SMS se envían a través de la red GSM en formato de texto interceptable.
En términos de costos, las soluciones más económicas son distribuir contraseñas de un solo uso en papel, una tarjeta para raspar o un generador de contraseñas de un solo uso en un teléfono móvil. Esto es así porque estos sistemas eliminan los costos asociados a la (re)emisión de tokens electrónicos y el costo de los mensajes SMS.
Para los sistemas que dependen de tokens electrónicos, los sistemas que no están sincronizados en el tiempo deben resolver el problema cuando el servidor y el token no están sincronizados. Esto resulta en costos de desarrollo adicionales. Por otro lado, permiten evitar gastar horas en tokens electrónicos (y corregir sus valores teniendo en cuenta la deriva horaria).
Las contraseñas de un solo uso también son vulnerables a la "pesca" ( phishing ). A fines de 2005, los usuarios del Banco de Suecia fueron engañados para que usaran sus contraseñas de un solo uso [3] . Incluso las contraseñas sincronizadas en el tiempo son vulnerables al phishing si un atacante puede usar la contraseña lo suficientemente rápido. Esto se notó en 2006 en un ataque a los usuarios de Citibank en los EE . UU. [4] .
Aunque las contraseñas de un solo uso son más seguras que las contraseñas normales, el uso de sistemas OTP sigue siendo vulnerable a los ataques de intermediarios . Por lo tanto, las contraseñas de un solo uso no deben compartirse con terceros. Si la contraseña de un solo uso se sincroniza a tiempo básicamente no afecta el grado de vulnerabilidad. Las contraseñas de un solo uso basadas en desafíos también son vulnerables, aunque un ataque exitoso requiere un poco más de acción por parte del atacante que otros tipos de OTP.
Numerosas tecnologías OTP han sido patentadas. Esto hace que la estandarización en esta área sea aún más difícil, ya que cada empresa intenta impulsar su propia tecnología. Sin embargo, existen estándares, como RFC 1760 ( S/Key ), RFC 2289 (OTP), RFC 4226 ( HOTP ) y RFC 6238 ( TOTP ).
En algunos países, las contraseñas de un solo uso se utilizan para el uso remoto de los bancos. En algunos de estos sistemas, el banco envía al usuario una lista numerada de contraseñas de un solo uso impresas en papel. Para cada transacción remota, el usuario debe ingresar la contraseña de un solo uso apropiada de esta lista. En Alemania, estas contraseñas suelen denominarse código TAN (de " números de autenticación de transacciones "). Algunos bancos envían códigos TAN al usuario a través de SMS, en cuyo caso se denominan códigos mTAN (por "TAN móviles").
Muy a menudo, las contraseñas de un solo uso son el epítome de la autenticación de dos factores . Algunos sistemas de Single Sign On Technologies [5] utilizan contraseñas de un solo uso. La tecnología OTP también se utiliza en tokens de seguridad .
Proveedores de soluciones de contraseñas de un solo uso: