I am aware of a bank (redacted for obvious reasons) that has the following password policy.

  1. Only English alphanumeric characters
  2. Min of 8, max of 14 characters
  3. No special characters (ex. !@#$%^&* are all forbidden)
  4. Passwords must be changed every year
  5. Account lockout after 4 bad attempts

What are the specific problems with this policy and how would a would-be bad-actor theoretically attack such a target?

I already sent them a comment arguing that their policy is terrible, especially the 14 char limit (if they use bCrypt they can use up to 72 bytes, IIRC) and the fact that they only allow English alphanumerics instead of any ASCII/Unicode char, hoping they will change their policy to embrace more standard rules.

  • 1
    You can find existing answers to each of your points on this website.
    – A. Hersean
    Commented Jul 21, 2021 at 9:48
  • The changing password requirement seems to me the least problematic of the policies mentioned. Commented Jul 21, 2021 at 10:37
  • 1
    It's not even that bad, many banks are way worse (take a look at some of the questions in the related list). You can get ~83 bits of entropy with a random alphanumeric 14 char password. However 14 chars precludes passphrases.
    – nobody
    Commented Jul 21, 2021 at 11:39
  • Short answer: reducing the number and type of characters used makes it easier to brute force passwords. Locking out accounts makes it possible for an attacker to lock out legitimate users from their bank accounts.
    – schroeder
    Commented Jul 21, 2021 at 20:10

1 Answer 1


Rule 1 is typical for character set interoperability - Unicode characters may be encoded in UTF-8, Latin-1, or any other unspecified encoding.

The minimum value for rule 2 is obviously for providing minimum password strength, whereas the maximum is to ensure server processing speed (OWASP recommends 64 as a maximum, specific applications may have additional limits due to historical reasons).

Rule 3 is unwarranted. My wild guess would be that their server is still using string concatenation for constructing database queries, or that their mobile app has special keyboard that just doesn't support special characters.

Rule 4 is close to reasonable, but not fully.

A reasonable person would deem rule 5 necessary with the maximum 14 character limit.

  • 2
    Server processing speed concerns for passwords over 14 chars? I mean, we're living in 2021. How slow are their servers that they can't afford to hash a few measly bytes more? Commented Jul 21, 2021 at 10:39
  • Rule 4 is absolute trash. If I know your username, I can lock your account forever.
    – user163495
    Commented Jul 21, 2021 at 14:40
  • @MechMK1 Do you mean Rule 5? Commented Jul 21, 2021 at 17:50
  • @IStandWithIsrael you assume they are using a modern computer with a modern programming language and libraries. Many banks still run 30-year-old proprietary servers.
    – schroeder
    Commented Jul 21, 2021 at 20:11
  • @FireQuacker Yes, my bad.
    – user163495
    Commented Jul 22, 2021 at 11:15

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