Ask HN: Does anyone use an alternative to a password manager?
113 points| BinaryIdiot | 8 years ago
Since it's insecure to both use the same password over and over or to modify a single password per service (e.g. appending "fb" or "tw" etc to a password when using a different service) I have found that a password manager is literally the only thing working for me.
However, as break-ins become more and more frequent, I am concerned that my single point of failure, my password manager, could become compromised. I mean it seems almost inevitable, right? An attacker wouldn't even need to compromise the service or app you're using but your phone instead to gather the same data.
So I'm curious to those of you who use something other than a typically password manager: what do you use and has it been successful or a pain?
[+] [-] ohthehugemanate|8 years ago|reply
With a password manager, your attack surface is your email, and the password to the manager. You can focus your efforts on securing those two things with 2fa, a hardware device, etc. Every other password can be extremely difficult, and only grant access to an individual service.
Compare it to an algorithm, where your attack surface is "every service." If one password is compromised, they all are. Then you have to change them all manually, and remember what's been changed, when.
In an age of great open source options like bitwarden, Keepass, and unix pass, there's no excuse for using an algorithm anymore.
[+] [-] alangpierce|8 years ago|reply
The point of an algorithm as opposed to a single shared password is that this isn't true. With a basic algorithm, you can avoid automated attacks based on password dumps. With a more complex algorithm, even a determined attacker targeting you would have a really hard time figuring it out. Regardless, it probably would need to be a few passwords, not just one. Also, any good web service will implement rate limiting and other protective measures, so brute force attacks are unlikely to work.
The counterargument to "minimize attack surface" is "avoid single points of failure", and that includes both attacks and accidentally losing access to all of your passwords. What if I drop my phone and/or laptop in a lake? What if I forget my master password somehow? What if someone installs a keylogger and gets my master password? What if I accidentally install a malware version of the password manager client that steals my password?
Not that I necessarily think that an algorithm is better overall than a password manager, but I think it's not as obvious a decision as you're claiming.
[+] [-] kinkrtyavimoodh|8 years ago|reply
Unless you are a high value target, there is a pretty good chance no one is sitting specifically bruteforcing your passwords.
Your biggest source of attack is then a password dump, where you are one of the many millions compromised and now your other accounts (if you reused the same password) are now vulnerable to automated attacks. Even in this case, no one is going to sit around trying to figure out your password algorithm.
Even when it comes to compromised accounts, not all of them are equal. For most people, their primary email, banking and social media accounts are paramount, because they are fundamentally linked to their identity (I would be horrified if my FB or GMail were to be compromised, but only mildly miffed if my etsy account where I have made one purchase were to be compromised).
All in all, it seems that the most important thing to do is to never reuse a password for ANY of your primary accounts (email, finance, social media, other forms of identity). Ideally for those, don't use an algorithm either. And set up 2FA for these.
And for other accounts, preferably never reuse passwords. Whether you use a password manager to manage them or an algorithm should not make too much of a material difference.
[+] [-] bradknowles|8 years ago|reply
What happens when you run into a site that won’t accept your algorithmic generated passwords?
Do you fall back to a traditional password manager?
If so, then you’ve just increased your attack surface area by an order of magnitude.
What happens when you need to change your master password because of a compromise, and now all of your passwords have to change at the same time?
[+] [-] ecesena|8 years ago|reply
If the algorithm is not reversible, "one password is compromised, they all are" isn't true. Only if the master password is compromised, then all your passwords are (but this is exactly the same with any password manager.)
The one thing that personally I don't like about vaults is availability of my passwords. You need your password manager (i.e. the app) to get your passwords. I've had multiple situations, typically when traveling, where I didn't have access to my devices, and thus I didn't have the app.
[+] [-] arunc|8 years ago|reply
[+] [-] ythn|8 years ago|reply
My password for Amazon is "f3cfcb6ZUZ^". What's my algorithm?
[+] [-] nullterminator|8 years ago|reply
On Linux I use the pass command, on Windows I use QtPass [2], and on Android I use Password Store [3] and OpenKeychain [4] (for the PGP key).
My "master password" is the password for the PGP key, and I type it each time I want a password. Git keeps everything in sync. If one of my devices is compromised, you still need the password for the PGP key. If my git server is compromised, you'd need the PGP key (which isn't on the server).
[1]: https://www.passwordstore.org/
[2]: https://qtpass.org/
[3]: https://github.com/zeapo/Android-Password-Store
[4]: https://www.openkeychain.org/
[+] [-] beojan|8 years ago|reply
[+] [-] Waterluvian|8 years ago|reply
1. Memorize some base password 2. Memorize a way in which you mutate that password based on the name/type/other of the service logging in to.
Eg. Hunter2 becomes eHunterG8 Because my example algorithm cares about Google's first letter, length, and service type: email.
It allows every password to be different but you only memorize two things. It is meant to be a "good enough" solution that is much better than using the same password for everything, but naturally is worse than using significantly different passwords.
I've used this for a few years to great success. The one issue I have is I sometimes have to try multiple times when one account is many types of services.
[+] [-] rockostrich|8 years ago|reply
That's why I like using LessPass (even though people talk a bit of shit about it whenever it's mentioned on HackerNews). I have a single master password, the rest of my passwords aren't compromised if I accidentally expose one of them, and I can log in to any site from any device with a browser. Of course, use 2FA when you can, but it's nice to have a secure first layer of defense.
[+] [-] saflkdeating|8 years ago|reply
I hate the stupid restrictions sites place on passwords. There should be almost no restrictions.
[+] [-] ProblemFactory|8 years ago|reply
What's your solution for annoying sites that require changing your password every 3-12 months, and not reusing previous passwords? If eHunterG8 becomes eHunterG9 and then eHunterG10, how do you remember the number you are up to?
[+] [-] ohthehugemanate|8 years ago|reply
Does your threat model include anything NOT bulk, ie where a human would see a password and guess the pattern?
Have you tried any of the password managers that have integrations, to automate password changes in case of failure?
Have you ever heard of the security concept of minimizing your attack surface?
[+] [-] mattferderer|8 years ago|reply
KXl2h!H (H)
That would tell me that the password is KX12h! plus whatever the base password for H is. My hope is that unless someone was really targeting me, I would be skipped over as not worth the effort.
This way, even if someone broke into 1Password or one of my other password managers, they still wouldn't have the password.
The part I struggle with most, is how/where to store these & Authy/Google Authenticator tokens in a manner that they can be delivered to specific people in the case of my death without decreasing security.
[+] [-] mud_dauber|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]
[+] [-] jimwalsh|8 years ago|reply
[+] [-] NoGravitas|8 years ago|reply
[+] [-] jhasse|8 years ago|reply
[+] [-] chrisper|8 years ago|reply
[+] [-] QuadmasterXLII|8 years ago|reply
[+] [-] tga|8 years ago|reply
* salt to make stupid password rules happy and to make it somewhat safe to write down passwords. e.g. "mysecretsalt42$". This gets appended to all passwords and doesn't get written down anywhere.
* encrypted text file, used rarely when I forget a password. e.g. `vim -x socialmedia.txt`. I find this a bit better than Keepass or pass because it's not one obvious attack target (both the file and app).
* optionally, a paper backup
[+] [-] kqr|8 years ago|reply
[+] [-] danicgross|8 years ago|reply
Not a panacea, but significantly minimizes the length of a theoretical breach.
[+] [-] aaraujo|8 years ago|reply
sha256("password"+domain)
[+] [-] TheHCA|8 years ago|reply
[+] [-] ecesena|8 years ago|reply
[1] https://hackernoon.com/mempa-a-modern-deterministic-password...
[+] [-] netsharc|8 years ago|reply
[+] [-] smt88|8 years ago|reply
[+] [-] sciencerobot|8 years ago|reply
[+] [-] slice-beans|8 years ago|reply
[+] [-] stevekemp|8 years ago|reply
If you use git to store your passwords you can use that to see the age of entries neatly too:
https://blog.steve.fi/rotating_passwords.html
[+] [-] bhhaskin|8 years ago|reply
[+] [-] encima|8 years ago|reply
I have a file of the first word that comes to mind for every letter in the alphabet. Then my password is created based on some features of the site.
I.e. eBay has 4 letters so I could choose: 'Elephant_4_Yankee'
The delimiter is up to you and you could just as easily choose every second letter or whatever.
Yes, it does mean my Netflix password is a bitch to put in but I know it off by heart.
[+] [-] codeful|8 years ago|reply
[+] [-] ateesdalejr|8 years ago|reply
[+] [-] zimbatm|8 years ago|reply
For each site you have to consider; what is the worst thing that could happen if somebody gain access to that account? Do you have a meaningful online presence on the website? Did you enter private information that you don't want to go out? Did you provide your credit card to the site? It would actually be useful if sites where classified by the type of information and access that they require.
Another short answer would be: memorize your computer, email and password-manager passwords. Use the password manager for day-to-day sites. Add a second factor for juicy targets like net banking. For all the other sites, generate a random string and throw it away. Use password reset the next time you want to log into it.
[+] [-] BareNakedCoder|8 years ago|reply
I need to remember just 1 good password (that I don't use anywhere else). I use it to encrpyt different passwords for different uses (gmail, banking, etc). I put the url with encrypted password in my bookmarks and a google doc (to share with my wife).
To hack me, the attacker would need get both the link (from my laptop's bookmarks) or from the google doc ... and then would need to guess the password to decrypt it.
[+] [-] doltreey|8 years ago|reply
[+] [-] wonder_er|8 years ago|reply
Yes, it's a single point of failure (probably more, depending on how you choose to define them) but it is invariably more secure than me remembering my super-nifty password algorithm.
It's not perfect, but I trivially generate very long passwords for every service, and have to remember the master password only of my email and my 1password account.
If anything is truly important, it will have 2 factor authentication.
If someone has access to my unlocked physical machine and an unlocked 1password UI, I'm screwed. Additionally, they could use the wrench approach [0] to gain my credentials.
This is not a use-case I'm actively trying to prevent. Nor is protection against state-level actors targeting me in particular.
Further benefit of 1password: my wife and I both use certain shared logins to access things like credit card accounts.
Instead of me having to get her on board with my password book, or special algorithm, I can just move a login into our shared password vault.
I suspect most people reading this are in a similar boat - we're more than happy to pay a few dollars to hire millions of dollars of specialized security knowledge to outsource this problem for us.
This is just too mundane a solution for most people to comment on.
Long live 1Password!
[0] https://xkcd.com/538/
[+] [-] SnowingXIV|8 years ago|reply
When I did the export/import it ruined tons of passwords because if it had an ampersand symbol (&) it turned it into & resulting in me editing tons of passwords manually. It sucks at saving passwords too, lastpass just worked.
Plus no check on password integrity or strength or leaks. It was nice to do a scan and check on what passwords should be updated, what my duplicates are (if any), mass update, etc. So, basically I went from free but kinda ugly to pretty but broken and more $. This has been the worst trade deal in the history of trade deals, maybe ever.
YMMV but I wish I didn't switch and to move back would be another annoyance that I might do if I didn't just pay for the year.
[+] [-] exhilaration|8 years ago|reply
I use 1Password for not only credentials but as a document vault for everything from passports, birth certificates, anything else that falls under "needed after the house burns down". It's one of the most elegant pieces of software I've ever used.
[+] [-] whalesalad|8 years ago|reply
We do a lot of travel and financial witchcraft so having full access to each other’s into at the unlock of a thumbprint is extremely convenient.
We also have a team vault at FarmLogs which is hugely helpful for sharing access to singular accounts.
It’s such a valuable tool that I don’t even think about paying for it.
[+] [-] cristoperb|8 years ago|reply
1: https://chriszarate.github.io/supergenpass/
[+] [-] peyloride|8 years ago|reply
[+] [-] wakamoleguy|8 years ago|reply
1. Generate a long random password.
2. Use that password once, but don't make any effort to store or remember it.
3. When you need access to the service, use the Forgot Password flow. Return to Step 1.
This is admittedly inconvenient, especially on mobile, and it won't work well if you routinely use devices that cannot access your email. But...it is an alternative approach that removes the need for a password manager.
In my personal experience, this approach has worked well for services I use rarely, especially those with good Forgot Password flows or long remember-me session times.
See also: Passwordless[0] is a Node library that discusses a similar approach to authentication from the service's perspective.
[0] https://passwordless.net
[+] [-] reacweb|8 years ago|reply
[+] [-] tomelders|8 years ago|reply
It has problems on sites that have shitty password rules. But for those sites, i just mash the keyboard then rely on the forgotten password link.
[+] [-] paulmd|8 years ago|reply
If you're concerned, you could use separate files for different levels of security, which would give you the theoretical ability to compartmentalize the loss. But again, if you're compromised to that extent it's game over, there is nothing you can do that will allow you to operate securely on untrusted hardware/OS, you simply can't let that happen.
It's not like that's an unreasonable goal, the combination of Ublock Origin, Windows Defender, and common sense have kept my systems clean for 10 years now.