3 ms·
There's a slight problem. It doesn't 'effectively' achieve 2FA at all. If I lose my phone and lose my master key, I lose my all my identities, and even if I som
by cormacrelf 9y ago
There's a slight problem. It doesn't 'effectively' achieve 2FA at all. If I lose my phone and lose my master key, I lose my all my identities, and even if I somehow remember them, I can't prove they are mine.
HMAC(Master key + Domain) -> private key + identity (public key)
HMAC(Master key + Domain) + challenge -> response
Lose that master key, and you can't get anywhere. By contrast, FIDO U2F works loosely like this:
1. first factor
2. HMAC(Master key + Domain) + challenge -> response
Key point being that it's still 2FA, where SQRL is still just one factor. If you lose your FIDO device, at least as it stands, most sites make you have a token generator app as well, or at least a path through customer support.
It may help to think of an email + password as being two factors, and various 2FA solutions actually being three factors. Email is something you can prove independently of your password. SQRL has exactly one factor, and zero failover strategy.
It's debatable whether it should be possible to get through customer support after losing anything, but the 99% of online security infrastructure that builds a chain of trust upon your email address really does work for most people in most cases. It's terrible that email addresses are easily correlated across different websites, but the reality is that any replacement identity solution needs to be as easily restored in case of failure.
For SQRL to work and give you an out for lost master keys, it would need at least a way of creating a redundancy, like replacing HMAC(Master key + Domain) with an asymmetric negotiation of the correct identity, or adding another layer of indirection that makes the master key replaceable.
- cm2187 9y agoDepends on how you define two factor. To me it is using a different device than the device you authenticate with and unless you compromise that device you cannot authenticate any other way. The way it deals with compromised private keys is that you can store the list of websites you authenticated to on a central location and run a reset of all your authentications on all websites in one go from there. But then it relies on a third party. I don't pretend that this is the ultimate solution (nor am I aware that there is an ultimate solution) but it does seem more secure and practical than anything else I have seen so far. I am sure you can make more secure but less practical and of course less secure and more practical.
- HurrdurrHodor 9y ago2FA requires 2 authentication factors like a password & a token i.e. your PIN and banking card. It doesn't really have anything to do with where you enter those. https://en.wikipedia.org/wiki/Multi-factor_authentication https://en.wikipedia.org/wiki/Multi-factor_authentication
- nmca 9y agoThere are nice ways to store private keys; including BIP39 that creates a 24 word mnemonic phrase that you can write down somewhere. (Not that that's perfect security, but it is nice)
- jpillora 9y agoThe lost master key problem is addressed here: https://www.grc.com/sqrl/idlock.htm https://www.grc.com/sqrl/idlock.htm