¿Cómo funciona la concatenación de una contraseña de usuario y una OTP YubiKey?

2

Utilizo un Yubikey para iniciar sesión en una VPN. Al iniciar sesión, proporciono un nombre de usuario y luego escribo una contraseña y, sin pulsar la tecla de retorno, toca el Yubikey.

Por lo que tengo entendido, y desde la experimentación, el Yubikey parece un teclado para el sistema operativo, y agrega una cadena única, encriptada, que termina con un EOL. Esto se explica en esta pregunta

Sin embargo, entendí que una buena autenticación funciona enviando un hash de la contraseña del usuario al servidor remoto, y esto funciona si solo envío un OTP. si Si la contraseña del usuario + la cadena OTP de Yubikey está en el cliente, ¿cómo se desenreda para ser verificada en el servidor? ¿Mi contraseña está almacenada sin hash en el servidor?

    
pregunta Gremlin 20.02.2017 - 13:11
fuente

2 respuestas

2

Estás equivocado en tu comprensión. La seguridad de un sistema de autenticación se define principalmente por el tipo de ataques contra los que protegerá. Hashear la contraseña del usuario es muy a menudo parte de los sistemas de autenticación, pero por lo general no de la forma descrita.

Por lo general, para almacenar la contraseña de una manera que se considere segura (con sal, hash, estirada) se requerirá que la contraseña se verifique en texto claro.

La seguridad de la contraseña real mientras está en tránsito generalmente se deja al cifrado de la conexión (generalmente, TLS).

La adición de un sistema OTP no cambia lo anterior: la validación de la OTP normalmente se realiza sin la participación directa de la contraseña.

    
respondido por el Stephane 20.02.2017 - 14:52
fuente
1

Como señaló @Stephane, la contraseña que está ingresando no está oculta en el cliente, a menos que esté haciendo cosas como MSChapV2.

Por lo tanto, el servidor de autenticación ve una cadena de contraseña de texto sin formato de su contraseña estática secreta y el valor OTP cifrado AES de yubico.

Como sabe el sistema de autenticación, cuánto tiempo dura la salida de Yubikey (si está usando el modo AES probablemente 44 o 32 caracteres), entonces el sistema puede dividir la cadena

  1. cadena [32:] - > verificar yubico OTP
  2. cadena [: - 32] - > hash y verifica contra el PW estático hash en la base de datos.
respondido por el cornelinux 21.02.2017 - 00:23
fuente

Lea otras preguntas en las etiquetas