¿Cómo funcionan los Dispositivos Token de Hardware?


Recientemente, mi banco me envió este pequeño dispositivo que genera un código único que debe usarse al realizar transacciones en línea, todo lo que hace el dispositivo es generar este código único cuando presiono un botón blanco en particular y no parece que se conecte a un servidor remoto ni nada de eso.

Hice algunas investigaciones y terminé en criptografía con algo llamado la función Hash pero todavía no lo entiendo.

Mis Preguntas

  • ¿Cómo los servidores de mi banco saben que el código generado por este dispositivo es correcto?
  • Dado que solo genera cinco dígitos aleatorios cada 30 segundos, ¿por qué el servidor no autentica un número aleatorio que también he decidido usar?
Author: Patrick M, 2014-08-11

1 answers

Esto tiene muy poco que ver con las funciones hash. Una función hash criptográfica puede ser parte de la implementación, pero no es necesaria.

En realidad, genera los dígitos en un intervalo basado en el tiempo, si presiono el botón para que genere los dígitos, genera los dígitos y después de unos 25 segundos, y lo presiono de nuevo, los dígitos no cambian cuando lo presiono de nuevo inmediatamente después de haberlo presionado.

Ahí está tu pista. Es un tiempo basado algoritmo pseudoaleatorio o criptográfico. Basado en la hora, hay un código. El dongle y el servidor conocen-o mejor dicho, pueden calcular-el código para cada ventana. Este es un secreto compartido - el dongle no se conecta a un servidor remoto. El servidor probablemente permitirá una o dos de las claves secretas más recientes, para evitar la situación en la que ingrese una clave que tiene solo expirado mientras la transmisión estaba en ruta.

(Aunque mi experiencia reciente con Amazon Web Service multi-factor authentication definitivamente ha resultado en fallas de inicio de sesión dentro de los 5 segundos de un código que se me muestra. En otras palabras, algunos proveedores son muy estrictos con sus ventanas de tiempo. Como siempre, es una compensación entre seguridad y usabilidad.)

Las abreviaturas CodesInChaos mencionadas son Time-based One-Time Password (TOTP) y HMAC-based One-Time Password (HOTP) , dos algoritmos comúnmente utilizados en autenticación.

Wikipedia tiene esto que decir sobre el RSA SecurID, una marca particular de dongle de autenticación de dos factores.

El mecanismo de autenticación RSA SecurID consiste en un" token " - ya sea hardware (por ejemplo, un dongle USB) o software (un token suave) - que se asigna a un usuario de computadora y que genera un código de autenticación a intervalos fijos (generalmente 60 segundos) utilizando un reloj incorporado y la clave aleatoria codificada de fábrica de la tarjeta (conocida como semilla"). La semilla es diferente para cada token, y se carga en el servidor RSA SecurID correspondiente (RSA Authentication Manager, anteriormente ACE/Server) a medida que se compran los tokens.

Elegí este artículo porque tiene una descripción física razonable; los artículos de nivel superior se centran en lo teórico sobre la implementación física.

El artículo también confirma que debe mantener el secreto del token, o alguien más puede hacerse pasar por sus inicios de sesión saber cuáles son los códigos tan fácilmente como tú.

El hardware del token está diseñado para ser resistente a la manipulación para disuadir la ingeniería inversa. Cuando las implementaciones de software del mismo algoritmo ("tokens de software") aparecieron en el mercado, el código público ha sido desarrollado por la comunidad de seguridad que permite a un usuario emular RSA SecurID en el software, pero solo si tienen acceso a un código RSA SecurID actual, y el archivo semilla RSA SecurID original de 64 bits introducido servidor.

Sin embargo, dado que el servidor de verificación tiene que tener conocimiento previo de los tokens, los secretos de dos factores también son vulnerables a ataques en la fuente. SecurID fue víctima de un robo de alto perfil que apuntó a sus propios servidores y finalmente condujo a incursiones secundarias en los servidores de sus clientes también.

Finalmente, hay más información disponible sobre la seguridad .stackexchange sister-site bajo la etiqueta multi-factor, y también en este sitio bajo la etiqueta de autenticación de dos factores.

 32
Author: Patrick M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-22 04:24:16