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 de inicio de sesión o transacció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 de llavero con la calculadora OTP incorporada, o una tarjeta inteligente o un teléfono celular específico) así como algo que una persona sabe (como un PIN).
Los algoritmos de generación de OTP suelen utilizar pseudoaleatoriedad o aleatoriedad para generar una clave o semilla compartida, y funciones hash criptográficas , que se pueden utilizar para derivar un valor, pero son difíciles de revertir y, por lo tanto, es difícil para un atacante obtener los datos que se utilizaron para el hash. Esto es necesario porque, de lo contrario, sería fácil predecir futuras OTP observando las anteriores.
Se ha hablado de las OTP como posible reemplazo y potenciador de las contraseñas tradicionales. El inconveniente es que las OTP pueden ser interceptadas o redirigidas, 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 pueden conocer la contraseña mediante ataques de phishing para hacerse pasar por el usuario autorizado. [1]
La ventaja más importante que abordan las OTP es que, a diferencia de las contraseñas estáticas, no son vulnerables a ataques de repetición . Esto significa que un intruso potencial que logre 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 contraseña (o similar) para varios sistemas, no se vuelve vulnerable en todos ellos, si un atacante obtiene la contraseña de uno de ellos. Una serie de 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 existen diferentes formas de hacer que el usuario conozca la siguiente OTP que debe utilizar. Algunos sistemas utilizan tokens electrónicos de seguridad especiales que el usuario lleva consigo y que generan OTP y los muestran mediante una pequeña pantalla. Otros sistemas consisten en un software que se ejecuta en el teléfono móvil del usuario . Otros sistemas generan OTP en el lado del servidor y los envían al usuario mediante un canal fuera de banda, como la mensajería SMS . Por último, 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 únicamente una contraseña de un solo uso. [2]
Los algoritmos OTP concretos varían mucho en sus detalles. Los distintos enfoques para la generación de OTP incluyen:
Un OTP sincronizado en el tiempo suele estar relacionado con una pieza de hardware llamada token de seguridad (por ejemplo, a cada usuario se le da 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ñas, 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 ejecuta software propietario, gratuito o de código abierto . Un ejemplo de un estándar OTP sincronizado en el tiempo es la contraseña de un solo uso basada en el tiempo (TOTP). Se pueden utilizar algunas aplicaciones para mantener OTP sincronizadas en el tiempo, como Google Authenticator o un administrador de contraseñas .
Cada nueva contraseña de un solo uso puede crearse a partir de las contraseñas de un solo uso utilizadas anteriormente. Un ejemplo de este tipo de algoritmo, atribuido a Leslie Lamport , utiliza una función unidireccional (llamémosla ). Este sistema de contraseñas 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 es una función hash criptográfica , que es generalmente el caso, se supone que es una tarea computacionalmente intratable . Un intruso que vea una contraseña de un solo uso puede tener acceso durante un período de tiempo o inicio de sesión, pero se vuelve inútil una vez que expira ese período. 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 con respuesta-desafío 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 token mismo. Para evitar duplicados, generalmente se utiliza un contador adicional, por lo que si uno recibe el mismo desafío dos veces, esto aún da como resultado diferentes contraseñas de un solo uso. Sin embargo, el cálculo no suele involucrar la contraseña de un solo uso anterior; es decir, generalmente se utiliza este u otro algoritmo, en lugar de usar 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 omnipresente, al estar directamente disponible en casi todos los teléfonos móviles y, a través de la conversión de texto a voz, a cualquier teléfono móvil o fijo, la mensajería de texto tiene un gran potencial para llegar a todos los consumidores con un bajo costo total de implementación. La OTP a través de mensajes de texto se puede cifrar utilizando un estándar A5/x , que varios grupos de piratas informáticos informan que 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 han sido utilizadas para redirigir los mensajes de texto asociados a los atacantes; en 2017, varios clientes de O2 en Alemania fueron violados de esta manera para obtener acceso a sus cuentas bancarias móviles . 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 desalienta el uso de SMS como método para implementar la autenticación de dos factores fuera de banda, debido a la capacidad de los SMS para ser interceptados a escala. [8] [9] [10] Los mensajes de texto también son vulnerables a 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]
El SecurID de RSA Security es un ejemplo de un tipo de token de sincronización de tiempo, 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 un 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? ] se ha hecho posible tomar los componentes electrónicos asociados con los tokens OTP de llaveros comunes e integrarlos en un factor de forma de tarjeta de crédito. Sin embargo, el grosor de las tarjetas, de 0,79 mm a 0,84 mm, impide el uso de componentes o baterías estándar. Se deben utilizar baterías especiales basadas en polímeros que tienen una vida útil mucho menor que las pilas de botón . Los componentes semiconductores no solo deben ser muy planos, sino que también deben minimizar la energía utilizada en modo de espera y durante el funcionamiento. [ cita requerida ]
Yubico ofrece un pequeño token USB con un chip incorporado que crea un 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 incorpora 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 enviar 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 requieren necesariamente una conexión a una red móvil para su uso. [14] [10] [15]
En 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 manera secuencial, mientras que otros eligen una OTP de manera pseudoaleatoria.
Cuando se implementan correctamente, las contraseñas de un solo uso dejan de ser útiles para un atacante poco tiempo después de su uso inicial. Esto difiere de las contraseñas, que pueden seguir siendo útiles para los atacantes años después.
Al igual que las contraseñas, las OTP son vulnerables a ataques de ingeniería social en los que los estafadores roban las OTP engañando a los clientes para que les proporcionen sus OTP. También al igual que las contraseñas, las OTP pueden ser vulnerables a ataques de intermediarios , 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 los OTP sean vulnerables a tipos de ataques similares fue una motivación clave para Universal 2nd Factor , que está diseñado para ser más resistente a los ataques de phishing.
Las contraseñas de un solo uso que no incluyen un componente de sincronización de tiempo o de desafío-respuesta necesariamente tendrán una ventana de vulnerabilidad más larga si se ven comprometidas antes de su uso. A fines de 2005, los clientes de un banco sueco fueron engañados para que entregaran las 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, lo que 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 un OTAC a través de un teléfono móvil. De esta manera, un proveedor de servicios envía un mensaje de texto que incluye un OTAC cifrado por 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 el análisis teórico. [19]
Los SMS como método para recibir OTAC se utilizan ampliamente en nuestra vida diaria para fines tales como banca, 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, el proveedor de servicios muestra un código OTAC en la pantalla del ordenador o del teléfono inteligente y, a continuación, realiza una llamada telefónica automática a un número que ya ha sido autenticado. A continuación, el usuario introduce el código OTAC que aparece en su pantalla en el teclado del teléfono. [23]
Con el segundo método, que se utiliza para autenticar y activar Microsoft Windows , el usuario llama a un número proporcionado por el proveedor de servicios e ingresa el OTAC que el sistema telefónico le proporciona al usuario. [24]
En el campo de la tecnología informática , se sabe que el uso del código de autorización de un solo uso (OTAC) a través del correo electrónico , en un sentido amplio, y el uso del 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 usarla para la autenticación. Por ejemplo, en el Reino Unido, algunos bancos envían su OTAC para la 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 un OTAC. [28]
Además, se ha discutido y utilizado no solo el uso de un código cifrado para la autenticación, sino también el uso de la autenticación gráfica con PIN de un solo uso [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}}
: Requiere citar revista |journal=
( ayuda )