Bug 214849

Summary: iOS 14 PinProtocol falure due to removing authenticator to type password.
Product: WebKit Reporter: login Llama <loginllama>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: jiewen_tan, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: iPhone / iPad   
OS: Unspecified   

Description login Llama 2020-07-27 14:47:15 PDT
This is largly the same bug as the NFC one.  If the power is removed from the authenticator it will generate a new ECDH keypair for the pin protocol.  
iOS is continuing to use the key retrieved before the power cycle for ECDH-ES and the pin protocol fails when the pin is sent to the authenticator.

You ask why is this a problem?  Just don't remove the key.

The problem is that many Fido keys support other protocols and appear to iOS as external keyboards.

For those keys, perhaps in the millions when they are used with a iPAD once they are inserted the on screen keyboard disappears.  
If the user has a BLE or other keyboard they are fine, otherwise they remove the authenticator to type the pin and then reinsert to submit it, but it won't work because the key has changed.  

I don't know if there is any option to ignore the external keyboard and bring up the on screen one.

The simplest thing is to make sure the fix that I think you are doing for NFC is also applied to USB.
Comment 1 Radar WebKit Bug Importer 2020-07-27 18:22:30 PDT
<rdar://problem/66192998>
Comment 2 Jiewen Tan 2020-07-28 00:18:39 PDT

*** This bug has been marked as a duplicate of bug 213900 ***