5 ms·
Can you suggest a good password manager? Ideally, I'd really like something that's deterministic - ie, I can provide a seed, and then that seed plus the domain
by jMyles 9y ago
Can you suggest a good password manager?
Ideally, I'd really like something that's deterministic - ie, I can provide a seed, and then that seed plus the domain name becomes the basis for the password.
That way, it's trivial to recover passwords when sitting at a new computer. And I imagine if the seed is sufficiently long (say, a 10-word sentence that includes 2 or 3 non-dictionary words) then it'd be highly impractical to force.
Right?
- vlunkr 9y agoSomeone please build this if it doesn't exist already!
- 0xfeba 9y agoIIRC Someone has before, either here or reddit but it was terribly implemented. Use LastPass, 1Password, or KeePass.
- zootboy 9y agoExcept this all but negates the benefits of a password manager. Now if someone steals your master password, they can generate every single password you use. Use something like Keepass / KeepassXC. Yes, it's somewhat less convenient, but remember that security and convenience are always a trade-off.
- jMyles 9y ago> Except this all but negates the benefits of a password manager. It preserves the main benefit: that I no longer need to remember a separate password for each domain in order to stop sharing passwords across them. > Now if someone steals your master password, they can generate every single password you use. So it's just a matter of keeping the seed in the user's head and nowhere else. Right? That doesn't seem to be any more serious a security challenge than keeping secure an encrypted datastore full of passwords.
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- shkkmo 9y ago> So it's just a matter of keeping the seed in the user's head and nowhere else. Right? Until you enter it on a compromised system to generate a password...
- mulmen 9y agoIf it's deterministic then anyone who gets your seed has all your passwords.
- jMyles 9y agoBut it's the same in any case, right? It's always, "if an attacker gets your <x>, they have all of your passwords." The question is: are they any more likely to gain a seed that I keep only in my head vs. a list of passwords in an encrypted datastore?
- gervase 9y agoExcept you won't keep it only in your head: you'll be typing it into a computer at some point. Really, in either case, you should also be using token-based 2FA as well.
- jMyles 9y agoOK, so a surreptitious keylogger still defeats this config. I'm OK with that. My entire life presumes trust from my keyboard to my computer. I mean, if that were my main concerns, I'd have to rethink most of the bedrock security precautions I take, like passphrases for private SSH keys, etc. At the end of the day: I understand the risks and view them as absolutely acceptable in order to gain reasonable portability in a password manager.
- mulmen 9y agoIn the case of a password manager they would need the database and the master password. In the deterministic case they only need the seed.
- domador 9y agoThey're still different, the two schemes. In the case of a traditional password manager, an attacker would need to get your master password and the password datastore. In the case of datastores stored locally, rather than online, that's still two separate steps. In the case of your idea, once an attacker knows the seed, they have everything. Furthermore, if there's some weakness in the algorithm you use to generate passwords from the seed, then some site which has one of your deterministically-generated passwords could potentially breach the weak algorithm to reverse the process and obtain your seed, along with all your other passwords. Lastly, with a traditional password manager, you can change the master password at any time. Would you be able to change your seed when needed, or would you need to regenerate your passwords for EVERY site, if you need change the seed because it's been compromised?
- deleted 9y ago[deleted]
- gevz 9y agoIt seems that you might not need a good password manager for this type of scenario. Password manager for me is the one that stores unique passwords for each login. I don't know the majority of my passowrds
- loeg 9y agoThe problem with the seed-only approach is you have to remember the password policy of every website, at the time you registered, in order to regenerate the password used.
- TheRealWatson 9y agoWhat if you need to update the password of one of the sites (e. g. this disqus breach) ? What if the domain name changes?
- jMyles 9y agoMaybe the program can take an integer nonce in addition. Then you have to track how many times you've used it for a particular domain. And if the domain name changes: you just keep generating for the old domain and tell the program to override. These seem like relatively simple challenges.
- comex 9y agoA better argument against deterministic password generators than the current replies to your post is that if you have to change your password on a given site - due to password expiration, ‘forgot password’, security breaches, etc. - you have to change the seed, and remember which seed you’re using for which site. There are some others: https://tonyarcieri.com/4-fatal-flaws-in-deterministic-password-managers https://tonyarcieri.com/4-fatal-flaws-in-deterministic-passw... But if you want to use one anyway, that blog post links to a bunch of them.
- jMyles 9y agoAhh, thank you. This is the kind of refutation I need. I'll read up and decide. As for your specific qualm: I have to imagine that this can be solved by adding a numerically-determined nonce (so that I can say, "this is my 2nd password on disqus", etc) without having to fashion a new key. edit: OK, so I have read the article. Here are my reactions to the author's four concerns: * #1: Password schemes > Unfortunately, sites have wildly varying and often conflicting password requirements: non-alphanumeric symbols are mandatory! Passwords must be alphanumeric only! Capital letters required! Passwords must be lower-case only! Passwords must be at least 12 characters long! Passwords must be at most 8 characters long! > While many of these requirements seem silly and in a perfect world all sites would adopt the new NIST password guidelines, reality is messy and there is no single deterministic password generation scheme which can accommodate the password policies of all sites. There aren't that many different schemes. Maybe a grand total of three dozen? I think that the program can simply have a user-updated registry (perhaps that's shared) of schemes, and the generator accounts for this. This seems like... maybe 150 lines of Python. #2) Revocation and new passwords > We could ask the user to remember the site-by-site counter and input the correct counter value to derive the correct password. But I think this is silly. Umm, that's a strange argument. I don't think that's silly. I think it's highly practical. Currently, users remember a shitload of different details for different domains, including different usernames (this one was taken here, that one didn't meet the scheme there, etc) and often slightly different passwords. Making them remember an integer that will rarely be larger than 3 instead of a password seems awesome. Worse case scenario, they can keep trying until they get the right one. > You can’t store credit card numbers or bank account numbers in such a vault. > You can’t put arbitrary cryptographic keys in such a vault. > You can’t store randomly selected answers to security questions in such a vault. > I consider this to be part of the basic functionality of a password manager. I don't know what to say except that... I don't. I'm happy to have a password manager literally just manage passwords and allow me to use other tooling (like form memory in a browser) for this other stuff. > Exposure of the master password alone exposes all of your site passwords...If you accidentally type or paste your master password into email, IM, or social media, an attacker can leverage that alone to derive all of your site-specific passwords. Yeah, I get it - that's the same argument the others in this thread are making. But I'm not going to accidentally type along seed, like a 10-word sentence with punctuation, into any of those places. This seems like a completely absurd argument to me.
- 0xfeba 9y agoCloud managed (but still pretty damn secure): LastPass or 1Password You manage security: KeePass I use KeePass with a keyfile and password. The DB is stored and sync'd across devices in DropBox, I have my DB and key regularly backed up on a USB drive. The key is also present on some machines that I cannot easily add the USB to (eg. phone). It's the only password I need to remember -- I have literally hundreds (400+) of accounts. I do not regret it at all -- but it was a huge pain to migrate everything to it. I also store my Google authenticator initial QR codes on it, in PNG format.
- Splines 9y agoKeePass can also generate TOTP codes. Kind of ruins the point of these codes, but if you're already storing the QR codes on it, you can go a step further and just get KeePass to generate the output code for you. https://bitbucket.org/devinmartin/keeotp/wiki/Home https://bitbucket.org/devinmartin/keeotp/wiki/Home
- scrollaway 9y agoIf you wish to retain the "two factor" aspect, you can put your 2FA codes in a separate keepass database. You do lose the "two separate devices" bit of extra security (your threat is now keepass-aware malware or keyloggers with filesystem access), but if your one db is compromised the 2fa codes are not (and vice versa). However, storing 2fa codes alongside your password is still more secure than not. If the service password is compromised without the 2fa seed (main threats: MITM, phishing), the one-time password prevents the account from being immediately compromised.
- 0xfeba 9y ago"One of these days" I'm going to get a safe and print them off and remove them digitally.
- tptacek 9y ago1Password doesn't have to be "cloud managed" the way LastPass (ick) is. You can do pretty much everything in 1Password native clientside, and that's what you should do. 1Password is basically the gold standard for commercial password managers, and I think probably the only commercial password manager you should consider.
- Splines 9y agoThe problem with this style of password management is twofold: 1. You can't change your master password without changing every other password (upon refresh - looks like others mentioned that already) 2. You can't modify the output of your deterministic password algorithm to adhere to sites with weird password requirements
- tptacek 9y agoYou should use 1Password or "pass" or, if a glutton for punishment, KeePassX, and honestly, I think you should use them to the exclusion of all other password managers. You can lower your security with a bad password manager. I agree with everything Tony Arcieri wrote about deterministic password managers here: https://tonyarcieri.com/4-fatal-flaws-in-deterministic-password-managers https://tonyarcieri.com/4-fatal-flaws-in-deterministic-passw.... Before you consider a deterministic password manager, just use "pass".
- FoxInBoxers 9y agoDoes your KeePassX recommendation include the Windows equivalent it was ported from (KeePass)?
- Semaphor 9y agoI've been using Keepass on Windows for several years now since I switched from LastPass. I like it a lot and as long as you are using it alone, syncing works great :)
- scrollaway 9y agoReplying to your comment (that wasn't here when I started writing) directly - I just wrote my suggestions and a starting guide here: https://news.ycombinator.com/item?id=15421444 https://news.ycombinator.com/item?id=15421444 Hope this helps.
- Ibethewalrus 9y agoSafari on Mac already has a strong built-in password manager, it syncs with Safari on iOS
- Fice 9y agoI generate unique passwords using command-line tools like apg and pwgen and store them in an encrypted Emacs org-mode file [1]. Emacs can open files transparently via SSH [2], so I have easy remote access to my password store without having to rely on any external service. [1] http://orgmode.org/worg/org-tutorials/encrypting-files.html http://orgmode.org/worg/org-tutorials/encrypting-files.html [2] https://www.emacswiki.org/emacs/TrampMode https://www.emacswiki.org/emacs/TrampMode
- AgentME 9y agoI just use my browser's password manager. (It's not deterministic though; other responses cover that angle well.) Everyone seems to treat password managers as an arcane mysterious tool and acts temporarily amnesiac to the fact that every browser that anyone has used asks if you want to save your password. Both Firefox and Chrome let you sync your passwords between multiple computers, and I believe both do it in an end-to-end encrypted way.
- gruez 9y ago>and I believe both do it in an end-to-end encrypted way. in chrome, the end-to-end part is opt-in. https://support.google.com/chrome/answer/1181035?hl=en https://support.google.com/chrome/answer/1181035?hl=en
- pwg 9y agoRelying on your browser's password storage is very risky: Sorry, But Your Browser Password Manager Probably Isn't Enough https://www.wired.com/2016/08/browser-password-manager-probably-isnt-enough/ https://www.wired.com/2016/08/browser-password-manager-proba... Why you shouldn't use your browser to store online passwords https://scotthelme.co.uk/storing-passwords-in-browser/ https://scotthelme.co.uk/storing-passwords-in-browser/
- tvmalsv 9y agoI've been using a manager called Enpass [1] for over a year now and really like it. It has browser extensions (Chrome, FF, & Safari), local storage (with many cloud-sync options), and apps for Mac, Windows, Linux, iOS, Android, etc. The desktop versions are free and the mobile version is about $10/platform (lifetime license). I have no connection with the company, just a very pleased user. [1] https://www.enpass.io/ https://www.enpass.io/
- calcifer 9y agoAnother recommendation for Enpass. I started using it because they had a great desktop Linux version which worked perfectly with their Firefox & Chrome plugins. After that, paying $10 for the Android version was a no-brainer.
- Trundle 9y agoIf that's all you're after then nullpass fits the bill exactly. http://www.nullpass.org/ http://www.nullpass.org/ Warning though, I stopped using it because seed + domain doesn't guarantee that the password will fit the sites password requirements.
- electic 9y agoFor me, I use pass cli. Gets the job done.
- jedisct1 9y agoEnpass.
- gmoore 9y agoPassword Safe is a good one...
- greggarious 9y agoPersonally, as an OSX user I use KeePassXC[1]. It's a fork of the original KeePass better designed to be cross platform. If you want to sync across multiple computers, you can throw it in whatever file sharing service (Dropbox, Google Drive, etc) you use. Personally, I prefer Spideroak[2] due to their strong privacy policy. [1] https://keepassxc.org https://keepassxc.org [2] https://spideroak.com/one/ https://spideroak.com/one/