2

I recently had to change my password on a linux server (RedHat). It wouldn't let me use my password of choice because it was "too similar" to my previous password. Is this really reasonable? My previous password was 13 characters with an entropy of 85. The new one I entered was 17 characters with an entropy of 111. I can't imagine that it is reasonable to consider the difficulty of cracking my new password as simply the entropy of the additional 4 characters (which is around 28). What would be the correct way to determine the entropy of a password if you knew a substring within that password already? Perhaps it isn't much more than the additional 4 characters if the only thing that changes is the position of the known substring? Anyway, I have to wonder if there is actually any solid math behind this "similarity policy" or if it is just some arbitrary implementation of somebody's guess as to what is and isn't secure.

Nevermind that the pw requirements don't follow the NIST guidelines and if any server should be following them, this one would be a good candidate...

6
  • 3
    It's not the entropy that counts. If your password changed from ThisWasPasswordForWinter2022 to ThisWasPasswordForSpring2022, and the first one leaked in clear, any attacker will know how to guess all your other passwords.
    – ThoriumBR
    Mar 14, 2022 at 20:39
  • 1
    @ThoriumBR: No. Namely entropy is important. If you don't know the old password and consider the new one with "111" as the fully random, then the entropy is high. But if you know the old password, then the entropy of the new one with "111" is very small.
    – mentallurg
    Mar 14, 2022 at 21:12
  • @mentallurg – The entropy of changed pw is still very high, but an attacker who knows the old password has a shortcut that essentially renders it trivial. I think you and @‌ThoriumBR are agreeing on everything other than semantics.
    – Adam Katz
    Mar 14, 2022 at 21:51
  • I should have clarified that in this case, the entropy of the password is not being taken into account...
    – ThoriumBR
    Mar 14, 2022 at 22:15
  • @AdamKatz: I don't agree, sorry 🙂 You consider entropy as something absolute. But it is not true. It depends on the context. The sequence 139, 162, 231, 47, 277 may look random and thus having high entropy. But if somebody knows that it is generated by (139^X) mod 391, then for such person the entropy will be 0. If we don't know anything about previous passwords, we expect all passwords equally possible and the entropy is high. But if you know the old password and that the new one has just 3 added characters different, the entropy is very small. Entropy is relative 🙂
    – mentallurg
    Mar 15, 2022 at 0:29

2 Answers 2

1

The entropy means, simply put, an uncertainty. Information is the measure of uncertainty. Your tool shows 111 bit entropy, because it assumes that this password was chosen randomly.

But for an attacker there can be essentially less uncertainty. The whole idea behind changing passwords is, that the attacker may get the whole password or some substantial part of it with the time; the much time, the higher is the possibility or the more information pieces the attacker may get. (you decide if this is a risk in your case; I am just saying that many people consider it like this) If we follow this logic, then we should assume that at some day the attacker will know your old password, or will have sufficient information to brute-force the unknown part of it.

If we follow this logic, then at some day the attacker will now your old password. Thus, if you only add 3 characters, the entropy of your new password will be not 111 bit, but namely the entropy of this 3-character part. Assuming you use a set of 60-80 characters, each character will have an entropy of 6-6.3 bits, the whole 3-character part will have the entropy of ~19 bits. Brute-forcing 19 bits is easy.

This is the idea behind the similarity.

Of course, if the security doesn't matter in your particular case, or if you accept the risk that the attacker will get your password, you can try to circumvent this limitation by changing password many times and at the end setting the desired one. But again, to prevent namely this "workaround", some systems have limitation allowing only one password change per day.

1

The idea is that your current password might be protected well, but your five year old one that isn’t used anywhere isn’t. So we assume that your old passwords get leaked. So you shouldn’t have old passwords that might allow me to guess your new passwords.

The real problem is that old, unused passwords should be exactly as protected as new ones. Especially nobody should store passwords, new or old, in clear text.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .