¿Cuál es el riesgo y la mitigación de escribir accidentalmente una contraseña de YubiKey en un foro abierto?

18

Tengo una YubiKey en mi computadora portátil (para pruebas) y accidentalmente transmito mi contraseña de YubiKey a Internet. Como esta es solo una clave de prueba y no tiene acceso a nada de valor, aquí hay algunas claves OTP de muestra:

  

ccccccbhknbgunfejcduuficrglhbckgbbugjegrbbbj

     

ccccccbhknbgncbjurrufidrvjvjnbglduvnjtccjhif

Entiendo que en la configuración predeterminada, los caracteres iniciales son un identificador (ID único) de ordenaciones: ccccccbhknbg . No estoy claro si este es un valor codificado o si es un valor ASCII sin procesar.

  • ¿Cuál es el riesgo de enviar estas contraseñas a Internet? ¿Se perdió alguna privacidad?

  • ¿Importa si está conectado a la nube YubiKey o si forma parte de una configuración independiente?

  • ¿Cómo puedo recuperarme de esto? ¿Puedo regenerar algún identificador? ¿Cómo puedo invalidar las contraseñas?

pregunta random65537 14.02.2013 - 02:34
fuente

4 respuestas

16

Hay algunas explicaciones sobre lo que hace YubiKey aquí . Básicamente, la contraseña que "escribe" YubiKey (desde el punto de vista de la computadora, es un teclado) puede ser una contraseña estática o una contraseña de un solo uso. Si es una contraseña estática, simplemente la reveló, y es hora de que lo lamentemos (y que cambie esa contraseña rápidamente).

Las contraseñas de un solo uso que produce YubiKey siguen a HOTP . La criptografía en HOTP es tal que no es computacionalmente posible volver a calcular el "secreto maestro" de una o varias contraseñas de un solo uso producidas con HOTP. Además, cada contraseña se calcula internamente a partir de un contador. La YubiKey y el servidor mantienen el mismo contador, y el servidor permite una falta limitada de sincronización. Es decir, cuando el contador actual del servidor tiene el valor n y recibe una contraseña como intento de autenticación, generará internamente las contraseñas para los valores n + 1 , n + 2 , ... hasta, digamos, n + 100 (que es configurable). Si se encuentra una coincidencia con (digamos) la contraseña n + 17 , entonces se otorga el acceso y el contador del servidor se establece en n + 17 ; de lo contrario, se rechaza la conexión y no se cambia el contador del servidor.

Por lo tanto, lo que publicaste inadvertidamente "en Internet" es una contraseña que otorgará acceso al servidor correspondiente, hasta tu próxima autenticación en ese servidor, porque esa autenticación actualizará el contador del servidor. a un valor de contador adicional. En cierto modo, el uso de OTP con el valor del contador k invalida todos los valores de OTP con los valores j < k . Lo que lleva al siguiente procedimiento de recuperación: si publicó un valor de OTP, conéctese rápidamente al servidor para invalidar ese valor publicado. Después, simplemente puedes ignorarlo; Una vez invalidado, es inofensivo.

( Nota: si genera repetidamente una gran cantidad de contraseñas "en blanco" con su clave sin autenticarse en el servidor, su YubiKey puede no estar sincronizada con la del servidor, la clave que usa los valores del contador van mucho más allá de lo que el servidor aceptaría actualmente. No permita que su hijo de 3 años juegue con su YubiKey. En una situación similar, para las teclas de infrarrojos para automóviles, la sincronización del contador se fuerza a través de RFID cuando arranca el motor. / p>     

respondido por el Thomas Pornin 14.02.2013 - 18:07
fuente
5

YubiKey es compatible con Yuibco OTP, que es la OTP larga generada. La YubiKey One Time Password (OTP) es una identificación pública y contraseña cifrada de 128 caracteres, de un solo uso y segura, casi imposible de falsificar.

La OTP se compone de dos partes principales; los primeros 12 caracteres permanecen constantes y representan la ID pública del token de YubiKey.

Los 32 caracteres restantes forman un código de acceso único para cada OTP generado. El código de acceso se genera a partir de una multitud de fuentes aleatorias, incluidos los contadores para las sesiones de YubiKey y las OTP generadas. Cuando se valida una YubiKey, los valores de la sesión y el contador OTP se comparan con los últimos valores enviados. Si los contadores son menos que los valores utilizados anteriormente, la OTP se rechaza. Copiar una OTP no permitirá que otro usuario falsifique una YubiKey: el valor del contador permitirá que el servidor de validación sepa qué OTP ya se han utilizado.

Puede leer más sobre la OTP YubiKey aquí

    
respondido por el Yubi_David 19.02.2013 - 17:35
fuente
2

estas bien Solo perdiste un tipo de identificador de "nombre de usuario".

Thomas no está del todo correcto con respecto a la parte sobre el servidor que genera 100 contraseñas para verificar.

La segunda parte, la "OTP" está encriptada. El servidor descifra la OTP usando su clave AES. El contenido descifrado tiene el contador. Si el contador es igual o menor que el último contador que el servidor autenticó, entonces es un ataque de repetición.

Si quieres crear una nueva clave AES, puedes subirla a yubico, pero dicen que no tiene la misma garantía de disponibilidad. Sin embargo, el solo hecho de escupir algunas OTP no lo comprometerá.

    
respondido por el Dustin Graham 17.06.2014 - 18:23
fuente
0

La cadena del token de Yubikey OTP se genera al codificar la cadena hexadecimal de los datos sin procesar en un subconjunto especial de caracteres alfa (latinos) en minúscula. Por ejemplo, c resulta ser la codificación de nibble (dígito) hexadecimal 0 .

Por defecto, los primeros 12 caracteres (6 bytes) del token OTP del "vainilla" Yubikey, con la configuración y las claves predeterminadas, es el número de serie. Así que acabas de filtrarlo: 14***93 , ¿no?

El resto son datos cifrados AES-128 (contador, nonce aleatorio, ...), así que no estaría preocupado.

La codificación se llama Yubico modhex y está diseñada para evitar la ambigüedad de los códigos de teclado en diferentes distribuciones de teclado (por ejemplo, QWERTY vs AZERTY):

0123456789abcdef
cbdefghijklnrtuv

También hay demostración y convertidor .

    
respondido por el mykhal 27.10.2016 - 00:26
fuente

Lea otras preguntas en las etiquetas