3 ms·
Worked on this problem almost a decade ago, pre-FIDO. Happy to share experience: The threat model reduced to mobile malware that grabbed private/secret keys, a
by motohagiography 7y ago
Worked on this problem almost a decade ago, pre-FIDO. Happy to share experience:
The threat model reduced to mobile malware that grabbed private/secret keys, and how the harvested keys could be used at scale. Banks didn't want it, because the net improvements on passwords were edge cases and it didn't have enough standards based compliance assurance to transfer liability to the user.
Things like smoother UX, and customers not having to manage a passwd db were the sell, but those weren't really anyone's problems at the time.
The key problem isn't authentication, it's identity assurance, which means user enrolment that can be "trusted" and then secure personalization of the credential with unique keys. If you are extending the telcoms user idenity trust model, it's sufficient for a few things, but not anything I'd bet a $10k account reimbursement on at scale. You can actually trust an oauth2 partner for identity assurance with some additional data sets.
Second, (first really) an AuthN method is only as secure as it's recovery process, and so the benefits of adding factors, keys, and protocols are just shuffling cards in the same deck.
Apple can do this because they have a secure element on their phones that can store trusted keys, derive new keys, and facilitate personalization. Android fragmentation means you can't rely on this storage on other devices, and you are reduced to the security of the android ecosystem, which is almost as bad as the windows ecosystem in the 1990s.
So how could something as awful as passwords be better than what you are proposing? They are backed by standards, compliance, and maturity, the risk of a compromise can be passed to the user, they do not provide a false sense of security, it's marginally harder to harvest them from a user base using malware than a stored key.
The only people who have done this well have had a separate hardware device (apple's secure element, yubikey's physical device with an SE, etc.) and Authy/Google authenticator and Duo, which are 2nd factor OTP token providers. The only way to provide value in security is to process in a separate, privileged domain. Without this, there is no security value to add.
The privileged source of "entropy," whether it's as analysis or key material, is the only value we can provide in security. It is literally exogenous assurance. There is no endogenous security.
Maybe I've read your product wrong, but it's so similar to problems I spent time on there are some inevitable blockers I can spare you having to waste weeks or months trying to sound out for yourselves, and perhaps you've found the customer who is ready to make these compromises in exchange for the purported benefits?
- putrikarunia 7y agoHi, thanks for sharing your experience! So firstly, I agree about how it's only as secure as the recovery process, in which case we give each website/app the freedom to decide for themselves, what level of security they want, compared to user experience. Regarding Android's storage not being very secure: we are improving security mostly in the scope of social engineering. The type of users we are catering to are mostly people in developing countries who have a phone, no email, no laptop, and their problem is: 1) They either make bad passwords, or they don't remember passwords 2) If they don't remember the password, it will fall back to SMS OTP (because they don't use emails) 3) They are not going to download Authy/Google Auth or Duo. Because of this, most apps in these countries have made the authentication method to be super simple: Phone Number + SMS OTP, no passwords. Unfortunately, this type of user is also easily scammed to share their SMS OTP. So the biggest problem that we see here is social engineering and SIM swapping, and not as much on technical security concerns. Knowing this problem, our aim is to provide what Authy/DUO does from within the client's app, so users don't have to download a separate app. Also, we are not really providing 2FA. We are trying to make the first factor of phone number login more secure (by not using SMS OTP). I'm not sure if I cover all of the concerns you pointed out, but this is definitely a great discussion.
- huntermeyer 7y agoHow do you address the issue of device sharing? When I was overseas I worked with prepaid phone cards. The locals would share the same phone, plug in their card code, make their calls, then pass the phone on. As I understood it, the phone owner reaped the benefits of acquiring the unused minutes. Not sure if this is still an issue. But even a "budget" Android phone (sub $100) is a luxury in developing countries. So I'm sure device sharing is still something to consider.
- putrikarunia 7y agoThis is a very interesting case. Thanks for pointing this out! If I may ask, do these people also download apps in that phone, and then they log out every time they pass on the phone to someone else?