Una contraseña de un solo uso ( OTP ), también conocida como PIN de un solo uso , código de acceso de un solo uso , código de autorización de un solo uso ( OTAC ) o contraseña dinámica , es una contraseña que es válida solo para una sesión o transacción de inicio de sesión, en un sistema informático u otro dispositivo digital. Las OTP evitan varias deficiencias asociadas con la autenticación tradicional (estática) basada en contraseñas; Varias implementaciones también incorporan autenticación de dos factores al garantizar que la contraseña de un solo uso requiera acceso a algo que una persona tiene (como un pequeño dispositivo llavero con la calculadora OTP incorporada, o una tarjeta inteligente o un teléfono celular específico). como algo que una persona sabe (como un PIN).
Los algoritmos de generación de OTP generalmente utilizan pseudoaleatoriedad o aleatoriedad para generar una clave o semilla compartida, y funciones hash criptográficas , que pueden usarse para derivar un valor pero son difíciles de revertir y, por lo tanto, a un atacante le resulta difícil obtener los datos que se usaron para el hachís. Esto es necesario porque, de lo contrario, sería fácil predecir futuras OTP observando las anteriores.
Las OTP se han debatido como un posible reemplazo y una mejora de las contraseñas tradicionales. El lado negativo es que las OTP pueden interceptarse o redirigirse, y los tokens físicos pueden perderse, dañarse o ser robados. Muchos sistemas que utilizan OTP no las implementan de forma segura y los atacantes aún pueden aprender la contraseña mediante ataques de phishing para hacerse pasar por el usuario autorizado. [1]
La ventaja más importante de las OTP es que, a diferencia de las contraseñas estáticas, no son vulnerables a ataques de repetición . Esto significa que un potencial intruso que consiga registrar una OTP que ya se utilizó para iniciar sesión en un servicio o realizar una transacción no podrá utilizarla, ya que dejará de ser válida. [1] Una segunda ventaja importante es que un usuario que utiliza la misma (o similar) contraseña para múltiples sistemas no se vuelve vulnerable en todos ellos, si un atacante obtiene la contraseña de uno de ellos. Varios sistemas OTP también tienen como objetivo garantizar que una sesión no pueda ser interceptada o suplantada fácilmente sin el conocimiento de datos impredecibles creados durante la sesión anterior , reduciendo así aún más la superficie de ataque .
También hay diferentes formas de informar al usuario sobre la próxima OTP que utilizará. Algunos sistemas utilizan tokens de seguridad electrónicos especiales que lleva el usuario y que generan OTP y las muestran mediante una pequeña pantalla. Otros sistemas consisten en software que se ejecuta en el teléfono móvil del usuario . Sin embargo, otros sistemas generan OTP en el lado del servidor y las envían al usuario mediante un canal fuera de banda, como la mensajería SMS . Finalmente, en algunos sistemas, las OTP se imprimen en papel que el usuario debe llevar consigo.
En algunos esquemas de algoritmos matemáticos, es posible que el usuario proporcione al servidor una clave estática para usarla como clave de cifrado, enviando solo una contraseña de un solo uso. [2]
Los algoritmos OTP concretos varían mucho en sus detalles. Varios enfoques para la generación de OTP incluyen:
Una OTP sincronizada en el tiempo generalmente está relacionada con una pieza de hardware llamada token de seguridad (por ejemplo, cada usuario recibe un token personal que genera una contraseña de un solo uso). Puede parecer una pequeña calculadora o un llavero con una pantalla LCD que muestra un número que cambia ocasionalmente. Dentro del token hay un reloj preciso que se ha sincronizado con el reloj del servidor de autenticación . En estos sistemas OTP, el tiempo es una parte importante del algoritmo de contraseña, ya que la generación de nuevas contraseñas se basa en la hora actual en lugar de, o además de, la contraseña anterior o una clave secreta . Este token puede ser un dispositivo propietario , o un teléfono móvil o dispositivo móvil similar que ejecute software propietario, gratuito o de código abierto . Un ejemplo de estándar OTP sincronizado en el tiempo es la contraseña de un solo uso basada en el tiempo (TOTP). Algunas aplicaciones se pueden utilizar para mantener OTP sincronizada con la hora, como Google Authenticator o un administrador de contraseñas .
Cada nueva OTP se puede crear a partir de las OTP utilizadas anteriormente. Un ejemplo de este tipo de algoritmo, atribuido a Leslie Lamport , utiliza una función unidireccional (llámela ). Este sistema de contraseña de un solo uso funciona de la siguiente manera:
Para obtener la siguiente contraseña de la serie a partir de las contraseñas anteriores, es necesario encontrar una forma de calcular la función inversa . Dado que se eligió que fuera unidireccional, esto es extremadamente difícil de hacer. Si se trata de una función hash criptográfica , que suele ser el caso, se supone que es una tarea computacional intratable . Un intruso que vea una contraseña de un solo uso puede tener acceso por un período de tiempo o iniciar sesión, pero se vuelve inútil una vez que ese período expira. El sistema de contraseña de un solo uso S/KEY y su OTP derivado se basan en el esquema de Lamport.
El uso de contraseñas de un solo uso de desafío-respuesta requiere que el usuario proporcione una respuesta a un desafío. Por ejemplo, esto se puede hacer ingresando el valor que el token ha generado en el propio token. Para evitar duplicados, generalmente se incluye un contador adicional, por lo que si uno recibe el mismo desafío dos veces, esto aún resulta en contraseñas únicas diferentes. Sin embargo, el cálculo no suele implicar la contraseña de un solo uso anterior; es decir, normalmente se utiliza este u otro algoritmo, en lugar de utilizar ambos algoritmos.
Una tecnología común utilizada para la entrega de OTP es la mensajería de texto . Debido a que la mensajería de texto es un canal de comunicación ubicuo, al estar disponible directamente en casi todos los teléfonos móviles y, a través de la conversión de texto a voz, en cualquier teléfono fijo o móvil, la mensajería de texto tiene un gran potencial para llegar a todos los consumidores con un costo total bajo. implementar. OTP a través de mensajes de texto se puede cifrar utilizando un estándar A5/x , que según varios grupos de hackers se puede descifrar con éxito en minutos o segundos. [4] [5] [6] [7] Además, las fallas de seguridad en el protocolo de enrutamiento SS7 pueden y se han utilizado para redirigir los mensajes de texto asociados a los atacantes; En 2017, varios clientes de O2 en Alemania sufrieron este tipo de ataques para poder acceder a sus cuentas de banca móvil . En julio de 2016, el NIST de EE. UU. emitió un borrador de una publicación especial con orientación sobre prácticas de autenticación, que desaconseja el uso de SMS como método para implementar la autenticación de dos factores fuera de banda, debido a la capacidad de interceptar los SMS. a escala. [8] [9] [10] Los mensajes de texto también son vulnerables a las estafas de intercambio de SIM , en las que un atacante transfiere fraudulentamente el número de teléfono de una víctima a su propia tarjeta SIM , que luego puede usarse para obtener acceso a los mensajes que se le envían. [11] [12]
SecurID de RSA Security es un ejemplo de un tipo de token de sincronización horaria, junto con las soluciones de HID Global . Como todos los tokens, estos pueden perderse, dañarse o ser robados; Además, existe el inconveniente de que las baterías se agotan, especialmente en el caso de tokens sin dispositivo de recarga o con una batería no reemplazable. RSA propuso una variante del token propietario en 2006 y se describió como "autenticación ubicua", en la que RSA se asociaría con fabricantes para agregar chips físicos SecurID a dispositivos como teléfonos móviles.
Recientemente, [ ¿ cuándo? ] ahora es posible tomar los componentes electrónicos asociados con los tokens OTP de llaveros normales e incrustarlos en un factor de forma de tarjeta de crédito. Sin embargo, la delgadez de las tarjetas, de 0,79 mm a 0,84 mm de grosor, impide que se utilicen componentes estándar o baterías. Se deben utilizar baterías especiales a base de polímeros que tienen una duración mucho menor que las pilas de botón . Los componentes semiconductores no sólo deben ser muy planos, sino que también deben minimizar la energía utilizada en modo de espera y en funcionamiento. [ cita necesaria ]
Yubico ofrece un pequeño token USB con un chip integrado que crea una OTP cuando se presiona una tecla y simula un teclado para facilitar la introducción de una contraseña larga. [13] Al ser un dispositivo USB evita el inconveniente del reemplazo de la batería.
Se ha desarrollado una nueva versión de esta tecnología que integra un teclado en una tarjeta de pago de tamaño y grosor estándar. La tarjeta tiene integrado un teclado, una pantalla, un microprocesador y un chip de proximidad.
En los teléfonos inteligentes, las contraseñas de un solo uso también se pueden entregar directamente a través de aplicaciones móviles , incluidas aplicaciones de autenticación dedicadas como Authy y Google Authenticator , o dentro de la aplicación existente de un servicio, como en el caso de Steam . Estos sistemas no comparten las mismas vulnerabilidades de seguridad que los SMS y no necesariamente requieren una conexión a una red móvil para su uso. [14] [10] [15]
En la banca en línea de algunos países, el banco envía al usuario una lista numerada de OTP impresa en papel. Otros bancos envían tarjetas de plástico con OTP reales ocultas por una capa que el usuario debe raspar para revelar una OTP numerada. Para cada transacción en línea, el usuario debe ingresar una OTP específica de esa lista. Algunos sistemas solicitan las OTP numeradas de forma secuencial, otros eligen de forma pseudoaleatoria una OTP para ingresar.
Cuando se implementan correctamente, las OTP ya no son útiles para un atacante al poco tiempo de su uso inicial. Esto difiere de las contraseñas, que pueden seguir siendo útiles para los atacantes años después de su creación.
Al igual que con las contraseñas, las OTP son vulnerables a ataques de ingeniería social en los que los phishers roban OTP engañando a los clientes para que les proporcionen sus OTP. Al igual que las contraseñas, las OTP pueden ser vulnerables a ataques de intermediario , por lo que es importante comunicarlas a través de un canal seguro, por ejemplo Transport Layer Security .
El hecho de que tanto las contraseñas como la OTP sean vulnerables a tipos similares de ataques fue una motivación clave para Universal 2nd Factor , que está diseñado para ser más resistente a los ataques de phishing.
Las OTP que no involucran un componente de sincronización de tiempo o desafío-respuesta necesariamente tendrán una ventana de vulnerabilidad más larga si se ven comprometidas antes de su uso. A finales de 2005, los clientes de un banco sueco fueron engañados para que renunciaran a sus contraseñas de un solo uso que les habían proporcionado previamente. [16] En 2006, este tipo de ataque se utilizó contra clientes de un banco estadounidense. [17]
Muchas tecnologías OTP están patentadas. Esto dificulta la estandarización en este ámbito, ya que cada empresa intenta impulsar su propia tecnología. Sin embargo, existen estándares, por ejemplo, RFC 1760 ( S/KEY ), RFC 2289 (OTP), RFC 4226 ( HOTP ) y RFC 6238 ( TOTP ).
Un teléfono móvil en sí mismo puede ser un token de autenticación portátil . [18] La mensajería de texto móvil es una de las formas de recibir una OTAC a través de un teléfono móvil. De esta forma, un proveedor de servicios envía un mensaje de texto que incluye una OTAC cifrada mediante un certificado digital a un usuario para su autenticación. Según un informe, la mensajería de texto móvil proporciona alta seguridad cuando utiliza infraestructura de clave pública (PKI) para proporcionar autenticación bidireccional y no repudio, de acuerdo con un análisis teórico. [19]
Los SMS como método para recibir OTAC se utilizan ampliamente en nuestra vida diaria para fines tales como operaciones bancarias, tarjetas de crédito/débito y seguridad. [20] [21] [22]
Hay dos métodos para utilizar un teléfono para verificar la autenticación de un usuario.
Con el primer método, un proveedor de servicios muestra una OTAC en la pantalla de la computadora o del teléfono inteligente y luego realiza una llamada telefónica automática a un número que ya ha sido autenticado. Luego el usuario ingresa en el teclado del teléfono la OTAC que aparece en su pantalla. [23]
Con el segundo método, que se utiliza para autenticar y activar Microsoft Windows , el usuario llama a un número que le proporciona el proveedor del servicio e ingresa la OTAC que el sistema telefónico le entrega. [24]
En el campo de la tecnología informática , se conoce el uso de código de autorización de un solo uso (OTAC) a través del correo electrónico , en un sentido amplio, y el uso de código de autorización de un solo uso (OTAC) a través de una aplicación web , en un sentido profesional.
Es posible enviar OTAC a un usuario por correo postal o correo certificado . Cuando un usuario solicita una OTAC, el proveedor de servicios la envía por correo postal o correo certificado y luego el usuario puede utilizarla para autenticación. Por ejemplo, en el Reino Unido, algunos bancos envían sus OTAC para autorización de banca por Internet por correo postal o correo certificado . [27]
La criptografía cuántica , que se basa en el principio de incertidumbre, es uno de los métodos ideales para producir una OTAC. [28]
Además, se ha analizado y utilizado no sólo el uso de un código cifrado para la autenticación, sino también el uso de una autenticación gráfica con PIN único [29] , como el código QR , que proporciona una técnica de control de acceso descentralizado con autenticación anónima. [30] [31]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )