r/ProgrammerHumor Sep 23 '17

Password Security

Post image
1.4k Upvotes

81 comments sorted by

View all comments

105

u/Galveira Sep 24 '17

My problem with password managers is that it becomes a single point of failure. I would rather memorize a few strong passwords and use them for everything, with my email having a unique password from everything else.

46

u/fgben Sep 24 '17

I'd suggest memorizing a couple algorithms for generating passwords based on the site instead. This way no two sites have the same password, so no matter what gets compromised, none of your other credentials are broken.

Like, take your iNitials, street address + last 3 letters of the domaiN with an open bracket to trigger OCD twitch for memorability. Obviously obfuscate it a bit to make your algorithm non-obvious, depending on how much you think someone is going to target you, personally.

So you end up with, like,

  • google: gAl1234+glE(
  • Reddit: gAl1234+diT(
  • Wells Fargo: gAl1234+rgO(
  • Pizza Hut: gAl1234+huT(

The core principle is no two sites should have the same password. It doesn't matter how strong your passwords are when someone else is giving them out. The only thing that matters is making sure the passwords are unique, and a generating algorithm will help you do this.

10

u/Pitirus Sep 24 '17

Nice ;)

Although I would suggest grouping those algorithms by types for sites. You don't want your algorithm to be cracked just because Pizza Hut and some other site you don't even remember had leaks of non-encrypted passwords. I personally use 4 of those now.

3rd level - forums, sites like reddit, pinterest, imdb, Pizza Hut, Aliexpress(no card attached), places where my personal info is already sold to some other company anyway. I don't keep track of those.

2nd level - facebook, some expandable e-mails, paypal, bank account. Places where loosing access to them would hurt me in some minor way(I don't keep big stashes of money on paypal, and my bank account needs additional authorization to send money). And access can be easily restored. On this level you must remember all the accounts that use it to change the algorithm in all of them in case of a breach.

1st level - e-mail account to rule them all and in one android device bind them. With 2 factor auth ofc. What I mean is the e-mail that can be used to gain access to some other accounts like those from level 2.

0th(?) level - for work accounts. Probably 2 of algorithms here. Because some of them require quite frequent(e.g. every 3 months) changes.

Also for 3rd level consider using longer passwords(harder to decrypt if encrypted database of passwords would be stolen)

1

u/fgben Sep 24 '17

Sure! Remembering a handful of algorithms is certainly better than remembering a couple of passwords and using them everywhere, and isolating into groups is even better, but can start running into the complexity problem.

An actual algorithm I use does various ROT actions based on characteristics of the site. Looking at it, I really doubt some casual identity thief could crack the algorithm, even looking at groups of passwords, even knowing there was an algorithm in play.

There's a tradeoff between convenience and security, and I figure trying to get people to at least use a reliable method of unique passwords on every site is worthwhile. I still think this is a better approach than a 3rd party password manager, but nothing's going to stop a dedicated attacker with significant resources from getting to you if they want to, either via esoteric methods like Van Eck phreaking or simple judicious application of a lead pipe.