Algoritmo COSE desconocido encontrado. alg: -257

Hola,

Uno de mis usuarios no puede iniciar sesión con 2FA usando una clave de hardware.

Después de presionar el botón en la clave durante el inicio de sesión, Windows 10 solicita un PIN.
Después de ingresar el PIN, recibe el error “El algoritmo utilizado para la clave de seguridad no es reconocido”. Verifiqué y se trata de la clave i18n webauthn.validation.unknown_cose_algorithm_error.

El servidor registra esto como un error:

Se encontró un algoritmo COSE desconocido. alg: -257. user_id: <redacted>. params: <ActionController::Parameters {"signature"=>"<redacted>", "clientData"=>"<redacted>", "authenticatorData"=>"<redacted>", "credentialId"=>"<redacted>"} permitted: false>

Una búsqueda rápida en Google solo encontró esto:
https://review.discourse.org/t/fix-catch-error-when-unknown-cose-algorithm-is-supplied-for-security-key-8649/8074

Así que probablemente necesite implementarse, pero extrañamente, ¿el usuario logró configurarlo en su cuenta?
No estoy seguro de si puedo solucionarlo desde el lado de administración del foro sin cambiar el código.

Estoy utilizando la instalación independiente de Docker recomendada con la versión 2.7.0.beta3. Reconstruí el foro y lo actualicé hace menos de 1 hora antes de crear este hilo.

Eso es extraño. ¿Pueden iniciar sesión con 2FA y esta clave de hardware en otras aplicaciones web? ¿Alguna idea @dan?

¿Puedes compartir el modelo de la clave de seguridad y la versión del navegador?

Será interesante ver qué algoritmo falta en:

Supongo que se trata de este: Support EdDSA · Issue #48 · cedarcode/cose-ruby · GitHub EdDSA.

Si tenemos el modelo y el sistema operativo del dispositivo de desarrollo.

¿Quizás se trata de esto? https://blockchain2fa.io/

Supongo que se pueden usar blockchains para cualquier cosa.

Esta es una limitación de la biblioteca cose-ruby que utilizamos, como señaló @sam. Solo admite estos algoritmos:

Según el mensaje de error, esa clave de seguridad utiliza el algoritmo “-257”, que corresponde a RS256 y no se recomienda. Esa es probablemente la razón por la que la biblioteca no lo implementa.

¿Qué dispositivo estás intentando usar para la autenticación?