3 ms·
> What we need is a single way to do login, MFA and security across every single site. The way to do that is to use a client-side certificate in combination wi
by u801e 6y ago
> What we need is a single way to do login, MFA and security across every single site.
The way to do that is to use a client-side certificate in combination with a username/password for authentication.
When I create an account on a website, these are the steps I should have to follow:
1. Choose a username and password
2. Upload a CSR
3. Get the client-side certificate
4. Add it to my local certificate store
When I log in, I should have to follow these steps
1. My client automatically chooses the correct client certificate to send based on the server certificate
2. If I need a passphrase to decrypt my private key, I enter it at a prompt
3. The server verifies the certificate the client sent against whatever CA they use
4. I enter my username/password
5. My credentials are verified and I'm logged in.
I shouldn't have to provide my phone number or email address as a second factor because those factors aren't under my control. The private key associated with the client certificate is under my control.
- quadrifoliate 6y agoHow do you distinguish an attacker who has compromised your username and password from a hard drive failure on your laptop that made you lose the client certificate? In both cases you (or the attacker) have the username and password, but not the client certificate. They can upload a new CSR just as well as you, but at that point it's theater. This is the main problem any such solution has to solve (IMO) to be better than the hodgepodge of 2FA methods that we currently have. Humans are fallible and will likely not maintain proper backups and such.
- u801e 6y agoAfter creating the account, you should be able to get more client certificates associated with your account (while logged in on the first device) by sending more CSRs generated from other devices and then add them to the respective device's certificate store. If you don't do that and lose the certificate and private key, then you lose access to the account. You should not be able to log into the account without both the client certificate and the username/password. The procedure I described earlier would be for accounts like HN or reddit. If this was an account with a government agency, bank, or credit card company, then the part where you generate a CSR and get a certificate would be done at an office where they verify your identity (drivers license, passport, etc). In the latter case, if you lose your certificate, then you need to go back and repeat the procedure to get a new one. > Humans are fallible and will likely not maintain proper backups and such. While that's true, we really ought to sacrifice some convenience for better security. If a user fails to maintain proper backups or register multiple devices for an account, then the inconvenience of losing their account and going to the arduous process of creating a new one is on them. They shouldn't put the lack of security burden on us by having companies engage in security theater like MFA (i.e., SMS or email based second factor) because they want convenience over actual security. That said, those users could opt out of MFA and just rely on their username/password for authentication. Those of us who want MFA could use the client-side TLS certificate in combination with the username/password and keep our account secure.
- MrStonedOne 6y agoThese solutions don't solve reliability. The biggest barrier to 2fa is the fear of loss of a factor. I can reset a password with an email account, i can't reset a 2fa with an email account. As long as that will be the case adoption can not go forward.
- u801e 6y agoThe way I see it, people who are careless with security have put people who are technically able to deal with things like client-side TLS certificates in a compromised position where they have to deal with SMS or email based MFA for important services like their bank, credit cards, taxes, etc. I would rather have the ability to use real security with the MFA scheme I described above (and in my other post [1]) rather than the security theater we have with email/SMS MFA. If some people aren't able to deal with that and lose access to their account, then the burden is on them. On the other hand, by using email/SMS based MFA and account recovery, the burden is on all of us for the lack of security for everyone. If someone wanted to get into the important accounts, they don't necessarily need to target the user's bank. They could target their cell phone provider or email provider and get access not only to their bank account, but any account using those as factors for authentication. With a client side TLS certificate, they would actually have to get physical access to the device and brute-force the private key passphrase in addition to the username and password for the account. [1] https://news.ycombinator.com/item?id=23583676 https://news.ycombinator.com/item?id=23583676
- MrStonedOne 6y agoPeople like you don't need any of that. You + firefox remembered passwords = more secure then a user on 2fa. This aint about you bud.
- u801e 6y ago> People like you don't need any of that. On the contrary, people like me do need it. The status-quo right now is that companies are forcing us to use security theater measures to further secure our accounts. But since those measures are actually weaker than the original password, it actually reduces the actual security around our accounts. And I never use the remember password feature in my browser because I don't want to inadvertently give someone access to my account if they manage to access my machine.