Hi!
As far as I understand your proposal, the Transfer Access Protocol is primarily designed for phones but not for USB keys for example. Also for a full solution (reliable, easy to use, lost or broken devices) it has the following requirements:
a) The new device is registered at all RPs before disposing the old device or
b) all keys are known by the device (to generate transfer requests for the new device upfront).
Assuming that the “problem” of passwords (which FIDO aims to solve) is so dominant because people use so many websites/RPs these days I think a) can’t be assumed to be practical. Assuming USB keys usually implement a form of key derivation I don’t think requirement b) can be fulfilled either.
IMHO a sufficient solution should be generic enough to cover both phones and USB keys.
Talking about security: A mechanism for a backup device generally reduces the security one way or the other. Hence, I think users should have the choice to use a backup mechanism (with potentially reduced security) or use only one device. In the later case the security must not be reduced. In other words: The solution shouldn’t establish a backdoor in the very FIDO protocol but be an option only.
This brings me to the following variations of the solutions described in your paper, with USB keys in mind:
c) Copy keys during device initialization: Assuming a key derivation approach, the master/device key would be cloned during device initialization and be imported into other FIDO devices. Key cloning wouldn’t be possible after device initialization, because it would be a backdoor (independent of user’s choice).
d) Pre-emptively syncing keys: n devices sync among each other, sharing their public keys. During device registration not just one but all (synced) public keys are sent to the RP. Backup devices would only work for RP which are registered after syncing the backup device to the main device. The FIDO protocol would only require a minor modification which is that multiple public keys can be registered.
Both approaches could be assumed practical for inexpensive USB keys but wouldn’t work well for phones, which is why you came up with the more complex Transfer Access Protocol. So I don’t have a desired solution practical for phones and USB keys.
Both approaches share one problem: How to prevent that cloned devices are sold/given to unaware users, so that the attacker has a backup key? Perhaps the device signalizes it cloned status so that the browser provides a warning to users? In scenario d) the browser would naturally see that a backup device is synchronized, by looking at the public keys.
I'm wondering if the FIDO Alliance has a solution or position on this topic.
Best regards,
Jan
--
You received this message because you are subscribed to the Google Groups "FIDO Dev (fido-dev)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fido-dev+unsubscribe@fidoalliance.org.
To post to this group, send email to fido...@fidoalliance.org.
Visit this group at https://groups.google.com/a/fidoalliance.org/group/fido-dev/.
To view this discussion on the web visit https://groups.google.com/a/fidoalliance.org/d/msgid/fido-dev/5655569b-edd4-4264-970a-0d7947757a2c%40fidoalliance.org.
Hence, did you consider using individual keys instead of a large blob? I
assume the blob was chosen for privacy reasons, right?
Also users may run into situations where they
need to add more pre-generated keys with their backup device to the
Online Recovery Service. This would further complicate the process and
protocol.
--
You received this message because you are subscribed to the Google Groups "FIDO Dev (fido-dev)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fido-dev+unsubscribe@fidoalliance.org.
To post to this group, send email to fido...@fidoalliance.org.
Visit this group at https://groups.google.com/a/fidoalliance.org/group/fido-dev/.
To view this discussion on the web visit https://groups.google.com/a/fidoalliance.org/d/msgid/fido-dev/bf603c28-0014-59de-0cc4-18f3a05c6b43%40nitrokey.com.