Thanks, Adam.
I've been working through the spec to make sure I understand it. I have a few questions/feedback.
# Authenticator Confirmation
There doesn't seem to be a step in the hybrid QR flow for the user to confirm to the client that the intended authenticator sent the BLE advert. Without this, it seems that an attacker could scan the QR code before them, allowing the attacker to register the attacker's credentials on the user's account, or to authenticate the user to the attacker's account, both of which have some security issues.
I would have guessed that there would be some sort of confirmation on the client to prevent this attack, such as the authenticator displaying the last byte of the connection nonce as 2 hex digit for the user to type into the client platform before they establish a tunnel.
Without this in place, I think the burden lies on users to keep QR codes private (by not using them in public places). Is this something that FIDO intends to address, or should we expect RPs (and the other passkey marketing materials) to communicate to users that QR code flows should not be initiated in public places?
# ecdh Package
I'm not sure if the final spec release will remain a Go program. With the ecdh package released in Go 1.20, are the corresponding functions drop-in replacements for the ecdsa references in the spec? I think so, but just wanted to confirm.
I'm sorry if this is the wrong place to ask; these seem like deployment questions. I'm not a FIDO or W3C member, so I can't ask in the working group.
Thank you,
II