Episode: 1620 Title: HPR1620: Passwords, Entropy, and Good Password Practices Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1620/hpr1620.mp3 Transcribed: 2025-10-18 05:54:58 --- It's Friday 17th of October 2014. This is an HBR episode 1620 entitled, Password, Entropy, and Good Password Practices, and is part of the series' privacy and security. It is hosted by AFUKA, and is about 22 minutes long. Feedback can be sent to Wilnick at Wilnick.com, or by leaving a comment on this episode. The summary is, this episode explores the best password practices from a mathematical new point with recommendations. This episode of HBR is brought to you by AnanasThost.com. Get 15% discount on all shared hosting with the offer code HBR15. That's HBR15. Better web hosting that's honest and fair at AnanasThost.com. Hello, this is Ahuka, welcoming you to Hacker Public Radio, and another in our ongoing series on security and privacy. Now last time we took a look at issues about passwords on online sites, from the standpoint of what the site owner should be doing to maintain security, and some things for you to watch out for. But what we need to do this time is get at the user's side of this. What should the user be doing to have good password security? So starting point with this is a concept called entropy. So what is entropy and how does it affect our passwords? Entropy is in general the degree of randomness or disorder in any given system. Sometimes it is very easy to assess, such as a password of 1, 2, 3, 4, which all too many people use. As it is a simple sequence, there is no real randomness at all, and would be quickly guessed. As we saw in the last tutorial, such passwords are quickly discovered in a dictionary attack. There are things you can do to make it less likely that your password will be cracked and used against you. Now the thing to keep in mind as we discuss password safety is that the objective is not to make your password ultimately uncrackable. That may be impossible in any case. If you are what is called a person of interest to a determined government agency, the odds are they can devote enough computing power to getting your password that their odds are pretty good. This is a simpler problem than cracking a good PGP encryption key, which right now is considered computationally infeasible even for the NSA and GCHQ. Passwords are somewhat a simpler problem, so the threat you should really be targeting is a criminal organization that wants to get your password and use it to take your money. This is a threat you can significantly reduce by following sound practices. First one, don't use the same password on many sites. The reason for this is that if you use the same password on many sites, a hacker can crack a database at a site that does not follow best practices, and then they have it. The password can then be tried at other sites and no matter how good the other site's security is, they cannot stop someone who already knows your password. And hackers really do try this kind of attack, so don't do it. Now it might be reasonable to assess just how important a security is on a site by site basis, an approach that is a reasonable compromise is to pick sites where you don't particularly care. Now, for me, that would include Twitter, most online forums, things like that, and use the same insecure password for all of them. Recognize that you are accepting the risk that someone can easily get in there, and when they get in they can do whatever you can do. Then for PayPal, your bank, or other sites where it really matters, use a highly secure password that is unique to each site. This gets you most of the security you need without unduly taxing you. If some site requires a 17 character password that includes uppercase, then lowercase letters, numbers, and Sanskrit higher griffs. Just so that you can post a customer support question on their forums, they are idiots. But I don't see any problem with having a standard password that you use for all such sites. Next, add to the entropy. For sites that are important, entropy is a good thing in choosing passwords. Entropy is essentially randomness, and it means choosing passwords that are very unlikely to appear in a hacker's dictionary. A password like password will be in every dictionary. So we'll 1, 2, 3, 4, Q, W, E, R, T, Y, and let me in. In any word found in a real dictionary, for some reason monkey is very popular, is fair game. So if you want to take a look at some of these, I have a link in the show notes to a site that lists the 25 worst passwords, and by worst they just mean the ones that everyone is using that are easily discoverable. Using something like this is the equivalent of not using any password at all. And remember, it does not need to be on this top 25 list to be a no-no, pretty much every name and every dictionary word is in this dictionary as well. So if someone has the hash of your password and they run it against their dictionary and fail to get a match, are you home free? Not necessarily, but you made it through the first round at least. Remember that this is an arms race, and that Moore's law works for the bad guys as well as the good guys. How many things can they try? Well, one thing is to try every possible variation. If you have a password of six letters, all lowercase, all they need to do is try every possible six letter password in order. So first they would do A-A-A-A-A-A-A, then A-A-A-A-B, then A-A-A-A-C, and so on until ultimately they get to Z-Z, Z-Z, Z-Y, and finally Z-Z, Z-Z, Z-Z. Alright, how hard is that? We can do a calculation on this. With six letters and 26 letters in the standard English alphabet, if you use a different alphabet adjust as necessary, it is a simple calculation. The first letter can be any of 26 choices, and for each of those the second letter can be any of 26 choices, and so on. So the total space in which the attacker needs to search is 26 to the sixth power. Fortunately, if you use a modern spreadsheet, I like Libra Office Calc. You can, very quickly, plug that in and find that the answer is 308,915,776. Alright, certainly a large number, but against that we have to see how many hashes per second an attacker can calculate. And here we discover that this problem is trivial. Not only is computer power increasing, but calculating hashes is precisely how bitcoin mining works. So a lot of ingenious folks have been finding ways to boost this number. It is now trivial to calculate billions of hashes per second. So that means it would actually take less than a second to compute all of the hashes for a six character password of all lowercase, less than a second, for all of them. So how can we improve the situation in our favor? Well, let's go back to our calculation. We had two numbers, the base and the exponent. The base was 26 because we could choose from 26 lowercase letters to construct our password. The exponent was 6 because we had six letters in our password. So how do we use these two numbers to improve things? First with the base, we can increase the range of characters. We had uppercase letters. That now gets us to 52. And 52 to the sixth power gets us to 19 billion with a B, or for people in other parts of the word, 1,000,000,000, but in America we call it billion, 770 million, 609,664. Well, nearly 20 billion is better than 300 million, but it's not enough better. Add in numbers, 10 digits, and you have 62 possible characters. That gets us to nearly 57 billion. At this point I'm just going to round off the numbers because they get insane. Which again, better, but when a attacker can calculate billions of hashes in seconds, I've seen reports of bitcoin rigs that can calculate 800 billion per second. This just isn't getting us there. Throw in the special characters, you're up to 95 possible characters, but that only gives you 700 billion or so possible passwords. So our conclusion is that a six-letter password created with maximum entropy can be cracked in an offline attack, i.e., where the attacker has copied the database and can run his scripts at will against the copy in about a second. Well, it doesn't sound very good, but there is a different approach. Steve Gibson, host of the Security Now podcast, has what he calls the password hastax approach. And the idea of the password hastax approach is that it focuses on the length of the password. There's a link in the show notes if you want to take a look at his website talking about this. So if you're looking for a needle in a hastax, the bigger the hastax, the harder it is. So he says that to get security, we need very long passwords. But if they have very high entropy, they're almost impossible to remember. So his approaches, forget the entropy, just go for length. So he says a password-like punct высок, thank you, thank you, thank you, thank you, paint princesses, thank you, thank you, thank you, thank you so much. So if the attacker has to calculate every possible password length using all 95 characters up to a password length of 30, assuming I did the right number of dots before discovering your password. So the calculation is 95, in case you had a 1 character password, plus 95 squared, in case you had a 2 character password, plus 95 cubed, in case you had a 3 character password, and so on until we get up to 95 to the 30th power. Now assuming I did this right in my Libra Office Calc spreadsheet, I think I did, this roughly comes out to 2 times 10 to the 59th power. That is a seriously large number. Let's assume for the sake of argument that the attacker can check a trillion passwords per second, while that's 10 to the 12th power. So to check these, we'll require 2 times 10 to the 59th divided by 10 to the 12th seconds, and that is equal to 2 times 10 to the 47th seconds. And since there are 3 times 10 to the 7th seconds in a year, that is 2 times 10 to the 47th divided by 3 times 10 to the 7th, which is 6 times 10 to the 39th years. The universe, according to scientists, has been around for approximately 1.3 times 10 to the 10th years, so call this a gazillion times the age of the universe. In this kind of attack, length of password seems to trump everything. By the way, if you ever wondered what the term computationally infeasible means, you just saw it. However, we have to remember that this is an arms race, and that attackers and defenders are constantly adjusting to what the other does. If everyone adopted the password haystacks approach, could hackers come up with a different way of checking passwords that would make this feasible? I'm, frankly, not smart enough to definitively answer that question, but I know enough about the history of cryptography to know that unless you can prove it is mathematically impossible, there is a chance that some smart person somewhere will come up with an ingenious solution to the problem. So I'm not willing to completely rely on password haystacks. Nevertheless, it does reveal a profound truth that we can take advantage of. Length is definitely the best possible way to improve your password security, and that simply falls out of the math. But I think entropy still has a role to play. So the problem can be stated, then as follows, you should use unique passwords for at least the important sites, even if there are a few that you don't care about. Long passwords are absolutely the best protection. Length alone may not be enough going forward, so entropy is good as well. Some high entropy passwords are just about impossible for most people to remember. So what is the solution? My personal belief is that password vaults are the best protection. I actually use two of them in combination to allow me to use good passwords and still have a same life. First is something called last pass. This program integrates with your web browser, and it's available for most browsers, Chrome, Firefox, Opera, Safari, and Internet Explorer that integrates with all of those. It integrates with other products like Ubiqui and Duo Security for two-factor authentication, and will automatically fill in your login and password name for any site you have saved. The data is saved in the cloud, but it is encrypted first locally using AES 256-bit encryption. You can use it on any computer, therefore, but first need to provide your own password to unlock the data. So you do need to memorize one good, strong password, but then last pass will remember all of the others. And if you wish, it will create strong, high entropy passwords for you. Last pass is a commercial product, but it offers a useful service, and I have opted to purchase the premium version and have never regretted it. I get value for my money. Now the only downside to this approach is that you have to be connected to the Internet to access your passwords. In most cases, you're looking for website passwords, so you need to be online to even need the passwords, but some things you might need locally. In my case, the password to the Wi-Fi router is a good example of that. Plus, I'm kind of a built-in suspenders kind of guy, so I also use something called key pass, which is available in multiple platforms as well. So there are Linux, Windows, I think there's a Mac, and so what that does, key pass stores the data in a local database. That means if anything happens to last pass, I can still get to my passwords. It means an extra step. Since every time I create a new online account, I not only have to add it to last pass, which is virtually automatic. Last pass will say, oh, I see you just entered a password, should I save it? And all you have to do is click yes. Then I've got to add it to key pass, which is not automatic. So I actually have to open it up, create a record, store the stuff in there. But there are advantages. Okay, say I can use it offline, and it is completely open source. And both of these programs are available for Android as well. I don't know if it's available for iOS, because I don't ever use iOS. So I once heard this originally from the science fiction writer Robert Heinlein, who may have been quoting either Mark Twain or Andrew Carnegie, who said, keep all of your eggs in one basket, but watch that basket. That's the essence of the password vault approach. And I think it is the best overall solution to providing good password security for real human beings, at least for the next few years. I think biometrics will be taking over. We're starting to see that now with fingerprint authentication on mobile devices, and that's only going to become more important as we go forward. So this is Ahuka signing off for Hacker Public Radio, and reminding you as always to support free software. Bye bye. You've been listening to Hacker Public Radio at Hacker Public Radio dot org. We are a community podcast network that releases shows every weekday Monday through Friday. Today's show, like all our shows, was contributed by an HPR listener like yourself. If you ever thought of recording a podcast, then click on our contributing to find out how easy it really is. Hacker Public Radio was founded by the digital dog pound and the infonomicon computer club, and it's part of the binary revolution at binwreff.com. If you have comments on today's show, please email the host directly, leave a comment on the website or record a follow-up episode yourself. Unless otherwise status, today's show is released on the creative comments, attribution, share a like, free dot org license.