알 수 없는 COSE 알고리즘 발견. alg: -257

안녕하세요,

사용자 중 한 명이 하드웨어 키를 사용하여 2FA로 로그인할 수 없습니다.

로그인 중 키의 버튼을 누른 후 Windows 10에서 PIN을 입력하라는 메시지가 표시됩니다.
PIN을 입력하면 "보안 키에 사용된 알고리즘을 인식할 수 없습니다."라는 오류가 발생합니다. 확인해 보니 i18n 키 webauthn.validation.unknown_cose_algorithm_error입니다.

서버는 이를 오류로 기록합니다:

Unknown COSE algorithm encountered. alg: -257. user_id: <redacted>. params: <ActionController::Parameters {"signature"=>"<redacted>", "clientData"=>"<redacted>", "authenticatorData"=>"<redacted>", "credentialId"=>"<redacted>"} permitted: false>

빠른 구글 검색 결과 이 내용만 찾았습니다:
https://review.discourse.org/t/fix-catch-error-when-unknown-cose-algorithm-is-supplied-for-security-key-8649/8074

따라서 구현이 필요할 것 같은데, 이상하게도 사용자가 어딘가에서 계정에 설정을 한 것 같습니다.
코드 변경 없이 포럼 관리자 쪽에서 수정할 수 있을지 확실하지 않습니다.

권장되는 독립형 Docker 설치 방식을 사용 중이며 버전은 2.7.0.beta3입니다. 이 스레드를 작성하기 불과 1시간 전에 포럼을 재빌드하고 업데이트했습니다.

이상하네요. 다른 웹앱에서도 2FA와 이 하드웨어 키를 이용해 로그인할 수 있을까요? @dan님, 혹시 아이디어가 있으신가요?

보안 키 모델과 브라우저 버전을 공유해 주시겠어요?

어떤 알고리즘이 빠져 있을지 궁금합니다:

아마 이거일 것 같습니다: Support EdDSA · Issue #48 · cedarcode/cose-ruby · GitHub EdDSA.

개발자의 모델과 OS를 알 수 있다면요.

아마 이거일까요? https://blockchain2fa.io/

블록체인은 뭐에든 쓸 수 있다고 생각합니다.

이것은 @sam이 지적한 대로, 우리가 사용하는 cose-ruby 라이브러리의 한계입니다. 이 라이브러리는 다음 알고리즘만 지원합니다:

에러 메시지에 따르면, 해당 보안 키는 RS256을 나타내는 “-257” 알고리즘을 사용하며, 이는 권장되지 않습니다. 이것이 라이브러리가 해당 알고리즘을 구현하지 않은 이유일 가능성이 높습니다.

인증에 어떤 기기를 사용하려고 하시나요?