stringtranslate.com

Contraseña de un solo uso

MasterCard SecureCode utiliza OTAC para confirmar la identidad de un usuario
Código de autorización de un solo uso, tal como se utiliza en el cliente de escritorio de Yammer

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]

Características

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]

Generación

Los algoritmos OTP concretos varían mucho en sus detalles. Los distintos enfoques para la generación de OTP incluyen:

Sincronizado en el tiempo

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 .

Cadenas hash

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:

  1. Se elige una semilla (valor inicial) .
  2. Se aplica una función hash repetidamente (por ejemplo, 1000 veces) a la semilla, lo que da un valor de: . Este valor, al que llamaremos, se almacena en el sistema de destino.
  3. El primer inicio de sesión del usuario utiliza una contraseña derivada de la aplicación 999 veces a la semilla, es decir, . El sistema de destino puede autenticar que esta es la contraseña correcta, porque es , que es el valor almacenado. El valor almacenado se reemplaza por y el usuario puede iniciar sesión.
  4. El siguiente inicio de sesión debe ir acompañado de . Nuevamente, esto se puede validar porque al aplicarle un hash se obtiene el cual es , el valor almacenado después del inicio de sesión anterior. Nuevamente, el nuevo valor reemplaza y el usuario queda autenticado.
  5. Esto se puede repetir otras 997 veces, cada vez que la contraseña se aplicará una vez menos, y se valida comprobando que, cuando se aplica el hash, proporciona el valor almacenado durante el inicio de sesión anterior. Las funciones hash están diseñadas para que sea extremadamente difícil revertirlas, por lo que un atacante necesitaría conocer la semilla inicial para calcular las posibles contraseñas, mientras que el sistema informático puede confirmar que la contraseña en cualquier ocasión dada es válida comprobando que, cuando se aplica el hash, proporciona el valor utilizado anteriormente para el inicio de sesión. Si se desea una serie indefinida de contraseñas, se puede elegir un nuevo valor de semilla después de que se agote el conjunto.
  6. Aunque el valor del contador del servidor solo se incrementa después de una autenticación OTP exitosa, el contador del token se incrementa cada vez que el usuario solicita una nueva contraseña. Debido a esto, los valores del contador en el servidor y en el token pueden estar desincronizados. Se recomienda establecer un parámetro de anticipación en el servidor, que define el tamaño de la ventana de anticipación. En caso de que el usuario genere una contraseña accidentalmente, el servidor autenticará al cliente, porque puede recalcular los siguientes valores del servidor OTP y compararlos con la contraseña recibida del cliente. [3]

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.

Desafío-respuesta

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.

Implementaciones

Mensaje de texto

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]

Fichas de hardware

Tokens de seguridad RSA SecurID .

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.

Tokens blandos

Ejemplo de token blando .

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]

Copias impresas

OTP en papel.

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.

Seguridad

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]

Normalización

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 ).

Usar

Teléfono móvil

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]

Teléfono

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]

Computadora

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.

Correo

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]

Expansión

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]

Véase también

Referencias

  1. ^ ab Paterson, Kenneth G.; Stebila, Douglas (2010). "One-Time-Password-Authenticated Key Exchange" (PDF) . En Steinfeld, Ron; Hawkes, Philip (eds.). Seguridad de la información y privacidad . Apuntes de clase en informática. Vol. 6168. Berlín, Heidelberg: Springer. págs. 264–281. doi :10.1007/978-3-642-14081-5_17. ISBN . 978-3-642-14081-5.
  2. ^ EOTP – Transferencia de clave estática. Defuse.ca (13 de julio de 2012). Consultado el 21 de diciembre de 2012.
  3. ^ Herramientas IETF. RFC 4226 - Sección 7.4: Resincronización del contador
  4. ^ Barkan, Elad; Eli Biham ; Nathan Keller (2003). «Criptoanálisis instantáneo de texto cifrado únicamente de comunicaciones GSM encriptadas»: 600–16. Archivado desde el original el 7 de octubre de 2015. Consultado el 6 de octubre de 2015 . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  5. ^ Barkan, Elad; Eli Biham; Nathan Keller. "Criptoanálisis instantáneo de texto cifrado de comunicaciones GSM encriptadas por Barkan y Biham de Technion (versión completa)" (PDF) .
  6. ^ Gueneysu, Tim; Timo Kasper; Martin Novotný; Christof Paar; Andy Rupp (2008). "Criptoanálisis con COPACOBANA" (PDF) . IEEE Transactions on Computers . 57 (11): 1498–1513. doi :10.1109/TC.2008.80. S2CID  8754598.
  7. ^ Nohl, Karsten; Chris Paget (27 de diciembre de 2009). GSM: SRSLY?. 26th Chaos Communication Congress (26C3) . Consultado el 30 de diciembre de 2009 .
  8. ^ Fontana, John. "El blog del NIST aclara la depreciación de los SMS tras la caída de los medios". ZDNet . Consultado el 14 de julio de 2017 .
  9. ^ Meyer, David. "Se acaba el tiempo para los códigos de seguridad de inicio de sesión basados ​​en SMS". Fortune . Consultado el 14 de julio de 2017 .
  10. ^ ab Brandom, Russell (10 de julio de 2017). "La autenticación de dos factores es un desastre". The Verge . Consultado el 14 de julio de 2017 .
  11. ^ Brandom, Russell (31 de agosto de 2019). «La técnica espantosamente simple que secuestró la cuenta de Twitter de Jack Dorsey». The Verge . Consultado el 30 de enero de 2020 .
  12. ^ Tims, Anna (26 de septiembre de 2015). «El 'cambio de SIM' permite a los estafadores acceder a todas las áreas a través de su teléfono móvil». The Guardian . ISSN  0261-3077 . Consultado el 30 de enero de 2020 .
  13. ^ "Yubico AB". Bloomberg Businessweek . Archivado desde el original el 14 de octubre de 2012. Consultado el 13 de julio de 2011 .
  14. ^ Garun, Natt (17 de junio de 2017). «Cómo configurar la autenticación de dos factores en todas sus cuentas en línea». The Verge . Consultado el 14 de julio de 2017 .
  15. ^ McWhertor, Michael (15 de abril de 2015). "Valve añade autenticación de inicio de sesión de dos factores a la aplicación móvil de Steam". Polygon . Consultado el 8 de septiembre de 2015 .
  16. ^ Artículo de The Register. Artículo de The Register (12 de octubre de 2005). Recuperado el 21 de diciembre de 2012.
  17. ^ Blog de seguridad del Washington Post. Blog.washingtonpost.com. Recuperado el 21 de diciembre de 2012.
  18. ^ Wu, M., Garfinkel, S. y Miller, R. (2004). Autenticación web segura con teléfonos móviles. pp. 9–10.
  19. ^ Shu, M., Tan, C. y Wang, H. (2009). Esquema de autenticación móvil mediante SMS. Servicios de Ciencia, Gestión e Ingeniería, 2009. SSME '09. Conferencia Internacional IITA sobre, págs. 161–164.
  20. ^ Axisbank.com, (sin fecha). Registro de la aplicación móvil de Axis Bank. [en línea] Disponible en: http://www.axisbank.com/personal/speed-banking/how-to-download-and-register-java.aspx [Consultado el 28 de octubre de 2014].
  21. ^ Código de seguridad de Master Card. (sin fecha). [en línea] Disponible en: http://www.ingvysyabank.com/pdf's/What%20is%20MasterCard%20SecureCode.pdf [Consultado el 28 de octubre de 2014].
  22. ^ Inc., S. (nd). Autenticación SMS: Servicios de autenticación de SafeNet. [en línea] Www2.safenet-inc.com. Disponible en: http://www2.safenet-inc.com/sas/sms-tokens.html [Consultado el 28 de octubre de 2014].
  23. ^ Lloydsbank.com, (sin fecha). Procedimiento de autenticación en línea de Lloyds Bank. [en línea] Disponible en: http://www.lloydsbank.com/help-guidance/security/authentication-procedure.asp?srnum=1 [Consultado el 28 de octubre de 2014].
  24. ^ windows.microsoft.com, (nd). Activar Windows 7. [en línea] Disponible en: http://windows.microsoft.com/en-us/windows/activate-windows#1TC=windows-7 [Consultado el 28 de octubre de 2014].
  25. ^ Adida, B. (2008). EmID: Autenticación web por dirección de correo electrónico.
  26. ^ Hardt, D. (2012). El marco de autorización OAuth 2.0.
  27. ^ Lloydsbank.com, (sin fecha). Lloyds Bank - Banca por Internet - Cómo registrarse para la banca en línea. [en línea] Disponible en: http://www.lloydsbank.com/online-banking/how-to-register.asp [Consultado el 28 de octubre de 2014].
  28. ^ Sobota, M., Kapczy_ski, A. y Banasik, A. (2011). Aplicación de protocolos de criptografía cuántica en el proceso de autenticación. Sistemas de adquisición de datos inteligentes y computación avanzada (IDAACS), 2011 IEEE 6th International Conference on, 2, págs. 799–802.
  29. ^ Jhawar, R., Inglesant, P., Courtois, N. y Sasse, M. (2011). Make mine a quadruple: Strengthening the security of graphical one-time pin authentication [Hagamos que el mío sea cuádruple: Fortaleciendo la seguridad de la autenticación gráfica con PIN de un solo uso]. pp. 81–88.
  30. ^ Liao, K. y Lee, W. (2010). Un nuevo esquema de autenticación de usuarios basado en códigos QR. Journal of Networks, 5(8), págs. 937–941.
  31. ^ Vijayalakshmi, A. y Arunapriya, R. (2014). AUTENTICACIÓN DE ALMACENAMIENTO DE DATOS UTILIZANDO CONTROL DE ACCESO DESCENTRALIZADO EN NUBES. Journal of Global Research in Computer Science, 5(9), págs. 1–4.