[障害] ドングル再装着後、WebAuthnログインを実行するとBLE近接認証が失敗
Closed this issue · 2 comments
makmorit commented
概要
MDBT50Q DongleをPCから外して再度装着後、WebAuthnサイトでログインを実行すると、「BLEデバイスによる自動認証」でタイムアウトエラーが発生する不具合が確認されています。
makmorit commented
詳細確認
下記はnRF52840 DKで前述不具合を再現したときのデバッグ出力になります。
自動認証のためのBLEスキャンパラメーター(サービスUUID)が、FIDO authenticate実行時(だけ)正しくFlash ROMからロードされていないための障害に見えます。
デバッグ出力では、パラメーターのサービスUUIDがオールゼロになっているのが分かります。
<info> app: U2F Authenticate: waiting to complete the test of user presence
<debug> ble_scan: Scanning
<debug> ble_service_central: Scan started
<debug> ble_service_central: Scan stopped
<debug> ble_service_central_stat: Bluetooth address:4D181C22F051
<debug> ble_service_central_stat: Device name: (TX power=127, RSSI=-53), UUID(0 bytes):
<debug> ble_service_central_stat: |
<debug> ble_service_central_stat: Bluetooth address:9462CEE96E5A
<debug> ble_service_central_stat: Device name: (TX power=127, RSSI=-47), UUID(0 bytes):
<debug> ble_service_central_stat: |
<debug> ble_service_central_stat: Bluetooth address:25B71106EB43
<debug> ble_service_central_stat: Device name:ASUS_Z00AD (TX power=127, RSSI=-60), UUID(16 bytes):
<debug> ble_service_central_stat: 42 2E 00 00 E1 41 11 E5|B....A..
<debug> ble_service_central_stat: A8 37 08 00 20 0C 9A 66|.7.. ..f
<debug> ble_service_central_stat: uuid_buf vs uuid_strict_string
<debug> ble_service_central_stat: 34 32 32 45 30 30 30 30|422E0000
<debug> ble_service_central_stat: 2D 45 31 34 31 2D 31 31|-E141-11
<debug> ble_service_central_stat: 45 35 2D 41 38 33 37 2D|E5-A837-
<debug> ble_service_central_stat: 30 38 30 30 32 30 30 43|0800200C
<debug> ble_service_central_stat: 00 00 00 00 00 00 00 00|........
<debug> ble_service_central_stat: 00 00 00 00 00 00 00 00|........
<debug> ble_service_central_stat: 00 00 00 00 00 00 00 00|........
<debug> ble_service_central_stat: 00 00 00 00 00 00 00 00|........
<debug> app: BLE peripheral device (for FIDO authenticate) not scanned.
<info> app: Canceled the U2F test of user presence
他方、FIDO register実行時は正しくロードされている様子です。
スキャンされたデバイスのサービスUUIDと、パラメーターのサービスUUIDがマッチしているので、後続の処理が正しく実行されたようです。
<info> app: U2F Register: waiting to complete the test of user presence
<debug> ble_scan: Scanning
<debug> ble_service_central: Scan started
<debug> ble_service_central: Scan stopped
<debug> ble_service_central_stat: Bluetooth address:4D181C22F051
<debug> ble_service_central_stat: Device name: (TX power=127, RSSI=-50), UUID(0 bytes):
<debug> ble_service_central_stat: |
<debug> ble_service_central_stat: Bluetooth address:9462CEE96E5A
<debug> ble_service_central_stat: Device name: (TX power=127, RSSI=-50), UUID(0 bytes):
<debug> ble_service_central_stat: |
<debug> ble_service_central_stat: Bluetooth address:1E3735F5C677
<debug> ble_service_central_stat: Device name:ASUS_Z00AD (TX power=127, RSSI=-78), UUID(16 bytes):
<debug> ble_service_central_stat: 42 2E 00 00 E1 41 11 E5|B....A..
<debug> ble_service_central_stat: A8 37 08 00 20 0C 9A 66|.7.. ..f
<debug> ble_service_central_stat: uuid_buf vs uuid_strict_string
<debug> ble_service_central_stat: 34 32 32 45 30 30 30 30|422E0000
<debug> ble_service_central_stat: 2D 45 31 34 31 2D 31 31|-E141-11
<debug> ble_service_central_stat: 45 35 2D 41 38 33 37 2D|E5-A837-
<debug> ble_service_central_stat: 30 38 30 30 32 30 30 43|0800200C
<debug> ble_service_central_stat: 34 32 32 45 30 30 30 30|422E0000
<debug> ble_service_central_stat: 2D 45 31 34 31 2D 31 31|-E141-11
<debug> ble_service_central_stat: 45 35 2D 41 38 33 37 2D|E5-A837-
<debug> ble_service_central_stat: 30 38 30 30 32 30 30 43|0800200C
<debug> app: BLE peripheral device (for FIDO register) scanned (NAME=ASUS_Z00AD, ADDR=1E3735F5C677)
<debug> ble_service_central: Connected using bonding data
:
<info> app: U2F Register: completed the test of user presence
<info> app: U2F Register start
:
<info> app: U2F Register end